Fix Default Ignored File Extension (#245)

Add item delegate for Ignored File Extension to add leading `.` if left off extension
This commit is contained in:
Andrew Arneson
2024-06-03 22:47:56 -06:00
committed by GitHub
parent 6e96a0ff61
commit fb445e6ab0
2 changed files with 19 additions and 3 deletions

View File

@@ -341,7 +341,7 @@ class Library:
# That filename can then be used to provide quick lookup to image metadata entries in the Library.
self.filename_to_entry_id_map: dict[Path, int] = {}
# A list of file extensions to be ignored by TagStudio.
self.default_ext_blacklist: list = ["json", "xmp", "aae"]
self.default_ext_blacklist: list = [".json", ".xmp", ".aae"]
self.ignored_extensions: list = self.default_ext_blacklist
# Tags =================================================================

View File

@@ -4,19 +4,34 @@
from PySide6.QtCore import Signal, Qt
from PySide6.QtWidgets import QVBoxLayout, QPushButton, QTableWidget, QTableWidgetItem
from PySide6.QtWidgets import (
QVBoxLayout,
QPushButton,
QTableWidget,
QTableWidgetItem,
QStyledItemDelegate,
QLineEdit,
)
from src.core.library import Library
from src.qt.widgets.panel import PanelWidget
class FileExtensionItemDelegate(QStyledItemDelegate):
def setModelData(self, editor, model, index):
if isinstance(editor, QLineEdit):
if editor.text() and not editor.text().startswith("."):
editor.setText(f".{editor.text()}")
super().setModelData(editor, model, index)
class FileExtensionModal(PanelWidget):
done = Signal()
def __init__(self, library: "Library"):
super().__init__()
self.lib = library
self.setWindowTitle(f"File Extensions")
self.setWindowTitle("File Extensions")
self.setWindowModality(Qt.WindowModality.ApplicationModal)
self.setMinimumSize(200, 400)
self.root_layout = QVBoxLayout(self)
@@ -26,6 +41,7 @@ class FileExtensionModal(PanelWidget):
self.table.horizontalHeader().setVisible(False)
self.table.verticalHeader().setVisible(False)
self.table.horizontalHeader().setStretchLastSection(True)
self.table.setItemDelegate(FileExtensionItemDelegate())
self.add_button = QPushButton()
self.add_button.setText("&Add Extension")