eric6/Preferences/ConfigurationPages/IconsPreviewDialog.py

Sat, 10 Apr 2021 18:38:27 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 10 Apr 2021 18:38:27 +0200
changeset 8218
7c09585bd960
parent 8143
2c730d5fd177
permissions
-rw-r--r--

Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).

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
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
12 from PyQt5.QtCore import pyqtSlot, QDir
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
13 from PyQt5.QtGui import QIcon, QPalette
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3178
diff changeset
14 from PyQt5.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