eric7/UI/Previewers/PreviewerQSS.py

Sat, 15 May 2021 18:45:04 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 15 May 2021 18:45:04 +0200
branch
eric7
changeset 8312
800c432b34c8
parent 8218
eric6/UI/Previewers/PreviewerQSS.py@7c09585bd960
child 8318
962bce857696
permissions
-rw-r--r--

Started to rename eric6 to eric7.

3459
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7781
diff changeset
3 # Copyright (c) 2014 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
3459
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a previewer widget for Qt style sheet files.
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
7264
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
12 from PyQt5.QtWidgets import (
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
13 QWidget, QMenu, QLabel, QHeaderView, QListWidgetItem
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
14 )
3459
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from .Ui_PreviewerQSS import Ui_PreviewerQSS
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 import Preferences
3460
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
19 import UI.PixmapCache
3459
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 class PreviewerQSS(QWidget, Ui_PreviewerQSS):
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 Class implementing a previewer widget for Qt style sheet files.
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 def __init__(self, parent=None):
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 Constructor
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @param parent reference to the parent widget (QWidget)
275cb00c83e2 Continued adding QSS preview support.
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)
3459
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 self.setupUi(self)
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
3460
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
35 # menu for the tool button
3488
6d977dc657d3 Fixed a typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3460
diff changeset
36 self.__toolButtonMenu = QMenu(self)
3460
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
37 self.__toolButtonMenu.addAction(self.tr("Action 1"))
3459
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.__toolButtonMenu.addSeparator()
3460
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
39 self.__toolButtonMenu.addAction(self.tr("Action 2"))
3459
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.toolButton.setMenu(self.__toolButtonMenu)
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41
3460
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
42 # a MDI window
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
43 self.__mdi = self.mdiArea.addSubWindow(QLabel(self.tr("MDI")))
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
44 self.__mdi.resize(160, 80)
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
45
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
46 # tree and table widgets
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
47 self.tree.header().setSectionResizeMode(
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
48 QHeaderView.ResizeMode.ResizeToContents)
7198
684261ef2165 Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
49 self.table.horizontalHeader().setSectionResizeMode(
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
50 QHeaderView.ResizeMode.ResizeToContents)
3460
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
51 self.tree.topLevelItem(0).setExpanded(True)
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
52
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
53 # icon list widget
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
54 for iconName, labelText in (
7533
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
55 ("filePython", self.tr("Python")),
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
56 ("fileRuby", self.tr("Ruby")),
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
57 ("fileJavascript", self.tr("JavaScript")),
3460
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
58 ):
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
59 self.iconsListWidget.addItem(QListWidgetItem(
c556c7e7d7fe Continued with the QSS previewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3459
diff changeset
60 UI.PixmapCache.getIcon(iconName), labelText))
3459
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 def processEditor(self, editor=None):
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 """
3591
2f2a4a76dd22 Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3515
diff changeset
64 Public slot to process an editor's text.
3459
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 @param editor editor to be processed (Editor)
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 """
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 if editor is not None:
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 fn = editor.getFileName()
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 if fn:
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 extension = os.path.normcase(os.path.splitext(fn)[1][1:])
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 else:
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 extension = ""
7264
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
75 if (
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
76 extension in Preferences.getEditor(
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
77 "PreviewQssFileNameExtensions")
bedbe458d792 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
78 ):
3459
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 styleSheet = editor.text()
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 if styleSheet:
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 self.scrollAreaWidgetContents.setStyleSheet(styleSheet)
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 else:
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 self.scrollAreaWidgetContents.setStyleSheet("")
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 self.toolButton.menu().setStyleSheet(
275cb00c83e2 Continued adding QSS preview support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.scrollAreaWidgetContents.styleSheet())

eric ide

mercurial