eric7/Preferences/ConfigurationPages/IconsPreviewDialog.py

Sun, 16 May 2021 20:07:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 16 May 2021 20:07:24 +0200
branch
eric7
changeset 8318
962bce857696
parent 8312
800c432b34c8
child 8857
8191d15b8974
permissions
-rw-r--r--

Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.

0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
3 # Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to preview the contents of an icon directory.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os.path
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
12 from PyQt6.QtCore import pyqtSlot, QDir
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
13 from PyQt6.QtGui import QIcon, QPalette
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
14 from PyQt6.QtWidgets import QListWidgetItem, QDialog
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
16 from .Ui_IconsPreviewDialog import Ui_IconsPreviewDialog
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class IconsPreviewDialog(QDialog, Ui_IconsPreviewDialog):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Class implementing a dialog to preview the contents of an icon directory.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
7521
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
23 def __init__(self, directories, parent=None):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
7521
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
27 @param directories list of directories to be shown
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
28 @type list of str
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
29 @param parent parent widget
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
30 @type QWidget
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
32 super().__init__(parent)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 self.setupUi(self)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
7521
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
35 palette = self.iconView.palette()
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
36 self.__baseBrush = palette.brush(QPalette.ColorRole.Base)
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
37 self.__textBrush = palette.brush(QPalette.ColorRole.Text)
7521
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
38 self.__inverted = False
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
39
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
40 self.directoryCombo.addItems(sorted(directories))
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
41
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
42 @pyqtSlot(str)
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
43 def on_directoryCombo_currentTextChanged(self, dirName):
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
44 """
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
45 Private slot to show the icons of the selected icon directory.
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
46
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
47 @param dirName selected icon directory
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
48 @type str
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
49 """
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
50 self.iconView.clear()
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
51 directory = QDir(dirName)
7006
c29932589c9c IconsPreviewDialog: fixed the display of the *.svg icons.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
52 for icon in directory.entryList(["*.svg", "*.svgz", "*.png"]):
7521
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
53 itm = QListWidgetItem(
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
54 QIcon(os.path.join(dirName, icon)),
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 icon, self.iconView)
7521
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
56 if self.__inverted:
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
57 itm.setForeground(self.__baseBrush)
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
58 else:
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
59 itm.setForeground(self.__textBrush)
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
60
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
61 @pyqtSlot(bool)
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
62 def on_invertButton_toggled(self, checked):
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
63 """
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
64 Private slot to show the icons on an inverted background.
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
65
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
66 @param checked state of the button
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
67 @type bool
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
68 """
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
69 self.__inverted = checked
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
70
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
71 palette = self.iconView.palette()
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
72 if self.__inverted:
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
73 palette.setBrush(QPalette.ColorRole.Base, self.__textBrush)
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
74 palette.setBrush(QPalette.ColorRole.Text, self.__baseBrush)
7521
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
75 else:
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
76 palette.setBrush(QPalette.ColorRole.Base, self.__baseBrush)
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
77 palette.setBrush(QPalette.ColorRole.Text, self.__textBrush)
7521
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
78 self.iconView.viewport().setPalette(palette)
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
79
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
80 self.on_refreshButton_clicked()
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
81
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
82 @pyqtSlot()
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
83 def on_refreshButton_clicked(self):
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
84 """
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
85 Private slot to refresh the view.
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
86 """
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
87 currentDirectory = self.directoryCombo.currentText()
17974c348101 Icons page, Icons preview dialog: added option to select the default icons and extended preview functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
88 self.on_directoryCombo_currentTextChanged(currentDirectory)

eric ide

mercurial