UI/Previewers/PreviewerQSS.py

branch
Py2 comp.
changeset 3515
1b8381afe38f
parent 3488
6d977dc657d3
child 3591
2f2a4a76dd22
equal deleted inserted replaced
3506:d85fadb263a0 3515:1b8381afe38f
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2014 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 PyQt4.QtCore import qVersion
15 from PyQt4.QtGui import QWidget, QMenu, QLabel, QHeaderView, QListWidgetItem
16
17 from .Ui_PreviewerQSS import Ui_PreviewerQSS
18
19 import Preferences
20 import UI.PixmapCache
21
22
23 class PreviewerQSS(QWidget, Ui_PreviewerQSS):
24 """
25 Class implementing a previewer widget for Qt style sheet files.
26 """
27 def __init__(self, parent=None):
28 """
29 Constructor
30
31 @param parent reference to the parent widget (QWidget)
32 """
33 super(PreviewerQSS, self).__init__(parent)
34 self.setupUi(self)
35
36 # menu for the tool button
37 self.__toolButtonMenu = QMenu(self)
38 self.__toolButtonMenu.addAction(self.tr("Action 1"))
39 self.__toolButtonMenu.addSeparator()
40 self.__toolButtonMenu.addAction(self.tr("Action 2"))
41 self.toolButton.setMenu(self.__toolButtonMenu)
42
43 # a MDI window
44 self.__mdi = self.mdiArea.addSubWindow(QLabel(self.tr("MDI")))
45 self.__mdi.resize(160, 80)
46
47 # tree and table widgets
48 if qVersion() >= "5.0.0":
49 self.tree.header().setSectionResizeMode(
50 QHeaderView.ResizeToContents)
51 self.table.horizontalHeader().setSectionResizeMode(
52 QHeaderView.ResizeToContents)
53 else:
54 self.tree.header().setResizeMode(
55 QHeaderView.ResizeToContents)
56 self.table.horizontalHeader().setResizeMode(
57 QHeaderView.ResizeToContents)
58 self.tree.topLevelItem(0).setExpanded(True)
59
60 # icon list widget
61 for iconName, labelText in (
62 ("filePython.png", self.tr("Python")),
63 ("fileRuby.png", self.tr("Ruby")),
64 ("fileJavascript.png", self.tr("JavaScript")),
65 ):
66 self.iconsListWidget.addItem(QListWidgetItem(
67 UI.PixmapCache.getIcon(iconName), labelText))
68
69 def processEditor(self, editor=None):
70 """
71 Private slot to process an editor's text.
72
73 @param editor editor to be processed (Editor)
74 """
75 if editor is not None:
76 fn = editor.getFileName()
77
78 if fn:
79 extension = os.path.normcase(os.path.splitext(fn)[1][1:])
80 else:
81 extension = ""
82 if extension in \
83 Preferences.getEditor("PreviewQssFileNameExtensions"):
84 styleSheet = editor.text()
85 if styleSheet:
86 self.scrollAreaWidgetContents.setStyleSheet(styleSheet)
87 else:
88 self.scrollAreaWidgetContents.setStyleSheet("")
89 self.toolButton.menu().setStyleSheet(
90 self.scrollAreaWidgetContents.styleSheet())

eric ide

mercurial