Added label for file selected; add file selection filter to be image only

This commit is contained in:
2025-09-12 21:44:55 -05:00
parent 14daf39e23
commit de3c5e895a
3 changed files with 47 additions and 3 deletions

View File

@@ -55,7 +55,10 @@ class OpenFileButton(Gtk.Button):
)
)
file_filter = Gtk.FileFilter()
file_filter.add_pixbuf_formats()
chooser.set_select_multiple(False)
chooser.set_filter(file_filter)
try:
folder = widget.get_current_file().get_parent() if not start_dir else start_dir
@@ -65,9 +68,8 @@ class OpenFileButton(Gtk.Button):
response = chooser.run()
if not response == Gtk.ResponseType.OK:
print("response")
chooser.destroy()
return _gfiles
return ""
filename = chooser.get_filename()
if not filename:

37
src/widgets/file_label.py Normal file
View File

@@ -0,0 +1,37 @@
# Python imports
# Lib imports
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
# Application imports
class FileLabel(Gtk.Label):
def __init__(self):
super(FileLabel, self).__init__()
self._setup_styling()
self._setup_signals()
self._subscribe_to_events()
self._load_widgets()
def _setup_styling(self):
...
def _setup_signals(self):
...
def _subscribe_to_events(self):
event_system.subscribe("set-file-label", self._set_file_label)
def _load_widgets(self):
...
def _set_file_label(self, fpath: str):
lbl_parts = fpath.split("/")
self.set_label(lbl_parts[-1])

View File

@@ -13,6 +13,7 @@ from gi.repository import GdkPixbuf
# Application imports
from .controls.open_file_button import OpenFileButton
from .file_label import FileLabel
from data.cbindings import pixbuf2cairo
@@ -27,11 +28,12 @@ class ImageTypeDialog(Gtk.Dialog):
self._subscribe_to_events()
self._load_widgets()
self.show()
def _setup_styling(self):
self.set_size_request(420, 320)
def _setup_signals(self):
...
@@ -46,6 +48,7 @@ class ImageTypeDialog(Gtk.Dialog):
size_w_lbl = Gtk.Label("Width:")
size_h_lbl = Gtk.Label("Height:")
open_file_btn = OpenFileButton()
file_lbl = FileLabel()
self.size_w_btn = Gtk.SpinButton()
self.size_h_btn = Gtk.SpinButton()
@@ -88,6 +91,7 @@ class ImageTypeDialog(Gtk.Dialog):
vbox.add(hbox1)
vbox.add(hbox2)
vbox.add(open_file_btn)
vbox.add(file_lbl)
self.add_button("Continue", Gtk.ResponseType.OK)
@@ -112,6 +116,7 @@ class ImageTypeDialog(Gtk.Dialog):
def _open_files(self, widget, eve):
self.img_path = event_system.emit_and_await("open-file")
event_system.emit("set-file-label", (self.img_path,))
def _pixels_to_cairo_surface(