mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-09 10:54:16 +02:00
[ui][settings] more improvements and settings
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import Tuple
|
||||
|
||||
@@ -434,6 +435,9 @@ class FormQt(QGroupBox):
|
||||
chooser = QLineEdit()
|
||||
chooser.setReadOnly(True)
|
||||
|
||||
if c.file_path:
|
||||
chooser.setText(c.file_path)
|
||||
|
||||
chooser.setPlaceholderText(self.i18n['view.components.file_chooser.placeholder'])
|
||||
|
||||
def open_chooser(e):
|
||||
@@ -444,7 +448,12 @@ class FormQt(QGroupBox):
|
||||
else:
|
||||
exts = '{}} (*);;'.format(self.i18n['all_files'].capitalize())
|
||||
|
||||
file_path, _ = QFileDialog.getOpenFileName(self, self.i18n['file_chooser.title'], str(Path.home()), exts, options=options)
|
||||
if c.file_path and os.path.isfile(c.file_path):
|
||||
cur_path = c.file_path
|
||||
else:
|
||||
cur_path = str(Path.home())
|
||||
|
||||
file_path, _ = QFileDialog.getOpenFileName(self, self.i18n['file_chooser.title'], cur_path, exts, options=options)
|
||||
|
||||
if file_path:
|
||||
c.file_path = file_path
|
||||
@@ -457,7 +466,8 @@ class FormQt(QGroupBox):
|
||||
|
||||
chooser.mousePressEvent = open_chooser
|
||||
|
||||
return QLabel(c.label if c.label else ''), chooser
|
||||
label = self._new_label(c)
|
||||
return label, chooser
|
||||
|
||||
|
||||
class TabGroupQt(QTabWidget):
|
||||
@@ -465,6 +475,7 @@ class TabGroupQt(QTabWidget):
|
||||
def __init__(self, model: TabGroupComponent, i18n: I18n, parent: QWidget = None):
|
||||
super(TabGroupQt, self).__init__(parent=parent)
|
||||
self.model = model
|
||||
self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
|
||||
self.setTabPosition(QTabWidget.North)
|
||||
|
||||
for c in model.tabs:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from io import StringIO
|
||||
|
||||
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QToolBar, QSizePolicy, QToolButton, QPushButton
|
||||
from PyQt5.QtCore import QSize
|
||||
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QToolBar, QSizePolicy, QPushButton
|
||||
|
||||
from bauh.api.abstract.controller import SoftwareManager
|
||||
from bauh.api.abstract.view import MessageType
|
||||
@@ -11,20 +12,22 @@ from bauh.view.util.translation import I18n
|
||||
|
||||
class SettingsWindow(QWidget):
|
||||
|
||||
def __init__(self, manager: SoftwareManager, i18n: I18n, parent: QWidget = None):
|
||||
def __init__(self, manager: SoftwareManager, i18n: I18n, screen_size: QSize, parent: QWidget = None):
|
||||
super(SettingsWindow, self).__init__(parent=parent)
|
||||
self.setWindowTitle(i18n['settings'].capitalize())
|
||||
self.setLayout(QVBoxLayout())
|
||||
self.manager = manager
|
||||
self.i18n = i18n
|
||||
self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
|
||||
self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
|
||||
|
||||
self.settings_model = self.manager.get_settings()
|
||||
|
||||
self.layout().addWidget(to_widget(self.settings_model, i18n))
|
||||
tab_group = to_widget(self.settings_model, i18n)
|
||||
tab_group.setMinimumWidth(int(screen_size.width() / 3))
|
||||
self.layout().addWidget(tab_group)
|
||||
|
||||
action_bar = QToolBar()
|
||||
action_bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
|
||||
action_bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
|
||||
|
||||
bt_close = QPushButton()
|
||||
bt_close.setText(self.i18n['close'].capitalize())
|
||||
|
||||
@@ -1166,7 +1166,7 @@ class ManageWindow(QWidget):
|
||||
gem_panel.show()
|
||||
|
||||
def show_settings_window(self):
|
||||
self.settings_window = SettingsWindow(self.manager, self.i18n)
|
||||
self.settings_window = SettingsWindow(self.manager, self.i18n, self.screen_size)
|
||||
self.settings_window.setMinimumWidth(int(self.screen_size.width() / 4))
|
||||
self.settings_window.resize(self.size())
|
||||
self.settings_window.adjustSize()
|
||||
|
||||
Reference in New Issue
Block a user