11from PySide6 .QtCore import QSettings , QFileInfo , Qt , QStandardPaths , QDir
2- from PySide6 .QtGui import QIcon , QAction , QBrush , QColor , QImage , QPixmap
3- from PySide6 .QtWidgets import QApplication , QStyle , QMessageBox , QColorDialog , QDialog , QFileDialog , QPushButton , QSizePolicy , QHBoxLayout , QGroupBox , QRadioButton
2+ from PySide6 .QtGui import QIcon , QAction , QBrush , QColor , QImage
3+ from PySide6 .QtWidgets import QApplication , QStyle , QMessageBox , QDialog , QFileDialog , QHBoxLayout , QGroupBox , QRadioButton
44
55from ImageEditor import ImageEditorDialog , SettingsDialog
66from ImageProxy import ImageProxy
77from ImageScrollLabel import ImageScrollLabel
8- from Tools .Gui import getSaveFileName
8+ from Tools .Gui import getSaveFileName , ColorButton
99from Tools .misc import saveImageFilters
1010
1111IMAGE_PATH = QStandardPaths .standardLocations (QStandardPaths .PicturesLocation )[0 ]
@@ -18,12 +18,8 @@ def __init__(self, parent=None):
1818
1919 settings = QSettings ()
2020
21- self .transparentColorButton = QPushButton (self )
22- self .transparentColorButton .setSizePolicy (QSizePolicy .Fixed ,
23- QSizePolicy .Fixed )
24- self .transparent_color = settings .value ('mainwindow/transparent_color' , QColor (Qt .white ), type = QColor )
25- self .updateTransparentColorButton (self .transparent_color )
26- self .transparentColorButton .clicked .connect (self .transparentColorButtonClicked )
21+ color = settings .value ('mainwindow/transparent_color' , QColor (Qt .white ), type = QColor )
22+ self .transparentColorButton = ColorButton (color , self )
2723
2824 self .transparentRadio = QRadioButton (self .tr ("Transparent" ))
2925 self .transparentRadio .toggled .connect (self .transparentRadioToggled )
@@ -50,23 +46,11 @@ def __init__(self, parent=None):
5046 def transparentRadioToggled (self , checked ):
5147 self .transparentColorButton .setDisabled (checked )
5248
53- def transparentColorButtonClicked (self ):
54- dlg = QColorDialog (self .transparent_color , self )
55- if dlg .exec () == QDialog .Accepted :
56- self .transparent_color = dlg .currentColor ()
57- self .updateTransparentColorButton (self .transparent_color )
58-
59- def updateTransparentColorButton (self , color ):
60- pixmap = QPixmap (16 , 16 )
61- pixmap .fill (color )
62- icon = QIcon (pixmap )
63- self .transparentColorButton .setIcon (icon )
64-
6549 def save (self ):
6650 settings = QSettings ()
6751
6852 settings .setValue ('mainwindow/transparent_store' , self .transparentRadio .isChecked ())
69- settings .setValue ('mainwindow/transparent_color' , self .transparent_color )
53+ settings .setValue ('mainwindow/transparent_color' , self .transparentColorButton . color () )
7054
7155 super ().save ()
7256
@@ -201,7 +185,7 @@ def saveAs(self):
201185 def settings (self ):
202186 dlg = WindowSettingsDialog (self )
203187 if dlg .exec () == QDialog .Accepted :
204- color = dlg .window_color
188+ color = dlg .windowColorButton . color ()
205189 self .viewer .setBackgroundBrush (QBrush (color ))
206190
207191 def _updateEditActions (self ):
0 commit comments