Release SyncVito 1.0.6
This commit is contained in:
1 parent
bb2a0db609
commit
3d6ab87ce3
5 files changed
+73
-7
No files matched your search
@@ -7,7 +7,7 @@ from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
from PyQt6.QtCore import QEvent, Qt, QTimer, pyqtSignal
|
||||
from PyQt6.QtGui import QAction, QCloseEvent, QFontDatabase
|
||||
from PyQt6.QtGui import QAction, QCloseEvent, QFontDatabase, QResizeEvent
|
||||
from PyQt6.QtWidgets import (
|
||||
QAbstractItemView,
|
||||
QApplication,
|
||||
@@ -50,6 +50,35 @@ __all__ = ["MainWindow"]
|
||||
|
||||
UPDATE_CHECK_INTERVAL_MS = 30 * 60 * 1000
|
||||
UPDATE_RETRY_INTERVAL_MS = 60 * 1000
|
||||
PROGRESS_TEXT_WIDTH = 300
|
||||
PROGRESS_BAR_WIDTH = 450
|
||||
|
||||
|
||||
class _ElidedLabel(QLabel):
|
||||
"""Hält dynamische Texte in einer festen Breite vollständig zugänglich."""
|
||||
|
||||
def __init__(self, text: str = "", parent: QWidget | None = None) -> None:
|
||||
super().__init__(parent)
|
||||
self._full_text = ""
|
||||
self.setText(text)
|
||||
|
||||
def setText(self, text: str) -> None: # noqa: N802 - Qt API
|
||||
self._full_text = text
|
||||
self.setToolTip(text)
|
||||
self.setAccessibleName(text)
|
||||
self._refresh_elided_text()
|
||||
|
||||
def resizeEvent(self, event: QResizeEvent) -> None: # noqa: N802 - Qt API
|
||||
super().resizeEvent(event)
|
||||
self._refresh_elided_text()
|
||||
|
||||
def _refresh_elided_text(self) -> None:
|
||||
visible_text = self.fontMetrics().elidedText(
|
||||
self._full_text,
|
||||
Qt.TextElideMode.ElideMiddle,
|
||||
max(0, self.contentsRect().width()),
|
||||
)
|
||||
super().setText(visible_text)
|
||||
|
||||
|
||||
class MainWindow(QMainWindow):
|
||||
@@ -65,7 +94,7 @@ class MainWindow(QMainWindow):
|
||||
self._notified_update_version: str | None = None
|
||||
self.setWindowTitle("SyncVito")
|
||||
self.setWindowIcon(app_icon())
|
||||
self.setMinimumSize(980, 680)
|
||||
self.setMinimumSize(1040, 680)
|
||||
self.resize(1220, 800)
|
||||
|
||||
self.coordinator = SyncCoordinator(config, config_store, self)
|
||||
@@ -380,15 +409,17 @@ class MainWindow(QMainWindow):
|
||||
dock.setFixedHeight(66)
|
||||
layout = QHBoxLayout(dock)
|
||||
layout.setContentsMargins(28, 12, 28, 12)
|
||||
self.progress_text = QLabel("Bereit")
|
||||
self.progress_text.setMinimumWidth(250)
|
||||
self.progress_text = _ElidedLabel("Bereit")
|
||||
self.progress_text.setFixedWidth(PROGRESS_TEXT_WIDTH)
|
||||
self.progress_text.setProperty("muted", True)
|
||||
self.progress_bar = QProgressBar()
|
||||
self.progress_bar.setFixedWidth(PROGRESS_BAR_WIDTH)
|
||||
self.progress_bar.setRange(0, 100)
|
||||
self.progress_bar.setValue(0)
|
||||
self.progress_bar.setFormat("%p %")
|
||||
layout.addWidget(self.progress_text)
|
||||
layout.addWidget(self.progress_bar, 1)
|
||||
layout.addWidget(self.progress_bar)
|
||||
layout.addStretch(1)
|
||||
return dock
|
||||
|
||||
def _build_tray(self) -> None:
|
||||
|
||||
Reference in new issue
Block a user