print: simplificate header and create row
This commit is contained in:
parent
1864138047
commit
25ecb891f5
@ -26,7 +26,6 @@ class Panel(ScreenPanel):
|
|||||||
"date": _("Date")
|
"date": _("Date")
|
||||||
}
|
}
|
||||||
self.sort_icon = ["arrow-up", "arrow-down"]
|
self.sort_icon = ["arrow-up", "arrow-down"]
|
||||||
self.scroll = self._gtk.ScrolledWindow()
|
|
||||||
self.files = {}
|
self.files = {}
|
||||||
self.directories = {}
|
self.directories = {}
|
||||||
self.labels['directories'] = {}
|
self.labels['directories'] = {}
|
||||||
@ -35,6 +34,7 @@ class Panel(ScreenPanel):
|
|||||||
self.time_24 = self._config.get_main_config().getboolean("24htime", True)
|
self.time_24 = self._config.get_main_config().getboolean("24htime", True)
|
||||||
self.space = ' ' if self._screen.width > 480 else '\n'
|
self.space = ' ' if self._screen.width > 480 else '\n'
|
||||||
logging.info(f"24h time is {self.time_24}")
|
logging.info(f"24h time is {self.time_24}")
|
||||||
|
self.showing_rename = False
|
||||||
|
|
||||||
sbox = Gtk.Box(hexpand=True, vexpand=False)
|
sbox = Gtk.Box(hexpand=True, vexpand=False)
|
||||||
for i, (name, val) in enumerate(self.sort_items.items(), start=1):
|
for i, (name, val) in enumerate(self.sort_items.items(), start=1):
|
||||||
@ -50,31 +50,26 @@ class Panel(ScreenPanel):
|
|||||||
refresh.connect('clicked', self._refresh_files)
|
refresh.connect('clicked', self._refresh_files)
|
||||||
sbox.add(refresh)
|
sbox.add(refresh)
|
||||||
|
|
||||||
pbox = Gtk.Box(hexpand=True, vexpand=False)
|
|
||||||
self.labels['path'] = Gtk.Label()
|
self.labels['path'] = Gtk.Label()
|
||||||
pbox.add(self.labels['path'])
|
self.scroll = self._gtk.ScrolledWindow()
|
||||||
self.labels['path_box'] = pbox
|
|
||||||
|
|
||||||
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(pbox, False, False, 0)
|
self.main.pack_start(self.labels['path'], False, False, 0)
|
||||||
self.main.pack_start(self.scroll, True, True, 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.add(self.dir_panels['gcodes'])
|
self.scroll.add(self.dir_panels['gcodes'])
|
||||||
self.content.add(self.main)
|
|
||||||
self._screen.files.add_file_callback(self._callback)
|
self._screen.files.add_file_callback(self._callback)
|
||||||
self.showing_rename = False
|
|
||||||
|
|
||||||
def activate(self):
|
def activate(self):
|
||||||
if self.cur_directory != "gcodes":
|
if self.cur_directory != "gcodes":
|
||||||
self.change_dir(None, "gcodes")
|
self.change_dir(None, "gcodes")
|
||||||
self._refresh_files()
|
self._refresh_files()
|
||||||
|
|
||||||
def add_directory(self, directory, show=True):
|
def add_directory(self, directory):
|
||||||
parent_dir = os.path.dirname(directory)
|
parent_dir = os.path.dirname(directory)
|
||||||
modified = 0
|
modified = 0
|
||||||
for x in self._files.directories:
|
for x in self._files.directories:
|
||||||
@ -97,10 +92,9 @@ class Panel(ScreenPanel):
|
|||||||
|
|
||||||
self.dir_panels[parent_dir].insert_row(pos)
|
self.dir_panels[parent_dir].insert_row(pos)
|
||||||
self.dir_panels[parent_dir].attach(self.directories[directory], 0, pos, 1, 1)
|
self.dir_panels[parent_dir].attach(self.directories[directory], 0, pos, 1, 1)
|
||||||
if show is True:
|
|
||||||
self.dir_panels[parent_dir].show_all()
|
self.dir_panels[parent_dir].show_all()
|
||||||
|
|
||||||
def add_file(self, filepath, show=True):
|
def add_file(self, filepath):
|
||||||
fileinfo = self._screen.files.get_file_info(filepath)
|
fileinfo = self._screen.files.get_file_info(filepath)
|
||||||
if fileinfo is None:
|
if fileinfo is None:
|
||||||
return
|
return
|
||||||
@ -145,9 +139,7 @@ class Panel(ScreenPanel):
|
|||||||
|
|
||||||
self.dir_panels[directory].insert_row(pos)
|
self.dir_panels[directory].insert_row(pos)
|
||||||
self.dir_panels[directory].attach(self.files[filepath], 0, pos, 1, 1)
|
self.dir_panels[directory].attach(self.files[filepath], 0, pos, 1, 1)
|
||||||
if show is True:
|
|
||||||
self.dir_panels[directory].show_all()
|
self.dir_panels[directory].show_all()
|
||||||
return False
|
|
||||||
|
|
||||||
def _create_row(self, fullpath, filename=None):
|
def _create_row(self, fullpath, filename=None):
|
||||||
name = Gtk.Label(hexpand=True, halign=Gtk.Align.START, wrap=True, wrap_mode=Pango.WrapMode.CHAR)
|
name = Gtk.Label(hexpand=True, halign=Gtk.Align.START, wrap=True, wrap_mode=Pango.WrapMode.CHAR)
|
||||||
@ -165,40 +157,22 @@ class Panel(ScreenPanel):
|
|||||||
rename = self._gtk.Button("files", style="color2", scale=self.bts)
|
rename = self._gtk.Button("files", style="color2", scale=self.bts)
|
||||||
rename.set_hexpand(False)
|
rename.set_hexpand(False)
|
||||||
|
|
||||||
|
row = Gtk.Grid(hexpand=True, vexpand=False)
|
||||||
|
row.get_style_context().add_class("frame-item")
|
||||||
|
|
||||||
if filename:
|
if filename:
|
||||||
|
if os.path.splitext(filename)[1] in [".gcode", ".g", ".gco"]:
|
||||||
action = self._gtk.Button("print", style="color3")
|
action = self._gtk.Button("print", style="color3")
|
||||||
action.connect("clicked", self.confirm_print, fullpath)
|
action.connect("clicked", self.confirm_print, fullpath)
|
||||||
|
action.set_hexpand(False)
|
||||||
|
action.set_halign(Gtk.Align.END)
|
||||||
|
row.attach(action, 4, 0, 1, 2)
|
||||||
info.set_markup(self.get_file_info_str(fullpath))
|
info.set_markup(self.get_file_info_str(fullpath))
|
||||||
icon = Gtk.Button()
|
icon = Gtk.Button()
|
||||||
icon.connect("clicked", self.confirm_print, fullpath)
|
icon.connect("clicked", self.confirm_print, fullpath)
|
||||||
delete.connect("clicked", self.confirm_delete_file, f"gcodes/{fullpath}")
|
delete.connect("clicked", self.confirm_delete_file, f"gcodes/{fullpath}")
|
||||||
rename.connect("clicked", self.show_rename, f"gcodes/{fullpath}")
|
rename.connect("clicked", self.show_rename, f"gcodes/{fullpath}")
|
||||||
GLib.idle_add(self.image_load, fullpath)
|
GLib.idle_add(self.image_load, fullpath)
|
||||||
else:
|
|
||||||
action = self._gtk.Button("load", style="color3")
|
|
||||||
action.connect("clicked", self.change_dir, fullpath)
|
|
||||||
icon = self._gtk.Button("folder")
|
|
||||||
icon.connect("clicked", self.change_dir, fullpath)
|
|
||||||
delete.connect("clicked", self.confirm_delete_directory, fullpath)
|
|
||||||
rename.connect("clicked", self.show_rename, fullpath)
|
|
||||||
icon.set_hexpand(False)
|
|
||||||
action.set_hexpand(False)
|
|
||||||
action.set_halign(Gtk.Align.END)
|
|
||||||
|
|
||||||
delete.connect("clicked", self.confirm_delete_file, f"gcodes/{fullpath}")
|
|
||||||
|
|
||||||
row = Gtk.Grid(hexpand=True, vexpand=False)
|
|
||||||
row.get_style_context().add_class("frame-item")
|
|
||||||
row.attach(icon, 0, 0, 1, 2)
|
|
||||||
row.attach(name, 1, 0, 3, 1)
|
|
||||||
row.attach(info, 1, 1, 1, 1)
|
|
||||||
row.attach(rename, 2, 1, 1, 1)
|
|
||||||
row.attach(delete, 3, 1, 1, 1)
|
|
||||||
|
|
||||||
if not filename or (filename and os.path.splitext(filename)[1] in [".gcode", ".g", ".gco"]):
|
|
||||||
row.attach(action, 4, 0, 1, 2)
|
|
||||||
|
|
||||||
if filename is not None:
|
|
||||||
self.files[fullpath] = row
|
self.files[fullpath] = row
|
||||||
self.labels['files'][fullpath] = {
|
self.labels['files'][fullpath] = {
|
||||||
"icon": icon,
|
"icon": icon,
|
||||||
@ -206,12 +180,28 @@ class Panel(ScreenPanel):
|
|||||||
"name": name
|
"name": name
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
|
action = self._gtk.Button("load", style="color3")
|
||||||
|
action.connect("clicked", self.change_dir, fullpath)
|
||||||
|
action.set_hexpand(False)
|
||||||
|
action.set_halign(Gtk.Align.END)
|
||||||
|
row.attach(action, 4, 0, 1, 2)
|
||||||
|
icon = self._gtk.Button("folder")
|
||||||
|
icon.connect("clicked", self.change_dir, fullpath)
|
||||||
|
delete.connect("clicked", self.confirm_delete_directory, fullpath)
|
||||||
|
rename.connect("clicked", self.show_rename, fullpath)
|
||||||
self.directories[fullpath] = row
|
self.directories[fullpath] = row
|
||||||
self.labels['directories'][fullpath] = {
|
self.labels['directories'][fullpath] = {
|
||||||
"info": info,
|
"info": info,
|
||||||
"name": name
|
"name": name
|
||||||
}
|
}
|
||||||
self.dir_panels[fullpath] = Gtk.Grid()
|
self.dir_panels[fullpath] = Gtk.Grid()
|
||||||
|
icon.set_hexpand(False)
|
||||||
|
|
||||||
|
row.attach(icon, 0, 0, 1, 2)
|
||||||
|
row.attach(name, 1, 0, 3, 1)
|
||||||
|
row.attach(info, 1, 1, 1, 1)
|
||||||
|
row.attach(rename, 2, 1, 1, 1)
|
||||||
|
row.attach(delete, 3, 1, 1, 1)
|
||||||
|
|
||||||
def image_load(self, filepath):
|
def image_load(self, filepath):
|
||||||
pixbuf = self.get_file_image(filepath, small=True)
|
pixbuf = self.get_file_image(filepath, small=True)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user