1
0
Fork 0
mirror of synced 2024-06-02 02:34:40 +12:00

Convert rare.ui to python

This commit is contained in:
Stelios Tsampas 2021-04-22 00:38:44 +03:00
parent 2ff965ac96
commit b42e5d2384
3 changed files with 85 additions and 20 deletions

View file

@ -4,13 +4,14 @@ import subprocess
import sys
from logging import getLogger
from PyQt5.QtCore import QSettings, Qt
from PyQt5.QtWidgets import QVBoxLayout, QFileDialog, QComboBox, QPushButton, QCheckBox, QGroupBox, QScrollArea
from PyQt5.QtCore import QSettings
from PyQt5.QtWidgets import QFileDialog, QComboBox, QPushButton, QCheckBox, QWidget, QSpacerItem, QSizePolicy
from rare.components.tabs.settings.rpc_settings import RPCSettings
from rare.components.tabs.settings.settings_widget import SettingsWidget
from rare.utils.extra_widgets import PathEdit
from rare.utils.utils import get_lang, get_possible_langs
from .rare_ui import Ui_RareSettings
logger = getLogger("RareSettings")
@ -21,13 +22,11 @@ languages = [
]
class RareSettings(QScrollArea):
class RareSettings(QWidget, Ui_RareSettings):
def __init__(self):
super(RareSettings, self).__init__()
self.widget = QGroupBox(self.tr("Rare settings"))
self.widget.setObjectName("group")
self.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
self.setWidgetResizable(True)
self.setupUi(self)
# (option_name, group_text, checkbox_text, default
self.checkboxes = [
("sys_tray", self.tr("Hide to System Tray Icon"), self.tr("Exit to System Tray Icon"), True),
@ -41,7 +40,6 @@ class RareSettings(QScrollArea):
("save_size", self.tr("Save size of window after restart"), self.tr("Save size"), False)
]
self.layout = QVBoxLayout()
self.settings = QSettings()
img_dir = self.settings.value("img_dir", os.path.expanduser("~/.cache/rare/images/"), type=str)
language = self.settings.value("language", get_lang(), type=str)
@ -51,7 +49,7 @@ class RareSettings(QScrollArea):
self.save_path_button = QPushButton(self.tr("Save"))
self.save_path_button.clicked.connect(self.save_path)
self.img_dir = SettingsWidget(self.tr("Image Directory"), self.select_path, self.save_path_button)
self.layout.addWidget(self.img_dir)
self.layout().replaceWidget(self.img_dir_ph, self.img_dir)
# Select lang
self.select_lang = QComboBox()
@ -63,23 +61,22 @@ class RareSettings(QScrollArea):
self.select_lang.setCurrentIndex(0)
self.lang_widget = SettingsWidget(self.tr("Language"), self.select_lang)
self.select_lang.currentIndexChanged.connect(self.update_lang)
self.layout.addWidget(self.lang_widget)
self.layout().replaceWidget(self.lang_widget_ph, self.lang_widget)
self.rpc = RPCSettings()
self.layout.addWidget(self.rpc)
self.layout().replaceWidget(self.rpc_ph, self.rpc)
self.settings_widget = SettingsWidget("Behaviour", None)
for option, head_text, text, default in self.checkboxes:
checkbox = SettingsCheckbox(option, text, default)
settings_widget = SettingsWidget(head_text, checkbox)
self.layout.addWidget(settings_widget)
checkbox.setToolTip(head_text)
self.settings_widget.layout.addWidget(checkbox)
self.settings_widget.layout.addItem(QSpacerItem(0, 0, QSizePolicy.Minimum, QSizePolicy.Expanding))
self.layout().replaceWidget(self.settings_widget_ph, self.settings_widget)
self.open_log_dir = QPushButton(self.tr("Open Log directory"))
self.layout.addWidget(self.open_log_dir)
self.open_log_dir.clicked.connect(self.open_dir)
self.layout.addStretch()
self.widget.setLayout(self.layout)
self.setWidget(self.widget)
self.layout().addWidget(self.open_log_dir)
def open_dir(self):
logdir = os.path.expanduser("~/.cache/rare/logs")

View file

@ -0,0 +1,68 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/ui/components/tabs/settings/rare.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_RareSettings(object):
def setupUi(self, RareSettings):
RareSettings.setObjectName("RareSettings")
RareSettings.resize(633, 480)
self.gridLayout = QtWidgets.QGridLayout(RareSettings)
self.gridLayout.setObjectName("gridLayout")
self.img_dir_ph = QtWidgets.QWidget(RareSettings)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.img_dir_ph.sizePolicy().hasHeightForWidth())
self.img_dir_ph.setSizePolicy(sizePolicy)
self.img_dir_ph.setObjectName("img_dir_ph")
self.gridLayout.addWidget(self.img_dir_ph, 0, 0, 1, 1)
self.settings_widget_ph = QtWidgets.QWidget(RareSettings)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.settings_widget_ph.sizePolicy().hasHeightForWidth())
self.settings_widget_ph.setSizePolicy(sizePolicy)
self.settings_widget_ph.setObjectName("settings_widget_ph")
self.gridLayout.addWidget(self.settings_widget_ph, 1, 0, 1, 1)
self.rpc_ph = QtWidgets.QWidget(RareSettings)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rpc_ph.sizePolicy().hasHeightForWidth())
self.rpc_ph.setSizePolicy(sizePolicy)
self.rpc_ph.setObjectName("rpc_ph")
self.gridLayout.addWidget(self.rpc_ph, 1, 1, 1, 1)
self.lang_widget_ph = QtWidgets.QWidget(RareSettings)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lang_widget_ph.sizePolicy().hasHeightForWidth())
self.lang_widget_ph.setSizePolicy(sizePolicy)
self.lang_widget_ph.setObjectName("lang_widget_ph")
self.gridLayout.addWidget(self.lang_widget_ph, 0, 1, 1, 1)
self.retranslateUi(RareSettings)
QtCore.QMetaObject.connectSlotsByName(RareSettings)
def retranslateUi(self, RareSettings):
_translate = QtCore.QCoreApplication.translate
RareSettings.setWindowTitle(_translate("RareSettings", "Form"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
RareSettings = QtWidgets.QWidget()
ui = Ui_RareSettings()
ui.setupUi(RareSettings)
RareSettings.show()
sys.exit(app.exec_())

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>rare</class>
<widget class="QWidget" name="rare">
<class>RareSettings</class>
<widget class="QWidget" name="RareSettings">
<property name="geometry">
<rect>
<x>0</x>