Feat: add delete edition dialog with fuzzy search

This commit is contained in:
2025-10-10 09:10:06 +02:00
parent 3cc6e793d2
commit 560d8285b5
9 changed files with 936 additions and 513 deletions

View File

@@ -251,169 +251,24 @@
<x>0</x>
<y>180</y>
<width>1412</width>
<height>511</height>
<height>531</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="4" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item row="11" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="chkbx_show_del_media">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>WIP - Broken</string>
<widget class="QPushButton" name="add_medium">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>gel. Medien anzeigen</string>
<string>Medien hinzufügen</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="chkbx_show_only_wit_neweditions">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>WIP - Broken</string>
</property>
<property name="text">
<string>Nur Titel mit Neuauflagen anzeigen</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btn_reserve">
<property name="toolTip">
<string>Dieser Knopf prüft alle Werke, die mit einem roten X vermerkt sind. Sollten diese inzwischen im Apparat sein, wird dies aktualisiert</string>
</property>
<property name="text">
<string>Medien mit ❌ im Apparat?</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="add_layout">
<item>
<widget class="QLabel" name="label_info">
<property name="text">
<string>Medien werden hinzugefügt</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="progress_label">
<property name="text">
<string>Medium x/y</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="avail_layout">
<item>
<widget class="QLabel" name="label_20">
<property name="text">
<string>Medien werden geprüft</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="progressBar">
<property name="value">
<number>24</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_eta">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="avail_status">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="automation_add_selected_books">
<property name="text">
<string>Ausgewählte als verfügbar markieren</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@@ -427,87 +282,6 @@
</item>
</layout>
</item>
<item row="9" column="0">
<widget class="QTableWidget" name="tableWidget_apparat_media">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>1259</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::AdjustToContents</enum>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>true</bool>
</attribute>
<column>
<property name="text">
<string>Buchtitel</string>
</property>
<property name="toolTip">
<string>Es kann sein, dass der Buchtitel leer ist, dies kommt vor, wenn der Titel nicht passend formatiert ist</string>
</property>
</column>
<column>
<property name="text">
<string>Signatur</string>
</property>
</column>
<column>
<property name="text">
<string>Auflage</string>
</property>
</column>
<column>
<property name="text">
<string>Autor</string>
</property>
</column>
<column>
<property name="text">
<string>im Apparat?</string>
</property>
<property name="toolTip">
<string>Diese Angabe ist nicht zuverlässig. Ist das ❌ vorhanden, kann das Medium im Apparat sein, aber aufgrund eines Bugs nicht gefunden worden</string>
</property>
</column>
<column>
<property name="text">
<string>Vorgemerkt</string>
</property>
</column>
<column>
<property name="text">
<string>Link</string>
</property>
</column>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label">
<property name="font">
@@ -1101,23 +875,7 @@
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="prof_id_adis">
<property name="font">
<font>
<pointsize>9</pointsize>
<bold>false</bold>
</font>
</property>
<property name="inputMethodHints">
<set>Qt::ImhPreferNumbers</set>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<item row="2" column="0">
<widget class="QLabel" name="label_13">
<property name="font">
<font>
@@ -1133,7 +891,7 @@
</property>
</widget>
</item>
<item row="1" column="1">
<item row="2" column="1">
<widget class="QLineEdit" name="apparat_id_adis">
<property name="font">
<font>
@@ -1146,6 +904,22 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="prof_id_adis">
<property name="font">
<font>
<pointsize>9</pointsize>
<bold>false</bold>
</font>
</property>
<property name="inputMethodHints">
<set>Qt::ImhPreferNumbers</set>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QLineEdit" name="sem_year">
@@ -1587,24 +1361,248 @@ Einige Angaben müssen ggf angepasst werden</string>
</widget>
</widget>
</item>
<item row="4" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="chkbx_show_only_wit_neweditions">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>WIP - Broken</string>
</property>
<property name="text">
<string>Nur Titel mit Neuauflagen anzeigen</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btn_reserve">
<property name="toolTip">
<string>Dieser Knopf prüft alle Werke, die mit einem roten X vermerkt sind. Sollten diese inzwischen im Apparat sein, wird dies aktualisiert</string>
</property>
<property name="text">
<string>Medien mit ❌ im Apparat?</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="add_layout">
<item>
<widget class="QLabel" name="label_info">
<property name="text">
<string>Medien werden hinzugefügt</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="progress_label">
<property name="text">
<string>Medium x/y</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="avail_layout">
<item>
<widget class="QLabel" name="label_20">
<property name="text">
<string>Medien werden geprüft</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="progressBar">
<property name="value">
<number>24</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_eta">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="avail_status">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="automation_add_selected_books">
<property name="text">
<string>Ausgewählte als verfügbar markieren</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="9" column="0">
<widget class="QTableWidget" name="tableWidget_apparat_media">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>1259</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::AdjustToContents</enum>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>true</bool>
</attribute>
<column>
<property name="text">
<string>Buchtitel</string>
</property>
<property name="toolTip">
<string>Es kann sein, dass der Buchtitel leer ist, dies kommt vor, wenn der Titel nicht passend formatiert ist</string>
</property>
</column>
<column>
<property name="text">
<string>Signatur</string>
</property>
</column>
<column>
<property name="text">
<string>Auflage</string>
</property>
</column>
<column>
<property name="text">
<string>Autor</string>
</property>
</column>
<column>
<property name="text">
<string>im Apparat?</string>
</property>
<property name="toolTip">
<string>Diese Angabe ist nicht zuverlässig. Ist das ❌ vorhanden, kann das Medium im Apparat sein, aber aufgrund eines Bugs nicht gefunden worden</string>
</property>
</column>
<column>
<property name="text">
<string>Vorgemerkt</string>
</property>
</column>
<column>
<property name="text">
<string>Link</string>
</property>
</column>
</widget>
</item>
</layout>
</widget>
<widget class="QPushButton" name="add_medium">
<property name="geometry">
<rect>
<x>3</x>
<y>695</y>
<width>121</width>
<height>20</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Medien hinzufügen</string>
</property>
</widget>
</widget>
<widget class="QWidget" name="search_statistics">
<attribute name="title">
@@ -1966,6 +1964,7 @@ Einige Angaben müssen ggf angepasst werden</string>
<string>Bearbeiten</string>
</property>
<addaction name="actionEinstellungen"/>
<addaction name="actionMedien_loeschen"/>
</widget>
<widget class="QMenu" name="menuHelp">
<property name="title">
@@ -2020,6 +2019,11 @@ Einige Angaben müssen ggf angepasst werden</string>
<string>F1</string>
</property>
</action>
<action name="actionMedien_loeschen">
<property name="text">
<string>Medien löschen</string>
</property>
</action>
</widget>
<tabstops>
<tabstop>drpdwn_app_nr</tabstop>
@@ -2038,10 +2042,8 @@ Einige Angaben müssen ggf angepasst werden</string>
<tabstop>check_send_mail</tabstop>
<tabstop>btn_apparat_save</tabstop>
<tabstop>btn_apparat_apply</tabstop>
<tabstop>chkbx_show_del_media</tabstop>
<tabstop>btn_reserve</tabstop>
<tabstop>select_action_box</tabstop>
<tabstop>prof_id_adis</tabstop>
<tabstop>apparat_id_adis</tabstop>
<tabstop>automation_add_selected_books</tabstop>
<tabstop>saveandcreate</tabstop>