mirror of
https://github.com/LorenEteval/Furious.git
synced 2026-10-05 21:37:56 +03:00
Define custom "AppQSpinBox" to fix minimum width issue
Signed-off-by: LorenEteval <loren.eteval@proton.me>
This commit is contained in:
committed by
Loren Eteval
parent
7fd2131b81
commit
bc50fa5a8b
@@ -79,7 +79,7 @@ class GuiEditorItemTextSpinBox(GuiEditorItemWidgetContainer):
|
||||
title = _(title)
|
||||
|
||||
self._title = AppQLabel(title, translatable=translatable, parent=parent)
|
||||
self._input = QSpinBox(parent=parent)
|
||||
self._input = AppQSpinBox(parent=parent)
|
||||
|
||||
def value(self) -> int:
|
||||
return self._input.value()
|
||||
|
||||
+27
-4
@@ -48,6 +48,7 @@ __all__ = [
|
||||
'AppQMenuBar',
|
||||
'AppQMessageBox',
|
||||
'AppQPushButton',
|
||||
'AppQSpinBox',
|
||||
'AppQTableView',
|
||||
'AppQTableWidget',
|
||||
'AppQTabWidget',
|
||||
@@ -63,12 +64,16 @@ __all__ = [
|
||||
|
||||
|
||||
def moveToCenter(widget, parent=None):
|
||||
geometry = widget.geometry()
|
||||
geometry = widget.frameGeometry()
|
||||
|
||||
if parent is None:
|
||||
center = QApplication.primaryScreen().availableGeometry().center()
|
||||
if parent is not None:
|
||||
if parent.isWindow():
|
||||
center = parent.frameGeometry().center()
|
||||
else:
|
||||
center = parent.mapToGlobal(parent.rect().center())
|
||||
else:
|
||||
center = parent.geometry().center()
|
||||
screen = widget.screen() or QApplication.primaryScreen()
|
||||
center = screen.availableGeometry().center()
|
||||
|
||||
geometry.moveCenter(center)
|
||||
|
||||
@@ -513,6 +518,24 @@ class AppQPushButton(Mixins.QTranslatable, Mixins.ThemeAware, QPushButton):
|
||||
self.setText(_(self.text()))
|
||||
|
||||
|
||||
class AppQSpinBox(QSpinBox):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
def resizeHints(self):
|
||||
self.setMinimumWidth(
|
||||
max(
|
||||
self.sizeHint().width(),
|
||||
self.fontMetrics().horizontalAdvance(str(self.maximum())) + 100,
|
||||
)
|
||||
)
|
||||
|
||||
def setRange(self, *args, **kwargs):
|
||||
super().setRange(*args, **kwargs)
|
||||
|
||||
self.resizeHints()
|
||||
|
||||
|
||||
class AppQTableView(Mixins.ConnectionAware, QTableView):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
@@ -34,7 +34,7 @@ class IndentSpinBox(AppQDialog):
|
||||
|
||||
self.indentText = AppQLabel(_('Indent:'))
|
||||
|
||||
self.indentSpin = QSpinBox()
|
||||
self.indentSpin = AppQSpinBox()
|
||||
self.indentSpin.setRange(0, 8)
|
||||
self.indentSpin.setValue(2)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user