diff --git a/UI/data/themes/Acri.qss b/UI/data/themes/Acri.qss deleted file mode 100644 index 593a75536..000000000 --- a/UI/data/themes/Acri.qss +++ /dev/null @@ -1,1550 +0,0 @@ -/******************************************************************************/ -/* Copyright (C) 2014-2015 by Philippe Groarke */ -/* */ -/* */ -/* This program is free software: you can redistribute it and/or modify */ -/* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation, either version 2 of the License, or */ -/* (at your option) any later version. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program. If not, see . */ -/******************************************************************************/ - -/* Colors */ - -OBSThemeMeta { - dark: 'true'; - author: 'Warchamp7'; -} - -/* Custom theme information. This will set the application's QPalette, as - * well as pass to QML via the OBSTheme object. - * Can also use OBSTheme::disabled, OBSTheme::active, and OBSTheme::inactive. - * Using it without will set all three (making 'active' a bit redundant) */ -OBSTheme { - window: rgb(16,16,16); - windowText: rgb(255,254,255); - - base: rgb(24,24,25); - alternateBase: rgb(11,10,11); - - text: rgb(255,254,255); - - button: rgb(22,36,88); - buttonText: rgb(255,254,255); - - brightText: rgb(255,254,255); - - light: rgb(88,87,88); - mid: rgb(16,16,16); - dark: rgb(24,24,25); - shadow: rgb(11,10,11); - - primary: rgb(19,26,48); - primaryLight: rgb(54,92,192); - primaryDark: rgb(22,31,65); - - highlight: rgb(42,130,218); - highlightText: rgb(255,254,255); - - link: rgb(77,166,255); - linkVisited: rgb(77,166,255); -} - -OBSTheme::disabled { - windowText: rgb(153,153,153); - text: rgb(153,153,153); - button: rgb(27,29,34); - - buttonText: rgb(24,24,25); - brightText: rgb(24,24,25); -} - -OBSTheme::inactive { - text: rgb(255,254,255); - - highlight: rgb(25,28,34); - highlightText: rgb(255,255,255); -} - -/* Default widget style, we override only what is needed. */ - -QWidget { - alternate-background-color: palette(base); - color: palette(text); - selection-background-color: rgb(22,31,65); - selection-color: palette(text); - font-size: 10pt; - font-family: 'Open Sans', '.AppleSystemUIFont', Helvetica, Arial, 'MS Shell Dlg', sans-serif; -} - -QWidget:disabled { - color: rgb(153,153,153); -} - -/* Container windows */ - -QDialog, -QMainWindow, -QStatusBar, -QMenuBar, -QMenu { - background-color: palette(window); -} - -/* macOS Separator Fix */ - -QMainWindow::separator { - background: transparent; - width: 4px; - height: 4px; -} - -/* General Widgets */ - -QLabel, -QGroupBox, -QCheckBox { - background: transparent; -} - -QComboBox, -QCheckBox, -QPushButton, -QSpinBox, -QDoubleSpinBox { - margin-top: 3px; - margin-bottom: 3px; -} - -QListWidget QWidget, -SceneTree QWidget, -SourceTree QWidget { - margin-top: 0; - margin-bottom: 0; -} - -* [frameShape="1"], * [frameShape="2"], * [frameShape="3"], * [frameShape="4"], * [frameShape="5"], * [frameShape="6"] { - border: 1px solid palette(dark); -} - - -/* Misc */ - -QAbstractItemView, QStackedWidget#stackedMixerArea QWidget { - background-color: palette(base); -} - -QToolTip { - background-color: palette(base); - color: palette(text); - border: none; -} - -/* Context Menu */ - -QMenu::icon { - left: 4px; -} - -QMenu::separator { - background: rgb(42,42,44); - height: 1px; - margin: 3px 6px; -} - -QMenu::item:disabled { - color: rgb(153,153,153); - background: transparent; -} - -QMenu::right-arrow { - image: url(theme:Dark/expand.svg); -} - -/* Top Menu Bar Items */ -QMenuBar::item { - background-color: transparent; -} - -QMenuBar::item:selected { - background: rgb(19,26,48); -} - -/* Item Lists */ -QListWidget { - border-radius: 4px; -} - -QListWidget::item { - color: palette(text); -} - -QListWidget, -QMenu, -SceneTree, -SourceTree { - padding: 3px; -} - -QListWidget::item, -SourceTreeItem, -QMenu::item, -SceneTree::item { - padding: 6px; -} - -QMenu::item { - padding-right: 20px; -} - -QListWidget::item, -SourceTreeItem, -QMenu::item, -SceneTree::item, -SourceTree::item { - border-radius: 4px; - color: palette(text); - border: 0px solid transparent; -} - -QMenu::item:selected, -QListWidget::item:selected, -SceneTree::item:selected, -SourceTree::item:selected { - background-color: rgb(19,26,48); -} - -QMenu::item:hover, -QListWidget::item:hover, -SceneTree::item:hover, -SourceTree::item:hover, -QMenu::item:selected:hover, -QListWidget::item:selected:hover, -SceneTree::item:selected:hover, -SourceTree::item:selected:hover { - background-color: rgb(33,33,33); - color: palette(text); -} - -QListWidget::item:disabled, -QListWidget::item:disabled:hover { - background: transparent; - color: rgb(153,153,153); -} - -QListWidget QLineEdit, -SceneTree QLineEdit, -SourceTree QLineEdit { - padding: 0px; - padding-bottom: 2px; - margin: 0px; - border: 1px solid #FFF; - border-radius: 4px; -} - -QListWidget QLineEdit:focus, -SceneTree QLineEdit:focus, -SourceTree QLineEdit:focus { - border: 1px solid #FFF; -} - -/* Settings QList */ - -OBSBasicSettings QListWidget { - border-radius: 4px; - padding: 3px; -} - -OBSBasicSettings QListWidget::item { - border-radius: 4px; - padding: 6px; -} - -/* Settings properties view */ -OBSBasicSettings #PropertiesContainer { - background-color: palette(dark); -} - -#PropertiesContainer QListWidget { - background-color: palette(button); -} - -/* Dock Widget */ -OBSDock > QWidget { - background: palette(dark); - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -OBSDock QLabel { - background: transparent; -} - -#transitionsFrame { - padding: 4px 8px; -} - -QDockWidget { - font-size: 10.5pt; - font-weight: bold; - - titlebar-close-icon: url(theme:Dark/close.svg); - titlebar-normal-icon: url(theme:Dark/popout.svg); -} - -QDockWidget::title { - text-align: left; - background-color: palette(base); - padding: 6px 8px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -QDockWidget::close-button, QDockWidget::float-button { - border: 0px solid transparent; - border-radius: 4px; - background: transparent; - margin-right: 1px; - opacity: .5; -} - -QDockWidget::close-button:hover, QDockWidget::float-button:hover { - background: rgb(61,61,63); - opacity: 1; -} - -QDockWidget::close-button:pressed, QDockWidget::float-button:pressed { - padding: 1px -1px -1px 1px; -} - -QScrollArea { - border-radius: 4px; -} - -/* Qt enforces a padding inside its status bar, so we - * oversize it and use margin to crunch it back down - */ -OBSBasicStatusBar { - margin-top: 4px; - border-top: 1px solid #3c404b; - background: palette(dark); -} - -StatusBarWidget > QFrame { - margin-top: 1px; - border: 0px solid #3c404b; - border-left-width: 1px; - padding: 0px 12px 2px; -} - -/* Group Box */ - -QGroupBox { - background: palette(dark); - border-radius: 4px; - padding-top: 32px; - padding-bottom: 8px; - font-weight: bold; - margin-bottom: 6px; -} - -QGroupBox::title { - subcontrol-origin: margin; - left: 8px; - top: 8px; -} - - -/* ScrollBars */ - -::corner { - background-color: palette(window); - border: none; -} - -QScrollBar:vertical { - background-color: transparent; - width: 14px; - margin: 0px; -} - -QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { - border: none; - background: none; - height: 0px; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - border: none; - background: none; - color: none; -} - -QScrollBar:horizontal { - background-color: transparent; - height: 14px; - margin: 0px; -} - -QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { - border: none; - background: none; - width: 0px; -} - -QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - border: none; - background: none; - color: none; -} - -QScrollBar::handle { - background-color: rgb(40,40,42); - margin: 2px; - border-radius: 2px; - border: 1px solid rgb(40,40,42); -} - -QScrollBar::handle:hover { - background-color: rgb(42,58,117); - border-color: rgb(42,58,117); -} - -QScrollBar::handle:pressed { - background-color: rgb(40,40,42); - border-color: rgb(40,40,42); -} - -QScrollBar::handle:vertical { - min-height: 20px; -} - -QScrollBar::handle:horizontal { - min-width: 20px; -} - -/* Source Context Bar */ - -#contextContainer { - background-color: palette(dark); - margin-top: 4px; - border-radius: 4px; -} - -#contextContainer QPushButton { - padding-left: 12px; - padding-right: 12px; -} - -QPushButton#sourcePropertiesButton { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -QPushButton#sourceFiltersButton { - qproperty-icon: url(theme:Dark/filter.svg); -} - -/* Scenes and Sources toolbar */ - -QToolBar { - background-color: palette(dark); - border: none; - padding: 0px; - margin: 4px 0px; -} - -QPushButton[toolButton="true"], -QToolButton, -QPushButton[toolButton="true"]:disabled, -QToolButton:disabled { - background-color: palette(base); - padding: 4px 6px; - margin: 0px 2px; - border-radius: 4px; -} - -QPushButton[toolButton="true"]:last-child, -QToolButton:last-child { - margin-right: 0px; -} - -QToolButton:hover { - background-color: rgb(42,58,117); -} - -QToolButton:pressed { - background-color: rgb(22,31,65); -} - -* [themeID="addIconSmall"] { - qproperty-icon: url(theme:Dark/plus.svg); -} - -* [themeID="removeIconSmall"] { - qproperty-icon: url(theme:Dark/trash.svg); -} - -* [themeID="clearIconSmall"] { - qproperty-icon: url(theme:Dark/entry-clear.svg); -} - -* [themeID="propertiesIconSmall"] { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -* [themeID="configIconSmall"] { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -* [themeID="menuIconSmall"] { - qproperty-icon: url(theme:Dark/dots-vert.svg); -} - -* [themeID="refreshIconSmall"] { - qproperty-icon: url(theme:Dark/refresh.svg); -} - -* [themeID="cogsIcon"] { - qproperty-icon: url(theme:Dark/cogs.svg); -} - -#sourceInteractButton { - qproperty-icon: url(theme:Dark/interact.svg); -} - -* [themeID="upArrowIconSmall"] { - qproperty-icon: url(theme:Dark/up.svg); -} - -* [themeID="downArrowIconSmall"] { - qproperty-icon: url(theme:Dark/down.svg); -} - -* [themeID="pauseIconSmall"] { - qproperty-icon: url(theme:Dark/media-pause.svg); -} - -* [themeID="filtersIcon"] { - qproperty-icon: url(theme:Dark/filter.svg); -} - -QToolBarExtension { - background: palette(button); - min-width: 12px; - max-width: 12px; - padding: 4px 0px; - margin-left: 0px; - - qproperty-icon: url(theme:Dark/dots-vert.svg); -} - - -/* Tab Widget */ - -QTabWidget::pane { /* The tab widget frame */ - border-top: 4px solid palette(base); -} - -QTabWidget::tab-bar { - alignment: left; -} - -QTabBar QToolButton { - background: rgb(44,46,53); - border: none; -} - -QTabBar::tab:top { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -QTabBar::tab:bottom { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -QTabBar::tab { - background: palette(dark); - color: palette(text); - border: none; - padding: 8px 12px; - min-width: 50px; - margin: 1px 2px; -} - -QTabBar::tab:pressed { - background: rgb(22,31,65); -} - -QTabBar::tab:hover { - background: rgb(42,58,117); - color: palette(text); -} - -QTabBar::tab:selected { - background: rgb(22,36,88); - color: palette(text); -} - -QTabBar::tab:top:selected { - border-bottom: 2px solid rgb(250,250,250); -} - -QTabBar::tab:bottom:selected { - border-top: 2px solid rgb(250,250,250); -} - -QTabBar QToolButton { - background: palette(base); - min-width: 16px; - padding: 0px; -} - -/* ComboBox */ - -QComboBox, -QDateTimeEdit { - background-color: rgb(40,40,42); - border-style: solid; - border: 1px; - border-radius: 4px; - border-color: rgb(40,40,42); - padding: 4px; - padding-left: 10px; -} - -QComboBox:hover, -QComboBox:selected, -QDateTimeEdit:hover, -QDateTimeEdit:selected { - background-color: rgb(61,61,63); -} - -QComboBox::drop-down, -QDateTimeEdit::drop-down { - border:none; - border-left: 1px solid rgb(25,28,34); - width: 20px; -} - -QComboBox::down-arrow, -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Dark/updown.svg); - width: 100%; -} - -QComboBox:on, -QDateTimeEdit:on { - background-color: rgb(42,58,117); -} - -QComboBox:editable:hover { - -} - -QComboBox::drop-down:editable, -QDateTimeEdit::drop-down:editable { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -QComboBox::down-arrow:editable, -QDateTimeEdit::down-arrow:editable { - qproperty-alignment: AlignTop; - image: url(theme:Dark/down.svg); - width: 8%; -} - -/* Textedits etc */ - -QLineEdit, QTextEdit, QPlainTextEdit { - background-color: rgb(40,40,42); - border: none; - border-radius: 4px; - padding: 5px 2px 5px 7px; - border: 2px solid transparent; -} - -QLineEdit:hover, -QTextEdit:hover, -QPlainTextEdit:hover { - border: 2px solid rgb(99,102,111); -} - -QLineEdit:focus, -QTextEdit:focus, -QPlainTextEdit:focus { - background-color: palette(mid); - border: 2px solid rgb(19,26,48); -} - -/* Spinbox and doubleSpinbox */ - -QSpinBox, -QDoubleSpinBox { - background-color: rgb(40,40,42); - border: 2px solid rgb(40,40,42); - border-radius: 4px; - margin-right: 3px; - padding: 3px 0px 4px 5px; -} - -QSpinBox:hover, -QDoubleSpinBox:hover { - border: 2px solid rgb(99,102,111); -} - -QSpinBox:focus, -QDoubleSpinBox:focus { - background-color: palette(mid); - border: 2px solid rgb(19,26,48); -} - -QSpinBox::up-button, QDoubleSpinBox::up-button { - subcontrol-origin: padding; - subcontrol-position: top right; /* position at the top right corner */ - right: 2px; - border-radius: 3px; - border-width: 0; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom-width: 0; -} - -QSpinBox::down-button, QDoubleSpinBox::down-button { - subcontrol-origin: padding; - subcontrol-position: bottom right; /* position at the top right corner */ - right: 2px; - border-radius: 3px; - border-width: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - border-top-width: 0; -} - -QSpinBox::up-button:hover, QSpinBox::down-button:hover, QDoubleSpinBox::up-button:hover, QDoubleSpinBox::down-button:hover { - background-color: rgb(61,61,63); -} - -QSpinBox::up-button:pressed, QSpinBox::down-button:pressed, QDoubleSpinBox::up-button:pressed, QDoubleSpinBox::down-button:pressed { - background-color: rgb(22,31,65); -} - -QSpinBox::up-button:disabled, QSpinBox::up-button:off, QSpinBox::down-button:disabled, QSpinBox::down-button:off { - background-color: rgb(22,31,65); -} - -QDoubleSpinBox::up-button:disabled, QDoubleSpinBox::up-button:off, QDoubleSpinBox::down-button:disabled, QDoubleSpinBox::down-button:off { - background-color: rgb(22,31,65); -} - -QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { - image: url(theme:Dark/up.svg); - width: 100%; - margin: 2px; -} - -QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { - image: url(theme:Dark/down.svg); - width: 100%; - padding: 2px; -} - - -/* Controls Dock */ -#controlsFrame { - padding: 4px 3px; -} - -#controlsFrame QPushButton { - margin: 2px 1px; -} - -#streamButton, -#recordButton, -QPushButton[themeID="replayBufferButton"], -#broadcastButton { - padding: 10px; -} - -/* Primary Control Button Checked Coloring */ -#streamButton:!hover:!pressed:checked, -#recordButton:!hover:!pressed:checked, -QPushButton[themeID="replayBufferButton"]:!hover:!pressed:checked, -QPushButton[themeID="vcamButton"]:!hover:!pressed:checked, -#modeSwitch:!hover:!pressed:checked, -#broadcastButton:!hover:!pressed:checked { - background: rgb(88,22,36); -} - -/* Primary Control Button Hover Coloring */ -#streamButton:hover:!pressed:checked, -#recordButton:hover:!pressed:checked, -QPushButton[themeID="replayBufferButton"]:!pressed:checked, -QPushButton[themeID="vcamButton"]:!pressed:checked, -#modeSwitch:hover:!pressed:checked, -#broadcastButton:hover:!pressed:checked { - background: rgb(116,32,49); - color: palette(text); -} - -/* Primary Control Button Checked Coloring */ -#streamButton:pressed:checked, -#recordButton:pressed:checked, -QPushButton[themeID="replayBufferButton"]:pressed:checked, -QPushButton[themeID="vcamButton"]:pressed:checked, -#modeSwitch:pressed:checked, -#broadcastButton:pressed:checked { - background: rgb(63,21,30); -} - -/* Buttons */ - -QPushButton { - color: palette(text); - background-color: palette(button); - min-height: 18px; - border: none; - border-radius: 4px; - padding: 6px 16px; -} - -QPushButton::flat { - background-color: rgb(22,36,88); -} - -QPushButton:checked { - background-color: rgb(19,26,48); -} - -QPushButton:hover { - background-color: rgb(42,58,117); -} - -QPushButton:pressed { - background-color: rgb(22,31,65); -} - -QPushButton:disabled, QToolButton:disabled { - background-color: rgb(22,31,65); -} - -QPushButton::menu-indicator { - image: url(theme:Dark/down.svg); - subcontrol-position: right; - subcontrol-origin: padding; - width: 25px; -} - -/* Sliders */ - -QSlider::groove:horizontal { - background-color: rgb(40,40,42); - height: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:horizontal { - background-color: palette(text); - border: 1px solid palette(mid); - border-radius: 3px; - height: 10px; - width: 18px; - margin: -3px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:horizontal:pressed { - background-color: palette(text); -} - -QSlider::sub-page:horizontal { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::sub-page:horizontal:disabled { - background-color: palette(window); - border-radius: 2px; -} - -QSlider::groove:vertical { - background-color: rgb(40,40,42); - width: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:vertical { - background-color: palette(text); - border: 1px solid palette(mid); - border-radius: 3px; - width: 10px; - height: 18px; - margin: 0 -3px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:vertical:pressed { - background-color: palette(text); -} - -QSlider::add-page:vertical { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::add-page:vertical:disabled { - background-color: palette(window); - border-radius: 2px; -} - -QSlider::handle:hover { - background-color: rgb(200,199,200); -} - -QSlider::handle:disabled { - background-color: rgb(68,75,110); -} - -/* Volume Control */ - -#stackedMixerArea QPushButton { - min-width: 16px; - padding: 4px 8px; -} - -/* This is an incredibly cursed but necessary fix */ -#stackedMixerArea QPushButton:!hover { - background-color: palette(base); -} - -#stackedMixerArea QPushButton:hover { - background-color: rgb(42,58,117); -} - -#stackedMixerArea QPushButton:pressed { - background-color: rgb(22,31,65); -} - -VolumeMeter { - qproperty-backgroundNominalColor: rgb(66,116,12); - qproperty-backgroundWarningColor: rgb(152,143,15); - qproperty-backgroundErrorColor: rgb(128,32,4); - qproperty-foregroundNominalColor: rgb(132,216,43); - qproperty-foregroundWarningColor: rgb(228,215,23); - qproperty-foregroundErrorColor: rgb(215,65,22); - qproperty-magnitudeColor: rgb(49,54,59); - qproperty-majorTickColor: rgb(239,240,241); - qproperty-minorTickColor: rgb(118,121,124); - qproperty-peakDecayRate: 23.4; -} - -/* Status Bar */ - -QStatusBar::item { - border: none; -} - -/* Table View */ - -QTableView { - background: palette(base); - gridline-color: palette(light); -} - -QTableView::item { - margin: 0px; - padding: 0px; -} - -QTableView QLineEdit { - background: palette(mid); - padding: 0; - margin: 0; -} - -QTableView QPushButton, -QTableView QToolButton { - margin: 1px 1px 2px; -} - -QHeaderView::section { - background-color: rgb(40,40,42); - color: palette(text); - border: none; - border-left: 1px solid palette(window); - border-right: 1px solid palette(window); - padding: 2px 4px; - margin-bottom: 2px; -} - -/* Mute CheckBox */ - -MuteCheckBox::indicator:checked { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:indeterminate { - image: url(theme:Dark/unassigned.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Dark/settings/audio.svg); -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: rgb(53,82,222); -} - -/* Label warning/error */ - -QLabel#warningLabel { - color: rgb(192,128,0); - font-weight: bold; -} - -QLabel#errorLabel { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="warning"] { - color: rgb(192,128,0); - font-weight: bold; -} - -* [themeID="error"] { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="good"] { - color: rgb(0,192,0); - font-weight: bold; -} - -/* About dialog */ - -* [themeID="aboutName"] { - font-size: 26pt; - font-weight: bold; -} - -* [themeID="aboutVersion"] { - font-size: 12pt; - margin-bottom: 20px; -} - -* [themeID="aboutInfo"] { - margin-bottom: 20px; -} - -* [themeID="aboutHLayout"] { - background-color: palette(base); -} - -/* Canvas / Preview background color */ - -OBSQTDisplay { - qproperty-displayBackgroundColor: rgb(40,40,42); - border-radius: 10px; -} - -/* Filters Window */ - -OBSBasicFilters QListWidget { - border-radius: 4px; - padding: 3px; -} - -OBSBasicFilters QListWidget::item { - border-radius: 4px; - padding: 6px; -} - -OBSBasicFilters #widget, -OBSBasicFilters #widget_2 { - margin: 0px; - padding: 0px; - padding-bottom: 4px; -} - -OBSBasicFilters #widget QPushButton, -OBSBasicFilters #widget_2 QPushButton { - min-width: 16px; - padding: 4px 8px; - margin-top: 0px; -} - -/* Preview/Program labels */ - -* [themeID="previewProgramLabels"] { - font-size: 14pt; - font-weight: bold; - color: rgb(210,210,210); - margin-bottom: 4px; -} - -/* Settings Icons */ - -OBSBasicSettings { - qproperty-generalIcon: url(theme:Dark/settings/general.svg); - qproperty-streamIcon: url(theme:Dark/settings/stream.svg); - qproperty-outputIcon: url(theme:Dark/settings/output.svg); - qproperty-audioIcon: url(theme:Dark/settings/audio.svg); - qproperty-videoIcon: url(theme:Dark/settings/video.svg); - qproperty-hotkeysIcon: url(theme:Dark/settings/hotkeys.svg); - qproperty-accessibilityIcon: url(theme:Dark/settings/accessibility.svg); - qproperty-advancedIcon: url(theme:Dark/settings/advanced.svg); -} - -/* Checkboxes */ -QCheckBox { - -} - -QCheckBox::indicator, -QGroupBox::indicator { - width: 18px; - height: 18px; -} - -QGroupBox::indicator { - margin-left: 2px; -} - -QCheckBox::indicator:unchecked, -QGroupBox::indicator:unchecked { - image: url(theme:Yami/checkbox_unchecked.svg); -} - -QCheckBox::indicator:unchecked:hover, -QGroupBox::indicator:unchecked:hover { - border: none; - image: url(theme:Yami/checkbox_unchecked_focus.svg); -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - image: url(theme:Yami/checkbox_checked.svg); -} - -QCheckBox::indicator:checked:hover, -QGroupBox::indicator:checked:hover { - border: none; - image: url(theme:Yami/checkbox_checked_focus.svg); -} - -QCheckBox::indicator:checked:disabled, -QGroupBox::indicator:checked:disabled { - image: url(theme:Yami/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:unchecked:disabled, -QGroupBox::indicator:unchecked:disabled { - image: url(theme:Yami/checkbox_unchecked_disabled.svg); -} - -/* Locked CheckBox */ - -QCheckBox[lockCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[lockCheckBox=true]::indicator { - width: 16px; - height: 16px; -} - -QCheckBox[lockCheckBox=true]::indicator:checked, -QCheckBox[lockCheckBox=true]::indicator:checked:hover { - image: url(theme:Dark/locked.svg); -} - -QCheckBox[lockCheckBox=true]::indicator:unchecked, -QCheckBox[lockCheckBox=true]::indicator:unchecked:hover { - image: url(:res/images/unlocked.svg); -} - -/* Visibility CheckBox */ - -QCheckBox[visibilityCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[visibilityCheckBox=true]::indicator { - width: 16px; - height: 16px; -} - -QCheckBox[visibilityCheckBox=true]::indicator:checked, -QCheckBox[visibilityCheckBox=true]::indicator:checked:hover { - image: url(theme:Dark/visible.svg); -} - -QCheckBox[visibilityCheckBox=true]::indicator:unchecked, -QCheckBox[visibilityCheckBox=true]::indicator:unchecked:hover { - image: url(:res/images/invisible.svg); -} - -* [themeID="revertIcon"] { - qproperty-icon: url(theme:Dark/revert.svg); -} - -QPushButton#extraPanelDelete { - background-color: palette(mid); - margin: 0; - padding: 0; -} - -QPushButton#extraPanelDelete:hover { - background-color: rgb(68,75,110); -} - -QPushButton#extraPanelDelete:pressed { - background-color: palette(dark); -} - -/* Mute CheckBox */ - -MuteCheckBox { - outline: none; -} - -MuteCheckBox::indicator { - width: 16px; - height: 16px; -} - -MuteCheckBox::indicator:checked { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:unchecked:hover { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:unchecked:focus { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:checked:hover { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:checked:focus { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:checked:disabled { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:unchecked:disabled { - image: url(theme:Dark/settings/audio.svg); -} - -#hotkeyFilterReset { - margin-top: 0px; -} - -OBSHotkeyWidget { - padding: 8px 0px; - margin: 2px 0px; -} - -OBSHotkeyLabel { - padding: 4px 0px; -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: rgb(53,82,222); -} - -OBSHotkeyWidget QPushButton { - min-width: 16px; - padding: 4px 4px; - margin-top: 0px; - margin-left: 4px; -} - - -/* Sources List Group Collapse Checkbox */ - -QCheckBox[sourceTreeSubItem=true] { - background: transparent; - outline: none; - padding: 0px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator { - width: 12px; - height: 12px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator:checked, -QCheckBox[sourceTreeSubItem=true]::indicator:checked:hover { - image: url(theme:Dark/expand.svg); -} - -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked, -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked:hover { - image: url(theme:Dark/collapse.svg); -} - -/* Source Icons */ - -OBSBasic { - qproperty-imageIcon: url(theme:Dark/sources/image.svg); - qproperty-colorIcon: url(theme:Dark/sources/brush.svg); - qproperty-slideshowIcon: url(theme:Dark/sources/slideshow.svg); - qproperty-audioInputIcon: url(theme:Dark/sources/microphone.svg); - qproperty-audioOutputIcon: url(theme:Dark/settings/audio.svg); - qproperty-desktopCapIcon: url(theme:Dark/settings/video.svg); - qproperty-windowCapIcon: url(theme:Dark/sources/window.svg); - qproperty-gameCapIcon: url(theme:Dark/sources/gamepad.svg); - qproperty-cameraIcon: url(theme:Dark/sources/camera.svg); - qproperty-textIcon: url(theme:Dark/sources/text.svg); - qproperty-mediaIcon: url(theme:Dark/sources/media.svg); - qproperty-browserIcon: url(theme:Dark/sources/globe.svg); - qproperty-groupIcon: url(theme:Dark/sources/group.svg); - qproperty-sceneIcon: url(theme:Dark/sources/scene.svg); - qproperty-defaultIcon: url(theme:Dark/sources/default.svg); - qproperty-audioProcessOutputIcon: url(theme:Dark/sources/windowaudio.svg); -} - -/* Scene Tree Grid Mode */ - -SceneTree { - qproperty-gridItemWidth: 154; - qproperty-gridItemHeight: 31; -} - -*[gridMode="true"] SceneTree::item { - color: palette(text); - background-color: palette(button); - border-radius: 4px; - margin: 2px; -} - -*[gridMode="true"] SceneTree::item:selected { - background-color: rgb(88,22,36); -} - -*[gridMode="true"] SceneTree::item:checked { - background-color: rgb(88,22,36); -} - -*[gridMode="true"] SceneTree::item:hover { - background-color: rgb(42,58,117); -} - -*[gridMode="true"] SceneTree::item:selected:hover { - background-color: rgb(116,32,49); -} - -/* Save icon */ - -* [themeID="replayIconSmall"] { - qproperty-icon: url(theme:Dark/save.svg); -} - -/* Studio Mode T-Bar */ - -QSlider[themeID="tBarSlider"] { - height: 24px; -} - -QSlider::groove:horizontal[themeID="tBarSlider"] { - border: 1px solid #4c4c4c; - height: 5px; - background: palette(dark); -} - -QSlider::sub-page:horizontal[themeID="tBarSlider"] { - background: palette(dark); - border: 1px solid #4c4c4c; -} - -QSlider::handle:horizontal[themeID="tBarSlider"] { - background-color: #d2d2d2; - width: 12px; - height: 24px; - margin: -24px 0px; -} - -/* Media icons */ - -* [themeID="playIcon"] { - qproperty-icon: url(theme:Dark/media/media_play.svg); -} - -* [themeID="pauseIcon"] { - qproperty-icon: url(theme:Dark/media/media_pause.svg); -} - -* [themeID="restartIcon"] { - qproperty-icon: url(theme:Dark/media/media_restart.svg); -} - -* [themeID="stopIcon"] { - qproperty-icon: url(theme:Dark/media/media_stop.svg); -} - -* [themeID="nextIcon"] { - qproperty-icon: url(theme:Dark/media/media_next.svg); -} - -* [themeID="previousIcon"] { - qproperty-icon: url(theme:Dark/media/media_previous.svg); -} - -/* YouTube Integration */ -OBSYoutubeActions { - qproperty-thumbPlaceholder: url(theme:Dark/sources/image.svg); -} - -#ytEventList QLabel { - color: palette(text); - background-color: rgb(40,40,42); - border: none; - border-radius: 4px; - padding: 4px 20px; -} - -#ytEventList QLabel:hover { - background-color: rgb(61,61,63); -} - -#ytEventList QLabel[isSelectedEvent=true] { - background-color: rgb(19,26,48); - border: none; -} - -#ytEventList QLabel[isSelectedEvent=true]:hover { - background-color: rgb(54,92,192); - color: palette(text); -} - -/* Calendar Widget */ -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Dark/down.svg); - width: 100%; -} - -QDateTimeEdit:on { - background-color: palette(mid); -} - -/* Calendar Top Bar */ -QCalendarWidget QWidget#qt_calendar_navigationbar { - background-color: palette(base); - padding: 4px 8px; -} - -/* Calendar Top Bar Buttons */ -QCalendarWidget QToolButton { - background-color: palette(base); - padding: 2px 16px; - border-radius: 4px; - margin: 2px; -} - -#qt_calendar_monthbutton::menu-indicator { - image: url(theme:Dark/down.svg); - subcontrol-position: right; - padding-top: 2px; - padding-right: 6px; - height: 10px; - width: 10px; -} - -QCalendarWidget #qt_calendar_prevmonth { - padding: 2px; - qproperty-icon: url(theme:Dark/left.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget #qt_calendar_nextmonth { - padding: 2px; - qproperty-icon: url(theme:Dark/right.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget QToolButton:hover { - background-color: rgb(42,58,117); - border-radius: 4px; -} - -QCalendarWidget QToolButton:pressed { - background-color: rgb(22,31,65); -} - -/* Month Dropdown Menu */ -QCalendarWidget QMenu { - -} -/* Year spinbox */ -QCalendarWidget QSpinBox { - background-color: rgb(22,31,65); - border: none; - border-radius: 4px; - margin: 0px 3px 0px 0px; - padding: 4px 16px; -} - -QCalendarWidget QSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; width: 16px; } -QCalendarWidget QSpinBox::down-button {subcontrol-origin: border; subcontrol-position: bottom right; width: 16px;} -QCalendarWidget QSpinBox::up-arrow { width: 10px; height: 10px; } -QCalendarWidget QSpinBox::down-arrow { width: 10px; height: 10px; } - -/* Days of the Week Bar */ -QCalendarWidget QWidget { alternate-background-color: palette(mid); } - -QCalendarWidget QAbstractItemView:enabled { - background-color: palette(base); - color: palette(text); -} - -QCalendarWidget QAbstractItemView:disabled { - color: rgb(122,121,122); -} - -/* VirtualCam Plugin Fixes */ - -#VirtualProperties QWidget { - margin-top: 0; - margin-bottom: 0; -} - -/* Disable icons on QDialogButtonBox */ -QDialogButtonBox { - dialogbuttonbox-buttons-have-icons: 0; -} - -/* Stats dialog */ -OBSBasicStats { - background: palette(dark); -} - -/* Advanced audio dialog */ -OBSBasicAdvAudio #scrollAreaWidgetContents { - background: palette(dark); -} diff --git a/UI/data/themes/Dark.qss b/UI/data/themes/Dark.qss deleted file mode 100644 index 06b066ec5..000000000 --- a/UI/data/themes/Dark.qss +++ /dev/null @@ -1,1092 +0,0 @@ -/******************************************************************************/ -/* Copyright (C) 2014-2015 by Philippe Groarke */ -/* */ -/* */ -/* This program is free software: you can redistribute it and/or modify */ -/* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation, either version 2 of the License, or */ -/* (at your option) any later version. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program. If not, see . */ -/******************************************************************************/ - -/* Colors */ - -/* rgb(254,253,254); /* veryLight */ -/* rgb(200,199,200); /* lighter */ -/* rgb(122,121,122); /* light */ -/* rgb(88,87,88); /* kindaDark */ -/* rgb(58,57,58); /* dark */ -/* rgb(31,30,31); /* veryDark */ -/* rgb(11,10,11); /* veryVeryDark */ -/* rgb(42,130,218); /* blue */ - -OBSThemeMeta { - dark: 'true'; - author: 'Warchamp7'; -} - -/* Custom theme information. This will set the application's QPalette, as - * well as pass to QML via the OBSTheme object. - * Can also use OBSTheme::disabled, OBSTheme::active, and OBSTheme::inactive. - * Using it without will set all three (making 'active' a bit redundant) */ -OBSTheme { - window: rgb(58,57,58); /* dark */ - windowText: rgb(254,253,254); /* veryLight */ - base: rgb(31,30,31); /* veryDark */ - alternateBase: rgb(11,10,11); /* veryVeryDark */ - text: rgb(254,253,254); /* veryLight */ - button: rgb(88,87,88); /* kindaDark */ - buttonText: rgb(254,253,254); /* veryLight */ - brightText: rgb(200,199,200); /* lighter */ - - light: rgb(88,87,88); /* kindaDark */ - mid: rgb(58,57,58); /* dark */ - dark: rgb(31,30,31); /* veryDark */ - shadow: rgb(11,10,11); /* veryVeryDark */ - - highlight: rgb(42,130,218); /* blue */ - highlightedText: rgb(0,0,0); - - link: rgb(114,162,255); /* OBS blue */ - linkVisited: rgb(114,162,255); /* OBS blue */ -} - -OBSTheme::disabled { - windowText: rgb(165,164,165); /* disabledText */ - text: rgb(165,164,165); /* disabledText */ - buttonText: rgb(165,164,165); /* disabledText */ - brightText: rgb(165,164,165); /* disabledText */ -} - -OBSTheme::inactive { - highlight: rgb(48,47,48); - highlightedText: rgb(255,255,255); -} - - -/* General style, we override only what is needed. */ -QWidget { - background-color: palette(window); - alternate-background-color: palette(base); - color: palette(window-text); - selection-background-color: palette(highlight); - selection-color: palette(highlighted-text); -} - -* [frameShape="1"], * [frameShape="2"], * [frameShape="3"], * [frameShape="4"], * [frameShape="5"], * [frameShape="6"] { - border: 1px solid palette(base); -} - - -/* Misc */ - -QWidget::disabled { - color: rgb(165,164,165); /* disabledText */ -} - -QAbstractItemView, QStackedWidget#stackedMixerArea QWidget { - background-color: palette(base); -} - -QToolTip { - background-color: palette(base); - color: rgb(205,205,205); - border: none; -} - -QMenuBar::item { - background-color: palette(window); -} - -QListView::item:selected:!active, -SourceTree::item:selected:!active { - color: rgb(255,255,255); - background-color: rgb(48,47,48); -} - -QListView QLineEdit, -SourceTree QLineEdit { - padding-top: 0px; - padding-bottom: 0px; - padding-right: 0; - padding-left: 2px; - border: none; - border-radius: none; -} - -/* macOS Separator Fix */ -QMainWindow::separator { - background: transparent; - width: 4px; - height: 4px; -} - -/* Dock Widget */ - -OBSDock > QWidget { - border: 1px solid palette(base); - border-top: none; -} - -#transitionsFrame { - padding: 4px; -} - -#transitionsFrame > QWidget { - margin-bottom: 2px; -} - -#controlsFrame { - padding: 4px 3px; -} - -#controlsFrame QPushButton { - margin: 1px 1px; -} - -QDockWidget { - titlebar-close-icon: url(theme:Dark/close.svg); - titlebar-normal-icon: url(theme:Dark/popout.svg); -} - -QDockWidget::title { - text-align: center; - background-color: rgb(70,69,70); -} - -QDockWidget::close-button, QDockWidget::float-button { - border: 1px solid transparent; - background: transparent; - padding: 0px; -} - -QDockWidget::close-button:hover, QDockWidget::float-button:hover { - background: transparent; -} - -QDockWidget::close-button:pressed, QDockWidget::float-button:pressed { - padding: 1px -1px -1px 1px; -} - -/* Group Box */ - -QGroupBox { - border: 1px solid palette(base); - border-radius: 5px; - padding-top: 24px; - font-weight: bold; -} - -QGroupBox::title { - subcontrol-origin: margin; - left: 4px; - top: 4px; -} - - -/* ScrollBars */ - -::corner { - background-color: palette(window); - border: none; -} - -QScrollBar:vertical { - background-color: palette(window); - width: 14px; - margin: 0px; -} - -QScrollBar::handle:vertical { - background-color: rgb(76,76,76); - min-height: 20px; - margin: 2px; - border-radius: 5px; - border-width: 1px; - border: 1px solid rgb(76,76,76); -} - -QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { - border: none; - background: none; - height: 0px; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - border: none; - background: none; - color: none; -} - -QScrollBar:horizontal { - background-color: palette(window); - height: 14px; - margin: 0px; -} - -QScrollBar::handle:horizontal { - background-color: rgb(76,76,76); - min-width: 20px; - margin: 2px; - border-radius: 5px; - border-width: 1px; - border: 1px solid rgb(76,76,76); -} - -QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { - border: none; - background: none; - width: 0px; -} - -QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - border: none; - background: none; - color: none; -} - -/* Source Context */ -#contextContainer QPushButton { - padding: 4px 10px; -} - -#contextContainer QPushButton[themeID2=contextBarButton] { - padding: 4px 6px; -} - -#contextContainer QPushButton#sourcePropertiesButton { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -#contextContainer QPushButton#sourceFiltersButton { - qproperty-icon: url(theme:Dark/filter.svg); -} - -#contextContainer QPushButton#sourceInteractButton { - qproperty-icon: url(theme:Dark/interact.svg); -} - -/* Scenes and Sources toolbar */ - -QToolBar { - background-color: palette(window); - border: none; -} - -QPushButton[toolButton="true"], -QToolButton { - background: transparent; - border: none; - padding: 1px; - margin: 1px; -} - -QPushButton[toolButton="true"]:last-child, -QToolButton:last-child { - margin-right: 0px; -} - -QPushButton[toolButton="true"]:hover, -QToolButton:hover { - background-color: rgb(122,121,122); /* light */ - border-radius: none; -} - -QPushButton[toolButton="true"]:pressed, -QToolButton:pressed { - background-color: palette(base); - border-radius: none; -} - -* [themeID="addIconSmall"] { - qproperty-icon: url(theme:Dark/plus.svg); -} - -* [themeID="removeIconSmall"] { - qproperty-icon: url(theme:Dark/minus.svg); -} - -* [themeID="clearIconSmall"] { - qproperty-icon: url(theme:Dark/entry-clear.svg); -} - -* [themeID="propertiesIconSmall"] { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -* [themeID="configIconSmall"] { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -* [themeID="refreshIconSmall"] { - qproperty-icon: url(theme:Dark/refresh.svg); -} - -* [themeID="upArrowIconSmall"] { - qproperty-icon: url(theme:Dark/up.svg); -} - -* [themeID="downArrowIconSmall"] { - qproperty-icon: url(theme:Dark/down.svg); -} - -* [themeID="pauseIconSmall"] { - qproperty-icon: url(theme:Dark/media-pause.svg); -} - -* [themeID="menuIconSmall"] { - qproperty-icon: url(theme:Dark/dots-vert.svg); -} - -* [themeID="cogsIcon"] { - qproperty-icon: url(theme:Dark/cogs.svg); -} - -* [themeID="filtersIcon"] { - qproperty-icon: url(theme:Dark/filter.svg); -} - -/* Tab Widget */ - -QTabWidget::pane { /* The tab widget frame */ - border-top: 1px solid palette(base); /* veryDark */ -} - -QTabWidget::tab-bar { - alignment: left; -} - -QTabBar::tab { - background-color: rgb(76,76,76); - border: none; - padding: 5px; - min-width: 50px; - margin: 1px; -} - -QTabBar::tab:top { - border-bottom: 1px transparent; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - -} - -QTabBar::tab:bottom { - padding-top: 1px; - margin-bottom: 4px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - height: 14px; -} - -QTabBar::tab:selected { - background-color: palette(base); -} - -QTabBar::tab:hover { - background-color: rgb(122,121,122); /* light */ -} - -QTabBar::tab:pressed { - background-color: palette(base); -} - - -/* ComboBox */ - -QDateTimeEdit, -QComboBox { - background-color: rgb(76,76,76); - border-style: solid; - border: 1px; - border-radius: 3px; - border-color: rgb(76,76,76); /* veryDark */ - padding: 2px; - padding-left: 10px; -} - -QDateTimeEdit:hover, -QComboBox:hover { - background-color: palette(button); -} - -QDateTimeEdit::drop-down, -QComboBox::drop-down { - border:none; - border-left: 1px solid rgba(31,30,31,155); /* veryDark */ - width: 20px; -} - -QDateTimeEdit::down-arrow, -QComboBox::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Dark/updown.svg); - width: 100%; -} - -QDateTimeEdit:on, -QComboBox:on { - background-color: palette(base); -} - -QDateTimeEdit:editable, -QComboBox:editable { - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; -} - -QDateTimeEdit::drop-down:editable, -QComboBox::drop-down:editable { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} - -QDateTimeEdit::down-arrow:editable, -QComboBox::down-arrow:editable { - qproperty-alignment: AlignTop; - image: url(theme:Dark/down.svg); - width: 8%; -} - - -/* Textedits etc */ - -QLineEdit, QTextEdit, QPlainTextEdit { - background-color: palette(base); - border: none; - border-radius: 3px; - padding: 2px 2px 3px 7px; -} - -/* Spinbox and doubleSpinbox */ - -QSpinBox, QDoubleSpinBox { - background-color: palette(base); - border: none; - border-radius: 3px; - margin: 0px 3px 0px 0px; - padding: 2px 2px 3px 7px; -} - -QSpinBox::up-button, QDoubleSpinBox::up-button { - subcontrol-origin: margin; - subcontrol-position: top right; /* position at the top right corner */ - - background-color: rgb(76,76,76); - border: 1px solid palette(base); - border-radius: 3px; - border-width: 0; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom-width: 0; -} - -QSpinBox::down-button, QDoubleSpinBox::down-button { - subcontrol-origin: margin; - subcontrol-position: bottom right; /* position at the top right corner */ - background-color: rgb(76,76,76); - border: 1px solid palette(base); - border-radius: 3px; - border-width: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - border-top-width: 0; -} - -QSpinBox::up-button:hover, QSpinBox::down-button:hover, QDoubleSpinBox::up-button:hover, QDoubleSpinBox::down-button:hover { - background-color: rgb(122,121,122); /* light */ -} - -QSpinBox::up-button:pressed, QSpinBox::down-button:pressed, QDoubleSpinBox::up-button:pressed, QDoubleSpinBox::down-button:pressed { - background-color: palette(window); -} - -QSpinBox::up-button:disabled, QSpinBox::up-button:off, QSpinBox::down-button:disabled, QSpinBox::down-button:off { - background-color: palette(window); -} - -QDoubleSpinBox::up-button:disabled, QDoubleSpinBox::up-button:off, QDoubleSpinBox::down-button:disabled, QDoubleSpinBox::down-button:off { - background-color: palette(window); -} - -QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { - image: url(theme:Dark/up.svg); - width: 100%; -} - -QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { - image: url(theme:Dark/down.svg); - width: 100%; -} - - -/* Buttons */ - -QPushButton { - color: palette(window-text); - background-color: rgb(76,76,76); - border: none; - border-radius: 3px; - padding: 4px; - padding-left: 20px; - padding-right: 20px; -} - -QPushButton::flat { - background-color: palette(window); -} - -QPushButton:checked { - background-color: palette(base); -} - -QPushButton:hover { - background-color: rgb(122,121,122); /* light */ -} - -QPushButton:pressed { - background-color: palette(base); -} - -QPushButton:disabled, QToolButton:disabled { - background-color: rgb(46,45,46); -} - -QPushButton::menu-indicator { - image: url(theme:Dark/down.svg); - subcontrol-position: right; - subcontrol-origin: padding; - width: 25px; -} - -/* Sliders */ - -QSlider::groove:horizontal { - background-color: rgb(76,76,76); - height: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:horizontal { - background-color: rgb(210,210,210); - border: 1px solid palette(window); - border-radius: 3px; - height: 10px; - width: 18px; - margin: -3px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:horizontal:pressed { - background-color: rgb(210,210,210); -} - -QSlider::sub-page:horizontal { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::sub-page:horizontal:disabled { - background-color: rgb(50,49,50); /* dark */ - border-radius: 2px; -} - -QSlider::groove:vertical { - background-color: rgb(76,76,76); - width: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:vertical { - background-color: rgb(210,210,210); - border: 1px solid palette(window); - border-radius: 3px; - width: 10px; - height: 18px; - margin: 0 -3px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:vertical:pressed { - background-color: rgb(210,210,210); -} - -QSlider::add-page:vertical { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::add-page:vertical:disabled { - background-color: rgb(50,49,50); /* dark */ - border-radius: 2px; -} - -QSlider::handle:hover { - background-color: palette(bright-text); -} - -QSlider::handle:disabled { - background-color: rgb(122,121,122); /* light */ -} - -/* Volume Control */ - -VolumeMeter { - qproperty-backgroundNominalColor: rgb(38,127,38); - qproperty-backgroundWarningColor: rgb(127,127,38); - qproperty-backgroundErrorColor: rgb(127,38,38); - qproperty-foregroundNominalColor: rgb(76,255,76); - qproperty-foregroundWarningColor: rgb(255,255,76); - qproperty-foregroundErrorColor: rgb(255,76,76); - qproperty-magnitudeColor: rgb(0,0,0); - qproperty-majorTickColor: palette(window-text); - qproperty-minorTickColor: rgb(122,121,122); /* light */ - qproperty-meterThickness: 3; - - /* The meter scale numbers normally use your QWidget font, with size */ - /* multiplied by meterFontScaling to get a proportionally smaller font. */ - /* To use a unique font for the numbers, specify font-family and/or */ - /* font-size here, and set meterFontScaling to 1.0. */ - qproperty-meterFontScaling: 0.7; -} - - -/* Status Bar */ - -QStatusBar::item { - border: none; -} - -/* Qt enforces a padding inside its status bar, so we - * oversize it and use margin to crunch it back down - */ -OBSBasicStatusBar { - margin-top: 4px; - border-top: 1px solid palette(dark); - background: palette(window); -} - -StatusBarWidget > QFrame { - margin-top: 2px; - border: 0px solid palette(dark); - border-left-width: 1px; - padding: 0px 12px 4px; -} - -/* Table View */ - -QTableView { - gridline-color: palette(light); -} - -QHeaderView::section { - background-color: palette(window); - color: palette(window-text); - border: 1px solid palette(base); - border-radius: 5px; -} - -/* Mute CheckBox */ - -MuteCheckBox { - outline: none; -} - -MuteCheckBox::indicator:checked { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:indeterminate { - image: url(theme:Dark/unassigned.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Dark/settings/audio.svg); -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: red; -} - -/* Group Collapse Checkbox */ - -QCheckBox[sourceTreeSubItem=true] { - background: transparent; - outline: none; -} - -QCheckBox[sourceTreeSubItem=true]::indicator { - width: 10px; - height: 10px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator:checked { - image: url(theme:Dark/expand.svg); -} - -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked { - image: url(theme:Dark/collapse.svg); -} - - -/* Label warning/error */ - -QLabel#warningLabel { - color: rgb(192,128,0); - font-weight: bold; -} - -QLabel#errorLabel { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="warning"] { - color: rgb(192,128,0); - font-weight: bold; -} - -* [themeID="error"] { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="good"] { - color: rgb(0,192,0); - font-weight: bold; -} - -/* About dialog */ - -* [themeID="aboutName"] { - font-size: 36px; - font-weight: bold; -} - -* [themeID="aboutVersion"] { - font-size: 16px; - margin-bottom: 20px; -} - -* [themeID="aboutInfo"] { - margin-bottom: 20px; -} - -* [themeID="aboutHLayout"] { - background-color: palette(base); -} - -/* Preview background color */ - -OBSQTDisplay { - qproperty-displayBackgroundColor: rgb(76,76,76); -} - -/* Preview/Program labels */ - -* [themeID="previewProgramLabels"] { - font-size: 18px; - font-weight: bold; - color: rgb(122,121,122); -} - -/* Settings Icons */ - -OBSBasicSettings { - qproperty-generalIcon: url(theme:Dark/settings/general.svg); - qproperty-streamIcon: url(theme:Dark/settings/stream.svg); - qproperty-outputIcon: url(theme:Dark/settings/output.svg); - qproperty-audioIcon: url(theme:Dark/settings/audio.svg); - qproperty-videoIcon: url(theme:Dark/settings/video.svg); - qproperty-hotkeysIcon: url(theme:Dark/settings/hotkeys.svg); - qproperty-accessibilityIcon: url(theme:Dark/settings/accessibility.svg); - qproperty-advancedIcon: url(theme:Dark/settings/advanced.svg); -} - -OBSBasicSettings QListWidget::item { - padding-top: 5px; - padding-bottom: 5px; -} - -/* Locked CheckBox */ - -QCheckBox[lockCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[lockCheckBox=true]::indicator:checked { - image: url(theme:Dark/locked.svg); -} - -QCheckBox[lockCheckBox=true]::indicator:unchecked { - image: url(:res/images/unlocked.svg); -} - -/* Visibility CheckBox */ - -QCheckBox[visibilityCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[visibilityCheckBox=true]::indicator:checked { - image: url(theme:Dark/visible.svg); -} - -QCheckBox[visibilityCheckBox=true]::indicator:unchecked { - image: url(:res/images/invisible.svg); -} - -* [themeID="revertIcon"] { - qproperty-icon: url(theme:Dark/revert.svg); -} - -QPushButton#extraPanelDelete { - background-color: palette(base); -} - -QPushButton#extraPanelDelete:hover { - background-color: rgb(122,121,122); -} - -QPushButton#extraPanelDelete:pressed { - background-color: palette(base); -} - -OBSMissingFiles { - qproperty-warningIcon: url(theme:Dark/alert.svg); -} - -/* Source Icons */ - -OBSBasic { - qproperty-imageIcon: url(theme:Dark/sources/image.svg); - qproperty-colorIcon: url(theme:Dark/sources/brush.svg); - qproperty-slideshowIcon: url(theme:Dark/sources/slideshow.svg); - qproperty-audioInputIcon: url(theme:Dark/sources/microphone.svg); - qproperty-audioOutputIcon: url(theme:Dark/settings/audio.svg); - qproperty-desktopCapIcon: url(theme:Dark/settings/video.svg); - qproperty-windowCapIcon: url(theme:Dark/sources/window.svg); - qproperty-gameCapIcon: url(theme:Dark/sources/gamepad.svg); - qproperty-cameraIcon: url(theme:Dark/sources/camera.svg); - qproperty-textIcon: url(theme:Dark/sources/text.svg); - qproperty-mediaIcon: url(theme:Dark/sources/media.svg); - qproperty-browserIcon: url(theme:Dark/sources/globe.svg); - qproperty-groupIcon: url(theme:Dark/sources/group.svg); - qproperty-sceneIcon: url(theme:Dark/sources/scene.svg); - qproperty-defaultIcon: url(theme:Dark/sources/default.svg); - qproperty-audioProcessOutputIcon: url(theme:Dark/sources/windowaudio.svg); -} - -/* Scene Tree */ - -SceneTree { - qproperty-gridItemWidth: 150; - qproperty-gridItemHeight: 27; -} - -*[gridMode="true"] SceneTree::item { - color: palette(window-text); - background-color: rgb(76,76,76); - border: none; - border-radius: 3px; - padding: 4px; - padding-left: 10px; - padding-right: 10px; - margin: 1px; -} - -*[gridMode="true"] SceneTree::item:selected { - background-color: rgb(122,121,122); /* light */ -} - -*[gridMode="true"] SceneTree::item:hover { - background-color: rgb(122,121,122); /* light */ -} - -*[gridMode="true"] SceneTree::item:pressed { - background-color: palette(base); -} - -*[gridMode="true"] SceneTree::item:checked { - background-color: rgb(122,121,122); /* light */ -} - -/* Save icon */ - -* [themeID="replayIconSmall"] { - qproperty-icon: url(theme:Dark/save.svg); -} - -/* Studio Mode T-Bar */ - -QSlider[themeID="tBarSlider"] { - height: 24px; -} - -QSlider::groove:horizontal[themeID="tBarSlider"] { - border: 1px solid rgb(76,76,76); - height: 5px; - background: palette(base); -} - -QSlider::sub-page:horizontal[themeID="tBarSlider"] { - background: palette(base);; - border: 1px solid rgb(76,76,76); -} - -QSlider::handle:horizontal[themeID="tBarSlider"] { - background-color: rgb(210,210,210); - width: 12px; - height: 24px; - margin: -24px 0px; -} - -/* Media icons */ - -* [themeID="playIcon"] { - qproperty-icon: url(theme:Dark/media/media_play.svg); -} - -* [themeID="pauseIcon"] { - qproperty-icon: url(theme:Dark/media/media_pause.svg); -} - -* [themeID="restartIcon"] { - qproperty-icon: url(theme:Dark/media/media_restart.svg); -} - -* [themeID="stopIcon"] { - qproperty-icon: url(theme:Dark/media/media_stop.svg); -} - -* [themeID="nextIcon"] { - qproperty-icon: url(theme:Dark/media/media_next.svg); -} - -* [themeID="previousIcon"] { - qproperty-icon: url(theme:Dark/media/media_previous.svg); -} - -/* YouTube Integration */ -OBSYoutubeActions { - qproperty-thumbPlaceholder: url(theme:Dark/sources/image.svg); -} - -#ytEventList QLabel { - color: rgb(254,253,254); /* veryLight */ - background-color: rgb(76,76,76); - border: none; - border-radius: 3px; - padding: 4px 20px; -} - -#ytEventList QLabel:hover { - background: rgb(122,121,122); -} - -#ytEventList QLabel[isSelectedEvent=true] { - background: rgb(31,30,31); - border: none; -} - -/* Calendar Widget */ -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Dark/down.svg); - width: 100%; -} - -QDateTimeEdit:on { - background-color: rgb(31,30,31); /* veryDark */ -} - -/* Calendar Top Bar */ -QCalendarWidget QWidget#qt_calendar_navigationbar { - background-color: rgb(58,57,58); - padding: 4px 8px; -} - -/* Calendar Top Bar Buttons */ -QCalendarWidget QToolButton { - background-color: rgb(76,76,76); - padding: 2px 16px; - border-radius: 3px; - margin: 2px; -} - -#qt_calendar_monthbutton::menu-indicator { - image: url(theme:Dark/down.svg); - subcontrol-position: right; - padding-top: 2px; - padding-right: 6px; - height: 10px; - width: 10px; -} - -QCalendarWidget #qt_calendar_prevmonth { - padding: 2px; - qproperty-icon: url(theme:Dark/left.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget #qt_calendar_nextmonth { - padding: 2px; - qproperty-icon: url(theme:Dark/right.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget QToolButton:hover { - background-color: rgb(122,121,122); - border-radius: 3px; -} - -QCalendarWidget QToolButton:pressed { - background-color: rgb(31,30,31); /* veryDark */ -} - -/* Month Dropdown Menu */ -QCalendarWidget QMenu { - -} -/* Year spinbox */ -QCalendarWidget QSpinBox { - background-color: rgb(31,30,31); /* veryDark */ - border: none; - border-radius: 3px; - margin: 0px 3px 0px 0px; - padding: 4px 16px; -} - -QCalendarWidget QSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; width: 16px; } -QCalendarWidget QSpinBox::down-button {subcontrol-origin: border; subcontrol-position: bottom right; width: 16px;} -QCalendarWidget QSpinBox::up-arrow { width: 10px; height: 10px; } -QCalendarWidget QSpinBox::down-arrow { width: 10px; height: 10px; } - -/* Days of the Week Bar */ -QCalendarWidget QWidget { alternate-background-color: rgb(70,69,70); } - -QCalendarWidget QAbstractItemView:enabled { - background-color: rgb(31,30,31); - color: rgb(254,253,254); - selection-background-color: rgb(25,51,75); - selection-color: rgb(254,253,254); -} - -QCalendarWidget QAbstractItemView:disabled { - color: rgb(165,164,165); /* disabledText */ -} - -/* Disable icons on QDialogButtonBox */ -QDialogButtonBox { - dialogbuttonbox-buttons-have-icons: 0; -} diff --git a/UI/data/themes/Grey.qss b/UI/data/themes/Grey.qss deleted file mode 100644 index b324ef3c9..000000000 --- a/UI/data/themes/Grey.qss +++ /dev/null @@ -1,1538 +0,0 @@ -/******************************************************************************/ -/* Copyright (C) 2014-2015 by Philippe Groarke */ -/* */ -/* */ -/* This program is free software: you can redistribute it and/or modify */ -/* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation, either version 2 of the License, or */ -/* (at your option) any later version. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program. If not, see . */ -/******************************************************************************/ - -/* Colors */ - -OBSThemeMeta { - dark: 'true'; - author: 'Warchamp7'; -} - -/* Custom theme information. This will set the application's QPalette, as - * well as pass to QML via the OBSTheme object. - * Can also use OBSTheme::disabled, OBSTheme::active, and OBSTheme::inactive. - * Using it without will set all three (making 'active' a bit redundant) */ -OBSTheme { - window: rgb(33,33,33); - windowText: rgb(255,254,255); - - base: rgb(47,47,47); - alternateBase: rgb(11,10,11); - - text: rgb(255,254,255); - - button: rgb(67,67,67); - buttonText: rgb(255,254,255); - - brightText: rgb(255,254,255); - - light: rgb(88,87,88); - mid: rgb(33,33,33); - dark: rgb(47,47,47); - shadow: rgb(11,10,11); - - primary: rgb(40,76,184); - primaryLight: rgb(54,92,192); - primaryDark: rgb(28,28,28); - - highlight: rgb(42,130,218); - highlightText: rgb(255,254,255); - - link: rgb(77,166,255); - linkVisited: rgb(77,166,255); -} - -OBSTheme::disabled { - windowText: rgb(153,153,153); - text: rgb(153,153,153); - button: rgb(27,29,34); - - buttonText: rgb(43,46,56); - brightText: rgb(43,46,56); -} - -OBSTheme::inactive { - text: rgb(255,254,255); - - highlight: rgb(25,28,34); - highlightText: rgb(255,255,255); -} - -/* Default widget style, we override only what is needed. */ - -QWidget { - alternate-background-color: palette(base); - color: palette(text); - selection-background-color: rgb(40,76,184); - selection-color: palette(text); - font-size: 10pt; - font-family: 'Open Sans', '.AppleSystemUIFont', Helvetica, Arial, 'MS Shell Dlg', sans-serif; -} - -QWidget:disabled { - color: rgb(153,153,153); -} - -/* Container windows */ - -QDialog, -QMainWindow, -QStatusBar, -QMenuBar, -QMenu { - background-color: palette(window); -} - -/* macOS Separator Fix */ - -QMainWindow::separator { - background: transparent; - width: 4px; - height: 4px; -} - -/* General Widgets */ - -QLabel, -QGroupBox, -QCheckBox { - background: transparent; -} - -QComboBox, -QCheckBox, -QPushButton, -QSpinBox, -QDoubleSpinBox { - margin-top: 3px; - margin-bottom: 3px; -} - -QListWidget QWidget, -SceneTree QWidget, -SourceTree QWidget { - margin-top: 0; - margin-bottom: 0; -} - -* [frameShape="1"], * [frameShape="2"], * [frameShape="3"], * [frameShape="4"], * [frameShape="5"], * [frameShape="6"] { - border: 1px solid palette(dark); -} - - -/* Misc */ - -QAbstractItemView, QStackedWidget#stackedMixerArea QWidget { - background-color: palette(base); -} - -QToolTip { - background-color: palette(base); - color: palette(text); - border: none; -} - -/* Context Menu */ - -QMenu::icon { - left: 4px; -} - -QMenu::separator { - background: palette(button); - height: 1px; - margin: 3px 6px; -} - -QMenu::item:disabled { - color: rgb(153,153,153); - background: transparent; -} - -QMenu::right-arrow { - image: url(theme:Dark/expand.svg); -} - -/* Top Menu Bar Items */ -QMenuBar::item { - background-color: transparent; -} - -QMenuBar::item:selected { - background: rgb(40,76,184); -} - -/* Item Lists */ -QListWidget { - border-radius: 4px; -} - -QListWidget::item { - color: palette(text); -} - -QListWidget, -QMenu, -SceneTree, -SourceTree { - padding: 3px; -} - -QListWidget::item, -SourceTreeItem, -QMenu::item, -SceneTree::item { - padding: 6px; -} - -QMenu::item { - padding-right: 20px; -} - -QListWidget::item, -SourceTreeItem, -QMenu::item, -SceneTree::item, -SourceTree::item { - border-radius: 4px; - color: palette(text); - border: 0px solid transparent; -} - -QMenu::item:selected, -QListWidget::item:selected, -SceneTree::item:selected, -SourceTree::item:selected { - background-color: rgb(40,76,184); -} - -QMenu::item:hover, -QListWidget::item:hover, -SceneTree::item:hover, -SourceTree::item:hover, -QMenu::item:selected:hover, -QListWidget::item:selected:hover, -SceneTree::item:selected:hover, -SourceTree::item:selected:hover { - background-color: rgb(54,92,192); - color: palette(text); -} - -QListWidget::item:disabled, -QListWidget::item:disabled:hover { - background: transparent; - color: rgb(153,153,153); -} - -QListWidget QLineEdit, -SceneTree QLineEdit, -SourceTree QLineEdit { - padding: 0px; - padding-bottom: 2px; - margin: 0px; - border: 1px solid #FFF; - border-radius: 4px; -} - -QListWidget QLineEdit:focus, -SceneTree QLineEdit:focus, -SourceTree QLineEdit:focus { - border: 1px solid #FFF; -} - -/* Settings QList */ - -OBSBasicSettings QListWidget { - border-radius: 4px; - padding: 3px; -} - -OBSBasicSettings QListWidget::item { - border-radius: 4px; - padding: 6px; -} - -/* Settings properties view */ -OBSBasicSettings #PropertiesContainer { - background-color: palette(dark); -} - -#PropertiesContainer QListWidget { - background-color: palette(button); -} - -/* Dock Widget */ -OBSDock > QWidget { - background: palette(dark); - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -OBSDock QLabel { - background: transparent; -} - -#transitionsFrame { - padding: 4px 8px; -} - -QDockWidget { - font-size: 10.5pt; - font-weight: bold; - - titlebar-close-icon: url(theme:Dark/close.svg); - titlebar-normal-icon: url(theme:Dark/popout.svg); -} - -QDockWidget::title { - text-align: left; - background-color: palette(button); - padding: 6px 8px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -QDockWidget::close-button, QDockWidget::float-button { - border: 0px solid transparent; - border-radius: 4px; - background: transparent; - margin-right: 1px; - opacity: .5; -} - -QDockWidget::close-button:hover, QDockWidget::float-button:hover { - background: rgb(89,89,89); - opacity: 1; -} - -QDockWidget::close-button:pressed, QDockWidget::float-button:pressed { - padding: 1px -1px -1px 1px; -} - -QScrollArea { - border-radius: 4px; -} - -/* Qt enforces a padding inside its status bar, so we - * oversize it and use margin to crunch it back down - */ -OBSBasicStatusBar { - margin-top: 4px; - border-top: 1px solid #3c404b; - background: palette(dark); -} - -StatusBarWidget > QFrame { - margin-top: 1px; - border: 0px solid #3c404b; - border-left-width: 1px; - padding: 0px 12px 2px; -} - -/* Group Box */ - -QGroupBox { - background: palette(dark); - border-radius: 4px; - padding-top: 32px; - padding-bottom: 8px; - font-weight: bold; - margin-bottom: 6px; -} - -QGroupBox::title { - subcontrol-origin: margin; - left: 8px; - top: 8px; -} - - -/* ScrollBars */ - -::corner { - background-color: palette(window); - border: none; -} - -QScrollBar:vertical { - background-color: transparent; - width: 14px; - margin: 0px; -} - -QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { - border: none; - background: none; - height: 0px; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - border: none; - background: none; - color: none; -} - -QScrollBar:horizontal { - background-color: transparent; - height: 14px; - margin: 0px; -} - -QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { - border: none; - background: none; - width: 0px; -} - -QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - border: none; - background: none; - color: none; -} - -QScrollBar::handle { - background-color: palette(button); - margin: 2px; - border-radius: 2px; - border: 1px solid palette(button); -} - -QScrollBar::handle:hover { - background-color: rgb(89,89,89); - border-color: rgb(89,89,89); -} - -QScrollBar::handle:pressed { - background-color: rgb(40,76,184); - border-color: rgb(40,76,184); -} - -QScrollBar::handle:vertical { - min-height: 20px; -} - -QScrollBar::handle:horizontal { - min-width: 20px; -} - -/* Source Context Bar */ - -#contextContainer { - background-color: palette(dark); - margin-top: 4px; - border-radius: 4px; -} - -#contextContainer QPushButton { - padding-left: 12px; - padding-right: 12px; -} - -QPushButton#sourcePropertiesButton { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -QPushButton#sourceFiltersButton { - qproperty-icon: url(theme:Dark/filter.svg); -} - -/* Scenes and Sources toolbar */ - -QToolBar { - background-color: palette(dark); - border: none; - padding: 0px; - margin: 4px 0px; -} - -QPushButton[toolButton="true"], -QToolButton { - background-color: rgb(67,67,67); - padding: 4px 6px; - margin: 0px 2px; - border-radius: 4px; -} - -QPushButton[toolButton="true"]:last-child, -QToolButton:last-child { - margin-right: 0px; -} - -QToolButton:hover { - background-color: rgb(89,89,89); -} - -QToolButton:pressed { - background-color: rgb(28,28,28); -} - -* [themeID="addIconSmall"] { - qproperty-icon: url(theme:Dark/plus.svg); -} - -* [themeID="removeIconSmall"] { - qproperty-icon: url(theme:Dark/trash.svg); -} - -* [themeID="clearIconSmall"] { - qproperty-icon: url(theme:Dark/entry-clear.svg); -} - -* [themeID="propertiesIconSmall"] { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -* [themeID="configIconSmall"] { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -* [themeID="menuIconSmall"] { - qproperty-icon: url(theme:Dark/dots-vert.svg); -} - -* [themeID="refreshIconSmall"] { - qproperty-icon: url(theme:Dark/refresh.svg); -} - -* [themeID="cogsIcon"] { - qproperty-icon: url(theme:Dark/cogs.svg); -} - -#sourceInteractButton { - qproperty-icon: url(theme:Dark/interact.svg); -} - -* [themeID="upArrowIconSmall"] { - qproperty-icon: url(theme:Dark/up.svg); -} - -* [themeID="downArrowIconSmall"] { - qproperty-icon: url(theme:Dark/down.svg); -} - -* [themeID="pauseIconSmall"] { - qproperty-icon: url(theme:Dark/media-pause.svg); -} - -* [themeID="filtersIcon"] { - qproperty-icon: url(theme:Dark/filter.svg); -} - -QToolBarExtension { - background: palette(button); - min-width: 12px; - max-width: 12px; - padding: 4px 0px; - margin-left: 0px; - - qproperty-icon: url(theme:Dark/dots-vert.svg); -} - - -/* Tab Widget */ - -QTabWidget::pane { /* The tab widget frame */ - border-top: 4px solid palette(base); -} - -QTabWidget::tab-bar { - alignment: left; -} - -QTabBar QToolButton { - background: rgb(44,46,53); - border: none; -} - -QTabBar::tab:top { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -QTabBar::tab:bottom { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -QTabBar::tab { - background: palette(dark); - color: palette(text); - border: none; - padding: 8px 12px; - min-width: 50px; - margin: 1px 2px; -} - -QTabBar::tab:pressed { - background: rgb(28,28,28); -} - -QTabBar::tab:hover { - background: rgb(89,89,89); - color: palette(text); -} - -QTabBar::tab:selected { - background: rgb(67,67,67); - color: palette(text); -} - -QTabBar::tab:top:selected { - border-bottom: 2px solid rgb(250,250,250); -} - -QTabBar::tab:bottom:selected { - border-top: 2px solid rgb(250,250,250); -} - -QTabBar QToolButton { - background: palette(button); - min-width: 16px; - padding: 0px; -} - -/* ComboBox */ - -QComboBox, -QDateTimeEdit { - background-color: rgb(67,67,67); - border-style: solid; - border: 1px; - border-radius: 4px; - border-color: rgb(67,67,67); - padding: 4px; - padding-left: 10px; -} - -QComboBox:hover, -QComboBox:selected, -QDateTimeEdit:hover, -QDateTimeEdit:selected { - background-color: rgb(89,89,89); -} - -QComboBox::drop-down, -QDateTimeEdit::drop-down { - border:none; - border-left: 1px solid rgb(25,28,34); - width: 20px; -} - -QComboBox::down-arrow, -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Dark/updown.svg); - width: 100%; -} - -QComboBox:on, -QDateTimeEdit:on { - background-color: rgb(28,28,28); -} - -QComboBox:editable:hover { - -} - -QComboBox::drop-down:editable, -QDateTimeEdit::drop-down:editable { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -QComboBox::down-arrow:editable, -QDateTimeEdit::down-arrow:editable { - qproperty-alignment: AlignTop; - image: url(theme:Dark/down.svg); - width: 8%; -} - -/* Textedits etc */ - -QLineEdit, QTextEdit, QPlainTextEdit { - background-color: palette(button); - border: none; - border-radius: 4px; - padding: 5px 2px 5px 7px; - border: 2px solid transparent; -} - -QLineEdit:hover, -QTextEdit:hover, -QPlainTextEdit:hover { - border: 2px solid rgb(99,102,111); -} - -QLineEdit:focus, -QTextEdit:focus, -QPlainTextEdit:focus { - background-color: palette(mid); - border: 2px solid rgb(40,76,184); -} - -/* Spinbox and doubleSpinbox */ - -QSpinBox, -QDoubleSpinBox { - background-color: palette(button); - border: 2px solid palette(button); - border-radius: 4px; - margin-right: 3px; - padding: 3px 0px 4px 5px; -} - -QSpinBox:hover, -QDoubleSpinBox:hover { - border: 2px solid rgb(99,102,111); -} - -QSpinBox:focus, -QDoubleSpinBox:focus { - background-color: palette(mid); - border: 2px solid rgb(40,76,184); -} - -QSpinBox::up-button, QDoubleSpinBox::up-button { - subcontrol-origin: padding; - subcontrol-position: top right; /* position at the top right corner */ - right: 2px; - border-radius: 3px; - border-width: 0; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom-width: 0; -} - -QSpinBox::down-button, QDoubleSpinBox::down-button { - subcontrol-origin: padding; - subcontrol-position: bottom right; /* position at the top right corner */ - right: 2px; - border-radius: 3px; - border-width: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - border-top-width: 0; -} - -QSpinBox::up-button:hover, QSpinBox::down-button:hover, QDoubleSpinBox::up-button:hover, QDoubleSpinBox::down-button:hover { - background-color: rgb(89,89,89); -} - -QSpinBox::up-button:pressed, QSpinBox::down-button:pressed, QDoubleSpinBox::up-button:pressed, QDoubleSpinBox::down-button:pressed { - background-color: rgb(28,28,28); -} - -QSpinBox::up-button:disabled, QSpinBox::up-button:off, QSpinBox::down-button:disabled, QSpinBox::down-button:off { - background-color: rgb(28,28,28); -} - -QDoubleSpinBox::up-button:disabled, QDoubleSpinBox::up-button:off, QDoubleSpinBox::down-button:disabled, QDoubleSpinBox::down-button:off { - background-color: rgb(28,28,28); -} - -QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { - image: url(theme:Dark/up.svg); - width: 100%; - margin: 2px; -} - -QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { - image: url(theme:Dark/down.svg); - width: 100%; - padding: 2px; -} - - -/* Controls Dock */ -#controlsFrame { - padding: 4px 3px; -} - -#controlsFrame QPushButton { - margin: 2px 1px; -} - -#streamButton, -#recordButton, -QPushButton[themeID="replayBufferButton"], -#broadcastButton { - padding: 10px; -} - -/* Primary Control Button Checked Coloring */ -#streamButton:!hover:!pressed:checked, -#recordButton:!hover:!pressed:checked, -QPushButton[themeID="replayBufferButton"]:!hover:!pressed:checked, -QPushButton[themeID="vcamButton"]:!hover:!pressed:checked, -#modeSwitch:!hover:!pressed:checked, -#broadcastButton:!hover:!pressed:checked { - background: rgb(40,76,184); -} - -/* Primary Control Button Hover Coloring */ -#streamButton:hover:!pressed:checked, -#recordButton:hover:!pressed:checked, -QPushButton[themeID="replayBufferButton"]:!pressed:checked, -QPushButton[themeID="vcamButton"]:!pressed:checked, -#modeSwitch:hover:!pressed:checked, -#broadcastButton:hover:!pressed:checked { - background: rgb(54,92,192); - color: palette(text); -} - - -/* Buttons */ - -QPushButton { - color: palette(text); - background-color: palette(button); - min-height: 18px; - border: none; - border-radius: 4px; - padding: 6px 16px; -} - -QPushButton::flat { - background-color: rgb(67,67,67); -} - -QPushButton:checked { - background-color: rgb(40,76,184); -} - -QPushButton:hover { - background-color: rgb(89,89,89); -} - -QPushButton:pressed { - background-color: rgb(28,28,28); -} - -QPushButton:disabled, QToolButton:disabled { - background-color: rgb(28,28,28); -} - -QPushButton::menu-indicator { - image: url(theme:Dark/down.svg); - subcontrol-position: right; - subcontrol-origin: padding; - width: 25px; -} - -/* Sliders */ - -QSlider::groove:horizontal { - background-color: rgb(67,67,67); - height: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:horizontal { - background-color: palette(text); - border: 1px solid palette(mid); - border-radius: 3px; - height: 10px; - width: 18px; - margin: -3px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:horizontal:pressed { - background-color: palette(text); -} - -QSlider::sub-page:horizontal { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::sub-page:horizontal:disabled { - background-color: palette(window); - border-radius: 2px; -} - -QSlider::groove:vertical { - background-color: rgb(67,67,67); - width: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:vertical { - background-color: palette(text); - border: 1px solid palette(mid); - border-radius: 3px; - width: 10px; - height: 18px; - margin: 0 -3px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:vertical:pressed { - background-color: palette(text); -} - -QSlider::add-page:vertical { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::add-page:vertical:disabled { - background-color: palette(window); - border-radius: 2px; -} - -QSlider::handle:hover { - background-color: rgb(200,199,200); -} - -QSlider::handle:disabled { - background-color: rgb(68,75,110); -} - -/* Volume Control */ - -#stackedMixerArea QPushButton { - min-width: 16px; - padding: 4px 8px; -} - -/* This is an incredibly cursed but necessary fix */ -#stackedMixerArea QPushButton:!hover { - background-color: palette(button); -} - -#stackedMixerArea QPushButton:hover { - background-color: rgb(89,89,89); -} - -#stackedMixerArea QPushButton:pressed { - background-color: rgb(28,28,28); -} - -VolumeMeter { - qproperty-backgroundNominalColor: rgb(66,112,24); - qproperty-backgroundWarningColor: rgb(112,91,28); - qproperty-backgroundErrorColor: rgb(112,39,53); - qproperty-foregroundNominalColor: rgb(115,189,49); - qproperty-foregroundWarningColor: rgb(189,144,9); - qproperty-foregroundErrorColor: rgb(189,47,73); - qproperty-magnitudeColor: rgb(0,0,0); - qproperty-majorTickColor: palette(text); - qproperty-minorTickColor: palette(light); -} - -/* Status Bar */ - -QStatusBar::item { - border: none; -} - -/* Table View */ - -QTableView { - background: palette(base); - gridline-color: palette(light); -} - -QTableView::item { - margin: 0px; - padding: 0px; -} - -QTableView QLineEdit { - background: palette(mid); - padding: 0; - margin: 0; -} - -QTableView QPushButton, -QTableView QToolButton { - margin: 1px 1px 2px; -} - -QHeaderView::section { - background-color: palette(button); - color: palette(text); - border: none; - border-left: 1px solid palette(window); - border-right: 1px solid palette(window); - padding: 2px 4px; - margin-bottom: 2px; -} - -/* Mute CheckBox */ - -MuteCheckBox::indicator:checked { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:indeterminate { - image: url(theme:Dark/unassigned.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Dark/settings/audio.svg); -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: rgb(53,82,222); -} - -/* Label warning/error */ - -QLabel#warningLabel { - color: rgb(192,128,0); - font-weight: bold; -} - -QLabel#errorLabel { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="warning"] { - color: rgb(192,128,0); - font-weight: bold; -} - -* [themeID="error"] { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="good"] { - color: rgb(0,192,0); - font-weight: bold; -} - -/* About dialog */ - -* [themeID="aboutName"] { - font-size: 26pt; - font-weight: bold; -} - -* [themeID="aboutVersion"] { - font-size: 12pt; - margin-bottom: 20px; -} - -* [themeID="aboutInfo"] { - margin-bottom: 20px; -} - -* [themeID="aboutHLayout"] { - background-color: palette(base); -} - -/* Canvas / Preview background color */ - -OBSQTDisplay { - qproperty-displayBackgroundColor: rgb(28,28,28); - border-radius: 10px; -} - -/* Filters Window */ - -OBSBasicFilters QListWidget { - border-radius: 4px; - padding: 3px; -} - -OBSBasicFilters QListWidget::item { - border-radius: 4px; - padding: 6px; -} - -OBSBasicFilters #widget, -OBSBasicFilters #widget_2 { - margin: 0px; - padding: 0px; - padding-bottom: 4px; -} - -OBSBasicFilters #widget QPushButton, -OBSBasicFilters #widget_2 QPushButton { - min-width: 16px; - padding: 4px 8px; - margin-top: 0px; -} - -/* Preview/Program labels */ - -* [themeID="previewProgramLabels"] { - font-size: 14pt; - font-weight: bold; - color: rgb(210,210,210); - margin-bottom: 4px; -} - -/* Settings Icons */ - -OBSBasicSettings { - qproperty-generalIcon: url(theme:Dark/settings/general.svg); - qproperty-streamIcon: url(theme:Dark/settings/stream.svg); - qproperty-outputIcon: url(theme:Dark/settings/output.svg); - qproperty-audioIcon: url(theme:Dark/settings/audio.svg); - qproperty-videoIcon: url(theme:Dark/settings/video.svg); - qproperty-hotkeysIcon: url(theme:Dark/settings/hotkeys.svg); - qproperty-accessibilityIcon: url(theme:Dark/settings/accessibility.svg); - qproperty-advancedIcon: url(theme:Dark/settings/advanced.svg); -} - -/* Checkboxes */ -QCheckBox { - -} - -QCheckBox::indicator, -QGroupBox::indicator { - width: 18px; - height: 18px; -} - -QGroupBox::indicator { - margin-left: 2px; -} - -QCheckBox::indicator:unchecked, -QGroupBox::indicator:unchecked { - image: url(theme:Yami/checkbox_unchecked.svg); -} - -QCheckBox::indicator:unchecked:hover, -QGroupBox::indicator:unchecked:hover { - border: none; - image: url(theme:Yami/checkbox_unchecked_focus.svg); -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - image: url(theme:Yami/checkbox_checked.svg); -} - -QCheckBox::indicator:checked:hover, -QGroupBox::indicator:checked:hover { - border: none; - image: url(theme:Yami/checkbox_checked_focus.svg); -} - -QCheckBox::indicator:checked:disabled, -QGroupBox::indicator:checked:disabled { - image: url(theme:Yami/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:unchecked:disabled, -QGroupBox::indicator:unchecked:disabled { - image: url(theme:Yami/checkbox_unchecked_disabled.svg); -} - -/* Locked CheckBox */ - -QCheckBox[lockCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[lockCheckBox=true]::indicator { - width: 16px; - height: 16px; -} - -QCheckBox[lockCheckBox=true]::indicator:checked, -QCheckBox[lockCheckBox=true]::indicator:checked:hover { - image: url(theme:Dark/locked.svg); -} - -QCheckBox[lockCheckBox=true]::indicator:unchecked, -QCheckBox[lockCheckBox=true]::indicator:unchecked:hover { - image: url(:res/images/unlocked.svg); -} - -/* Visibility CheckBox */ - -QCheckBox[visibilityCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[visibilityCheckBox=true]::indicator { - width: 16px; - height: 16px; -} - -QCheckBox[visibilityCheckBox=true]::indicator:checked, -QCheckBox[visibilityCheckBox=true]::indicator:checked:hover { - image: url(theme:Dark/visible.svg); -} - -QCheckBox[visibilityCheckBox=true]::indicator:unchecked, -QCheckBox[visibilityCheckBox=true]::indicator:unchecked:hover { - image: url(:res/images/invisible.svg); -} - -* [themeID="revertIcon"] { - qproperty-icon: url(theme:Dark/revert.svg); -} - -QPushButton#extraPanelDelete { - background-color: palette(mid); - margin: 0; - padding: 0; -} - -QPushButton#extraPanelDelete:hover { - background-color: rgb(68,75,110); -} - -QPushButton#extraPanelDelete:pressed { - background-color: palette(dark); -} - -/* Mute CheckBox */ - -MuteCheckBox { - outline: none; -} - -MuteCheckBox::indicator { - width: 16px; - height: 16px; -} - -MuteCheckBox::indicator:checked { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:unchecked:hover { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:unchecked:focus { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:checked:hover { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:checked:focus { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:checked:disabled { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:unchecked:disabled { - image: url(theme:Dark/settings/audio.svg); -} - -#hotkeyFilterReset { - margin-top: 0px; -} - -OBSHotkeyWidget { - padding: 8px 0px; - margin: 2px 0px; -} - -OBSHotkeyLabel { - padding: 4px 0px; -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: rgb(53,82,222); -} - -OBSHotkeyWidget QPushButton { - min-width: 16px; - padding: 4px 4px; - margin-top: 0px; - margin-left: 4px; -} - - -/* Sources List Group Collapse Checkbox */ - -QCheckBox[sourceTreeSubItem=true] { - background: transparent; - outline: none; - padding: 0px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator { - width: 12px; - height: 12px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator:checked, -QCheckBox[sourceTreeSubItem=true]::indicator:checked:hover { - image: url(theme:Dark/expand.svg); -} - -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked, -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked:hover { - image: url(theme:Dark/collapse.svg); -} - -/* Source Icons */ - -OBSBasic { - qproperty-imageIcon: url(theme:Dark/sources/image.svg); - qproperty-colorIcon: url(theme:Dark/sources/brush.svg); - qproperty-slideshowIcon: url(theme:Dark/sources/slideshow.svg); - qproperty-audioInputIcon: url(theme:Dark/sources/microphone.svg); - qproperty-audioOutputIcon: url(theme:Dark/settings/audio.svg); - qproperty-desktopCapIcon: url(theme:Dark/settings/video.svg); - qproperty-windowCapIcon: url(theme:Dark/sources/window.svg); - qproperty-gameCapIcon: url(theme:Dark/sources/gamepad.svg); - qproperty-cameraIcon: url(theme:Dark/sources/camera.svg); - qproperty-textIcon: url(theme:Dark/sources/text.svg); - qproperty-mediaIcon: url(theme:Dark/sources/media.svg); - qproperty-browserIcon: url(theme:Dark/sources/globe.svg); - qproperty-groupIcon: url(theme:Dark/sources/group.svg); - qproperty-sceneIcon: url(theme:Dark/sources/scene.svg); - qproperty-defaultIcon: url(theme:Dark/sources/default.svg); - qproperty-audioProcessOutputIcon: url(theme:Dark/sources/windowaudio.svg); -} - -/* Scene Tree Grid Mode */ - -SceneTree { - qproperty-gridItemWidth: 154; - qproperty-gridItemHeight: 31; -} - -*[gridMode="true"] SceneTree::item { - color: palette(text); - background-color: palette(button); - border-radius: 4px; - margin: 2px; -} - -*[gridMode="true"] SceneTree::item:selected { - background-color: rgb(40,76,184); -} - -*[gridMode="true"] SceneTree::item:checked { - background-color: rgb(40,76,184); -} - -*[gridMode="true"] SceneTree::item:hover { - background-color: rgb(89,89,89); -} - -*[gridMode="true"] SceneTree::item:selected:hover { - background-color: rgb(54,92,192); -} - -/* Save icon */ - -* [themeID="replayIconSmall"] { - qproperty-icon: url(theme:Dark/save.svg); -} - -/* Studio Mode T-Bar */ - -QSlider[themeID="tBarSlider"] { - height: 24px; -} - -QSlider::groove:horizontal[themeID="tBarSlider"] { - border: 1px solid #4c4c4c; - height: 5px; - background: palette(dark); -} - -QSlider::sub-page:horizontal[themeID="tBarSlider"] { - background: palette(dark); - border: 1px solid #4c4c4c; -} - -QSlider::handle:horizontal[themeID="tBarSlider"] { - background-color: #d2d2d2; - width: 12px; - height: 24px; - margin: -24px 0px; -} - -/* Media icons */ - -* [themeID="playIcon"] { - qproperty-icon: url(theme:Dark/media/media_play.svg); -} - -* [themeID="pauseIcon"] { - qproperty-icon: url(theme:Dark/media/media_pause.svg); -} - -* [themeID="restartIcon"] { - qproperty-icon: url(theme:Dark/media/media_restart.svg); -} - -* [themeID="stopIcon"] { - qproperty-icon: url(theme:Dark/media/media_stop.svg); -} - -* [themeID="nextIcon"] { - qproperty-icon: url(theme:Dark/media/media_next.svg); -} - -* [themeID="previousIcon"] { - qproperty-icon: url(theme:Dark/media/media_previous.svg); -} - -/* YouTube Integration */ -OBSYoutubeActions { - qproperty-thumbPlaceholder: url(theme:Dark/sources/image.svg); -} - -#ytEventList QLabel { - color: palette(text); - background-color: palette(button); - border: none; - border-radius: 4px; - padding: 4px 20px; -} - -#ytEventList QLabel:hover { - background-color: rgb(89,89,89); -} - -#ytEventList QLabel[isSelectedEvent=true] { - background-color: rgb(40,76,184); - border: none; -} - -#ytEventList QLabel[isSelectedEvent=true]:hover { - background-color: rgb(54,92,192); - color: palette(text); -} - -/* Calendar Widget */ -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Dark/down.svg); - width: 100%; -} - -QDateTimeEdit:on { - background-color: palette(mid); -} - -/* Calendar Top Bar */ -QCalendarWidget QWidget#qt_calendar_navigationbar { - background-color: palette(base); - padding: 4px 8px; -} - -/* Calendar Top Bar Buttons */ -QCalendarWidget QToolButton { - background-color: palette(button); - padding: 2px 16px; - border-radius: 4px; - margin: 2px; -} - -#qt_calendar_monthbutton::menu-indicator { - image: url(theme:Dark/down.svg); - subcontrol-position: right; - padding-top: 2px; - padding-right: 6px; - height: 10px; - width: 10px; -} - -QCalendarWidget #qt_calendar_prevmonth { - padding: 2px; - qproperty-icon: url(theme:Dark/left.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget #qt_calendar_nextmonth { - padding: 2px; - qproperty-icon: url(theme:Dark/right.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget QToolButton:hover { - background-color: rgb(89,89,89); - border-radius: 4px; -} - -QCalendarWidget QToolButton:pressed { - background-color: rgb(28,28,28); -} - -/* Month Dropdown Menu */ -QCalendarWidget QMenu { - -} -/* Year spinbox */ -QCalendarWidget QSpinBox { - background-color: rgb(28,28,28); - border: none; - border-radius: 4px; - margin: 0px 3px 0px 0px; - padding: 4px 16px; -} - -QCalendarWidget QSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; width: 16px; } -QCalendarWidget QSpinBox::down-button {subcontrol-origin: border; subcontrol-position: bottom right; width: 16px;} -QCalendarWidget QSpinBox::up-arrow { width: 10px; height: 10px; } -QCalendarWidget QSpinBox::down-arrow { width: 10px; height: 10px; } - -/* Days of the Week Bar */ -QCalendarWidget QWidget { alternate-background-color: palette(mid); } - -QCalendarWidget QAbstractItemView:enabled { - background-color: palette(base); - color: palette(text); -} - -QCalendarWidget QAbstractItemView:disabled { - color: rgb(122,121,122); -} - -/* VirtualCam Plugin Fixes */ - -#VirtualProperties QWidget { - margin-top: 0; - margin-bottom: 0; -} - -/* Disable icons on QDialogButtonBox */ -QDialogButtonBox { - dialogbuttonbox-buttons-have-icons: 0; -} - -/* Stats dialog */ -OBSBasicStats { - background: palette(dark); -} - -/* Advanced audio dialog */ -OBSBasicAdvAudio #scrollAreaWidgetContents { - background: palette(dark); -} diff --git a/UI/data/themes/Light.qss b/UI/data/themes/Light.qss deleted file mode 100644 index bf4ae85fe..000000000 --- a/UI/data/themes/Light.qss +++ /dev/null @@ -1,1544 +0,0 @@ -/******************************************************************************/ -/* Copyright (C) 2014-2015 by Philippe Groarke */ -/* */ -/* */ -/* This program is free software: you can redistribute it and/or modify */ -/* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation, either version 2 of the License, or */ -/* (at your option) any later version. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program. If not, see . */ -/******************************************************************************/ - -/* Colors */ - -OBSThemeMeta { - dark: 'false'; - author: 'Warchamp7'; -} - -/* Custom theme information. This will set the application's QPalette, as - * well as pass to QML via the OBSTheme object. - * Can also use OBSTheme::disabled, OBSTheme::active, and OBSTheme::inactive. - * Using it without will set all three (making 'active' a bit redundant) */ -OBSTheme { - window: rgb(211,211,211); - windowText: rgb(255,254,255); - - base: rgb(229,229,229); - alternateBase: rgb(11,10,11); - - text: rgb(2,2,2); - - button: rgb(243,243,243); - buttonText: rgb(2,2,2); - - brightText: rgb(255,254,255); - - light: rgb(167,167,167); - mid: rgb(211,211,211); - dark: rgb(229,229,229); - shadow: rgb(11,10,11); - - primary: rgb(140,181,255); - primaryLight: rgb(178,207,255); - primaryDark: rgb(193,193,193); - - highlight: rgb(42,130,218); - highlightText: rgb(255,254,255); - - link: rgb(77,166,255); - linkVisited: rgb(77,166,255); -} - -OBSTheme::disabled { - windowText: rgb(74,74,74); - text: rgb(74,74,74); - button: rgb(27,29,34); - - buttonText: rgb(43,46,56); - brightText: rgb(43,46,56); -} - -OBSTheme::inactive { - text: rgb(255,254,255); - - highlight: rgb(25,28,34); - highlightText: rgb(255,255,255); -} - -/* Default widget style, we override only what is needed. */ - -QWidget { - alternate-background-color: palette(base); - color: palette(text); - selection-background-color: rgb(140,181,255); - selection-color: palette(text); - font-size: 10pt; - font-family: 'Open Sans', '.AppleSystemUIFont', Helvetica, Arial, 'MS Shell Dlg', sans-serif; -} - -QWidget:disabled { - color: rgb(74,74,74); -} - -/* Container windows */ - -QDialog, -QMainWindow, -QStatusBar, -QMenuBar, -QMenu { - background-color: palette(window); -} - -/* macOS Separator Fix */ - -QMainWindow::separator { - background: transparent; - width: 4px; - height: 4px; -} - -/* General Widgets */ - -QLabel, -QGroupBox, -QCheckBox { - background: transparent; -} - -QComboBox, -QCheckBox, -QPushButton, -QSpinBox, -QDoubleSpinBox { - margin-top: 3px; - margin-bottom: 3px; -} - -QListWidget QWidget, -SceneTree QWidget, -SourceTree QWidget { - margin-top: 0; - margin-bottom: 0; -} - -* [frameShape="1"], * [frameShape="2"], * [frameShape="3"], * [frameShape="4"], * [frameShape="5"], * [frameShape="6"] { - border: 1px solid palette(dark); -} - - -/* Misc */ - -QAbstractItemView, QStackedWidget#stackedMixerArea QWidget { - background-color: palette(base); -} - -QToolTip { - background-color: palette(base); - color: palette(text); - border: none; -} - -/* Context Menu */ - -QMenu::icon { - left: 4px; -} - -QMenu::separator { - background: rgb(192,192,192); - height: 1px; - margin: 3px 6px; -} - -QMenu::item:disabled { - color: rgb(74,74,74); - background: transparent; -} - -QMenu::right-arrow { - image: url(theme:Light/expand.svg); -} - -/* Top Menu Bar Items */ -QMenuBar::item { - background-color: transparent; -} - -QMenuBar::item:selected { - background: rgb(140,181,255); -} - -/* Item Lists */ -QListWidget { - border-radius: 4px; -} - -QListWidget::item { - color: palette(text); -} - -QListWidget, -QMenu, -SceneTree, -SourceTree { - padding: 3px; -} - -QListWidget::item, -SourceTreeItem, -QMenu::item, -SceneTree::item { - padding: 6px; -} - -QMenu::item { - padding-right: 20px; -} - -QListWidget::item, -SourceTreeItem, -QMenu::item, -SceneTree::item, -SourceTree::item { - border-radius: 4px; - color: palette(text); - border: 0px solid transparent; -} - -QMenu::item:selected, -QListWidget::item:selected, -SceneTree::item:selected, -SourceTree::item:selected { - background-color: rgb(140,181,255); -} - -QMenu::item:hover, -QListWidget::item:hover, -SceneTree::item:hover, -SourceTree::item:hover, -QMenu::item:selected:hover, -QListWidget::item:selected:hover, -SceneTree::item:selected:hover, -SourceTree::item:selected:hover { - background-color: rgb(178,207,255); - color: palette(text); -} - -QListWidget::item:disabled, -QListWidget::item:disabled:hover { - background: transparent; - color: rgb(74,74,74); -} - -QListWidget QLineEdit, -SceneTree QLineEdit, -SourceTree QLineEdit { - padding: 0px; - padding-bottom: 2px; - margin: 0px; - border: 1px solid #FFF; - border-radius: 4px; -} - -QListWidget QLineEdit:focus, -SceneTree QLineEdit:focus, -SourceTree QLineEdit:focus { - border: 1px solid #FFF; -} - -/* Settings QList */ - -OBSBasicSettings QListWidget { - border-radius: 4px; - padding: 3px; -} - -OBSBasicSettings QListWidget::item { - border-radius: 4px; - padding: 6px; -} - -/* Settings properties view */ -OBSBasicSettings #PropertiesContainer { - background-color: palette(dark); -} - -#PropertiesContainer QListWidget { - background-color: palette(button); -} - -/* Dock Widget */ -OBSDock > QWidget { - background: palette(dark); - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -OBSDock QLabel { - background: transparent; -} - -#transitionsFrame { - padding: 4px 8px; -} - -QDockWidget { - font-size: 10.5pt; - font-weight: bold; - - titlebar-close-icon: url(theme:Light/close.svg); - titlebar-normal-icon: url(theme:Light/popout.svg); -} - -QDockWidget::title { - text-align: left; - background-color: palette(button); - padding: 6px 8px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -QDockWidget::close-button, QDockWidget::float-button { - border: 0px solid transparent; - border-radius: 4px; - background: transparent; - margin-right: 1px; - opacity: .5; -} - -QDockWidget::close-button:hover, QDockWidget::float-button:hover { - background: rgb(254,254,255); - opacity: 1; -} - -QDockWidget::close-button:pressed, QDockWidget::float-button:pressed { - padding: 1px -1px -1px 1px; -} - -QScrollArea { - border-radius: 4px; -} - -/* Qt enforces a padding inside its status bar, so we - * oversize it and use margin to crunch it back down - */ -OBSBasicStatusBar { - margin-top: 4px; - border-top: 1px solid rgb(192,192,192); - background: palette(dark); -} - -StatusBarWidget > QFrame { - margin-top: 1px; - border: 0px solid rgb(192,192,192); - border-left-width: 1px; - padding: 0px 12px 2px; -} - -/* Group Box */ - -QGroupBox { - background: palette(dark); - border-radius: 4px; - padding-top: 32px; - padding-bottom: 8px; - font-weight: bold; - margin-bottom: 6px; -} - -QGroupBox::title { - subcontrol-origin: margin; - left: 8px; - top: 8px; -} - - -/* ScrollBars */ - -::corner { - background-color: palette(window); - border: none; -} - -QScrollBar:vertical { - background-color: transparent; - width: 14px; - margin: 0px; -} - -QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { - border: none; - background: none; - height: 0px; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - border: none; - background: none; - color: none; -} - -QScrollBar:horizontal { - background-color: transparent; - height: 14px; - margin: 0px; -} - -QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { - border: none; - background: none; - width: 0px; -} - -QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - border: none; - background: none; - color: none; -} - -QScrollBar::handle { - background-color: palette(button); - margin: 2px; - border-radius: 2px; - border: 1px solid palette(button); -} - -QScrollBar::handle:hover { - background-color: rgb(254,254,255); - border-color: rgb(254,254,255); -} - -QScrollBar::handle:pressed { - background-color: rgb(140,181,255); - border-color: rgb(140,181,255); -} - -QScrollBar::handle:vertical { - min-height: 20px; -} - -QScrollBar::handle:horizontal { - min-width: 20px; -} - -/* Source Context Bar */ - -#contextContainer { - background-color: palette(dark); - margin-top: 4px; - border-radius: 4px; -} - -#contextContainer QPushButton { - padding-left: 12px; - padding-right: 12px; -} - -QPushButton#sourcePropertiesButton { - qproperty-icon: url(theme:Light/settings/general.svg); -} - -QPushButton#sourceFiltersButton { - qproperty-icon: url(theme:Light/filter.svg); -} - -/* Scenes and Sources toolbar */ - -QToolBar { - background-color: palette(dark); - border: none; - padding: 0px; - margin: 4px 0px; -} - -QPushButton[toolButton="true"], -QToolButton { - background-color: rgb(243,243,243); - padding: 4px 6px; - margin: 0px 2px; - border-radius: 4px; -} - -QPushButton[toolButton="true"]:last-child, -QToolButton:last-child { - margin-right: 0px; -} - -QToolButton:hover { - background-color: rgb(254,254,255); -} - -QToolButton:pressed { - background-color: rgb(193,193,193); -} - -* [themeID="addIconSmall"] { - qproperty-icon: url(theme:Light/plus.svg); -} - -* [themeID="removeIconSmall"] { - qproperty-icon: url(theme:Light/trash.svg); -} - -* [themeID="clearIconSmall"] { - qproperty-icon: url(theme:Light/entry-clear.svg); -} - -* [themeID="propertiesIconSmall"] { - qproperty-icon: url(theme:Light/settings/general.svg); -} - -* [themeID="configIconSmall"] { - qproperty-icon: url(theme:Light/settings/general.svg); -} - -* [themeID="menuIconSmall"] { - qproperty-icon: url(theme:Light/dots-vert.svg); -} - -* [themeID="refreshIconSmall"] { - qproperty-icon: url(theme:Light/refresh.svg); -} - -* [themeID="cogsIcon"] { - qproperty-icon: url(theme:Light/cogs.svg); -} - -#sourceInteractButton { - qproperty-icon: url(theme:Light/interact.svg); -} - -* [themeID="upArrowIconSmall"] { - qproperty-icon: url(theme:Light/up.svg); -} - -* [themeID="downArrowIconSmall"] { - qproperty-icon: url(theme:Light/down.svg); -} - -* [themeID="pauseIconSmall"] { - qproperty-icon: url(theme:Light/media-pause.svg); -} - -* [themeID="filtersIcon"] { - qproperty-icon: url(theme:Light/filter.svg); -} - -QToolBarExtension { - background: palette(button); - min-width: 12px; - max-width: 12px; - padding: 4px 0px; - margin-left: 0px; - - qproperty-icon: url(theme:Light/dots-vert.svg); -} - - -/* Tab Widget */ - -QTabWidget::pane { /* The tab widget frame */ - border-top: 4px solid palette(base); -} - -QTabWidget::tab-bar { - alignment: left; -} - -QTabBar QToolButton { - background: rgb(44,46,53); - border: none; -} - -QTabBar::tab:top { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -QTabBar::tab:bottom { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -QTabBar::tab { - background: palette(dark); - color: palette(text); - border: none; - padding: 8px 12px; - min-width: 50px; - margin: 1px 2px; -} - -QTabBar::tab:pressed { - background: rgb(193,193,193); -} - -QTabBar::tab:hover { - background: rgb(254,254,255); - color: palette(text); -} - -QTabBar::tab:selected { - background: rgb(243,243,243); - color: palette(text); -} - -QTabBar::tab:top:selected { - border-bottom: 2px solid rgb(250,250,250); -} - -QTabBar::tab:bottom:selected { - border-top: 2px solid rgb(250,250,250); -} - -QTabBar QToolButton { - background: palette(button); - min-width: 16px; - padding: 0px; -} - -/* ComboBox */ - -QComboBox, -QDateTimeEdit { - background-color: rgb(243,243,243); - border-style: solid; - border: 1px; - border-radius: 4px; - border-color: rgb(243,243,243); - padding: 4px; - padding-left: 10px; -} - -QComboBox:hover, -QComboBox:selected, -QDateTimeEdit:hover, -QDateTimeEdit:selected { - background-color: rgb(254,254,255); -} - -QComboBox::drop-down, -QDateTimeEdit::drop-down { - border:none; - border-left: 1px solid rgb(25,28,34); - width: 20px; -} - -QComboBox::down-arrow, -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Light/updown.svg); - width: 100%; -} - -QComboBox:on, -QDateTimeEdit:on { - background-color: rgb(193,193,193); -} - -QComboBox:editable:hover { - -} - -QComboBox::drop-down:editable, -QDateTimeEdit::drop-down:editable { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} - -QComboBox::down-arrow:editable, -QDateTimeEdit::down-arrow:editable { - qproperty-alignment: AlignTop; - image: url(theme:Light/down.svg); - width: 8%; -} - -/* Textedits etc */ - -QLineEdit, QTextEdit, QPlainTextEdit { - background-color: palette(button); - border: none; - border-radius: 4px; - padding: 5px 2px 5px 7px; - border: 2px solid transparent; -} - -QLineEdit:hover, -QTextEdit:hover, -QPlainTextEdit:hover { - border: 2px solid rgb(99,102,111); -} - -QLineEdit:focus, -QTextEdit:focus, -QPlainTextEdit:focus { - background-color: palette(mid); - border: 2px solid rgb(140,181,255); -} - -/* Spinbox and doubleSpinbox */ - -QSpinBox, -QDoubleSpinBox { - background-color: palette(button); - border: 2px solid palette(button); - border-radius: 4px; - margin-right: 3px; - padding: 3px 0px 4px 5px; -} - -QSpinBox:hover, -QDoubleSpinBox:hover { - border: 2px solid rgb(99,102,111); -} - -QSpinBox:focus, -QDoubleSpinBox:focus { - background-color: palette(mid); - border: 2px solid rgb(140,181,255); -} - -QSpinBox::up-button, QDoubleSpinBox::up-button { - subcontrol-origin: padding; - subcontrol-position: top right; /* position at the top right corner */ - right: 2px; - border-radius: 3px; - border-width: 0; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom-width: 0; -} - -QSpinBox::down-button, QDoubleSpinBox::down-button { - subcontrol-origin: padding; - subcontrol-position: bottom right; /* position at the top right corner */ - right: 2px; - border-radius: 3px; - border-width: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - border-top-width: 0; -} - -QSpinBox::up-button:hover, QSpinBox::down-button:hover, QDoubleSpinBox::up-button:hover, QDoubleSpinBox::down-button:hover { - background-color: rgb(254,254,255); -} - -QSpinBox::up-button:pressed, QSpinBox::down-button:pressed, QDoubleSpinBox::up-button:pressed, QDoubleSpinBox::down-button:pressed { - background-color: rgb(193,193,193); -} - -QSpinBox::up-button:disabled, QSpinBox::up-button:off, QSpinBox::down-button:disabled, QSpinBox::down-button:off { - background-color: rgb(193,193,193); -} - -QDoubleSpinBox::up-button:disabled, QDoubleSpinBox::up-button:off, QDoubleSpinBox::down-button:disabled, QDoubleSpinBox::down-button:off { - background-color: rgb(193,193,193); -} - -QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { - image: url(theme:Light/up.svg); - width: 100%; - margin: 2px; -} - -QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { - image: url(theme:Light/down.svg); - width: 100%; - padding: 2px; -} - - -/* Controls Dock */ -#controlsFrame { - padding: 4px 3px; -} - -#controlsFrame QPushButton { - margin: 2px 1px; -} - -#streamButton, -#recordButton, -QPushButton[themeID="replayBufferButton"], -#broadcastButton { - padding: 10px; -} - -/* Primary Control Button Checked Coloring */ -#streamButton:!hover:!pressed:checked, -#recordButton:!hover:!pressed:checked, -QPushButton[themeID="replayBufferButton"]:!hover:!pressed:checked, -QPushButton[themeID="vcamButton"]:!hover:!pressed:checked, -#modeSwitch:!hover:!pressed:checked, -#broadcastButton:!hover:!pressed:checked { - background: rgb(140,181,255); -} - -/* Primary Control Button Hover Coloring */ -#streamButton:hover:!pressed:checked, -#recordButton:hover:!pressed:checked, -QPushButton[themeID="replayBufferButton"]:!pressed:checked, -QPushButton[themeID="vcamButton"]:!pressed:checked, -#modeSwitch:hover:!pressed:checked, -#broadcastButton:hover:!pressed:checked { - background: rgb(178,207,255); - color: palette(text); -} - - -/* Buttons */ - -QPushButton { - color: palette(text); - background-color: palette(button); - min-height: 18px; - border: none; - border-radius: 4px; - padding: 6px 16px; -} - -QPushButton::flat { - background-color: rgb(243,243,243); -} - -QPushButton:checked { - background-color: rgb(140,181,255); -} - -QPushButton:hover { - background-color: rgb(254,254,255); -} - -QPushButton:pressed { - background-color: rgb(193,193,193); -} - -QPushButton:disabled, QToolButton:disabled { - background-color: rgb(193,193,193); -} - -QPushButton::menu-indicator { - image: url(theme:Light/down.svg); - subcontrol-position: right; - subcontrol-origin: padding; - width: 25px; -} - -/* Sliders */ - -QSlider::groove:horizontal { - background-color: rgb(243,243,243); - height: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:horizontal { - background-color: palette(text); - border: 1px solid palette(mid); - border-radius: 3px; - height: 10px; - width: 18px; - margin: -3px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:horizontal:pressed { - background-color: palette(text); -} - -QSlider::sub-page:horizontal { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::sub-page:horizontal:disabled { - background-color: palette(window); - border-radius: 2px; -} - -QSlider::groove:vertical { - background-color: rgb(243,243,243); - width: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:vertical { - background-color: palette(text); - border: 1px solid palette(mid); - border-radius: 3px; - width: 10px; - height: 18px; - margin: 0 -3px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:vertical:pressed { - background-color: palette(text); -} - -QSlider::add-page:vertical { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::add-page:vertical:disabled { - background-color: palette(window); - border-radius: 2px; -} - -QSlider::handle:hover { - background-color: rgb(200,199,200); -} - -QSlider::handle:disabled { - background-color: rgb(68,75,110); -} - -/* Volume Control */ - -#stackedMixerArea QPushButton { - min-width: 16px; - padding: 4px 8px; -} - -/* This is an incredibly cursed but necessary fix */ -#stackedMixerArea QPushButton:!hover { - background-color: palette(button); -} - -#stackedMixerArea QPushButton:hover { - background-color: rgb(254,254,255); -} - -#stackedMixerArea QPushButton:pressed { - background-color: rgb(193,193,193); -} - -VolumeMeter { - qproperty-backgroundNominalColor: rgb(66,112,24); - qproperty-backgroundWarningColor: rgb(112,91,28); - qproperty-backgroundErrorColor: rgb(112,39,53); - qproperty-foregroundNominalColor: rgb(115,189,49); - qproperty-foregroundWarningColor: rgb(189,144,9); - qproperty-foregroundErrorColor: rgb(189,47,73); - qproperty-magnitudeColor: rgb(0,0,0); - qproperty-majorTickColor: palette(text); - qproperty-minorTickColor: palette(light); -} - -/* Status Bar */ - -QStatusBar::item { - border: none; -} - -/* Table View */ - -QTableView { - background: palette(base); - gridline-color: palette(light); -} - -QTableView::item { - margin: 0px; - padding: 0px; -} - -QTableView QLineEdit { - background: palette(mid); - padding: 0; - margin: 0; -} - -QTableView QPushButton, -QTableView QToolButton { - margin: 1px 1px 2px; -} - -QHeaderView::section { - background-color: palette(button); - color: palette(text); - border: none; - border-left: 1px solid palette(window); - border-right: 1px solid palette(window); - padding: 2px 4px; - margin-bottom: 2px; -} - -/* Mute CheckBox */ - -MuteCheckBox::indicator:checked { - image: url(theme:Light/mute.svg); -} - -MuteCheckBox::indicator:indeterminate { - image: url(theme:Dark/unassigned.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Light/settings/audio.svg); -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: rgb(53,82,222); -} - -/* Label warning/error */ - -QLabel#warningLabel { - color: rgb(192,128,0); - font-weight: bold; -} - -QLabel#errorLabel { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="warning"] { - color: rgb(192,128,0); - font-weight: bold; -} - -* [themeID="error"] { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="good"] { - color: rgb(0,192,0); - font-weight: bold; -} - -/* About dialog */ - -* [themeID="aboutName"] { - font-size: 26pt; - font-weight: bold; -} - -* [themeID="aboutVersion"] { - font-size: 12pt; - margin-bottom: 20px; -} - -* [themeID="aboutInfo"] { - margin-bottom: 20px; -} - -* [themeID="aboutHLayout"] { - background-color: palette(base); -} - -/* Canvas / Preview background color */ - -OBSQTDisplay { - qproperty-displayBackgroundColor: rgb(193,193,193); - border-radius: 10px; -} - -/* Filters Window */ - -OBSBasicFilters QListWidget { - border-radius: 4px; - padding: 3px; -} - -OBSBasicFilters QListWidget::item { - border-radius: 4px; - padding: 6px; -} - -OBSBasicFilters #widget, -OBSBasicFilters #widget_2 { - margin: 0px; - padding: 0px; - padding-bottom: 4px; -} - -OBSBasicFilters #widget QPushButton, -OBSBasicFilters #widget_2 QPushButton { - min-width: 16px; - padding: 4px 8px; - margin-top: 0px; -} - -/* Preview/Program labels */ - -* [themeID="previewProgramLabels"] { - font-size: 14pt; - font-weight: bold; - color: rgb(210,210,210); - margin-bottom: 4px; -} - -/* Settings Icons */ - -OBSBasicSettings { - qproperty-generalIcon: url(theme:Light/settings/general.svg); - qproperty-streamIcon: url(theme:Light/settings/stream.svg); - qproperty-outputIcon: url(theme:Light/settings/output.svg); - qproperty-audioIcon: url(theme:Light/settings/audio.svg); - qproperty-videoIcon: url(theme:Light/settings/video.svg); - qproperty-hotkeysIcon: url(theme:Light/settings/hotkeys.svg); - qproperty-accessibilityIcon: url(theme:Light/settings/accessibility.svg); - qproperty-advancedIcon: url(theme:Light/settings/advanced.svg); -} - -/* Checkboxes */ -QCheckBox { - -} - -QCheckBox::indicator, -QGroupBox::indicator { - width: 18px; - height: 18px; -} - -QGroupBox::indicator { - margin-left: 2px; -} - -QCheckBox::indicator:unchecked, -QGroupBox::indicator:unchecked { - image: url(theme:Light/checkbox_unchecked.svg); -} - -QCheckBox::indicator:unchecked:hover, -QGroupBox::indicator:unchecked:hover { - border: none; - image: url(theme:Light/checkbox_unchecked_focus.svg); -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - image: url(theme:Light/checkbox_checked.svg); -} - -QCheckBox::indicator:checked:hover, -QGroupBox::indicator:checked:hover { - border: none; - image: url(theme:Light/checkbox_checked_focus.svg); -} - -QCheckBox::indicator:checked:disabled, -QGroupBox::indicator:checked:disabled { - image: url(theme:Light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:unchecked:disabled, -QGroupBox::indicator:unchecked:disabled { - image: url(theme:Light/checkbox_unchecked_disabled.svg); -} - -/* Locked CheckBox */ - -QCheckBox[lockCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[lockCheckBox=true]::indicator { - width: 16px; - height: 16px; -} - -QCheckBox[lockCheckBox=true]::indicator:checked, -QCheckBox[lockCheckBox=true]::indicator:checked:hover { - image: url(theme:Light/locked.svg); -} - -QCheckBox[lockCheckBox=true]::indicator:unchecked, -QCheckBox[lockCheckBox=true]::indicator:unchecked:hover { - image: url(:res/images/unlocked.svg); -} - -/* Visibility CheckBox */ - -QCheckBox[visibilityCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[visibilityCheckBox=true]::indicator { - width: 16px; - height: 16px; -} - -QCheckBox[visibilityCheckBox=true]::indicator:checked, -QCheckBox[visibilityCheckBox=true]::indicator:checked:hover { - image: url(theme:Light/visible.svg); -} - -QCheckBox[visibilityCheckBox=true]::indicator:unchecked, -QCheckBox[visibilityCheckBox=true]::indicator:unchecked:hover { - image: url(:res/images/invisible.svg); -} - -* [themeID="revertIcon"] { - qproperty-icon: url(theme:Light/revert.svg); -} - -QPushButton#extraPanelDelete { - background-color: palette(mid); - margin: 0; - padding: 0; -} - -QPushButton#extraPanelDelete:hover { - background-color: rgb(68,75,110); -} - -QPushButton#extraPanelDelete:pressed { - background-color: palette(dark); -} - -/* Mute CheckBox */ - -MuteCheckBox { - outline: none; -} - -MuteCheckBox::indicator { - width: 16px; - height: 16px; -} - -MuteCheckBox::indicator:checked { - image: url(theme:Light/mute.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Light/settings/audio.svg); -} - -MuteCheckBox::indicator:unchecked:hover { - image: url(theme:Light/settings/audio.svg); -} - -MuteCheckBox::indicator:unchecked:focus { - image: url(theme:Light/settings/audio.svg); -} - -MuteCheckBox::indicator:checked:hover { - image: url(theme:Light/mute.svg); -} - -MuteCheckBox::indicator:checked:focus { - image: url(theme:Light/mute.svg); -} - -MuteCheckBox::indicator:checked:disabled { - image: url(theme:Light/mute.svg); -} - -MuteCheckBox::indicator:unchecked:disabled { - image: url(theme:Light/settings/audio.svg); -} - -#hotkeyFilterReset { - margin-top: 0px; -} - -OBSHotkeyWidget { - padding: 8px 0px; - margin: 2px 0px; -} - -OBSHotkeyLabel { - padding: 4px 0px; -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: rgb(53,82,222); -} - -OBSHotkeyWidget QPushButton { - min-width: 16px; - padding: 4px 4px; - margin-top: 0px; - margin-left: 4px; -} - - -/* Sources List Group Collapse Checkbox */ - -QCheckBox[sourceTreeSubItem=true] { - background: transparent; - outline: none; - padding: 0px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator { - width: 12px; - height: 12px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator:checked, -QCheckBox[sourceTreeSubItem=true]::indicator:checked:hover { - image: url(theme:Light/expand.svg); -} - -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked, -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked:hover { - image: url(theme:Light/collapse.svg); -} - -/* Source Icons */ - -OBSBasic { - qproperty-imageIcon: url(theme:Light/sources/image.svg); - qproperty-colorIcon: url(theme:Light/sources/brush.svg); - qproperty-slideshowIcon: url(theme:Light/sources/slideshow.svg); - qproperty-audioInputIcon: url(theme:Light/sources/microphone.svg); - qproperty-audioOutputIcon: url(theme:Light/settings/audio.svg); - qproperty-desktopCapIcon: url(theme:Light/settings/video.svg); - qproperty-windowCapIcon: url(theme:Light/sources/window.svg); - qproperty-gameCapIcon: url(theme:Light/sources/gamepad.svg); - qproperty-cameraIcon: url(theme:Light/sources/camera.svg); - qproperty-textIcon: url(theme:Light/sources/text.svg); - qproperty-mediaIcon: url(theme:Light/sources/media.svg); - qproperty-browserIcon: url(theme:Light/sources/globe.svg); - qproperty-groupIcon: url(theme:Light/sources/group.svg); - qproperty-sceneIcon: url(theme:Light/sources/scene.svg); - qproperty-defaultIcon: url(theme:Light/sources/default.svg); - qproperty-audioProcessOutputIcon: url(theme:Light/sources/windowaudio.svg); -} - -/* Scene Tree Grid Mode */ - -SceneTree { - qproperty-gridItemWidth: 154; - qproperty-gridItemHeight: 31; -} - -*[gridMode="true"] SceneTree::item { - color: palette(text); - background-color: palette(button); - border-radius: 4px; - margin: 2px; -} - -*[gridMode="true"] SceneTree::item:selected { - background-color: rgb(140,181,255); -} - -*[gridMode="true"] SceneTree::item:checked { - background-color: rgb(140,181,255); -} - -*[gridMode="true"] SceneTree::item:hover { - background-color: rgb(254,254,255); -} - -*[gridMode="true"] SceneTree::item:selected:hover { - background-color: rgb(178,207,255); -} - -/* Save icon */ - -* [themeID="replayIconSmall"] { - qproperty-icon: url(theme:Light/save.svg); -} - -/* Studio Mode Labels */ - -* [themeID="previewProgramLabels"] { - color: palette(text); -} - -/* Studio Mode T-Bar */ - -QSlider[themeID="tBarSlider"] { - height: 24px; -} - -QSlider::groove:horizontal[themeID="tBarSlider"] { - border: 1px solid #4c4c4c; - height: 5px; - background: palette(dark); -} - -QSlider::sub-page:horizontal[themeID="tBarSlider"] { - background: palette(dark); - border: 1px solid #4c4c4c; -} - -QSlider::handle:horizontal[themeID="tBarSlider"] { - background-color: palette(text); - width: 12px; - height: 24px; - margin: -24px 0px; -} - -/* Media icons */ - -* [themeID="playIcon"] { - qproperty-icon: url(theme:Light/media/media_play.svg); -} - -* [themeID="pauseIcon"] { - qproperty-icon: url(theme:Light/media/media_pause.svg); -} - -* [themeID="restartIcon"] { - qproperty-icon: url(theme:Light/media/media_restart.svg); -} - -* [themeID="stopIcon"] { - qproperty-icon: url(theme:Light/media/media_stop.svg); -} - -* [themeID="nextIcon"] { - qproperty-icon: url(theme:Light/media/media_next.svg); -} - -* [themeID="previousIcon"] { - qproperty-icon: url(theme:Light/media/media_previous.svg); -} - -/* YouTube Integration */ -OBSYoutubeActions { - qproperty-thumbPlaceholder: url(theme:Light/sources/image.svg); -} - -#ytEventList QLabel { - color: palette(text); - background-color: palette(button); - border: none; - border-radius: 4px; - padding: 4px 20px; -} - -#ytEventList QLabel:hover { - background-color: rgb(254,254,255); -} - -#ytEventList QLabel[isSelectedEvent=true] { - background-color: rgb(140,181,255); - border: none; -} - -#ytEventList QLabel[isSelectedEvent=true]:hover { - background-color: rgb(178,207,255); - color: palette(text); -} - -/* Calendar Widget */ -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Light/down.svg); - width: 100%; -} - -QDateTimeEdit:on { - background-color: palette(mid); -} - -/* Calendar Top Bar */ -QCalendarWidget QWidget#qt_calendar_navigationbar { - background-color: palette(base); - padding: 4px 8px; -} - -/* Calendar Top Bar Buttons */ -QCalendarWidget QToolButton { - background-color: palette(button); - padding: 2px 16px; - border-radius: 4px; - margin: 2px; -} - -#qt_calendar_monthbutton::menu-indicator { - image: url(theme:Light/down.svg); - subcontrol-position: right; - padding-top: 2px; - padding-right: 6px; - height: 10px; - width: 10px; -} - -QCalendarWidget #qt_calendar_prevmonth { - padding: 2px; - qproperty-icon: url(theme:Light/left.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget #qt_calendar_nextmonth { - padding: 2px; - qproperty-icon: url(theme:Light/right.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget QToolButton:hover { - background-color: rgb(254,254,255); - border-radius: 4px; -} - -QCalendarWidget QToolButton:pressed { - background-color: rgb(193,193,193); -} - -/* Month Dropdown Menu */ -QCalendarWidget QMenu { - -} -/* Year spinbox */ -QCalendarWidget QSpinBox { - background-color: rgb(193,193,193); - border: none; - border-radius: 4px; - margin: 0px 3px 0px 0px; - padding: 4px 16px; -} - -QCalendarWidget QSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; width: 16px; } -QCalendarWidget QSpinBox::down-button {subcontrol-origin: border; subcontrol-position: bottom right; width: 16px;} -QCalendarWidget QSpinBox::up-arrow { width: 10px; height: 10px; } -QCalendarWidget QSpinBox::down-arrow { width: 10px; height: 10px; } - -/* Days of the Week Bar */ -QCalendarWidget QWidget { alternate-background-color: palette(mid); } - -QCalendarWidget QAbstractItemView:enabled { - background-color: palette(base); - color: palette(text); -} - -QCalendarWidget QAbstractItemView:disabled { - color: rgb(122,121,122); -} - -/* VirtualCam Plugin Fixes */ - -#VirtualProperties QWidget { - margin-top: 0; - margin-bottom: 0; -} - -/* Disable icons on QDialogButtonBox */ -QDialogButtonBox { - dialogbuttonbox-buttons-have-icons: 0; -} - -/* Stats dialog */ -OBSBasicStats { - background: palette(dark); -} - -/* Advanced audio dialog */ -OBSBasicAdvAudio #scrollAreaWidgetContents { - background: palette(dark); -} diff --git a/UI/data/themes/Light/settings/appearance.svg b/UI/data/themes/Light/settings/appearance.svg new file mode 100644 index 000000000..ed6de819d --- /dev/null +++ b/UI/data/themes/Light/settings/appearance.svg @@ -0,0 +1,2 @@ + + diff --git a/UI/data/themes/Rachni.qss b/UI/data/themes/Rachni.qss deleted file mode 100644 index b46a437d0..000000000 --- a/UI/data/themes/Rachni.qss +++ /dev/null @@ -1,1538 +0,0 @@ -/******************************************************************************/ -/* Copyright (C) 2014-2015 by Philippe Groarke */ -/* */ -/* */ -/* This program is free software: you can redistribute it and/or modify */ -/* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation, either version 2 of the License, or */ -/* (at your option) any later version. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program. If not, see . */ -/******************************************************************************/ - -/* Colors */ - -OBSThemeMeta { - dark: 'true'; - author: 'Warchamp7'; -} - -/* Custom theme information. This will set the application's QPalette, as - * well as pass to QML via the OBSTheme object. - * Can also use OBSTheme::disabled, OBSTheme::active, and OBSTheme::inactive. - * Using it without will set all three (making 'active' a bit redundant) */ -OBSTheme { - window: rgb(49,54,59); - windowText: rgb(255,254,255); - - base: rgb(35,38,41); - alternateBase: rgb(11,10,11); - - text: rgb(255,254,255); - - button: rgb(0,187,210); - buttonText: rgb(255,254,255); - - brightText: rgb(255,254,255); - - light: rgb(88,87,88); - mid: rgb(49,54,59); - dark: rgb(35,38,41); - shadow: rgb(11,10,11); - - primary: rgb(0,188,212); - primaryLight: rgb(0,188,212); - primaryDark: rgb(25,27,38); - - secondary: rgb(240,96,146); - - highlight: rgb(42,130,218); - highlightText: rgb(255,254,255); - - link: rgb(77,166,255); - linkVisited: rgb(77,166,255); -} - -OBSTheme::disabled { - windowText: rgb(153,153,153); - text: rgb(153,153,153); - button: rgb(27,29,34); - - buttonText: rgb(35,38,41); - brightText: rgb(35,38,41); -} - -OBSTheme::inactive { - text: rgb(255,254,255); - - highlight: rgb(25,28,34); - highlightText: rgb(255,255,255); -} - -/* Default widget style, we override only what is needed. */ - -QWidget { - alternate-background-color: palette(base); - color: palette(text); - selection-background-color: rgb(0,188,212); - selection-color: palette(text); - font-size: 10pt; - font-family: 'Open Sans', '.AppleSystemUIFont', Helvetica, Arial, 'MS Shell Dlg', sans-serif; -} - -QWidget:disabled { - color: rgb(153,153,153); -} - -/* Container windows */ - -QDialog, -QMainWindow, -QStatusBar, -QMenuBar, -QMenu { - background-color: palette(window); -} - -/* macOS Separator Fix */ - -QMainWindow::separator { - background: transparent; - width: 4px; - height: 4px; -} - -/* General Widgets */ - -QLabel, -QGroupBox, -QCheckBox { - background: transparent; -} - -QComboBox, -QCheckBox, -QPushButton, -QSpinBox, -QDoubleSpinBox { - margin-top: 3px; - margin-bottom: 3px; -} - -QListWidget QWidget, -SceneTree QWidget, -SourceTree QWidget { - margin-top: 0; - margin-bottom: 0; -} - -* [frameShape="1"], * [frameShape="2"], * [frameShape="3"], * [frameShape="4"], * [frameShape="5"], * [frameShape="6"] { - border: 1px solid palette(dark); -} - - -/* Misc */ - -QAbstractItemView, QStackedWidget#stackedMixerArea QWidget { - background-color: palette(base); -} - -QToolTip { - background-color: palette(base); - color: palette(text); - border: none; -} - -/* Context Menu */ - -QMenu::icon { - left: 4px; -} - -QMenu::separator { - background: palette(light); - height: 1px; - margin: 3px 6px; -} - -QMenu::item:disabled { - color: rgb(153,153,153); - background: transparent; -} - -QMenu::right-arrow { - image: url(theme:Dark/expand.svg); -} - -/* Top Menu Bar Items */ -QMenuBar::item { - background-color: transparent; -} - -QMenuBar::item:selected { - background: rgb(0,188,212); -} - -/* Item Lists */ -QListWidget { - border-radius: 4px; -} - -QListWidget::item { - color: palette(text); -} - -QListWidget, -QMenu, -SceneTree, -SourceTree { - padding: 3px; -} - -QListWidget::item, -SourceTreeItem, -QMenu::item, -SceneTree::item { - padding: 6px; -} - -QMenu::item { - padding-right: 20px; -} - -QListWidget::item, -SourceTreeItem, -QMenu::item, -SceneTree::item, -SourceTree::item { - border-radius: 4px; - color: palette(text); - border: 0px solid transparent; -} - -QMenu::item:selected, -QListWidget::item:selected, -SceneTree::item:selected, -SourceTree::item:selected { - background-color: rgb(89,66,79); -} - -QMenu::item:hover, -QListWidget::item:hover, -SceneTree::item:hover, -SourceTree::item:hover, -QMenu::item:selected:hover, -QListWidget::item:selected:hover, -SceneTree::item:selected:hover, -SourceTree::item:selected:hover { - background-color: rgb(0,188,212); - color: palette(text); -} - -QListWidget::item:disabled, -QListWidget::item:disabled:hover { - background: transparent; - color: rgb(153,153,153); -} - -QListWidget QLineEdit, -SceneTree QLineEdit, -SourceTree QLineEdit { - padding: 0px; - padding-bottom: 2px; - margin: 0px; - border: 1px solid #FFF; - border-radius: 4px; -} - -QListWidget QLineEdit:focus, -SceneTree QLineEdit:focus, -SourceTree QLineEdit:focus { - border: 1px solid #FFF; -} - -/* Settings QList */ - -OBSBasicSettings QListWidget { - border-radius: 4px; - padding: 3px; -} - -OBSBasicSettings QListWidget::item { - border-radius: 4px; - padding: 6px; -} - -/* Settings properties view */ -OBSBasicSettings #PropertiesContainer { - background-color: rgb(59,65,71); -} - -/* Dock Widget */ -OBSDock > QWidget { - background: palette(dark); - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -OBSDock QLabel { - background: transparent; -} - -#transitionsFrame { - padding: 4px 8px; -} - -QDockWidget { - font-size: 10.5pt; - font-weight: bold; - - titlebar-close-icon: url(theme:Dark/close.svg); - titlebar-normal-icon: url(theme:Dark/popout.svg); -} - -QDockWidget::title { - text-align: left; - background-color: palette(base); - padding: 6px 8px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -QDockWidget::close-button, QDockWidget::float-button { - border: 0px solid transparent; - border-radius: 4px; - background: transparent; - margin-right: 1px; - opacity: .5; -} - -QDockWidget::close-button:hover, QDockWidget::float-button:hover { - background: rgb(145,76,103); - opacity: 1; -} - -QDockWidget::close-button:pressed, QDockWidget::float-button:pressed { - padding: 1px -1px -1px 1px; -} - -QScrollArea { - border-radius: 4px; -} - -/* Qt enforces a padding inside its status bar, so we - * oversize it and use margin to crunch it back down - */ -OBSBasicStatusBar { - margin-top: 4px; - border-top: 1px solid #3c404b; - background: palette(dark); -} - -StatusBarWidget > QFrame { - margin-top: 1px; - border: 0px solid #3c404b; - border-left-width: 1px; - padding: 0px 12px 2px; -} - -/* Group Box */ - -QGroupBox { - background: rgb(59,65,71); - border-radius: 4px; - padding-top: 32px; - padding-bottom: 8px; - font-weight: bold; - margin-bottom: 6px; -} - -QGroupBox::title { - color: rgb(240,98,146); - subcontrol-origin: margin; - left: 8px; - top: 8px; -} - - -/* ScrollBars */ - -::corner { - background-color: palette(window); - border: none; -} - -QScrollBar:vertical { - background-color: transparent; - width: 14px; - margin: 0px; -} - -QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { - border: none; - background: none; - height: 0px; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - border: none; - background: none; - color: none; -} - -QScrollBar:horizontal { - background-color: transparent; - height: 14px; - margin: 0px; -} - -QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { - border: none; - background: none; - width: 0px; -} - -QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - border: none; - background: none; - color: none; -} - -QScrollBar::handle { - background-color: rgb(118,121,124); - margin: 2px; - border-radius: 2px; - border: 1px solid rgb(118,121,124); -} - -QScrollBar::handle:hover { - background-color: rgb(145,76,103); - border-color: rgb(145,76,103); -} - -QScrollBar::handle:pressed { - background-color: rgb(118,121,124); - border-color: rgb(118,121,124); -} - -QScrollBar::handle:vertical { - min-height: 20px; -} - -QScrollBar::handle:horizontal { - min-width: 20px; -} - -/* Source Context Bar */ - -#contextContainer { - background-color: palette(dark); - margin-top: 4px; - border-radius: 4px; -} - -#contextContainer QPushButton { - padding-left: 12px; - padding-right: 12px; -} - -QPushButton#sourcePropertiesButton { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -QPushButton#sourceFiltersButton { - qproperty-icon: url(theme:Dark/filter.svg); -} - -/* Scenes and Sources toolbar */ - -QToolBar { - background-color: rgb(49,54,59); - border: none; - padding: 4px; - margin: 0px 0px -4px; -} - -QPushButton[toolButton="true"], -QToolButton { - background-color: rgb(49,54,59); - padding: 4px 6px; - margin: 0px 2px; - border-radius: 4px; -} - -QPushButton[toolButton="true"]:disabled, -QToolButton:disabled { - background-color: transparent; -} - -QPushButton[toolButton="true"]:last-child, -QToolButton:last-child { - margin-right: 0px; -} - -QToolButton:hover { - background-color: rgb(145,76,103); -} - -QToolButton:pressed { - background-color: rgb(240,98,146); -} - -* [themeID="addIconSmall"] { - qproperty-icon: url(theme:Dark/plus.svg); -} - -* [themeID="removeIconSmall"] { - qproperty-icon: url(theme:Dark/trash.svg); -} - -* [themeID="clearIconSmall"] { - qproperty-icon: url(theme:Dark/entry-clear.svg); -} - -* [themeID="propertiesIconSmall"] { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -* [themeID="configIconSmall"] { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -* [themeID="menuIconSmall"] { - qproperty-icon: url(theme:Dark/dots-vert.svg); -} - -* [themeID="refreshIconSmall"] { - qproperty-icon: url(theme:Dark/refresh.svg); -} - -* [themeID="cogsIcon"] { - qproperty-icon: url(theme:Dark/cogs.svg); -} - -#sourceInteractButton { - qproperty-icon: url(theme:Dark/interact.svg); -} - -* [themeID="upArrowIconSmall"] { - qproperty-icon: url(theme:Dark/up.svg); -} - -* [themeID="downArrowIconSmall"] { - qproperty-icon: url(theme:Dark/down.svg); -} - -* [themeID="pauseIconSmall"] { - qproperty-icon: url(theme:Dark/media-pause.svg); -} - -* [themeID="filtersIcon"] { - qproperty-icon: url(theme:Dark/filter.svg); -} - -QToolBarExtension { - background: palette(button); - min-width: 12px; - max-width: 12px; - padding: 4px 0px; - margin-left: 0px; - - qproperty-icon: url(theme:Dark/dots-vert.svg); -} - - -/* Tab Widget */ - -QTabWidget::pane { /* The tab widget frame */ - border-top: 4px solid palette(base); -} - -QTabWidget::tab-bar { - alignment: left; -} - -QTabBar QToolButton { - background: rgb(44,46,53); - border: none; -} - -QTabBar::tab:top { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -QTabBar::tab:bottom { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -QTabBar::tab { - background: palette(dark); - color: palette(text); - border: none; - padding: 8px 12px; - min-width: 50px; - margin: 1px 2px; -} - -QTabBar::tab:pressed { - background: rgb(240,98,146); -} - -QTabBar::tab:hover { - background: rgb(145,76,103); - color: palette(text); -} - -QTabBar::tab:selected { - background: rgb(0,187,210); - color: palette(text); -} - -QTabBar::tab:top:selected { - border-bottom: 2px solid rgb(250,250,250); -} - -QTabBar::tab:bottom:selected { - border-top: 2px solid rgb(250,250,250); -} - -QTabBar QToolButton { - background: palette(button); - min-width: 16px; - padding: 0px; -} - -/* ComboBox */ - -QComboBox, -QDateTimeEdit { - background-color: palette(base); - border: 2px solid rgb(118,121,124); - border-radius: 4px; - padding: 4px; - padding-left: 10px; -} - -QComboBox:hover, -QComboBox:selected, -QDateTimeEdit:hover, -QDateTimeEdit:selected { - background-color: palette(base); - border: 2px solid rgb(0,188,212); -} - -QComboBox::drop-down, -QDateTimeEdit::drop-down { - border:none; - border-left: 1px solid rgb(25,28,34); - width: 20px; -} - -QComboBox::down-arrow, -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Dark/updown.svg); - width: 100%; -} - -QComboBox:on, -QDateTimeEdit:on { - background-color: rgb(25,27,38); -} - -QComboBox:editable:hover { - -} - -QComboBox::drop-down:editable, -QDateTimeEdit::drop-down:editable { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -QComboBox::down-arrow:editable, -QDateTimeEdit::down-arrow:editable { - qproperty-alignment: AlignTop; - image: url(theme:Dark/down.svg); - width: 8%; -} - -/* Textedits etc */ - -QLineEdit, QTextEdit, QPlainTextEdit { - background-color: palette(base); - border-radius: 4px; - padding: 5px 2px 5px 7px; - border: 2px solid rgb(118,121,124); -} - -QLineEdit:hover, -QTextEdit:hover, -QPlainTextEdit:hover { - border: 2px solid rgb(0,188,212); -} - -QLineEdit:focus, -QTextEdit:focus, -QPlainTextEdit:focus { - border: 2px solid rgb(0,188,212); -} - -/* Spinbox and doubleSpinbox */ - -QSpinBox, -QDoubleSpinBox { - background-color: palette(base); - border: 2px solid rgb(118,121,124); - border-radius: 4px; - margin-right: 3px; - padding: 3px 0px 4px 5px; -} - -QSpinBox:hover, -QDoubleSpinBox:hover { - border: 2px solid rgb(0,188,212); -} - -QSpinBox:focus, -QDoubleSpinBox:focus { - border: 2px solid rgb(0,188,212); -} - -QSpinBox::up-button, QDoubleSpinBox::up-button { - subcontrol-origin: padding; - subcontrol-position: top right; /* position at the top right corner */ - right: 2px; - border-radius: 3px; - border-width: 0; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom-width: 0; -} - -QSpinBox::down-button, QDoubleSpinBox::down-button { - subcontrol-origin: padding; - subcontrol-position: bottom right; /* position at the top right corner */ - right: 2px; - border-radius: 3px; - border-width: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - border-top-width: 0; -} - -QSpinBox::up-button:hover, QSpinBox::down-button:hover, QDoubleSpinBox::up-button:hover, QDoubleSpinBox::down-button:hover { - background-color: rgb(145,76,103); -} - -QSpinBox::up-button:pressed, QSpinBox::down-button:pressed, QDoubleSpinBox::up-button:pressed, QDoubleSpinBox::down-button:pressed { - background-color: rgb(25,27,38); -} - -QSpinBox::up-button:disabled, QSpinBox::up-button:off, QSpinBox::down-button:disabled, QSpinBox::down-button:off { - background-color: rgb(25,27,38); -} - -QDoubleSpinBox::up-button:disabled, QDoubleSpinBox::up-button:off, QDoubleSpinBox::down-button:disabled, QDoubleSpinBox::down-button:off { - background-color: rgb(25,27,38); -} - -QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { - image: url(theme:Dark/up.svg); - width: 100%; - margin: 2px; -} - -QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { - image: url(theme:Dark/down.svg); - width: 100%; - padding: 2px; -} - - -/* Controls Dock */ -#controlsFrame { - padding: 4px 3px; -} - -#controlsFrame QPushButton { - margin: 2px 1px; -} - -#streamButton, -#recordButton, -QPushButton[themeID="replayBufferButton"], -#broadcastButton { - padding: 10px; -} - -/* Primary Control Button Checked Coloring */ -#streamButton:!hover:!pressed:checked, -#recordButton:!hover:!pressed:checked, -QPushButton[themeID="replayBufferButton"]:!hover:!pressed:checked, -QPushButton[themeID="vcamButton"]:!hover:!pressed:checked, -#modeSwitch:!hover:!pressed:checked, -#broadcastButton:!hover:!pressed:checked { - background: rgb(145,76,103); -} - -/* Primary Control Button Hover Coloring */ -#streamButton:hover:!pressed:checked, -#recordButton:hover:!pressed:checked, -QPushButton[themeID="replayBufferButton"]:!pressed:checked, -QPushButton[themeID="vcamButton"]:!pressed:checked, -#modeSwitch:hover:!pressed:checked, -#broadcastButton:hover:!pressed:checked { - background: rgb(145,76,103); - color: palette(text); -} - - -/* Buttons */ - -QPushButton { - color: palette(text); - background-color: palette(button); - min-height: 18px; - border: none; - border-radius: 4px; - padding: 6px 16px; -} - -QPushButton::flat { - background-color: rgb(0,187,210); -} - -QPushButton:checked { - background-color: rgb(0,188,212); -} - -QPushButton:hover { - background-color: rgb(145,76,103); -} - -QPushButton:pressed { - background-color: rgb(240,98,146); -} - -QPushButton:disabled, QToolButton:disabled { - background-color: rgb(0,139,163); -} - -QPushButton::menu-indicator { - image: url(theme:Dark/down.svg); - subcontrol-position: right; - subcontrol-origin: padding; - width: 25px; -} - -/* Sliders */ - -QSlider::groove:horizontal { - background-color: palette(window); - height: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:horizontal { - background-color: palette(text); - border: 1px solid palette(mid); - border-radius: 3px; - height: 10px; - width: 18px; - margin: -3px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:horizontal:pressed { - background-color: palette(text); -} - -QSlider::sub-page:horizontal { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::sub-page:horizontal:disabled { - background-color: palette(window); - border-radius: 2px; -} - -QSlider::groove:vertical { - background-color: palette(window); - width: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:vertical { - background-color: palette(text); - border: 1px solid palette(mid); - border-radius: 3px; - width: 10px; - height: 18px; - margin: 0 -3px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:vertical:pressed { - background-color: palette(text); -} - -QSlider::add-page:vertical { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::add-page:vertical:disabled { - background-color: palette(window); - border-radius: 2px; -} - -QSlider::handle:hover { - background-color: rgb(200,199,200); -} - -QSlider::handle:disabled { - background-color: rgb(68,75,110); -} - -/* Volume Control */ - -#stackedMixerArea QPushButton { - min-width: 16px; - padding: 4px 8px; -} - -/* This is an incredibly cursed but necessary fix */ -#stackedMixerArea QPushButton:!hover { - background-color: rgb(49,54,59); -} - -#stackedMixerArea QPushButton:hover { - background-color: rgb(145,76,103); -} - -#stackedMixerArea QPushButton:pressed { - background-color: rgb(240,98,146); -} - -VolumeMeter { - qproperty-backgroundNominalColor: rgb(0, 128, 79); - qproperty-backgroundWarningColor: rgb(128, 57, 0); - qproperty-backgroundErrorColor: rgb(128, 9, 0); - qproperty-foregroundNominalColor: rgb(119, 255, 143); - qproperty-foregroundWarningColor: rgb(255, 157, 76); - qproperty-foregroundErrorColor: rgb(255, 89, 76); - qproperty-magnitudeColor: palette(window); - qproperty-majorTickColor: palette(window-text); - qproperty-minorTickColor: palette(mid); -} - -/* Status Bar */ - -QStatusBar::item { - border: none; -} - -/* Table View */ - -QTableView { - background: palette(base); - gridline-color: palette(light); -} - -QTableView::item { - margin: 0px; - padding: 0px; -} - -QTableView QLineEdit { - background: palette(mid); - padding: 0; - margin: 0; -} - -QTableView QPushButton, -QTableView QToolButton { - margin: 1px 1px 2px; -} - -QHeaderView::section { - background-color: palette(base); - color: palette(text); - border: none; - border-left: 1px solid palette(window); - border-right: 1px solid palette(window); - padding: 2px 4px; - margin-bottom: 2px; -} - -/* Mute CheckBox */ - -MuteCheckBox::indicator:checked { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:indeterminate { - image: url(theme:Dark/unassigned.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Dark/settings/audio.svg); -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: rgb(240,98,146); -} - -/* Label warning/error */ - -QLabel#warningLabel { - color: rgb(192,128,0); - font-weight: bold; -} - -QLabel#errorLabel { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="warning"] { - color: rgb(192,128,0); - font-weight: bold; -} - -* [themeID="error"] { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="good"] { - color: rgb(0,192,0); - font-weight: bold; -} - -/* About dialog */ - -* [themeID="aboutName"] { - font-size: 26pt; - font-weight: bold; -} - -* [themeID="aboutVersion"] { - font-size: 12pt; - margin-bottom: 20px; -} - -* [themeID="aboutInfo"] { - margin-bottom: 20px; -} - -* [themeID="aboutHLayout"] { - background-color: palette(base); -} - -/* Canvas / Preview background color */ - -OBSQTDisplay { - qproperty-displayBackgroundColor: rgb(34,37,40); - border-radius: 10px; -} - -/* Filters Window */ - -OBSBasicFilters QListWidget { - border-radius: 4px; - padding: 3px; -} - -OBSBasicFilters QListWidget::item { - border-radius: 4px; - padding: 6px; -} - -OBSBasicFilters #widget, -OBSBasicFilters #widget_2 { - margin: 0px; - padding: 0px; - padding-bottom: 4px; -} - -OBSBasicFilters #widget QPushButton, -OBSBasicFilters #widget_2 QPushButton { - min-width: 16px; - padding: 4px 8px; - margin-top: 0px; -} - -/* Preview/Program labels */ - -* [themeID="previewProgramLabels"] { - font-size: 14pt; - font-weight: bold; - color: rgb(210,210,210); - margin-bottom: 4px; -} - -/* Settings Icons */ - -OBSBasicSettings { - qproperty-generalIcon: url(theme:Dark/settings/general.svg); - qproperty-streamIcon: url(theme:Dark/settings/stream.svg); - qproperty-outputIcon: url(theme:Dark/settings/output.svg); - qproperty-audioIcon: url(theme:Dark/settings/audio.svg); - qproperty-videoIcon: url(theme:Dark/settings/video.svg); - qproperty-hotkeysIcon: url(theme:Dark/settings/hotkeys.svg); - qproperty-accessibilityIcon: url(theme:Dark/settings/accessibility.svg); - qproperty-advancedIcon: url(theme:Dark/settings/advanced.svg); -} - -/* Checkboxes */ -QCheckBox { - -} - -QCheckBox::indicator, -QGroupBox::indicator { - width: 18px; - height: 18px; -} - -QGroupBox::indicator { - margin-left: 2px; -} - -QCheckBox::indicator:unchecked, -QGroupBox::indicator:unchecked { - image: url(theme:Yami/checkbox_unchecked.svg); -} - -QCheckBox::indicator:unchecked:hover, -QGroupBox::indicator:unchecked:hover { - border: none; - image: url(theme:Yami/checkbox_unchecked_focus.svg); -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - image: url(theme:Yami/checkbox_checked.svg); -} - -QCheckBox::indicator:checked:hover, -QGroupBox::indicator:checked:hover { - border: none; - image: url(theme:Yami/checkbox_checked_focus.svg); -} - -QCheckBox::indicator:checked:disabled, -QGroupBox::indicator:checked:disabled { - image: url(theme:Yami/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:unchecked:disabled, -QGroupBox::indicator:unchecked:disabled { - image: url(theme:Yami/checkbox_unchecked_disabled.svg); -} - -/* Locked CheckBox */ - -QCheckBox[lockCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[lockCheckBox=true]::indicator { - width: 16px; - height: 16px; -} - -QCheckBox[lockCheckBox=true]::indicator:checked, -QCheckBox[lockCheckBox=true]::indicator:checked:hover { - image: url(theme:Dark/locked.svg); -} - -QCheckBox[lockCheckBox=true]::indicator:unchecked, -QCheckBox[lockCheckBox=true]::indicator:unchecked:hover { - image: url(:res/images/unlocked.svg); -} - -/* Visibility CheckBox */ - -QCheckBox[visibilityCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[visibilityCheckBox=true]::indicator { - width: 16px; - height: 16px; -} - -QCheckBox[visibilityCheckBox=true]::indicator:checked, -QCheckBox[visibilityCheckBox=true]::indicator:checked:hover { - image: url(theme:Dark/visible.svg); -} - -QCheckBox[visibilityCheckBox=true]::indicator:unchecked, -QCheckBox[visibilityCheckBox=true]::indicator:unchecked:hover { - image: url(:res/images/invisible.svg); -} - -* [themeID="revertIcon"] { - qproperty-icon: url(theme:Dark/revert.svg); -} - -QPushButton#extraPanelDelete { - background-color: palette(mid); - margin: 0; - padding: 0; -} - -QPushButton#extraPanelDelete:hover { - background-color: rgb(68,75,110); -} - -QPushButton#extraPanelDelete:pressed { - background-color: palette(dark); -} - -/* Mute CheckBox */ - -MuteCheckBox { - outline: none; -} - -MuteCheckBox::indicator { - width: 16px; - height: 16px; -} - -MuteCheckBox::indicator:checked { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:unchecked:hover { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:unchecked:focus { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:checked:hover { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:checked:focus { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:checked:disabled { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:unchecked:disabled { - image: url(theme:Dark/settings/audio.svg); -} - -#hotkeyFilterReset { - margin-top: 0px; -} - -OBSHotkeyWidget { - padding: 8px 0px; - margin: 2px 0px; -} - -OBSHotkeyLabel { - padding: 4px 0px; -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: rgb(240,98,146); -} - -OBSHotkeyWidget QPushButton { - min-width: 16px; - padding: 4px 4px; - margin-top: 0px; - margin-left: 4px; -} - - -/* Sources List Group Collapse Checkbox */ - -QCheckBox[sourceTreeSubItem=true] { - background: transparent; - outline: none; - padding: 0px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator { - width: 12px; - height: 12px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator:checked, -QCheckBox[sourceTreeSubItem=true]::indicator:checked:hover { - image: url(theme:Dark/expand.svg); -} - -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked, -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked:hover { - image: url(theme:Dark/collapse.svg); -} - -/* Source Icons */ - -OBSBasic { - qproperty-imageIcon: url(theme:Dark/sources/image.svg); - qproperty-colorIcon: url(theme:Dark/sources/brush.svg); - qproperty-slideshowIcon: url(theme:Dark/sources/slideshow.svg); - qproperty-audioInputIcon: url(theme:Dark/sources/microphone.svg); - qproperty-audioOutputIcon: url(theme:Dark/settings/audio.svg); - qproperty-desktopCapIcon: url(theme:Dark/settings/video.svg); - qproperty-windowCapIcon: url(theme:Dark/sources/window.svg); - qproperty-gameCapIcon: url(theme:Dark/sources/gamepad.svg); - qproperty-cameraIcon: url(theme:Dark/sources/camera.svg); - qproperty-textIcon: url(theme:Dark/sources/text.svg); - qproperty-mediaIcon: url(theme:Dark/sources/media.svg); - qproperty-browserIcon: url(theme:Dark/sources/globe.svg); - qproperty-groupIcon: url(theme:Dark/sources/group.svg); - qproperty-sceneIcon: url(theme:Dark/sources/scene.svg); - qproperty-defaultIcon: url(theme:Dark/sources/default.svg); - qproperty-audioProcessOutputIcon: url(theme:Dark/sources/windowaudio.svg); -} - -/* Scene Tree Grid Mode */ - -SceneTree { - qproperty-gridItemWidth: 154; - qproperty-gridItemHeight: 31; -} - -*[gridMode="true"] SceneTree::item { - color: palette(text); - background-color: palette(button); - border-radius: 4px; - margin: 2px; -} - -*[gridMode="true"] SceneTree::item:selected { - background-color: rgb(145,76,103); -} - -*[gridMode="true"] SceneTree::item:checked { - background-color: rgb(145,76,103); -} - -*[gridMode="true"] SceneTree::item:hover { - background-color: rgb(145,76,103); -} - -*[gridMode="true"] SceneTree::item:selected:hover { - background-color: rgb(145,76,103); -} - -/* Save icon */ - -* [themeID="replayIconSmall"] { - qproperty-icon: url(theme:Dark/save.svg); -} - -/* Studio Mode T-Bar */ - -QSlider[themeID="tBarSlider"] { - height: 24px; -} - -QSlider::groove:horizontal[themeID="tBarSlider"] { - border: 1px solid #4c4c4c; - height: 5px; - background: palette(dark); -} - -QSlider::sub-page:horizontal[themeID="tBarSlider"] { - background: palette(dark); - border: 1px solid #4c4c4c; -} - -QSlider::handle:horizontal[themeID="tBarSlider"] { - background-color: #d2d2d2; - width: 12px; - height: 24px; - margin: -24px 0px; -} - -/* Media icons */ - -* [themeID="playIcon"] { - qproperty-icon: url(theme:Dark/media/media_play.svg); -} - -* [themeID="pauseIcon"] { - qproperty-icon: url(theme:Dark/media/media_pause.svg); -} - -* [themeID="restartIcon"] { - qproperty-icon: url(theme:Dark/media/media_restart.svg); -} - -* [themeID="stopIcon"] { - qproperty-icon: url(theme:Dark/media/media_stop.svg); -} - -* [themeID="nextIcon"] { - qproperty-icon: url(theme:Dark/media/media_next.svg); -} - -* [themeID="previousIcon"] { - qproperty-icon: url(theme:Dark/media/media_previous.svg); -} - -/* YouTube Integration */ -OBSYoutubeActions { - qproperty-thumbPlaceholder: url(theme:Dark/sources/image.svg); -} - -#ytEventList QLabel { - color: palette(text); - background-color: palette(base); - border: none; - border-radius: 4px; - padding: 4px 20px; -} - -#ytEventList QLabel:hover { - background-color: rgb(145,76,103); -} - -#ytEventList QLabel[isSelectedEvent=true] { - background-color: rgb(0,188,212); - border: none; -} - -#ytEventList QLabel[isSelectedEvent=true]:hover { - background-color: rgb(0,188,212); - color: palette(text); -} - -/* Calendar Widget */ -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Dark/down.svg); - width: 100%; -} - -QDateTimeEdit:on { - background-color: palette(mid); -} - -/* Calendar Top Bar */ -QCalendarWidget QWidget#qt_calendar_navigationbar { - background-color: palette(base); - padding: 4px 8px; -} - -/* Calendar Top Bar Buttons */ -QCalendarWidget QToolButton { - background-color: palette(button); - padding: 2px 16px; - border-radius: 4px; - margin: 2px; -} - -#qt_calendar_monthbutton::menu-indicator { - image: url(theme:Dark/down.svg); - subcontrol-position: right; - padding-top: 2px; - padding-right: 6px; - height: 10px; - width: 10px; -} - -QCalendarWidget #qt_calendar_prevmonth { - padding: 2px; - qproperty-icon: url(theme:Dark/left.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget #qt_calendar_nextmonth { - padding: 2px; - qproperty-icon: url(theme:Dark/right.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget QToolButton:hover { - background-color: rgb(145,76,103); - border-radius: 4px; -} - -QCalendarWidget QToolButton:pressed { - background-color: rgb(240,98,146); -} - -/* Month Dropdown Menu */ -QCalendarWidget QMenu { - -} -/* Year spinbox */ -QCalendarWidget QSpinBox { - background-color: rgb(25,27,38); - border: none; - border-radius: 4px; - margin: 0px 3px 0px 0px; - padding: 4px 16px; -} - -QCalendarWidget QSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; width: 16px; } -QCalendarWidget QSpinBox::down-button {subcontrol-origin: border; subcontrol-position: bottom right; width: 16px;} -QCalendarWidget QSpinBox::up-arrow { width: 10px; height: 10px; } -QCalendarWidget QSpinBox::down-arrow { width: 10px; height: 10px; } - -/* Days of the Week Bar */ -QCalendarWidget QWidget { alternate-background-color: palette(mid); } - -QCalendarWidget QAbstractItemView:enabled { - background-color: palette(base); - color: palette(text); -} - -QCalendarWidget QAbstractItemView:disabled { - color: rgb(122,121,122); -} - -/* VirtualCam Plugin Fixes */ - -#VirtualProperties QWidget { - margin-top: 0; - margin-bottom: 0; -} - -/* Disable icons on QDialogButtonBox */ -QDialogButtonBox { - dialogbuttonbox-buttons-have-icons: 0; -} - -/* Stats dialog */ -OBSBasicStats { - background: palette(dark); -} - -/* Advanced audio dialog */ -OBSBasicAdvAudio #scrollAreaWidgetContents { - background: palette(dark); -} diff --git a/UI/data/themes/System.qss b/UI/data/themes/System.obt similarity index 96% rename from UI/data/themes/System.qss rename to UI/data/themes/System.obt index 7b361ada6..6e34569eb 100644 --- a/UI/data/themes/System.qss +++ b/UI/data/themes/System.obt @@ -8,8 +8,10 @@ /* Dark Theme is a good place to start if you need */ /* a template. */ -OBSThemeMeta { - dark: 'false'; +@OBSThemeMeta { + name: 'System'; + id: 'com.obsproject.System'; + author: 'Warchamp7'; } /* We need to set back the icons, or the preview wont stick. */ @@ -211,31 +213,31 @@ OBSBasicSettings QListWidget::item { /* Locked CheckBox */ -QCheckBox[lockCheckBox=true] { +LockedCheckBox { outline: none; background: transparent; } -QCheckBox[lockCheckBox=true]::indicator:checked { +LockedCheckBox::indicator:checked { image: url(:res/images/locked.svg); } -QCheckBox[lockCheckBox=true]::indicator:unchecked { +LockedCheckBox::indicator:unchecked { image: url(:res/images/unlocked.svg); } /* Visibility CheckBox */ -QCheckBox[visibilityCheckBox=true] { +VisibilityCheckBox { outline: none; background: transparent; } -QCheckBox[visibilityCheckBox=true]::indicator:checked { +VisibilityCheckBox::indicator:checked { image: url(:res/images/visible.svg); } -QCheckBox[visibilityCheckBox=true]::indicator:unchecked { +VisibilityCheckBox::indicator:unchecked { image: url(:res/images/invisible.svg); } diff --git a/UI/data/themes/Yami.obt b/UI/data/themes/Yami.obt new file mode 100644 index 000000000..642cb203f --- /dev/null +++ b/UI/data/themes/Yami.obt @@ -0,0 +1,1842 @@ +@OBSThemeMeta { + name: 'Yami'; + id: 'com.obsproject.Yami'; + author: 'Warchamp7'; + dark: 'true'; +} + +@OBSThemeVars { + /* OBS Color Palette */ + --blue1: #718CDC; + --blue2: #476BD7; + --blue3: #284CB8; + --blue4: #213E97; + --blue5: #1A3278; + + --red1: #E85E75; + --red2: #E33B57; + --red3: #C01C37; + --red4: #A1172E; + --red5: #7D1224; + + --pink1: #E5619A; + --pink2: #E03E84; + --pink3: #C11F65; + --pink4: #9E1A53; + --pink5: #7B1441; + + --teal1: #3DBEF5; + --teal2: #16B1F3; + --teal3: #0981B4; + --teal4: #086F9B; + --teal5: #065374; + + --purple1: #997FDC; + --purple2: #805FD3; + --purple3: #5B34BF; + --purple4: #4D2CA0; + --purple5: #3D2380; + + --green1: #59D966; + --green2: #37D247; + --green3: #25A231; + --green4: #1E8528; + --green5: #17641E; + + --yellow1: #EABC48; + --yellow2: #E5AF24; + --yellow3: #B88A16; + --yellow4: #926E11; + --yellow5: #6E520D; + + --grey1: #5B6273; + --grey2: #4E5566; + --grey3: #464B59; + --grey4: #3C404D; + --grey5: #323540; + --grey6: #272A33; + --grey7: #1D1F26; + --grey8: #13141A; + + --white1: #FFFFFF; + --white2: #EBEBEB; + --white3: #D6D6D6; + --white4: #C2C2C2; + --white5: #ADADAD; + + --black1: #0A0A0A; + --black2: #1F1F1F; + --black3: #333333; + --black4: #474747; + --black5: #5C5C5C; + + /* Base Theme Colors */ + --bg_window: var(--grey7); + --bg_base: var(--grey6); + --bg_preview: var(--grey8); + + --primary: var(--blue3); + --primary_light: var(--blue2); + --primary_lighter: var(--blue1); + --primary_dark: var(--blue4); + --primary_darker: var(--blue5); + + --warning: var(--yellow3); + --danger: var(--red3); + + --text: var(--white1); + --text_light: rgb(214,214,214); + --text_muted: rgb(153,153,153); + + --text_disabled: var(--text_muted); + --text_inactive: rgb(255,254,255); + + /* Layout */ + /* Configurable Values */ + --font_base_value: 10; // TODO: Min 8, Max 12, Step 1 + --spacing_base_value: 4; // TODO: Min 2, Max 7, Step 1 + --padding_base_value: 4; // TODO: Min 0.25, Max 10, Step 2 + + --border_highlight: "transparent"; // TODO: Better Accessibility focus state + // TODO: Move Accessibilty Colors to Theme config system + + --font_base: calc(1pt * var(--font_base_value)); + --font_small: calc(0.9pt * var(--font_base_value)); + --font_large: calc(1.1pt * var(--font_base_value)); + --font_xlarge: calc(1.5pt * var(--font_base_value)); + + --font_heading: calc(2.5pt * var(--font_base_value)); + + --icon_base: calc(6px + var(--font_base_value)); + + --spacing_base: calc(0.5px * var(--spacing_base_value)); + --spacing_large: calc(1px * var(--spacing_base_value)); + --spacing_small: calc(0.25px * var(--spacing_base_value)); + --spacing_title: 4px; + + --padding_base: calc(0.5px * var(--padding_base_value)); + --padding_large: calc(1px * var(--padding_base_value)); + --padding_xlarge: calc(1.75px * var(--padding_base_value)); + --padding_small: calc(0.25px * var(--padding_base_value)); + + --padding_wide: calc(8px + calc(2 * var(--padding_base_value))); + --padding_menu: calc(4px + calc(2 * var(--padding_base_value))); + + --padding_base_border: calc(var(--padding_base) + 1px); + + --spinbox_button_height: calc(var(--input_height) - 2px); + + --scrollbar_size: 12px; + + /* Inputs / Controls */ + --border_color: var(--grey4); + + --border_radius: 4px; + --border_radius_small: 2px; + --border_radius_large: 6px; + + --input_font_scale: calc(var(--font_base_value) * 2.2); + --input_font_padding: calc(var(--padding_base_value) * 2); + + --input_height_base: calc(var(--input_font_scale) + var(--input_font_padding)); + --input_padding: var(--padding_large); + --input_height: calc(var(--input_height_base) - calc(var(--input_padding) * 2)); + --input_height_half: calc(var(--input_height_base) / 2); + + --input_bg: var(--grey4); + --input_bg_hover: var(--grey7); + --input_bg_focus: var(--grey7); + + --list_item_bg_selected: var(--primary); + --list_item_bg_hover: var(--primary_light); + + --input_border: var(--grey1); + --input_border_hover: var(--grey1); + --input_border_focus: var(--primary); + + --spacing_input: var(--spacing_base); + + --button_bg: var(--input_bg); + --button_bg_hover: var(--grey3); + --button_bg_down: var(--grey7); + --button_bg_disabled: var(--grey6); + + --button_border: var(--button_bg); + --button_border_hover: var(--grey1); + --button_border_focus: var(--grey1); + + --tab_bg: var(--input_bg); + --tab_bg_hover: var(--grey3); + --tab_bg_down: var(--grey7); + --tab_bg_disabled: var(--grey6); + + --tab_border: var(--grey1); + --tab_border_hover: var(--grey1); + --tab_border_focus: var(--grey1); + --tab_border_selected: var(--primary); + + --scrollbar: var(--grey4); + --scrollbar_hover: var(--grey3); + --scrollbar_down: var(--grey8); + --scrollbar_border: var(--grey2); + + --separator_hover: var(--white1); + + --highlight: rgb(42,130,218); + --highlight_inactive: rgb(25,28,34); + + /* Qt Palette variables can be set with the "palette_" prefix */ + --palette_window: var(--bg_window); + --palette_windowText: var(--text); + --palette_base: var(--bg_base); + + --palette_light: var(--grey2); + --palette_mid: var(--grey7); + --palette_dark: var(--grey6); + + --palette_highlight: var(--primary); + --palette_highlightedText: var(--text); + + --palette_text: var(--text); + --palette_link: var(--blue2); + --palette_linkVisited: var(--blue2); + + --palette_button: var(--button_bg); + --palette_buttonText: var(--text); + + /* They can be selectively set for palette groups by appending those as well */ + --palette_text_active: var(--text); + --palette_text_disabled: var(--text_disabled); + --palette_text_inactive: var(--text_inactive); + + /* + * Variables calculated at runtime (after all themes have been composed). + * + * Support standard add, sub, mul, div operations. + * Also supports nested calls (but keep it reasonable). + * + * Note: When using two operands that have a type (e.g. "px") the type must match! + * If only one operand has a type it'll be used for the result. + * Note 2: Cannot be !editable + * Note 3: Operands and operator MUST be separated by whitespace + */ +} + +/* Default widget style, we override only what is needed. */ + +QWidget { + alternate-background-color: var(--bg_base); + color: var(--text); + selection-background-color: var(--primary); + selection-color: var(--text); + font-size: var(--font_base); + font-family: 'Open Sans', '.AppleSystemUIFont', Helvetica, Arial, 'MS Shell Dlg', sans-serif; +} + +QWidget:disabled { + color: var(--text_disabled); +} + +/* Container windows */ + +QDialog, +QMainWindow, +QStatusBar, +QMenuBar, +QMenu { + background-color: var(--bg_window); +} + +/* macOS Separator Fix */ + +QMainWindow::separator { + background: transparent; + width: var(--spacing_large); + height: var(--spacing_large); + margin: 0px; +} + +QMainWindow::separator:hover { + border: 1px solid var(--separator_hover); + margin: 1px; +} + +/* General Widgets */ + +QLabel, +QGroupBox, +QCheckBox { + background: transparent; +} + +QComboBox, +QCheckBox, +QPushButton, +QSpinBox, +QDoubleSpinBox { + margin-top: var(--spacing_input); + margin-bottom: var(--spacing_input); +} + +QListWidget QWidget, +SceneTree QWidget, +SourceTree QWidget { + margin-top: 0; + margin-bottom: 0; +} + +* [frameShape="1"], * [frameShape="2"], * [frameShape="3"], * [frameShape="4"], * [frameShape="5"], * [frameShape="6"] { + border: 1px solid var(--bg_base); +} + + +/* Misc */ + +QAbstractItemView, +QStackedWidget#stackedMixerArea QWidget { + background-color: var(--bg_base); +} + +QStackedWidget#stackedMixerArea QScrollBar { + background-color: var(--grey6); +} + +QToolTip { + background-color: var(--bg_base); + color: var(--text); + border: none; +} + +/* Context Menu */ + +QMenu::icon { + left: 4px; +} + +QMenu::separator { + background: var(--button_bg); + height: 1px; + margin: var(--spacing_base) var(--spacing_large); +} + +QMenu::item:disabled { + color: var(--text_disabled); + background: transparent; +} + +QMenu::right-arrow { + image: url(theme:Dark/expand.svg); +} + +/* Top Menu Bar Items */ +QMenuBar::item { + background-color: transparent; +} + +QMenuBar::item:selected { + background: var(--primary); +} + +/* Item Lists */ +QListWidget { + border-radius: var(--border_radius); +} + +QListWidget::item { + color: var(--text); +} + +QListWidget, +QMenu, +SceneTree, +SourceTree { + padding: var(--spacing_base); +} + +QListWidget::item, +SourceTreeItem, +SceneTree::item { + padding: var(--padding_large) var(--padding_large); +} + +QMenu::item { + padding: var(--padding_large) var(--padding_menu); +} + +QMenu::item { + padding-right: 20px; +} + +QListWidget::item, +SourceTreeItem, +QMenu::item, +SceneTree::item { + border-radius: var(--border_radius); + color: var(--text); + border: 1px solid transparent; +} + +SourceTree::item { + border-radius: var(--border_radius); + color: var(--text); +} + +QMenu::item:selected, +QListWidget::item:selected, +SceneTree::item:selected, +SourceTree::item:selected { + background-color: var(--primary); +} + +QMenu::item:hover, +QListWidget::item:hover, +SceneTree::item:hover, +SourceTree::item:hover, +QMenu::item:selected:hover, +QListWidget::item:selected:hover, +SceneTree::item:selected:hover, +SourceTree::item:selected:hover { + background-color: var(--primary_light); + color: var(--text); +} + +QMenu::item:focus, +QListWidget::item:focus, +SceneTree::item:focus, +SourceTree::item:focus, +QMenu::item:selected:focus, +QListWidget::item:selected:focus, +SceneTree::item:selected:focus, +SourceTree::item:selected:focus { + border: 1px solid var(--border_highlight); +} + +QListWidget::item:disabled, +QListWidget::item:disabled:hover, +SourceTree::item:disabled, +SourceTree::item:disabled:hover, +SceneTree::item:disabled, +SceneTree::item:disabled:hover { + background: transparent; + color: var(--text_disabled); +} + +QListWidget QLineEdit, +SceneTree QLineEdit, +SourceTree QLineEdit { + padding: 0; + padding-bottom: 1px; + margin: 0; + border: 1px solid var(--white1); + border-radius: var(--border_radius); +} + +QListWidget QLineEdit:focus, +SceneTree QLineEdit:focus, +SourceTree QLineEdit:focus { + border: 1px solid var(--grey1); +} + +/* Settings QList */ + +OBSBasicSettings QListWidget { + border-radius: var(--border_radius); + padding: var(--spacing_base); +} + +OBSBasicSettings QListWidget::item { + border-radius: var(--border_radius); + padding: var(--padding_large); +} + +/* Settings properties view */ +OBSBasicSettings #PropertiesContainer { + background-color: var(--bg_base); +} + +/* Dock Widget */ +OBSDock > QWidget { + background: var(--bg_base); + border-bottom-left-radius: var(--border_radius); + border-bottom-right-radius: var(--border_radius); + border: 1px solid var(--border_color); + border-top: none; +} + +#transitionsFrame { + padding: 4px 8px; +} + +OBSDock QLabel { + background: transparent; +} + +QDockWidget { + font-size: var(--font_base); + font-weight: bold; + + titlebar-close-icon: url(theme:Dark/close.svg); + titlebar-normal-icon: url(theme:Dark/popout.svg); +} + +QDockWidget::title { + text-align: left; + background-color: var(--button_bg); + padding: var(--padding_large); + border-top-left-radius: var(--border_radius); + border-top-right-radius: var(--border_radius); +} + +QDockWidget::close-button, +QDockWidget::float-button { + border: none; + border-radius: var(--border_radius); + background: transparent; + margin-right: 1px; +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background: var(--button_bg_hover); +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + padding: 1px -1px -1px 1px; +} + +QScrollArea { + border-radius: var(--border_radius); +} + +/* Qt enforces a padding inside its status bar, so we + * oversize it and use margin to crunch it back down + */ +OBSBasicStatusBar { + margin-top: 4px; + border-top: 1px solid var(--border_color); + background: var(--bg_base); +} + +StatusBarWidget > QFrame { + margin-top: 1px; + border: 0px solid var(--border_color); + border-left-width: 1px; + padding: 0px 8px 2px; +} + +/* Group Box */ + +QGroupBox { + background: var(--bg_base); + border-radius: var(--border_radius); + padding-top: var(--input_height_base); + padding-bottom: var(--padding_large); + font-weight: bold; + margin-bottom: var(--spacing_large); +} + +QGroupBox::title { + subcontrol-origin: margin; + left: var(--spacing_title); + top: var(--spacing_title); +} + + +/* ScrollBars */ + +QScrollBar { + background-color: var(--grey6); + margin: 0px; + border-radius: var(--border_radius); +} + +::corner { + background-color: var(--bg_window); + border: none; +} + +QScrollBar:vertical { + width: var(--scrollbar_size); +} + +QScrollBar::add-line:vertical, +QScrollBar::sub-line:vertical { + border: none; + background: none; + height: 0px; +} + +QScrollBar::up-arrow:vertical, +QScrollBar::down-arrow:vertical, +QScrollBar::add-page:vertical, +QScrollBar::sub-page:vertical { + border: none; + background: none; + color: none; +} + +QScrollBar:horizontal { + height: var(--scrollbar_size); +} + +QScrollBar::add-line:horizontal, +QScrollBar::sub-line:horizontal { + border: none; + background: none; + width: 0px; +} + +QScrollBar::left-arrow:horizontal, +QScrollBar::right-arrow:horizontal, +QScrollBar::add-page:horizontal, +QScrollBar::sub-page:horizontal { + border: none; + background: none; + color: none; +} + +QScrollBar::handle { + background-color: var(--scrollbar); + margin: 2px; + border-radius: var(--border_radius_small); + border: 1px solid var(--scrollbar); +} + +QScrollBar::handle:hover { + background-color: var(--scrollbar_hover); + border-color: var(--scrollbar_border); +} + +QScrollBar::handle:pressed { + background-color: var(--scrollbar_down); + border-color: var(--scrollbar_down); +} + +QScrollBar::handle:vertical { + min-height: 32px; +} + +QScrollBar::handle:horizontal { + min-width: 32px; +} + +/* Source Context Bar */ + +#contextContainer { + background-color: var(--bg_base); + margin-top: 4px; + border-radius: var(--border_radius); +} + +#contextContainer QPushButton { + padding-left: 12px; + padding-right: 12px; +} + +QPushButton#sourcePropertiesButton { + qproperty-icon: url(theme:Dark/settings/general.svg); + icon-size: var(--icon_base), var(--icon_base); +} + +QPushButton#sourceFiltersButton { + qproperty-icon: url(theme:Dark/filter.svg); + icon-size: var(--icon_base), var(--icon_base); +} + +/* Scenes and Sources toolbar */ + +QToolBar { + background-color: transparent; + border: none; + margin: var(--spacing_base) 0px; +} + +* [themeID="addIconSmall"] { + qproperty-icon: url(theme:Dark/plus.svg); +} + +* [themeID="removeIconSmall"] { + qproperty-icon: url(theme:Dark/trash.svg); +} + +* [themeID="clearIconSmall"] { + qproperty-icon: url(theme:Dark/entry-clear.svg); +} + +* [themeID="propertiesIconSmall"] { + qproperty-icon: url(theme:Dark/settings/general.svg); +} + +* [themeID="configIconSmall"] { + qproperty-icon: url(theme:Dark/settings/general.svg); +} + +* [themeID="menuIconSmall"] { + qproperty-icon: url(theme:Dark/dots-vert.svg); +} + +* [themeID="refreshIconSmall"] { + qproperty-icon: url(theme:Dark/refresh.svg); +} + +* [themeID="cogsIcon"] { + qproperty-icon: url(theme:Dark/cogs.svg); +} + +#sourceInteractButton { + qproperty-icon: url(theme:Dark/interact.svg); +} + +* [themeID="upArrowIconSmall"] { + qproperty-icon: url(theme:Dark/up.svg); +} + +* [themeID="downArrowIconSmall"] { + qproperty-icon: url(theme:Dark/down.svg); +} + +* [themeID="pauseIconSmall"] { + qproperty-icon: url(theme:Dark/media-pause.svg); +} + +* [themeID="filtersIcon"] { + qproperty-icon: url(theme:Dark/filter.svg); +} + +QToolBarExtension { + background: var(--button_bg); + min-width: 12px; + max-width: 12px; + padding: 4px 0px; + margin-left: 0px; + + qproperty-icon: url(theme:Dark/dots-vert.svg); +} + + +/* Tab Widget */ + +QTabWidget::pane { /* The tab widget frame */ + border-top: 4px solid var(--bg_base); +} + +QTabWidget::tab-bar { + alignment: left; +} + +QTabBar QToolButton { + background: var(--button_bg); + border: none; +} + +QTabBar::tab:top { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +QTabBar::tab:bottom { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +QTabBar::tab { + background: var(--tab_bg); + color: var(--text); + border: none; + padding: 8px 12px; + min-width: 50px; + margin: 1px 0px; + margin-right: 2px; + border: 1px solid var(--tab_border); +} + +QTabBar::tab:pressed { + background: var(--tab_bg_down); +} + +QTabBar::tab:hover { + background: var(--tab_bg_hover); + border-color: var(--tab_border_hover); + color: var(--text); +} + +QTabBar::tab:focus { + border-color: var(--tab_border_focus); +} + +QTabBar::tab:selected { + background: var(--tab_bg_down); + color: var(--text); +} + +QTabBar::tab:top { +} + +QTabBar::tab:top:selected { + border-bottom: 2px solid var(--tab_border_selected); +} + +QTabBar::tab:bottom { + +} + +QTabBar::tab:bottom:selected { + border-top: 2px solid var(--tab_border_selected); +} + +QTabBar QToolButton { + background: var(--button_bg); + min-width: 16px; + padding: 0px; +} + +/* ComboBox */ + +QComboBox, +QDateTimeEdit { + background-color: var(--input_bg); + border-style: solid; + border: 1px solid var(--input_bg); + border-radius: var(--border_radius); + padding: var(--padding_large) var(--padding_large); + padding-left: 10px; + max-height: var(--input_height); +} + +QComboBox QAbstractItemView::item:selected, +QComboBox QAbstractItemView::item:hover { + background-color: var(--list_item_bg_selected); +} + +QComboBox:hover, +QComboBox:focus, +QDateTimeEdit:hover, +QDateTimeEdit:selected { + border-color: var(--input_border_hover); +} + +QComboBox::drop-down, +QDateTimeEdit::drop-down { + border:none; + border-left: 1px solid var(--grey6); + width: 32px; +} + +QComboBox::down-arrow, +QDateTimeEdit::down-arrow { + qproperty-alignment: AlignTop; + image: url(theme:Dark/collapse.svg); + width: 100%; +} + +QComboBox:editable:hover { + background-color: var(--input_bg_hover); + border-color: var(--input_border_hover); +} + +QComboBox:on, +QDateTimeEdit:on, +QComboBox:editable:focus { + background-color: var(--input_bg_focus); + border-color: var(--input_border_focus); +} + +QComboBox::drop-down:editable, +QDateTimeEdit::drop-down:editable { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +QComboBox::down-arrow:editable, +QDateTimeEdit::down-arrow:editable { + qproperty-alignment: AlignTop; + image: url(theme:Dark/collapse.svg); + width: 100%; +} + +/* Textedits etc */ + +QLineEdit, +QTextEdit, +QPlainTextEdit { + background-color: var(--input_bg); + border: none; + border-radius: var(--border_radius); + padding: var(--input_padding) var(--padding_small) var(--input_padding) var(--input_padding); + border: 1px solid var(--input_bg); + height: var(--input_height); +} + +QLineEdit:hover, +QTextEdit:hover, +QPlainTextEdit:hover { + background-color: var(--input_bg_hover); + border-color: var(--input_border_hover); +} + +QLineEdit:focus, +QTextEdit:focus, +QPlainTextEdit:focus { + background-color: var(--input_bg_focus); + border-color: var(--input_border_focus); +} + +QTextEdit:!editable { + background-color: var(--input_bg); +} + +/* Spinbox and doubleSpinbox */ + +QSpinBox, +QDoubleSpinBox { + background-color: var(--input_bg); + border: 1px solid var(--input_bg); + border-radius: var(--border_radius); + margin-right: var(--spacing_base); + padding: var(--input_padding) 0px var(--input_padding) var(--input_padding); + height: var(--spinbox_button_height); + max-height: var(--spinbox_button_height); +} + +QSpinBox:hover, +QDoubleSpinBox:hover { + background-color: var(--input_bg_hover); + border-color: var(--input_border_hover); +} + +QSpinBox:focus, +QDoubleSpinBox:focus { + background-color: var(--input_bg_focus); + border-color: var(--input_border_focus); +} + +QSpinBox::up-button, +QDoubleSpinBox::up-button { + subcontrol-origin: padding; + subcontrol-position: top right; /* position at the top right corner */ + + width: 32px; + border-left: 1px solid var(--grey6); + border-bottom: 1px solid transparent; + border-radius: 0px; + margin-top: -1px; +} + +QSpinBox::down-button, +QDoubleSpinBox::down-button { + subcontrol-origin: padding; + subcontrol-position: bottom right; /* position at the top right corner */ + + width: 32px; + border-left: 1px solid var(--grey6); + border-top: 1px solid var(--grey6); + border-radius: 0px; + margin-bottom: -1px; +} + +QSpinBox::up-button:hover, +QSpinBox::down-button:hover, +QDoubleSpinBox::up-button:hover, +QDoubleSpinBox::down-button:hover { + background-color: var(--button_bg_hover); +} + +QSpinBox::up-button:pressed, +QSpinBox::down-button:pressed, +QDoubleSpinBox::up-button:pressed, +QDoubleSpinBox::down-button:pressed { + background-color: var(--button_bg_down); +} + +QSpinBox::up-button:disabled, +QSpinBox::up-button:off, +QSpinBox::down-button:disabled, +QSpinBox::down-button:off { + background-color: var(--button_bg_disabled); +} + +QDoubleSpinBox::up-button:disabled, +QDoubleSpinBox::up-button:off, +QDoubleSpinBox::down-button:disabled, +QDoubleSpinBox::down-button:off { + background-color: var(--button_bg_disabled); +} + +QSpinBox::up-arrow, +QDoubleSpinBox::up-arrow { + image: url(theme:Dark/up.svg); + width: 100%; + margin: 2px; +} + +QSpinBox::down-arrow, +QDoubleSpinBox::down-arrow { + image: url(theme:Dark/down.svg); + width: 100%; + padding: 2px; +} + +/* Controls Dock */ +#controlsFrame { + padding: var(--padding_large); +} + +#controlsFrame QPushButton { + margin: var(--spacing_base) var(--spacing_small); +} + +#streamButton, +#recordButton, +QPushButton[themeID="replayBufferButton"], +#broadcastButton { + padding: var(--padding_large); +} + +/* Primary Control Button Checked Coloring */ +#streamButton:!hover:!pressed:checked, +#recordButton:!hover:!pressed:checked, +QPushButton[themeID="replayBufferButton"]:!hover:!pressed:checked, +QPushButton[themeID="vcamButton"]:!hover:!pressed:checked, +#modeSwitch:!hover:!pressed:checked, +#broadcastButton:!hover:!pressed:checked { + background: var(--primary); +} + +/* Primary Control Button Hover Coloring */ +#streamButton:hover:!pressed:checked, +#recordButton:hover:!pressed:checked, +QPushButton[themeID="replayBufferButton"]:!pressed:checked, +QPushButton[themeID="vcamButton"]:!pressed:checked, +#modeSwitch:hover:!pressed:checked, +#broadcastButton:hover:!pressed:checked { + background: var(--primary_light); + color: var(--text); +} + + +/* Buttons */ + +QPushButton { + color: var(--text); + background-color: var(--button_bg); + border-radius: var(--border_radius); + height: var(--input_height); + max-height: var(--input_height); + padding: var(--input_padding) var(--padding_wide); + icon-size: var(--icon_base), var(--icon_base); +} + +QPushButton { + border: 1px solid var(--button_border); +} + +QToolButton { + border: 1px solid var(--button_border); +} + +QToolButton, +QPushButton[toolButton="true"] { + background-color: var(--button_bg); + padding: var(--padding_base) var(--padding_base); + margin: 0px var(--spacing_base); + border: 1px solid var(--button_border); + border-radius: var(--border_radius); + icon-size: var(--icon_base), var(--icon_base); +} + +QToolButton:last-child, +QPushButton[toolButton="true"]:last-child { + margin-right: 0px; +} + +QPushButton:hover, +QPushButton:focus { + border-color: var(--button_border_hover); +} + +QPushButton:hover { + background-color: var(--button_bg_hover); +} + +QToolButton:hover, +QToolButton:focus, +MuteCheckBox::indicator:hover, +MuteCheckBox::indicator:focus { + border-color: var(--button_border); + background-color: var(--button_bg_hover); +} + +QPushButton::flat { + background-color: var(--button_bg); +} + +QPushButton:checked { + background-color: var(--primary); +} + +QPushButton:checked:hover, +QPushButton:checked:focus { + border-color: var(--primary_lighter); +} + +QPushButton:pressed, +QPushButton:pressed:hover { + background-color: var(--button_bg_down); + border-color: var(--button_border); +} + +QToolButton:pressed, +QToolButton:pressed:hover { + background-color: var(--button_bg_down); + border-color: var(--button_border); +} + +QPushButton:disabled { + background-color: var(--button_bg_disabled); + border-color: var(--button_border); +} + +QToolButton:disabled, +QPushButton[toolButton="true"]:disabled { + background-color: var(--button_bg_disabled); + border-color: transparent; +} + +QPushButton::menu-indicator { + image: url(theme:Dark/down.svg); + subcontrol-position: right; + subcontrol-origin: padding; + width: 25px; +} + +/* Sliders */ + +QSlider::groove { + background-color: var(--grey4); + border: none; + border-radius: 2px; +} + +QSlider::groove:horizontal { + height: 4px; +} + +QSlider::groove:vertical { + width: 4px; +} + +QSlider::sub-page:horizontal { + background-color: var(--blue2); + border-radius: 2px; +} + +QSlider::sub-page:horizontal:disabled { + background-color: var(--grey4); + border-radius: 2px; +} + +QSlider::add-page:horizontal:disabled { + background-color: var(--grey7); + border-radius: 2px; +} + +QSlider::add-page:vertical { + background-color: var(--blue2); + border-radius: 2px; +} + +QSlider::add-page:vertical:disabled { + background-color: var(--grey4); + border-radius: 2px; +} + +QSlider::sub-page:vertical:disabled { + background-color: var(--grey7); + border-radius: 2px; +} + +QSlider::handle { + background-color: var(--white1); + border-radius: var(--border_radius); +} + +QSlider::handle:horizontal { + height: 10px; + width: 20px; + margin: -3px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ +} + +QSlider::handle:vertical { + width: 10px; + height: 20px; + margin: 0 -3px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ +} + +QSlider::handle:hover { + background-color: var(--white4); +} + +QSlider::handle:pressed { + background-color: var(--white5); +} + +QSlider::handle:disabled { + background-color: var(--white5); +} + +/* Volume Control */ + +#stackedMixerArea QPushButton { + background-color: var(--button_bg); + min-width: var(--icon_base); + padding: var(--padding_small) var(--padding_base); + margin: 0px var(--spacing_base); + border: 1px solid var(--button_border); + border-radius: var(--border_radius); + icon-size: var(--icon_base), var(--icon_base); +} + +/* This is an incredibly cursed but necessary fix */ +#stackedMixerArea QPushButton:!hover { + background-color: var(--button_bg); +} + +#stackedMixerArea QPushButton:hover { + background-color: var(--button_bg_hover); + border-color: var(--button_border_hover); +} + +#stackedMixerArea QPushButton:pressed { + background-color: var(--button_bg_down); +} + +VolumeMeter { + qproperty-backgroundNominalColor: var(--green5); + qproperty-backgroundWarningColor: var(--yellow5); + qproperty-backgroundErrorColor: var(--red5); + qproperty-foregroundNominalColor: var(--green2); + qproperty-foregroundWarningColor: var(--yellow2); + qproperty-foregroundErrorColor: var(--red2); + qproperty-magnitudeColor: rgb(0,0,0); + qproperty-majorTickColor: var(--white1); + qproperty-minorTickColor: var(--grey1); +} + +/* Status Bar */ + +QStatusBar::item { + border: none; +} + +/* Table View */ + +QTableView { + background: var(--bg_base); + gridline-color: var(--grey1); +} + +QTableView::item { + margin: 0px; + padding: 0px; +} + +QTableView QLineEdit { + background: var(--input_bg_focus); + padding: 0; + margin: 0; +} + +QTableView QPushButton, +QTableView QToolButton { + padding: 0px; + margin: -1px; + border_radius: 0px; +} + +QHeaderView::section { + background-color: var(--button_bg); + color: var(--text); + border: none; + border-left: 1px solid var(--bg_window); + border-right: 1px solid var(--bg_window); + padding: 3px 0px; + margin-bottom: 2px; +} + +OBSHotkeyLabel[hotkeyPairHover=true] { + color: var(--primary_light); +} + +/* Label warning/error */ + +QLabel#warningLabel { + color: var(--warning); + font-weight: bold; +} + +QLabel#errorLabel { + color: var(--danger); + font-weight: bold; +} + +* [themeID="warning"] { + color: var(--danger); + font-weight: bold; +} + +* [themeID="error"] { + color: var(--danger); + font-weight: bold; +} + +* [themeID="good"] { + color: var(--green3); + font-weight: bold; +} + +/* About dialog */ + +* [themeID="aboutName"] { + font-size: var(--font_heading); + font-weight: bold; +} + +* [themeID="aboutVersion"] { + font-size: var(--font_large); + margin-bottom: 20px; +} + +* [themeID="aboutInfo"] { + margin-bottom: 20px; +} + +* [themeID="aboutHLayout"] { + background-color: var(--bg_base); +} + +/* Canvas / Preview background color */ + +OBSQTDisplay { + qproperty-displayBackgroundColor: var(--bg_preview); +} + +/* Filters Window */ + +OBSBasicFilters QListWidget { + border-radius: var(--border_radius_large); + padding: var(--spacing_base); +} + +OBSBasicFilters QListWidget::item { + border-radius: var(--border_radius); + padding: var(--padding_base) var(--padding_large); +} + +OBSBasicFilters #widget, +OBSBasicFilters #widget_2 { + margin: 0px; + padding: 0px; + padding-bottom: var(--padding_base); +} + +OBSBasicFilters #widget QPushButton, +OBSBasicFilters #widget_2 QPushButton { + min-width: 16px; + padding: var(--padding_base) var(--padding_large); + margin-top: 0px; +} + +/* Preview/Program labels */ + +* [themeID="previewProgramLabels"] { + font-size: var(--font_xlarge); + font-weight: bold; + color: var(--text_light); + margin-bottom: 4px; +} + +/* Settings Icons */ + +OBSBasicSettings { + qproperty-generalIcon: url(theme:Dark/settings/general.svg); + qproperty-appearanceIcon: url(theme:Dark/settings/appearance.svg); + qproperty-streamIcon: url(theme:Dark/settings/stream.svg); + qproperty-outputIcon: url(theme:Dark/settings/output.svg); + qproperty-audioIcon: url(theme:Dark/settings/audio.svg); + qproperty-videoIcon: url(theme:Dark/settings/video.svg); + qproperty-hotkeysIcon: url(theme:Dark/settings/hotkeys.svg); + qproperty-accessibilityIcon: url(theme:Dark/settings/accessibility.svg); + qproperty-advancedIcon: url(theme:Dark/settings/advanced.svg); +} + +/* Checkboxes */ +QCheckBox { + +} + +QCheckBox::indicator, +QGroupBox::indicator { + width: var(--icon_base); + height: var(--icon_base); +} + +QGroupBox::indicator { + margin-left: 2px; +} + +QCheckBox::indicator:unchecked, +QGroupBox::indicator:unchecked { + image: url(theme:Yami/checkbox_unchecked.svg); +} + +QCheckBox::indicator:unchecked:hover, +QGroupBox::indicator:unchecked:hover { + border: none; + image: url(theme:Yami/checkbox_unchecked_focus.svg); +} + +QCheckBox::indicator:checked, +QGroupBox::indicator:checked { + image: url(theme:Yami/checkbox_checked.svg); +} + +QCheckBox::indicator:checked:hover, +QGroupBox::indicator:checked:hover { + image: url(theme:Yami/checkbox_checked_focus.svg); +} + +QCheckBox::indicator:checked:disabled, +QGroupBox::indicator:checked:disabled { + image: url(theme:Yami/checkbox_checked_disabled.svg); +} + +QCheckBox::indicator:unchecked:disabled, +QGroupBox::indicator:unchecked:disabled { + image: url(theme:Yami/checkbox_unchecked_disabled.svg); +} + +/* Locked CheckBox */ + +QCheckBox[lockCheckBox=true] { + outline: none; + background: transparent; +} + +QCheckBox[lockCheckBox=true]::indicator { + width: var(--icon_base); + height: var(--icon_base); + padding: 1px; + border: 1px solid transparent; + border-radius: 4px; +} + +QCheckBox[lockCheckBox=true]::indicator:checked, +QCheckBox[lockCheckBox=true]::indicator:checked:hover { + image: url(theme:Dark/locked.svg); +} + +QCheckBox[lockCheckBox=true]::indicator:unchecked, +QCheckBox[lockCheckBox=true]::indicator:unchecked:hover { + image: url(:res/images/unlocked.svg); +} + +QCheckBox[lockCheckBox=true]::indicator:hover, +QCheckBox[lockCheckBox=true]::indicator:focus { + border: 1px solid var(--border_highlight); +} + +/* Visibility CheckBox */ + +QCheckBox[visibilityCheckBox=true] { + outline: none; + background: transparent; +} + +QCheckBox[visibilityCheckBox=true]::indicator { + width: var(--icon_base); + height: var(--icon_base); + padding: 1px; + border: 1px solid transparent; + border-radius: 4px; +} + +QCheckBox[visibilityCheckBox=true]::indicator:checked, +QCheckBox[visibilityCheckBox=true]::indicator:checked:hover { + image: url(theme:Dark/visible.svg); +} + +QCheckBox[visibilityCheckBox=true]::indicator:unchecked, +QCheckBox[visibilityCheckBox=true]::indicator:unchecked:hover { + image: url(:res/images/invisible.svg); +} + +QCheckBox[visibilityCheckBox=true]::indicator:hover, +QCheckBox[visibilityCheckBox=true]::indicator:focus { + border: 1px solid var(--border_highlight); +} + +* [themeID="revertIcon"] { + qproperty-icon: url(theme:Dark/revert.svg); +} + +/* Mute CheckBox */ + +MuteCheckBox { + outline: none; +} + +MuteCheckBox::indicator, +MuteCheckBox::indicator:unchecked { + width: var(--icon_base); + height: var(--icon_base); + background-color: var(--button_bg); + padding: var(--padding_base_border) var(--padding_base_border); + margin: 0px var(--spacing_base); + border: 1px solid var(--button_border); + border-radius: var(--border_radius); + icon-size: var(--icon_base), var(--icon_base); +} + +MuteCheckBox::indicator:hover, +MuteCheckBox::indicator:unchecked:hover { + background-color: var(--button_bg_hover); + padding: var(--padding_base_border) var(--padding_base_border); + margin: 0px var(--spacing_base); + border: 1px solid var(--button_border_hover); + icon-size: var(--icon_base), var(--icon_base); +} + +MuteCheckBox::indicator:pressed, +MuteCheckBox::indicator:pressed:hover { + background-color: var(--button_bg_down); + border-color: var(--button_border); +} + +MuteCheckBox::indicator:checked { + image: url(theme:Dark/mute.svg); +} + +MuteCheckBox::indicator:unchecked { + image: url(theme:Dark/settings/audio.svg); +} + +MuteCheckBox::indicator:unchecked:hover { + image: url(theme:Dark/settings/audio.svg); +} + +MuteCheckBox::indicator:unchecked:focus { + image: url(theme:Dark/settings/audio.svg); +} + +MuteCheckBox::indicator:checked:hover { + image: url(theme:Dark/mute.svg); +} + +MuteCheckBox::indicator:checked:focus { + image: url(theme:Dark/mute.svg); +} + +MuteCheckBox::indicator:checked:disabled { + image: url(theme:Dark/mute.svg); +} + +MuteCheckBox::indicator:unchecked:disabled { + image: url(theme:Dark/settings/audio.svg); +} + +#hotkeyFilterReset { + margin-top: 0px; +} + +OBSHotkeyWidget { + padding: 8px 0px; + margin: 2px 0px; +} + +OBSHotkeyLabel { + padding: 4px 0px; +} + +OBSHotkeyLabel[hotkeyPairHover=true] { + color: var(--blue2); +} + +OBSHotkeyWidget QPushButton { + min-width: 16px; + padding: var(--padding_base); + margin-top: 0px; + margin-left: var(--spacing_base); +} + + +/* Sources List Group Collapse Checkbox */ + +QCheckBox[sourceTreeSubItem=true] { + background: transparent; + outline: none; + padding: 1px; + min-width: var(--icon_base); + min-height: var(--icon_base); +} + +QCheckBox[sourceTreeSubItem=true]::indicator { + width: var(--icon_base); + height: var(--icon_base); + padding: 0px; + border: 1px solid transparent; + border-radius: 4px; + margin-left: -1px; +} + +QCheckBox[sourceTreeSubItem=true]::indicator:checked, +QCheckBox[sourceTreeSubItem=true]::indicator:checked:hover { + image: url(theme:Dark/expand.svg); +} + +QCheckBox[sourceTreeSubItem=true]::indicator:unchecked, +QCheckBox[sourceTreeSubItem=true]::indicator:unchecked:hover { + image: url(theme:Dark/collapse.svg); +} + +QCheckBox[sourceTreeSubItem=true]::indicator:hover, +QCheckBox[sourceTreeSubItem=true]::indicator:focus { + border: 1px solid var(--border_highlight); +} + +/* Source Icons */ + +OBSBasic { + qproperty-imageIcon: url(theme:Dark/sources/image.svg); + qproperty-colorIcon: url(theme:Dark/sources/brush.svg); + qproperty-slideshowIcon: url(theme:Dark/sources/slideshow.svg); + qproperty-audioInputIcon: url(theme:Dark/sources/microphone.svg); + qproperty-audioOutputIcon: url(theme:Dark/settings/audio.svg); + qproperty-desktopCapIcon: url(theme:Dark/settings/video.svg); + qproperty-windowCapIcon: url(theme:Dark/sources/window.svg); + qproperty-gameCapIcon: url(theme:Dark/sources/gamepad.svg); + qproperty-cameraIcon: url(theme:Dark/sources/camera.svg); + qproperty-textIcon: url(theme:Dark/sources/text.svg); + qproperty-mediaIcon: url(theme:Dark/sources/media.svg); + qproperty-browserIcon: url(theme:Dark/sources/globe.svg); + qproperty-groupIcon: url(theme:Dark/sources/group.svg); + qproperty-sceneIcon: url(theme:Dark/sources/scene.svg); + qproperty-defaultIcon: url(theme:Dark/sources/default.svg); + qproperty-audioProcessOutputIcon: url(theme:Dark/sources/windowaudio.svg); +} + +/* Scene Tree Grid Mode */ + +SceneTree { + qproperty-gridItemWidth: 154; + qproperty-gridItemHeight: var(--input_height_base); +} + +*[gridMode="true"] SceneTree::item { + color: var(--text); + background-color: var(--button_bg); + border-radius: var(--border_radius); + margin: var(--spacing_base); +} + +*[gridMode="true"] SceneTree::item:selected { + background-color: var(--list_item_bg_selected); +} + +*[gridMode="true"] SceneTree::item:checked { + background-color: var(--primary); +} + +*[gridMode="true"] SceneTree::item:hover { + background-color: var(--list_item_bg_hover); +} + +*[gridMode="true"] SceneTree::item:selected:hover { + background-color: var(--list_item_bg_hover); +} + +/* Save icon */ + +* [themeID="replayIconSmall"] { + qproperty-icon: url(theme:Dark/save.svg); +} + +/* Studio Mode T-Bar */ + +QSlider[themeID="tBarSlider"] { + height: 24px; +} + +QSlider::groove:horizontal[themeID="tBarSlider"] { + height: 8px; +} + +QSlider::sub-page:horizontal[themeID="tBarSlider"] { + background: var(--blue2); +} + +QSlider::handle:horizontal[themeID="tBarSlider"] { + width: 12px; + height: 24px; + margin: -24px 0px; +} + +/* Media icons */ + +* [themeID="playIcon"] { + qproperty-icon: url(theme:Dark/media/media_play.svg); +} + +* [themeID="pauseIcon"] { + qproperty-icon: url(theme:Dark/media/media_pause.svg); +} + +* [themeID="restartIcon"] { + qproperty-icon: url(theme:Dark/media/media_restart.svg); +} + +* [themeID="stopIcon"] { + qproperty-icon: url(theme:Dark/media/media_stop.svg); +} + +* [themeID="nextIcon"] { + qproperty-icon: url(theme:Dark/media/media_next.svg); +} + +* [themeID="previousIcon"] { + qproperty-icon: url(theme:Dark/media/media_previous.svg); +} + +/* YouTube Integration */ +OBSYoutubeActions { + qproperty-thumbPlaceholder: url(theme:Dark/sources/image.svg); +} + +#ytEventList QLabel { + color: var(--text); + background-color: var(--button_bg); + border: none; + border-radius: var(--border_radius); + padding: 4px 20px; +} + +#ytEventList QLabel:hover { + background-color: var(--button_bg_hover); +} + +#ytEventList QLabel[isSelectedEvent=true] { + background-color: var(--primary); + border: none; +} + +#ytEventList QLabel[isSelectedEvent=true]:hover { + background-color: var(--primary_light); + color: var(--text); +} + +/* Calendar Widget */ +QDateTimeEdit::down-arrow { + qproperty-alignment: AlignTop; + image: url(theme:Dark/down.svg); + width: 100%; +} + +QDateTimeEdit:on { + background-color: var(--grey7); +} + +/* Calendar Top Bar */ +QCalendarWidget QWidget#qt_calendar_navigationbar { + background-color: var(--bg_base); + padding: var(--padding_base) var(--padding_large); +} + +/* Calendar Top Bar Buttons */ +QCalendarWidget QToolButton { + background-color: var(--button_bg); + padding: 2px 16px; + border-radius: var(--border_radius); + margin: var(--spacing_base); +} + +#qt_calendar_monthbutton::menu-indicator { + image: url(theme:Dark/down.svg); + subcontrol-position: right; + padding-top: var(--padding_small); + padding-right: var(--padding_base); + height: 10px; + width: 10px; +} + +QCalendarWidget #qt_calendar_prevmonth { + padding: var(--padding_small); + qproperty-icon: url(theme:Dark/left.svg); + icon-size: var(--icon_base), var(--icon_base); +} + +QCalendarWidget #qt_calendar_nextmonth { + padding: var(--padding_small); + qproperty-icon: url(theme:Dark/right.svg); + icon-size: var(--icon_base), var(--icon_base); +} + +QCalendarWidget QToolButton:hover { + background-color: var(--button_bg_hover); + border-radius: var(--border_radius); +} + +QCalendarWidget QToolButton:pressed { + background-color: var(--button_bg_down); +} + +/* Month Dropdown Menu */ +QCalendarWidget QMenu { + +} +/* Year spinbox */ +QCalendarWidget QSpinBox { + background-color: var(--input_bg); + border: none; + border-radius: var(--border_radius); + margin: 0px var(--spacing_base) 0px 0px; + padding: var(--padding_base) 16px; +} + +QCalendarWidget QSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; width: 16px; } +QCalendarWidget QSpinBox::down-button {subcontrol-origin: border; subcontrol-position: bottom right; width: 16px;} +QCalendarWidget QSpinBox::up-arrow { width: 10px; height: 10px; } +QCalendarWidget QSpinBox::down-arrow { width: 10px; height: 10px; } + +/* Days of the Week Bar */ +QCalendarWidget QWidget { alternate-background-color: var(--grey7); } + +QCalendarWidget QAbstractItemView:enabled { + background-color: var(--bg_base); + color: var(--text); +} + +QCalendarWidget QAbstractItemView:disabled { + color: var(--text_disabled); +} + +/* VirtualCam Plugin Fixes */ + +#VirtualProperties QWidget { + margin-top: 0; + margin-bottom: 0; +} + +/* Disable icons on QDialogButtonBox */ +QDialogButtonBox { + dialogbuttonbox-buttons-have-icons: 0; +} + +/* Stats dialog */ +OBSBasicStats { + background: var(--bg_base); +} + +/* Advanced audio dialog */ +OBSBasicAdvAudio #scrollAreaWidgetContents { + background: var(--bg_base); +} diff --git a/UI/data/themes/Yami.qss b/UI/data/themes/Yami.qss deleted file mode 100644 index 7fb9c9dc7..000000000 --- a/UI/data/themes/Yami.qss +++ /dev/null @@ -1,1540 +0,0 @@ -/******************************************************************************/ -/* Copyright (C) 2014-2015 by Philippe Groarke */ -/* */ -/* */ -/* This program is free software: you can redistribute it and/or modify */ -/* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation, either version 2 of the License, or */ -/* (at your option) any later version. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program. If not, see . */ -/******************************************************************************/ - -/* Colors */ - -OBSThemeMeta { - dark: 'true'; - author: 'Warchamp7'; -} - -/* Custom theme information. This will set the application's QPalette, as - * well as pass to QML via the OBSTheme object. - * Can also use OBSTheme::disabled, OBSTheme::active, and OBSTheme::inactive. - * Using it without will set all three (making 'active' a bit redundant) */ -OBSTheme { - window: rgb(31,33,42); - windowText: rgb(255,254,255); - - base: rgb(43,46,56); - alternateBase: rgb(11,10,11); - - text: rgb(255,254,255); - - button: rgb(60,64,75); - buttonText: rgb(255,254,255); - - brightText: rgb(255,254,255); - - light: rgb(88,87,88); - mid: rgb(31,33,42); - dark: rgb(43,46,56); - shadow: rgb(11,10,11); - - primary: rgb(40,76,184); - primaryLight: rgb(54,92,192); - primaryDark: rgb(25,27,38); - - highlight: rgb(42,130,218); - highlightText: rgb(255,254,255); - - link: rgb(77,166,255); - linkVisited: rgb(77,166,255); -} - -OBSTheme::disabled { - windowText: rgb(153,153,153); - text: rgb(153,153,153); - button: rgb(27,29,34); - - buttonText: rgb(43,46,56); - brightText: rgb(43,46,56); -} - -OBSTheme::inactive { - text: rgb(255,254,255); - - highlight: rgb(25,28,34); - highlightText: rgb(255,255,255); -} - -/* Default widget style, we override only what is needed. */ - -QWidget { - alternate-background-color: palette(base); - color: palette(text); - selection-background-color: rgb(40,76,184); - selection-color: palette(text); - font-size: 10pt; - font-family: 'Open Sans', '.AppleSystemUIFont', Helvetica, Arial, 'MS Shell Dlg', sans-serif; -} - -QWidget:disabled { - color: rgb(153,153,153); -} - -/* Container windows */ - -QDialog, -QMainWindow, -QStatusBar, -QMenuBar, -QMenu { - background-color: palette(window); -} - -/* macOS Separator Fix */ - -QMainWindow::separator { - background: transparent; - width: 4px; - height: 4px; -} - -/* General Widgets */ - -QLabel, -QGroupBox, -QCheckBox { - background: transparent; -} - -QComboBox, -QCheckBox, -QPushButton, -QSpinBox, -QDoubleSpinBox { - margin-top: 3px; - margin-bottom: 3px; -} - -QListWidget QWidget, -SceneTree QWidget, -SourceTree QWidget { - margin-top: 0; - margin-bottom: 0; -} - -* [frameShape="1"], * [frameShape="2"], * [frameShape="3"], * [frameShape="4"], * [frameShape="5"], * [frameShape="6"] { - border: 1px solid palette(dark); -} - - -/* Misc */ - -QAbstractItemView, QStackedWidget#stackedMixerArea QWidget { - background-color: palette(base); -} - -QToolTip { - background-color: palette(base); - color: palette(text); - border: none; -} - -/* Context Menu */ - -QMenu::icon { - left: 4px; -} - -QMenu::separator { - background: palette(button); - height: 1px; - margin: 3px 6px; -} - -QMenu::item:disabled { - color: rgb(153,153,153); - background: transparent; -} - -QMenu::right-arrow { - image: url(theme:Dark/expand.svg); -} - -/* Top Menu Bar Items */ -QMenuBar::item { - background-color: transparent; -} - -QMenuBar::item:selected { - background: rgb(40,76,184); -} - -/* Item Lists */ -QListWidget { - border-radius: 4px; -} - -QListWidget::item { - color: palette(text); -} - -QListWidget, -QMenu, -SceneTree, -SourceTree { - padding: 3px; -} - -QListWidget::item, -SourceTreeItem, -QMenu::item, -SceneTree::item { - padding: 6px; -} - -QMenu::item { - padding-right: 20px; -} - -QListWidget::item, -SourceTreeItem, -QMenu::item, -SceneTree::item, -SourceTree::item { - border-radius: 4px; - color: palette(text); - border: 0px solid transparent; -} - -QMenu::item:selected, -QListWidget::item:selected, -SceneTree::item:selected, -SourceTree::item:selected { - background-color: rgb(40,76,184); -} - -QMenu::item:hover, -QListWidget::item:hover, -SceneTree::item:hover, -SourceTree::item:hover, -QMenu::item:selected:hover, -QListWidget::item:selected:hover, -SceneTree::item:selected:hover, -SourceTree::item:selected:hover { - background-color: rgb(54,92,192); - color: palette(text); -} - -QListWidget::item:disabled, -QListWidget::item:disabled:hover, -SourceTree::item:disabled, -SourceTree::item:disabled:hover, -SceneTree::item:disabled, -SceneTree::item:disabled:hover { - background: transparent; - color: rgb(153,153,153); -} - -QListWidget QLineEdit, -SceneTree QLineEdit, -SourceTree QLineEdit { - padding: 0px; - padding-bottom: 2px; - margin: 0px; - border: 1px solid #FFF; - border-radius: 4px; -} - -QListWidget QLineEdit:focus, -SceneTree QLineEdit:focus, -SourceTree QLineEdit:focus { - border: 1px solid #FFF; -} - -/* Settings QList */ - -OBSBasicSettings QListWidget { - border-radius: 4px; - padding: 3px; -} - -OBSBasicSettings QListWidget::item { - border-radius: 4px; - padding: 6px; -} - -/* Settings properties view */ -OBSBasicSettings #PropertiesContainer { - background-color: palette(dark); -} - -#PropertiesContainer QListWidget { - background-color: palette(button); -} - -/* Dock Widget */ -OBSDock > QWidget { - background: palette(dark); - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -OBSDock QLabel { - background: transparent; -} - -#transitionsFrame { - padding: 4px 8px; -} - -QDockWidget { - font-size: 10.5pt; - font-weight: bold; - - titlebar-close-icon: url(theme:Dark/close.svg); - titlebar-normal-icon: url(theme:Dark/popout.svg); -} - -QDockWidget::title { - text-align: left; - background-color: palette(button); - padding: 6px 8px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -QDockWidget::close-button, QDockWidget::float-button { - border: 0px solid transparent; - border-radius: 4px; - background: transparent; - margin-right: 1px; - opacity: .5; -} - -QDockWidget::close-button:hover, QDockWidget::float-button:hover { - background: rgb(79,83,94); - opacity: 1; -} - -QDockWidget::close-button:pressed, QDockWidget::float-button:pressed { - padding: 1px -1px -1px 1px; -} - -QScrollArea { - border-radius: 4px; -} - -/* Qt enforces a padding inside its status bar, so we - * oversize it and use margin to crunch it back down - */ -OBSBasicStatusBar { - margin-top: 4px; - border-top: 1px solid #3c404b; - background: palette(dark); -} - -StatusBarWidget > QFrame { - margin-top: 1px; - border: 0px solid #3c404b; - border-left-width: 1px; - padding: 0px 12px 2px; -} - -/* Group Box */ - -QGroupBox { - background: palette(dark); - border-radius: 4px; - padding-top: 32px; - padding-bottom: 8px; - font-weight: bold; - margin-bottom: 6px; -} - -QGroupBox::title { - subcontrol-origin: margin; - left: 8px; - top: 8px; -} - - -/* ScrollBars */ - -::corner { - background-color: palette(window); - border: none; -} - -QScrollBar:vertical { - background-color: #1F212A; - width: 14px; - margin: 0px; -} - -QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { - border: none; - background: none; - height: 0px; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - border: none; - background: none; - color: none; -} - -QScrollBar:horizontal { - background: #1F212A; - height: 14px; - margin: 0px; -} - -QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { - border: none; - background: none; - width: 0px; -} - -QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal, QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - border: none; - background: none; - color: none; -} - -QScrollBar::handle { - background-color: palette(button); - margin: 2px; - border-radius: 2px; - border: 1px solid palette(button); -} - -QScrollBar::handle:hover { - background-color: rgb(79,83,94); - border-color: rgb(79,83,94); -} - -QScrollBar::handle:pressed { - background-color: rgb(40,76,184); - border-color: rgb(40,76,184); -} - -QScrollBar::handle:vertical { - min-height: 20px; -} - -QScrollBar::handle:horizontal { - min-width: 20px; -} - -/* Source Context Bar */ - -#contextContainer { - background-color: palette(dark); - margin-top: 4px; - border-radius: 4px; -} - -#contextContainer QPushButton { - padding-left: 12px; - padding-right: 12px; -} - -QPushButton#sourcePropertiesButton { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -QPushButton#sourceFiltersButton { - qproperty-icon: url(theme:Dark/filter.svg); -} - -/* Scenes and Sources toolbar */ - -QToolBar { - background-color: palette(dark); - border: none; - padding: 0px; - margin: 4px 0px; -} - -QPushButton[toolButton="true"], -QToolButton { - background-color: rgb(60,64,75); - padding: 4px 6px; - margin: 0px 2px; - border-radius: 4px; -} - -QPushButton[toolButton="true"]:last-child, -QToolButton:last-child { - margin-right: 0px; -} - -QToolButton:hover { - background-color: rgb(79,83,94); -} - -QToolButton:pressed { - background-color: rgb(25,27,38); -} - -* [themeID="addIconSmall"] { - qproperty-icon: url(theme:Dark/plus.svg); -} - -* [themeID="removeIconSmall"] { - qproperty-icon: url(theme:Dark/trash.svg); -} - -* [themeID="clearIconSmall"] { - qproperty-icon: url(theme:Dark/entry-clear.svg); -} - -* [themeID="propertiesIconSmall"] { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -* [themeID="configIconSmall"] { - qproperty-icon: url(theme:Dark/settings/general.svg); -} - -* [themeID="menuIconSmall"] { - qproperty-icon: url(theme:Dark/dots-vert.svg); -} - -* [themeID="refreshIconSmall"] { - qproperty-icon: url(theme:Dark/refresh.svg); -} - -* [themeID="cogsIcon"] { - qproperty-icon: url(theme:Dark/cogs.svg); -} - -#sourceInteractButton { - qproperty-icon: url(theme:Dark/interact.svg); -} - -* [themeID="upArrowIconSmall"] { - qproperty-icon: url(theme:Dark/up.svg); -} - -* [themeID="downArrowIconSmall"] { - qproperty-icon: url(theme:Dark/down.svg); -} - -* [themeID="pauseIconSmall"] { - qproperty-icon: url(theme:Dark/media-pause.svg); -} - -* [themeID="filtersIcon"] { - qproperty-icon: url(theme:Dark/filter.svg); -} - -QToolBarExtension { - background: palette(button); - min-width: 12px; - max-width: 12px; - padding: 4px 0px; - margin-left: 0px; - - qproperty-icon: url(theme:Dark/dots-vert.svg); -} - - -/* Tab Widget */ - -QTabWidget::pane { /* The tab widget frame */ - border-top: 4px solid palette(base); -} - -QTabWidget::tab-bar { - alignment: left; -} - -QTabBar QToolButton { - background: rgb(44,46,53); - border: none; -} - -QTabBar::tab:top { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -QTabBar::tab:bottom { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -QTabBar::tab { - background: palette(dark); - color: palette(text); - border: none; - padding: 8px 12px; - min-width: 50px; - margin: 1px 2px; -} - -QTabBar::tab:pressed { - background: rgb(25,27,38); -} - -QTabBar::tab:hover { - background: rgb(79,83,94); - color: palette(text); -} - -QTabBar::tab:selected { - background: rgb(60,64,75); - color: palette(text); -} - -QTabBar::tab:top:selected { - border-bottom: 2px solid rgb(250,250,250); -} - -QTabBar::tab:bottom:selected { - border-top: 2px solid rgb(250,250,250); -} - -QTabBar QToolButton { - background: palette(button); - min-width: 16px; - padding: 0px; -} - -/* ComboBox */ - -QComboBox, -QDateTimeEdit { - background-color: rgb(60,64,75); - border-style: solid; - border: 1px; - border-radius: 4px; - border-color: rgb(60,64,75); - padding: 4px; - padding-left: 10px; -} - -QComboBox:hover, -QComboBox:selected, -QDateTimeEdit:hover, -QDateTimeEdit:selected { - background-color: rgb(79,83,94); -} - -QComboBox::drop-down, -QDateTimeEdit::drop-down { - border:none; - border-left: 1px solid rgb(25,28,34); - width: 20px; -} - -QComboBox::down-arrow, -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Dark/updown.svg); - width: 100%; -} - -QComboBox:on, -QDateTimeEdit:on { - background-color: rgb(25,27,38); -} - -QComboBox:editable:hover { - -} - -QComboBox::drop-down:editable, -QDateTimeEdit::drop-down:editable { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -QComboBox::down-arrow:editable, -QDateTimeEdit::down-arrow:editable { - qproperty-alignment: AlignTop; - image: url(theme:Dark/down.svg); - width: 8%; -} - -/* Textedits etc */ - -QLineEdit, QTextEdit, QPlainTextEdit { - background-color: palette(button); - border: none; - border-radius: 4px; - padding: 5px 2px 5px 7px; - border: 2px solid transparent; -} - -QLineEdit:hover, -QTextEdit:hover, -QPlainTextEdit:hover { - border: 2px solid rgb(99,102,111); -} - -QLineEdit:focus, -QTextEdit:focus, -QPlainTextEdit:focus { - background-color: palette(mid); - border: 2px solid rgb(40,76,184); -} - -/* Spinbox and doubleSpinbox */ - -QSpinBox, -QDoubleSpinBox { - background-color: palette(button); - border: 2px solid palette(button); - border-radius: 4px; - margin-right: 3px; - padding: 3px 0px 4px 5px; -} - -QSpinBox:hover, -QDoubleSpinBox:hover { - border: 2px solid rgb(99,102,111); -} - -QSpinBox:focus, -QDoubleSpinBox:focus { - background-color: palette(mid); - border: 2px solid rgb(40,76,184); -} - -QSpinBox::up-button, QDoubleSpinBox::up-button { - subcontrol-origin: padding; - subcontrol-position: top right; /* position at the top right corner */ - right: 2px; - border-radius: 3px; - border-width: 0; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom-width: 0; -} - -QSpinBox::down-button, QDoubleSpinBox::down-button { - subcontrol-origin: padding; - subcontrol-position: bottom right; /* position at the top right corner */ - right: 2px; - border-radius: 3px; - border-width: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - border-top-width: 0; -} - -QSpinBox::up-button:hover, QSpinBox::down-button:hover, QDoubleSpinBox::up-button:hover, QDoubleSpinBox::down-button:hover { - background-color: rgb(79,83,94); -} - -QSpinBox::up-button:pressed, QSpinBox::down-button:pressed, QDoubleSpinBox::up-button:pressed, QDoubleSpinBox::down-button:pressed { - background-color: rgb(25,27,38); -} - -QSpinBox::up-button:disabled, QSpinBox::up-button:off, QSpinBox::down-button:disabled, QSpinBox::down-button:off { - background-color: rgb(25,27,38); -} - -QDoubleSpinBox::up-button:disabled, QDoubleSpinBox::up-button:off, QDoubleSpinBox::down-button:disabled, QDoubleSpinBox::down-button:off { - background-color: rgb(25,27,38); -} - -QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { - image: url(theme:Dark/up.svg); - width: 100%; - margin: 2px; -} - -QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { - image: url(theme:Dark/down.svg); - width: 100%; - padding: 2px; -} - -/* Controls Dock */ -#controlsFrame { - padding: 4px 3px; -} - -#controlsFrame QPushButton { - margin: 2px 1px; -} - -#streamButton, -#recordButton, -QPushButton[themeID="replayBufferButton"], -#broadcastButton { - padding: 10px; -} - -/* Primary Control Button Checked Coloring */ -#streamButton:!hover:!pressed:checked, -#recordButton:!hover:!pressed:checked, -QPushButton[themeID="replayBufferButton"]:!hover:!pressed:checked, -QPushButton[themeID="vcamButton"]:!hover:!pressed:checked, -#modeSwitch:!hover:!pressed:checked, -#broadcastButton:!hover:!pressed:checked { - background: rgb(40,76,184); -} - -/* Primary Control Button Hover Coloring */ -#streamButton:hover:!pressed:checked, -#recordButton:hover:!pressed:checked, -QPushButton[themeID="replayBufferButton"]:!pressed:checked, -QPushButton[themeID="vcamButton"]:!pressed:checked, -#modeSwitch:hover:!pressed:checked, -#broadcastButton:hover:!pressed:checked { - background: rgb(54,92,192); - color: palette(text); -} - - -/* Buttons */ - -QPushButton { - color: palette(text); - background-color: palette(button); - min-height: 18px; - border: none; - border-radius: 4px; - padding: 6px 16px; -} - -QPushButton::flat { - background-color: rgb(60,64,75); -} - -QPushButton:checked { - background-color: rgb(40,76,184); -} - -QPushButton:hover { - background-color: rgb(79,83,94); -} - -QPushButton:pressed { - background-color: rgb(25,27,38); -} - -QPushButton:disabled, QToolButton:disabled { - background-color: rgb(25,27,38); -} - -QPushButton::menu-indicator { - image: url(theme:Dark/down.svg); - subcontrol-position: right; - subcontrol-origin: padding; - width: 25px; -} - -/* Sliders */ - -QSlider::groove:horizontal { - background-color: rgb(60,64,75); - height: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:horizontal { - background-color: palette(text); - border: 1px solid palette(mid); - border-radius: 3px; - height: 10px; - width: 18px; - margin: -3px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:horizontal:pressed { - background-color: palette(text); -} - -QSlider::sub-page:horizontal { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::sub-page:horizontal:disabled { - background-color: palette(window); - border-radius: 2px; -} - -QSlider::groove:vertical { - background-color: rgb(60,64,75); - width: 4px; - border: none; - border-radius: 2px; -} - -QSlider::handle:vertical { - background-color: palette(text); - border: 1px solid palette(mid); - border-radius: 3px; - width: 10px; - height: 18px; - margin: 0 -3px; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */ -} - -QSlider::handle:vertical:pressed { - background-color: palette(text); -} - -QSlider::add-page:vertical { - background-color: palette(highlight); - border-radius: 2px; -} - -QSlider::add-page:vertical:disabled { - background-color: palette(window); - border-radius: 2px; -} - -QSlider::handle:hover { - background-color: rgb(200,199,200); -} - -QSlider::handle:disabled { - background-color: rgb(68,75,110); -} - -/* Volume Control */ -#stackedMixerArea QPushButton { - min-width: 16px; - padding: 4px 8px; -} - -/* This is an incredibly cursed but necessary fix */ -#stackedMixerArea QPushButton:!hover { - background-color: palette(button); -} - -#stackedMixerArea QPushButton:hover { - background-color: rgb(79,83,94); -} - -#stackedMixerArea QPushButton:pressed { - background-color: rgb(25,27,38); -} - -VolumeMeter { - qproperty-backgroundNominalColor: rgb(66,112,24); - qproperty-backgroundWarningColor: rgb(112,91,28); - qproperty-backgroundErrorColor: rgb(112,39,53); - qproperty-foregroundNominalColor: rgb(115,189,49); - qproperty-foregroundWarningColor: rgb(189,144,9); - qproperty-foregroundErrorColor: rgb(189,47,73); - qproperty-magnitudeColor: rgb(0,0,0); - qproperty-majorTickColor: palette(text); - qproperty-minorTickColor: palette(light); -} - -/* Status Bar */ - -QStatusBar::item { - border: none; -} - -/* Table View */ - -QTableView { - background: palette(base); - gridline-color: palette(light); -} - -QTableView::item { - margin: 0px; - padding: 0px; -} - -QTableView QLineEdit { - background: palette(mid); - padding: 0; - margin: 0; -} - -QTableView QPushButton, -QTableView QToolButton { - margin: 1px 1px 2px; -} - -QHeaderView::section { - background-color: palette(button); - color: palette(text); - border: none; - border-left: 1px solid palette(window); - border-right: 1px solid palette(window); - padding: 2px 4px; - margin-bottom: 2px; -} - -/* Mute CheckBox */ - -MuteCheckBox::indicator:checked { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:indeterminate { - image: url(theme:Dark/unassigned.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Dark/settings/audio.svg); -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: rgb(53,82,222); -} - -/* Label warning/error */ - -QLabel#warningLabel { - color: rgb(192,128,0); - font-weight: bold; -} - -QLabel#errorLabel { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="warning"] { - color: rgb(192,128,0); - font-weight: bold; -} - -* [themeID="error"] { - color: rgb(192,0,0); - font-weight: bold; -} - -* [themeID="good"] { - color: rgb(0,192,0); - font-weight: bold; -} - -/* About dialog */ - -* [themeID="aboutName"] { - font-size: 26pt; - font-weight: bold; -} - -* [themeID="aboutVersion"] { - font-size: 12pt; - margin-bottom: 20px; -} - -* [themeID="aboutInfo"] { - margin-bottom: 20px; -} - -* [themeID="aboutHLayout"] { - background-color: palette(base); -} - -/* Canvas / Preview background color */ - -OBSQTDisplay { - qproperty-displayBackgroundColor: rgb(25,27,38); - border-radius: 10px; -} - -/* Filters Window */ - -OBSBasicFilters QListWidget { - border-radius: 4px; - padding: 3px; -} - -OBSBasicFilters QListWidget::item { - border-radius: 4px; - padding: 6px; -} - -OBSBasicFilters #widget, -OBSBasicFilters #widget_2 { - margin: 0px; - padding: 0px; - padding-bottom: 4px; -} - -OBSBasicFilters #widget QPushButton, -OBSBasicFilters #widget_2 QPushButton { - min-width: 16px; - padding: 4px 8px; - margin-top: 0px; -} - -/* Preview/Program labels */ - -* [themeID="previewProgramLabels"] { - font-size: 14pt; - font-weight: bold; - color: rgb(210,210,210); - margin-bottom: 4px; -} - -/* Settings Icons */ - -OBSBasicSettings { - qproperty-generalIcon: url(theme:Dark/settings/general.svg); - qproperty-streamIcon: url(theme:Dark/settings/stream.svg); - qproperty-outputIcon: url(theme:Dark/settings/output.svg); - qproperty-audioIcon: url(theme:Dark/settings/audio.svg); - qproperty-videoIcon: url(theme:Dark/settings/video.svg); - qproperty-hotkeysIcon: url(theme:Dark/settings/hotkeys.svg); - qproperty-accessibilityIcon: url(theme:Dark/settings/accessibility.svg); - qproperty-advancedIcon: url(theme:Dark/settings/advanced.svg); -} - -/* Checkboxes */ -QCheckBox { - -} - -QCheckBox::indicator, -QGroupBox::indicator { - width: 18px; - height: 18px; -} - -QGroupBox::indicator { - margin-left: 2px; -} - -QCheckBox::indicator:unchecked, -QGroupBox::indicator:unchecked { - image: url(theme:Yami/checkbox_unchecked.svg); -} - -QCheckBox::indicator:unchecked:hover, -QGroupBox::indicator:unchecked:hover { - border: none; - image: url(theme:Yami/checkbox_unchecked_focus.svg); -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - image: url(theme:Yami/checkbox_checked.svg); -} - -QCheckBox::indicator:checked:hover, -QGroupBox::indicator:checked:hover { - border: none; - image: url(theme:Yami/checkbox_checked_focus.svg); -} - -QCheckBox::indicator:checked:disabled, -QGroupBox::indicator:checked:disabled { - image: url(theme:Yami/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:unchecked:disabled, -QGroupBox::indicator:unchecked:disabled { - image: url(theme:Yami/checkbox_unchecked_disabled.svg); -} - -/* Locked CheckBox */ - -QCheckBox[lockCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[lockCheckBox=true]::indicator { - width: 16px; - height: 16px; -} - -QCheckBox[lockCheckBox=true]::indicator:checked, -QCheckBox[lockCheckBox=true]::indicator:checked:hover { - image: url(theme:Dark/locked.svg); -} - -QCheckBox[lockCheckBox=true]::indicator:unchecked, -QCheckBox[lockCheckBox=true]::indicator:unchecked:hover { - image: url(:res/images/unlocked.svg); -} - -/* Visibility CheckBox */ - -QCheckBox[visibilityCheckBox=true] { - outline: none; - background: transparent; -} - -QCheckBox[visibilityCheckBox=true]::indicator { - width: 16px; - height: 16px; -} - -QCheckBox[visibilityCheckBox=true]::indicator:checked, -QCheckBox[visibilityCheckBox=true]::indicator:checked:hover { - image: url(theme:Dark/visible.svg); -} - -QCheckBox[visibilityCheckBox=true]::indicator:unchecked, -QCheckBox[visibilityCheckBox=true]::indicator:unchecked:hover { - image: url(:res/images/invisible.svg); -} - -* [themeID="revertIcon"] { - qproperty-icon: url(theme:Dark/revert.svg); -} - -QPushButton#extraPanelDelete { - background-color: palette(mid); - margin: 0; - padding: 0; -} - -QPushButton#extraPanelDelete:hover { - background-color: rgb(68,75,110); -} - -QPushButton#extraPanelDelete:pressed { - background-color: palette(dark); -} - -/* Mute CheckBox */ - -MuteCheckBox { - outline: none; -} - -MuteCheckBox::indicator { - width: 16px; - height: 16px; -} - -MuteCheckBox::indicator:checked { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:unchecked { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:unchecked:hover { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:unchecked:focus { - image: url(theme:Dark/settings/audio.svg); -} - -MuteCheckBox::indicator:checked:hover { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:checked:focus { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:checked:disabled { - image: url(theme:Dark/mute.svg); -} - -MuteCheckBox::indicator:unchecked:disabled { - image: url(theme:Dark/settings/audio.svg); -} - -#hotkeyFilterReset { - margin-top: 0px; -} - -OBSHotkeyWidget { - padding: 8px 0px; - margin: 2px 0px; -} - -OBSHotkeyLabel { - padding: 4px 0px; -} - -OBSHotkeyLabel[hotkeyPairHover=true] { - color: rgb(53,82,222); -} - -OBSHotkeyWidget QPushButton { - min-width: 16px; - padding: 4px 4px; - margin-top: 0px; - margin-left: 4px; -} - - -/* Sources List Group Collapse Checkbox */ - -QCheckBox[sourceTreeSubItem=true] { - background: transparent; - outline: none; - padding: 0px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator { - width: 12px; - height: 12px; -} - -QCheckBox[sourceTreeSubItem=true]::indicator:checked, -QCheckBox[sourceTreeSubItem=true]::indicator:checked:hover { - image: url(theme:Dark/expand.svg); -} - -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked, -QCheckBox[sourceTreeSubItem=true]::indicator:unchecked:hover { - image: url(theme:Dark/collapse.svg); -} - -/* Source Icons */ - -OBSBasic { - qproperty-imageIcon: url(theme:Dark/sources/image.svg); - qproperty-colorIcon: url(theme:Dark/sources/brush.svg); - qproperty-slideshowIcon: url(theme:Dark/sources/slideshow.svg); - qproperty-audioInputIcon: url(theme:Dark/sources/microphone.svg); - qproperty-audioOutputIcon: url(theme:Dark/settings/audio.svg); - qproperty-desktopCapIcon: url(theme:Dark/settings/video.svg); - qproperty-windowCapIcon: url(theme:Dark/sources/window.svg); - qproperty-gameCapIcon: url(theme:Dark/sources/gamepad.svg); - qproperty-cameraIcon: url(theme:Dark/sources/camera.svg); - qproperty-textIcon: url(theme:Dark/sources/text.svg); - qproperty-mediaIcon: url(theme:Dark/sources/media.svg); - qproperty-browserIcon: url(theme:Dark/sources/globe.svg); - qproperty-groupIcon: url(theme:Dark/sources/group.svg); - qproperty-sceneIcon: url(theme:Dark/sources/scene.svg); - qproperty-defaultIcon: url(theme:Dark/sources/default.svg); - qproperty-audioProcessOutputIcon: url(theme:Dark/sources/windowaudio.svg); -} - -/* Scene Tree Grid Mode */ - -SceneTree { - qproperty-gridItemWidth: 154; - qproperty-gridItemHeight: 31; -} - -*[gridMode="true"] SceneTree::item { - color: palette(text); - background-color: palette(button); - border-radius: 4px; - margin: 2px; -} - -*[gridMode="true"] SceneTree::item:selected { - background-color: rgb(40,76,184); -} - -*[gridMode="true"] SceneTree::item:checked { - background-color: rgb(40,76,184); -} - -*[gridMode="true"] SceneTree::item:hover { - background-color: rgb(79,83,94); -} - -*[gridMode="true"] SceneTree::item:selected:hover { - background-color: rgb(54,92,192); -} - -/* Save icon */ - -* [themeID="replayIconSmall"] { - qproperty-icon: url(theme:Dark/save.svg); -} - -/* Studio Mode T-Bar */ - -QSlider[themeID="tBarSlider"] { - height: 24px; -} - -QSlider::groove:horizontal[themeID="tBarSlider"] { - border: 1px solid #4c4c4c; - height: 5px; - background: palette(dark); -} - -QSlider::sub-page:horizontal[themeID="tBarSlider"] { - background: palette(dark); - border: 1px solid #4c4c4c; -} - -QSlider::handle:horizontal[themeID="tBarSlider"] { - background-color: #d2d2d2; - width: 12px; - height: 24px; - margin: -24px 0px; -} - -/* Media icons */ - -* [themeID="playIcon"] { - qproperty-icon: url(theme:Dark/media/media_play.svg); -} - -* [themeID="pauseIcon"] { - qproperty-icon: url(theme:Dark/media/media_pause.svg); -} - -* [themeID="restartIcon"] { - qproperty-icon: url(theme:Dark/media/media_restart.svg); -} - -* [themeID="stopIcon"] { - qproperty-icon: url(theme:Dark/media/media_stop.svg); -} - -* [themeID="nextIcon"] { - qproperty-icon: url(theme:Dark/media/media_next.svg); -} - -* [themeID="previousIcon"] { - qproperty-icon: url(theme:Dark/media/media_previous.svg); -} - -/* YouTube Integration */ -OBSYoutubeActions { - qproperty-thumbPlaceholder: url(theme:Dark/sources/image.svg); -} - -#ytEventList QLabel { - color: palette(text); - background-color: palette(button); - border: none; - border-radius: 4px; - padding: 4px 20px; -} - -#ytEventList QLabel:hover { - background-color: rgb(79,83,94); -} - -#ytEventList QLabel[isSelectedEvent=true] { - background-color: rgb(40,76,184); - border: none; -} - -#ytEventList QLabel[isSelectedEvent=true]:hover { - background-color: rgb(54,92,192); - color: palette(text); -} - -/* Calendar Widget */ -QDateTimeEdit::down-arrow { - qproperty-alignment: AlignTop; - image: url(theme:Dark/down.svg); - width: 100%; -} - -QDateTimeEdit:on { - background-color: palette(mid); -} - -/* Calendar Top Bar */ -QCalendarWidget QWidget#qt_calendar_navigationbar { - background-color: palette(base); - padding: 4px 8px; -} - -/* Calendar Top Bar Buttons */ -QCalendarWidget QToolButton { - background-color: palette(button); - padding: 2px 16px; - border-radius: 4px; - margin: 2px; -} - -#qt_calendar_monthbutton::menu-indicator { - image: url(theme:Dark/down.svg); - subcontrol-position: right; - padding-top: 2px; - padding-right: 6px; - height: 10px; - width: 10px; -} - -QCalendarWidget #qt_calendar_prevmonth { - padding: 2px; - qproperty-icon: url(theme:Dark/left.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget #qt_calendar_nextmonth { - padding: 2px; - qproperty-icon: url(theme:Dark/right.svg); - icon-size: 16px, 16px; -} - -QCalendarWidget QToolButton:hover { - background-color: rgb(79,83,94); - border-radius: 4px; -} - -QCalendarWidget QToolButton:pressed { - background-color: rgb(25,27,38); -} - -/* Month Dropdown Menu */ -QCalendarWidget QMenu { - -} -/* Year spinbox */ -QCalendarWidget QSpinBox { - background-color: rgb(25,27,38); - border: none; - border-radius: 4px; - margin: 0px 3px 0px 0px; - padding: 4px 16px; -} - -QCalendarWidget QSpinBox::up-button { subcontrol-origin: border; subcontrol-position: top right; width: 16px; } -QCalendarWidget QSpinBox::down-button {subcontrol-origin: border; subcontrol-position: bottom right; width: 16px;} -QCalendarWidget QSpinBox::up-arrow { width: 10px; height: 10px; } -QCalendarWidget QSpinBox::down-arrow { width: 10px; height: 10px; } - -/* Days of the Week Bar */ -QCalendarWidget QWidget { alternate-background-color: palette(mid); } - -QCalendarWidget QAbstractItemView:enabled { - background-color: palette(base); - color: palette(text); -} - -QCalendarWidget QAbstractItemView:disabled { - color: rgb(122,121,122); -} - -/* VirtualCam Plugin Fixes */ - -#VirtualProperties QWidget { - margin-top: 0; - margin-bottom: 0; -} - -/* Disable icons on QDialogButtonBox */ -QDialogButtonBox { - dialogbuttonbox-buttons-have-icons: 0; -} - -/* Stats dialog */ -OBSBasicStats { - background: palette(dark); -} - -/* Advanced audio dialog */ -OBSBasicAdvAudio #scrollAreaWidgetContents { - background: palette(dark); -} diff --git a/UI/data/themes/Yami_Acri.ovt b/UI/data/themes/Yami_Acri.ovt new file mode 100644 index 000000000..2a847e632 --- /dev/null +++ b/UI/data/themes/Yami_Acri.ovt @@ -0,0 +1,232 @@ +@OBSThemeMeta { + name: 'Acri'; + id: 'com.obsproject.Yami.Acri'; + extends: 'com.obsproject.Yami'; + author: 'Warchamp7'; + dark: 'true'; +} + +@OBSThemeVars { + --grey1: rgb(97,97,97); + --grey2: rgb(87,87,87); + --grey3: rgb(61,61,63); + --grey4: rgb(22,36,88); + --grey5: rgb(40,40,42); + --grey6: rgb(24,24,25); + --grey7: rgb(16,16,16); + --grey8: rgb(9,9,9); + + --primary: rgb(19,26,48); + --primary_light: rgb(42,58,117); + --primary_dark: rgb(22,31,65); + + --border_color: var(--grey5); + + --input_bg: var(--grey5); + --input_bg_hover: var(--grey7); + --input_bg_focus: var(--grey7); + + --list_item_bg_selected: var(--primary); + --list_item_bg_hover: var(--primary_light); + + --input_border: var(--grey1); + --input_border_hover: var(--grey1); + --input_border_focus: var(--primary); + + --spacing_input: var(--spacing_base); + + --button_bg: #162458; + --button_bg_hover: var(--primary_light); + --button_bg_down: var(--grey7); + --button_bg_disabled: var(--grey6); + + --button_bg_red: rgb(88,22,36); + --button_bg_red_hover: rgb(116,32,49); + --button_bg_red_down: rgb(63,21,30); + + --button_border: #162458; + --button_border_hover: var(--button_bg_hover); + --button_border_focus: var(--button_bg_hover); + + --tab_bg: var(--input_bg); + --tab_bg_hover: var(--grey3); + --tab_bg_down: var(--grey7); + --tab_bg_disabled: var(--grey6); + + --tab_border: var(--grey3); + --tab_border_hover: var(--grey1); + --tab_border_focus: var(--grey1); + --tab_border_selected: var(--primary_light); + + --scrollbar: var(--grey5); + --scrollbar_hover: var(--primary_light); + --scrollbar_down: var(--grey5); + --scrollbar_border: var(--grey5); + + --toolbutton_bg: var(--grey5); + --toolbutton_bg_hover: var(--primary_light); + --toolbutton_bg_down: var(--primary_dark); +} + +QMenu::separator { + background-color: var(--grey5); +} + +QDockWidget::title { + background-color: var(--grey6); +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background: var(--grey3); +} + +QScrollBar::handle:hover { + border-color: var(--scrollbar_hover); +} + +QScrollBar::handle:pressed { + border-color: var(--scrollbar_down); +} + +QToolButton, +QPushButton[toolButton="true"] { + background-color: var(--toolbutton_bg); + border-color: var(--toolbutton_bg); +} + +QToolButton:hover, +QToolButton:focus { + border-color: var(--primary_light); + background-color: var(--primary_light); +} + +QToolButton:pressed, +QToolButton:pressed:hover { + background-color: var(--toolbutton_bg_down); + border-color: var(--toolbutton_bg_down); +} + +MuteCheckBox::indicator, +MuteCheckBox::indicator:unchecked, +MuteCheckBox::indicator:focus { + background-color: var(--toolbutton_bg); + border: 1px solid var(--toolbutton_bg); +} + +MuteCheckBox::indicator:hover, +MuteCheckBox::indicator:unchecked:hover { + background-color: var(--toolbutton_bg_hover); + border: 1px solid var(--toolbutton_bg_hover); +} + +MuteCheckBox::indicator:pressed, +MuteCheckBox::indicator:pressed:hover { + background-color: var(--toolbutton_bg_down); + border-color: var(--toolbutton_bg_down); +} + +#stackedMixerArea QPushButton, +#stackedMixerArea QPushButton:!hover { + background-color: var(--toolbutton_bg); + border-color: var(--toolbutton_bg); +} + +#stackedMixerArea QPushButton:hover { + background-color: var(--toolbutton_bg_hover); +} + +#stackedMixerArea QPushButton:pressed { + background-color: var(--toolbutton_bg_down); +} + +QTabBar::tab { + background-color: var(--grey5); +} + +QTabBar QToolButton { + background-color: var(--grey5); +} + +/* Primary Control Button Checked Coloring */ +#streamButton:!hover:!pressed:checked, +#recordButton:!hover:!pressed:checked, +QPushButton[themeID="replayBufferButton"]:!hover:!pressed:checked, +QPushButton[themeID="vcamButton"]:!hover:!pressed:checked, +#modeSwitch:!hover:!pressed:checked, +#broadcastButton:!hover:!pressed:checked { + background: var(--button_bg_red); + border-color: var(--button_bg_red); +} + +/* Primary Control Button Hover Coloring */ +#streamButton:hover:!pressed:checked, +#recordButton:hover:!pressed:checked, +QPushButton[themeID="replayBufferButton"]:!pressed:checked, +QPushButton[themeID="vcamButton"]:!pressed:checked, +#modeSwitch:hover:!pressed:checked, +#broadcastButton:hover:!pressed:checked { + background: var(--button_bg_red_hover); +} + +/* Primary Control Button Checked + Pressed Coloring */ +#streamButton:pressed:checked, +#recordButton:pressed:checked, +QPushButton[themeID="replayBufferButton"]:pressed:checked, +QPushButton[themeID="vcamButton"]:pressed:checked, +#modeSwitch:pressed:checked, +#broadcastButton:pressed:checked { + background: var(--button_bg_red_down); +} + +QPushButton:disabled { + border-color: var(--grey5); +} + +QHeaderView::section { + background-color: var(--grey5); +} + +OBSQTDisplay { + qproperty-displayBackgroundColor: var(--grey5); +} + +*[gridMode="true"] SceneTree::item:selected { + background-color: var(--button_bg_red); +} + +*[gridMode="true"] SceneTree::item:checked { + background-color: var(--button_bg_red); +} + +*[gridMode="true"] SceneTree::item:hover { + background-color: var(--button_bg_red_down); +} + +*[gridMode="true"] SceneTree::item:selected:hover { + background-color: var(--button_bg_red_hover); +} + +#ytEventList QLabel { + background-color: var(--grey5); +} + +#ytEventList QLabel:hover { + background-color: var(--grey3); +} + +QCalendarWidget QToolButton { + background-color: var(--grey6); +} + +QCalendarWidget QToolButton:hover { + background-color: var(--primary_light); +} + +QCalendarWidget QToolButton:pressed { + background-color: var(--primary_dark); +} + +QCalendarWidget QSpinBox { + background-color: var(--primary_dark); +} diff --git a/UI/data/themes/Yami_Classic.ovt b/UI/data/themes/Yami_Classic.ovt new file mode 100644 index 000000000..c365f1c3e --- /dev/null +++ b/UI/data/themes/Yami_Classic.ovt @@ -0,0 +1,228 @@ +@OBSThemeMeta { + name: 'Classic'; + id: 'com.obsproject.Yami.Classic'; + extends: 'com.obsproject.Yami'; + author: 'Warchamp7'; + dark: 'true'; +} + +@OBSThemeVars { + --grey1: rgb(97,97,97); + --grey2: rgb(134,135,134); + --grey3: rgb(122,121,122); + --grey4: rgb(76,76,76); + --grey5: rgb(88,87,88); + --grey6: rgb(31,30,31); + --grey7: rgb(58,57,58); + --grey8: rgb(46,45,46); + + --bg_window: var(--grey7); + --bg_base: var(--grey6); + --bg_preview: rgb(76,76,76); + + --primary: rgb(25,52,76); + --primary_light: rgb(33,71,109); + + /* Layout */ + --font_base_value: 9; + --spacing_base_value: 2; + --padding_base_value: 0.25; + + --icon_base: calc(6px + var(--font_base_value)); + + --padding_wide: calc(18px + calc(0.25 * var(--padding_base_value))); + --padding_menu: calc(8px + calc(1 * var(--padding_base_value))); + + --input_height_base: calc(1px + calc(var(--input_font_scale) + var(--input_font_padding))); + + --border_color: var(--grey6); + + --border_radius: 2px; + --border_radius_small: 1px; + --border_radius_large: 2px; + + --input_bg: var(--grey4); + --input_bg_hover: var(--grey5); + --input_bg_focus: var(--grey6); + + --list_item_bg_selected: var(--primary); + --list_item_bg_hover: var(--primary_light); + + --input_border: var(--grey4); + --input_border_hover: var(--grey5); + --input_border_focus: var(--grey6); + + --spacing_input: var(--spacing_base); + + --button_bg: var(--input_bg); + --button_bg_hover: var(--grey3); + --button_bg_down: var(--grey7); + --button_bg_disabled: var(--grey8); + + --button_border: var(--button_bg); + --button_border_hover: var(--grey1); + --button_border_focus: var(--grey1); + + --tab_bg: var(--input_bg); + --tab_bg_hover: var(--grey3); + --tab_bg_down: var(--grey7); + --tab_bg_disabled: var(--grey8); + + --tab_border: var(--grey1); + --tab_border_hover: var(--grey1); + --tab_border_focus: var(--grey1); + --tab_border_selected: var(--primary); + + --scrollbar: var(--grey4); + --scrollbar_hover: var(--grey3); + --scrollbar_down: var(--grey8); + --scrollbar_border: var(--grey2); + + /* Variant Extras */ + --dock_title_padding: calc(2px + var(--padding_base)); + --icon_base_mixer: calc(2px + var(--icon_base)); + --padding_menu_y: calc(3px + calc(1 * var(--padding_base_value))); +} + +QStatusBar { + background-color: var(--bg_window); +} + +QDockWidget { + font-weight: normal; +} + +QDockWidget::title { + padding: var(--dock_title_padding); + text-align: center; +} + +QDockWidget > QWidget { + background: var(--bg_window); +} + +SceneTree::item, +SourceTreeItem { + border-width: 0px; +} + +QMenu::item { + padding: var(--padding_menu_y) var(--padding_menu); +} + +QGroupBox { + background: var(--bg_window); + border: 1px solid var(--border_color); +} + +QTabWidget::pane { + border-width: 1px; +} + +QTabBar::tab { + border-color: var(--tab_bg); + padding: 3px 6px; +} + +QComboBox:hover, +QComboBox:focus, +QDateTimeEdit:hover, +QDateTimeEdit:selected { + background-color: var(--input_bg_hover); +} + +QComboBox:on, +QDateTimeEdit:on, +QComboBox:editable:focus { + background-color: var(--input_bg_focus); +} + +QLineEdit, +QTextEdit, +QPlainTextEdit { + background-color: var(--input_bg_focus); + padding-left: 8px; +} + +QLineEdit:hover, +QTextEdit:hover, +QPlainTextEdit:hover { + background-color: var(--input_bg_focus); +} + +QSpinBox, +QDoubleSpinBox { + background-color: var(--input_bg_focus); + border-width: 1px; + padding-left: 8px; + height: var(--input_height); + max-height: var(--input_height); +} + +QSpinBox:hover, +QDoubleSpinBox:hover { + background-color: var(--input_bg_focus); +} + +QSpinBox::up-button:disabled, +QSpinBox::up-button:off, +QDoubleSpinBox::up-button:disabled, +QDoubleSpinBox::up-button:off { + margin-top: 0px; +} + +QSpinBox::down-button:disabled, +QSpinBox::down-button:off, +QDoubleSpinBox::down-button:disabled, +QDoubleSpinBox::down-button:off { + margin-bottom: 0px; +} + +OBSBasicSettings #PropertiesContainer { + background-color: var(--bg_window); +} + +OBSBasicSettings QListWidget::item { + padding: 4px; +} + +QToolButton, +QPushButton[toolButton="true"] { + background-color: var(--bg_window); + border-color: var(--bg_window); +} + +#stackedMixerArea QPushButton { + min-width: var(--icon_base); + padding: var(--padding_large) var(--padding_large); + icon-size: var(--icon_base), var(--icon_base); +} + +MuteCheckBox::indicator, +MuteCheckBox::indicator:unchecked { + width: var(--icon_base_mixer); + height: var(--icon_base_mixer); + icon-size: var(--icon_base_mixer), var(--icon_base_mixer); +} + +MuteCheckBox::indicator:hover, +MuteCheckBox::indicator:unchecked:hover { + icon-size: var(--icon_base_mixer), var(--icon_base_mixer); +} + +#contextContainer { + background-color: var(--bg_window); +} + +VolumeMeter { + qproperty-backgroundNominalColor: rgb(38,127,38); + qproperty-backgroundWarningColor: rgb(127,127,38); + qproperty-backgroundErrorColor: rgb(127,38,38); + qproperty-foregroundNominalColor: rgb(76,255,76); + qproperty-foregroundWarningColor: rgb(255,255,76); + qproperty-foregroundErrorColor: rgb(255,76,76); + qproperty-magnitudeColor: rgb(0,0,0); + qproperty-majorTickColor: var(--text); + qproperty-minorTickColor: rgb(122,121,122); /* light */ + qproperty-meterThickness: 3; +} diff --git a/UI/data/themes/Yami_Default.ovt b/UI/data/themes/Yami_Default.ovt new file mode 100644 index 000000000..c248cec93 --- /dev/null +++ b/UI/data/themes/Yami_Default.ovt @@ -0,0 +1,7 @@ +@OBSThemeMeta { + name: 'Default'; + id: 'com.obsproject.Yami.Original'; + extends: 'com.obsproject.Yami'; + author: 'Warchamp7'; + dark: 'true'; +} diff --git a/UI/data/themes/Yami_Grey.ovt b/UI/data/themes/Yami_Grey.ovt new file mode 100644 index 000000000..645b51b90 --- /dev/null +++ b/UI/data/themes/Yami_Grey.ovt @@ -0,0 +1,18 @@ +@OBSThemeMeta { + name: 'Grey'; + id: 'com.obsproject.Yami.Grey'; + extends: 'com.obsproject.Yami'; + author: 'Warchamp7'; + dark: 'true'; +} + +@OBSThemeVars { + --grey1: rgb(97,97,97); + --grey2: rgb(87,87,87); + --grey3: rgb(77,77,77); + --grey4: rgb(67,67,67); + --grey5: rgb(57,57,57); + --grey6: rgb(47,47,47); + --grey7: rgb(33,33,33); + --grey8: rgb(21,21,21); +} diff --git a/UI/data/themes/Yami_Light.ovt b/UI/data/themes/Yami_Light.ovt new file mode 100644 index 000000000..a2fd92201 --- /dev/null +++ b/UI/data/themes/Yami_Light.ovt @@ -0,0 +1,313 @@ +@OBSThemeMeta { + name: 'Light'; + id: 'com.obsproject.Yami.Light'; + extends: 'com.obsproject.Yami'; + author: 'Warchamp7'; + dark: 'false'; +} + +@OBSThemeVars { + --grey1: rgb(140,140,140); + --grey2: rgb(254,254,254); + --grey3: rgb(254,254,254); + --grey4: rgb(243,243,243); + --grey5: rgb(236,236,236); + --grey6: rgb(229,229,229); + --grey7: rgb(211,211,211); + --grey8: rgb(193,193,193); + + --primary: rgb(140,181,255); + --primary_light: rgb(178,207,255); + --primary_dark: rgb(22,31,65); + + --bg_window: var(--grey7); + --bg_base: var(--grey6); + --bg_preview: var(--grey8); + + --text: var(--black1); + --text_light: var(--black3); + --text_muted: var(--black4); + + --text_disabled: var(--text_muted); + --text_inactive: var(--text_light); + + --input_bg_hover: var(--grey3); + --input_bg_focus: var(--grey3); + + --separator_hover: var(--black1); +} + +VolumeMeter { + qproperty-backgroundNominalColor: rgb(66,112,24); + qproperty-backgroundWarningColor: rgb(112,91,28); + qproperty-backgroundErrorColor: rgb(112,39,53); + qproperty-foregroundNominalColor: rgb(115,189,49); + qproperty-foregroundWarningColor: rgb(189,144,9); + qproperty-foregroundErrorColor: rgb(189,47,73); + qproperty-magnitudeColor: rgb(0,0,0); + qproperty-majorTickColor: palette(text); + qproperty-minorTickColor: palette(light); +} + +QMenu::right-arrow { + image: url(theme:Light/expand.svg); +} + +QDockWidget { + titlebar-close-icon: url(theme:Light/close.svg); + titlebar-normal-icon: url(theme:Light/popout.svg); +} + +QPushButton#sourcePropertiesButton { + qproperty-icon: url(theme:Light/settings/general.svg); +} + +QPushButton#sourceFiltersButton { + qproperty-icon: url(theme:Light/filter.svg); +} + +* [themeID="addIconSmall"] { + qproperty-icon: url(theme:Light/plus.svg); +} + +* [themeID="removeIconSmall"] { + qproperty-icon: url(theme:Light/trash.svg); +} + +* [themeID="clearIconSmall"] { + qproperty-icon: url(theme:Light/entry-clear.svg); +} + +* [themeID="propertiesIconSmall"] { + qproperty-icon: url(theme:Light/settings/general.svg); +} + +* [themeID="configIconSmall"] { + qproperty-icon: url(theme:Light/settings/general.svg); +} + +* [themeID="menuIconSmall"] { + qproperty-icon: url(theme:Light/dots-vert.svg); +} + +* [themeID="refreshIconSmall"] { + qproperty-icon: url(theme:Light/refresh.svg); +} + +* [themeID="cogsIcon"] { + qproperty-icon: url(theme:Light/cogs.svg); +} + +#sourceInteractButton { + qproperty-icon: url(theme:Light/interact.svg); +} + +* [themeID="upArrowIconSmall"] { + qproperty-icon: url(theme:Light/up.svg); +} + +* [themeID="downArrowIconSmall"] { + qproperty-icon: url(theme:Light/down.svg); +} + +* [themeID="pauseIconSmall"] { + qproperty-icon: url(theme:Light/media-pause.svg); +} + +* [themeID="filtersIcon"] { + qproperty-icon: url(theme:Light/filter.svg); +} + +QToolBarExtension { + qproperty-icon: url(theme:Light/dots-vert.svg); +} + +QComboBox::down-arrow, +QDateTimeEdit::down-arrow { + image: url(theme:Light/collapse.svg); +} + +QComboBox::down-arrow:editable, +QDateTimeEdit::down-arrow:editable { + image: url(theme:Light/collapse.svg); +} + +QSpinBox::up-arrow, QDoubleSpinBox::up-arrow { + image: url(theme:Light/up.svg); +} + +QSpinBox::down-arrow, QDoubleSpinBox::down-arrow { + image: url(theme:Light/down.svg); +} + +QPushButton::menu-indicator { + image: url(theme:Light/down.svg); +} + +OBSBasicSettings { + qproperty-generalIcon: url(theme:Light/settings/general.svg); + qproperty-appearanceIcon: url(theme:Light/settings/appearance.svg); + qproperty-streamIcon: url(theme:Light/settings/stream.svg); + qproperty-outputIcon: url(theme:Light/settings/output.svg); + qproperty-audioIcon: url(theme:Light/settings/audio.svg); + qproperty-videoIcon: url(theme:Light/settings/video.svg); + qproperty-hotkeysIcon: url(theme:Light/settings/hotkeys.svg); + qproperty-accessibilityIcon: url(theme:Light/settings/accessibility.svg); + qproperty-advancedIcon: url(theme:Light/settings/advanced.svg); +} + +QCheckBox::indicator:unchecked, +QGroupBox::indicator:unchecked { + image: url(theme:Light/checkbox_unchecked.svg); +} + +QCheckBox::indicator:unchecked:hover, +QGroupBox::indicator:unchecked:hover { + image: url(theme:Light/checkbox_unchecked_focus.svg); +} + +QCheckBox::indicator:checked, +QGroupBox::indicator:checked { + image: url(theme:Light/checkbox_checked.svg); +} + +QCheckBox::indicator:checked:hover, +QGroupBox::indicator:checked:hover { + image: url(theme:Light/checkbox_checked_focus.svg); +} + +QCheckBox::indicator:checked:disabled, +QGroupBox::indicator:checked:disabled { + image: url(theme:Light/checkbox_checked_disabled.svg); +} + +QCheckBox::indicator:unchecked:disabled, +QGroupBox::indicator:unchecked:disabled { + image: url(theme:Light/checkbox_unchecked_disabled.svg); +} + +QCheckBox[lockCheckBox=true]::indicator:checked, +QCheckBox[lockCheckBox=true]::indicator:checked:hover { + image: url(theme:Light/locked.svg); +} + +QCheckBox[visibilityCheckBox=true]::indicator:checked, +QCheckBox[visibilityCheckBox=true]::indicator:checked:hover { + image: url(theme:Light/visible.svg); +} + +* [themeID="revertIcon"] { + qproperty-icon: url(theme:Light/revert.svg); +} + +MuteCheckBox::indicator:checked { + image: url(theme:Light/mute.svg); +} + +MuteCheckBox::indicator:unchecked { + image: url(theme:Light/settings/audio.svg); +} + +MuteCheckBox::indicator:unchecked:hover { + image: url(theme:Light/settings/audio.svg); +} + +MuteCheckBox::indicator:unchecked:focus { + image: url(theme:Light/settings/audio.svg); +} + +MuteCheckBox::indicator:checked:hover { + image: url(theme:Light/mute.svg); +} + +MuteCheckBox::indicator:checked:focus { + image: url(theme:Light/mute.svg); +} + +MuteCheckBox::indicator:checked:disabled { + image: url(theme:Light/mute.svg); +} + +MuteCheckBox::indicator:unchecked:disabled { + image: url(theme:Light/settings/audio.svg); +} + +QCheckBox[sourceTreeSubItem=true]::indicator:checked, +QCheckBox[sourceTreeSubItem=true]::indicator:checked:hover { + image: url(theme:Light/expand.svg); +} + +QCheckBox[sourceTreeSubItem=true]::indicator:unchecked, +QCheckBox[sourceTreeSubItem=true]::indicator:unchecked:hover { + image: url(theme:Light/collapse.svg); +} + +/* Source Icons */ +OBSBasic { + qproperty-imageIcon: url(theme:Light/sources/image.svg); + qproperty-colorIcon: url(theme:Light/sources/brush.svg); + qproperty-slideshowIcon: url(theme:Light/sources/slideshow.svg); + qproperty-audioInputIcon: url(theme:Light/sources/microphone.svg); + qproperty-audioOutputIcon: url(theme:Light/settings/audio.svg); + qproperty-desktopCapIcon: url(theme:Light/settings/video.svg); + qproperty-windowCapIcon: url(theme:Light/sources/window.svg); + qproperty-gameCapIcon: url(theme:Light/sources/gamepad.svg); + qproperty-cameraIcon: url(theme:Light/sources/camera.svg); + qproperty-textIcon: url(theme:Light/sources/text.svg); + qproperty-mediaIcon: url(theme:Light/sources/media.svg); + qproperty-browserIcon: url(theme:Light/sources/globe.svg); + qproperty-groupIcon: url(theme:Light/sources/group.svg); + qproperty-sceneIcon: url(theme:Light/sources/scene.svg); + qproperty-defaultIcon: url(theme:Light/sources/default.svg); + qproperty-audioProcessOutputIcon: url(theme:Light/sources/windowaudio.svg); +} + +* [themeID="replayIconSmall"] { + qproperty-icon: url(theme:Light/save.svg); +} + +/* Media icons */ +* [themeID="playIcon"] { + qproperty-icon: url(theme:Light/media/media_play.svg); +} + +* [themeID="pauseIcon"] { + qproperty-icon: url(theme:Light/media/media_pause.svg); +} + +* [themeID="restartIcon"] { + qproperty-icon: url(theme:Light/media/media_restart.svg); +} + +* [themeID="stopIcon"] { + qproperty-icon: url(theme:Light/media/media_stop.svg); +} + +* [themeID="nextIcon"] { + qproperty-icon: url(theme:Light/media/media_next.svg); +} + +* [themeID="previousIcon"] { + qproperty-icon: url(theme:Light/media/media_previous.svg); +} + +/* YouTube Integration */ +OBSYoutubeActions { + qproperty-thumbPlaceholder: url(theme:Light/sources/image.svg); +} + +QDateTimeEdit::down-arrow { + image: url(theme:Light/down.svg); +} + +#qt_calendar_monthbutton::menu-indicator { + image: url(theme:Light/down.svg); +} + +QCalendarWidget #qt_calendar_prevmonth { + qproperty-icon: url(theme:Light/left.svg); +} + +QCalendarWidget #qt_calendar_nextmonth { + qproperty-icon: url(theme:Light/right.svg); +} diff --git a/UI/data/themes/Yami_Rachni.ovt b/UI/data/themes/Yami_Rachni.ovt new file mode 100644 index 000000000..444cdbe7c --- /dev/null +++ b/UI/data/themes/Yami_Rachni.ovt @@ -0,0 +1,221 @@ +@OBSThemeMeta { + name: 'Rachni'; + id: 'com.obsproject.Yami.Rachni'; + extends: 'com.obsproject.Yami'; + author: 'Warchamp7'; + dark: 'true'; +} + +@OBSThemeVars { + --grey1: rgb(118,121,124); + --grey2: rgb(110,113,114); + --grey3: rgb(59,65,71); + --grey4: rgb(49,54,59); + --grey5: rgb(42,46,50); + --grey6: rgb(35,38,41); + --grey7: rgb(25,27,38); + --grey8: rgb(21,22,23); + + --primary: rgb(0,188,212); + --primary_light: rgb(145,76,103); + --primary_lighter: rgb(240,96,146); + --primary_dark: rgb(89,66,79); + --primary_darker: rgb(25,27,38); + + --bg_base: var(--grey6); + --bg_window: var(--grey4); + --bg_preview: rgb(34,37,40); + + --border_color: var(--grey5); + + --input_bg: var(--grey6); + --input_bg_hover: var(--grey7); + --input_bg_focus: var(--grey7); + + --list_item_bg_selected: var(--primary); + --list_item_bg_hover: var(--primary_light); + + --input_border: var(--grey1); + --input_border_hover: var(--primary); + --input_border_focus: var(--primary); + + --spacing_input: var(--spacing_base); + + --button_bg: var(--primary); + --button_bg_hover: var(--primary_light); + --button_bg_down: var(--primary_dark); + --button_bg_disabled: var(--grey6); + + --button_bg_red: rgb(88,22,36); + --button_bg_red_hover: rgb(116,32,49); + --button_bg_red_down: rgb(63,21,30); + + --button_border: var(--primary); + --button_border_hover: var(--button_bg_hover); + --button_border_focus: var(--button_bg_hover); + + --tab_bg: var(--input_bg); + --tab_bg_hover: var(--grey3); + --tab_bg_down: var(--grey7); + --tab_bg_disabled: var(--grey6); + + --tab_border: var(--grey3); + --tab_border_hover: var(--grey1); + --tab_border_focus: var(--grey1); + --tab_border_selected: var(--primary_light); + + --scrollbar: var(--grey2); + --scrollbar_hover: var(--primary_light); + --scrollbar_down: var(--grey3); + --scrollbar_border: var(--primary_light); + + --toolbutton_bg: var(--grey3); + --toolbutton_bg_hover: var(--primary_light); + --toolbutton_bg_down: var(--primary_dark); + --toolbutton_bg_disabled: var(--grey4); +} + +QDockWidget::title { + background-color: var(--bg_base); +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background: var(--grey3); +} + +QComboBox, +QDateTimeEdit, +QLineEdit, +QPlainTextEdit, +QTextEdit, +QSpinBox, +QDoubleSpinBox { + border-width: 2px; + border-color: var(--input_border); +} + +QMenu::item:selected, +QListWidget::item:selected, +SceneTree::item:selected, +SourceTree::item:selected { + background-color: var(--primary_dark); +} + +QMenu::item:hover, +QListWidget::item:hover, +SceneTree::item:hover, +SourceTree::item:hover, +QMenu::item:selected:hover, +QListWidget::item:selected:hover, +SceneTree::item:selected:hover, +SourceTree::item:selected:hover { + background-color: var(--primary); +} + +QToolBar { + background-color: var(--grey4); + padding: var(--padding_large); + margin: 0; +} + +QPushButton:disabled { + border-color: var(--grey3); +} + +QToolButton, +QPushButton[toolButton="true"] { + background-color: var(--toolbutton_bg); + border-color: var(--toolbutton_bg); +} + +QToolButton:hover, +QToolButton:focus { + border-color: var(--primary_light); + background-color: var(--primary_light); +} + +QToolButton:pressed, +QToolButton:pressed:hover { + background-color: var(--toolbutton_bg_down); + border-color: var(--toolbutton_bg_down); +} + +MuteCheckBox::indicator, +MuteCheckBox::indicator:unchecked, +MuteCheckBox::indicator:focus { + background-color: var(--toolbutton_bg); + border: 1px solid var(--toolbutton_bg); +} + +MuteCheckBox::indicator:hover, +MuteCheckBox::indicator:unchecked:hover { + background-color: var(--toolbutton_bg_hover); + border: 1px solid var(--toolbutton_bg_hover); +} + +MuteCheckBox::indicator:pressed, +MuteCheckBox::indicator:pressed:hover { + background-color: var(--toolbutton_bg_down); + border-color: var(--toolbutton_bg_down); +} + +#stackedMixerArea QPushButton, +#stackedMixerArea QPushButton:!hover { + background-color: var(--toolbutton_bg); + border-color: var(--toolbutton_bg); +} + +#stackedMixerArea QPushButton:hover { + background-color: var(--toolbutton_bg_hover); +} + +#stackedMixerArea QPushButton:pressed { + background-color: var(--toolbutton_bg_down); +} + +QToolButton:disabled, +QPushButton[toolButton="true"]:disabled { + background-color: var(--toolbutton_bg_disabled); + border-color: transparent; +} + +QTabBar::tab { + background-color: var(--grey5); +} + +QTabBar::tab:top:selected { + border-bottom: 2px solid var(--primary_light); +} + +QTabBar QToolButton { + background-color: var(--grey5); +} + +QGroupBox { + background-color: var(--grey3); +} + +OBSBasicSettings #PropertiesContainer { + background-color: var(--grey3); +} + +QGroupBox::title { + color: var(--primary_lighter); +} + +QSlider::groove { + background-color: var(--grey2); +} + +VolumeMeter { + qproperty-backgroundNominalColor: rgb(0,128,79); + qproperty-backgroundWarningColor: rgb(128,57,0); + qproperty-backgroundErrorColor: rgb(128,9,0); + qproperty-foregroundNominalColor: rgb(119,255,143); + qproperty-foregroundWarningColor: rgb(255,157,76); + qproperty-foregroundErrorColor: rgb(255,89,76); + qproperty-magnitudeColor: palette(window); + qproperty-majorTickColor: palette(window-text); + qproperty-minorTickColor: palette(mid); +}