diff --git a/src/MainWidgets.py b/src/MainWidgets.py
index 6fa12e9..aca65fb 100644
--- a/src/MainWidgets.py
+++ b/src/MainWidgets.py
@@ -91,9 +91,9 @@ def __delete_filter(self, index):
def delete_question_group(self, index_tabwidget: int):
msgBox = QMessageBox()
- msgBox.setWindowTitle("Regelgruppe löschen.")
- msgBox.setText("Regelgruppe löschen.
"
- "Möchtest du wirklich diese Fragengruppe löschen? Dies lässt sich nicht umkehren!")
+ msgBox.setWindowTitle("Fragengruppe löschen.")
+ msgBox.setText("Möchtest du diese Fragengruppe wirklich löschen?
"
+ "Dies lässt sich nicht umkehren!")
msgBox.setStandardButtons(QMessageBox.Yes | QMessageBox.Cancel)
msgBox.setDefaultButton(QMessageBox.Cancel)
ret = msgBox.exec()
@@ -125,7 +125,7 @@ def _question_group_editor(self, question_group: Union[QuestionGroup, None],
# ID was not changed -> update of title
return EditorResult.Success
if db.get_question_group(editor.id):
- QMessageBox(QMessageBox.Icon.Critical, "Fehler", "Regelgruppennummer existiert bereits!",
+ QMessageBox(QMessageBox.Icon.Critical, "Fehler", "Fragengruppennummer existiert bereits!",
parent=self, ).exec()
return EditorResult.Invalid
return EditorResult.Success
diff --git a/src/datatypes.py b/src/datatypes.py
index 9a1011c..ce0e0aa 100644
--- a/src/datatypes.py
+++ b/src/datatypes.py
@@ -120,7 +120,7 @@ class Question(Base):
signature = Column(String, default=(lambda: uuid.uuid4().hex), primary_key=True)
parameters = {
- 'group_id': QuestionParameters(table_header="Regelgruppe", filter_options=None, datatype=int),
+ 'group_id': QuestionParameters(table_header="Fragengruppe", filter_options=None, datatype=int),
'question_id': QuestionParameters(table_header="Regelnummer", filter_options=(FilterOption.equal,),
datatype=int),
'question': QuestionParameters(table_header="Frage",
diff --git a/src/main_application.py b/src/main_application.py
index 1704851..7255cff 100644
--- a/src/main_application.py
+++ b/src/main_application.py
@@ -1,28 +1,19 @@
-import os
-import shutil
-import stat
-import subprocess
-import sys
import webbrowser
from enum import Enum, auto, IntEnum
-from typing import Union
-import markdown2
-import requests
from PIL import Image
-from PySide6.QtCore import QCoreApplication, Qt, Signal, QThread
+from PySide6.QtCore import QCoreApplication, Qt
from PySide6.QtWidgets import QMainWindow, QWidget, QFileDialog, QApplication, QMessageBox, QDialog
from bs4 import BeautifulSoup
from src import document_builder
from src.MainWidgets import FirstSetupWidget, QuestionOverviewWidget
-from src.basic_config import app_version, check_for_update, display_name, is_bundled, app_dirs, base_path, \
- current_platform
+from src.basic_config import app_version, check_for_update, display_name, is_bundled
from src.database import db
from src.datatypes import create_question_groups, create_questions_and_mchoice, Regeltest
from src.regeltestcreator import RegeltestSaveDialog, RegeltestSetup
from src.ui_mainwindow import Ui_MainWindow
-from src.ui_update_checker import Ui_UpdateChecker
+from src.updater import UpdateChecker
class FilterMode(Enum):
@@ -124,7 +115,7 @@ def __init__(self, parent=None):
self.ui.actionRegeltest_l_schen.setEnabled(False)
self.ui.regeltest_list.setAcceptDrops(True)
- self.ui.actionAnsicht_zur_cksetzen.triggered.connect(lambda: self.ui.regeltest_creator.show())
+ self.ui.actionAnsicht_zur_cksetzen.triggered.connect(self.reset_ui)
self.ui.actionRegeldatensatz_exportieren.triggered.connect(lambda: save_dataset(self))
self.ui.actionNeue_Kategorie_erstellen.triggered.connect(self.add_question_group)
@@ -152,18 +143,9 @@ def initialize(self):
if dataset:
for question_group in dataset:
self.question_overview.create_question_group_tab(question_group)
- self.set_mode(ApplicationMode.question_overview)
+ self.set_mode(ApplicationMode.question_overview, reset=True)
else:
- self.set_mode(ApplicationMode.initial_setup)
-
- def clear_questionlist(self):
- self.ui.regeltest_list.clear()
- self.ui.regeltest_list.questions.clear()
- self.regeltest_list_updated()
-
- def regeltest_list_updated(self):
- self.ui.regeltest_stats.setText(
- f"{self.ui.regeltest_list.count()} Fragen selektiert ({self.ui.regeltest_list.count() * 2} Punkte)")
+ self.set_mode(ApplicationMode.initial_setup, reset=True)
def load_dataset(self):
load_dataset(self, reset_cursor=False)
@@ -174,16 +156,34 @@ def add_question_group(self):
self.question_overview.add_question_group()
self.set_mode(ApplicationMode.question_overview)
- def set_mode(self, mode: ApplicationMode):
- if self.ui.stackedWidget.currentIndex() == int(mode):
+ def reset_ui(self):
+ self.set_mode(ApplicationMode(self.ui.stackedWidget.currentIndex()), reset=True)
+
+ def set_mode(self, mode: ApplicationMode, reset=False):
+ if self.ui.stackedWidget.currentIndex() == int(mode) and not reset:
return
self.ui.stackedWidget.setCurrentIndex(int(mode))
+
+ if mode == ApplicationMode.initial_setup:
+ self.ui.actionAnsicht_zur_cksetzen.setDisabled(True)
+ else:
+ self.ui.actionAnsicht_zur_cksetzen.setDisabled(False)
+
if mode == ApplicationMode.question_overview:
self.ui.regeltest_creator.show()
else:
self.ui.regeltest_creator.close()
+ def clear_questionlist(self):
+ self.ui.regeltest_list.clear()
+ self.ui.regeltest_list.questions.clear()
+ self.regeltest_list_updated()
+
+ def regeltest_list_updated(self):
+ self.ui.regeltest_stats.setText(
+ f"{self.ui.regeltest_list.count()} Fragen selektiert ({self.ui.regeltest_list.count() * 2} Punkte)")
+
def setup_regeltest(self):
regeltest_setup = RegeltestSetup(self)
if regeltest_setup.exec():
@@ -210,139 +210,3 @@ def create_regeltest(self):
icon=icon)
QApplication.restoreOverrideCursor()
webbrowser.open_new(output_path)
-
-
-class UpdateChecker(QDialog, Ui_UpdateChecker):
- def __init__(self, parent, versions, display_dev=False):
- super(UpdateChecker, self).__init__(parent)
- self.ui = Ui_UpdateChecker()
- self.ui.setupUi(self)
- self.setWindowTitle("Update-Check")
- self.versions = versions
-
- self.ui.comboBox.currentIndexChanged.connect(self.display)
-
- if display_dev:
- self.ui.comboBox.setCurrentIndex(1)
-
- self.ui.text.setTextFormat(Qt.RichText)
- self.ui.text.setTextInteractionFlags(Qt.TextBrowserInteraction)
- self.ui.text.setOpenExternalLinks(True)
-
- self.download_link = None # type: Union[str, None]
- self.ui.install_update_button.clicked.connect(self.update)
- self.ui.install_update_button.setDisabled(True)
- self.ui.download_progress.setVisible(False)
- if not is_bundled:
- self.ui.install_update_button.setText("Auto-Update ist nur mit der kompilierten Version möglich!")
- if current_platform == 'Darwin':
- self.ui.install_update_button.setVisible(False)
-
- self.display()
-
- def display(self):
- release = self.versions[self.ui.comboBox.currentIndex()]
- if not release:
- self.ui.text.setText("