Author: kmorin Date: 2014-09-30 19:12:03 +0200 (Tue, 30 Sep 2014) New Revision: 656 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/656 Log: - highlighter : ligne en erreur prioritaire sur les lignes oranges - ne pas fermer les combo avec checkbox dans la recherche quand on s?\195?\169lectionne un ?\195?\169l?\195?\169ment dedans - recherche : entr?\195?\169e pour soumettre Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchToGroupAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java 2014-09-30 17:12:03 UTC (rev 656) @@ -464,6 +464,14 @@ Hibernate.initialize(history.getFields()); } } + EmailGroup emailGroup = email.getEmailGroup(); + if (emailGroup != null) { + Hibernate.initialize(emailGroup.getEmail()); + // initialize folder of the grouped demand to transmit the grouped emails of the same folder + for (Email groupedEmail : emailGroup.getEmail()) { + Hibernate.initialize(groupedEmail.getMailFolder()); + } + } } return result; } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchAction.java 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchAction.java 2014-09-30 17:12:03 UTC (rev 656) @@ -77,7 +77,7 @@ for (Email email : emails) { DemandeUIModel demand = new DemandeUIModel(); - demand.fromEntityExcluding(email, Sets.newHashSet(Email.PROPERTY_MAIL_FOLDER, Email.PROPERTY_EMAIL_GROUP, Email.PROPERTY_HISTORY)); + demand.fromEntityExcluding(email, Sets.newHashSet(Email.PROPERTY_MAIL_FOLDER, Email.PROPERTY_HISTORY)); // on ajoute toutes les lignes de rangeRow, // qui sont toutes valides puisqu'on les récupère de la base et qu'on ne sauvegarde que les lignes valides Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchToGroupAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchToGroupAction.java 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/SearchToGroupAction.java 2014-09-30 17:12:03 UTC (rev 656) @@ -76,7 +76,7 @@ for (Email email : emails) { DemandeUIModel demand = new DemandeUIModel(); - demand.fromEntityExcluding(email, Sets.newHashSet(Email.PROPERTY_MAIL_FOLDER, Email.PROPERTY_EMAIL_GROUP, Email.PROPERTY_HISTORY)); + demand.fromEntityExcluding(email, Sets.newHashSet(Email.PROPERTY_MAIL_FOLDER, Email.PROPERTY_HISTORY)); // on ajoute toutes les lignes de rangeRow, // qui sont toutes valides puisqu'on les récupère de la base et qu'on ne sauvegarde que les lignes valides Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-09-30 17:12:03 UTC (rev 656) @@ -397,8 +397,6 @@ @Override public void initDemandeTable(final JXTable table, boolean sortable) { - super.initDemandeTable(table, sortable); - HighlightPredicate reportNotTakenPredicate = new HighlightPredicate() { @Override public boolean isHighlighted(Component renderer, ComponentAdapter adapter) { @@ -418,6 +416,8 @@ }; Color color = Color.ORANGE; table.addHighlighter(new ColorHighlighter(reportNotTakenPredicate, color, Color.WHITE, color.darker(), Color.WHITE)); + + super.initDemandeTable(table, sortable); } @Override Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUI.css 2014-09-30 17:12:03 UTC (rev 656) @@ -76,7 +76,7 @@ } #splitPane { - dividerLocation: 300; + dividerLocation: 270; } #message { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.css 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.css 2014-09-30 17:12:03 UTC (rev 656) @@ -276,7 +276,7 @@ #searchButton { text: "faxtomail.search.button.label"; - /* _applicationAction: { com.franciaflex.faxtomail.ui.swing.actions.SearchToGroupAction.class };*/ + i18nMnemonic: "faxtomail.search.button.mnemonic"; } #dataTable { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java 2014-09-30 17:12:03 UTC (rev 656) @@ -28,8 +28,11 @@ import java.awt.Color; import java.awt.Component; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; +import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -41,17 +44,18 @@ import java.util.Date; import java.util.List; -import javax.swing.JComponent; -import javax.swing.ListSelectionModel; -import javax.swing.SwingUtilities; +import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; +import com.franciaflex.faxtomail.persistence.entities.HasLabel; import com.franciaflex.faxtomail.persistence.entities.SearchFilter; +import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.jdesktop.swingx.JXDatePicker; import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.decorator.ColorHighlighter; import org.jdesktop.swingx.decorator.ComponentAdapter; @@ -229,6 +233,44 @@ getContext().getSwingSession().add(ui, true); } + + @Override + protected void initTextField(JTextField jTextField) { + super.initTextField(jTextField); + jTextField.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + searchDemandes(); + } + }); + } + + @Override + protected <HL extends HasLabel> void initCheckBoxComboBox(JComboBox<HL> comboBox, List<HL> values, List<HL> selection, String property, boolean addNull) { + super.initCheckBoxComboBox(comboBox, values, selection, property, addNull); + comboBox.addKeyListener(new KeyAdapter() { + @Override + public void keyReleased(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + searchDemandes(); + } + } + }); + } + + @Override + protected void initDatePicker(JXDatePicker picker) { + super.initDatePicker(picker); + picker.getEditor().addKeyListener(new KeyAdapter() { + @Override + public void keyReleased(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + searchDemandes(); + } + } + }); + } + public void searchDemandes() { getModel().resetPaginationParameter(); runSearchAction(); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css 2014-09-30 17:12:03 UTC (rev 656) @@ -289,6 +289,7 @@ #searchButton { text: "faxtomail.search.button.label"; + i18nMnemonic: "faxtomail.search.button.mnemonic"; } #dataTable { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-09-30 17:12:03 UTC (rev 656) @@ -24,8 +24,12 @@ import static org.nuiton.i18n.I18n.t; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Arrays; @@ -33,15 +37,17 @@ import java.util.Date; import java.util.List; -import javax.swing.JComponent; -import javax.swing.ListSelectionModel; +import javax.swing.*; +import com.franciaflex.faxtomail.persistence.entities.HasLabel; import com.franciaflex.faxtomail.persistence.entities.SearchFilter; import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; +import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.jdesktop.swingx.JXDatePicker; import org.jdesktop.swingx.JXTable; import org.nuiton.jaxx.application.swing.action.ApplicationActionEngine; import org.nuiton.jaxx.application.swing.table.AbstractApplicationTableModel; @@ -190,7 +196,43 @@ }); } + @Override + protected void initTextField(JTextField jTextField) { + super.initTextField(jTextField); + jTextField.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + searchDemandes(); + } + }); + } + @Override + protected <HL extends HasLabel> void initCheckBoxComboBox(JComboBox<HL> comboBox, List<HL> values, List<HL> selection, String property, boolean addNull) { + super.initCheckBoxComboBox(comboBox, values, selection, property, addNull); + comboBox.addKeyListener(new KeyAdapter() { + @Override + public void keyReleased(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + searchDemandes(); + } + } + }); + } + + @Override + protected void initDatePicker(JXDatePicker picker) { + super.initDatePicker(picker); + picker.getEditor().addKeyListener(new KeyAdapter() { + @Override + public void keyReleased(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + searchDemandes(); + } + } + }); + } + protected void onDoubleClickOnDemande(DemandeUIModel selectedEmail) { getContext().setCurrentPaginationParameter(getModel().getPaginationParameter()); } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-09-30 17:12:03 UTC (rev 656) @@ -28,6 +28,7 @@ import java.awt.Container; import java.awt.Dimension; import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.KeyEvent; @@ -42,15 +43,7 @@ import java.util.List; import java.util.Set; -import javax.swing.AbstractAction; -import javax.swing.ComboBoxModel; -import javax.swing.JComboBox; -import javax.swing.JComponent; -import javax.swing.JFrame; -import javax.swing.JOptionPane; -import javax.swing.JRootPane; -import javax.swing.KeyStroke; -import javax.swing.WindowConstants; +import javax.swing.*; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import javax.swing.table.TableColumnModel; @@ -438,7 +431,12 @@ comboBox.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { - comboBox.showPopup(); + //reopen the combo + SwingUtilities.invokeLater(new Runnable() { + public void run() { + comboBox.showPopup(); + } + }); if (e.getStateChange() == ItemEvent.SELECTED) { BeanUIUtil.invokeMethod(mutator, Modified: trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties =================================================================== --- trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-09-30 15:09:55 UTC (rev 655) +++ trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-09-30 17:12:03 UTC (rev 656) @@ -221,7 +221,7 @@ faxtomail.main.action.exit=Quitter faxtomail.main.action.exit.tip=Quitter l'application faxtomail.main.action.recherche=Recherche -faxtomail.main.action.recherche.tip=Recherche de demandes archivées +faxtomail.main.action.recherche.tip=Recherche parmi tous les éléments faxtomail.main.title.application=FaxToMail faxtomail.main.title.applicationName=FaxToMail faxtomail.pdfEditor.action.cancel=Annuler @@ -284,6 +284,7 @@ faxtomail.search.archivedBetween.label=Archivé entre le faxtomail.search.between2ndPart.label=et le faxtomail.search.button.label=Rechercher +faxtomail.search.button.mnemonic=R faxtomail.search.hideAdvancedSearch.label=Cacher la recherche avancée faxtomail.search.modifiedBetween.label=Modifié entre le faxtomail.search.modifiedBy.label=Modifié par