Author: kmorin Date: 2014-09-29 15:22:47 +0200 (Mon, 29 Sep 2014) New Revision: 650 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/650 Log: retourner sur la bonne page quand on revient Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeListAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowRechercheAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListTableFilter.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/search/SearchUIHandler.java Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-09-29 12:15:22 UTC (rev 649) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/FaxToMailUIContext.java 2014-09-29 13:22:47 UTC (rev 650) @@ -89,6 +89,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import org.nuiton.util.pagination.PaginationParameter; /** * UI application context. @@ -189,6 +190,8 @@ /** Le dossier courant (pour ???). */ protected MailFolder currentMailFolder; + protected PaginationParameter currentPaginationParameter; + /** L'email courant (pour quoi faire ?). */ protected DemandeUIModel currentEmail; @@ -691,6 +694,14 @@ this.currentMailFolder = currentMailFolder; } + public PaginationParameter getCurrentPaginationParameter() { + return currentPaginationParameter; + } + + public void setCurrentPaginationParameter(PaginationParameter currentPaginationParameter) { + this.currentPaginationParameter = currentPaginationParameter; + } + public DemandeUIModel getCurrentEmail() { return currentEmail; } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeListAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeListAction.java 2014-09-29 12:15:22 UTC (rev 649) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowDemandeListAction.java 2014-09-29 13:22:47 UTC (rev 650) @@ -40,8 +40,10 @@ } @Override - public void postSuccessAction() { - super.postSuccessAction(); + public void doAction() throws Exception { getContext().setSearch(null); + getContext().setCurrentPaginationParameter(null); + super.doAction(); } + } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowRechercheAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowRechercheAction.java 2014-09-29 12:15:22 UTC (rev 649) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/ShowRechercheAction.java 2014-09-29 13:22:47 UTC (rev 650) @@ -39,4 +39,9 @@ setActionDescription(t("faxtomail.action.goto.search.tip")); } + @Override + public void doAction() throws Exception { + getContext().setCurrentPaginationParameter(null); + super.doAction(); + } } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListTableFilter.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListTableFilter.java 2014-09-29 12:15:22 UTC (rev 649) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListTableFilter.java 2014-09-29 13:22:47 UTC (rev 650) @@ -49,6 +49,7 @@ import org.jdesktop.swingx.JXTable; import org.nuiton.decorator.Decorator; import org.nuiton.jaxx.application.swing.table.ColumnIdentifier; +import org.nuiton.util.pagination.PaginationParameter; import javax.swing.table.TableModel; import java.text.DateFormat; @@ -277,8 +278,17 @@ protected void executeFilter() { FaxToMailUIContext context = handler.getContext(); - handler.getModel().resetPaginationParameter(); + // reset pagination when folder change + PaginationParameter currentPaginationParameter = context.getCurrentPaginationParameter(); + if (currentPaginationParameter != null) { + handler.getModel().setPaginationParameter(currentPaginationParameter); + context.setCurrentPaginationParameter(null); + + } else { + handler.getModel().resetPaginationParameter(); + } + LoadFolderEmailsAction loadFolderEmailsAction = context.getActionFactory().createLogicAction(handler, LoadFolderEmailsAction.class); 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-29 12:15:22 UTC (rev 649) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java 2014-09-29 13:22:47 UTC (rev 650) @@ -101,6 +101,7 @@ import com.franciaflex.faxtomail.ui.swing.util.PaginationComboModel; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; +import org.nuiton.util.pagination.PaginationParameter; /** * Handler of UI {@link com.franciaflex.faxtomail.ui.swing.content.demande.DemandeListUIHandler}. @@ -338,12 +339,7 @@ } protected void loadFolderDemands(MailFolder folder, Map<MailFolder, FolderTreeNode> nodesByFolder) { - // a new transaction has been opened by getContext().createNewTransaction(); - // 10 line upper - // reset pagination when folder change - getModel().resetPaginationParameter(); - FolderTreeNode folderNode = nodesByFolder.get(folder); boolean readable = folderNode.isCanRead(); @@ -445,6 +441,7 @@ protected void onDoubleClickOnDemande(DemandeUIModel selectedEmail) { super.onDoubleClickOnDemande(selectedEmail); selectedEmail.removePropertyChangeListener(selectedDemandeChangeListener); + getContext().setCurrentPaginationParameter(getModel().getPaginationParameter()); } @Override 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-29 12:15:22 UTC (rev 649) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-09-29 13:22:47 UTC (rev 650) @@ -56,6 +56,7 @@ import com.franciaflex.faxtomail.ui.swing.util.AbstractFaxToMailDemandListHandler; import com.franciaflex.faxtomail.ui.swing.util.DemandeTableModel; import com.franciaflex.faxtomail.ui.swing.util.PaginationComboModel; +import org.nuiton.util.pagination.PaginationParameter; /** * Handler of UI {@link SearchUIHandler}. @@ -188,6 +189,11 @@ }); } + + protected void onDoubleClickOnDemande(DemandeUIModel selectedEmail) { + getContext().setCurrentPaginationParameter(getModel().getPaginationParameter()); + } + public void searchDemandes() { getModel().resetPaginationParameter(); runSearchAction(); @@ -216,6 +222,12 @@ protected void runSearchAction() { FaxToMailUIContext context = getContext(); + PaginationParameter currentPaginationParameter = context.getCurrentPaginationParameter(); + if (currentPaginationParameter != null) { + getModel().setPaginationParameter(currentPaginationParameter); + context.setCurrentPaginationParameter(null); + } + try { SearchAction searchAction = new SearchAction(this); if (context.isActionInProgress(null)) {
participants (1)
-
kmorin@users.forge.codelutin.com