Author: tchemit Date: 2008-05-25 15:41:34 +0000 (Sun, 25 May 2008) New Revision: 679 Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/ConnexionConfigUI.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/RootConfigUI.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowRootConfigAction.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConnexionConfigUIHandler.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/RootConfigUIModel.java trunk/lutinvcs/ui/jaxx/src/main/uimodel/org/codelutin/vcs/ui/JaxxConnexionConfigUI.jaxx trunk/lutinvcs/ui/jaxx/src/main/uimodel/org/codelutin/vcs/ui/JaxxRootConfigUI.jaxx Log: add RootConfig managment part II Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/ConnexionConfigUI.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/ConnexionConfigUI.java 2008-05-25 15:41:01 UTC (rev 678) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/ConnexionConfigUI.java 2008-05-25 15:41:34 UTC (rev 679) @@ -19,6 +19,7 @@ import org.codelutin.util.FileUtil; import org.codelutin.vcs.VCSConfigFactory; import org.codelutin.vcs.VCSRootConfig; +import org.codelutin.vcs.VCSConnexionConfig; import org.codelutin.vcs.type.VCSConnexionConfigProperty; import org.codelutin.vcs.type.VCSConnexionMode; import org.codelutin.vcs.ui.handler.ConnexionConfigUIHandler; @@ -51,7 +52,7 @@ public abstract AbstractButton getAddRoot(); - public abstract AbstractButton getDeleteRoot(); + //public abstract AbstractButton getDeleteRoot(); public abstract AbstractButton getEditRoot(); @@ -91,7 +92,7 @@ public abstract JPanel getSshPanel(); - public abstract JComboBox getRootsList(); + public abstract JComboBox getRootConfig(); protected void changeAutheticationMode(VCSConnexionMode mode) { getHandler().getModel().setConnexionMode(mode); @@ -123,19 +124,36 @@ } protected void editRoot() { - String rootName = (String) getRootsList().getSelectedItem(); + String rootName = (String) getRootConfig().getSelectedItem(); VCSRootConfig config = VCSConfigFactory.getRoot(rootName); UIActionHelper.showRootConfigUI(config, this, "bottom-left"); + log.info("after edit root "); + afterRootChanged(); } protected void addRoot() { VCSRootConfig config = VCSConfigFactory.newRoot(); UIActionHelper.showRootConfigUI(config, this, "bottom-left"); - log.info("TODO " + this); - + log.info("after add root "); + afterRootChanged(); } - protected void deleteRoot() { + private void afterRootChanged() { + getHandler().getModel().setRoots(VCSConfigFactory.getInstance().getRoots()); + VCSConnexionConfig current = getHandler().getModel().getCurrent(); + VCSRootConfig root = current.getRootConfig(); + if (root!=null) { + // check root always exists + if (!VCSConfigFactory.containsRoot(root.getRootName())) { + current.setRootConfig(null); + getHandler().populateRoots(true); + } else { + getHandler().populateRoots(false); + } + } else { + getHandler().populateRoots(false); + } + + doCheck(VCSConnexionConfigProperty.rootConfig); } - } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/RootConfigUI.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/RootConfigUI.java 2008-05-25 15:41:01 UTC (rev 678) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/RootConfigUI.java 2008-05-25 15:41:34 UTC (rev 679) @@ -48,15 +48,26 @@ public abstract JComboBox getRootsList(); + private Boolean noSelect; + + public void setNoSelect(Boolean noSelect) { + this.noSelect = noSelect; + } + protected void addRoot() { + noSelect=true; VCSRootConfig config = VCSConfigFactory.newRoot(); - getHandler().getModel().populate(config); + getHandler().getModel().populate(config); + noSelect=null; } protected void cloneRoot() { + noSelect=true; String rootName = (String) getRootsList().getSelectedItem(); VCSRootConfig config =VCSConfigFactory.cloneRoot(rootName); + getHandler().getModel().populate(config); + noSelect=null; } protected void deleteRoot() { @@ -65,4 +76,12 @@ getHandler().getModel().populate(null); } + protected void selectRoot() { + String rootName = (String) getRootsList().getSelectedItem(); + if (noSelect==null && rootName!=null && !rootName.trim().isEmpty() && VCSConfigFactory.containsRoot(rootName.trim())) { + VCSRootConfig config =VCSConfigFactory.getRoot(rootName); + getHandler().getModel().populate(config); + } + } + } \ No newline at end of file Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowRootConfigAction.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowRootConfigAction.java 2008-05-25 15:41:01 UTC (rev 678) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/action/ShowRootConfigAction.java 2008-05-25 15:41:34 UTC (rev 679) @@ -46,7 +46,9 @@ @Override protected RootConfigUI initUI(ActionEvent e) { RootConfigUI ui = super.initUI(e); + ui.setNoSelect(true); ui.getHandler().getModel().populate(src); + ui.setNoSelect(null); ui.pack(); return ui; } Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConnexionConfigUIHandler.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConnexionConfigUIHandler.java 2008-05-25 15:41:01 UTC (rev 678) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/handler/ConnexionConfigUIHandler.java 2008-05-25 15:41:34 UTC (rev 679) @@ -17,6 +17,7 @@ import org.codelutin.ui.config.DialogConfigUIHandler; import org.codelutin.vcs.VCSConnexionConfig; import org.codelutin.vcs.VCSRootConfig; +import org.codelutin.vcs.VCSConfigFactory; import org.codelutin.vcs.type.VCSConnexionConfigProperty; import static org.codelutin.vcs.type.VCSConnexionConfigProperty.connexionMode; import static org.codelutin.vcs.type.VCSConnexionConfigProperty.login; @@ -130,17 +131,10 @@ } @Override - protected void populateUI() { - // add roots - DefaultComboBoxModel comboBoxModel = getUi().getRootsModel(); - comboBoxModel.removeAllElements(); - if (getModel().getSrc() == null) { - // first root is an empty one - comboBoxModel.addElement(" "); - } - for (VCSRootConfig type : getModel().getRoots()) { - comboBoxModel.addElement(type.getRootName()); - } + public void populateUI() { + + populateRoots(false); + super.populateUI(); ConnexionConfigUI ui = getUi(); @@ -170,7 +164,20 @@ getUi().getRootsModel().setSelectedItem(config.getRootConfig().getRootName()); } + public void populateRoots(boolean addEmpty) { + // add roots + DefaultComboBoxModel comboBoxModel = getUi().getRootsModel(); + comboBoxModel.removeAllElements(); + if (getModel().getSrc() == null || addEmpty) { + // first root is an empty one + comboBoxModel.addElement(" "); + } + for (VCSRootConfig type : getModel().getRoots()) { + comboBoxModel.addElement(type.getRootName()); + } + } + @Override protected boolean prepareSave() { boolean b = super.prepareSave(); @@ -180,6 +187,11 @@ if (modifieds.contains(connexionMode)) { current.setConnexionMode(getModel().getMode()); } + if (modifieds.contains(VCSConnexionConfigProperty.rootConfig)) { + String value = (String) getUi().getElementValue(VCSConnexionConfigProperty.rootConfig); + VCSRootConfig root = VCSConfigFactory.getRoot(value); + current.setRootConfig(root); + } if (modifieds.contains(sshNoPassphrase)) { boolean o = getModel().isNoSshPassPhrase(); Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/RootConfigUIModel.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/RootConfigUIModel.java 2008-05-25 15:41:01 UTC (rev 678) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/model/RootConfigUIModel.java 2008-05-25 15:41:34 UTC (rev 679) @@ -15,9 +15,9 @@ package org.codelutin.vcs.ui.model; import org.codelutin.ui.config.DialogConfigUIModel; -import org.codelutin.vcs.VCSRootConfig; import org.codelutin.vcs.VCSConfigFactory; import org.codelutin.vcs.VCSFactory; +import org.codelutin.vcs.VCSRootConfig; import org.codelutin.vcs.type.VCSRootConfigProperty; import org.codelutin.vcs.util.SimpleVCSRootConfig; @@ -33,7 +33,7 @@ protected List<VCSRootConfig> roots; protected List<String> types; - + public RootConfigUIModel() { super(VCSRootConfigProperty.class); } @@ -76,7 +76,10 @@ break; case port: - if (result) { + if (!result) { + // port is optional + result = true; + } else { // must be an valid positive integer try { int port = Integer.valueOf(value + ""); @@ -95,4 +98,23 @@ } return result; } + + @Override + public void save() { + if (src == null) { + // this is a new root config + src = newConfig(); + } else { + if (modifieds.contains(VCSRootConfigProperty.rootName)) { + log.info("rootName changed " + current.getRootName()); + } + } + current.copyTo(src, modifieds); + modifieds.clear(); + if (!VCSConfigFactory.containsRoot(current.getRootName())) { + VCSConfigFactory.addRoot((VCSRootConfig) src); + setRoots(VCSConfigFactory.getInstance().getRoots()); + } + super.save(); + } } \ No newline at end of file Modified: trunk/lutinvcs/ui/jaxx/src/main/uimodel/org/codelutin/vcs/ui/JaxxConnexionConfigUI.jaxx =================================================================== --- trunk/lutinvcs/ui/jaxx/src/main/uimodel/org/codelutin/vcs/ui/JaxxConnexionConfigUI.jaxx 2008-05-25 15:41:01 UTC (rev 678) +++ trunk/lutinvcs/ui/jaxx/src/main/uimodel/org/codelutin/vcs/ui/JaxxConnexionConfigUI.jaxx 2008-05-25 15:41:34 UTC (rev 679) @@ -103,7 +103,7 @@ </Table> <JButton id='editRoot' icon='{createActionIcon("editroot")}' borderPainted='false' onActionPerformed="editRoot()"/> <JButton id='addRoot' icon='{createActionIcon("addroot")}' borderPainted='false' onActionPerformed="addRoot()"/> - <JButton id='deleteRoot' icon='{createActionIcon("deleteroot")}' borderPainted='false' onActionPerformed="deleteRoot()"/> + <!--JButton id='deleteRoot' icon='{createActionIcon("deleteroot")}' borderPainted='false' onActionPerformed="deleteRoot()"/--> </JToolBar> <Table fill='both' insets="1,1,1,1"> @@ -120,7 +120,7 @@ <Table insets="2,2,2,2" fill='horizontal'> <row fill='horizontal'> <cell><JLabel id='rootConfigLabel'/></cell> - <cell><JComboBox id='rootsList' model="{rootsModel}"/></cell> + <cell><JComboBox id='rootConfig' model="{rootsModel}" onActionPerformed="doCheck(VCSConnexionConfigProperty.rootConfig)"/></cell> </row> <row fill='horizontal'> <cell><JLabel id='modulePathLabel'/></cell> Modified: trunk/lutinvcs/ui/jaxx/src/main/uimodel/org/codelutin/vcs/ui/JaxxRootConfigUI.jaxx =================================================================== --- trunk/lutinvcs/ui/jaxx/src/main/uimodel/org/codelutin/vcs/ui/JaxxRootConfigUI.jaxx 2008-05-25 15:41:01 UTC (rev 678) +++ trunk/lutinvcs/ui/jaxx/src/main/uimodel/org/codelutin/vcs/ui/JaxxRootConfigUI.jaxx 2008-05-25 15:41:34 UTC (rev 679) @@ -23,12 +23,9 @@ <JScrollPane columnHeaderView='{head}' styleClass='rootconfigScroll'> <Table fill='horizontal'> <row fill='horizontal'> - <cell> - <JLabel id='rootConfigLabel'/> + <cell columns="2" fill="horizontal"> + <JComboBox id='rootsList' model="{rootsModel}" onActionPerformed="selectRoot()"/> </cell> - <cell> - <JComboBox id='rootsList' model="{rootsModel}"/> - </cell> </row> <row fill='horizontal'> <cell> @@ -43,7 +40,7 @@ <JLabel id='typeLabel'/> </cell> <cell> - <JComboBox id='type' onKeyReleased="doCheck(VCSRootConfigProperty.type)" model="{typesModel}"/> + <JComboBox id='type' onActionPerformed="doCheck(VCSRootConfigProperty.type)" onKeyReleased="doCheck(VCSRootConfigProperty.type)" model="{typesModel}"/> </cell> </row> <row fill='horizontal'>
participants (1)
-
tchemit@users.labs.libre-entreprise.org