Adds a custom style module to keep everything in one place

This commit is contained in:
Olivier Keshavjee 2016-04-09 10:50:55 +02:00
parent de425cd06a
commit c3613f0687
5 changed files with 177 additions and 138 deletions

View file

@ -17,6 +17,7 @@ from manuskript.models.outlineModel import outlineModel
from manuskript.models.plotModel import plotModel
from manuskript.models.worldModel import worldModel
from manuskript.settingsWindow import settingsWindow
from manuskript.ui import style
from manuskript.ui.collapsibleDockWidgets import collapsibleDockWidgets
from manuskript.ui.compileDialog import compileDialog
from manuskript.ui.helpLabel import helpLabel
@ -756,40 +757,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def setupMoreUi(self):
self.setStyleSheet("""
QMenuBar#menubar{border:none;}
QToolButton{
background: none;
border: none;
}
QPushButton:flat:hover, QToolButton:hover{
border: 1px solid darkgray;
border-radius: 3px;
background: darkgray;
}
""")
# Custon palette?
p = qApp.palette()
c = p.color(p.Window)
# p.setColor(p.Base, c.lighter(115))
p.setColor(p.Base, QColor("#EEE"))
qApp.setPalette(p)
p = self.treeRedacOutline.palette()
c = p.color(p.Window)
# p.setBrush(p.Base, Qt.red) # That doesn't work, why?
# p.setBrush(p.Window, Qt.green)
# self.treeRedacOutline.setPalette(p)
# self.treeRedacOutline.setStyleSheet("background: {};".format(c.name()))
self.treeRedacOutline.setStyleSheet("""
QTreeView{
background: transparent;
margin-top: 30px;
}
""")
style.styleMainWindow(self)
# Tool bar on the right
self.toolbar = collapsibleDockWidgets(Qt.RightDockWidgetArea, self)

View file

@ -4,6 +4,8 @@ from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QToolBar, QDockWidget, QAction, QToolButton, QSizePolicy, QStylePainter, \
QStyleOptionButton, QStyle
from manuskript.ui import style
class collapsibleDockWidgets(QToolBar):
"""
@ -39,17 +41,7 @@ class collapsibleDockWidgets(QToolBar):
b.setDefaultAction(d.toggleViewAction())
# d.setStyleSheet("QDockWidget::title{background-color: red;}")
# d.setTitleBarWidget(QLabel(d.windowTitle()))
d.setStyleSheet("""
QDockWidget::title {
text-align: left; /* align the text to the left */
background: lightBlue;
padding: 5px;
}
QDockWidget::close-button, QDockWidget::float-button {
background: lightBlue;
}
""")
d.setStyleSheet(style.dockSS())
a = self.addWidget(b)
self._dockToButtonAction[d] = a
@ -59,16 +51,7 @@ class collapsibleDockWidgets(QToolBar):
self.otherWidgets = []
self.currentGroup = None
self.setStyleSheet("""
QToolBar{
background:transparent;
border: none;
spacing: 0px;
}
QToolBar:separator{
border: none;
}
""")
self.setStyleSheet(style.toolBarSS())
def _dockWidgets(self):
mw = self.parent()
@ -128,33 +111,7 @@ class verticalButton(QToolButton):
QToolButton.__init__(self, parent)
self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Minimum)
self.setStyleSheet("""
QToolButton{
border: none;
border-radius: 0px;
background: transparent;
margin: 0px;
padding: 3px;
}
/*QToolButton:checked{
border: 0px solid darkgray;
background: transparent;
color: darkblue;
}
QToolButton:hover{
border: 0px solid darkgray;
color: darkblue;
}*/
QToolButton:checked{
border: 0px solid darkgray;
background: #bbbbbb;
}
QToolButton:hover{
border: 0px solid darkgray;
background: #cccccc;
}
""")
self.setStyleSheet(style.verticalToolButtonSS())
def sizeHint(self):
return QToolButton.sizeHint(self).transposed()

View file

@ -4,6 +4,7 @@ from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QWidget, QFrame, QPushButton, QVBoxLayout, QSizePolicy, qApp
from manuskript.functions import lightBlue
from manuskript.ui import style
class collapsibleGroupBox2(QWidget):
@ -17,34 +18,7 @@ class collapsibleGroupBox2(QWidget):
self.vPolicy = None
# self.button.setStyleSheet("background-color: lightBlue;")
s1 = """
QPushButton{
background-color: #BBB;
border: none;
padding: 2px;
}
QPushButton:checked, QPushButton:hover{
font-style:italic;
background-color:lightBlue;
}"""
# p = qApp.palette()
# c = p.color(p.Window)
s2 = """
QPushButton{
background-color: transparent;
border: none;
border-top: 1px solid darkgray;
padding: 4px 0px;
font-weight: bold;
}
QPushButton:hover{
background-color:#cccccc;
}
"""
self.button.setStyleSheet(s2)
self.button.setStyleSheet(style.collapsibleGroupBoxButton())
def resizeEvent(self, event):
if not self.switched:

View file

@ -11,6 +11,7 @@ from PyQt5.QtWidgets import qApp
from manuskript import settings
from manuskript.enums import Outline
from manuskript.functions import AUC, mainWindow, drawProgress
from manuskript.ui import style
from manuskript.ui.editors.editorWidget import editorWidget
from manuskript.ui.editors.fullScreenEditor import fullScreenEditor
from manuskript.ui.editors.mainEditor_ui import Ui_mainEditor
@ -51,34 +52,7 @@ class mainEditor(QWidget, Ui_mainEditor):
self.showFullScreen, AUC)
self.tab.setDocumentMode(False)
self.tab.setStyleSheet("""
QTabWidget::pane{
margin-top: -1px;
border: 1px solid #999;
}
QTabWidget::tab-bar{
left:10px;
}
QTabBar{
background: transparent;
border-radius: 0;
border: 0px;
}
QTabBar::tab{
margin: 2px 0 0 0;
padding: 2px 9px;
border: 1px solid #999;
border-bottom: 0px;
margin-top: 3px;
}
QTabBar::tab:selected{
border: 1px solid #999;
background: white;
border-bottom: 0px;
margin-top: 0px;
}
""")
self.tab.setStyleSheet(style.mainEditorTabSS())
###############################################################################
# TABS

166
manuskript/ui/style.py Normal file
View file

@ -0,0 +1,166 @@
#!/usr/bin/env python
# --!-- coding: utf8 --!--
# default window color (linux):
from PyQt5.QtGui import QColor
from PyQt5.QtWidgets import qApp
window = "#d6d2d0" #"#eee"
bgHover = "#ccc"
bgChecked = "#bbb"
borderColor = "darkGray"
def mainWindowSS():
return """
QMenuBar#menubar{{border:none;}}
QToolButton{{
background: none;
border: none;
}}
QPushButton:flat:hover, QToolButton:hover{{
border: 1px solid {borderColor};
border-radius: 3px;
background: {bgHover};
}}
""".format(
bgHover=bgHover,
borderColor=borderColor
)
def styleMainWindow(mw):
mw.setStyleSheet(mainWindowSS())
# Custon palette?
qApp.setPalette(appPalette())
mw.treeRedacOutline.setStyleSheet("""
QTreeView{
background: transparent;
margin-top: 30px;
}""")
def appPalette():
p = qApp.palette()
c = p.color(p.Window)
# p.setColor(p.Window, QColor(window))
# p.setColor(p.Base, c.lighter(115))
# p.setColor(p.Base, QColor("#FFF"))
return p
def collapsibleGroupBoxButton():
s1 = """
QPushButton{
background-color: #BBB;
border: none;
padding: 2px;
}
QPushButton:checked, QPushButton:hover{
font-style:italic;
background-color:lightBlue;
}"""
s2 = """
QPushButton{{
background-color: transparent;
border: none;
border-top: 1px solid {bgChecked};
padding: 4px 0px;
font-weight: bold;
}}
QPushButton:hover{{
background-color:{bgHover};
}}
""".format(
bgHover=bgHover,
bgChecked=bgChecked
)
return s2
def mainEditorTabSS():
return """
QTabWidget::pane{
margin-top: -1px;
border: 1px solid #999;
}
QTabWidget::tab-bar{
left:10px;
}
QTabBar{
background: transparent;
border-radius: 0;
border: 0px;
}
QTabBar::tab{
margin: 2px 0 0 0;
padding: 2px 9px;
border: 1px solid #999;
border-bottom: 0px;
margin-top: 3px;
}
QTabBar::tab:selected{
border: 1px solid #999;
background: white;
border-bottom: 0px;
margin-top: 0px;
}
QTabBar::tab:!selected:hover{
background:#ddd;
}
"""
def toolBarSS():
return """
QToolBar{
background:transparent;
border: 0;
border-left: 1px solid darkgray;
spacing: 0px;
}
QToolBar:separator{
border: none;
}
"""
def verticalToolButtonSS():
return """
QToolButton{{
border: none;
border-radius: 0px;
background: transparent;
margin: 0px;
padding: 4px 8px;
}}
QToolButton:checked{{
border: 0px solid {borderColor};
background: {bgChecked};
}}
QToolButton:hover{{
border: 0px solid {borderColor};
background: {bgHover};
}}
""".format(
borderColor=borderColor,
bgChecked=bgChecked,
bgHover=bgHover
)
def dockSS():
return """
QDockWidget::title {
text-align: left; /* align the text to the left */
background: lightBlue;
padding: 5px;
}
QDockWidget::close-button, QDockWidget::float-button {
background: lightBlue;
}
"""