Changed the configuration dialog to remember the last show page name.

Fri, 04 Mar 2011 20:03:47 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 04 Mar 2011 20:03:47 +0100
changeset 934
657269549914
parent 932
efd23a913a09
child 935
bf9ee1e00bc5

Changed the configuration dialog to remember the last show page name.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.Preferences.ConfigurationDialog.html file | annotate | diff | comparison | revisions
Helpviewer/HelpWindow.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationDialog.py file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Fri Mar 04 19:12:07 2011 +0100
+++ b/APIs/Python3/eric5.api	Fri Mar 04 20:03:47 2011 +0100
@@ -4039,6 +4039,7 @@
 eric5.Preferences.ConfigurationDialog.ConfigurationDialog.DefaultMode?7
 eric5.Preferences.ConfigurationDialog.ConfigurationDialog.HelpBrowserMode?7
 eric5.Preferences.ConfigurationDialog.ConfigurationDialog.TrayStarterMode?7
+eric5.Preferences.ConfigurationDialog.ConfigurationDialog.getConfigurationPageName?4()
 eric5.Preferences.ConfigurationDialog.ConfigurationDialog.preferencesChanged?7
 eric5.Preferences.ConfigurationDialog.ConfigurationDialog.setPreferences?4()
 eric5.Preferences.ConfigurationDialog.ConfigurationDialog.showConfigurationPageByName?4(pageName)
@@ -4049,6 +4050,7 @@
 eric5.Preferences.ConfigurationDialog.ConfigurationWidget.HelpBrowserMode?7
 eric5.Preferences.ConfigurationDialog.ConfigurationWidget.TrayStarterMode?7
 eric5.Preferences.ConfigurationDialog.ConfigurationWidget.calledFromEric?4()
+eric5.Preferences.ConfigurationDialog.ConfigurationWidget.getConfigurationPageName?4()
 eric5.Preferences.ConfigurationDialog.ConfigurationWidget.getLexers?4()
 eric5.Preferences.ConfigurationDialog.ConfigurationWidget.getPage?4(pageName)
 eric5.Preferences.ConfigurationDialog.ConfigurationWidget.on_applyButton_clicked?4()
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Fri Mar 04 19:12:07 2011 +0100
+++ b/Documentation/Help/source.qhp	Fri Mar 04 20:03:47 2011 +0100
@@ -3076,6 +3076,7 @@
       <keyword name="ConfigurationWindow" id="ConfigurationWindow" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationWindow" />
       <keyword name="ConfigurationDialog (Constructor)" id="ConfigurationDialog (Constructor)" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationDialog.__init__" />
       <keyword name="ConfigurationDialog.__preferencesChanged" id="ConfigurationDialog.__preferencesChanged" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationDialog.__preferencesChanged" />
+      <keyword name="ConfigurationDialog.getConfigurationPageName" id="ConfigurationDialog.getConfigurationPageName" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationDialog.getConfigurationPageName" />
       <keyword name="ConfigurationDialog.setPreferences" id="ConfigurationDialog.setPreferences" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationDialog.setPreferences" />
       <keyword name="ConfigurationDialog.showConfigurationPageByName" id="ConfigurationDialog.showConfigurationPageByName" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationDialog.showConfigurationPageByName" />
       <keyword name="ConfigurationPageItem (Constructor)" id="ConfigurationPageItem (Constructor)" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationPageItem.__init__" />
@@ -3087,6 +3088,7 @@
       <keyword name="ConfigurationWidget.__setupUi" id="ConfigurationWidget.__setupUi" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationWidget.__setupUi" />
       <keyword name="ConfigurationWidget.__showConfigurationPage" id="ConfigurationWidget.__showConfigurationPage" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationWidget.__showConfigurationPage" />
       <keyword name="ConfigurationWidget.calledFromEric" id="ConfigurationWidget.calledFromEric" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationWidget.calledFromEric" />
+      <keyword name="ConfigurationWidget.getConfigurationPageName" id="ConfigurationWidget.getConfigurationPageName" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationWidget.getConfigurationPageName" />
       <keyword name="ConfigurationWidget.getLexers" id="ConfigurationWidget.getLexers" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationWidget.getLexers" />
       <keyword name="ConfigurationWidget.getPage" id="ConfigurationWidget.getPage" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationWidget.getPage" />
       <keyword name="ConfigurationWidget.on_applyButton_clicked" id="ConfigurationWidget.on_applyButton_clicked" ref="eric5.Preferences.ConfigurationDialog.html#ConfigurationWidget.on_applyButton_clicked" />
--- a/Documentation/Source/eric5.Preferences.ConfigurationDialog.html	Fri Mar 04 19:12:07 2011 +0100
+++ b/Documentation/Source/eric5.Preferences.ConfigurationDialog.html	Fri Mar 04 20:03:47 2011 +0100
@@ -75,6 +75,9 @@
 <td><a href="#ConfigurationDialog.__preferencesChanged">__preferencesChanged</a></td>
 <td>Private slot to handle a change of the preferences.</td>
 </tr><tr>
+<td><a href="#ConfigurationDialog.getConfigurationPageName">getConfigurationPageName</a></td>
+<td>Public method to get the page name of the current page.</td>
+</tr><tr>
 <td><a href="#ConfigurationDialog.setPreferences">setPreferences</a></td>
 <td>Public method called to store the selected values into the preferences storage.</td>
 </tr><tr>
@@ -111,7 +114,17 @@
 <b>__preferencesChanged</b>(<i></i>)
 <p>
         Private slot to handle a change of the preferences.
-</p><a NAME="ConfigurationDialog.setPreferences" ID="ConfigurationDialog.setPreferences"></a>
+</p><a NAME="ConfigurationDialog.getConfigurationPageName" ID="ConfigurationDialog.getConfigurationPageName"></a>
+<h4>ConfigurationDialog.getConfigurationPageName</h4>
+<b>getConfigurationPageName</b>(<i></i>)
+<p>
+        Public method to get the page name of the current page.
+</p><dl>
+<dt><i>page</i></dt>
+<dd>
+name of the current page (string)
+</dd>
+</dl><a NAME="ConfigurationDialog.setPreferences" ID="ConfigurationDialog.setPreferences"></a>
 <h4>ConfigurationDialog.setPreferences</h4>
 <b>setPreferences</b>(<i></i>)
 <p>
@@ -223,6 +236,9 @@
 <td><a href="#ConfigurationWidget.calledFromEric">calledFromEric</a></td>
 <td>Public method to check, if invoked from within eric.</td>
 </tr><tr>
+<td><a href="#ConfigurationWidget.getConfigurationPageName">getConfigurationPageName</a></td>
+<td>Public method to get the page name of the current page.</td>
+</tr><tr>
 <td><a href="#ConfigurationWidget.getLexers">getLexers</a></td>
 <td>Public method to get a reference to the lexers dictionary.</td>
 </tr><tr>
@@ -326,6 +342,16 @@
 <dd>
 flag indicating invocation from within eric (boolean)
 </dd>
+</dl><a NAME="ConfigurationWidget.getConfigurationPageName" ID="ConfigurationWidget.getConfigurationPageName"></a>
+<h4>ConfigurationWidget.getConfigurationPageName</h4>
+<b>getConfigurationPageName</b>(<i></i>)
+<p>
+        Public method to get the page name of the current page.
+</p><dl>
+<dt><i>page</i></dt>
+<dd>
+name of the current page (string)
+</dd>
 </dl><a NAME="ConfigurationWidget.getLexers" ID="ConfigurationWidget.getLexers"></a>
 <h4>ConfigurationWidget.getLexers</h4>
 <b>getLexers</b>(<i></i>)
--- a/Helpviewer/HelpWindow.py	Fri Mar 04 19:12:07 2011 +0100
+++ b/Helpviewer/HelpWindow.py	Fri Mar 04 20:03:47 2011 +0100
@@ -106,6 +106,7 @@
         self.setWindowIcon(UI.PixmapCache.getIcon("eric.png"))
 
         self.mHistory = []
+        self.__lastConfigurationPageName = ""
         
         if self.initShortcutsOnly:
             self.__initActions()
@@ -1835,13 +1836,17 @@
                                   displayMode = ConfigurationDialog.HelpBrowserMode)
         dlg.preferencesChanged.connect(self.preferencesChanged)
         dlg.show()
-        dlg.showConfigurationPageByName("empty")
+        if self.__lastConfigurationPageName:
+            dlg.showConfigurationPageByName(self.__lastConfigurationPageName)
+        else:
+            dlg.showConfigurationPageByName("empty")
         dlg.exec_()
         QApplication.processEvents()
         if dlg.result() == QDialog.Accepted:
             dlg.setPreferences()
             Preferences.syncPreferences()
             self.preferencesChanged()
+        self.__lastConfigurationPageName = dlg.getConfigurationPageName()
     
     def preferencesChanged(self):
         """
--- a/Preferences/ConfigurationDialog.py	Fri Mar 04 19:12:07 2011 +0100
+++ b/Preferences/ConfigurationDialog.py	Fri Mar 04 20:03:47 2011 +0100
@@ -503,6 +503,11 @@
                 page = pageData[-1]
             if page is None:
                 page = self.emptyPage
+            else:
+                items = self.configList.findItems(pageData[0], 
+                    Qt.MatchFixedString | Qt.MatchRecursive)
+                if items:
+                    self.configList.setCurrentItem(items[0])
         self.configStack.setCurrentWidget(page)
         ssize = self.scrollArea.size()
         if self.scrollArea.horizontalScrollBar():
@@ -529,6 +534,16 @@
             if sb:
                 sb.setValue(0)
         
+        self.__currentConfigurationPageName = pageName
+        
+    def getConfigurationPageName(self):
+        """
+        Public method to get the page name of the current page.
+        
+        @param page name of the current page (string)
+        """
+        return self.__currentConfigurationPageName
+        
     def calledFromEric(self):
         """
         Public method to check, if invoked from within eric.
@@ -664,6 +679,14 @@
         """
         self.cw.showConfigurationPageByName(pageName)
         
+    def getConfigurationPageName(self):
+        """
+        Public method to get the page name of the current page.
+        
+        @param page name of the current page (string)
+        """
+        return self.cw.getConfigurationPageName()
+        
     def setPreferences(self):
         """
         Public method called to store the selected values into the preferences storage.
--- a/UI/UserInterface.py	Fri Mar 04 19:12:07 2011 +0100
+++ b/UI/UserInterface.py	Fri Mar 04 20:03:47 2011 +0100
@@ -579,6 +579,9 @@
         SpellChecker.setDefaultLanguage(
             Preferences.getEditor("SpellCheckingDefaultLanguage"))
         
+        # attribute for the last shown configuration page
+        self.__lastConfigurationPageName = ""
+        
     def __setStyle(self):
         """
         Private slot to set the style of the interface.
@@ -4885,6 +4888,8 @@
         dlg.show()
         if pageName is not None:
             dlg.showConfigurationPageByName(pageName)
+        elif self.__lastConfigurationPageName:
+            dlg.showConfigurationPageByName(self.__lastConfigurationPageName)
         else:
             dlg.showConfigurationPageByName("empty")
         dlg.exec_()
@@ -4893,6 +4898,7 @@
             dlg.setPreferences()
             Preferences.syncPreferences()
             self.__preferencesChanged()
+        self.__lastConfigurationPageName = dlg.getConfigurationPageName()
         
     def __exportPreferences(self):
         """
--- a/changelog	Fri Mar 04 19:12:07 2011 +0100
+++ b/changelog	Fri Mar 04 20:03:47 2011 +0100
@@ -9,6 +9,7 @@
 - added functionality to the VCS status dialogs to make them more
   general commit dialogs
 - extended the Mercurial log browser to indicate closed branches
+- changed the configuration dialog to remember the last show page name
 
 Version 5.1-snapshot-20110123:
 - bug fixes

eric ide

mercurial