Settings page, themes and cut path check for future updates. Volume now saved to config.
This commit is contained in:
104
gui/gui.py
104
gui/gui.py
@@ -202,6 +202,96 @@ class Ui_MainWindow(object):
|
||||
self.content.addWidget(self.download_page)
|
||||
self.settings_page = QtWidgets.QWidget()
|
||||
self.settings_page.setObjectName("settings_page")
|
||||
self.settings_page_lay = QtWidgets.QVBoxLayout(self.settings_page)
|
||||
self.settings_page_lay.setContentsMargins(0, 0, 0, 0)
|
||||
self.settings_page_lay.setObjectName("settings_page_lay")
|
||||
self.settings_tabs_widget = QtWidgets.QTabWidget(self.settings_page)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.settings_tabs_widget.sizePolicy().hasHeightForWidth())
|
||||
self.settings_tabs_widget.setSizePolicy(sizePolicy)
|
||||
self.settings_tabs_widget.setObjectName("settings_tabs_widget")
|
||||
self.audio_devices_settings_tab = QtWidgets.QWidget()
|
||||
self.audio_devices_settings_tab.setObjectName("audio_devices_settings_tab")
|
||||
self.audio_devices_settings_tab_lay = QtWidgets.QVBoxLayout(self.audio_devices_settings_tab)
|
||||
self.audio_devices_settings_tab_lay.setContentsMargins(0, 0, 0, 0)
|
||||
self.audio_devices_settings_tab_lay.setObjectName("audio_devices_settings_tab_lay")
|
||||
self.play_options_group = QtWidgets.QGroupBox(self.audio_devices_settings_tab)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.play_options_group.sizePolicy().hasHeightForWidth())
|
||||
self.play_options_group.setSizePolicy(sizePolicy)
|
||||
self.play_options_group.setObjectName("play_options_group")
|
||||
self.play_options_group_lay = QtWidgets.QVBoxLayout(self.play_options_group)
|
||||
self.play_options_group_lay.setContentsMargins(-1, 5, -1, -1)
|
||||
self.play_options_group_lay.setObjectName("play_options_group_lay")
|
||||
self.output_device_play_label = QtWidgets.QLabel(self.play_options_group)
|
||||
self.output_device_play_label.setObjectName("output_device_play_label")
|
||||
self.play_options_group_lay.addWidget(self.output_device_play_label)
|
||||
self.output_device_play_box = QtWidgets.QComboBox(self.play_options_group)
|
||||
self.output_device_play_box.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.output_device_play_box.setObjectName("output_device_play_box")
|
||||
self.play_options_group_lay.addWidget(self.output_device_play_box)
|
||||
self.preview_device_play_label = QtWidgets.QLabel(self.play_options_group)
|
||||
self.preview_device_play_label.setObjectName("preview_device_play_label")
|
||||
self.play_options_group_lay.addWidget(self.preview_device_play_label)
|
||||
self.preview_device_play_box = QtWidgets.QComboBox(self.play_options_group)
|
||||
self.preview_device_play_box.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.preview_device_play_box.setObjectName("preview_device_play_box")
|
||||
self.play_options_group_lay.addWidget(self.preview_device_play_box)
|
||||
self.audio_devices_settings_tab_lay.addWidget(self.play_options_group, 0, QtCore.Qt.AlignTop)
|
||||
self.restream_options_group = QtWidgets.QGroupBox(self.audio_devices_settings_tab)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.restream_options_group.sizePolicy().hasHeightForWidth())
|
||||
self.restream_options_group.setSizePolicy(sizePolicy)
|
||||
self.restream_options_group.setObjectName("restream_options_group")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.restream_options_group)
|
||||
self.verticalLayout.setContentsMargins(-1, 5, -1, -1)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.restream_micro_checkbox = QtWidgets.QCheckBox(self.restream_options_group)
|
||||
self.restream_micro_checkbox.setObjectName("restream_micro_checkbox")
|
||||
self.verticalLayout.addWidget(self.restream_micro_checkbox)
|
||||
self.input_device_restream_label = QtWidgets.QLabel(self.restream_options_group)
|
||||
self.input_device_restream_label.setObjectName("input_device_restream_label")
|
||||
self.verticalLayout.addWidget(self.input_device_restream_label)
|
||||
self.input_device_restream_box = QtWidgets.QComboBox(self.restream_options_group)
|
||||
self.input_device_restream_box.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.input_device_restream_box.setObjectName("input_device_restream_box")
|
||||
self.verticalLayout.addWidget(self.input_device_restream_box)
|
||||
self.output_device_restream_label = QtWidgets.QLabel(self.restream_options_group)
|
||||
self.output_device_restream_label.setObjectName("output_device_restream_label")
|
||||
self.verticalLayout.addWidget(self.output_device_restream_label)
|
||||
self.output_device_restream_box = QtWidgets.QComboBox(self.restream_options_group)
|
||||
self.output_device_restream_box.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.output_device_restream_box.setObjectName("output_device_restream_box")
|
||||
self.verticalLayout.addWidget(self.output_device_restream_box)
|
||||
self.audio_devices_settings_tab_lay.addWidget(self.restream_options_group, 0, QtCore.Qt.AlignTop)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.audio_devices_settings_tab_lay.addItem(spacerItem)
|
||||
self.settings_tabs_widget.addTab(self.audio_devices_settings_tab, "")
|
||||
self.general_settings_tab = QtWidgets.QWidget()
|
||||
self.general_settings_tab.setObjectName("general_settings_tab")
|
||||
self.general_settings_tab_lay = QtWidgets.QVBoxLayout(self.general_settings_tab)
|
||||
self.general_settings_tab_lay.setContentsMargins(3, 3, 3, 3)
|
||||
self.general_settings_tab_lay.setObjectName("general_settings_tab_lay")
|
||||
self.theme_label = QtWidgets.QLabel(self.general_settings_tab)
|
||||
self.theme_label.setObjectName("theme_label")
|
||||
self.general_settings_tab_lay.addWidget(self.theme_label)
|
||||
self.theme_box = QtWidgets.QComboBox(self.general_settings_tab)
|
||||
self.theme_box.setMinimumSize(QtCore.QSize(0, 30))
|
||||
self.theme_box.setObjectName("theme_box")
|
||||
self.theme_box.addItem("")
|
||||
self.theme_box.addItem("")
|
||||
self.theme_box.addItem("")
|
||||
self.general_settings_tab_lay.addWidget(self.theme_box)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.general_settings_tab_lay.addItem(spacerItem1)
|
||||
self.settings_tabs_widget.addTab(self.general_settings_tab, "")
|
||||
self.settings_page_lay.addWidget(self.settings_tabs_widget)
|
||||
self.content.addWidget(self.settings_page)
|
||||
self.main_content_to_player_box_lay.addWidget(self.content)
|
||||
self.player_box = QtWidgets.QWidget(self.main_content_to_player_box)
|
||||
@@ -259,6 +349,7 @@ class Ui_MainWindow(object):
|
||||
self.retranslateUi(MainWindow)
|
||||
self.menu.setCurrentRow(-1)
|
||||
self.pads_content.setCurrentIndex(0)
|
||||
self.settings_tabs_widget.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
@@ -289,6 +380,19 @@ class Ui_MainWindow(object):
|
||||
self.edit_first_pads_collection_label.setText(_translate("MainWindow", "Pads collection 1"))
|
||||
self.edit_second_pads_collection_label.setText(_translate("MainWindow", "Pads collection 2"))
|
||||
self.pads_content.setTabText(self.pads_content.indexOf(self.edit_pads_tab), _translate("MainWindow", "Edit pads"))
|
||||
self.play_options_group.setTitle(_translate("MainWindow", "Play options"))
|
||||
self.output_device_play_label.setText(_translate("MainWindow", "Output device (or virtual mic input)"))
|
||||
self.preview_device_play_label.setText(_translate("MainWindow", "Preview device (your headphones)"))
|
||||
self.restream_options_group.setTitle(_translate("MainWindow", "Microphone restream options"))
|
||||
self.restream_micro_checkbox.setText(_translate("MainWindow", "Restream microphone"))
|
||||
self.input_device_restream_label.setText(_translate("MainWindow", "Input microphone"))
|
||||
self.output_device_restream_label.setText(_translate("MainWindow", "Output device (virtual mic input)"))
|
||||
self.settings_tabs_widget.setTabText(self.settings_tabs_widget.indexOf(self.audio_devices_settings_tab), _translate("MainWindow", "Audio"))
|
||||
self.theme_label.setText(_translate("MainWindow", " App theme (restart needed)"))
|
||||
self.theme_box.setItemText(0, _translate("MainWindow", "Dark gray"))
|
||||
self.theme_box.setItemText(1, _translate("MainWindow", "Black"))
|
||||
self.theme_box.setItemText(2, _translate("MainWindow", "Black acrylic"))
|
||||
self.settings_tabs_widget.setTabText(self.settings_tabs_widget.indexOf(self.general_settings_tab), _translate("MainWindow", "General"))
|
||||
import gui.images_rc
|
||||
|
||||
|
||||
|
||||
244
gui/gui.ui
244
gui/gui.ui
@@ -697,7 +697,242 @@ QListWidget:item:selected {
|
||||
<widget class="QWidget" name="stream_page"/>
|
||||
<widget class="QWidget" name="collab_page"/>
|
||||
<widget class="QWidget" name="download_page"/>
|
||||
<widget class="QWidget" name="settings_page"/>
|
||||
<widget class="QWidget" name="settings_page">
|
||||
<layout class="QVBoxLayout" name="settings_page_lay">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTabWidget" name="settings_tabs_widget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="audio_devices_settings_tab">
|
||||
<attribute name="title">
|
||||
<string>Audio</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="audio_devices_settings_tab_lay">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item alignment="Qt::AlignTop">
|
||||
<widget class="QGroupBox" name="play_options_group">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Play options</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="play_options_group_lay">
|
||||
<property name="topMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="output_device_play_label">
|
||||
<property name="text">
|
||||
<string>Output device (or virtual mic input)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="output_device_play_box">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="preview_device_play_label">
|
||||
<property name="text">
|
||||
<string>Preview device (your headphones)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="preview_device_play_box">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item alignment="Qt::AlignTop">
|
||||
<widget class="QGroupBox" name="restream_options_group">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Microphone restream options</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="topMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="restream_micro_checkbox">
|
||||
<property name="text">
|
||||
<string>Restream microphone</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="input_device_restream_label">
|
||||
<property name="text">
|
||||
<string>Input microphone</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="input_device_restream_box">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="output_device_restream_label">
|
||||
<property name="text">
|
||||
<string>Output device (virtual mic input)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="output_device_restream_box">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="audio_devices_settings_tab_spacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="general_settings_tab">
|
||||
<attribute name="title">
|
||||
<string>General</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="general_settings_tab_lay">
|
||||
<property name="leftMargin">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="theme_label">
|
||||
<property name="text">
|
||||
<string> App theme (restart needed)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="theme_box">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Dark gray</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Black</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Black acrylic</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="general_settings_tab_spacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -806,13 +1041,6 @@ QListWidget:item:selected {
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="player_track_label">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -3,6 +3,7 @@ from PyQt5.QtWidgets import QMainWindow
|
||||
from gui.modules import menu
|
||||
from gui.modules import pads
|
||||
from gui.modules import player
|
||||
from gui.modules import settings
|
||||
from modules.player.player import Player
|
||||
|
||||
|
||||
@@ -17,3 +18,4 @@ def register_handlers(ui: Ui_MainWindow, MainWindow: QMainWindow, p: Player):
|
||||
menu.register_handlers(ui)
|
||||
pads.register_handlers(ui, MainWindow, p)
|
||||
player.register_handlers(ui, MainWindow, p)
|
||||
settings.register_handlers(ui)
|
||||
|
||||
@@ -16,6 +16,7 @@ def on_load(ui: Ui_MainWindow, MainWindow: QMainWindow):
|
||||
:return:
|
||||
"""
|
||||
ui.content.setCurrentIndex(0)
|
||||
ui.volume_box.setValue(Config.get().volume)
|
||||
|
||||
MainWindow.setStyleSheet(styles.centralwidget())
|
||||
ui.menu.setStyleSheet(styles.menupage())
|
||||
|
||||
@@ -24,13 +24,13 @@ def fill_pads(ui: Ui_MainWindow, MainWindow: QMainWindow, p: Player):
|
||||
button = QtWidgets.QPushButton()
|
||||
button.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
|
||||
QtWidgets.QSizePolicy.Expanding))
|
||||
button.setText(os.path.split(item)[-1][:24:] if os.path.exists(item) else "File doesn't exist")
|
||||
button.setText(os.path.split(item)[-1][:24:])
|
||||
button.clicked.connect(
|
||||
(
|
||||
lambda: (
|
||||
p.set_media(ui.first_pads_dict[MainWindow.sender().text()]),
|
||||
p.play(ui)
|
||||
) if MainWindow.sender().text() != "File doesn't exist" else None
|
||||
)
|
||||
)
|
||||
)
|
||||
Pads.update("first_pads", ui.first_pads_dict)
|
||||
@@ -50,13 +50,13 @@ def fill_pads(ui: Ui_MainWindow, MainWindow: QMainWindow, p: Player):
|
||||
button = QtWidgets.QPushButton()
|
||||
button.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
|
||||
QtWidgets.QSizePolicy.Expanding))
|
||||
button.setText(os.path.split(item)[-1][:24:] if os.path.exists(item) else "File doesn't exist")
|
||||
button.setText(os.path.split(item)[-1][:24:])
|
||||
button.clicked.connect(
|
||||
(
|
||||
lambda: (
|
||||
p.set_media(ui.second_pads_dict[MainWindow.sender().text()]),
|
||||
p.play(ui)
|
||||
) if MainWindow.sender().text() != "File doesn't exist" else None
|
||||
)
|
||||
)
|
||||
)
|
||||
Pads.update("second_pads", ui.second_pads_dict)
|
||||
|
||||
@@ -2,6 +2,7 @@ from gui.gui import Ui_MainWindow
|
||||
from PyQt5 import QtGui
|
||||
from PyQt5.QtWidgets import QMainWindow
|
||||
from modules.player.player import Player
|
||||
from modules.config import Config
|
||||
|
||||
|
||||
def register_handlers(ui: Ui_MainWindow, MainWindow: QMainWindow, p: Player):
|
||||
@@ -19,7 +20,8 @@ def register_handlers(ui: Ui_MainWindow, MainWindow: QMainWindow, p: Player):
|
||||
pause_icon = QtGui.QIcon()
|
||||
pause_icon.addPixmap(QtGui.QPixmap(":/img/img/pause.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
|
||||
ui.volume_box.valueChanged.connect(lambda: p.set_volume(ui.volume_box.value()))
|
||||
ui.volume_box.valueChanged.connect(lambda: (p.set_volume(ui.volume_box.value()),
|
||||
Config.update('volume', ui.volume_box.value())))
|
||||
ui.play_pause_button.clicked.connect(lambda: p.playpause(ui))
|
||||
ui.timer.timeout.connect(lambda: (ui.player_time_slider.setValue(p.get_position()),
|
||||
ui.play_pause_button.setIcon(play_icon) if not p.mediaplayer_out.is_playing()
|
||||
|
||||
1
gui/modules/restreammic/__init__.py
Normal file
1
gui/modules/restreammic/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .handlers import *
|
||||
0
gui/modules/restreammic/handlers.py
Normal file
0
gui/modules/restreammic/handlers.py
Normal file
1
gui/modules/settings/__init__.py
Normal file
1
gui/modules/settings/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .handlers import *
|
||||
14
gui/modules/settings/handlers.py
Normal file
14
gui/modules/settings/handlers.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from gui.gui import Ui_MainWindow
|
||||
from modules.config import Config
|
||||
|
||||
|
||||
def register_handlers(ui: Ui_MainWindow):
|
||||
"""
|
||||
Register this module handlers
|
||||
:param ui:
|
||||
:return:
|
||||
"""
|
||||
|
||||
ui.theme_box.setCurrentText(Config.get().theme)
|
||||
|
||||
ui.theme_box.currentTextChanged.connect(lambda: Config.update("theme", ui.theme_box.currentText()))
|
||||
@@ -6,3 +6,4 @@ from dataclasses_json import dataclass_json
|
||||
@dataclass(frozen=True)
|
||||
class ConfigModel:
|
||||
theme: str
|
||||
volume: int
|
||||
|
||||
@@ -7,7 +7,8 @@ class Config:
|
||||
@staticmethod
|
||||
def default():
|
||||
return {
|
||||
"theme": "Dark gray"
|
||||
"theme": "Dark gray",
|
||||
"volume": 100
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
|
||||
@@ -68,3 +68,6 @@ class Player(object):
|
||||
def set_position(self, pos: float):
|
||||
self.mediaplayer_preview.set_position(pos)
|
||||
self.mediaplayer_out.set_position(pos)
|
||||
|
||||
def update_devices(self):
|
||||
pass
|
||||
|
||||
@@ -7,3 +7,4 @@ requests
|
||||
python-vlc
|
||||
sounddevice
|
||||
numpy
|
||||
validators
|
||||
Reference in New Issue
Block a user