eric7/Preferences/ConfigurationPages/InterfacePage.py

branch
eric7
changeset 8587
78971b458d25
parent 8583
aac629a05f8b
child 8588
84dfb28716e2
--- a/eric7/Preferences/ConfigurationPages/InterfacePage.py	Thu Sep 09 19:04:53 2021 +0200
+++ b/eric7/Preferences/ConfigurationPages/InterfacePage.py	Thu Sep 09 19:22:12 2021 +0200
@@ -44,10 +44,9 @@
             "All files (*)"))
         self.styleSheetPicker.setDefaultDirectory(getConfig("ericStylesDir"))
         
-        self.sampleLabel.setPixmap(
-            UI.PixmapCache.getPixmap("sbDebugViewer48"))
-        self.highlightedSampleLabel.setPixmap(
-            UI.PixmapCache.getPixmap("sbDebugViewer48"))
+        for iconBarSize in EricIconBar.BarSizes:
+            self.iconSizeComboBox.addItem(
+                EricIconBar.BarSizes[iconBarSize][2], iconBarSize)
         
         # set initial values
         self.__populateStyleCombo()
@@ -105,8 +104,14 @@
         self.numbersCheckBox.setChecked(
             Preferences.getUI("ShowNumbersViewer"))
         
+        self.iconSizeComboBox.setCurrentIndex(
+            self.iconSizeComboBox.findData(Preferences.getUI("IconBarSize")))
         self.__iconBarColor = Preferences.getUI("IconBarColor")
-        self.__setIconBarColorSamples()
+        self.__setIconBarSamples()
+        
+        # connect the icon size combo box after initialization is complete
+        self.iconSizeComboBox.currentIndexChanged.connect(
+            self.__setIconBarSamples)
         
     def save(self):
         """
@@ -202,7 +207,12 @@
             "ShowNumbersViewer",
             self.numbersCheckBox.isChecked())
         
-        Preferences.setUI("IconBarColor", self.__iconBarColor)
+        Preferences.setUI(
+            "IconBarSize",
+            self.iconSizeComboBox.currentData())
+        Preferences.setUI(
+            "IconBarColor",
+            self.__iconBarColor)
         
     def __populateStyleCombo(self):
         """
@@ -282,16 +292,32 @@
         """
         Preferences.resetLayout()
     
-    def __setIconBarColorSamples(self):
+    @pyqtSlot()
+    def __setIconBarSamples(self):
+        """
+        Private slot to set the colors of the icon bar color samples.
         """
-        Private method to set the colors of the icon bar color samples.
-        """
+        iconBarSize = self.iconSizeComboBox.currentData()
+        iconSize, borderSize = EricIconBar.BarSizes[iconBarSize][:2]
+        size = iconSize + 2 * borderSize
+        
+        self.sampleLabel.setFixedSize(size, size)
         self.sampleLabel.setStyleSheet(
             EricIconBar.LabelStyleSheetTemplate
             .format(self.__iconBarColor.name()))
+        self.sampleLabel.setPixmap(
+            UI.PixmapCache.getIcon("sbDebugViewer48")
+            .pixmap(iconSize, iconSize)
+        )
+        
+        self.highlightedSampleLabel.setFixedSize(size, size)
         self.highlightedSampleLabel.setStyleSheet(
             EricIconBar.LabelStyleSheetTemplate
             .format(self.__iconBarColor.darker().name()))
+        self.highlightedSampleLabel.setPixmap(
+            UI.PixmapCache.getIcon("sbDebugViewer48")
+            .pixmap(iconSize, iconSize)
+        )
     
     @pyqtSlot()
     def on_iconBarButton_clicked(self):
@@ -303,7 +329,7 @@
         colDlg.setCurrentColor(self.__iconBarColor)
         if colDlg.exec() == QDialog.DialogCode.Accepted:
             self.__iconBarColor = colDlg.selectedColor()
-            self.__setIconBarColorSamples()
+            self.__setIconBarSamples()
 
 
 def create(dlg):

eric ide

mercurial