manuskript/manuskript/ui/chooser/__init__.py
TheJackiMonster 960691e387
Implement to open projects
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-21 21:52:07 +01:00

34 lines
785 B
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import gi
gi.require_version('Gdk', '3.0')
from gi.repository import GObject, Gtk
from manuskript.ui.chooser.fileFilter import FileFilter
def openFileDialog(window, fileFilter: FileFilter = None) -> str | None:
dialog = Gtk.FileChooserDialog(
"Please choose a file",
window,
Gtk.FileChooserAction.OPEN,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OPEN, Gtk.ResponseType.OK)
)
if fileFilter is not None:
fileFilter.addToChooser(dialog)
FileFilter("All files", "*").addToChooser(dialog)
response = dialog.run()
result = None
if response == Gtk.ResponseType.OK:
result = dialog.get_filename()
dialog.destroy()
return result