Skip to content

Commit

Permalink
Headerbar and about window (#84)
Browse files Browse the repository at this point in the history
* feat(mintbackup.ui): Headerbar

* feat(mintbackup.py): Main menu with about action

* feat(rules): Inject version number in the code

* fix(compat): Upgrade compatibility levels to 10

* fix(AboutWindow): Wrong icon name
  • Loading branch information
axel358 authored Nov 27, 2023
1 parent 6afd240 commit 3c610dc
Show file tree
Hide file tree
Showing 4 changed files with 296 additions and 212 deletions.
2 changes: 1 addition & 1 deletion debian/compat
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9
10
9 changes: 9 additions & 0 deletions debian/rules
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
#!/usr/bin/make -f

DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')

%:
dh ${@}

# Inject version number in the code
override_dh_installdeb:
dh_installdeb
for pkg in $$(dh_listpackages -i); do \
find debian/$$pkg -type f -exec sed -i -e s/__DEB_VERSION__/$(DEB_VERSION)/g {} +; \
done
49 changes: 49 additions & 0 deletions usr/lib/linuxmint/mintbackup/mintbackup.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,28 @@ def __init__(self):
self.builder.get_object("filechooserbutton_backup_dest").set_current_folder(BACKUP_DIR)
self.builder.get_object("filechooserbutton_package_source").set_current_folder(BACKUP_DIR)

# Menubar
accel_group = Gtk.AccelGroup()
self.main_window.add_accel_group(accel_group)
menu = self.builder.get_object("main_menu")
item = Gtk.ImageMenuItem()
item.set_image(Gtk.Image.new_from_icon_name("help-about-symbolic", Gtk.IconSize.MENU))
item.set_label(_("About"))
item.connect("activate", self.open_about)
key, mod = Gtk.accelerator_parse("F1")
item.add_accelerator("activate", accel_group, key, mod, Gtk.AccelFlags.VISIBLE)
menu.append(item)
item = Gtk.ImageMenuItem(label=_("Quit"))
image = Gtk.Image.new_from_icon_name("application-exit-symbolic", Gtk.IconSize.MENU)
item.set_image(image)
item.connect('activate', lambda widget: self.main_window.destroy())
key, mod = Gtk.accelerator_parse("<Control>Q")
item.add_accelerator("activate", accel_group, key, mod, Gtk.AccelFlags.VISIBLE)
key, mod = Gtk.accelerator_parse("<Control>W")
item.add_accelerator("activate", accel_group, key, mod, Gtk.AccelFlags.VISIBLE)
menu.append(item)
menu.show_all()

def on_treeview_excludes_selection_changed(self, selection):
liststore, treeiter = selection.get_selected()
self.builder.get_object("button_remove_exclude").set_sensitive((treeiter and liststore.get_value(treeiter, 2) != BACKUP_DIR))
Expand Down Expand Up @@ -870,6 +892,33 @@ def set_selection(self, w, treeview, selection, check):
else:
row[0] = selection

def open_about(self, widget):
dlg = Gtk.AboutDialog()
dlg.set_transient_for(self.main_window)
dlg.set_title(_("About"))
dlg.set_program_name("Backup Tool")
dlg.set_comments(_("Backup apps and files"))
try:
h = open('/usr/share/common-licenses/GPL', encoding="utf-8")
s = h.readlines()
gpl = ""
for line in s:
gpl += line
h.close()
dlg.set_license(gpl)
except Exception as e:
print (e)

dlg.set_version("__DEB_VERSION__")
dlg.set_icon_name("mintbackup")
dlg.set_logo_icon_name("mintbackup")
dlg.set_website("https://www.github.com/linuxmint/mintbackup")
def close(w, res):
if res == Gtk.ResponseType.CANCEL or res == Gtk.ResponseType.DELETE_EVENT:
w.destroy()
dlg.connect("response", close)
dlg.show()

if __name__ == "__main__":
MintBackup()
Gtk.main()
Loading

0 comments on commit 3c610dc

Please sign in to comment.