eric6/UI/Previewers/PreviewerQSS.py

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

eric ide

mercurial