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_select_multiple(False)
|
||||||
|
chooser.set_filter(file_filter)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
folder = widget.get_current_file().get_parent() if not start_dir else start_dir
|
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()
|
response = chooser.run()
|
||||||
if not response == Gtk.ResponseType.OK:
|
if not response == Gtk.ResponseType.OK:
|
||||||
print("response")
|
|
||||||
chooser.destroy()
|
chooser.destroy()
|
||||||
return _gfiles
|
return ""
|
||||||
|
|
||||||
filename = chooser.get_filename()
|
filename = chooser.get_filename()
|
||||||
if not 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
|
# Application imports
|
||||||
from .controls.open_file_button import OpenFileButton
|
from .controls.open_file_button import OpenFileButton
|
||||||
|
from .file_label import FileLabel
|
||||||
from data.cbindings import pixbuf2cairo
|
from data.cbindings import pixbuf2cairo
|
||||||
|
|
||||||
|
|
||||||
@@ -27,11 +28,12 @@ class ImageTypeDialog(Gtk.Dialog):
|
|||||||
self._subscribe_to_events()
|
self._subscribe_to_events()
|
||||||
self._load_widgets()
|
self._load_widgets()
|
||||||
|
|
||||||
|
self.show()
|
||||||
|
|
||||||
|
|
||||||
def _setup_styling(self):
|
def _setup_styling(self):
|
||||||
self.set_size_request(420, 320)
|
self.set_size_request(420, 320)
|
||||||
|
|
||||||
|
|
||||||
def _setup_signals(self):
|
def _setup_signals(self):
|
||||||
...
|
...
|
||||||
|
|
||||||
@@ -46,6 +48,7 @@ class ImageTypeDialog(Gtk.Dialog):
|
|||||||
size_w_lbl = Gtk.Label("Width:")
|
size_w_lbl = Gtk.Label("Width:")
|
||||||
size_h_lbl = Gtk.Label("Height:")
|
size_h_lbl = Gtk.Label("Height:")
|
||||||
open_file_btn = OpenFileButton()
|
open_file_btn = OpenFileButton()
|
||||||
|
file_lbl = FileLabel()
|
||||||
|
|
||||||
self.size_w_btn = Gtk.SpinButton()
|
self.size_w_btn = Gtk.SpinButton()
|
||||||
self.size_h_btn = Gtk.SpinButton()
|
self.size_h_btn = Gtk.SpinButton()
|
||||||
@@ -88,6 +91,7 @@ class ImageTypeDialog(Gtk.Dialog):
|
|||||||
vbox.add(hbox1)
|
vbox.add(hbox1)
|
||||||
vbox.add(hbox2)
|
vbox.add(hbox2)
|
||||||
vbox.add(open_file_btn)
|
vbox.add(open_file_btn)
|
||||||
|
vbox.add(file_lbl)
|
||||||
|
|
||||||
self.add_button("Continue", Gtk.ResponseType.OK)
|
self.add_button("Continue", Gtk.ResponseType.OK)
|
||||||
|
|
||||||
@@ -112,6 +116,7 @@ class ImageTypeDialog(Gtk.Dialog):
|
|||||||
|
|
||||||
def _open_files(self, widget, eve):
|
def _open_files(self, widget, eve):
|
||||||
self.img_path = event_system.emit_and_await("open-file")
|
self.img_path = event_system.emit_and_await("open-file")
|
||||||
|
event_system.emit("set-file-label", (self.img_path,))
|
||||||
|
|
||||||
|
|
||||||
def _pixels_to_cairo_surface(
|
def _pixels_to_cairo_surface(
|
||||||
|
Reference in New Issue
Block a user