add progress in statusbar
This commit is contained in:
@@ -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")
|
||||
|
||||
@@ -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()
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user