eric7/UI/Previewers/PreviewerQSS.py

branch
eric7
changeset 8312
800c432b34c8
parent 8218
7c09585bd960
child 8318
962bce857696
equal deleted inserted replaced
8311:4e8b98454baa 8312:800c432b34c8
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2014 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a previewer widget for Qt style sheet files.
8 """
9
10 import os
11
12 from PyQt5.QtWidgets import (
13 QWidget, QMenu, QLabel, QHeaderView, QListWidgetItem
14 )
15
16 from .Ui_PreviewerQSS import Ui_PreviewerQSS
17
18 import Preferences
19 import UI.PixmapCache
20
21
22 class PreviewerQSS(QWidget, Ui_PreviewerQSS):
23 """
24 Class implementing a previewer widget for Qt style sheet files.
25 """
26 def __init__(self, parent=None):
27 """
28 Constructor
29
30 @param parent reference to the parent widget (QWidget)
31 """
32 super().__init__(parent)
33 self.setupUi(self)
34
35 # menu for the tool button
36 self.__toolButtonMenu = QMenu(self)
37 self.__toolButtonMenu.addAction(self.tr("Action 1"))
38 self.__toolButtonMenu.addSeparator()
39 self.__toolButtonMenu.addAction(self.tr("Action 2"))
40 self.toolButton.setMenu(self.__toolButtonMenu)
41
42 # a MDI window
43 self.__mdi = self.mdiArea.addSubWindow(QLabel(self.tr("MDI")))
44 self.__mdi.resize(160, 80)
45
46 # tree and table widgets
47 self.tree.header().setSectionResizeMode(
48 QHeaderView.ResizeMode.ResizeToContents)
49 self.table.horizontalHeader().setSectionResizeMode(
50 QHeaderView.ResizeMode.ResizeToContents)
51 self.tree.topLevelItem(0).setExpanded(True)
52
53 # icon list widget
54 for iconName, labelText in (
55 ("filePython", self.tr("Python")),
56 ("fileRuby", self.tr("Ruby")),
57 ("fileJavascript", self.tr("JavaScript")),
58 ):
59 self.iconsListWidget.addItem(QListWidgetItem(
60 UI.PixmapCache.getIcon(iconName), labelText))
61
62 def processEditor(self, editor=None):
63 """
64 Public slot to process an editor's text.
65
66 @param editor editor to be processed (Editor)
67 """
68 if editor is not None:
69 fn = editor.getFileName()
70
71 if fn:
72 extension = os.path.normcase(os.path.splitext(fn)[1][1:])
73 else:
74 extension = ""
75 if (
76 extension in Preferences.getEditor(
77 "PreviewQssFileNameExtensions")
78 ):
79 styleSheet = editor.text()
80 if styleSheet:
81 self.scrollAreaWidgetContents.setStyleSheet(styleSheet)
82 else:
83 self.scrollAreaWidgetContents.setStyleSheet("")
84 self.toolButton.menu().setStyleSheet(
85 self.scrollAreaWidgetContents.styleSheet())

eric ide

mercurial