r108 - in trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing: content/demande util
Author: kmorin Date: 2014-05-30 11:17:12 +0200 (Fri, 30 May 2014) New Revision: 108 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/108 Log: fixes #5157 Dans l'arborescence des ?\195?\169l?\195?\169ments, le clic sur une partie vide de la liste des messages entraine une exception fixes #5158 Un message archiv?\195?\169 peut ?\195?\170tre d?\195?\169plac?\195?\169 Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-05-30 08:55:55 UTC (rev 107) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandesUIHandler.java 2014-05-30 09:17:12 UTC (rev 108) @@ -84,6 +84,24 @@ DemandesUIModel model = getModel(); // setCustomTab(0, getModel().getDemands().get(0)); + + final PropertyChangeListener demandEnabledAndValidListener = new PropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent evt) { + if (evt.getPropertyName().equals(DemandeUIModel.PROPERTY_VALID) + || evt.getPropertyName().equals(DemandeUIModel.PROPERTY_EDITABLE) + || evt.getPropertyName().equals(Email.PROPERTY_ARCHIVE_DATE)) { + + DemandesUI ui = getUI(); + ui.processDataBinding(DemandesUI.BINDING_ARCHIVE_BUTTON_ENABLED); + ui.processDataBinding(DemandesUI.BINDING_GROUP_BUTTON_ENABLED); + ui.processDataBinding(DemandesUI.BINDING_REPLY_BUTTON_ENABLED); + ui.processDataBinding(DemandesUI.BINDING_SAVE_BUTTON_ENABLED); + ui.processDataBinding(DemandesUI.BINDING_TRANSMIT_BUTTON_ENABLED); + } + } + }; + model.addDemandsListener(new DemandesUIModel.DemandsListener() { @Override public void onDemandAdded(DemandeUIModel demand, int index, boolean added) { @@ -91,6 +109,7 @@ JTabbedPane tabPanel = getTabPanel(); if (added) { DemandeUI demandeUI = new DemandeUI(getUI(), demand); + demand.addPropertyChangeListener(demandEnabledAndValidListener); tabPanel.add(demandeUI); setCustomTab(index, demand); } @@ -100,6 +119,7 @@ @Override public void onDemandRemoved(DemandeUIModel demand, int index) { + demand.removePropertyChangeListener(demandEnabledAndValidListener); } }); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-05-30 08:55:55 UTC (rev 107) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-05-30 09:17:12 UTC (rev 108) @@ -264,6 +264,9 @@ if (evt.getClickCount() == 2) { JXTable table = (JXTable) evt.getSource(); int rowIndex = table.getSelectedRow(); + if (rowIndex < 0 || rowIndex >= table.getRowCount()) { + return; + } rowIndex = table.convertRowIndexToModel(rowIndex); AbstractApplicationTableModel<DemandeUIModel> tableModel =
participants (1)
-
kmorin@users.forge.codelutin.com