print: add loading message, completely hide path label while on the root

This commit is contained in:
alfrix 2024-01-04 00:29:12 -03:00
parent 25ecb891f5
commit 989e3ce796

View File

@ -50,19 +50,21 @@ class Panel(ScreenPanel):
refresh.connect('clicked', self._refresh_files) refresh.connect('clicked', self._refresh_files)
sbox.add(refresh) sbox.add(refresh)
self.labels['path'] = Gtk.Label() self.labels['path'] = Gtk.Label(label=_('Loading...'), vexpand=True, no_show_all=True)
self.scroll = self._gtk.ScrolledWindow() self.labels['path'].show()
self.main = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, vexpand=True) self.main = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, vexpand=True)
self.main.pack_start(sbox, False, False, 0) self.main.pack_start(sbox, False, False, 0)
self.main.pack_start(self.labels['path'], False, False, 0) self.main.pack_start(self.labels['path'], False, False, 0)
self.main.pack_start(self.scroll, True, True, 0)
self.content.add(self.main)
self.dir_panels['gcodes'] = Gtk.Grid() self.dir_panels['gcodes'] = Gtk.Grid()
GLib.idle_add(self.reload_files) GLib.idle_add(self.reload_files)
self.scroll = self._gtk.ScrolledWindow()
self.scroll.hide()
self.main.pack_start(self.scroll, True, True, 0)
self.scroll.add(self.dir_panels['gcodes']) self.scroll.add(self.dir_panels['gcodes'])
self._screen.files.add_file_callback(self._callback) self._screen.files.add_file_callback(self._callback)
self.content.add(self.main)
def activate(self): def activate(self):
if self.cur_directory != "gcodes": if self.cur_directory != "gcodes":
@ -248,10 +250,14 @@ class Panel(ScreenPanel):
for child in self.scroll.get_children(): for child in self.scroll.get_children():
self.scroll.remove(child) self.scroll.remove(child)
self.cur_directory = directory self.cur_directory = directory
self.labels['path'].set_text(f" {self.cur_directory[7:]}") self.labels['path'].set_text(self.cur_directory)
self.scroll.add(self.dir_panels[directory]) self.scroll.add(self.dir_panels[directory])
self.content.show_all() self.content.show_all()
if self.cur_directory == 'gcodes':
self.labels['path'].hide()
else:
self.labels['path'].show()
def change_sort(self, widget, key): def change_sort(self, widget, key):
if self.sort_current[0] == key: if self.sort_current[0] == key:
@ -357,7 +363,10 @@ class Panel(ScreenPanel):
flist = sorted(self._screen.files.get_file_list(), key=lambda item: '/' in item) flist = sorted(self._screen.files.get_file_list(), key=lambda item: '/' in item)
for file in flist: for file in flist:
GLib.idle_add(self.add_file, file) GLib.idle_add(self.add_file, file)
return False self.labels['path'].set_vexpand(False)
self.labels['path'].set_text(self.cur_directory)
if self.cur_directory == 'gcodes':
self.labels['path'].hide()
def update_file(self, filename): def update_file(self, filename):
if filename not in self.labels['files']: if filename not in self.labels['files']: