From 5840789f4e238069ea61c6ee274c80bd18633783 Mon Sep 17 00:00:00 2001 From: Benjamin Arbogast Date: Thu, 17 Apr 2014 10:53:00 +0200 Subject: [PATCH] Display a link to the Arch/AUR package page in the info area. For installed packages the link cannot be displayed since the name of the repository is unknown. Signed-off-by: Philip --- gui/manager.ui | 14 ++++++++++++++ pamac-manager.py | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/gui/manager.ui b/gui/manager.ui index 01facf9..295e01e 100644 --- a/gui/manager.ui +++ b/gui/manager.ui @@ -837,6 +837,20 @@ 3 + + + True + False + 0 + 10 + True + + + False + True + 4 + + diff --git a/pamac-manager.py b/pamac-manager.py index 4d9141a..2a3042f 100755 --- a/pamac-manager.py +++ b/pamac-manager.py @@ -48,6 +48,7 @@ details_scrolledwindow = interface.get_object('details_scrolledwindow') name_label = interface.get_object('name_label') desc_label = interface.get_object('desc_label') link_label = interface.get_object('link_label') +pkg_link_label = interface.get_object('pkg_link_label') licenses_label = interface.get_object('licenses_label') search_entry = interface.get_object('search_entry') search_aur_button = interface.get_object('search_aur_button') @@ -343,6 +344,7 @@ def refresh_packages_list(liststore): name_label.set_markup('') desc_label.set_markup('') link_label.set_markup('') + pkg_link_label.set_markup('') licenses_label.set_markup('') deps_list.clear() details_list.clear() @@ -350,6 +352,14 @@ def refresh_packages_list(liststore): ManagerWindow.get_window().set_cursor(None) def set_infos_list(pkg): + if pkg.db.name == 'AUR': + pkg_url = 'https://aur.archlinux.org/packages/{}/'.format(pkg.name) + elif pkg.db.name == 'local': + # We don't know the db name, so we can't determine the url + pkg_url = '' + else: + pkg_url = 'https://www.archlinux.org/packages/{0.db.name}/{0.arch}/{0.name}/'.format(pkg) + name_label.set_markup('{} {}'.format(pkg.name, pkg.version)) # fix &,-,>,< in desc desc = pkg.desc.replace('&', '&') @@ -359,6 +369,10 @@ def set_infos_list(pkg): url = pkg.url.replace('&', '&') link_label.set_markup('{_url}'.format(_url = url)) licenses_label.set_markup(_('Licenses')+': {}'.format(' '.join(pkg.licenses))) + if pkg_url: + pkg_link_label.set_markup('Package: {_url}'.format(_url = pkg_url)) + else: + pkg_link_label.set_markup('') def set_deps_list(pkg, style): deps_list.clear()