diff --git a/gui/manager.glade b/gui/manager.glade index 3c7c45c..5c17e55 100644 --- a/gui/manager.glade +++ b/gui/manager.glade @@ -1,263 +1,6 @@ - - False - 5 - - True - center-on-parent - dialog - True - False - ManagerWindow - - - False - vertical - 2 - - - False - end - - - gtk-ok - True - True - True - True - - - - False - True - 0 - - - - - False - True - end - 0 - - - - - True - False - label - - - False - True - 1 - - - - - True - True - in - 300 - 250 - - - True - True - choose_list - False - False - False - 0 - - - - - - column - - - - - - 0 - - - - - - 1 - - - - - - - - - True - True - 2 - - - - - - ChooseButton - - - - False - 5 - 5 - - True - center-on-parent - 350 - 250 - /usr/share/pamac/icons/22x22/status/package-info.png - dialog - True - False - ManagerWindow - - - True - False - vertical - - - True - False - label - - - False - True - 0 - - - - - True - True - True - True - in - 300 - 250 - - - True - True - True - True - transaction_sum - False - False - False - 0 - - - - - - column - - - 0 - 600 - - - 0 - - - - - - - column - - - - 1 - - - - - - - - - True - True - 1 - - - - - True - False - label - - - False - True - 2 - - - - - True - False - 7 - 7 - 9 - 7 - True - end - - - gtk-cancel - True - True - True - True - - - - False - True - 0 - - - - - gtk-ok - True - True - True - True - - - - False - True - 1 - - - - - False - True - 3 - - - - - 800 500 @@ -526,8 +269,6 @@ True True packages_list - True - False 0 False @@ -537,11 +278,12 @@ + True autosize Installed True True - + 1 15 @@ -566,11 +308,12 @@ + True autosize Name True True - + 0 0 @@ -581,6 +324,22 @@ + + + True + autosize + Size + True + True + 6 + + + + 5 + + + + @@ -752,6 +511,264 @@ + + False + 5 + + True + center-on-parent + dialog + True + False + ManagerWindow + + + False + vertical + 2 + + + False + end + + + gtk-ok + True + True + True + True + + + + False + True + 0 + + + + + False + True + end + 0 + + + + + True + False + label + + + False + True + 1 + + + + + True + True + in + 300 + 250 + + + True + True + choose_list + False + False + False + 0 + + + + + + column + + + + + + 0 + + + + + + 1 + + + + + + + + + True + True + 2 + + + + + + ChooseButton + + + + False + 5 + 5 + + True + center-on-parent + 350 + 250 + /usr/share/pamac/icons/22x22/status/package-info.png + dialog + True + False + ManagerWindow + + + True + False + vertical + 4 + + + True + False + label + + + False + True + 0 + + + + + True + True + True + True + in + 300 + 250 + + + True + True + True + True + transaction_sum + False + False + False + 0 + + + + + + column + + + 0 + 600 + + + 0 + + + + + + + column + + + + 1 + + + + + + + + + True + True + 1 + + + + + True + False + label + + + False + True + 2 + + + + + True + False + 7 + 7 + 9 + 7 + True + end + + + gtk-cancel + True + True + True + True + + + + False + True + 0 + + + + + gtk-ok + True + True + True + True + + + + False + True + 1 + + + + + False + True + 3 + + + + + 250 60 @@ -898,6 +915,10 @@ + + + + diff --git a/gui/updater.glade b/gui/updater.glade index 8f65d8c..8ccf556 100644 --- a/gui/updater.glade +++ b/gui/updater.glade @@ -13,7 +13,45 @@ True True vertical - 2 + 4 + + + True + False + 7 + 7 + 10 + + + True + False + /usr/share/pamac/icons/48x48/status/package-update.png + + + False + True + 0 + + + + + True + False + label + + + False + True + 1 + + + + + False + True + 0 + + True @@ -77,48 +115,10 @@ 0 - - - True - False - 7 - 7 - 10 - - - True - False - /usr/share/pamac/icons/48x48/status/package-update.png - - - False - True - 0 - - - - - True - False - label - - - False - True - 1 - - - - - False - True - 1 - - 400 - 450 + 400 True False True @@ -167,17 +167,21 @@ 2 + + + True + False + label + + + False + True + 3 + + - - - - - - - - @@ -186,4 +190,12 @@ + + + + + + + + diff --git a/pamac/main.py b/pamac/main.py index f32bee4..0c754fd 100644 --- a/pamac/main.py +++ b/pamac/main.py @@ -51,7 +51,8 @@ ProgressCancelButton = interface.get_object('ProgressCancelButton') interface.add_from_file('/usr/share/pamac/gui/updater.glade') UpdaterWindow = interface.get_object("UpdaterWindow") update_listore = interface.get_object('update_list') -update_label = interface.get_object('update_label') +update_top_label = interface.get_object('update_top_label') +update_bottom_label = interface.get_object('update_bottom_label') def action_signal_handler(action): if action: @@ -79,9 +80,6 @@ bus.add_signal_receiver(icon_signal_handler, dbus_interface = "org.manjaro.pamac bus.add_signal_receiver(target_signal_handler, dbus_interface = "org.manjaro.pamac", signal_name = "EmitTarget") bus.add_signal_receiver(percent_signal_handler, dbus_interface = "org.manjaro.pamac", signal_name = "EmitPercent") -installed_column.set_sort_column_id(1) -name_column.set_sort_column_id(0) - installed_icon = Pixbuf.new_from_file('/usr/share/pamac/icons/22x22/status/package-installed.png') uninstalled_icon = Pixbuf.new_from_file('/usr/share/pamac/icons/22x22/status/package-available.png') to_install_icon = Pixbuf.new_from_file('/usr/share/pamac/icons/22x22/status/package-add.png') @@ -101,6 +99,7 @@ for state in states: state_list.append([state]) def get_groups(): + groups_list.clear() tmp_list = [] for repo in transaction.handle.get_syncdbs(): for name, pkgs in repo.grpcache: @@ -111,6 +110,7 @@ def get_groups(): groups_list.append([name]) def get_repos(): + repos_list.clear() for repo in transaction.handle.get_syncdbs(): repos_list.append([repo.name]) repos_list.append(['local']) @@ -276,33 +276,32 @@ def set_list_dict_repos(repo): def refresh_packages_list(): packages_list.clear() if not pkg_name_list: - packages_list.append(["No package found", False, False, False, search_icon]) + packages_list.append(["No package found", False, False, False, search_icon, '', 0]) else: for name in pkg_name_list: if name in config.holdpkg: - packages_list.append([name, True, False, True, locked_icon]) + packages_list.append([name, True, False, True, locked_icon, '', 0]) elif transaction_type is "install": - if pkg_installed_dict[name] is True: - packages_list.append([name, True, False, True, installed_icon]) + if transaction.localpkgs.__contains__(name): + packages_list.append([name, True, False, True, installed_icon, common.format_size(transaction.localpkgs[name].isize), transaction.localpkgs[name].isize]) elif name in transaction_dict.keys(): - packages_list.append([name, False, True, True, to_install_icon]) + packages_list.append([name, False, True, True, to_install_icon, common.format_size(transaction.syncpkgs[name].size), transaction.syncpkgs[name].size]) else: - packages_list.append([name, False, True, False, uninstalled_icon]) + packages_list.append([name, False, True, False, uninstalled_icon, common.format_size(transaction.syncpkgs[name].size), transaction.syncpkgs[name].size]) elif transaction_type is "remove": - if pkg_installed_dict[name] is False: - packages_list.append([name, False, False, False, uninstalled_icon]) + if not transaction.localpkgs.__contains__(name): + packages_list.append([name, False, False, False, uninstalled_icon, common.format_size(transaction.syncpkgs[name].size), transaction.syncpkgs[name].size]) elif name in transaction_dict.keys(): - packages_list.append([name, True, True, False, to_remove_icon]) + packages_list.append([name, True, True, False, to_remove_icon, common.format_size(transaction.localpkgs[name].isize), transaction.localpkgs[name].isize]) else: - packages_list.append([name, True, True, True, installed_icon]) - elif pkg_installed_dict[name] is True: - packages_list.append([name, True, True, True, installed_icon]) + packages_list.append([name, True, True, True, installed_icon, common.format_size(transaction.localpkgs[name].isize), transaction.localpkgs[name].isize]) + elif transaction.localpkgs.__contains__(name): + packages_list.append([name, True, True, True, installed_icon, common.format_size(transaction.localpkgs[name].isize), transaction.localpkgs[name].isize]) else: - packages_list.append([name, False, True, False, uninstalled_icon]) + packages_list.append([name, False, True, False, uninstalled_icon, common.format_size(transaction.syncpkgs[name].size), transaction.syncpkgs[name].size]) def set_packages_list(): if current_filter[0] == 'search': - print(current_filter[1]) set_list_dict_search(*current_filter[1]) if current_filter[0] == 'group': set_list_dict_group(current_filter[1]) @@ -412,8 +411,10 @@ def set_transaction_sum(): while i < len(transaction.to_update): transaction_sum.append([' ', transaction.to_update[i]]) i += 1 - sum_bottom_label.set_markup('') - #sum_bottom_label.set_markup('Total Download size: '+common.format_size(totaldlcb)) + dsize = 0 + for name in transaction.to_add: + dsize += transaction.syncpkgs[name].download_size + sum_bottom_label.set_markup('Total Download size: '+common.format_size(dsize)) sum_top_label.set_markup('Transaction Summary') def handle_error(error): @@ -493,16 +494,20 @@ def do_refresh(): def have_updates(): do_syncfirst, updates = transaction.get_updates() update_listore.clear() - update_label.set_justify(Gtk.Justification.CENTER) + update_top_label.set_justify(Gtk.Justification.CENTER) if not updates: - update_listore.append(["", ""]) - update_label.set_markup("No update available") + update_listore.append(['', '']) + update_bottom_label.set_markup('') + update_top_label.set_markup('No update available') return False else: + dsize = 0 for pkg in updates: pkgname = pkg.name+" "+pkg.version update_listore.append([pkgname, common.format_size(pkg.size)]) - update_label.set_markup("Available updates") + dsize += pkg.download_size + update_bottom_label.set_markup('Total Download size: '+common.format_size(dsize)) + update_top_label.set_markup('Available updates') return True def do_sysupgrade(): @@ -907,12 +912,6 @@ class Handler: current_filter = ('repo', repos_list[line][0]) set_packages_list() - def on_installed_column_clicked(self, widget): - installed_column.set_sort_column_id(1) - - def on_name_column_clicked(self, widget): - name_column.set_sort_column_id(0) - def on_cellrenderertoggle1_toggled(self, widget, line): global transaction_type global transaction_dict @@ -1013,7 +1012,8 @@ def main(_mode): if mode == 'manager': ManagerWindow.show_all() if mode == 'updater': - update_label.set_markup("Available updates") + update_top_label.set_markup('Available updates') + update_bottom_label.set_markup('') UpdaterWindow.show_all() while Gtk.events_pending(): Gtk.main_iteration() diff --git a/setup.py b/setup.py index 4e39b36..23efb49 100644 --- a/setup.py +++ b/setup.py @@ -3,11 +3,11 @@ from distutils.core import setup setup(name='Pamac', - version='0.3', + version='0.5', description='A gtk3 frontend for pyalpm', license='GPL', author='Guillaume Benoit', author_email='guillaume@manjaro.org', - url='https://git.manjaro.org/core/pamac', + url='http://git.manjaro.org/core/pamac', packages=['pamac'], )