Preferences/ConfigurationPages/VcsPage.py

changeset 0
de9c2efb9d02
child 7
c679fb30c8f3
diff -r 000000000000 -r de9c2efb9d02 Preferences/ConfigurationPages/VcsPage.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Preferences/ConfigurationPages/VcsPage.py	Mon Dec 28 16:03:33 2009 +0000
@@ -0,0 +1,139 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2006 - 2009 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the VCS configuration page.
+"""
+
+from PyQt4.QtCore import pyqtSlot
+
+from ConfigurationPageBase import ConfigurationPageBase
+from Ui_VcsPage import Ui_VcsPage
+
+import Preferences
+
+class VcsPage(ConfigurationPageBase, Ui_VcsPage):
+    """
+    Class implementing the VCS configuration page.
+    """
+    def __init__(self):
+        """
+        Constructor
+        """
+        ConfigurationPageBase.__init__(self)
+        self.setupUi(self)
+        self.setObjectName("VcsPage")
+        
+        self.projectBrowserColours = {}
+        
+        # set initial values
+        self.vcsAutoCloseCheckBox.setChecked(Preferences.getVCS("AutoClose"))
+        self.vcsAutoSaveCheckBox.setChecked(Preferences.getVCS("AutoSaveFiles"))
+        self.vcsAutoSaveProjectCheckBox.setChecked(
+            Preferences.getVCS("AutoSaveProject"))
+        self.vcsStatusMonitorIntervalSpinBox.setValue(
+            Preferences.getVCS("StatusMonitorInterval"))
+        self.vcsMonitorLocalStatusCheckBox.setChecked(
+            Preferences.getVCS("MonitorLocalStatus"))
+        self.autoUpdateCheckBox.setChecked(
+            Preferences.getVCS("AutoUpdate"))
+        
+        self.projectBrowserColours["VcsAdded"] = \
+            self.initColour("VcsAdded", self.pbVcsAddedButton, 
+                Preferences.getProjectBrowserColour)
+        self.projectBrowserColours["VcsConflict"] = \
+            self.initColour("VcsConflict", self.pbVcsConflictButton, 
+                Preferences.getProjectBrowserColour)
+        self.projectBrowserColours["VcsModified"] = \
+            self.initColour("VcsModified", self.pbVcsModifiedButton, 
+                Preferences.getProjectBrowserColour)
+        self.projectBrowserColours["VcsReplaced"] = \
+            self.initColour("VcsReplaced", self.pbVcsReplacedButton, 
+                Preferences.getProjectBrowserColour)
+        self.projectBrowserColours["VcsUpdate"] = \
+            self.initColour("VcsUpdate", self.pbVcsUpdateButton, 
+                Preferences.getProjectBrowserColour)
+        self.projectBrowserColours["VcsConflict"] = \
+            self.initColour("VcsConflict", self.pbVcsConflictButton, 
+                Preferences.getProjectBrowserColour)
+    
+    def save(self):
+        """
+        Public slot to save the VCS configuration.
+        """
+        Preferences.setVCS("AutoClose",
+            int(self.vcsAutoCloseCheckBox.isChecked()))
+        Preferences.setVCS("AutoSaveFiles",
+            int(self.vcsAutoSaveCheckBox.isChecked()))
+        Preferences.setVCS("AutoSaveProject",
+            int(self.vcsAutoSaveProjectCheckBox.isChecked()))
+        Preferences.setVCS("StatusMonitorInterval",
+            self.vcsStatusMonitorIntervalSpinBox.value())
+        Preferences.setVCS("MonitorLocalStatus", 
+            int(self.vcsMonitorLocalStatusCheckBox.isChecked()))
+        Preferences.setVCS("AutoUpdate", 
+            int(self.autoUpdateCheckBox.isChecked()))
+    
+        for key in self.projectBrowserColours.keys():
+            Preferences.setProjectBrowserColour(key, self.projectBrowserColours[key])
+    
+    @pyqtSlot()
+    def on_pbVcsAddedButton_clicked(self):
+        """
+        Private slot to set the background colour for entries with VCS 
+        status "added".
+        """
+        self.projectBrowserColours["VcsAdded"] = \
+            self.selectColour(self.pbVcsAddedButton, 
+                self.projectBrowserColours["VcsAdded"])
+        
+    @pyqtSlot()
+    def on_pbVcsConflictButton_clicked(self):
+        """
+        Private slot to set the background colour for entries with VCS 
+        status "conflict".
+        """
+        self.projectBrowserColours["VcsConflict"] = \
+            self.selectColour(self.pbVcsConflictButton, 
+                self.projectBrowserColours["VcsConflict"])
+        
+    @pyqtSlot()
+    def on_pbVcsModifiedButton_clicked(self):
+        """
+        Private slot to set the background colour for entries with VCS 
+        status "modified".
+        """
+        self.projectBrowserColours["VcsModified"] = \
+            self.selectColour(self.pbVcsModifiedButton, 
+                self.projectBrowserColours["VcsModified"])
+        
+    @pyqtSlot()
+    def on_pbVcsReplacedButton_clicked(self):
+        """
+        Private slot to set the background colour for entries with VCS 
+        status "replaced".
+        """
+        self.projectBrowserColours["VcsReplaced"] = \
+            self.selectColour(self.pbVcsReplacedButton, 
+                self.projectBrowserColours["VcsReplaced"])
+        
+    @pyqtSlot()
+    def on_pbVcsUpdateButton_clicked(self):
+        """
+        Private slot to set the background colour for entries with VCS 
+        status "needs update".
+        """
+        self.projectBrowserColours["VcsUpdate"] = \
+            self.selectColour(self.pbVcsUpdateButton, 
+                self.projectBrowserColours["VcsUpdate"])
+
+def create(dlg):
+    """
+    Module function to create the configuration page.
+    
+    @param dlg reference to the configuration dialog
+    """
+    page = VcsPage()
+    return page

eric ide

mercurial