Added label for file selected; add file selection filter to be image only
This commit is contained in:
@@ -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
37
src/widgets/file_label.py
Normal 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])
|
@@ -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(
|
||||
|
Reference in New Issue
Block a user