Author: kmorin Date: 2014-05-14 16:34:29 +0200 (Wed, 14 May 2014) New Revision: 73 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/73 Log: les lignes en orange sont les mails dont la pi?\195?\168ce jointe a ?\195?\169t?\195?\169 consult?\195?\169 sans ?\195?\170tre prise. Il faut que l'ordre dans l'historique soit: changement de dossier, pi?\195?\168ce jointe ouverte, et non pris Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 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/AbstractFaxToMailUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css 2014-05-14 13:43:25 UTC (rev 72) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUI.css 2014-05-14 14:34:29 UTC (rev 73) @@ -244,7 +244,7 @@ } #lastAttachmentOpeningPanel { - visible: { model.getLastAttachmentOpeningUser() != null }; + visible: { model.getLastAttachmentOpeningInThisFolderUser() != null }; } #lastAttachmentOpeningLabel { @@ -256,7 +256,7 @@ } #lastAttachmentOpenedByField { - text: { handler.decorateUser(model.getLastAttachmentOpeningUser(), true) }; + text: { handler.decorateUser(model.getLastAttachmentOpeningInThisFolderUser(), true) }; } #lastAttachmentOpeningDateLabel { @@ -264,7 +264,7 @@ } #lastAttachmentOpeningDateField { - text: { handler.decorate(model.getLastAttachmentOpeningDate()) }; + text: { handler.decorate(model.getLastAttachmentOpeningInThisFolderDate()) }; } #leftVerticalSplitPanel { Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-05-14 13:43:25 UTC (rev 72) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java 2014-05-14 14:34:29 UTC (rev 73) @@ -87,7 +87,7 @@ public static final String PROPERTY_CLIENT_BRAND = "clientBrand"; public static final String PROPERTY_REFERENCE = "reference"; public static final String PROPERTY_EDITABLE = "editable"; - public static final String PROPERTY_LAST_ATTACHMENT_OPENING_USER = "lastAttachmentOpeningUser"; + public static final String PROPERTY_LAST_ATTACHMENT_OPENING_IN_THIS_FOLDER_USER = "lastAttachmentOpeningInThisFolderUser"; public static final String PROPERTY_GROUPED_DEMANDES = "groupedDemandes"; protected final Email editObject = new EmailImpl(); @@ -100,7 +100,7 @@ protected History lastModificationHistory; - protected History lastAttachmentOpeningHistory; + protected History lastAttachmentOpeningInThisFolderHistory; protected int quotationNb; @@ -140,7 +140,7 @@ public void propertyChange(PropertyChangeEvent evt) { findFirstOpeningHistory(); findLastModificationHistory(); - findLastAttachmentOpeningHistory(); + findLastAttachmentOpeningInThisFolderHistory(); } }); @@ -474,21 +474,35 @@ lastModificationHistory = result; } - public void findLastAttachmentOpeningHistory() { + public void findLastAttachmentOpeningInThisFolderHistory() { History result = null; - Date date = null; Collection<History> histories = getHistory(); + if (histories != null) { + History transmissionHistory = null; for (History history : histories) { + Date modificationDate = history.getModificationDate(); if (HistoryType.ATTACHMENT_OPENING.equals(history.getType())) { - if (date == null || date.before(history.getModificationDate())) { - date = history.getModificationDate(); + if ((transmissionHistory == null + || transmissionHistory.getModificationDate().before(modificationDate)) + && (result == null + || result.getModificationDate().before(modificationDate))) { result = history; } + + } else if (HistoryType.TRANSMISSION.equals(history.getType())) { + if (transmissionHistory == null + || transmissionHistory.getModificationDate().before(modificationDate)) { + + transmissionHistory = history; + if (result != null && result.getModificationDate().before(transmissionHistory.getModificationDate())) { + result = null; + } + } } } } - lastAttachmentOpeningHistory = result; + lastAttachmentOpeningInThisFolderHistory = result; } public History getFirstOpeningHistory() { @@ -519,17 +533,17 @@ return history != null ? history.getModificationDate() : null; } - public History getLastAttachmentOpeningHistory() { - return lastAttachmentOpeningHistory; + public History getLastAttachmentOpeningInThisFolderHistory() { + return lastAttachmentOpeningInThisFolderHistory; } - public FaxToMailUser getLastAttachmentOpeningUser() { - History history = getLastAttachmentOpeningHistory(); + public FaxToMailUser getLastAttachmentOpeningInThisFolderUser() { + History history = getLastAttachmentOpeningInThisFolderHistory(); return history != null ? history.getFaxToMailUser() : null; } - public Date getLastAttachmentOpeningDate() { - History history = getLastAttachmentOpeningHistory(); + public Date getLastAttachmentOpeningInThisFolderDate() { + History history = getLastAttachmentOpeningInThisFolderHistory(); return history != null ? history.getModificationDate() : null; } 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-14 13:43:25 UTC (rev 72) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java 2014-05-14 14:34:29 UTC (rev 73) @@ -105,7 +105,7 @@ DemandeUIModel.PROPERTY_PF_NB, DemandeUIModel.PROPERTY_SAV_NB, Email.PROPERTY_TAKEN_BY, - DemandeUIModel.PROPERTY_LAST_ATTACHMENT_OPENING_USER, + DemandeUIModel.PROPERTY_LAST_ATTACHMENT_OPENING_IN_THIS_FOLDER_USER, Email.PROPERTY_REPLIES, Email.PROPERTY_ATTACHMENT }, ','); @@ -165,7 +165,7 @@ break; case Email.PROPERTY_TAKEN_BY: - case DemandeUIModel.PROPERTY_LAST_ATTACHMENT_OPENING_USER: + case DemandeUIModel.PROPERTY_LAST_ATTACHMENT_OPENING_IN_THIS_FOLDER_USER: tableCellRenderer = newTableCellRender(FaxToMailUser.class); break; @@ -205,7 +205,7 @@ if (highlight) { Font font = renderer.getFont(); renderer.setFont(font.deriveFont(Font.ITALIC)); - renderer.setForeground(new Color(96, 96, 96)); + renderer.setForeground(adapter.isSelected() ? Color.WHITE : new Color(96, 96, 96)); } return renderer; } @@ -243,8 +243,8 @@ int viewRow = adapter.row; int modelRow = adapter.convertRowIndexToModel(viewRow); DemandeUIModel row = tableModel.getEntry(modelRow); - return row.getLastAttachmentOpeningUser() != null - && !row.getLastAttachmentOpeningUser().equals(row.getTakenBy()); + return row.getLastAttachmentOpeningInThisFolderUser() != null + && !row.getLastAttachmentOpeningInThisFolderUser().equals(row.getTakenBy()); } }; color = Color.ORANGE; 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-05-14 13:43:25 UTC (rev 72) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailUIHandler.java 2014-05-14 14:34:29 UTC (rev 73) @@ -48,11 +48,13 @@ import javax.swing.*; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; +import javax.swing.text.JTextComponent; import java.awt.*; import java.awt.List; import java.awt.event.ActionEvent; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; +import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.beans.PropertyChangeEvent; @@ -137,6 +139,14 @@ ApplicationDataUtil.setProperty(getModel(), property, value); } + @Override + public void setText(KeyEvent event, String property) { + JTextComponent field = (JTextComponent) event.getSource(); + if (field.isEditable()) { + super.setText(event, property); + } + } + //------------------------------------------------------------------------// //-- Internal methods --// //------------------------------------------------------------------------// Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java 2014-05-14 13:43:25 UTC (rev 72) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java 2014-05-14 14:34:29 UTC (rev 73) @@ -161,9 +161,9 @@ n("faxtomail.demandeList.table.header.attachment"), n("faxtomail.demandeList.table.header.attachment.tip"))); - put(DemandeUIModel.PROPERTY_LAST_ATTACHMENT_OPENING_USER, + put(DemandeUIModel.PROPERTY_LAST_ATTACHMENT_OPENING_IN_THIS_FOLDER_USER, ColumnIdentifier.<Email>newId( - DemandeUIModel.PROPERTY_LAST_ATTACHMENT_OPENING_USER, + DemandeUIModel.PROPERTY_LAST_ATTACHMENT_OPENING_IN_THIS_FOLDER_USER, n("faxtomail.demandeList.table.header.lastAttachmentOpeningUser"), n("faxtomail.demandeList.table.header.lastAttachmentOpeningUser.tip")));