Files
SemesterapparatsManager/src/ui/widgets/filepicker.py
WorldTeacher 0406fe4f6f Refactor and enhance type hints across multiple modules
- Updated the `from_tuple` method in `Prof` class to specify return type.
- Added type hints for various methods in `LehmannsClient`, `OpenAI`, `WebRequest`, and `ZoteroController` classes to improve code clarity and type safety.
- Modified `pdf_to_csv` function to return a string instead of a DataFrame.
- Enhanced error handling and type hints in `wordparser` and `xmlparser` modules.
- Removed unused UI file `Ui_medianadder.ts`.
- Improved the layout and structure of the `semesterapparat_ui` to enhance user experience.
- Updated file picker to support `.doc` files in addition to `.docx`.
- Added unique item handling in `Ui` class to prevent duplicates in apparat list.
- General code cleanup and consistency improvements across various files.
2025-10-21 09:09:54 +02:00

37 lines
1.2 KiB
Python

import sys
from PySide6.QtCore import QSettings
from PySide6.QtWidgets import QApplication, QFileDialog
class FilePicker:
def __init__(self):
self.settings = QSettings("PH-Freiburg", "SAP")
self.last_path = self.settings.value("last_path", "/")
self.multi_select = True
def pick_files(self):
filepicker = QFileDialog()
filepicker.setFileMode(QFileDialog.FileMode.ExistingFiles)
filepicker.setDirectory(self.last_path)
filepicker.setOption(QFileDialog.Option.DontUseNativeDialog, True)
# enable multi select
filepicker.setOption(QFileDialog.Option.DontUseCustomDirectoryIcons, True)
files, _ = filepicker.getOpenFileNames(
caption="Open file",
dir=self.last_path,
filter="Unterstützte Dateien (*.docx *.doc *.csv *.eml );;Word (*.docx *.doc);;CSV Files (*.csv);;Mail (*.eml)",
)
if files:
self.last_path = files[0]
self.settings.setValue("last_path", self.last_path)
return files
if __name__ == "__main__":
app = QApplication(sys.argv)
picker = FilePicker()
files = picker.pick_files()
# #print(files)