add progress in statusbar

This commit is contained in:
Thomas Peetz
2025-01-18 01:28:27 +01:00
parent 3c4d3ad326
commit f3c59c11ba
3 changed files with 31 additions and 3 deletions
+12 -2
View File
@@ -1,11 +1,12 @@
from typing import Any
from PySide6.QtGui import QAction, QIcon
from PySide6.QtWidgets import QWidget, QVBoxLayout, QMenu, QMessageBox, QTabWidget, QTableView
from PySide6.QtWidgets import QWidget, QVBoxLayout, QMenu, QMessageBox, QTabWidget, QTableView, QProgressBar
from PySide6.QtWidgets import QLabel, QMainWindow
from cement.core.config import ConfigHandler
from sqlalchemy import Engine
from .progress import ProgressUpdate
from ..database import KontorDB
from ..database.media import MediaFile
from ..database.comic import Comic
@@ -30,6 +31,8 @@ class MainWindow(QMainWindow):
self._create_actions()
self._create_menubar()
self._create_toolbars()
self.status_progress = QProgressBar()
self.progress_update = ProgressUpdate(self.status_progress)
self._create_statusbar()
self.data = []
@@ -104,7 +107,8 @@ class MainWindow(QMainWindow):
self.statusBar = self.statusBar()
self.statusBar.showMessage("Kontor ready", 6000)
self.status_label = QLabel("")
self.statusBar.addPermanentWidget(self.status_label)
self.status_progress.setEnabled(False)
self.statusBar.addPermanentWidget(self.status_progress)
def about(self):
QMessageBox.about(self.central_widget, "Über Kontor", f"Python: 3.11\nKontor: 0.1.0")
@@ -130,12 +134,18 @@ class MainWindow(QMainWindow):
def update_title(self):
self.log.info("update title for table MediaFile")
self.statusBar.showMessage("update title for table MediaFile", 3000)
self.status_progress.setEnabled(True)
self.kontor_db.update_title()
self.status_progress.setEnabled(False)
self.refresh()
def download_file(self):
self.log.info("download videos for table MediaFile")
self.statusBar.showMessage("download videos for table MediaFile", 3000)
self.status_progress.setEnabled(True)
self.kontor_db.download_file()
self.status_progress.setEnabled(False)
self.refresh()
def check_files(self):
self.log.info("check files")
+18
View File
@@ -0,0 +1,18 @@
from PySide6.QtWidgets import QProgressBar
class ProgressUpdate:
def __init__(self, progress: QProgressBar):
self.start = 0
self.end = 0
self.current = 0
self.progress = progress
def start(self, start_value, end_value):
self.start = start_value
self.end = end_value
self.current = start_value
self.progress.update()
def update(self, current):
self.progress.update()
+1 -1
View File
@@ -17,7 +17,7 @@ CONFIG['mariadb']['password'] = 'kontor'
CONFIG['mariadb']['host'] = '127.0.0.1'
CONFIG['mariadb']['port'] = '3306'
CONFIG['mariadb']['database'] = 'kontor'
CONFIG['media']['ytdlp'] = '/home/tpeetz/bin/yt-dlp'
CONFIG['media']['yt-dlp'] = '/home/tpeetz/bin/yt-dlp'
CONFIG['media']['dir'] = '/data/media'
META = init_defaults('output.json', 'output.yaml')
META['output.json']['overridable'] = True