├── icons
├── home.png
├── ._home.png
├── browse.png
├── check.png
├── ._browse.png
├── ._check.png
├── ._setting.png
├── ._youtube.png
├── download.png
├── setting.png
├── youtube.png
├── ._download.png
├── ._home_youtube.png
├── home_download.png
├── home_settings.png
├── home_youtube.png
├── ._home_download.png
└── ._home_settings.png
├── testData.txt
├── .idea
├── modules.xml
├── misc.xml
├── Download-Udemy.iml
└── workspace.xml
├── photo.qrc
├── README.md
├── .gitignore
├── index.py
├── main.py
├── themes
├── darkorange.css
├── darkblu.css
├── qdarkgray.css
└── qdark.css
└── main.ui
/icons/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/home.png
--------------------------------------------------------------------------------
/icons/._home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/._home.png
--------------------------------------------------------------------------------
/icons/browse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/browse.png
--------------------------------------------------------------------------------
/icons/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/check.png
--------------------------------------------------------------------------------
/icons/._browse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/._browse.png
--------------------------------------------------------------------------------
/icons/._check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/._check.png
--------------------------------------------------------------------------------
/icons/._setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/._setting.png
--------------------------------------------------------------------------------
/icons/._youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/._youtube.png
--------------------------------------------------------------------------------
/icons/download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/download.png
--------------------------------------------------------------------------------
/icons/setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/setting.png
--------------------------------------------------------------------------------
/icons/youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/youtube.png
--------------------------------------------------------------------------------
/icons/._download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/._download.png
--------------------------------------------------------------------------------
/testData.txt:
--------------------------------------------------------------------------------
1 | https://download.sublimetext.com/Sublime%20Text%20Build%203176.dmg
2 |
3 |
4 | /Users/macbook/Desktop
--------------------------------------------------------------------------------
/icons/._home_youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/._home_youtube.png
--------------------------------------------------------------------------------
/icons/home_download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/home_download.png
--------------------------------------------------------------------------------
/icons/home_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/home_settings.png
--------------------------------------------------------------------------------
/icons/home_youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/home_youtube.png
--------------------------------------------------------------------------------
/icons/._home_download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/._home_download.png
--------------------------------------------------------------------------------
/icons/._home_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Pythondeveloper6/PyQt5-Download-Manager/HEAD/icons/._home_settings.png
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/photo.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | icons/browse.png
5 | icons/check.png
6 | icons/home.png
7 | icons/youtube.png
8 | icons/setting.png
9 | icons/download.png
10 | icons/home_download.png
11 | icons/home_settings.png
12 | icons/home_youtube.png
13 |
14 |
--------------------------------------------------------------------------------
/.idea/Download-Udemy.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PyQt5-Download-Manager
2 | PyQt5 simple files , youtube videos and youtube playlist downloader
3 |
4 |
5 | --------------------------------------------------------------------------
6 | > ### Project Files :
7 | - index.py : the main project file , use it to run the project
8 | - main.py : this is the UI file converted to python code
9 | - main.ui : the UI file , you can edit it in the QtDesigner
10 | - photo.qrc : the qresource file which contains the icons paths
11 | - photo_rc.py : the icons files converted to python code
12 |
13 |
14 | -----------------------------------------------------------------
15 | > ### How To Run The Code :
16 | first you have to make sure that you have python3 and PyQt5 installed
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | pip-wheel-metadata/
24 | share/python-wheels/
25 | *.egg-info/
26 | .installed.cfg
27 | *.egg
28 | MANIFEST
29 |
30 | # PyInstaller
31 | # Usually these files are written by a python script from a template
32 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
33 | *.manifest
34 | *.spec
35 |
36 | # Installer logs
37 | pip-log.txt
38 | pip-delete-this-directory.txt
39 |
40 | # Unit test / coverage reports
41 | htmlcov/
42 | .tox/
43 | .nox/
44 | .coverage
45 | .coverage.*
46 | .cache
47 | nosetests.xml
48 | coverage.xml
49 | *.cover
50 | *.py,cover
51 | .hypothesis/
52 | .pytest_cache/
53 |
54 | # Translations
55 | *.mo
56 | *.pot
57 |
58 | # Django stuff:
59 | *.log
60 | local_settings.py
61 | db.sqlite3
62 | db.sqlite3-journal
63 |
64 | # Flask stuff:
65 | instance/
66 | .webassets-cache
67 |
68 | # Scrapy stuff:
69 | .scrapy
70 |
71 | # Sphinx documentation
72 | docs/_build/
73 |
74 | # PyBuilder
75 | target/
76 |
77 | # Jupyter Notebook
78 | .ipynb_checkpoints
79 |
80 | # IPython
81 | profile_default/
82 | ipython_config.py
83 |
84 | # pyenv
85 | .python-version
86 |
87 | # pipenv
88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
91 | # install all needed dependencies.
92 | #Pipfile.lock
93 |
94 | # celery beat schedule file
95 | celerybeat-schedule
96 |
97 | # SageMath parsed files
98 | *.sage.py
99 |
100 | # Environments
101 | .env
102 | .venv
103 | env/
104 | venv/
105 | ENV/
106 | env.bak/
107 | venv.bak/
108 |
109 | # Spyder project settings
110 | .spyderproject
111 | .spyproject
112 |
113 | # Rope project settings
114 | .ropeproject
115 |
116 | # mkdocs documentation
117 | /site
118 |
119 | # mypy
120 | .mypy_cache/
121 | .dmypy.json
122 | dmypy.json
123 |
124 | # Pyre type checker
125 | .pyre/
--------------------------------------------------------------------------------
/index.py:
--------------------------------------------------------------------------------
1 | from PyQt5.QtGui import *
2 | from PyQt5.QtCore import *
3 | from PyQt5.QtWidgets import *
4 | import sys
5 |
6 | from PyQt5.uic import loadUiType
7 | import urllib.request
8 | #import pafy
9 | #import humanize
10 |
11 | import os
12 | from os import path
13 |
14 |
15 | ui,_ = loadUiType('main.ui')
16 |
17 | class MainApp(QMainWindow , ui):
18 | def __init__(self , parent=None):
19 | super(MainApp , self).__init__(parent)
20 | QMainWindow.__init__(self)
21 | self.setupUi(self)
22 | self.InitUI()
23 | self.Handel_Buttons()
24 |
25 |
26 | def InitUI(self):
27 | ## contain all ui changes in loading
28 | self.tabWidget.tabBar().setVisible(False)
29 | self.Apply_DarkOrange_Style()
30 |
31 | self.Move_Box_1()
32 | self.Move_Box_2()
33 | self.Move_Box_3()
34 | self.Move_Box_4()
35 |
36 |
37 | def Handel_Buttons(self):
38 | ## handel all buttons in the app
39 | self.pushButton.clicked.connect(self.Download)
40 | self.pushButton_2.clicked.connect(self.Handel_Browse)
41 |
42 | self.pushButton_5.clicked.connect(self.Get_Video_Data)
43 | self.pushButton_4.clicked.connect(self.Download_Video)
44 | self.pushButton_3.clicked.connect(self.Save_Browse)
45 |
46 | self.pushButton_7.clicked.connect(self.Playlist_Download)
47 | self.pushButton_6.clicked.connect(self.Playlist_Save_Browse)
48 |
49 | self.pushButton_8.clicked.connect(self.Open_Home)
50 | self.pushButton_9.clicked.connect(self.Open_Download)
51 | self.pushButton_11.clicked.connect(self.Open_Youtube)
52 | self.pushButton_10.clicked.connect(self.Open_Settings)
53 |
54 |
55 | self.pushButton_12.clicked.connect(self.Apply_DarkOrange_Style)
56 | self.pushButton_13.clicked.connect(self.Apply_DarkGray_Style)
57 | self.pushButton_14.clicked.connect(self.Apply_QDark_Style)
58 | self.pushButton_15.clicked.connect(self.Apply_QDarkBlue_Style)
59 |
60 | def Handel_Progress(self , blocknum , blocksize , totalsize):
61 | ## calculate the progress
62 | readed_data = blocknum * blocksize
63 |
64 | if totalsize > 0 :
65 | download_percentage = readed_data * 100 / totalsize
66 | self.progressBar.setValue(download_percentage)
67 | QApplication.processEvents()
68 |
69 |
70 |
71 |
72 | def Handel_Browse(self):
73 | ## enable browseing to our os , pick save location
74 | save_location = QFileDialog.getSaveFileName(self , caption="Save as" , directory="." , filter="All Files(*.*)")
75 | print(save_location)
76 | self.lineEdit_2.setText(str(save_location[0]))
77 |
78 |
79 |
80 | def Download(self):
81 | ## downloading any file
82 | print('Start Download')
83 |
84 | download_url = self.lineEdit.text()
85 | save_location = self.lineEdit_2.text()
86 |
87 | if download_url == '' or save_location == '':
88 | QMessageBox.warning(self , "Data Error" , "Provide a valid URL or save location")
89 | else:
90 |
91 | try:
92 | urllib.request.urlretrieve(download_url , save_location , self.Handel_Progress)
93 |
94 | except Exception:
95 | QMessageBox.warning(self, "Download Error", "Provide a valid URL or save location")
96 | return
97 |
98 |
99 | QMessageBox.information(self , "Download Completed" , "The Download Completed Successfully ")
100 |
101 | self.lineEdit.setText('')
102 | self.lineEdit_2.setText('')
103 | self.progressBar.setValue(0)
104 |
105 |
106 | def Save_Browse(self):
107 | ## save location in the line edit
108 | pass
109 |
110 |
111 | ##############################################
112 | ######## Download Youtube Single Video
113 | def Save_Browse(self):
114 | ## save location in the line edit
115 | save_location = QFileDialog.getSaveFileName(self , caption="Save as" , directory="." , filter="All Files(*.*)")
116 |
117 |
118 | self.lineEdit_4.setText(str(save_location[0]))
119 |
120 |
121 | def Get_Video_Data(self):
122 |
123 | video_url = self.lineEdit_3.text()
124 | print(video_url)
125 |
126 | if video_url == '' :
127 | QMessageBox.warning(self, "Data Error", "Provide a valid Video URL")
128 |
129 | else:
130 | video = pafy.new(video_url)
131 | print(video.title)
132 | print(video.duration)
133 | print(video.author)
134 | print(video.length)
135 | print(video.viewcount)
136 | print(video.likes)
137 | print(video.dislikes)
138 |
139 | video_streams = video.videostreams
140 | for stream in video_streams :
141 | print(stream.get_filesize())
142 | size = humanize.naturalsize(stream.get_filesize())
143 | data = "{} {} {} {}".format(stream.mediatype , stream.extension , stream.quality , size)
144 | self.comboBox.addItem(data)
145 |
146 |
147 |
148 | def Download_Video(self):
149 | video_url = self.lineEdit_3.text()
150 | save_location = self.lineEdit_4.text()
151 |
152 | if video_url == '' or save_location == '':
153 | QMessageBox.warning(self, "Data Error", "Provide a valid Video URL or save location")
154 |
155 | else:
156 | video = pafy.new(video_url)
157 | video_stream = video.videostreams
158 | video_quality = self.comboBox.currentIndex()
159 | download = video_stream[video_quality].download(filepath=save_location , callback=self.Video_Progress)
160 |
161 |
162 |
163 | def Video_Progress(self , total , received , ratio , rate , time):
164 | read_data = received
165 | if total > 0 :
166 | download_percentage = read_data * 100 / total
167 | self.progressBar_2.setValue(download_percentage)
168 | remaining_time = round(time/60 , 2)
169 |
170 | self.label_5.setText(str('{} minutes remaining'.format(remaining_time)))
171 | QApplication.processEvents()
172 |
173 |
174 |
175 | ################################################
176 | ######### Youtube Playlist Download
177 |
178 | def Playlist_Download(self):
179 | playlist_url = self.lineEdit_5.text()
180 | save_location = self.lineEdit_6.text()
181 |
182 | if playlist_url == '' or save_location == '' :
183 | QMessageBox.warning(self, "Data Error", "Provide a valid Playlist URL or save location")
184 |
185 | else:
186 | playlist = pafy.get_playlist(playlist_url)
187 | playlist_videos = playlist['items']
188 |
189 | self.lcdNumber_2.display(len(playlist_videos))
190 |
191 |
192 | os.chdir(save_location)
193 | if os.path.exists(str(playlist['title'])):
194 | os.chdir(str(playlist['title']))
195 |
196 | else:
197 | os.mkdir(str(playlist['title']))
198 | os.chdir(str(playlist['title']))
199 |
200 | current_video_in_download = 1
201 | quality = self.comboBox_2.currentIndex()
202 |
203 |
204 | QApplication.processEvents()
205 |
206 | for video in playlist_videos :
207 | current_video = video['pafy']
208 | current_video_stream = current_video.videostreams
209 | self.lcdNumber.display(current_video_in_download)
210 | download = current_video_stream[quality].download(callback=self.Playlist_Progress)
211 | QApplication.processEvents()
212 |
213 | current_video_in_download +=1
214 |
215 |
216 |
217 |
218 | def Playlist_Progress(self , total , received , ratio , rate , time):
219 | read_data = received
220 | if total > 0 :
221 | download_percentage = read_data * 100 / total
222 | self.progressBar_3.setValue(download_percentage)
223 | remaining_time = round(time/60 , 2)
224 |
225 | self.label_6.setText(str('{} minutes remaining'.format(remaining_time)))
226 | QApplication.processEvents()
227 |
228 |
229 | def Playlist_Save_Browse(self):
230 | playlist_save_location = QFileDialog.getExistingDirectory(self , "Select Download Directory")
231 | self.lineEdit_6.setText(playlist_save_location)
232 |
233 | ################################################
234 | ###### UI CHanges Methods
235 | def Open_Home(self):
236 | self.tabWidget.setCurrentIndex(0)
237 |
238 | def Open_Download(self):
239 | self.tabWidget.setCurrentIndex(1)
240 |
241 | def Open_Youtube(self):
242 | self.tabWidget.setCurrentIndex(2)
243 |
244 |
245 | def Open_Settings(self):
246 | self.tabWidget.setCurrentIndex(3)
247 |
248 |
249 | ################################################
250 | ###### App Themes ####
251 |
252 | def Apply_DarkOrange_Style(self):
253 | style = open('themes/darkorange.css' , 'r')
254 | style = style.read()
255 | self.setStyleSheet(style)
256 |
257 |
258 | def Apply_QDark_Style(self):
259 | style = open('themes/qdark.css' , 'r')
260 | style = style.read()
261 | self.setStyleSheet(style)
262 |
263 |
264 | def Apply_DarkGray_Style(self):
265 | style = open('themes/qdarkgray.css' , 'r')
266 | style = style.read()
267 | self.setStyleSheet(style)
268 |
269 | def Apply_QDarkBlue_Style(self):
270 | style = open('themes/darkblu.css' , 'r')
271 | style = style.read()
272 | self.setStyleSheet(style)
273 |
274 |
275 | ##########################################
276 | ####### App Animation
277 |
278 | def Move_Box_1(self):
279 | box_animation1 = QPropertyAnimation(self.groupBox , b"geometry")
280 | box_animation1.setDuration(2500)
281 | box_animation1.setStartValue(QRect(0,0,0,0))
282 | box_animation1.setEndValue(QRect(60,40,281,141))
283 | box_animation1.start()
284 | self.box_animation1 = box_animation1
285 |
286 |
287 | def Move_Box_2(self):
288 | box_animation2 = QPropertyAnimation(self.groupBox_2 , b"geometry")
289 | box_animation2.setDuration(2500)
290 | box_animation2.setStartValue(QRect(0,0,0,0))
291 | box_animation2.setEndValue(QRect(380,40,281,141))
292 | box_animation2.start()
293 | self.box_animation2 = box_animation2
294 |
295 |
296 | def Move_Box_3(self):
297 | box_animation3 = QPropertyAnimation(self.groupBox_3 , b"geometry")
298 | box_animation3.setDuration(2500)
299 | box_animation3.setStartValue(QRect(0,0,0,0))
300 | box_animation3.setEndValue(QRect(60,210,281,141))
301 | box_animation3.start()
302 | self.box_animation3 = box_animation3
303 |
304 |
305 | def Move_Box_4(self):
306 | box_animation4 = QPropertyAnimation(self.groupBox_4 , b"geometry")
307 | box_animation4.setDuration(2500)
308 | box_animation4.setStartValue(QRect(0,0,0,0))
309 | box_animation4.setEndValue(QRect(380,210,281,141))
310 | box_animation4.start()
311 | self.box_animation4 = box_animation4
312 |
313 |
314 | def main():
315 | app = QApplication(sys.argv)
316 | window = MainApp()
317 | window.show()
318 | app.exec_()
319 |
320 | if __name__ == '__main__':
321 | main()
--------------------------------------------------------------------------------
/main.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | # Form implementation generated from reading ui file 'main.ui'
4 | #
5 | # Created by: PyQt5 UI code generator 5.9.2
6 | #
7 | # WARNING! All changes made in this file will be lost!
8 |
9 | from PyQt5 import QtCore, QtGui, QtWidgets
10 |
11 | class Ui_MainWindow(object):
12 | def setupUi(self, MainWindow):
13 | MainWindow.setObjectName("MainWindow")
14 | MainWindow.resize(752, 391)
15 | icon = QtGui.QIcon()
16 | icon.addPixmap(QtGui.QPixmap(":/icons/check.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
17 | MainWindow.setWindowIcon(icon)
18 | self.centralwidget = QtWidgets.QWidget(MainWindow)
19 | self.centralwidget.setObjectName("centralwidget")
20 | self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
21 | self.tabWidget.setGeometry(QtCore.QRect(0, 0, 751, 341))
22 | self.tabWidget.setObjectName("tabWidget")
23 | self.tab = QtWidgets.QWidget()
24 | self.tab.setObjectName("tab")
25 | self.pushButton = QtWidgets.QPushButton(self.tab)
26 | self.pushButton.setGeometry(QtCore.QRect(310, 221, 131, 51))
27 | font = QtGui.QFont()
28 | font.setFamily("Euphemia UCAS")
29 | font.setPointSize(16)
30 | self.pushButton.setFont(font)
31 | self.pushButton.setObjectName("pushButton")
32 | self.lineEdit = QtWidgets.QLineEdit(self.tab)
33 | self.lineEdit.setGeometry(QtCore.QRect(130, 60, 521, 31))
34 | font = QtGui.QFont()
35 | font.setFamily("Euphemia UCAS")
36 | font.setPointSize(15)
37 | self.lineEdit.setFont(font)
38 | self.lineEdit.setObjectName("lineEdit")
39 | self.lineEdit_2 = QtWidgets.QLineEdit(self.tab)
40 | self.lineEdit_2.setGeometry(QtCore.QRect(130, 100, 471, 31))
41 | font = QtGui.QFont()
42 | font.setFamily("Euphemia UCAS")
43 | font.setPointSize(15)
44 | self.lineEdit_2.setFont(font)
45 | self.lineEdit_2.setObjectName("lineEdit_2")
46 | self.pushButton_2 = QtWidgets.QPushButton(self.tab)
47 | self.pushButton_2.setGeometry(QtCore.QRect(600, 100, 51, 41))
48 | self.pushButton_2.setText("")
49 | icon1 = QtGui.QIcon()
50 | icon1.addPixmap(QtGui.QPixmap(":/icons/browse.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
51 | self.pushButton_2.setIcon(icon1)
52 | self.pushButton_2.setIconSize(QtCore.QSize(33, 33))
53 | self.pushButton_2.setObjectName("pushButton_2")
54 | self.progressBar = QtWidgets.QProgressBar(self.tab)
55 | self.progressBar.setGeometry(QtCore.QRect(130, 160, 521, 23))
56 | self.progressBar.setProperty("value", 0)
57 | self.progressBar.setObjectName("progressBar")
58 | self.tabWidget.addTab(self.tab, "")
59 | self.tab_2 = QtWidgets.QWidget()
60 | self.tab_2.setObjectName("tab_2")
61 | self.tabWidget_2 = QtWidgets.QTabWidget(self.tab_2)
62 | self.tabWidget_2.setGeometry(QtCore.QRect(10, 0, 731, 311))
63 | self.tabWidget_2.setObjectName("tabWidget_2")
64 | self.tab_3 = QtWidgets.QWidget()
65 | self.tab_3.setObjectName("tab_3")
66 | self.lineEdit_3 = QtWidgets.QLineEdit(self.tab_3)
67 | self.lineEdit_3.setGeometry(QtCore.QRect(110, 20, 451, 41))
68 | font = QtGui.QFont()
69 | font.setFamily("Euphemia UCAS")
70 | font.setPointSize(15)
71 | self.lineEdit_3.setFont(font)
72 | self.lineEdit_3.setObjectName("lineEdit_3")
73 | self.lineEdit_4 = QtWidgets.QLineEdit(self.tab_3)
74 | self.lineEdit_4.setGeometry(QtCore.QRect(110, 70, 451, 41))
75 | font = QtGui.QFont()
76 | font.setFamily("Euphemia UCAS")
77 | font.setPointSize(15)
78 | self.lineEdit_4.setFont(font)
79 | self.lineEdit_4.setObjectName("lineEdit_4")
80 | self.pushButton_3 = QtWidgets.QPushButton(self.tab_3)
81 | self.pushButton_3.setGeometry(QtCore.QRect(560, 70, 61, 51))
82 | self.pushButton_3.setText("")
83 | self.pushButton_3.setIcon(icon1)
84 | self.pushButton_3.setIconSize(QtCore.QSize(33, 33))
85 | self.pushButton_3.setObjectName("pushButton_3")
86 | self.progressBar_2 = QtWidgets.QProgressBar(self.tab_3)
87 | self.progressBar_2.setGeometry(QtCore.QRect(130, 170, 491, 23))
88 | self.progressBar_2.setProperty("value", 0)
89 | self.progressBar_2.setObjectName("progressBar_2")
90 | self.pushButton_4 = QtWidgets.QPushButton(self.tab_3)
91 | self.pushButton_4.setGeometry(QtCore.QRect(260, 220, 211, 32))
92 | font = QtGui.QFont()
93 | font.setFamily("Euphemia UCAS")
94 | self.pushButton_4.setFont(font)
95 | self.pushButton_4.setObjectName("pushButton_4")
96 | self.label = QtWidgets.QLabel(self.tab_3)
97 | self.label.setGeometry(QtCore.QRect(160, 130, 131, 31))
98 | font = QtGui.QFont()
99 | font.setFamily("Euphemia UCAS")
100 | self.label.setFont(font)
101 | self.label.setObjectName("label")
102 | self.comboBox = QtWidgets.QComboBox(self.tab_3)
103 | self.comboBox.setGeometry(QtCore.QRect(290, 130, 281, 41))
104 | self.comboBox.setObjectName("comboBox")
105 | self.pushButton_5 = QtWidgets.QPushButton(self.tab_3)
106 | self.pushButton_5.setGeometry(QtCore.QRect(560, 20, 61, 51))
107 | self.pushButton_5.setText("")
108 | self.pushButton_5.setIcon(icon)
109 | self.pushButton_5.setIconSize(QtCore.QSize(33, 33))
110 | self.pushButton_5.setObjectName("pushButton_5")
111 | self.tabWidget_2.addTab(self.tab_3, "")
112 | self.tab_4 = QtWidgets.QWidget()
113 | self.tab_4.setObjectName("tab_4")
114 | self.lineEdit_5 = QtWidgets.QLineEdit(self.tab_4)
115 | self.lineEdit_5.setGeometry(QtCore.QRect(120, 20, 501, 31))
116 | font = QtGui.QFont()
117 | font.setFamily("Euphemia UCAS")
118 | font.setPointSize(15)
119 | self.lineEdit_5.setFont(font)
120 | self.lineEdit_5.setObjectName("lineEdit_5")
121 | self.lineEdit_6 = QtWidgets.QLineEdit(self.tab_4)
122 | self.lineEdit_6.setGeometry(QtCore.QRect(120, 60, 451, 31))
123 | font = QtGui.QFont()
124 | font.setFamily("Euphemia UCAS")
125 | font.setPointSize(15)
126 | self.lineEdit_6.setFont(font)
127 | self.lineEdit_6.setObjectName("lineEdit_6")
128 | self.pushButton_6 = QtWidgets.QPushButton(self.tab_4)
129 | self.pushButton_6.setGeometry(QtCore.QRect(570, 60, 51, 41))
130 | self.pushButton_6.setText("")
131 | self.pushButton_6.setIcon(icon1)
132 | self.pushButton_6.setIconSize(QtCore.QSize(33, 33))
133 | self.pushButton_6.setObjectName("pushButton_6")
134 | self.progressBar_3 = QtWidgets.QProgressBar(self.tab_4)
135 | self.progressBar_3.setGeometry(QtCore.QRect(120, 200, 511, 23))
136 | self.progressBar_3.setProperty("value", 0)
137 | self.progressBar_3.setObjectName("progressBar_3")
138 | self.label_2 = QtWidgets.QLabel(self.tab_4)
139 | self.label_2.setGeometry(QtCore.QRect(140, 110, 131, 21))
140 | font = QtGui.QFont()
141 | font.setFamily("Euphemia UCAS")
142 | font.setPointSize(15)
143 | self.label_2.setFont(font)
144 | self.label_2.setObjectName("label_2")
145 | self.comboBox_2 = QtWidgets.QComboBox(self.tab_4)
146 | self.comboBox_2.setGeometry(QtCore.QRect(320, 110, 211, 26))
147 | self.comboBox_2.setObjectName("comboBox_2")
148 | self.pushButton_7 = QtWidgets.QPushButton(self.tab_4)
149 | self.pushButton_7.setGeometry(QtCore.QRect(270, 240, 201, 32))
150 | font = QtGui.QFont()
151 | font.setFamily("Euphemia UCAS")
152 | font.setPointSize(15)
153 | self.pushButton_7.setFont(font)
154 | self.pushButton_7.setObjectName("pushButton_7")
155 | self.label_3 = QtWidgets.QLabel(self.tab_4)
156 | self.label_3.setGeometry(QtCore.QRect(120, 160, 131, 16))
157 | font = QtGui.QFont()
158 | font.setFamily("Euphemia UCAS")
159 | font.setPointSize(15)
160 | self.label_3.setFont(font)
161 | self.label_3.setObjectName("label_3")
162 | self.label_4 = QtWidgets.QLabel(self.tab_4)
163 | self.label_4.setGeometry(QtCore.QRect(330, 160, 161, 21))
164 | font = QtGui.QFont()
165 | font.setFamily("Euphemia UCAS")
166 | font.setPointSize(15)
167 | self.label_4.setFont(font)
168 | self.label_4.setObjectName("label_4")
169 | self.lcdNumber = QtWidgets.QLCDNumber(self.tab_4)
170 | self.lcdNumber.setGeometry(QtCore.QRect(260, 160, 41, 21))
171 | self.lcdNumber.setObjectName("lcdNumber")
172 | self.lcdNumber_2 = QtWidgets.QLCDNumber(self.tab_4)
173 | self.lcdNumber_2.setGeometry(QtCore.QRect(500, 160, 41, 21))
174 | self.lcdNumber_2.setObjectName("lcdNumber_2")
175 | self.tabWidget_2.addTab(self.tab_4, "")
176 | self.tabWidget.addTab(self.tab_2, "")
177 | MainWindow.setCentralWidget(self.centralwidget)
178 | self.menubar = QtWidgets.QMenuBar(MainWindow)
179 | self.menubar.setGeometry(QtCore.QRect(0, 0, 752, 22))
180 | self.menubar.setObjectName("menubar")
181 | MainWindow.setMenuBar(self.menubar)
182 | self.statusbar = QtWidgets.QStatusBar(MainWindow)
183 | self.statusbar.setObjectName("statusbar")
184 | MainWindow.setStatusBar(self.statusbar)
185 |
186 | self.retranslateUi(MainWindow)
187 | self.tabWidget.setCurrentIndex(0)
188 | self.tabWidget_2.setCurrentIndex(0)
189 | QtCore.QMetaObject.connectSlotsByName(MainWindow)
190 |
191 | def retranslateUi(self, MainWindow):
192 | _translate = QtCore.QCoreApplication.translate
193 | MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
194 | self.pushButton.setText(_translate("MainWindow", "Download"))
195 | self.lineEdit.setPlaceholderText(_translate("MainWindow", "Enter download link here"))
196 | self.lineEdit_2.setPlaceholderText(_translate("MainWindow", "use browse button to enter save location"))
197 | self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Tab 1"))
198 | self.lineEdit_3.setPlaceholderText(_translate("MainWindow", "Enter video URL"))
199 | self.lineEdit_4.setPlaceholderText(_translate("MainWindow", "User browse button for save location"))
200 | self.pushButton_4.setText(_translate("MainWindow", "Start Download"))
201 | self.label.setText(_translate("MainWindow", "Video Quality"))
202 | self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_3), _translate("MainWindow", "One Video"))
203 | self.lineEdit_5.setPlaceholderText(_translate("MainWindow", "Enter Playlist URL"))
204 | self.lineEdit_6.setPlaceholderText(_translate("MainWindow", "Use browse button to enter save location"))
205 | self.label_2.setText(_translate("MainWindow", "Video Quality"))
206 | self.pushButton_7.setText(_translate("MainWindow", "Start Download"))
207 | self.label_3.setText(_translate("MainWindow", "The Current Video :"))
208 | self.label_4.setText(_translate("MainWindow", "The Full Playlist Video : "))
209 | self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_4), _translate("MainWindow", "Full Playlist"))
210 | self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Tab 2"))
211 |
212 | import photo_rc
213 |
--------------------------------------------------------------------------------
/themes/darkorange.css:
--------------------------------------------------------------------------------
1 | QToolTip
2 | {
3 | border: 1px solid black;
4 | background-color: #ffa02f;
5 | padding: 1px;
6 | border-radius: 3px;
7 | opacity: 100;
8 | }
9 |
10 | QWidget
11 | {
12 | color: #b1b1b1;
13 | background-color: #323232;
14 | }
15 |
16 | QTreeView, QListView
17 | {
18 | background-color: silver;
19 | margin-left: 5px;
20 | }
21 |
22 | QWidget:item:hover
23 | {
24 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #ca0619);
25 | color: #000000;
26 | }
27 |
28 | QWidget:item:selected
29 | {
30 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a);
31 | }
32 |
33 | QMenuBar::item
34 | {
35 | background: transparent;
36 | }
37 |
38 | QMenuBar::item:selected
39 | {
40 | background: transparent;
41 | border: 1px solid #ffaa00;
42 | }
43 |
44 | QMenuBar::item:pressed
45 | {
46 | background: #444;
47 | border: 1px solid #000;
48 | background-color: QLinearGradient(
49 | x1:0, y1:0,
50 | x2:0, y2:1,
51 | stop:1 #212121,
52 | stop:0.4 #343434/*,
53 | stop:0.2 #343434,
54 | stop:0.1 #ffaa00*/
55 | );
56 | margin-bottom:-1px;
57 | padding-bottom:1px;
58 | }
59 |
60 | QMenu
61 | {
62 | border: 1px solid #000;
63 | }
64 |
65 | QMenu::item
66 | {
67 | padding: 2px 20px 2px 20px;
68 | }
69 |
70 | QMenu::item:selected
71 | {
72 | color: #000000;
73 | }
74 |
75 | QWidget:disabled
76 | {
77 | color: #808080;
78 | background-color: #323232;
79 | }
80 |
81 | QAbstractItemView
82 | {
83 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #4d4d4d, stop: 0.1 #646464, stop: 1 #5d5d5d);
84 | }
85 |
86 | QWidget:focus
87 | {
88 | /*border: 1px solid darkgray;*/
89 | }
90 |
91 | QLineEdit
92 | {
93 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #4d4d4d, stop: 0 #646464, stop: 1 #5d5d5d);
94 | padding: 1px;
95 | border-style: solid;
96 | border: 1px solid #1e1e1e;
97 | border-radius: 5;
98 | }
99 |
100 | QPushButton
101 | {
102 | color: #b1b1b1;
103 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #565656, stop: 0.1 #525252, stop: 0.5 #4e4e4e, stop: 0.9 #4a4a4a, stop: 1 #464646);
104 | border-width: 1px;
105 | border-color: #1e1e1e;
106 | border-style: solid;
107 | border-radius: 6;
108 | padding: 3px;
109 | font-size: 12px;
110 | padding-left: 5px;
111 | padding-right: 5px;
112 | min-width: 40px;
113 | }
114 |
115 | QPushButton:pressed
116 | {
117 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #2d2d2d, stop: 0.1 #2b2b2b, stop: 0.5 #292929, stop: 0.9 #282828, stop: 1 #252525);
118 | }
119 |
120 | QComboBox
121 | {
122 | selection-background-color: #ffaa00;
123 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #565656, stop: 0.1 #525252, stop: 0.5 #4e4e4e, stop: 0.9 #4a4a4a, stop: 1 #464646);
124 | border-style: solid;
125 | border: 1px solid #1e1e1e;
126 | border-radius: 5;
127 | }
128 |
129 | QComboBox:hover,QPushButton:hover
130 | {
131 | border: 2px solid QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a);
132 | }
133 |
134 |
135 | QComboBox:on
136 | {
137 | padding-top: 3px;
138 | padding-left: 4px;
139 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #2d2d2d, stop: 0.1 #2b2b2b, stop: 0.5 #292929, stop: 0.9 #282828, stop: 1 #252525);
140 | selection-background-color: #ffaa00;
141 | }
142 |
143 | QComboBox QAbstractItemView
144 | {
145 | border: 2px solid darkgray;
146 | selection-background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a);
147 | }
148 |
149 | QComboBox::drop-down
150 | {
151 | subcontrol-origin: padding;
152 | subcontrol-position: top right;
153 | width: 15px;
154 |
155 | border-left-width: 0px;
156 | border-left-color: darkgray;
157 | border-left-style: solid; /* just a single line */
158 | border-top-right-radius: 3px; /* same radius as the QComboBox */
159 | border-bottom-right-radius: 3px;
160 | }
161 |
162 | QComboBox::down-arrow
163 | {
164 | image: url(:/dark_orange/img/down_arrow.png);
165 | }
166 |
167 | QGroupBox
168 | {
169 | border: 1px solid darkgray;
170 | margin-top: 10px;
171 | }
172 |
173 | QGroupBox:focus
174 | {
175 | border: 1px solid darkgray;
176 | }
177 |
178 | QTextEdit:focus
179 | {
180 | border: 1px solid darkgray;
181 | }
182 |
183 | QScrollBar:horizontal {
184 | border: 1px solid #222222;
185 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 #121212, stop: 0.2 #282828, stop: 1 #484848);
186 | height: 7px;
187 | margin: 0px 16px 0 16px;
188 | }
189 |
190 | QScrollBar::handle:horizontal
191 | {
192 | background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #ffa02f, stop: 0.5 #d7801a, stop: 1 #ffa02f);
193 | min-height: 20px;
194 | border-radius: 2px;
195 | }
196 |
197 | QScrollBar::add-line:horizontal {
198 | border: 1px solid #1b1b19;
199 | border-radius: 2px;
200 | background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #ffa02f, stop: 1 #d7801a);
201 | width: 14px;
202 | subcontrol-position: right;
203 | subcontrol-origin: margin;
204 | }
205 |
206 | QScrollBar::sub-line:horizontal {
207 | border: 1px solid #1b1b19;
208 | border-radius: 2px;
209 | background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #ffa02f, stop: 1 #d7801a);
210 | width: 14px;
211 | subcontrol-position: left;
212 | subcontrol-origin: margin;
213 | }
214 |
215 | QScrollBar::right-arrow:horizontal, QScrollBar::left-arrow:horizontal
216 | {
217 | border: 1px solid black;
218 | width: 1px;
219 | height: 1px;
220 | background: white;
221 | }
222 |
223 | QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal
224 | {
225 | background: none;
226 | }
227 |
228 | QScrollBar:vertical
229 | {
230 | background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0.0 #121212, stop: 0.2 #282828, stop: 1 #484848);
231 | width: 7px;
232 | margin: 16px 0 16px 0;
233 | border: 1px solid #222222;
234 | }
235 |
236 | QScrollBar::handle:vertical
237 | {
238 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 0.5 #d7801a, stop: 1 #ffa02f);
239 | min-height: 20px;
240 | border-radius: 2px;
241 | }
242 |
243 | QScrollBar::add-line:vertical
244 | {
245 | border: 1px solid #1b1b19;
246 | border-radius: 2px;
247 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a);
248 | height: 14px;
249 | subcontrol-position: bottom;
250 | subcontrol-origin: margin;
251 | }
252 |
253 | QScrollBar::sub-line:vertical
254 | {
255 | border: 1px solid #1b1b19;
256 | border-radius: 2px;
257 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #d7801a, stop: 1 #ffa02f);
258 | height: 14px;
259 | subcontrol-position: top;
260 | subcontrol-origin: margin;
261 | }
262 |
263 | QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical
264 | {
265 | border: 1px solid black;
266 | width: 1px;
267 | height: 1px;
268 | background: white;
269 | }
270 |
271 |
272 | QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical
273 | {
274 | background: none;
275 | }
276 |
277 | QTextEdit
278 | {
279 | background-color: #242424;
280 | }
281 |
282 | QPlainTextEdit
283 | {
284 | background-color: #242424;
285 | }
286 |
287 | QHeaderView::section
288 | {
289 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #616161, stop: 0.5 #505050, stop: 0.6 #434343, stop:1 #656565);
290 | color: white;
291 | padding-left: 4px;
292 | border: 1px solid #6c6c6c;
293 | }
294 |
295 | QCheckBox:disabled
296 | {
297 | color: #414141;
298 | }
299 |
300 | QDockWidget::title
301 | {
302 | text-align: center;
303 | spacing: 3px; /* spacing between items in the tool bar */
304 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #323232, stop: 0.5 #242424, stop:1 #323232);
305 | }
306 |
307 | QDockWidget::close-button, QDockWidget::float-button
308 | {
309 | text-align: center;
310 | spacing: 1px; /* spacing between items in the tool bar */
311 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #323232, stop: 0.5 #242424, stop:1 #323232);
312 | }
313 |
314 | QDockWidget::close-button:hover, QDockWidget::float-button:hover
315 | {
316 | background: #242424;
317 | }
318 |
319 | QDockWidget::close-button:pressed, QDockWidget::float-button:pressed
320 | {
321 | padding: 1px -1px -1px 1px;
322 | }
323 |
324 | QMainWindow::separator
325 | {
326 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #161616, stop: 0.5 #151515, stop: 0.6 #212121, stop:1 #343434);
327 | color: white;
328 | padding-left: 4px;
329 | border: 1px solid #4c4c4c;
330 | spacing: 3px; /* spacing between items in the tool bar */
331 | }
332 |
333 | QMainWindow::separator:hover
334 | {
335 |
336 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #d7801a, stop:0.5 #b56c17 stop:1 #ffa02f);
337 | color: white;
338 | padding-left: 4px;
339 | border: 1px solid #6c6c6c;
340 | spacing: 3px; /* spacing between items in the tool bar */
341 | }
342 |
343 | QToolBar::handle
344 | {
345 | spacing: 3px; /* spacing between items in the tool bar */
346 | background: url(:/dark_orange/img/handle.png);
347 | }
348 |
349 | QMenu::separator
350 | {
351 | height: 2px;
352 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #161616, stop: 0.5 #151515, stop: 0.6 #212121, stop:1 #343434);
353 | color: white;
354 | padding-left: 4px;
355 | margin-left: 10px;
356 | margin-right: 5px;
357 | }
358 |
359 | QProgressBar
360 | {
361 | border: 2px solid grey;
362 | border-radius: 5px;
363 | text-align: center;
364 | }
365 |
366 | QProgressBar::chunk
367 | {
368 | background-color: #d7801a;
369 | width: 2.15px;
370 | margin: 0.5px;
371 | }
372 |
373 | QTabBar::tab {
374 | color: #b1b1b1;
375 | border: 1px solid #444;
376 | border-bottom-style: none;
377 | background-color: #323232;
378 | padding-left: 10px;
379 | padding-right: 10px;
380 | padding-top: 3px;
381 | padding-bottom: 2px;
382 | margin-right: -1px;
383 | }
384 |
385 | QTabWidget::pane {
386 | border: 1px solid #444;
387 | top: 1px;
388 | }
389 |
390 | QTabBar::tab:last
391 | {
392 | margin-right: 0; /* the last selected tab has nothing to overlap with on the right */
393 | border-top-right-radius: 3px;
394 | }
395 |
396 | QTabBar::tab:first:!selected
397 | {
398 | margin-left: 0px; /* the last selected tab has nothing to overlap with on the right */
399 |
400 |
401 | border-top-left-radius: 3px;
402 | }
403 |
404 | QTabBar::tab:!selected
405 | {
406 | color: #b1b1b1;
407 | border-bottom-style: solid;
408 | margin-top: 3px;
409 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:1 #212121, stop:.4 #343434);
410 | }
411 |
412 | QTabBar::tab:selected
413 | {
414 | border-top-left-radius: 3px;
415 | border-top-right-radius: 3px;
416 | margin-bottom: 0px;
417 | }
418 |
419 | QTabBar::tab:!selected:hover
420 | {
421 | /*border-top: 2px solid #ffaa00;
422 | padding-bottom: 3px;*/
423 | border-top-left-radius: 3px;
424 | border-top-right-radius: 3px;
425 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:1 #212121, stop:0.4 #343434, stop:0.2 #343434, stop:0.1 #ffaa00);
426 | }
427 |
428 | QRadioButton::indicator:checked, QRadioButton::indicator:unchecked{
429 | color: #b1b1b1;
430 | background-color: #323232;
431 | border: 1px solid #b1b1b1;
432 | border-radius: 6px;
433 | }
434 |
435 | QRadioButton::indicator:checked
436 | {
437 | background-color: qradialgradient(
438 | cx: 0.5, cy: 0.5,
439 | fx: 0.5, fy: 0.5,
440 | radius: 1.0,
441 | stop: 0.25 #ffaa00,
442 | stop: 0.3 #323232
443 | );
444 | }
445 |
446 | QCheckBox::indicator{
447 | color: #b1b1b1;
448 | background-color: #323232;
449 | border: 1px solid #b1b1b1;
450 | width: 9px;
451 | height: 9px;
452 | }
453 |
454 | QRadioButton::indicator
455 | {
456 | border-radius: 6px;
457 | }
458 |
459 | QRadioButton::indicator:hover, QCheckBox::indicator:hover
460 | {
461 | border: 1px solid #ffaa00;
462 | }
463 |
464 | QCheckBox::indicator:checked
465 | {
466 | image:url(:/dark_orange/img/checkbox.png);
467 | }
468 |
469 | QCheckBox::indicator:disabled, QRadioButton::indicator:disabled
470 | {
471 | border: 1px solid #444;
472 | }
473 |
474 |
475 | QSlider::groove:horizontal {
476 | border: 1px solid #3A3939;
477 | height: 8px;
478 | background: #201F1F;
479 | margin: 2px 0;
480 | border-radius: 2px;
481 | }
482 |
483 | QSlider::handle:horizontal {
484 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1,
485 | stop: 0.0 silver, stop: 0.2 #a8a8a8, stop: 1 #727272);
486 | border: 1px solid #3A3939;
487 | width: 14px;
488 | height: 14px;
489 | margin: -4px 0;
490 | border-radius: 2px;
491 | }
492 |
493 | QSlider::groove:vertical {
494 | border: 1px solid #3A3939;
495 | width: 8px;
496 | background: #201F1F;
497 | margin: 0 0px;
498 | border-radius: 2px;
499 | }
500 |
501 | QSlider::handle:vertical {
502 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 silver,
503 | stop: 0.2 #a8a8a8, stop: 1 #727272);
504 | border: 1px solid #3A3939;
505 | width: 14px;
506 | height: 14px;
507 | margin: 0 -4px;
508 | border-radius: 2px;
509 | }
510 |
511 | QAbstractSpinBox {
512 | padding-top: 2px;
513 | padding-bottom: 2px;
514 | border: 1px solid darkgray;
515 |
516 | border-radius: 2px;
517 | min-width: 50px;
518 | }
519 |
520 |
--------------------------------------------------------------------------------
/.idea/workspace.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 | true
213 | DEFINITION_ORDER
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 | 1540491261099
362 |
363 |
364 | 1540491261099
365 |
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
--------------------------------------------------------------------------------
/main.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | MainWindow
4 |
5 |
6 |
7 | 0
8 | 0
9 | 887
10 | 456
11 |
12 |
13 |
14 | MainWindow
15 |
16 |
17 |
18 | :/icons/check.png:/icons/check.png
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | 140
28 | 0
29 | 751
30 | 431
31 |
32 |
33 |
34 |
35 | Dosis
36 | 9
37 |
38 |
39 |
40 | 0
41 |
42 |
43 |
44 | Page
45 |
46 |
47 |
48 |
49 | 60
50 | 40
51 | 281
52 | 141
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | 10
62 | 20
63 | 91
64 | 111
65 |
66 |
67 |
68 |
69 |
70 |
71 | :/icons/home_download.png
72 |
73 |
74 | true
75 |
76 |
77 |
78 |
79 |
80 | 120
81 | 30
82 | 141
83 | 91
84 |
85 |
86 |
87 |
88 | Dosis
89 | 24
90 |
91 |
92 |
93 | Download Any Type Of Files
94 |
95 |
96 | true
97 |
98 |
99 |
100 |
101 |
102 |
103 | 380
104 | 40
105 | 281
106 | 141
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 | 110
116 | 20
117 | 141
118 | 101
119 |
120 |
121 |
122 |
123 | Dosis
124 | 24
125 |
126 |
127 |
128 | Youtube Video Download
129 |
130 |
131 | true
132 |
133 |
134 |
135 |
136 |
137 | 10
138 | 20
139 | 81
140 | 111
141 |
142 |
143 |
144 |
145 |
146 |
147 | :/icons/youtube.png
148 |
149 |
150 | true
151 |
152 |
153 |
154 |
155 |
156 |
157 | 60
158 | 210
159 | 281
160 | 141
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 | 120
170 | 20
171 | 151
172 | 91
173 |
174 |
175 |
176 |
177 | Dosis
178 | 24
179 |
180 |
181 |
182 | Youtube Playlist Download
183 |
184 |
185 | true
186 |
187 |
188 |
189 |
190 |
191 | 10
192 | 20
193 | 91
194 | 101
195 |
196 |
197 |
198 |
199 |
200 |
201 | :/icons/home_youtube.png
202 |
203 |
204 | true
205 |
206 |
207 |
208 |
209 |
210 |
211 | 380
212 | 210
213 | 281
214 | 141
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 | 110
224 | 20
225 | 151
226 | 101
227 |
228 |
229 |
230 |
231 | Dosis
232 | 24
233 |
234 |
235 |
236 | App Themes & Settings
237 |
238 |
239 | true
240 |
241 |
242 | true
243 |
244 |
245 |
246 |
247 |
248 | 10
249 | 20
250 | 81
251 | 101
252 |
253 |
254 |
255 |
256 |
257 |
258 | :/icons/home_settings.png
259 |
260 |
261 | true
262 |
263 |
264 |
265 |
266 |
267 |
268 | Tab 1
269 |
270 |
271 |
272 |
273 | 310
274 | 221
275 | 131
276 | 51
277 |
278 |
279 |
280 |
281 | Dosis
282 | 18
283 |
284 |
285 |
286 |
287 |
288 |
289 | Download
290 |
291 |
292 |
293 |
294 |
295 | 130
296 | 60
297 | 521
298 | 31
299 |
300 |
301 |
302 |
303 | Dosis
304 | 18
305 |
306 |
307 |
308 | Enter download link here
309 |
310 |
311 |
312 |
313 |
314 | 130
315 | 100
316 | 471
317 | 31
318 |
319 |
320 |
321 |
322 | Dosis
323 | 18
324 |
325 |
326 |
327 | use browse button to enter save location
328 |
329 |
330 |
331 |
332 |
333 | 600
334 | 100
335 | 51
336 | 41
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 | :/icons/browse.png:/icons/browse.png
345 |
346 |
347 |
348 | 33
349 | 33
350 |
351 |
352 |
353 |
354 |
355 |
356 | 130
357 | 160
358 | 521
359 | 23
360 |
361 |
362 |
363 | 0
364 |
365 |
366 |
367 |
368 |
369 | Tab 2
370 |
371 |
372 |
373 |
374 | 0
375 | 0
376 | 751
377 | 411
378 |
379 |
380 |
381 |
382 | 18
383 |
384 |
385 |
386 | 0
387 |
388 |
389 |
390 | One Video
391 |
392 |
393 |
394 |
395 | 110
396 | 30
397 | 451
398 | 41
399 |
400 |
401 |
402 |
403 | Dosis
404 | 18
405 |
406 |
407 |
408 | Enter video URL
409 |
410 |
411 |
412 |
413 |
414 | 110
415 | 80
416 | 451
417 | 41
418 |
419 |
420 |
421 |
422 | Dosis
423 | 18
424 |
425 |
426 |
427 | User browse button for save location
428 |
429 |
430 |
431 |
432 |
433 | 560
434 | 80
435 | 61
436 | 51
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 | :/icons/browse.png:/icons/browse.png
445 |
446 |
447 |
448 | 33
449 | 33
450 |
451 |
452 |
453 |
454 |
455 |
456 | 110
457 | 190
458 | 511
459 | 23
460 |
461 |
462 |
463 | 0
464 |
465 |
466 |
467 |
468 |
469 | 260
470 | 290
471 | 211
472 | 41
473 |
474 |
475 |
476 |
477 | Dosis
478 | 18
479 |
480 |
481 |
482 | Start Download
483 |
484 |
485 |
486 |
487 |
488 | 160
489 | 140
490 | 131
491 | 31
492 |
493 |
494 |
495 |
496 | Dosis
497 | 18
498 |
499 |
500 |
501 | Video Quality
502 |
503 |
504 |
505 |
506 |
507 | 290
508 | 140
509 | 281
510 | 41
511 |
512 |
513 |
514 |
515 |
516 |
517 | 560
518 | 30
519 | 61
520 | 51
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 | :/icons/check.png:/icons/check.png
529 |
530 |
531 |
532 | 33
533 | 33
534 |
535 |
536 |
537 |
538 |
539 |
540 | 270
541 | 230
542 | 191
543 | 41
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 | Full Playlist
554 |
555 |
556 |
557 |
558 | 120
559 | 20
560 | 501
561 | 31
562 |
563 |
564 |
565 |
566 | Dosis
567 | 18
568 |
569 |
570 |
571 | Enter Playlist URL
572 |
573 |
574 |
575 |
576 |
577 | 120
578 | 60
579 | 451
580 | 31
581 |
582 |
583 |
584 |
585 | Dosis
586 | 18
587 |
588 |
589 |
590 | Use browse button to enter save location
591 |
592 |
593 |
594 |
595 |
596 | 570
597 | 60
598 | 51
599 | 41
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 | :/icons/browse.png:/icons/browse.png
608 |
609 |
610 |
611 | 33
612 | 33
613 |
614 |
615 |
616 |
617 |
618 |
619 | 120
620 | 220
621 | 511
622 | 23
623 |
624 |
625 |
626 | 0
627 |
628 |
629 |
630 |
631 |
632 | 140
633 | 110
634 | 131
635 | 21
636 |
637 |
638 |
639 |
640 | Dosis
641 | 18
642 |
643 |
644 |
645 | Video Quality
646 |
647 |
648 |
649 |
650 |
651 | 320
652 | 110
653 | 211
654 | 26
655 |
656 |
657 | -
658 |
659 | 1080
660 |
661 |
662 | -
663 |
664 | 720
665 |
666 |
667 | -
668 |
669 | 480
670 |
671 |
672 | -
673 |
674 | 360
675 |
676 |
677 |
678 |
679 |
680 |
681 | 260
682 | 310
683 | 201
684 | 41
685 |
686 |
687 |
688 |
689 | Dosis
690 | 18
691 |
692 |
693 |
694 | Start Download
695 |
696 |
697 |
698 |
699 |
700 | 80
701 | 170
702 | 131
703 | 16
704 |
705 |
706 |
707 |
708 | Dosis
709 | 18
710 |
711 |
712 |
713 | The Current Video :
714 |
715 |
716 |
717 |
718 |
719 | 330
720 | 170
721 | 161
722 | 21
723 |
724 |
725 |
726 |
727 | Dosis
728 | 18
729 |
730 |
731 |
732 | The Full Playlist Video :
733 |
734 |
735 |
736 |
737 |
738 | 220
739 | 160
740 | 101
741 | 41
742 |
743 |
744 |
745 |
746 | 17
747 |
748 |
749 |
750 |
751 |
752 |
753 | 490
754 | 160
755 | 141
756 | 41
757 |
758 |
759 |
760 |
761 | 23
762 |
763 |
764 |
765 | color: rgb(0, 0, 0);
766 |
767 |
768 |
769 |
770 |
771 | 220
772 | 260
773 | 261
774 | 31
775 |
776 |
777 |
778 |
779 |
780 |
781 |
782 |
783 |
784 |
785 |
786 | Page
787 |
788 |
789 |
790 |
791 | 80
792 | 160
793 | 121
794 | 111
795 |
796 |
797 |
798 | background-color: rgb(50, 50, 50);
799 |
800 |
801 |
802 |
803 |
804 |
805 |
806 |
807 | 230
808 | 160
809 | 121
810 | 111
811 |
812 |
813 |
814 | background-color: rgb(50, 50, 50);
815 |
816 |
817 |
818 |
819 |
820 |
821 |
822 |
823 | 380
824 | 160
825 | 121
826 | 111
827 |
828 |
829 |
830 | background-color: rgb(25, 35, 45);
831 |
832 |
833 |
834 |
835 |
836 |
837 |
838 |
839 | 230
840 | 60
841 | 321
842 | 51
843 |
844 |
845 |
846 |
847 | 27
848 |
849 |
850 |
851 | Choose Your Theme
852 |
853 |
854 |
855 |
856 |
857 | 520
858 | 160
859 | 121
860 | 111
861 |
862 |
863 |
864 | background-color: rgb(255, 255, 255);
865 |
866 |
867 |
868 |
869 |
870 |
871 |
872 |
873 |
874 |
875 | 10
876 | 30
877 | 111
878 | 81
879 |
880 |
881 |
882 |
883 |
884 |
885 |
886 | :/icons/home.png:/icons/home.png
887 |
888 |
889 |
890 | 50
891 | 50
892 |
893 |
894 |
895 |
896 |
897 |
898 | 10
899 | 120
900 | 111
901 | 81
902 |
903 |
904 |
905 |
906 |
907 |
908 |
909 | :/icons/download.png:/icons/download.png
910 |
911 |
912 |
913 | 50
914 | 50
915 |
916 |
917 |
918 |
919 |
920 |
921 | 10
922 | 300
923 | 111
924 | 81
925 |
926 |
927 |
928 |
929 |
930 |
931 |
932 | :/icons/setting.png:/icons/setting.png
933 |
934 |
935 |
936 | 50
937 | 50
938 |
939 |
940 |
941 |
942 |
943 |
944 | 10
945 | 210
946 | 111
947 | 81
948 |
949 |
950 |
951 |
952 |
953 |
954 |
955 | :/icons/youtube.png:/icons/youtube.png
956 |
957 |
958 |
959 | 50
960 | 50
961 |
962 |
963 |
964 |
965 |
975 |
976 |
977 |
978 |
979 |
980 |
981 |
982 |
983 |
--------------------------------------------------------------------------------
/themes/darkblu.css:
--------------------------------------------------------------------------------
1 | *
2 | * The MIT License (MIT)
3 | *
4 | * Copyright (c) <2013-2014>
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 |
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 |
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | */
24 |
25 | QProgressBar:horizontal {
26 | border: 1px solid #3A3939;
27 | text-align: center;
28 | padding: 1px;
29 | background: #201F1F;
30 | }
31 | QProgressBar::chunk:horizontal {
32 | background-color: qlineargradient(spread:reflect, x1:1, y1:0.545, x2:1, y2:0, stop:0 rgba(28, 66, 111, 255), stop:1 rgba(37, 87, 146, 255));
33 | }
34 |
35 | QToolTip
36 | {
37 | border: 1px solid #3A3939;
38 | background-color: rgb(90, 102, 117);;
39 | color: white;
40 | padding: 1px;
41 | opacity: 200;
42 | }
43 |
44 | QWidget
45 | {
46 | color: silver;
47 | background-color: #302F2F;
48 | selection-background-color:#3d8ec9;
49 | selection-color: black;
50 | background-clip: border;
51 | border-image: none;
52 | outline: 0;
53 | }
54 |
55 | QWidget:item:hover
56 | {
57 | background-color: #78879b;
58 | color: black;
59 | }
60 |
61 | QWidget:item:selected
62 | {
63 | background-color: #3d8ec9;
64 | }
65 |
66 | QCheckBox
67 | {
68 | spacing: 5px;
69 | outline: none;
70 | color: #bbb;
71 | margin-bottom: 2px;
72 | }
73 |
74 | QCheckBox:disabled
75 | {
76 | color: #777777;
77 | }
78 | QCheckBox::indicator,
79 | QGroupBox::indicator
80 | {
81 | width: 18px;
82 | height: 18px;
83 | }
84 | QGroupBox::indicator
85 | {
86 | margin-left: 2px;
87 | }
88 |
89 | QCheckBox::indicator:unchecked,
90 | QCheckBox::indicator:unchecked:hover,
91 | QGroupBox::indicator:unchecked,
92 | QGroupBox::indicator:unchecked:hover
93 | {
94 | image: url(:/dark_blue/img/checkbox_unchecked.png);
95 | }
96 |
97 | QCheckBox::indicator:unchecked:focus,
98 | QCheckBox::indicator:unchecked:pressed,
99 | QGroupBox::indicator:unchecked:focus,
100 | QGroupBox::indicator:unchecked:pressed
101 | {
102 | border: none;
103 | image: url(:/dark_blue/img/checkbox_unchecked_focus.png);
104 | }
105 |
106 | QCheckBox::indicator:checked,
107 | QCheckBox::indicator:checked:hover,
108 | QGroupBox::indicator:checked,
109 | QGroupBox::indicator:checked:hover
110 | {
111 | image: url(:/dark_blue/img/checkbox_checked.png);
112 | }
113 |
114 | QCheckBox::indicator:checked:focus,
115 | QCheckBox::indicator:checked:pressed,
116 | QGroupBox::indicator:checked:focus,
117 | QGroupBox::indicator:checked:pressed
118 | {
119 | border: none;
120 | image: url(:/dark_blue/img/checkbox_checked_focus.png);
121 | }
122 |
123 | QCheckBox::indicator:indeterminate,
124 | QCheckBox::indicator:indeterminate:hover,
125 | QCheckBox::indicator:indeterminate:pressed
126 | QGroupBox::indicator:indeterminate,
127 | QGroupBox::indicator:indeterminate:hover,
128 | QGroupBox::indicator:indeterminate:pressed
129 | {
130 | image: url(:/dark_blue/img/checkbox_indeterminate.png);
131 | }
132 |
133 | QCheckBox::indicator:indeterminate:focus,
134 | QGroupBox::indicator:indeterminate:focus
135 | {
136 | image: url(:/dark_blue/img/checkbox_indeterminate_focus.png);
137 | }
138 |
139 | QCheckBox::indicator:checked:disabled,
140 | QGroupBox::indicator:checked:disabled
141 | {
142 | image: url(:/dark_blue/img/checkbox_checked_disabled.png);
143 | }
144 |
145 | QCheckBox::indicator:unchecked:disabled,
146 | QGroupBox::indicator:unchecked:disabled
147 | {
148 | image: url(:/dark_blue/img/checkbox_unchecked_disabled.png);
149 | }
150 |
151 | QRadioButton
152 | {
153 | spacing: 5px;
154 | outline: none;
155 | color: #bbb;
156 | margin-bottom: 2px;
157 | }
158 |
159 | QRadioButton:disabled
160 | {
161 | color: #777777;
162 | }
163 | QRadioButton::indicator
164 | {
165 | width: 21px;
166 | height: 21px;
167 | }
168 |
169 | QRadioButton::indicator:unchecked,
170 | QRadioButton::indicator:unchecked:hover
171 | {
172 | image: url(:/dark_blue/img/radio_unchecked.png);
173 | }
174 |
175 | QRadioButton::indicator:unchecked:focus,
176 | QRadioButton::indicator:unchecked:pressed
177 | {
178 | border: none;
179 | outline: none;
180 | image: url(:/dark_blue/img/radio_unchecked_focus.png);
181 | }
182 |
183 | QRadioButton::indicator:checked,
184 | QRadioButton::indicator:checked:hover
185 | {
186 | border: none;
187 | outline: none;
188 | image: url(:/dark_blue/img/radio_checked.png);
189 | }
190 |
191 | QRadioButton::indicator:checked:focus,
192 | QRadioButton::indicato::menu-arrowr:checked:pressed
193 | {
194 | border: none;
195 | outline: none;
196 | image: url(:/dark_blue/img/radio_checked_focus.png);
197 | }
198 |
199 | QRadioButton::indicator:indeterminate,
200 | QRadioButton::indicator:indeterminate:hover,
201 | QRadioButton::indicator:indeterminate:pressed
202 | {
203 | image: url(:/dark_blue/img/radio_indeterminate.png);
204 | }
205 |
206 | QRadioButton::indicator:checked:disabled
207 | {
208 | outline: none;
209 | image: url(:/dark_blue/img/radio_checked_disabled.png);
210 | }
211 |
212 | QRadioButton::indicator:unchecked:disabled
213 | {
214 | image: url(:/dark_blue/img/radio_unchecked_disabled.png);
215 | }
216 |
217 |
218 | QMenuBar
219 | {
220 | background-color: #302F2F;
221 | color: silver;
222 | }
223 |
224 | QMenuBar::item
225 | {
226 | background: transparent;
227 | }
228 |
229 | QMenuBar::item:selected
230 | {
231 | background: transparent;
232 | border: 1px solid #3A3939;
233 | }
234 |
235 | QMenuBar::item:pressed
236 | {
237 | border: 1px solid #3A3939;
238 | background-color: #3d8ec9;
239 | color: black;
240 | margin-bottom:-1px;
241 | padding-bottom:1px;
242 | }
243 |
244 | QMenu
245 | {
246 | border: 1px solid #3A3939;
247 | color: silver;
248 | margin: 1px;
249 | }
250 |
251 | QMenu::icon
252 | {
253 | margin: 1px;
254 | }
255 |
256 | QMenu::item
257 | {
258 | padding: 2px 2px 2px 25px;
259 | margin-left: 5px;
260 | border: 1px solid transparent; /* reserve space for selection border */
261 | }
262 |
263 | QMenu::item:selected
264 | {
265 | color: black;
266 | }
267 |
268 | QMenu::separator {
269 | height: 2px;
270 | background: lightblue;
271 | margin-left: 10px;
272 | margin-right: 5px;
273 | }
274 |
275 | QMenu::indicator {
276 | width: 16px;
277 | height: 16px;
278 | }
279 |
280 | /* non-exclusive indicator = check box style indicator
281 | (see QActionGroup::setExclusive) */
282 | QMenu::indicator:non-exclusive:unchecked {
283 | image: url(:/dark_blue/img/checkbox_unchecked.png);
284 | }
285 |
286 | QMenu::indicator:non-exclusive:unchecked:selected {
287 | image: url(:/dark_blue/img/checkbox_unchecked_disabled.png);
288 | }
289 |
290 | QMenu::indicator:non-exclusive:checked {
291 | image: url(:/dark_blue/img/checkbox_checked.png);
292 | }
293 |
294 | QMenu::indicator:non-exclusive:checked:selected {
295 | image: url(:/dark_blue/img/checkbox_checked_disabled.png);
296 | }
297 |
298 | /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */
299 | QMenu::indicator:exclusive:unchecked {
300 | image: url(:/dark_blue/img/radio_unchecked.png);
301 | }
302 |
303 | QMenu::indicator:exclusive:unchecked:selected {
304 | image: url(:/dark_blue/img/radio_unchecked_disabled.png);
305 | }
306 |
307 | QMenu::indicator:exclusive:checked {
308 | image: url(:/dark_blue/img/radio_checked.png);
309 | }
310 |
311 | QMenu::indicator:exclusive:checked:selected {
312 | image: url(:/dark_blue/img/radio_checked_disabled.png);
313 | }
314 |
315 | QMenu::right-arrow {
316 | margin: 5px;
317 | image: url(:/dark_blue/img/right_arrow.png)
318 | }
319 |
320 |
321 | QWidget:disabled
322 | {
323 | color: #808080;
324 | background-color: #302F2F;
325 | }
326 |
327 | QAbstractItemView
328 | {
329 | alternate-background-color: #3A3939;
330 | color: silver;
331 | border: 1px solid 3A3939;
332 | border-radius: 2px;
333 | padding: 1px;
334 | }
335 |
336 | QWidget:focus, QMenuBar:focus
337 | {
338 | border: 1px solid #78879b;
339 | }
340 |
341 | QTabWidget:focus, QCheckBox:focus, QRadioButton:focus, QSlider:focus
342 | {
343 | border: none;
344 | }
345 |
346 | QLineEdit
347 | {
348 | background-color: #201F1F;
349 | padding: 2px;
350 | border-style: solid;
351 | border: 1px solid #3A3939;
352 | border-radius: 2px;
353 | color: silver;
354 | }
355 |
356 | QGroupBox {
357 | border:1px solid #3A3939;
358 | border-radius: 2px;
359 | margin-top: 20px;
360 | background-color: #302F2F;
361 | color: silver;
362 | }
363 |
364 | QGroupBox::title {
365 | subcontrol-origin: margin;
366 | subcontrol-position: top center;
367 | padding-left: 10px;
368 | padding-right: 10px;
369 | padding-top: 10px;
370 | }
371 |
372 | QAbstractScrollArea
373 | {
374 | border-radius: 2px;
375 | border: 1px solid #3A3939;
376 | background-color: transparent;
377 | }
378 |
379 | QScrollBar:horizontal
380 | {
381 | height: 15px;
382 | margin: 3px 15px 3px 15px;
383 | border: 1px transparent #2A2929;
384 | border-radius: 4px;
385 | background-color: #2A2929;
386 | }
387 |
388 | QScrollBar::handle:horizontal
389 | {
390 | background-color: #605F5F;
391 | min-width: 5px;
392 | border-radius: 4px;
393 | }
394 |
395 | QScrollBar::add-line:horizontal
396 | {
397 | margin: 0px 3px 0px 3px;
398 | border-image: url(:/dark_blue/img/right_arrow_disabled.png);
399 | width: 10px;
400 | height: 10px;
401 | subcontrol-position: right;
402 | subcontrol-origin: margin;
403 | }
404 |
405 | QScrollBar::sub-line:horizontal
406 | {
407 | margin: 0px 3px 0px 3px;
408 | border-image: url(:/dark_blue/img/left_arrow_disabled.png);
409 | height: 10px;
410 | width: 10px;
411 | subcontrol-position: left;
412 | subcontrol-origin: margin;
413 | }
414 |
415 | QScrollBar::add-line:horizontal:hover,QScrollBar::add-line:horizontal:on
416 | {
417 | border-image: url(:/dark_blue/img/right_arrow.png);
418 | height: 10px;
419 | width: 10px;
420 | subcontrol-position: right;
421 | subcontrol-origin: margin;
422 | }
423 |
424 |
425 | QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on
426 | {
427 | border-image: url(:/dark_blue/img/left_arrow.png);
428 | height: 10px;
429 | width: 10px;
430 | subcontrol-position: left;
431 | subcontrol-origin: margin;
432 | }
433 |
434 | QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal
435 | {
436 | background: none;
437 | }
438 |
439 |
440 | QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal
441 | {
442 | background: none;
443 | }
444 |
445 | QScrollBar:vertical
446 | {
447 | background-color: #2A2929;
448 | width: 15px;
449 | margin: 15px 3px 15px 3px;
450 | border: 1px transparent #2A2929;
451 | border-radius: 4px;
452 | }
453 |
454 | QScrollBar::handle:vertical
455 | {
456 | background-color: #605F5F;
457 | min-height: 5px;
458 | border-radius: 4px;
459 | }
460 |
461 | QScrollBar::sub-line:vertical
462 | {
463 | margin: 3px 0px 3px 0px;
464 | border-image: url(:/dark_blue/img/up_arrow_disabled.png);
465 | height: 10px;
466 | width: 10px;
467 | subcontrol-position: top;
468 | subcontrol-origin: margin;
469 | }
470 |
471 | QScrollBar::add-line:vertical
472 | {
473 | margin: 3px 0px 3px 0px;
474 | border-image: url(:/dark_blue/img/down_arrow_disabled.png);
475 | height: 10px;
476 | width: 10px;
477 | subcontrol-position: bottom;
478 | subcontrol-origin: margin;
479 | }
480 |
481 | QScrollBar::sub-line:vertical:hover,QScrollBar::sub-line:vertical:on
482 | {
483 |
484 | border-image: url(:/dark_blue/img/up_arrow.png);
485 | height: 10px;
486 | width: 10px;
487 | subcontrol-position: top;
488 | subcontrol-origin: margin;
489 | }
490 |
491 |
492 | QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on
493 | {
494 | border-image: url(:/dark_blue/img/down_arrow.png);
495 | height: 10px;
496 | width: 10px;
497 | subcontrol-position: bottom;
498 | subcontrol-origin: margin;
499 | }
500 |
501 | QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical
502 | {
503 | background: none;
504 | }
505 |
506 |
507 | QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical
508 | {
509 | background: none;
510 | }
511 |
512 | QTextEdit
513 | {
514 | background-color: #201F1F;
515 | color: silver;
516 | border: 1px solid #3A3939;
517 | }
518 |
519 | QPlainTextEdit
520 | {
521 | background-color: #201F1F;;
522 | color: silver;
523 | border-radius: 2px;
524 | border: 1px solid #3A3939;
525 | }
526 |
527 | QHeaderView::section
528 | {
529 | background-color: #3A3939;
530 | color: silver;
531 | padding-left: 4px;
532 | border: 1px solid #6c6c6c;
533 | }
534 |
535 | QSizeGrip {
536 | image: url(:/dark_blue/img/sizegrip.png);
537 | width: 12px;
538 | height: 12px;
539 | }
540 |
541 | QMainWindow
542 | {
543 | background-color: #302F2F;
544 |
545 | }
546 |
547 | QMainWindow::separator
548 | {
549 | background-color: #302F2F;
550 | color: white;
551 | padding-left: 4px;
552 | spacing: 2px;
553 | border: 1px dashed #3A3939;
554 | }
555 |
556 | QMainWindow::separator:hover
557 | {
558 |
559 | background-color: #787876;
560 | color: white;
561 | padding-left: 4px;
562 | border: 1px solid #3A3939;
563 | spacing: 2px;
564 | }
565 |
566 |
567 | QMenu::separator
568 | {
569 | height: 1px;
570 | background-color: #3A3939;
571 | color: white;
572 | padding-left: 4px;
573 | margin-left: 10px;
574 | margin-right: 5px;
575 | }
576 |
577 |
578 | QFrame
579 | {
580 | border-radius: 2px;
581 | border: 1px solid #444;
582 | }
583 |
584 | QFrame[frameShape="0"]
585 | {
586 | border-radius: 2px;
587 | border: 1px transparent #444;
588 | }
589 |
590 | QStackedWidget
591 | {
592 | background-color: #302F2F;
593 | border: 1px transparent black;
594 | }
595 |
596 | QToolBar {
597 | border: 1px transparent #393838;
598 | background: 1px solid #302F2F;
599 | font-weight: bold;
600 | }
601 |
602 | QToolBar::handle:horizontal {
603 | image: url(:/dark_blue/img/Hmovetoolbar.png);
604 | }
605 | QToolBar::handle:vertical {
606 | image: url(:/dark_blue/img/Vmovetoolbar.png);
607 | }
608 | QToolBar::separator:horizontal {
609 | image: url(:/dark_blue/img/Hsepartoolbar.png);
610 | }
611 | QToolBar::separator:vertical {
612 | image: url(:/dark_blue/img/Vsepartoolbars.png);
613 | }
614 |
615 | QPushButton
616 | {
617 | color: silver;
618 | background-color: #302F2F;
619 | border-width: 2px;
620 | border-color: #4A4949;
621 | border-style: solid;
622 | padding-top: 2px;
623 | padding-bottom: 2px;
624 | padding-left: 10px;
625 | padding-right: 10px;
626 | border-radius: 4px;
627 | /* outline: none; */
628 | /* min-width: 40px; */
629 | }
630 |
631 | QPushButton:disabled
632 | {
633 | background-color: #302F2F;
634 | border-width: 2px;
635 | border-color: #3A3939;
636 | border-style: solid;
637 | padding-top: 2px;
638 | padding-bottom: 2px;
639 | padding-left: 10px;
640 | padding-right: 10px;
641 | /*border-radius: 2px;*/
642 | color: #808080;
643 | }
644 |
645 | QPushButton:focus {
646 | background-color: #3d8ec9;
647 | color: white;
648 | }
649 |
650 | QComboBox
651 | {
652 | selection-background-color: #3d8ec9;
653 | background-color: #201F1F;
654 | border-style: solid;
655 | border: 1px solid #3A3939;
656 | border-radius: 2px;
657 | padding: 2px;
658 | min-width: 75px;
659 | }
660 |
661 | QPushButton:checked{
662 | background-color: #4A4949;
663 | border-color: #6A6969;
664 | }
665 |
666 | QPushButton:hover {
667 | border: 2px solid #78879b;
668 | color: silver;
669 | }
670 |
671 | QComboBox:hover, QAbstractSpinBox:hover,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QAbstractView:hover,QTreeView:hover
672 | {
673 | border: 1px solid #78879b;
674 | color: silver;
675 | }
676 |
677 | QComboBox:on
678 | {
679 | background-color: #626873;
680 | padding-top: 3px;
681 | padding-left: 4px;
682 | selection-background-color: #4a4a4a;
683 | }
684 |
685 | QComboBox QAbstractItemView
686 | {
687 | background-color: #201F1F;
688 | border-radius: 2px;
689 | border: 1px solid #444;
690 | selection-background-color: #3d8ec9;
691 | color: silver;
692 | }
693 |
694 | QComboBox::drop-down
695 | {
696 | subcontrol-origin: padding;
697 | subcontrol-position: top right;
698 | width: 15px;
699 |
700 | border-left-width: 0px;
701 | border-left-color: darkgray;
702 | border-left-style: solid;
703 | border-top-right-radius: 3px;
704 | border-bottom-right-radius: 3px;
705 | }
706 |
707 | QComboBox::down-arrow
708 | {
709 | image: url(:/dark_blue/img/down_arrow_disabled.png);
710 | }
711 |
712 | QComboBox::down-arrow:on, QComboBox::down-arrow:hover,
713 | QComboBox::down-arrow:focus
714 | {
715 | image: url(:/dark_blue/img/down_arrow.png);
716 | }
717 |
718 | QPushButton:pressed
719 | {
720 | background-color: #484846;
721 | }
722 |
723 | QAbstractSpinBox {
724 | padding-top: 2px;
725 | padding-bottom: 2px;
726 | border: 1px solid #3A3939;
727 | background-color: #201F1F;
728 | color: silver;
729 | border-radius: 2px;
730 | min-width: 75px;
731 | }
732 |
733 | QAbstractSpinBox:up-button
734 | {
735 | background-color: transparent;
736 | subcontrol-origin: border;
737 | subcontrol-position: top right;
738 | }
739 |
740 | QAbstractSpinBox:down-button
741 | {
742 | background-color: transparent;
743 | subcontrol-origin: border;
744 | subcontrol-position: bottom right;
745 | }
746 |
747 | QAbstractSpinBox::up-arrow,QAbstractSpinBox::up-arrow:disabled,QAbstractSpinBox::up-arrow:off {
748 | image: url(:/dark_blue/img/up_arrow_disabled.png);
749 | width: 10px;
750 | height: 10px;
751 | }
752 | QAbstractSpinBox::up-arrow:hover
753 | {
754 | image: url(:/dark_blue/img/up_arrow.png);
755 | }
756 |
757 |
758 | QAbstractSpinBox::down-arrow,QAbstractSpinBox::down-arrow:disabled,QAbstractSpinBox::down-arrow:off
759 | {
760 | image: url(:/dark_blue/img/down_arrow_disabled.png);
761 | width: 10px;
762 | height: 10px;
763 | }
764 | QAbstractSpinBox::down-arrow:hover
765 | {
766 | image: url(:/dark_blue/img/down_arrow.png);
767 | }
768 |
769 |
770 | QLabel
771 | {
772 | border: 0px solid black;
773 | }
774 |
775 | QTabWidget{
776 | border: 1px transparent black;
777 | }
778 |
779 | QTabWidget::pane {
780 | border: 1px solid #444;
781 | border-radius: 3px;
782 | padding: 3px;
783 | }
784 |
785 | QTabBar
786 | {
787 | qproperty-drawBase: 0;
788 | left: 5px; /* move to the right by 5px */
789 | }
790 |
791 | QTabBar:focus
792 | {
793 | border: 0px transparent black;
794 | }
795 |
796 | QTabBar::close-button {
797 | image: url(:/dark_blue/img/close.png);
798 | background: transparent;
799 | }
800 |
801 | QTabBar::close-button:hover
802 | {
803 | image: url(:/dark_blue/img/close-hover.png);
804 | background: transparent;
805 | }
806 |
807 | QTabBar::close-button:pressed {
808 | image: url(:/dark_blue/img/close-pressed.png);
809 | background: transparent;
810 | }
811 |
812 | /* TOP TABS */
813 | QTabBar::tab:top {
814 | color: #b1b1b1;
815 | border: 1px solid #4A4949;
816 | border-bottom: 1px transparent black;
817 | background-color: #302F2F;
818 | padding: 5px;
819 | border-top-left-radius: 2px;
820 | border-top-right-radius: 2px;
821 | }
822 |
823 | QTabBar::tab:top:!selected
824 | {
825 | color: #b1b1b1;
826 | background-color: #201F1F;
827 | border: 1px transparent #4A4949;
828 | border-bottom: 1px transparent #4A4949;
829 | border-top-left-radius: 0px;
830 | border-top-right-radius: 0px;
831 | }
832 |
833 | QTabBar::tab:top:!selected:hover {
834 | background-color: #48576b;
835 | }
836 |
837 | /* BOTTOM TABS */
838 | QTabBar::tab:bottom {
839 | color: #b1b1b1;
840 | border: 1px solid #4A4949;
841 | border-top: 1px transparent black;
842 | background-color: #302F2F;
843 | padding: 5px;
844 | border-bottom-left-radius: 2px;
845 | border-bottom-right-radius: 2px;
846 | }
847 |
848 | QTabBar::tab:bottom:!selected
849 | {
850 | color: #b1b1b1;
851 | background-color: #201F1F;
852 | border: 1px transparent #4A4949;
853 | border-top: 1px transparent #4A4949;
854 | border-bottom-left-radius: 0px;
855 | border-bottom-right-radius: 0px;
856 | }
857 |
858 | QTabBar::tab:bottom:!selected:hover {
859 | background-color: #78879b;
860 | }
861 |
862 | /* LEFT TABS */
863 | QTabBar::tab:left {
864 | color: #b1b1b1;
865 | border: 1px solid #4A4949;
866 | border-left: 1px transparent black;
867 | background-color: #302F2F;
868 | padding: 5px;
869 | border-top-right-radius: 2px;
870 | border-bottom-right-radius: 2px;
871 | }
872 |
873 | QTabBar::tab:left:!selected
874 | {
875 | color: #b1b1b1;
876 | background-color: #201F1F;
877 | border: 1px transparent #4A4949;
878 | border-right: 1px transparent #4A4949;
879 | border-top-right-radius: 0px;
880 | border-bottom-right-radius: 0px;
881 | }
882 |
883 | QTabBar::tab:left:!selected:hover {
884 | background-color: #48576b;
885 | }
886 |
887 |
888 | /* RIGHT TABS */
889 | QTabBar::tab:right {
890 | color: #b1b1b1;
891 | border: 1px solid #4A4949;
892 | border-right: 1px transparent black;
893 | background-color: #302F2F;
894 | padding: 5px;
895 | border-top-left-radius: 2px;
896 | border-bottom-left-radius: 2px;
897 | }
898 |
899 | QTabBar::tab:right:!selected
900 | {
901 | color: #b1b1b1;
902 | background-color: #201F1F;
903 | border: 1px transparent #4A4949;
904 | border-right: 1px transparent #4A4949;
905 | border-top-left-radius: 0px;
906 | border-bottom-left-radius: 0px;
907 | }
908 |
909 | QTabBar::tab:right:!selected:hover {
910 | background-color: #48576b;
911 | }
912 |
913 | QTabBar QToolButton::right-arrow:enabled {
914 | image: url(:/dark_blue/img/right_arrow.png);
915 | }
916 |
917 | QTabBar QToolButton::left-arrow:enabled {
918 | image: url(:/dark_blue/img/left_arrow.png);
919 | }
920 |
921 | QTabBar QToolButton::right-arrow:disabled {
922 | image: url(:/dark_blue/img/right_arrow_disabled.png);
923 | }
924 |
925 | QTabBar QToolButton::left-arrow:disabled {
926 | image: url(:/dark_blue/img/left_arrow_disabled.png);
927 | }
928 |
929 |
930 | QDockWidget {
931 | border: 1px solid #403F3F;
932 | titlebar-close-icon: url(:/dark_blue/img/close.png);
933 | titlebar-normal-icon: url(:/dark_blue/img/undock.png);
934 | }
935 |
936 | QDockWidget::close-button, QDockWidget::float-button {
937 | border: 1px solid transparent;
938 | border-radius: 2px;
939 | background: transparent;
940 | }
941 |
942 | QDockWidget::close-button:hover, QDockWidget::float-button:hover {
943 | background: rgba(255, 255, 255, 10);
944 | }
945 |
946 | QDockWidget::close-button:pressed, QDockWidget::float-button:pressed {
947 | padding: 1px -1px -1px 1px;
948 | background: rgba(255, 255, 255, 10);
949 | }
950 |
951 | QTreeView, QListView, QTextBrowser, AtLineEdit, AtLineEdit::hover {
952 | border: 1px solid #444;
953 | background-color: silver;
954 | border-radius: 3px;
955 | margin-left: 3px;
956 | color: black;
957 | }
958 |
959 | QTreeView:branch:selected, QTreeView:branch:hover {
960 | background: url(:/dark_blue/img/transparent.png);
961 | }
962 |
963 | QTreeView::branch:has-siblings:!adjoins-item {
964 | border-image: url(:/dark_blue/img/transparent.png);
965 | }
966 |
967 | QTreeView::branch:has-siblings:adjoins-item {
968 | border-image: url(:/dark_blue/img/transparent.png);
969 | }
970 |
971 | QTreeView::branch:!has-children:!has-siblings:adjoins-item {
972 | border-image: url(:/dark_blue/img/transparent.png);
973 | }
974 |
975 | QTreeView::branch:has-children:!has-siblings:closed,
976 | QTreeView::branch:closed:has-children:has-siblings {
977 | image: url(:/dark_blue/img/branch_closed.png);
978 | }
979 |
980 | QTreeView::branch:open:has-children:!has-siblings,
981 | QTreeView::branch:open:has-children:has-siblings {
982 | image: url(:/dark_blue/img/branch_open.png);
983 | }
984 |
985 | QTreeView::branch:has-children:!has-siblings:closed:hover,
986 | QTreeView::branch:closed:has-children:has-siblings:hover {
987 | image: url(:/dark_blue/img/branch_closed-on.png);
988 | }
989 |
990 | QTreeView::branch:open:has-children:!has-siblings:hover,
991 | QTreeView::branch:open:has-children:has-siblings:hover {
992 | image: url(:/dark_blue/img/branch_open-on.png);
993 | }
994 |
995 | QListView::item:!selected:hover, QListView::item:!selected:hover, QTreeView::item:!selected:hover {
996 | background: rgba(0, 0, 0, 0);
997 | outline: 0;
998 | color: #FFFFFF
999 | }
1000 |
1001 | QListView::item:selected:hover, QListView::item:selected:hover, QTreeView::item:selected:hover {
1002 | background: #3d8ec9;
1003 | color: #FFFFFF;
1004 | }
1005 |
1006 | QSlider::groove:horizontal {
1007 | border: 1px solid #3A3939;
1008 | height: 8px;
1009 | background: #201F1F;
1010 | margin: 2px 0;
1011 | border-radius: 2px;
1012 | }
1013 |
1014 | QSlider::handle:horizontal {
1015 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1,
1016 | stop: 0.0 silver, stop: 0.2 #a8a8a8, stop: 1 #727272);
1017 | border: 1px solid #3A3939;
1018 | width: 14px;
1019 | height: 14px;
1020 | margin: -4px 0;
1021 | border-radius: 2px;
1022 | }
1023 |
1024 | QSlider::groove:vertical {
1025 | border: 1px solid #3A3939;
1026 | width: 8px;
1027 | background: #201F1F;
1028 | margin: 0 0px;
1029 | border-radius: 2px;
1030 | }
1031 |
1032 | QSlider::handle:vertical {
1033 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 silver,
1034 | stop: 0.2 #a8a8a8, stop: 1 #727272);
1035 | border: 1px solid #3A3939;
1036 | width: 14px;
1037 | height: 14px;
1038 | margin: 0 -4px;
1039 | border-radius: 2px;
1040 | }
1041 |
1042 | QToolButton {
1043 | /* background-color: transparent; */
1044 | border: 2px transparent #4A4949;
1045 | border-radius: 4px;
1046 | background-color: dimgray;
1047 | margin: 2px;
1048 | padding: 2px;
1049 | }
1050 |
1051 | QToolButton[popupMode="1"] { /* only for MenuButtonPopup */
1052 | padding-right: 20px; /* make way for the popup button */
1053 | border: 2px transparent #4A4949;
1054 | border-radius: 4px;
1055 | }
1056 |
1057 | QToolButton[popupMode="2"] { /* only for InstantPopup */
1058 | padding-right: 10px; /* make way for the popup button */
1059 | border: 2px transparent #4A4949;
1060 | }
1061 |
1062 |
1063 | QToolButton:hover, QToolButton::menu-button:hover {
1064 | border: 2px solid #78879b;
1065 | }
1066 |
1067 | QToolButton:checked, QToolButton:pressed,
1068 | QToolButton::menu-button:pressed {
1069 | background-color: #4A4949;
1070 | border: 2px solid #78879b;
1071 | }
1072 |
1073 | /* the subcontrol below is used only in the InstantPopup or DelayedPopup mode */
1074 | QToolButton::menu-indicator {
1075 | image: url(:/dark_blue/img/down_arrow.png);
1076 | top: -7px; left: -2px; /* shift it a bit */
1077 | }
1078 |
1079 | /* the subcontrols below are used only in the MenuButtonPopup mode */
1080 | QToolButton::menu-button {
1081 | border: 1px transparent #4A4949;
1082 | border-top-right-radius: 6px;
1083 | border-bottom-right-radius: 6px;
1084 | /* 16px width + 4px for border = 20px allocated above */
1085 | width: 16px;
1086 | outline: none;
1087 | }
1088 |
1089 | QToolButton::menu-arrow {
1090 | image: url(:/dark_blue/img/down_arrow.png);
1091 | }
1092 |
1093 | QToolButton::menu-arrow:open {
1094 | top: 1px; left: 1px; /* shift it a bit */
1095 | border: 1px solid #3A3939;
1096 | }
1097 |
1098 | QPushButton::menu-indicator {
1099 | subcontrol-origin: padding;
1100 | subcontrol-position: bottom right;
1101 | left: 4px;
1102 | }
1103 |
1104 | QTableView
1105 | {
1106 | border: 1px solid #444;
1107 | gridline-color: #6c6c6c;
1108 | background-color: #201F1F;
1109 | }
1110 |
1111 |
1112 | QTableView, QHeaderView
1113 | {
1114 | border-radius: 0px;
1115 | }
1116 |
1117 | QTableView::item:pressed, QListView::item:pressed, QTreeView::item:pressed {
1118 | background: #78879b;
1119 | color: #FFFFFF;
1120 | }
1121 |
1122 | QTableView::item:selected:active, QTreeView::item:selected:active, QListView::item:selected:active {
1123 | background: #3d8ec9;
1124 | color: #FFFFFF;
1125 | }
1126 |
1127 |
1128 | QHeaderView
1129 | {
1130 | border: 1px transparent;
1131 | border-radius: 2px;
1132 | margin: 0px;
1133 | padding: 0px;
1134 | }
1135 |
1136 | QHeaderView::section {
1137 | background-color: #3A3939;
1138 | color: silver;
1139 | padding: 4px;
1140 | border: 1px solid #6c6c6c;
1141 | border-radius: 0px;
1142 | text-align: center;
1143 | }
1144 |
1145 | QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one
1146 | {
1147 | border-top: 1px solid #6c6c6c;
1148 | }
1149 |
1150 | QHeaderView::section::vertical
1151 | {
1152 | border-top: transparent;
1153 | }
1154 |
1155 | QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one
1156 | {
1157 | border-left: 1px solid #6c6c6c;
1158 | }
1159 |
1160 | QHeaderView::section::horizontal
1161 | {
1162 | border-left: transparent;
1163 | }
1164 |
1165 |
1166 | QHeaderView::section:checked
1167 | {
1168 | color: white;
1169 | background-color: #5A5959;
1170 | }
1171 |
1172 | /* style the sort indicator */
1173 | QHeaderView::down-arrow {
1174 | image: url(:/dark_blue/img/down_arrow.png);
1175 | }
1176 |
1177 | QHeaderView::up-arrow {
1178 | image: url(:/dark_blue/img/up_arrow.png);
1179 | }
1180 |
1181 |
1182 | QTableCornerButton::section {
1183 | background-color: #3A3939;
1184 | border: 1px solid #3A3939;
1185 | border-radius: 2px;
1186 | }
1187 |
1188 | QToolBox {
1189 | padding: 3px;
1190 | border: 1px transparent black;
1191 | }
1192 |
1193 | QToolBox::tab {
1194 | color: #b1b1b1;
1195 | background-color: #302F2F;
1196 | border: 1px solid #4A4949;
1197 | border-bottom: 1px transparent #302F2F;
1198 | border-top-left-radius: 5px;
1199 | border-top-right-radius: 5px;
1200 | }
1201 |
1202 | QToolBox::tab:selected { /* italicize selected tabs */
1203 | font: italic;
1204 | background-color: #302F2F;
1205 | border-color: #3d8ec9;
1206 | }
1207 |
1208 | QStatusBar::item {
1209 | border: 1px solid #3A3939;
1210 | border-radius: 2px;
1211 | }
1212 |
1213 |
1214 | QFrame[height="3"], QFrame[width="3"] {
1215 | background-color: #AAA;
1216 | }
1217 |
1218 |
1219 | QSplitter::handle {
1220 | border: 1px dashed #3A3939;
1221 | }
1222 |
1223 | QSplitter::handle:hover {
1224 | background-color: #787876;
1225 | border: 1px solid #3A3939;
1226 | }
1227 |
1228 | QSplitter::handle:horizontal {
1229 | width: 1px;
1230 | }
1231 |
1232 | QSplitter::handle:vertical {
1233 | height: 1px;
1234 | }
1235 |
1236 | QListWidget {
1237 | background-color: silver;
1238 | border-radius: 5px;
1239 | margin-left: 5px;
1240 | }
1241 |
1242 | QListWidget::item {
1243 | color: black;
1244 | }
1245 |
1246 | QMessageBox {
1247 | messagebox-critical-icon : url(:/dark_blue/img/critical.png);
1248 | messagebox-information-icon : url(:/dark_blue/img/information.png);
1249 | messagebox-question-icon : url(:/dark_blue/img/question.png);
1250 | messagebox-warning-icon: : url(:/dark_blue/img/warning.png);
1251 | }
1252 |
1253 | ColorButton::enabled {
1254 | border-radius: 0px;
1255 | border: 1px solid #444444;
1256 | }
1257 |
1258 | ColorButton::disabled {
1259 | border-radius: 0px;
1260 | border: 1px solid #AAAAAA;
1261 | }
--------------------------------------------------------------------------------
/themes/qdarkgray.css:
--------------------------------------------------------------------------------
1 | /*
2 | * The MIT License (MIT)
3 | *
4 | * Copyright (c) <2013-2014>
5 | * Copyright (c) <2017>
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy
8 | * of this software and associated documentation files (the "Software"), to deal
9 | * in the Software without restriction, including without limitation the rights
10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | * copies of the Software, and to permit persons to whom the Software is
12 | * furnished to do so, subject to the following conditions:
13 |
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 |
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 | * THE SOFTWARE.
24 | */
25 | QToolTip
26 | {
27 | border: 1px solid black;
28 | background-color: #D1DBCB;
29 | padding: 1px;
30 | border-radius: 3px;
31 | opacity: 100;
32 | }
33 |
34 | QWidget
35 | {
36 | color: #b1b1b1;
37 | background-color: #323232;
38 | selection-background-color:#323232;
39 | selection-color: black;
40 | background-clip: border;
41 | border-image: none;
42 | border: 0px transparent black;
43 | outline: 0;
44 | }
45 |
46 | QWidget:item:hover
47 | {
48 | background-color: #D1DBCB;
49 | color: black;
50 | }
51 |
52 | QWidget:item:selected
53 | {
54 | background-color: #D1DBCB;
55 | border: 0px
56 | }
57 |
58 | QCheckBox
59 | {
60 | spacing: 5px;
61 | outline: none;
62 | color: #eff0f1;
63 | margin-bottom: 2px;
64 | }
65 |
66 | QCheckBox:disabled
67 | {
68 | color: #76797C;
69 | }
70 |
71 | QCheckBox::indicator,QGroupBox::indicator
72 | {
73 | width: 18px;
74 | height: 18px;
75 | }
76 |
77 | QGroupBox::indicator
78 | {
79 | margin-left: 2px;
80 | }
81 |
82 | QCheckBox::indicator:unchecked
83 | {
84 | image: url(:/qss_icons/rc/checkbox_unchecked.png);
85 | }
86 |
87 | QCheckBox::indicator:unchecked:hover,
88 | QCheckBox::indicator:unchecked:focus,
89 | QCheckBox::indicator:unchecked:pressed,
90 | QGroupBox::indicator:unchecked:hover,
91 | QGroupBox::indicator:unchecked:focus,
92 | QGroupBox::indicator:unchecked:pressed
93 | {
94 | border: none;
95 | image: url(:/qss_icons/rc/checkbox_unchecked_focus.png);
96 | }
97 |
98 | QCheckBox::indicator:checked
99 | {
100 | image: url(:/qss_icons/rc/checkbox_checked.png);
101 | }
102 |
103 | QCheckBox::indicator:checked:hover,
104 | QCheckBox::indicator:checked:focus,
105 | QCheckBox::indicator:checked:pressed,
106 | QGroupBox::indicator:checked:hover,
107 | QGroupBox::indicator:checked:focus,
108 | QGroupBox::indicator:checked:pressed
109 | {
110 | border: none;
111 | image: url(:/qss_icons/rc/checkbox_checked_focus.png);
112 | }
113 |
114 |
115 | QCheckBox::indicator:indeterminate
116 | {
117 | image: url(:/qss_icons/rc/checkbox_indeterminate.png);
118 | }
119 |
120 | QCheckBox::indicator:indeterminate:focus,
121 | QCheckBox::indicator:indeterminate:hover,
122 | QCheckBox::indicator:indeterminate:pressed
123 | {
124 | image: url(:/qss_icons/rc/checkbox_indeterminate_focus.png);
125 | }
126 |
127 | QCheckBox::indicator:checked:disabled,
128 | QGroupBox::indicator:checked:disabled
129 | {
130 | image: url(:/qss_icons/rc/checkbox_checked_disabled.png);
131 | }
132 |
133 | QCheckBox::indicator:unchecked:disabled,
134 | QGroupBox::indicator:unchecked:disabled
135 | {
136 | image: url(:/qss_icons/rc/checkbox_unchecked_disabled.png);
137 | }
138 |
139 | QRadioButton
140 | {
141 | spacing: 5px;
142 | outline: none;
143 | color: #eff0f1;
144 | margin-bottom: 2px;
145 | }
146 |
147 | QRadioButton:disabled
148 | {
149 | color: #76797C;
150 | }
151 | QRadioButton::indicator
152 | {
153 | width: 21px;
154 | height: 21px;
155 | }
156 |
157 | QRadioButton::indicator:unchecked
158 | {
159 | image: url(:/qss_icons/rc/radio_unchecked.png);
160 | }
161 |
162 |
163 | QRadioButton::indicator:unchecked:hover,
164 | QRadioButton::indicator:unchecked:focus,
165 | QRadioButton::indicator:unchecked:pressed
166 | {
167 | border: none;
168 | outline: none;
169 | image: url(:/qss_icons/rc/radio_unchecked_focus.png);
170 | }
171 |
172 | QRadioButton::indicator:checked
173 | {
174 | border: none;
175 | outline: none;
176 | image: url(:/qss_icons/rc/radio_checked.png);
177 | }
178 |
179 | QRadioButton::indicator:checked:hover,
180 | QRadioButton::indicator:checked:focus,
181 | QRadioButton::indicator:checked:pressed
182 | {
183 | border: none;
184 | outline: none;
185 | image: url(:/qss_icons/rc/radio_checked_focus.png);
186 | }
187 |
188 | QRadioButton::indicator:checked:disabled
189 | {
190 | outline: none;
191 | image: url(:/qss_icons/rc/radio_checked_disabled.png);
192 | }
193 |
194 | QRadioButton::indicator:unchecked:disabled
195 | {
196 | image: url(:/qss_icons/rc/radio_unchecked_disabled.png);
197 | }
198 |
199 |
200 | QMenuBar
201 | {
202 | background-color: #323232;
203 | color: #D1DBCB;
204 | }
205 |
206 | QMenuBar::item
207 | {
208 | background-color: #323232;
209 | background: transparent;
210 | /* padding: 2px 20px 2px 20px; */
211 | }
212 |
213 | QMenuBar::item:selected
214 | {
215 | background: transparent;
216 | /* border: 1px solid #76797C; */
217 | }
218 |
219 | QMenuBar::item:pressed
220 | {
221 | border: 0px solid #76797C;
222 | background-color: #D1DBCB;
223 | color: #000;
224 | margin-bottom:-1px;
225 | padding-bottom:1px;
226 | }
227 |
228 | QMenu
229 | {
230 | background-color: #323232;
231 | /* border: 1px solid #76797C; */
232 | color: #eff0f1;
233 | /*margin: 2px; */
234 | }
235 |
236 | QMenu::icon
237 | {
238 | /*margin: 5px;*/
239 | }
240 |
241 | QMenu::item
242 | {
243 | padding: 2px 30px 2px 30px;
244 | /*margin-left: 5px;*/
245 | border: 1px solid transparent; /* reserve space for selection border */
246 | }
247 |
248 | QMenu::item:selected
249 | {
250 | color: #000000;
251 | }
252 |
253 | QMenu::separator {
254 | height: 2px;
255 | background: #D1DBCB;
256 | margin-left: 10px;
257 | margin-right: 5px;
258 | }
259 |
260 | QMenu::indicator {
261 | width: 18px;
262 | height: 18px;
263 | }
264 |
265 | /* non-exclusive indicator = check box style indicator
266 | (see QActionGroup::setExclusive) */
267 | QMenu::indicator:non-exclusive:unchecked {
268 | image: url(:/qss_icons/rc/checkbox_unchecked.png);
269 | }
270 |
271 | QMenu::indicator:non-exclusive:unchecked:selected {
272 | image: url(:/qss_icons/rc/checkbox_unchecked_disabled.png);
273 | }
274 |
275 | QMenu::indicator:non-exclusive:checked {
276 | image: url(:/qss_icons/rc/checkbox_checked.png);
277 | }
278 |
279 | QMenu::indicator:non-exclusive:checked:selected {
280 | image: url(:/qss_icons/rc/checkbox_checked_disabled.png);
281 | }
282 |
283 | /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */
284 | QMenu::indicator:exclusive:unchecked {
285 | image: url(:/qss_icons/rc/radio_unchecked.png);
286 | }
287 |
288 | QMenu::indicator:exclusive:unchecked:selected {
289 | image: url(:/qss_icons/rc/radio_unchecked_disabled.png);
290 | }
291 |
292 | QMenu::indicator:exclusive:checked {
293 | image: url(:/qss_icons/rc/radio_checked.png);
294 | }
295 |
296 | QMenu::indicator:exclusive:checked:selected {
297 | image: url(:/qss_icons/rc/radio_checked_disabled.png);
298 | }
299 |
300 | QMenu::right-arrow {
301 | margin: 5px;
302 | image: url(:/qss_icons/rc/right_arrow.png)
303 | }
304 |
305 |
306 | QWidget:disabled
307 | {
308 | color: #454545;
309 | background-color: #323232;
310 | }
311 |
312 | QAbstractItemView
313 | {
314 | alternate-background-color: #323232;
315 | color: #eff0f1;
316 | border: 1px solid 3A3939;
317 | border-radius: 2px;
318 | }
319 |
320 | QWidget:focus, QMenuBar:focus,QToolBar:focus,QScrollAreaViewer:focus
321 | {
322 | /* border: 2px solid #D1DBCB; */
323 | }
324 |
325 | QTabWidget:focus, QCheckBox:focus, QRadioButton:focus, QSlider:focus
326 | {
327 | border: none;
328 | }
329 |
330 | QLineEdit
331 | {
332 | background-color: #1e1e1e;
333 | selection-background-color: #D1DBCB;
334 | selection-color: black;
335 | padding: 5px;
336 | border-style: solid;
337 | border: 1px solid #76797C;
338 | border-radius: 2px;
339 | color: #eff0f1;
340 | }
341 |
342 | QGroupBox {
343 | border:1px solid #76797C;
344 | border-radius: 2px;
345 | margin-top: 20px;
346 | }
347 |
348 | QGroupBox::title {
349 | subcontrol-origin: margin;
350 | subcontrol-position: top center;
351 | padding-left: 10px;
352 | padding-right: 10px;
353 | padding-top: 10px;
354 | }
355 |
356 | QAbstractScrollArea
357 | {
358 | border-radius: 0px;
359 | border: 0px solid #76797C;
360 | background-color: transparent;
361 | }
362 |
363 | QScrollBar:horizontal
364 | {
365 | height: 15px;
366 | margin: 3px 15px 3px 15px;
367 | border: 1px transparent #2A2929;
368 | border-radius: 4px;
369 | background-color: #2A2929;
370 | }
371 |
372 | QScrollBar::handle:horizontal
373 | {
374 | background-color: #605F5F;
375 | min-width: 5px;
376 | border-radius: 4px;
377 | }
378 |
379 | QScrollBar::add-line:horizontal
380 | {
381 | margin: 0px 3px 0px 3px;
382 | border-image: url(:/qss_icons/rc/right_arrow_disabled.png);
383 | width: 10px;
384 | height: 10px;
385 | subcontrol-position: right;
386 | subcontrol-origin: margin;
387 | }
388 |
389 | QScrollBar::sub-line:horizontal
390 | {
391 | margin: 0px 3px 0px 3px;
392 | border-image: url(:/qss_icons/rc/left_arrow_disabled.png);
393 | height: 10px;
394 | width: 10px;
395 | subcontrol-position: left;
396 | subcontrol-origin: margin;
397 | }
398 |
399 | QScrollBar::add-line:horizontal:hover,QScrollBar::add-line:horizontal:on
400 | {
401 | border-image: url(:/qss_icons/rc/right_arrow.png);
402 | height: 10px;
403 | width: 10px;
404 | subcontrol-position: right;
405 | subcontrol-origin: margin;
406 | }
407 |
408 |
409 | QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on
410 | {
411 | border-image: url(:/qss_icons/rc/left_arrow.png);
412 | height: 10px;
413 | width: 10px;
414 | subcontrol-position: left;
415 | subcontrol-origin: margin;
416 | }
417 |
418 | QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal
419 | {
420 | background: none;
421 | }
422 |
423 |
424 | QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal
425 | {
426 | background: none;
427 | }
428 |
429 | QScrollBar:vertical
430 | {
431 | background-color: #2A2929;
432 | width: 15px;
433 | margin: 15px 3px 15px 3px;
434 | border: 1px transparent #2A2929;
435 | border-radius: 4px;
436 | }
437 |
438 | QScrollBar::handle:vertical
439 | {
440 | background-color: #605F5F;
441 | min-height: 5px;
442 | border-radius: 4px;
443 | }
444 |
445 | QScrollBar::sub-line:vertical
446 | {
447 | margin: 3px 0px 3px 0px;
448 | border-image: url(:/qss_icons/rc/up_arrow_disabled.png);
449 | height: 10px;
450 | width: 10px;
451 | subcontrol-position: top;
452 | subcontrol-origin: margin;
453 | }
454 |
455 | QScrollBar::add-line:vertical
456 | {
457 | margin: 3px 0px 3px 0px;
458 | border-image: url(:/qss_icons/rc/down_arrow_disabled.png);
459 | height: 10px;
460 | width: 10px;
461 | subcontrol-position: bottom;
462 | subcontrol-origin: margin;
463 | }
464 |
465 | QScrollBar::sub-line:vertical:hover,QScrollBar::sub-line:vertical:on
466 | {
467 |
468 | border-image: url(:/qss_icons/rc/up_arrow.png);
469 | height: 10px;
470 | width: 10px;
471 | subcontrol-position: top;
472 | subcontrol-origin: margin;
473 | }
474 |
475 |
476 | QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on
477 | {
478 | border-image: url(:/qss_icons/rc/down_arrow.png);
479 | height: 10px;
480 | width: 10px;
481 | subcontrol-position: bottom;
482 | subcontrol-origin: margin;
483 | }
484 |
485 | QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical
486 | {
487 | background: none;
488 | }
489 |
490 |
491 | QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical
492 | {
493 | background: none;
494 | }
495 |
496 | QTextEdit
497 | {
498 | background-color: #1e1e1e;
499 | color: #eff0f1;
500 | border: 1px solid #76797C;
501 | }
502 |
503 | QPlainTextEdit
504 | {
505 | background-color: #1e1e1e;;
506 | color: #eff0f1;
507 | border-radius: 2px;
508 | border: 1px solid #76797C;
509 | }
510 |
511 | QHeaderView::section
512 | {
513 | background-color: #76797C;
514 | color: #eff0f1;
515 | padding: 5px;
516 | border: 1px solid #76797C;
517 | }
518 |
519 | QSizeGrip {
520 | image: url(:/qss_icons/rc/sizegrip.png);
521 | width: 12px;
522 | height: 12px;
523 | }
524 |
525 |
526 | QMainWindow::separator
527 | {
528 | background-color: #323232;
529 | color: white;
530 | padding-left: 4px;
531 | spacing: 2px;
532 | border: 1px dashed #76797C;
533 | }
534 |
535 | QMainWindow::separator:hover
536 | {
537 |
538 | background-color: #787876;
539 | color: white;
540 | padding-left: 4px;
541 | border: 1px solid #76797C;
542 | spacing: 2px;
543 | }
544 |
545 |
546 | QMenu::separator
547 | {
548 | height: 1px;
549 | background-color: #76797C;
550 | color: white;
551 | padding-left: 4px;
552 | margin-left: 10px;
553 | margin-right: 5px;
554 | }
555 |
556 | QFrame
557 | {
558 | border-radius: 0px;
559 | /*border: 1px solid #76797C;*/
560 | }
561 |
562 |
563 | QFrame[frameShape="0"]
564 | {
565 | border-radius: 0px;
566 | border: 0px transparent #76797C;
567 | }
568 |
569 | QStackedWidget
570 | {
571 | border: 1px transparent black;
572 | }
573 |
574 | QToolBar {
575 | border: 0px transparent #393838;
576 | background: 0px solid #323232;
577 | font-weight: bold;
578 | }
579 |
580 | QToolBar::handle:horizontal {
581 | image: url(:/qss_icons/rc/Hmovetoolbar.png);
582 | }
583 | QToolBar::handle:vertical {
584 | image: url(:/qss_icons/rc/Vmovetoolbar.png);
585 | }
586 | QToolBar::separator:horizontal {
587 | image: url(:/qss_icons/rc/Hsepartoolbar.png);
588 | }
589 | QToolBar::separator:vertical {
590 | image: url(:/qss_icons/rc/Vsepartoolbar.png);
591 | }
592 | QToolButton#qt_toolbar_ext_button {
593 | background: #58595a
594 | }
595 |
596 | QPushButton
597 | {
598 | color: #eff0f1;
599 | background-color: #323232;
600 | border-width: 1px;
601 | border-color: #76797C;
602 | border-style: solid;
603 | padding: 5px;
604 | border-radius: 0px;
605 | outline: none;
606 | }
607 |
608 | QPushButton:disabled
609 | {
610 | background-color: #323232;
611 | border-width: 1px;
612 | border-color: #454545;
613 | border-style: solid;
614 | padding-top: 5px;
615 | padding-bottom: 5px;
616 | padding-left: 10px;
617 | padding-right: 10px;
618 | border-radius: 2px;
619 | color: #454545;
620 | }
621 |
622 | QPushButton:focus {
623 | background-color: #D1DBCB;
624 | color: black;
625 | }
626 |
627 | QPushButton:pressed
628 | {
629 | color: black;
630 | background-color: #D1DBCB;
631 | padding-top: -15px;
632 | padding-bottom: -17px;
633 | }
634 |
635 | QComboBox
636 | {
637 | selection-background-color: #D1DBCB;
638 | background-color: #31363B;
639 | border-style: solid;
640 | border: 1px solid #76797C;
641 | border-radius: 2px;
642 | padding: 5px;
643 | min-width: 75px;
644 | }
645 |
646 | QPushButton:checked{
647 | background-color: #76797C;
648 | border-color: #6A6969;
649 | }
650 |
651 | QComboBox:hover,QPushButton:hover,QAbstractSpinBox:hover,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QAbstractView:hover,QTreeView:hover
652 | {
653 | border: 1px solid #D1DBCB;
654 | }
655 |
656 | QComboBox:on
657 | {
658 | padding-top: 0px;
659 | padding-left: 4px;
660 | selection-background-color: #4a4a4a;
661 | }
662 |
663 | QComboBox QAbstractItemView
664 | {
665 | background-color: #1e1e1e;
666 | border-radius: 2px;
667 | border: 1px solid #76797C;
668 | selection-background-color: #D1DBCB;
669 | }
670 |
671 | QComboBox::drop-down
672 | {
673 | subcontrol-origin: padding;
674 | subcontrol-position: top right;
675 | width: 15px;
676 |
677 | border-left-width: 0px;
678 | border-left-color: darkgray;
679 | border-left-style: solid;
680 | border-top-right-radius: 3px;
681 | border-bottom-right-radius: 3px;
682 | }
683 |
684 | QComboBox::down-arrow
685 | {
686 | image: url(:/qss_icons/rc/down_arrow_disabled.png);
687 | }
688 |
689 | QComboBox::down-arrow:on, QComboBox::down-arrow:hover,
690 | QComboBox::down-arrow:focus
691 | {
692 | image: url(:/qss_icons/rc/down_arrow.png);
693 | }
694 |
695 | QAbstractSpinBox {
696 | padding: 2px;
697 | margin: 2px;
698 | background-color: #1e1e1e;
699 | color: #eff0f1;
700 | border-radius: 0px;
701 | min-width: 75px;
702 | selection-background-color: #D1DBCB;
703 | selection-color: black;
704 | }
705 |
706 | QAbstractSpinBox:up-button
707 | {
708 | background-color: transparent;
709 | subcontrol-origin: border;
710 | subcontrol-position: center right;
711 | }
712 |
713 | QAbstractSpinBox:down-button
714 | {
715 | background-color: transparent;
716 | subcontrol-origin: border;
717 | subcontrol-position: center left;
718 | }
719 |
720 | QAbstractSpinBox::up-arrow,QAbstractSpinBox::up-arrow:disabled,QAbstractSpinBox::up-arrow:off {
721 | image: url(:/qss_icons/rc/up_arrow_disabled.png);
722 | width: 10px;
723 | height: 10px;
724 | }
725 | QAbstractSpinBox::up-arrow:hover
726 | {
727 | image: url(:/qss_icons/rc/up_arrow.png);
728 | }
729 |
730 |
731 | QAbstractSpinBox::down-arrow,QAbstractSpinBox::down-arrow:disabled,QAbstractSpinBox::down-arrow:off
732 | {
733 | image: url(:/qss_icons/rc/down_arrow_disabled.png);
734 | width: 10px;
735 | height: 10px;
736 | }
737 | QAbstractSpinBox::down-arrow:hover
738 | {
739 | image: url(:/qss_icons/rc/down_arrow.png);
740 | }
741 |
742 |
743 | QLabel
744 | {
745 | border: 0px solid black;
746 | margin-left: 2px;
747 | margin-right: 2px;
748 | color: #D1DBCB;
749 | }
750 |
751 | QTabWidget{
752 | border: 0px transparent black;
753 | }
754 |
755 | QTabWidget::pane {
756 | border: 1px solid #76797C;
757 | padding: 5px;
758 | margin: 0px;
759 | }
760 |
761 | QTabWidget::tab-bar {
762 | left: 5px; /* move to the right by 5px */
763 | }
764 |
765 | QTabBar
766 | {
767 | qproperty-drawBase: 0;
768 | border-radius: 3px;
769 | }
770 |
771 | QTabBar::focus
772 | {
773 | border: 0px transparent black;
774 | color: black;
775 | }
776 |
777 | QTabBar::hover
778 | {
779 | border: 0px transparent black;
780 | color: black;
781 | }
782 |
783 | QTabBar::close-button {
784 | image: url(:/qss_icons/rc/close.png);
785 | background: transparent;
786 | }
787 |
788 | QTabBar::close-button:hover
789 | {
790 | image: url(:/qss_icons/rc/close-hover.png);
791 | background: transparent;
792 | }
793 |
794 | QTabBar::close-button:pressed {
795 | image: url(:/qss_icons/rc/close-pressed.png);
796 | background: transparent;
797 | }
798 |
799 | /* TOP TABS */
800 | QTabBar::tab:top {
801 | color: #eff0f1;
802 | border: 1px solid #76797C;
803 | border-bottom: 1px transparent black;
804 | background-color: #323232;
805 | padding: 5px;
806 | min-width: 50px;
807 | border-top-left-radius: 2px;
808 | border-top-right-radius: 2px;
809 | }
810 |
811 | QTabBar::tab:top:!selected
812 | {
813 | color: #eff0f1;
814 | background-color: #54575B;
815 | border: 1px solid #76797C;
816 | border-bottom: 1px transparent black;
817 | border-top-left-radius: 2px;
818 | border-top-right-radius: 2px;
819 | }
820 |
821 | QTabBar::tab:top:!selected:hover {
822 | background-color: #D1DBCB;
823 | color: black;
824 | }
825 |
826 | /* BOTTOM TABS */
827 | QTabBar::tab:bottom {
828 | color: #eff0f1;
829 | border: 1px solid #76797C;
830 | border-top: 1px transparent black;
831 | background-color: #323232;
832 | padding: 5px;
833 | border-bottom-left-radius: 2px;
834 | border-bottom-right-radius: 2px;
835 | min-width: 50px;
836 | }
837 |
838 | QTabBar::tab:bottom:!selected
839 | {
840 | color: #eff0f1;
841 | background-color: #54575B;
842 | border: 1px solid #76797C;
843 | border-top: 1px transparent black;
844 | border-bottom-left-radius: 2px;
845 | border-bottom-right-radius: 2px;
846 | }
847 |
848 | QTabBar::tab:bottom:!selected:hover {
849 | background-color: #D1DBCB;
850 | color: black;
851 | }
852 |
853 | /* LEFT TABS */
854 | QTabBar::tab:left {
855 | color: #eff0f1;
856 | border: 1px solid #76797C;
857 | border-left: 1px transparent black;
858 | background-color: #323232;
859 | padding: 5px;
860 | border-top-right-radius: 2px;
861 | border-bottom-right-radius: 2px;
862 | min-height: 50px;
863 | }
864 |
865 | QTabBar::tab:left:!selected
866 | {
867 | color: #eff0f1;
868 | background-color: #54575B;
869 | border: 1px solid #76797C;
870 | border-left: 1px transparent black;
871 | border-top-right-radius: 2px;
872 | border-bottom-right-radius: 2px;
873 | }
874 |
875 | QTabBar::tab:left:!selected:hover {
876 | background-color: #D1DBCB;
877 | color: black;
878 | }
879 |
880 |
881 | /* RIGHT TABS */
882 | QTabBar::tab:right {
883 | color: #eff0f1;
884 | border: 1px solid #76797C;
885 | border-right: 1px transparent black;
886 | background-color: #323232;
887 | padding: 5px;
888 | border-top-left-radius: 2px;
889 | border-bottom-left-radius: 2px;
890 | min-height: 50px;
891 | }
892 |
893 | QTabBar::tab:right:!selected
894 | {
895 | color: #eff0f1;
896 | background-color: #54575B;
897 | border: 1px solid #76797C;
898 | border-right: 1px transparent black;
899 | border-top-left-radius: 2px;
900 | border-bottom-left-radius: 2px;
901 | }
902 |
903 | QTabBar::tab:right:!selected:hover {
904 | background-color: #D1DBCB;
905 | color: black;
906 | }
907 |
908 | QTabBar QToolButton::right-arrow:enabled {
909 | image: url(:/qss_icons/rc/right_arrow.png);
910 | }
911 |
912 | QTabBar QToolButton::left-arrow:enabled {
913 | image: url(:/qss_icons/rc/left_arrow.png);
914 | }
915 |
916 | QTabBar QToolButton::right-arrow:disabled {
917 | image: url(:/qss_icons/rc/right_arrow_disabled.png);
918 | }
919 |
920 | QTabBar QToolButton::left-arrow:disabled {
921 | image: url(:/qss_icons/rc/left_arrow_disabled.png);
922 | }
923 |
924 |
925 | QDockWidget {
926 | background: #323232;
927 | border: 1px solid #403F3F;
928 | titlebar-close-icon: url(:/qss_icons/rc/close.png);
929 | titlebar-normal-icon: url(:/qss_icons/rc/undock.png);
930 | }
931 |
932 | QDockWidget::close-button, QDockWidget::float-button {
933 | border: 1px solid transparent;
934 | border-radius: 2px;
935 | background: transparent;
936 | }
937 |
938 | QDockWidget::close-button:hover, QDockWidget::float-button:hover {
939 | background: rgba(255, 255, 255, 10);
940 | }
941 |
942 | QDockWidget::close-button:pressed, QDockWidget::float-button:pressed {
943 | padding: 1px -1px -1px 1px;
944 | background: rgba(255, 255, 255, 10);
945 | }
946 |
947 | QTreeView, QListView
948 | {
949 | border: 1px solid #76797C;
950 | background-color: #1e1e1e;
951 | }
952 |
953 | QTreeView:branch:selected, QTreeView:branch:hover
954 | {
955 | background: url(:/qss_icons/rc/transparent.png);
956 | }
957 |
958 | QTreeView::branch:has-siblings:!adjoins-item {
959 | border-image: url(:/qss_icons/rc/transparent.png);
960 | }
961 |
962 | QTreeView::branch:has-siblings:adjoins-item {
963 | border-image: url(:/qss_icons/rc/transparent.png);
964 | }
965 |
966 | QTreeView::branch:!has-children:!has-siblings:adjoins-item {
967 | border-image: url(:/qss_icons/rc/transparent.png);
968 | }
969 |
970 | QTreeView::branch:has-children:!has-siblings:closed,
971 | QTreeView::branch:closed:has-children:has-siblings {
972 | image: url(:/qss_icons/rc/branch_closed.png);
973 | }
974 |
975 | QTreeView::branch:open:has-children:!has-siblings,
976 | QTreeView::branch:open:has-children:has-siblings {
977 | image: url(:/qss_icons/rc/branch_open.png);
978 | }
979 |
980 | QTreeView::branch:has-children:!has-siblings:closed:hover,
981 | QTreeView::branch:closed:has-children:has-siblings:hover {
982 | image: url(:/qss_icons/rc/branch_closed-on.png);
983 | }
984 |
985 | QTreeView::branch:open:has-children:!has-siblings:hover,
986 | QTreeView::branch:open:has-children:has-siblings:hover {
987 | image: url(:/qss_icons/rc/branch_open-on.png);
988 | }
989 |
990 | QListView::item:!selected:hover, QTreeView::item:!selected:hover {
991 | background: #848383;
992 | outline: 0;
993 | color: #eff0f1;
994 | }
995 |
996 | QListView::item:selected:hover, QTreeView::item:selected:hover {
997 | background: #D1DBCB;
998 | }
999 |
1000 | QSlider::groove:horizontal {
1001 | border: 1px solid #565a5e;
1002 | height: 4px;
1003 | background: #565a5e;
1004 | margin: 0px;
1005 | border-radius: 2px;
1006 | }
1007 |
1008 | QSlider::handle:horizontal {
1009 | background: #D1DBCB;
1010 | border: 1px solid #999999;
1011 | width: 10px;
1012 | height: 10px;
1013 | margin: -5px 0;
1014 | }
1015 |
1016 | QSlider::add-page:qlineargradient {
1017 | background: #595858;
1018 | border-top-right-radius: 5px;
1019 | border-bottom-right-radius: 5px;
1020 | border-top-left-radius: 0px;
1021 | border-bottom-left-radius: 0px;
1022 | }
1023 |
1024 | QSlider::sub-page::qlineargradient:horizontal {
1025 | background: #D1DBCB;
1026 | border-top-right-radius: 0px;
1027 | border-bottom-right-radius: 0px;
1028 | border-top-left-radius: 5px;
1029 | border-bottom-left-radius: 5px;
1030 | }
1031 |
1032 | QSlider::groove:vertical {
1033 | border: 1px solid #565a5e;
1034 | width: 4px;
1035 | background: #565a5e;
1036 | margin: 0px;
1037 | border-radius: 3px;
1038 | }
1039 |
1040 | QSlider::handle:vertical {
1041 | background: #D1DBCB;
1042 | border: 1px solid #999999;
1043 | width: 10px;
1044 | height: 10px;
1045 | margin: 0 -5px;
1046 | }
1047 |
1048 | QToolButton {
1049 | color: #D1DBCB;
1050 | background-color: transparent;
1051 | border: 0px transparent #76797C;
1052 | border-radius: 0px;
1053 | padding: 1px;
1054 | margin-right: 5px;
1055 | }
1056 |
1057 | QToolButton[popupMode="1"] { /* only for MenuButtonPopup */
1058 | padding-right: 20px; /* make way for the popup button */
1059 | border: 1px #76797C;
1060 | border-radius: 0px;
1061 | }
1062 |
1063 | QToolButton[popupMode="2"] { /* only for InstantPopup */
1064 | padding-right: 10px; /* make way for the popup button */
1065 | border: 0px #76797C;
1066 | }
1067 |
1068 |
1069 | QToolButton:hover, QToolButton::menu-button:hover {
1070 | background-color: transparent;
1071 | border: 1px solid #D1DBCB;
1072 | padding: 2px;
1073 | }
1074 |
1075 | QToolButton:checked, QToolButton:pressed,
1076 | QToolButton::menu-button:pressed {
1077 | color: black;
1078 | background-color: #D1DBCB;
1079 | border: 0px solid #D1DBCB;
1080 | padding: 2px;
1081 | }
1082 |
1083 | /* the subcontrol below is used only in the InstantPopup or DelayedPopup mode */
1084 | QToolButton::menu-indicator {
1085 | image: url(:/qss_icons/rc/down_arrow.png);
1086 | top: -7px; left: -2px; /* shift it a bit */
1087 | }
1088 |
1089 | /* the subcontrols below are used only in the MenuButtonPopup mode */
1090 | QToolButton::menu-button {
1091 | border: 1px transparent #76797C;
1092 | border-top-right-radius: 6px;
1093 | border-bottom-right-radius: 6px;
1094 | /* 16px width + 4px for border = 20px allocated above */
1095 | width: 16px;
1096 | outline: none;
1097 | }
1098 |
1099 | QToolButton::menu-arrow {
1100 | image: url(:/qss_icons/rc/down_arrow.png);
1101 | }
1102 |
1103 | QToolButton::menu-arrow:open {
1104 | border: 1px solid #76797C;
1105 | }
1106 |
1107 | QPushButton::menu-indicator {
1108 | subcontrol-origin: padding;
1109 | subcontrol-position: bottom right;
1110 | left: 8px;
1111 | }
1112 |
1113 | QTableView
1114 | {
1115 | border: 1px solid #76797C;
1116 | gridline-color: #323232;
1117 | background-color: #1e1e1e;
1118 | }
1119 |
1120 |
1121 | QTableView, QHeaderView
1122 | {
1123 | border-radius: 0px;
1124 | }
1125 |
1126 | QTableView::item:pressed, QListView::item:pressed, QTreeView::item:pressed {
1127 | background: #D1DBCB;
1128 | color: black;
1129 | }
1130 |
1131 | QTableView::item:selected:active, QTreeView::item:selected:active, QListView::item:selected:active {
1132 | background: #D1DBCB;
1133 | color: black;
1134 | }
1135 |
1136 | QHeaderView
1137 | {
1138 | background-color: #323232;
1139 | border: 1px transparent;
1140 | border-radius: 0px;
1141 | margin: 0px;
1142 | padding: 0px;
1143 |
1144 | }
1145 |
1146 | QHeaderView::section {
1147 | background-color: #323232;
1148 | color: #eff0f1;
1149 | padding: 5px;
1150 | border: 1px solid #76797C;
1151 | border-radius: 0px;
1152 | text-align: center;
1153 | }
1154 |
1155 | QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one
1156 | {
1157 | border-top: 1px solid #76797C;
1158 | }
1159 |
1160 | QHeaderView::section::vertical
1161 | {
1162 | border-top: transparent;
1163 | }
1164 |
1165 | QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one
1166 | {
1167 | border-left: 1px solid #76797C;
1168 | }
1169 |
1170 | QHeaderView::section::horizontal
1171 | {
1172 | border-left: transparent;
1173 | }
1174 |
1175 |
1176 | QHeaderView::section:checked
1177 | {
1178 | color: white;
1179 | background-color: #848383;
1180 | }
1181 |
1182 | /* style the sort indicator */
1183 | QHeaderView::down-arrow {
1184 | image: url(:/qss_icons/rc/down_arrow.png);
1185 | }
1186 |
1187 | QHeaderView::up-arrow {
1188 | image: url(:/qss_icons/rc/up_arrow.png);
1189 | }
1190 |
1191 |
1192 | QTableCornerButton::section {
1193 | background-color: #323232;
1194 | border: 1px transparent #76797C;
1195 | border-radius: 0px;
1196 | }
1197 |
1198 | QToolBox {
1199 | padding: 5px;
1200 | border: 1px transparent black;
1201 | }
1202 |
1203 | QToolBox::tab {
1204 | color: #eff0f1;
1205 | background-color: #323232;
1206 | border: 1px solid #76797C;
1207 | border-bottom: 1px transparent #323232;
1208 | border-top-left-radius: 5px;
1209 | border-top-right-radius: 5px;
1210 | }
1211 |
1212 | QToolBox::tab:selected { /* italicize selected tabs */
1213 | font: italic;
1214 | background-color: #323232;
1215 | border-color: #D1DBCB;
1216 | }
1217 |
1218 | QStatusBar::item {
1219 | border: 0px transparent dark;
1220 | margin: 0px;
1221 | border: 0px;
1222 | }
1223 |
1224 |
1225 | QFrame[height="3"], QFrame[width="3"] {
1226 | background-color: #76797C;
1227 | }
1228 |
1229 |
1230 | QSplitter::handle {
1231 | border: 1px dashed #76797C;
1232 | }
1233 |
1234 | QSplitter::handle:hover {
1235 | background-color: #787876;
1236 | border: 1px solid #76797C;
1237 | }
1238 |
1239 | QSplitter::handle:horizontal {
1240 | width: 1px;
1241 | }
1242 |
1243 | QSplitter::handle:vertical {
1244 | height: 1px;
1245 | }
1246 |
1247 | QProgressBar {
1248 | border: 1px solid #76797C;
1249 | border-radius: 5px;
1250 | text-align: center;
1251 | }
1252 |
1253 | QProgressBar::chunk {
1254 | background-color: #D1DBCB;
1255 | }
1256 |
1257 | QDateEdit
1258 | {
1259 | selection-background-color: #D1DBCB;
1260 | border-style: solid;
1261 | border: 1px solid #CEE343;
1262 | border-radius: 2px;
1263 | padding: 1px;
1264 | min-width: 75px;
1265 | }
1266 |
1267 | QDateEdit:on
1268 | {
1269 | padding-top: 3px;
1270 | padding-left: 4px;
1271 | selection-background-color: #4a4a4a;
1272 | }
1273 |
1274 | QDateEdit QAbstractItemView
1275 | {
1276 | background-color: #1e1e1e;
1277 | border-radius: 2px;
1278 | border: 1px solid #3375A3;
1279 | selection-background-color: #D1DBCB;
1280 | }
1281 |
1282 | QDateEdit::drop-down
1283 | {
1284 | subcontrol-origin: padding;
1285 | subcontrol-position: top right;
1286 | width: 15px;
1287 | border-left-width: 0px;
1288 | border-left-color: darkgray;
1289 | border-left-style: solid;
1290 | border-top-right-radius: 3px;
1291 | border-bottom-right-radius: 3px;
1292 | }
1293 |
1294 | QDateEdit::down-arrow
1295 | {
1296 | image: url(:/qss_icons/rc/down_arrow_disabled.png);
1297 | }
1298 |
1299 | QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover,
1300 | QDateEdit::down-arrow:focus
1301 | {
1302 | image: url(:/qss_icons/rc/down_arrow.png);
1303 | }
--------------------------------------------------------------------------------
/themes/qdark.css:
--------------------------------------------------------------------------------
1 | /* ---------------------------------------------------------------------------
2 |
3 | Created by the qtsass compiler
4 |
5 | WARNING! All changes made in this file will be lost!
6 |
7 | --------------------------------------------------------------------------- */
8 | /* QDarkStyleSheet -----------------------------------------------------------
9 |
10 | This is the main style sheet, the palette has eight colors.
11 |
12 | It is based on three selecting colors, three greyish (background) colors
13 | plus three whitish (foreground) colors. Each set of widgets of the same
14 | type have a header like this:
15 |
16 | ------------------
17 | GroupName --------
18 | ------------------
19 |
20 | And each widget is separated with a header like this:
21 |
22 | QWidgetName ------
23 |
24 | This makes more easy to find and change some css field. The basic
25 | configuration is described bellow.
26 |
27 | BACKGROUND -----------
28 |
29 | Light #4D545B #505F69 (unpressed)
30 | Normal #31363B #32414B (border, disabled, pressed, checked, toolbars, menus)
31 | Dark #232629 #19232D (background)
32 |
33 | FOREGROUND -----------
34 |
35 | Light #EFF0F1 #F0F0F0 (texts/labels)
36 | Normal #AAAAAA (not used yet)
37 | Dark #505F69 #787878 (disabled texts)
38 |
39 | SELECTION ------------
40 |
41 | Light #179AE0 #148CD2 (selection/hover/active)
42 | Normal #3375A3 #1464A0 (selected)
43 | Dark #18465D #14506E (selected disabled)
44 |
45 | If a stranger configuration is required because of a bugfix or anything
46 | else, keep the comment on the line above so nobody changes it, including the
47 | issue number.
48 |
49 | */
50 | /*
51 |
52 | See Qt documentation:
53 |
54 | - https://doc.qt.io/qt-5/stylesheet.html
55 | - https://doc.qt.io/qt-5/stylesheet-reference.html
56 | - https://doc.qt.io/qt-5/stylesheet-examples.html
57 |
58 | --------------------------------------------------------------------------- */
59 | /* QWidget ----------------------------------------------------------------
60 |
61 | --------------------------------------------------------------------------- */
62 | QWidget {
63 | background-color: #19232D;
64 | border: 0px solid #32414B;
65 | padding: 0px;
66 | color: #F0F0F0;
67 | selection-background-color: #1464A0;
68 | selection-color: #F0F0F0;
69 | }
70 |
71 | QWidget:disabled {
72 | background-color: #19232D;
73 | color: #787878;
74 | selection-background-color: #14506E;
75 | selection-color: #787878;
76 | }
77 |
78 | QWidget::item:selected {
79 | background-color: #1464A0;
80 | }
81 |
82 | QWidget::item:hover {
83 | background-color: #148CD2;
84 | color: #32414B;
85 | }
86 |
87 | /* QMainWindow ------------------------------------------------------------
88 |
89 | This adjusts the splitter in the dock widget, not qsplitter
90 |
91 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow
92 |
93 | --------------------------------------------------------------------------- */
94 | QMainWindow::separator {
95 | background-color: #32414B;
96 | border: 0px solid #19232D;
97 | spacing: 0px;
98 | padding: 2px;
99 | }
100 |
101 | QMainWindow::separator:hover {
102 | background-color: #505F69;
103 | border: 0px solid #148CD2;
104 | }
105 |
106 | QMainWindow::separator:horizontal {
107 | width: 5px;
108 | margin-top: 2px;
109 | margin-bottom: 2px;
110 | image: url(":/qss_icons/rc/Vsepartoolbar.png");
111 | }
112 |
113 | QMainWindow::separator:vertical {
114 | height: 5px;
115 | margin-left: 2px;
116 | margin-right: 2px;
117 | image: url(":/qss_icons/rc/Hsepartoolbar.png");
118 | }
119 |
120 | /* QToolTip ---------------------------------------------------------------
121 |
122 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip
123 |
124 | --------------------------------------------------------------------------- */
125 | QToolTip {
126 | background-color: #148CD2;
127 | border: 1px solid #19232D;
128 | color: #19232D;
129 | /* Remove padding, for fix combo box tooltip */
130 | padding: 0px;
131 | /* Reducing transparency to read better */
132 | opacity: 230;
133 | }
134 |
135 | /* QStatusBar -------------------------------------------------------------
136 |
137 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar
138 |
139 | --------------------------------------------------------------------------- */
140 | QStatusBar {
141 | border: 1px solid #32414B;
142 | /* Fixes Spyder #9120, #9121 */
143 | background: #32414B;
144 | }
145 |
146 | QStatusBar QToolTip {
147 | background-color: #148CD2;
148 | border: 1px solid #19232D;
149 | color: #19232D;
150 | /* Remove padding, for fix combo box tooltip */
151 | padding: 0px;
152 | /* Reducing transparency to read better */
153 | opacity: 230;
154 | }
155 |
156 | QStatusBar QLabel {
157 | /* Fixes Spyder #9120, #9121 */
158 | background: transparent;
159 | }
160 |
161 | /* QCheckBox --------------------------------------------------------------
162 |
163 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox
164 |
165 | --------------------------------------------------------------------------- */
166 | QCheckBox {
167 | background-color: #19232D;
168 | color: #F0F0F0;
169 | spacing: 4px;
170 | outline: none;
171 | padding-top: 4px;
172 | padding-bottom: 4px;
173 | }
174 |
175 | QCheckBox:focus {
176 | border: none;
177 | }
178 |
179 | QCheckBox QWidget:disabled {
180 | background-color: #19232D;
181 | color: #787878;
182 | }
183 |
184 | QCheckBox::indicator {
185 | margin-left: 4px;
186 | width: 16px;
187 | height: 16px;
188 | }
189 |
190 | QCheckBox::indicator:unchecked {
191 | image: url(":/qss_icons/rc/checkbox_unchecked.png");
192 | }
193 |
194 | QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed {
195 | border: none;
196 | image: url(":/qss_icons/rc/checkbox_unchecked_focus.png");
197 | }
198 |
199 | QCheckBox::indicator:unchecked:disabled {
200 | image: url(":/qss_icons/rc/checkbox_unchecked_disabled.png");
201 | }
202 |
203 | QCheckBox::indicator:checked {
204 | image: url(":/qss_icons/rc/checkbox_checked.png");
205 | }
206 |
207 | QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:focus, QCheckBox::indicator:checked:pressed {
208 | border: none;
209 | image: url(":/qss_icons/rc/checkbox_checked_focus.png");
210 | }
211 |
212 | QCheckBox::indicator:checked:disabled {
213 | image: url(":/qss_icons/rc/checkbox_checked_disabled.png");
214 | }
215 |
216 | QCheckBox::indicator:indeterminate {
217 | image: url(":/qss_icons/rc/checkbox_indeterminate.png");
218 | }
219 |
220 | QCheckBox::indicator:indeterminate:disabled {
221 | image: url(":/qss_icons/rc/checkbox_indeterminate_disabled.png");
222 | }
223 |
224 | QCheckBox::indicator:indeterminate:focus, QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed {
225 | image: url(":/qss_icons/rc/checkbox_indeterminate_focus.png");
226 | }
227 |
228 | /* QGroupBox --------------------------------------------------------------
229 |
230 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox
231 |
232 | --------------------------------------------------------------------------- */
233 | QGroupBox {
234 | font-weight: bold;
235 | border: 1px solid #32414B;
236 | border-radius: 4px;
237 | padding: 4px;
238 | margin-top: 16px;
239 | }
240 |
241 | QGroupBox::title {
242 | subcontrol-origin: margin;
243 | subcontrol-position: top left;
244 | left: 3px;
245 | padding-left: 3px;
246 | padding-right: 5px;
247 | padding-top: 8px;
248 | padding-bottom: 16px;
249 | }
250 |
251 | QGroupBox::indicator {
252 | margin-left: 2px;
253 | width: 16px;
254 | height: 16px;
255 | }
256 |
257 | QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed {
258 | border: none;
259 | image: url(":/qss_icons/rc/checkbox_unchecked_focus.png");
260 | }
261 |
262 | QGroupBox::indicator:unchecked:disabled {
263 | image: url(":/qss_icons/rc/checkbox_unchecked_disabled.png");
264 | }
265 |
266 | QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed {
267 | border: none;
268 | image: url(":/qss_icons/rc/checkbox_checked_focus.png");
269 | }
270 |
271 | QGroupBox::indicator:checked:disabled {
272 | image: url(":/qss_icons/rc/checkbox_checked_disabled.png");
273 | }
274 |
275 | /* QRadioButton -----------------------------------------------------------
276 |
277 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton
278 |
279 | --------------------------------------------------------------------------- */
280 | QRadioButton {
281 | background-color: #19232D;
282 | color: #F0F0F0;
283 | spacing: 0px;
284 | padding: 0px;
285 | border: none;
286 | outline: none;
287 | }
288 |
289 | QRadioButton:focus {
290 | border: none;
291 | }
292 |
293 | QRadioButton:disabled {
294 | background-color: #19232D;
295 | color: #787878;
296 | border: none;
297 | outline: none;
298 | }
299 |
300 | QRadioButton QWidget {
301 | background-color: #19232D;
302 | color: #F0F0F0;
303 | spacing: 0px;
304 | padding: 0px;
305 | outline: none;
306 | border: none;
307 | }
308 |
309 | QRadioButton::indicator {
310 | border: none;
311 | outline: none;
312 | margin-bottom: 2px;
313 | width: 25px;
314 | height: 25px;
315 | }
316 |
317 | QRadioButton::indicator:unchecked {
318 | image: url(":/qss_icons/rc/radio_unchecked.png");
319 | }
320 |
321 | QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:focus, QRadioButton::indicator:unchecked:pressed {
322 | border: none;
323 | outline: none;
324 | image: url(":/qss_icons/rc/radio_unchecked_focus.png");
325 | }
326 |
327 | QRadioButton::indicator:unchecked:disabled {
328 | image: url(":/qss_icons/rc/radio_unchecked_disabled.png");
329 | }
330 |
331 | QRadioButton::indicator:checked {
332 | border: none;
333 | outline: none;
334 | image: url(":/qss_icons/rc/radio_checked.png");
335 | }
336 |
337 | QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:focus, QRadioButton::indicator:checked:pressed {
338 | border: none;
339 | outline: none;
340 | image: url(":/qss_icons/rc/radio_checked_focus.png");
341 | }
342 |
343 | QRadioButton::indicator:checked:disabled {
344 | outline: none;
345 | image: url(":/qss_icons/rc/radio_checked_disabled.png");
346 | }
347 |
348 | /* QMenuBar ---------------------------------------------------------------
349 |
350 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar
351 |
352 | --------------------------------------------------------------------------- */
353 | QMenuBar {
354 | background-color: #32414B;
355 | padding: 2px;
356 | border: 1px solid #19232D;
357 | color: #F0F0F0;
358 | }
359 |
360 | QMenuBar:focus {
361 | border: 1px solid #148CD2;
362 | }
363 |
364 | QMenuBar::item {
365 | background: transparent;
366 | padding: 4px;
367 | }
368 |
369 | QMenuBar::item:selected {
370 | padding: 4px;
371 | background: transparent;
372 | border: 0px solid #32414B;
373 | }
374 |
375 | QMenuBar::item:pressed {
376 | padding: 4px;
377 | border: 0px solid #32414B;
378 | background-color: #148CD2;
379 | color: #F0F0F0;
380 | margin-bottom: 0px;
381 | padding-bottom: 0px;
382 | }
383 |
384 | /* QMenu ------------------------------------------------------------------
385 |
386 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu
387 |
388 | --------------------------------------------------------------------------- */
389 | QMenu {
390 | border: 0px solid #32414B;
391 | color: #F0F0F0;
392 | margin: 0px;
393 | }
394 |
395 | QMenu::separator {
396 | height: 2px;
397 | background-color: #505F69;
398 | color: #F0F0F0;
399 | padding-left: 4px;
400 | margin-left: 2px;
401 | margin-right: 2px;
402 | }
403 |
404 | QMenu::icon {
405 | margin: 0px;
406 | padding-left: 4px;
407 | }
408 |
409 | QMenu::item {
410 | padding: 4px 24px 4px 24px;
411 | /* Reserve space for selection border */
412 | border: 1px transparent #32414B;
413 | }
414 |
415 | QMenu::item:selected {
416 | color: #F0F0F0;
417 | }
418 |
419 | QMenu::indicator {
420 | width: 12px;
421 | height: 12px;
422 | padding-left: 6px;
423 | /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */
424 | /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */
425 | }
426 |
427 | QMenu::indicator:non-exclusive:unchecked {
428 | image: url(":/qss_icons/rc/checkbox_unchecked.png");
429 | }
430 |
431 | QMenu::indicator:non-exclusive:unchecked:selected {
432 | image: url(":/qss_icons/rc/checkbox_unchecked_disabled.png");
433 | }
434 |
435 | QMenu::indicator:non-exclusive:checked {
436 | image: url(":/qss_icons/rc/checkbox_checked.png");
437 | }
438 |
439 | QMenu::indicator:non-exclusive:checked:selected {
440 | image: url(":/qss_icons/rc/checkbox_checked_disabled.png");
441 | }
442 |
443 | QMenu::indicator:exclusive:unchecked {
444 | image: url(":/qss_icons/rc/radio_unchecked.png");
445 | }
446 |
447 | QMenu::indicator:exclusive:unchecked:selected {
448 | image: url(":/qss_icons/rc/radio_unchecked_disabled.png");
449 | }
450 |
451 | QMenu::indicator:exclusive:checked {
452 | image: url(":/qss_icons/rc/radio_checked.png");
453 | }
454 |
455 | QMenu::indicator:exclusive:checked:selected {
456 | image: url(":/qss_icons/rc/radio_checked_disabled.png");
457 | }
458 |
459 | QMenu::right-arrow {
460 | margin: 5px;
461 | image: url(":/qss_icons/rc/right_arrow.png");
462 | }
463 |
464 | /* QAbstractItemView ------------------------------------------------------
465 |
466 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox
467 |
468 | --------------------------------------------------------------------------- */
469 | QAbstractItemView {
470 | alternate-background-color: #19232D;
471 | color: #F0F0F0;
472 | border: 1px solid #32414B;
473 | border-radius: 4px;
474 | }
475 |
476 | QAbstractItemView QLineEdit {
477 | padding: 2px;
478 | }
479 |
480 | /* QAbstractScrollArea ----------------------------------------------------
481 |
482 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea
483 |
484 | --------------------------------------------------------------------------- */
485 | QAbstractScrollArea {
486 | background-color: #19232D;
487 | border: 1px solid #32414B;
488 | border-radius: 4px;
489 | padding: 4px;
490 | color: #F0F0F0;
491 | }
492 |
493 | QAbstractScrollArea:disabled {
494 | color: #787878;
495 | }
496 |
497 | /* QScrollArea ------------------------------------------------------------
498 |
499 | --------------------------------------------------------------------------- */
500 | QScrollArea QWidget QWidget:disabled {
501 | background-color: #19232D;
502 | }
503 |
504 | /* QScrollBar -------------------------------------------------------------
505 |
506 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar
507 |
508 | --------------------------------------------------------------------------- */
509 | QScrollBar:horizontal {
510 | height: 16px;
511 | margin: 2px 16px 2px 16px;
512 | border: 1px solid #32414B;
513 | border-radius: 4px;
514 | background-color: #19232D;
515 | }
516 |
517 | QScrollBar:vertical {
518 | background-color: #19232D;
519 | width: 16px;
520 | margin: 16px 2px 16px 2px;
521 | border: 1px solid #32414B;
522 | border-radius: 4px;
523 | }
524 |
525 | QScrollBar::handle:horizontal {
526 | background-color: #787878;
527 | border: 1px solid #32414B;
528 | border-radius: 4px;
529 | min-width: 8px;
530 | }
531 |
532 | QScrollBar::handle:horizontal:hover {
533 | background-color: #148CD2;
534 | border: 1px solid #148CD2;
535 | border-radius: 4px;
536 | min-width: 8px;
537 | }
538 |
539 | QScrollBar::handle:vertical {
540 | background-color: #787878;
541 | border: 1px solid #32414B;
542 | min-height: 8px;
543 | border-radius: 4px;
544 | }
545 |
546 | QScrollBar::handle:vertical:hover {
547 | background-color: #148CD2;
548 | border: 1px solid #148CD2;
549 | border-radius: 4px;
550 | min-height: 8px;
551 | }
552 |
553 | QScrollBar::add-line:horizontal {
554 | margin: 0px 0px 0px 0px;
555 | border-image: url(":/qss_icons/rc/right_arrow_disabled.png");
556 | width: 10px;
557 | height: 10px;
558 | subcontrol-position: right;
559 | subcontrol-origin: margin;
560 | }
561 |
562 | QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on {
563 | border-image: url(":/qss_icons/rc/right_arrow.png");
564 | height: 10px;
565 | width: 10px;
566 | subcontrol-position: right;
567 | subcontrol-origin: margin;
568 | }
569 |
570 | QScrollBar::add-line:vertical {
571 | margin: 3px 0px 3px 0px;
572 | border-image: url(":/qss_icons/rc/down_arrow_disabled.png");
573 | height: 10px;
574 | width: 10px;
575 | subcontrol-position: bottom;
576 | subcontrol-origin: margin;
577 | }
578 |
579 | QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on {
580 | border-image: url(":/qss_icons/rc/down_arrow.png");
581 | height: 10px;
582 | width: 10px;
583 | subcontrol-position: bottom;
584 | subcontrol-origin: margin;
585 | }
586 |
587 | QScrollBar::sub-line:horizontal {
588 | margin: 0px 3px 0px 3px;
589 | border-image: url(":/qss_icons/rc/left_arrow_disabled.png");
590 | height: 10px;
591 | width: 10px;
592 | subcontrol-position: left;
593 | subcontrol-origin: margin;
594 | }
595 |
596 | QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on {
597 | border-image: url(":/qss_icons/rc/left_arrow.png");
598 | height: 10px;
599 | width: 10px;
600 | subcontrol-position: left;
601 | subcontrol-origin: margin;
602 | }
603 |
604 | QScrollBar::sub-line:vertical {
605 | margin: 3px 0px 3px 0px;
606 | border-image: url(":/qss_icons/rc/up_arrow_disabled.png");
607 | height: 10px;
608 | width: 10px;
609 | subcontrol-position: top;
610 | subcontrol-origin: margin;
611 | }
612 |
613 | QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on {
614 | border-image: url(":/qss_icons/rc/up_arrow.png");
615 | height: 10px;
616 | width: 10px;
617 | subcontrol-position: top;
618 | subcontrol-origin: margin;
619 | }
620 |
621 | QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal {
622 | background: none;
623 | }
624 |
625 | QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {
626 | background: none;
627 | }
628 |
629 | QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {
630 | background: none;
631 | }
632 |
633 | QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
634 | background: none;
635 | }
636 |
637 | /* QTextEdit --------------------------------------------------------------
638 |
639 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets
640 |
641 | --------------------------------------------------------------------------- */
642 | QTextEdit {
643 | background-color: #19232D;
644 | color: #F0F0F0;
645 | border: 1px solid #32414B;
646 | }
647 |
648 | QTextEdit:hover {
649 | border: 1px solid #148CD2;
650 | color: #F0F0F0;
651 | }
652 |
653 | QTextEdit:selected {
654 | background: #1464A0;
655 | color: #32414B;
656 | }
657 |
658 | /* QPlainTextEdit ---------------------------------------------------------
659 |
660 | --------------------------------------------------------------------------- */
661 | QPlainTextEdit {
662 | background-color: #19232D;
663 | color: #F0F0F0;
664 | border-radius: 4px;
665 | border: 1px solid #32414B;
666 | }
667 |
668 | QPlainTextEdit:hover {
669 | border: 1px solid #148CD2;
670 | color: #F0F0F0;
671 | }
672 |
673 | QPlainTextEdit:selected {
674 | background: #1464A0;
675 | color: #32414B;
676 | }
677 |
678 | /* QSizeGrip --------------------------------------------------------------
679 |
680 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip
681 |
682 | --------------------------------------------------------------------------- */
683 | QSizeGrip {
684 | background: transparent;
685 | width: 12px;
686 | height: 12px;
687 | image: url(":/qss_icons/rc/sizegrip.png");
688 | }
689 |
690 | /* QStackedWidget ---------------------------------------------------------
691 |
692 | --------------------------------------------------------------------------- */
693 | QStackedWidget {
694 | padding: 4px;
695 | border: 1px solid #32414B;
696 | border: 1px solid #19232D;
697 | }
698 |
699 | /* QToolBar ---------------------------------------------------------------
700 |
701 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar
702 |
703 | --------------------------------------------------------------------------- */
704 | QToolBar {
705 | background-color: #32414B;
706 | border-bottom: 1px solid #19232D;
707 | padding: 2px;
708 | font-weight: bold;
709 | }
710 |
711 | QToolBar QToolButton {
712 | background-color: #32414B;
713 | }
714 |
715 | QToolBar::handle:horizontal {
716 | width: 6px;
717 | image: url(":/qss_icons/rc/Hmovetoolbar.png");
718 | }
719 |
720 | QToolBar::handle:vertical {
721 | height: 6px;
722 | image: url(":/qss_icons/rc/Vmovetoolbar.png");
723 | }
724 |
725 | QToolBar::separator:horizontal {
726 | width: 3px;
727 | image: url(":/qss_icons/rc/Hsepartoolbar.png");
728 | }
729 |
730 | QToolBar::separator:vertical {
731 | height: 3px;
732 | image: url(":/qss_icons/rc/Vsepartoolbar.png");
733 | }
734 |
735 | QToolButton#qt_toolbar_ext_button {
736 | background: #32414B;
737 | border: 0px;
738 | color: #F0F0F0;
739 | image: url(":/qss_icons/rc/right_arrow.png");
740 | }
741 |
742 | /* QAbstractSpinBox -------------------------------------------------------
743 |
744 | --------------------------------------------------------------------------- */
745 | QAbstractSpinBox {
746 | background-color: #19232D;
747 | border: 1px solid #32414B;
748 | color: #F0F0F0;
749 | /* This fixes 103, 111 */
750 | padding-top: 2px;
751 | /* This fixes 103, 111 */
752 | padding-bottom: 2px;
753 | padding-left: 4px;
754 | padding-right: 4px;
755 | border-radius: 4px;
756 | /* min-width: 5px; removed to fix 109 */
757 | }
758 |
759 | QAbstractSpinBox:up-button {
760 | background-color: transparent #19232D;
761 | subcontrol-origin: border;
762 | subcontrol-position: top right;
763 | border-left: 1px solid #32414B;
764 | margin: 1px;
765 | }
766 |
767 | QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off {
768 | image: url(":/qss_icons/rc/up_arrow_disabled.png");
769 | width: 9px;
770 | height: 9px;
771 | }
772 |
773 | QAbstractSpinBox::up-arrow:hover {
774 | image: url(":/qss_icons/rc/up_arrow.png");
775 | }
776 |
777 | QAbstractSpinBox:down-button {
778 | background-color: transparent #19232D;
779 | subcontrol-origin: border;
780 | subcontrol-position: bottom right;
781 | border-left: 1px solid #32414B;
782 | margin: 1px;
783 | }
784 |
785 | QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off {
786 | image: url(":/qss_icons/rc/down_arrow_disabled.png");
787 | width: 9px;
788 | height: 9px;
789 | }
790 |
791 | QAbstractSpinBox::down-arrow:hover {
792 | image: url(":/qss_icons/rc/down_arrow.png");
793 | }
794 |
795 | QAbstractSpinBox:hover {
796 | border: 1px solid #148CD2;
797 | color: #F0F0F0;
798 | }
799 |
800 | QAbstractSpinBox:selected {
801 | background: #1464A0;
802 | color: #32414B;
803 | }
804 |
805 | /* ------------------------------------------------------------------------ */
806 | /* DISPLAYS --------------------------------------------------------------- */
807 | /* ------------------------------------------------------------------------ */
808 | /* QLabel -----------------------------------------------------------------
809 |
810 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe
811 |
812 | --------------------------------------------------------------------------- */
813 | QLabel {
814 | background-color: #19232D;
815 | border: 0px solid #32414B;
816 | padding: 2px;
817 | margin: 0px;
818 | color: #F0F0F0;
819 | }
820 |
821 | QLabel::disabled {
822 | background-color: #19232D;
823 | border: 0px solid #32414B;
824 | color: #787878;
825 | }
826 |
827 | /* QTextBrowser -----------------------------------------------------------
828 |
829 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea
830 |
831 | --------------------------------------------------------------------------- */
832 | QTextBrowser {
833 | background-color: #19232D;
834 | border: 1px solid #32414B;
835 | color: #F0F0F0;
836 | border-radius: 4px;
837 | }
838 |
839 | QTextBrowser:disabled {
840 | background-color: #19232D;
841 | border: 1px solid #32414B;
842 | color: #787878;
843 | border-radius: 4px;
844 | }
845 |
846 | QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser::selected, QTextBrowser::pressed {
847 | border: 1px solid #32414B;
848 | }
849 |
850 | /* QGraphicsView ----------------------------------------------------------
851 |
852 | --------------------------------------------------------------------------- */
853 | QGraphicsView {
854 | background-color: #19232D;
855 | border: 1px solid #32414B;
856 | color: #F0F0F0;
857 | border-radius: 4px;
858 | }
859 |
860 | QGraphicsView:disabled {
861 | background-color: #19232D;
862 | border: 1px solid #32414B;
863 | color: #787878;
864 | border-radius: 4px;
865 | }
866 |
867 | QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView::selected, QGraphicsView::pressed {
868 | border: 1px solid #32414B;
869 | }
870 |
871 | /* QCalendarWidget --------------------------------------------------------
872 |
873 | --------------------------------------------------------------------------- */
874 | QCalendarWidget {
875 | border: 1px solid #32414B;
876 | border-radius: 4px;
877 | }
878 |
879 | QCalendarWidget:disabled {
880 | background-color: #19232D;
881 | color: #787878;
882 | }
883 |
884 | /* QLCDNumber -------------------------------------------------------------
885 |
886 | --------------------------------------------------------------------------- */
887 | QLCDNumber {
888 | background-color: #19232D;
889 | color: #F0F0F0;
890 | }
891 |
892 | QLCDNumber:disabled {
893 | background-color: #19232D;
894 | color: #787878;
895 | }
896 |
897 | /* QProgressBar -----------------------------------------------------------
898 |
899 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar
900 |
901 | --------------------------------------------------------------------------- */
902 | QProgressBar {
903 | background-color: #19232D;
904 | border: 1px solid #32414B;
905 | color: #F0F0F0;
906 | border-radius: 4px;
907 | text-align: center;
908 | }
909 |
910 | QProgressBar:disabled {
911 | background-color: #19232D;
912 | border: 1px solid #32414B;
913 | color: #787878;
914 | border-radius: 4px;
915 | text-align: center;
916 | }
917 |
918 | QProgressBar::chunk {
919 | background-color: #1464A0;
920 | color: #19232D;
921 | border-radius: 4px;
922 | }
923 |
924 | QProgressBar::chunk:disabled {
925 | background-color: #14506E;
926 | color: #787878;
927 | border-radius: 4px;
928 | }
929 |
930 | /* ------------------------------------------------------------------------ */
931 | /* BUTTONS ---------------------------------------------------------------- */
932 | /* ------------------------------------------------------------------------ */
933 | /* QPushButton ------------------------------------------------------------
934 |
935 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton
936 |
937 | --------------------------------------------------------------------------- */
938 | QPushButton {
939 | background-color: #505F69;
940 | border: 1px solid #32414B;
941 | color: #F0F0F0;
942 | border-radius: 4px;
943 | padding: 3px;
944 | outline: none;
945 | }
946 |
947 | QPushButton:disabled {
948 | background-color: #32414B;
949 | border: 1px solid #32414B;
950 | color: #787878;
951 | border-radius: 4px;
952 | padding: 3px;
953 | }
954 |
955 | QPushButton:checked {
956 | background-color: #32414B;
957 | border: 1px solid #32414B;
958 | border-radius: 4px;
959 | padding: 3px;
960 | outline: none;
961 | }
962 |
963 | QPushButton:checked:disabled {
964 | background-color: #19232D;
965 | border: 1px solid #32414B;
966 | color: #787878;
967 | border-radius: 4px;
968 | padding: 3px;
969 | outline: none;
970 | }
971 |
972 | QPushButton:checked:selected {
973 | background: #1464A0;
974 | color: #32414B;
975 | }
976 |
977 | QPushButton:checked:hover {
978 | border: 1px solid #148CD2;
979 | color: #F0F0F0;
980 | }
981 |
982 | QPushButton::menu-indicator {
983 | subcontrol-origin: padding;
984 | subcontrol-position: bottom right;
985 | bottom: 4px;
986 | }
987 |
988 | QPushButton:pressed {
989 | background-color: #19232D;
990 | border: 1px solid #19232D;
991 | }
992 |
993 | QPushButton:pressed:hover {
994 | border: 1px solid #148CD2;
995 | }
996 |
997 | QPushButton:hover {
998 | border: 1px solid #148CD2;
999 | color: #F0F0F0;
1000 | }
1001 |
1002 | QPushButton:selected {
1003 | background: #1464A0;
1004 | color: #32414B;
1005 | }
1006 |
1007 | /* QToolButton ------------------------------------------------------------
1008 |
1009 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton
1010 |
1011 | --------------------------------------------------------------------------- */
1012 | QToolButton {
1013 | background-color: transparent;
1014 | border: 1px solid #32414B;
1015 | border-radius: 4px;
1016 | margin: 0px;
1017 | padding: 2px;
1018 | /* The subcontrols below are used only in the MenuButtonPopup mode */
1019 | /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */
1020 | }
1021 |
1022 | QToolButton:checked {
1023 | background-color: #19232D;
1024 | border: 1px solid #19232D;
1025 | }
1026 |
1027 | QToolButton:checked:hover {
1028 | border: 1px solid #148CD2;
1029 | }
1030 |
1031 | QToolButton:pressed {
1032 | background-color: #19232D;
1033 | border: 1px solid #19232D;
1034 | }
1035 |
1036 | QToolButton:pressed:hover {
1037 | border: 1px solid #148CD2;
1038 | }
1039 |
1040 | QToolButton:disabled {
1041 | border: 1px solid #32414B;
1042 | }
1043 |
1044 | QToolButton:hover {
1045 | border: 1px solid #148CD2;
1046 | }
1047 |
1048 | QToolButton[popupMode="1"] {
1049 | padding: 2px;
1050 | /* Only for MenuButtonPopup */
1051 | padding-right: 12px;
1052 | /* Make way for the popup button */
1053 | border: 1px solid #32414B;
1054 | border-radius: 4px;
1055 | }
1056 |
1057 | QToolButton[popupMode="2"] {
1058 | padding: 2px;
1059 | /* Only for InstantPopup */
1060 | padding-right: 12px;
1061 | /* Make way for the popup button */
1062 | border: 1px solid #32414B;
1063 | }
1064 |
1065 | QToolButton::menu-button {
1066 | padding: 2px;
1067 | border-radius: 4px;
1068 | border: 1px solid #32414B;
1069 | border-top-right-radius: 4px;
1070 | border-bottom-right-radius: 4px;
1071 | /* 16px width + 4px for border = 20px allocated above */
1072 | width: 16px;
1073 | outline: none;
1074 | }
1075 |
1076 | QToolButton::menu-button:hover {
1077 | border: 1px solid #148CD2;
1078 | }
1079 |
1080 | QToolButton::menu-button:checked:hover {
1081 | border: 1px solid #148CD2;
1082 | }
1083 |
1084 | QToolButton::menu-indicator {
1085 | image: url(":/qss_icons/rc/down_arrow.png");
1086 | top: -8px;
1087 | /* Shift it a bit */
1088 | left: -4px;
1089 | /* Shift it a bit */
1090 | }
1091 |
1092 | QToolButton::menu-arrow {
1093 | image: url(":/qss_icons/rc/down_arrow.png");
1094 | }
1095 |
1096 | QToolButton::menu-arrow:open {
1097 | border: 1px solid #32414B;
1098 | }
1099 |
1100 | /* QCommandLinkButton -----------------------------------------------------
1101 |
1102 | --------------------------------------------------------------------------- */
1103 | QCommandLinkButton {
1104 | background-color: transparent;
1105 | border: 1px solid #32414B;
1106 | color: #F0F0F0;
1107 | border-radius: 4px;
1108 | padding: 0px;
1109 | margin: 0px;
1110 | }
1111 |
1112 | QCommandLinkButton:disabled {
1113 | background-color: transparent;
1114 | color: #787878;
1115 | }
1116 |
1117 | /* ------------------------------------------------------------------------ */
1118 | /* INPUTS - NO FIELDS ----------------------------------------------------- */
1119 | /* ------------------------------------------------------------------------ */
1120 | /* QComboBox --------------------------------------------------------------
1121 |
1122 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox
1123 |
1124 | --------------------------------------------------------------------------- */
1125 | QComboBox {
1126 | border: 1px solid #32414B;
1127 | border-radius: 4px;
1128 | selection-background-color: #1464A0;
1129 | padding-left: 4px;
1130 | padding-right: 4px;
1131 | /* Fixes #103, #111 */
1132 | min-height: 1.5em;
1133 | /* padding-top: 2px; removed to fix #132 */
1134 | /* padding-bottom: 2px; removed to fix #132 */
1135 | /* min-width: 75px; removed to fix #109 */
1136 | /* Needed to remove indicator - fix #132 */
1137 | }
1138 |
1139 | QComboBox QAbstractItemView {
1140 | background-color: #19232D;
1141 | border-radius: 4px;
1142 | border: 1px solid #32414B;
1143 | selection-color: #148CD2;
1144 | selection-background-color: #32414B;
1145 | }
1146 |
1147 | QComboBox:disabled {
1148 | background-color: #19232D;
1149 | color: #787878;
1150 | }
1151 |
1152 | QComboBox:hover {
1153 | border: 1px solid #148CD2;
1154 | }
1155 |
1156 | QComboBox:on {
1157 | selection-background-color: #19232D;
1158 | }
1159 |
1160 | QComboBox::indicator {
1161 | background-color: transparent;
1162 | selection-background-color: transparent;
1163 | color: transparent;
1164 | selection-color: transparent;
1165 | /* Needed to remove indicator - fix #132 */
1166 | }
1167 |
1168 | QComboBox::indicator:alternate {
1169 | background: #19232D;
1170 | }
1171 |
1172 | QComboBox::item:alternate {
1173 | background: #19232D;
1174 | }
1175 |
1176 | QComboBox::item:checked {
1177 | font-weight: bold;
1178 | }
1179 |
1180 | QComboBox::item:selected {
1181 | border: 0px solid transparent;
1182 | }
1183 |
1184 | QComboBox::drop-down {
1185 | subcontrol-origin: padding;
1186 | subcontrol-position: top right;
1187 | width: 20px;
1188 | border-left-width: 0px;
1189 | border-left-color: #32414B;
1190 | border-left-style: solid;
1191 | border-top-right-radius: 3px;
1192 | border-bottom-right-radius: 3px;
1193 | }
1194 |
1195 | QComboBox::down-arrow {
1196 | image: url(":/qss_icons/rc/down_arrow_disabled.png");
1197 | }
1198 |
1199 | QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus {
1200 | image: url(":/qss_icons/rc/down_arrow.png");
1201 | }
1202 |
1203 | /* QSlider ----------------------------------------------------------------
1204 |
1205 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider
1206 |
1207 | --------------------------------------------------------------------------- */
1208 | QSlider:disabled {
1209 | background: #19232D;
1210 | }
1211 |
1212 | QSlider:focus {
1213 | border: none;
1214 | }
1215 |
1216 | QSlider::groove:horizontal {
1217 | background: #32414B;
1218 | border: 1px solid #32414B;
1219 | height: 4px;
1220 | margin: 0px;
1221 | border-radius: 4px;
1222 | }
1223 |
1224 | QSlider::groove:vertical {
1225 | background: #32414B;
1226 | border: 1px solid #32414B;
1227 | width: 4px;
1228 | margin: 0px;
1229 | border-radius: 4px;
1230 | }
1231 |
1232 | QSlider::add-page:vertical {
1233 | background: #1464A0;
1234 | border: 1px solid #32414B;
1235 | width: 4px;
1236 | margin: 0px;
1237 | border-radius: 4px;
1238 | }
1239 |
1240 | QSlider::add-page:vertical :disabled {
1241 | background: #14506E;
1242 | }
1243 |
1244 | QSlider::sub-page:horizontal {
1245 | background: #1464A0;
1246 | border: 1px solid #32414B;
1247 | height: 4px;
1248 | margin: 0px;
1249 | border-radius: 4px;
1250 | }
1251 |
1252 | QSlider::sub-page:horizontal:disabled {
1253 | background: #14506E;
1254 | }
1255 |
1256 | QSlider::handle:horizontal {
1257 | background: #787878;
1258 | border: 1px solid #32414B;
1259 | width: 8px;
1260 | height: 8px;
1261 | margin: -8px 0px;
1262 | border-radius: 4px;
1263 | }
1264 |
1265 | QSlider::handle:horizontal:hover {
1266 | background: #148CD2;
1267 | border: 1px solid #148CD2;
1268 | }
1269 |
1270 | QSlider::handle:vertical {
1271 | background: #787878;
1272 | border: 1px solid #32414B;
1273 | width: 8px;
1274 | height: 8px;
1275 | margin: 0 -8px;
1276 | border-radius: 4px;
1277 | }
1278 |
1279 | QSlider::handle:vertical:hover {
1280 | background: #148CD2;
1281 | border: 1px solid #148CD2;
1282 | }
1283 |
1284 | /* QLineEdit --------------------------------------------------------------
1285 |
1286 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit
1287 |
1288 | --------------------------------------------------------------------------- */
1289 | QLineEdit {
1290 | background-color: #19232D;
1291 | padding-top: 2px;
1292 | /* This QLineEdit fix 103, 111 */
1293 | padding-bottom: 2px;
1294 | /* This QLineEdit fix 103, 111 */
1295 | padding-left: 4px;
1296 | padding-right: 4px;
1297 | border-style: solid;
1298 | border: 1px solid #32414B;
1299 | border-radius: 4px;
1300 | color: #F0F0F0;
1301 | }
1302 |
1303 | QLineEdit:disabled {
1304 | background-color: #19232D;
1305 | color: #787878;
1306 | }
1307 |
1308 | QLineEdit:hover {
1309 | border: 1px solid #148CD2;
1310 | color: #F0F0F0;
1311 | }
1312 |
1313 | QLineEdit:selected {
1314 | background: #1464A0;
1315 | color: #32414B;
1316 | }
1317 |
1318 | /* QTabWiget --------------------------------------------------------------
1319 |
1320 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar
1321 |
1322 | --------------------------------------------------------------------------- */
1323 | QTabWidget {
1324 | padding: 2px;
1325 | selection-background-color: #32414B;
1326 | /* Add wanted borders - fix #141, #126, #123 */
1327 | }
1328 |
1329 | QTabWidget QWidget {
1330 | border: 0px solid #32414B;
1331 | }
1332 |
1333 | QTabWidget QWidget QWidget
1334 | QTableView,
1335 | QTabWidget QTreeView,
1336 | QTabWidget QListView,
1337 | QTabWidget QGroupBox,
1338 | QTabWidget QLineEdit,
1339 | QTabWidget QComboBox,
1340 | QTabWidget QFontComboBox,
1341 | QTabWidget QTextEdit,
1342 | QTabWidget QSpinBox,
1343 | QTabWidget QDoubleSpinBox {
1344 | border: 1px solid #32414B;
1345 | }
1346 |
1347 | QTabWidget::pane {
1348 | border: 1px solid #32414B;
1349 | border-radius: 4px;
1350 | margin: 0px;
1351 | /* Fixes double border inside pane wit pyqt5 */
1352 | padding: 0px;
1353 | }
1354 |
1355 | QTabWidget::pane:selected {
1356 | background-color: #32414B;
1357 | border: 1px solid #1464A0;
1358 | }
1359 |
1360 | /* QTabBar ----------------------------------------------------------------
1361 |
1362 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar
1363 |
1364 | --------------------------------------------------------------------------- */
1365 | QTabBar {
1366 | qproperty-drawBase: 0;
1367 | border-radius: 4px;
1368 | margin: 0px;
1369 | padding: 2px;
1370 | border: 0;
1371 | /* left: 5px; move to the right by 5px - removed for fix */
1372 | }
1373 |
1374 | QTabBar::close-button {
1375 | border: 0;
1376 | margin: 2px;
1377 | padding: 0px;
1378 | image: url(":/qss_icons/rc/close.png");
1379 | }
1380 |
1381 | QTabBar::close-button:hover {
1382 | image: url(":/qss_icons/rc/close-hover.png");
1383 | }
1384 |
1385 | QTabBar::close-button:pressed {
1386 | image: url(":/qss_icons/rc/close-pressed.png");
1387 | }
1388 |
1389 | /* QTabBar::tab - selected ------------------------------------------------
1390 |
1391 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar
1392 |
1393 | --------------------------------------------------------------------------- */
1394 | QTabBar::tab {
1395 | /* !selected and disabled ----------------------------------------- */
1396 | /* selected ------------------------------------------------------- */
1397 | }
1398 |
1399 | QTabBar::tab:top:selected:disabled {
1400 | border-bottom: 3px solid #14506E;
1401 | color: #787878;
1402 | background-color: #32414B;
1403 | }
1404 |
1405 | QTabBar::tab:bottom:selected:disabled {
1406 | border-top: 3px solid #14506E;
1407 | color: #787878;
1408 | background-color: #32414B;
1409 | }
1410 |
1411 | QTabBar::tab:left:selected:disabled {
1412 | border-left: 3px solid #14506E;
1413 | color: #787878;
1414 | background-color: #32414B;
1415 | }
1416 |
1417 | QTabBar::tab:right:selected:disabled {
1418 | border-right: 3px solid #14506E;
1419 | color: #787878;
1420 | background-color: #32414B;
1421 | }
1422 |
1423 | QTabBar::tab:top:!selected:disabled {
1424 | border-bottom: 3px solid #19232D;
1425 | color: #787878;
1426 | background-color: #19232D;
1427 | }
1428 |
1429 | QTabBar::tab:bottom:!selected:disabled {
1430 | border-top: 3px solid #19232D;
1431 | color: #787878;
1432 | background-color: #19232D;
1433 | }
1434 |
1435 | QTabBar::tab:left:!selected:disabled {
1436 | border-right: 3px solid #19232D;
1437 | color: #787878;
1438 | background-color: #19232D;
1439 | }
1440 |
1441 | QTabBar::tab:right:!selected:disabled {
1442 | border-left: 3px solid #19232D;
1443 | color: #787878;
1444 | background-color: #19232D;
1445 | }
1446 |
1447 | QTabBar::tab:top:!selected {
1448 | border-bottom: 2px solid #19232D;
1449 | margin-top: 2px;
1450 | }
1451 |
1452 | QTabBar::tab:bottom:!selected {
1453 | border-top: 2px solid #19232D;
1454 | margin-bottom: 3px;
1455 | }
1456 |
1457 | QTabBar::tab:left:!selected {
1458 | border-left: 2px solid #19232D;
1459 | margin-right: 2px;
1460 | }
1461 |
1462 | QTabBar::tab:right:!selected {
1463 | border-right: 2px solid #19232D;
1464 | margin-left: 2px;
1465 | }
1466 |
1467 | QTabBar::tab:top {
1468 | background-color: #32414B;
1469 | color: #F0F0F0;
1470 | margin-left: 2px;
1471 | padding-left: 4px;
1472 | padding-right: 4px;
1473 | padding-top: 2px;
1474 | padding-bottom: 2px;
1475 | min-width: 5px;
1476 | border-bottom: 3px solid #32414B;
1477 | border-top-left-radius: 3px;
1478 | border-top-right-radius: 3px;
1479 | }
1480 |
1481 | QTabBar::tab:top:selected {
1482 | background-color: #505F69;
1483 | color: #F0F0F0;
1484 | border-bottom: 3px solid #1464A0;
1485 | border-top-left-radius: 3px;
1486 | border-top-right-radius: 3px;
1487 | }
1488 |
1489 | QTabBar::tab:top:!selected:hover {
1490 | border: 1px solid #148CD2;
1491 | border-bottom: 3px solid #148CD2;
1492 | padding: 0px;
1493 | }
1494 |
1495 | QTabBar::tab:bottom {
1496 | color: #F0F0F0;
1497 | border-top: 3px solid #32414B;
1498 | background-color: #32414B;
1499 | margin-left: 2px;
1500 | padding-left: 4px;
1501 | padding-right: 4px;
1502 | padding-top: 2px;
1503 | padding-bottom: 2px;
1504 | border-bottom-left-radius: 3px;
1505 | border-bottom-right-radius: 3px;
1506 | min-width: 5px;
1507 | }
1508 |
1509 | QTabBar::tab:bottom:selected {
1510 | color: #F0F0F0;
1511 | background-color: #505F69;
1512 | border-top: 3px solid #1464A0;
1513 | border-bottom-left-radius: 3px;
1514 | border-bottom-right-radius: 3px;
1515 | }
1516 |
1517 | QTabBar::tab:bottom:!selected:hover {
1518 | border: 1px solid #148CD2;
1519 | border-top: 3px solid #148CD2;
1520 | padding: 0px;
1521 | }
1522 |
1523 | QTabBar::tab:left {
1524 | color: #F0F0F0;
1525 | background-color: #32414B;
1526 | margin-top: 2px;
1527 | padding-left: 2px;
1528 | padding-right: 2px;
1529 | padding-top: 4px;
1530 | padding-bottom: 4px;
1531 | border-top-right-radius: 3px;
1532 | border-bottom-right-radius: 3px;
1533 | min-height: 5px;
1534 | }
1535 |
1536 | QTabBar::tab:left:selected {
1537 | color: #F0F0F0;
1538 | background-color: #505F69;
1539 | border-left: 3px solid #1464A0;
1540 | border-top-right-radius: 3px;
1541 | border-bottom-right-radius: 3px;
1542 | }
1543 |
1544 | QTabBar::tab:left:!selected:hover {
1545 | border: 1px solid #148CD2;
1546 | border-left: 3px solid #148CD2;
1547 | padding: 0px;
1548 | }
1549 |
1550 | QTabBar::tab:right {
1551 | color: #F0F0F0;
1552 | background-color: #32414B;
1553 | margin-top: 2px;
1554 | padding-left: 2px;
1555 | padding-right: 2px;
1556 | padding-top: 4px;
1557 | padding-bottom: 4px;
1558 | border-top-left-radius: 3px;
1559 | border-bottom-left-radius: 3px;
1560 | min-height: 5px;
1561 | }
1562 |
1563 | QTabBar::tab:right:selected {
1564 | color: #F0F0F0;
1565 | background-color: #505F69;
1566 | border-right: 3px solid #1464A0;
1567 | border-top-left-radius: 3px;
1568 | border-bottom-left-radius: 3px;
1569 | }
1570 |
1571 | QTabBar::tab:right:!selected:hover {
1572 | border: 1px solid #148CD2;
1573 | border-right: 3px solid #148CD2;
1574 | padding: 0px;
1575 | }
1576 |
1577 | QTabBar QToolButton {
1578 | /* Fixes #136 */
1579 | background-color: #32414B;
1580 | width: 16px;
1581 | height: 16px;
1582 | }
1583 |
1584 | QTabBar QToolButton::left-arrow:enabled {
1585 | image: url(":/qss_icons/rc/left_arrow.png");
1586 | }
1587 |
1588 | QTabBar QToolButton::left-arrow:disabled {
1589 | image: url(":/qss_icons/rc/left_arrow_disabled.png");
1590 | }
1591 |
1592 | QTabBar QToolButton::right-arrow:enabled {
1593 | image: url(":/qss_icons/rc/right_arrow.png");
1594 | }
1595 |
1596 | QTabBar QToolButton::right-arrow:disabled {
1597 | image: url(":/qss_icons/rc/right_arrow_disabled.png");
1598 | }
1599 |
1600 | /* QDockWiget -------------------------------------------------------------
1601 |
1602 | --------------------------------------------------------------------------- */
1603 | QDockWidget {
1604 | outline: 1px solid #32414B;
1605 | background-color: #19232D;
1606 | border: 1px solid #32414B;
1607 | border-radius: 4px;
1608 | titlebar-close-icon: url(":/qss_icons/rc/close.png");
1609 | titlebar-normal-icon: url(":/qss_icons/rc/undock.png");
1610 | }
1611 |
1612 | QDockWidget::title {
1613 | /* Better size for title bar */
1614 | padding: 6px;
1615 | border: none;
1616 | background-color: #32414B;
1617 | }
1618 |
1619 | QDockWidget::close-button {
1620 | background-color: #32414B;
1621 | border-radius: 4px;
1622 | border: none;
1623 | }
1624 |
1625 | QDockWidget::close-button:hover {
1626 | border: 1px solid #32414B;
1627 | }
1628 |
1629 | QDockWidget::close-button:pressed {
1630 | border: 1px solid #32414B;
1631 | }
1632 |
1633 | QDockWidget::float-button {
1634 | background-color: #32414B;
1635 | border-radius: 4px;
1636 | border: none;
1637 | }
1638 |
1639 | QDockWidget::float-button:hover {
1640 | border: 1px solid #32414B;
1641 | }
1642 |
1643 | QDockWidget::float-button:pressed {
1644 | border: 1px solid #32414B;
1645 | }
1646 |
1647 | /* QTreeView QListView QTableView -----------------------------------------
1648 |
1649 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview
1650 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview
1651 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview
1652 |
1653 | --------------------------------------------------------------------------- */
1654 | QTreeView:branch:selected, QTreeView:branch:hover {
1655 | background: url(":/qss_icons/rc/transparent.png");
1656 | }
1657 |
1658 | QTreeView:branch:has-siblings:!adjoins-item {
1659 | border-image: url(":/qss_icons/rc/transparent.png");
1660 | }
1661 |
1662 | QTreeView:branch:has-siblings:adjoins-item {
1663 | border-image: url(":/qss_icons/rc/transparent.png");
1664 | }
1665 |
1666 | QTreeView:branch:!has-children:!has-siblings:adjoins-item {
1667 | border-image: url(":/qss_icons/rc/transparent.png");
1668 | }
1669 |
1670 | QTreeView:branch:has-children:!has-siblings:closed, QTreeView:branch:closed:has-children:has-siblings {
1671 | image: url(":/qss_icons/rc/branch_closed.png");
1672 | }
1673 |
1674 | QTreeView:branch:open:has-children:!has-siblings, QTreeView:branch:open:has-children:has-siblings {
1675 | image: url(":/qss_icons/rc/branch_open.png");
1676 | }
1677 |
1678 | QTreeView:branch:has-children:!has-siblings:closed:hover, QTreeView:branch:closed:has-children:has-siblings:hover {
1679 | image: url(":/qss_icons/rc/branch_closed-on.png");
1680 | }
1681 |
1682 | QTreeView:branch:open:has-children:!has-siblings:hover, QTreeView:branch:open:has-children:has-siblings:hover {
1683 | image: url(":/qss_icons/rc/branch_open-on.png");
1684 | }
1685 |
1686 | QTreeView::indicator:checked,
1687 | QListView::indicator:checked {
1688 | image: url(":/qss_icons/rc/checkbox_checked.png");
1689 | }
1690 |
1691 | QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed,
1692 | QListView::indicator:checked:hover,
1693 | QListView::indicator:checked:focus,
1694 | QListView::indicator:checked:pressed {
1695 | image: url(":/qss_icons/rc/checkbox_checked_focus.png");
1696 | }
1697 |
1698 | QTreeView::indicator:unchecked,
1699 | QListView::indicator:unchecked {
1700 | image: url(":/qss_icons/rc/checkbox_unchecked.png");
1701 | }
1702 |
1703 | QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed,
1704 | QListView::indicator:unchecked:hover,
1705 | QListView::indicator:unchecked:focus,
1706 | QListView::indicator:unchecked:pressed {
1707 | image: url(":/qss_icons/rc/checkbox_unchecked_focus.png");
1708 | }
1709 |
1710 | QTreeView::indicator:indeterminate,
1711 | QListView::indicator:indeterminate {
1712 | image: url(":/qss_icons/rc/checkbox_indeterminate.png");
1713 | }
1714 |
1715 | QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed,
1716 | QListView::indicator:indeterminate:hover,
1717 | QListView::indicator:indeterminate:focus,
1718 | QListView::indicator:indeterminate:pressed {
1719 | image: url(":/qss_icons/rc/checkbox_indeterminate_focus.png");
1720 | }
1721 |
1722 | QTreeView,
1723 | QListView,
1724 | QTableView,
1725 | QColumnView {
1726 | background-color: #19232D;
1727 | border: 1px solid #32414B;
1728 | color: #F0F0F0;
1729 | gridline-color: #32414B;
1730 | border-radius: 4px;
1731 | }
1732 |
1733 | QTreeView:disabled,
1734 | QListView:disabled,
1735 | QTableView:disabled,
1736 | QColumnView:disabled {
1737 | background-color: #19232D;
1738 | color: #787878;
1739 | }
1740 |
1741 | QTreeView:selected,
1742 | QListView:selected,
1743 | QTableView:selected,
1744 | QColumnView:selected {
1745 | background: #1464A0;
1746 | color: #32414B;
1747 | }
1748 |
1749 | QTreeView::hover,
1750 | QListView::hover,
1751 | QTableView::hover,
1752 | QColumnView::hover {
1753 | background-color: #19232D;
1754 | border: 1px solid #148CD2;
1755 | }
1756 |
1757 | QTreeView::item:pressed,
1758 | QListView::item:pressed,
1759 | QTableView::item:pressed,
1760 | QColumnView::item:pressed {
1761 | background-color: #1464A0;
1762 | }
1763 |
1764 | QTreeView::item:selected:hover,
1765 | QListView::item:selected:hover,
1766 | QTableView::item:selected:hover,
1767 | QColumnView::item:selected:hover {
1768 | background: #1464A0;
1769 | color: #19232D;
1770 | }
1771 |
1772 | QTreeView::item:selected:active,
1773 | QListView::item:selected:active,
1774 | QTableView::item:selected:active,
1775 | QColumnView::item:selected:active {
1776 | background-color: #1464A0;
1777 | }
1778 |
1779 | QTreeView::item:!selected:hover,
1780 | QListView::item:!selected:hover,
1781 | QTableView::item:!selected:hover,
1782 | QColumnView::item:!selected:hover {
1783 | outline: 0;
1784 | color: #148CD2;
1785 | background-color: #32414B;
1786 | }
1787 |
1788 | QTableCornerButton::section {
1789 | background-color: #19232D;
1790 | border: 1px transparent #32414B;
1791 | border-radius: 0px;
1792 | }
1793 |
1794 | /* QHeaderView ------------------------------------------------------------
1795 |
1796 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview
1797 |
1798 | --------------------------------------------------------------------------- */
1799 | QHeaderView {
1800 | background-color: #32414B;
1801 | border: 0px transparent #32414B;
1802 | padding: 0px;
1803 | margin: 0px;
1804 | border-radius: 0px;
1805 | }
1806 |
1807 | QHeaderView:disabled {
1808 | background-color: #32414B;
1809 | border: 1px transparent #32414B;
1810 | padding: 2px;
1811 | }
1812 |
1813 | QHeaderView::section {
1814 | background-color: #32414B;
1815 | color: #F0F0F0;
1816 | padding: 2px;
1817 | border-radius: 0px;
1818 | text-align: left;
1819 | }
1820 |
1821 | QHeaderView::section:checked {
1822 | color: #F0F0F0;
1823 | background-color: #1464A0;
1824 | }
1825 |
1826 | QHeaderView::section:checked:disabled {
1827 | color: #787878;
1828 | background-color: #14506E;
1829 | }
1830 |
1831 | QHeaderView::section::horizontal {
1832 | border-left: 1px solid #19232D;
1833 | }
1834 |
1835 | QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one {
1836 | border-left: 1px solid #32414B;
1837 | }
1838 |
1839 | QHeaderView::section::horizontal:disabled {
1840 | color: #787878;
1841 | }
1842 |
1843 | QHeaderView::section::vertical {
1844 | border-top: 1px solid #19232D;
1845 | }
1846 |
1847 | QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one {
1848 | border-top: 1px solid #32414B;
1849 | }
1850 |
1851 | QHeaderView::section::vertical:disabled {
1852 | color: #787878;
1853 | }
1854 |
1855 | QHeaderView::down-arrow {
1856 | /* Those settings (border/width/height/background-color) solve bug */
1857 | /* transparent arrow background and size */
1858 | background-color: #32414B;
1859 | width: 16px;
1860 | height: 16px;
1861 | border-right: 1px solid #19232D;
1862 | image: url(":/qss_icons/rc/down_arrow.png");
1863 | }
1864 |
1865 | QHeaderView::up-arrow {
1866 | background-color: #32414B;
1867 | width: 16px;
1868 | height: 16px;
1869 | border-right: 1px solid #19232D;
1870 | image: url(":/qss_icons/rc/up_arrow.png");
1871 | }
1872 |
1873 | /* QToolBox --------------------------------------------------------------
1874 |
1875 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox
1876 |
1877 | --------------------------------------------------------------------------- */
1878 | QToolBox {
1879 | padding: 0px;
1880 | border: 1px solid #32414B;
1881 | }
1882 |
1883 | QToolBox::selected {
1884 | padding: 0px;
1885 | border: 2px solid #1464A0;
1886 | }
1887 |
1888 | QToolBox::tab {
1889 | background-color: #19232D;
1890 | border: 1px solid #32414B;
1891 | color: #F0F0F0;
1892 | border-top-left-radius: 4px;
1893 | border-top-right-radius: 4px;
1894 | }
1895 |
1896 | QToolBox::tab:disabled {
1897 | color: #787878;
1898 | }
1899 |
1900 | QToolBox::tab:selected {
1901 | background-color: #505F69;
1902 | border-bottom: 2px solid #1464A0;
1903 | }
1904 |
1905 | QToolBox::tab:selected:disabled {
1906 | background-color: #32414B;
1907 | border-bottom: 2px solid #14506E;
1908 | }
1909 |
1910 | QToolBox::tab:!selected {
1911 | background-color: #32414B;
1912 | border-bottom: 2px solid #32414B;
1913 | }
1914 |
1915 | QToolBox::tab:!selected:disabled {
1916 | background-color: #19232D;
1917 | }
1918 |
1919 | QToolBox::tab:hover {
1920 | border-color: #148CD2;
1921 | border-bottom: 2px solid #148CD2;
1922 | }
1923 |
1924 | QToolBox QScrollArea QWidget QWidget {
1925 | padding: 0px;
1926 | background-color: #19232D;
1927 | }
1928 |
1929 | /* QFrame -----------------------------------------------------------------
1930 |
1931 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe
1932 |
1933 | --------------------------------------------------------------------------- */
1934 | QFrame {
1935 | border-radius: 4px;
1936 | border: 1px solid #32414B;
1937 | }
1938 |
1939 | QFrame[frameShape="0"] {
1940 | border-radius: 4px;
1941 | border: 1px transparent #32414B;
1942 | }
1943 |
1944 | QFrame[height="3"], QFrame[width="3"] {
1945 | background-color: #19232D;
1946 | }
1947 |
1948 | /* QSplitter --------------------------------------------------------------
1949 |
1950 | https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter
1951 |
1952 | --------------------------------------------------------------------------- */
1953 | QSplitter {
1954 | background-color: #32414B;
1955 | spacing: 0px;
1956 | padding: 0px;
1957 | margin: 0px;
1958 | }
1959 |
1960 | QSplitter::separator {
1961 | background-color: #32414B;
1962 | border: 0px solid #19232D;
1963 | spacing: 0px;
1964 | padding: 1px;
1965 | margin: 0px;
1966 | }
1967 |
1968 | QSplitter::separator:hover {
1969 | background-color: #787878;
1970 | }
1971 |
1972 | QSplitter::separator:horizontal {
1973 | width: 5px;
1974 | image: url(":/qss_icons/rc/Vsepartoolbar.png");
1975 | }
1976 |
1977 | QSplitter::separator:vertical {
1978 | height: 5px;
1979 | image: url(":/qss_icons/rc/Hsepartoolbar.png");
1980 | }
1981 |
1982 | /* QDateEdit --------------------------------------------------------------
1983 |
1984 | --------------------------------------------------------------------------- */
1985 | QDateEdit {
1986 | selection-background-color: #1464A0;
1987 | border-style: solid;
1988 | border: 1px solid #32414B;
1989 | border-radius: 4px;
1990 | /* This fixes 103, 111 */
1991 | padding-top: 2px;
1992 | /* This fixes 103, 111 */
1993 | padding-bottom: 2px;
1994 | padding-left: 4px;
1995 | padding-right: 4px;
1996 | min-width: 10px;
1997 | }
1998 |
1999 | QDateEdit:on {
2000 | selection-background-color: #1464A0;
2001 | }
2002 |
2003 | QDateEdit::drop-down {
2004 | subcontrol-origin: padding;
2005 | subcontrol-position: top right;
2006 | width: 20px;
2007 | border-top-right-radius: 3px;
2008 | border-bottom-right-radius: 3px;
2009 | }
2010 |
2011 | QDateEdit::down-arrow {
2012 | image: url(":/qss_icons/rc/down_arrow_disabled.png");
2013 | }
2014 |
2015 | QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus {
2016 | image: url(":/qss_icons/rc/down_arrow.png");
2017 | }
2018 |
2019 | QDateEdit QAbstractItemView {
2020 | background-color: #19232D;
2021 | border-radius: 4px;
2022 | border: 1px solid #32414B;
2023 | selection-background-color: #1464A0;
2024 | }
2025 |
2026 | QAbstractView:hover {
2027 | border: 1px solid #148CD2;
2028 | color: #F0F0F0;
2029 | }
2030 |
2031 | QAbstractView:selected {
2032 | background: #1464A0;
2033 | color: #32414B;
2034 | }
2035 |
2036 | PlotWidget {
2037 | /* Fix cut labels in plots #134 */
2038 | padding: 0px;
2039 | }
--------------------------------------------------------------------------------