mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-05-14 01:42:28 +12:00
Adds a custom style module to keep everything in one place
This commit is contained in:
parent
de425cd06a
commit
c3613f0687
|
@ -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)
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
166
manuskript/ui/style.py
Normal 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;
|
||||
}
|
||||
"""
|
Loading…
Reference in a new issue