Verified Kaydet (Commit) 558b3fcb authored tarafından Erdem Ersoy's avatar Erdem Ersoy

Rewrite "Update All" menu item function

üst 507ae485
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-13 16:20+0300\n"
"POT-Creation-Date: 2020-04-13 17:45+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -54,7 +54,7 @@ msgstr ""
#: pardusflatpakgui/installfromfilewindow.py:48
#: pardusflatpakgui/installwindow.py:77 pardusflatpakgui/mainwindow.py:53
#: pardusflatpakgui/uninstallwindow.py:69
#: pardusflatpakgui/updateallwindow.py:57
#: pardusflatpakgui/updateallwindow.py:69
msgid "Error reading GUI file: "
msgstr ""
......@@ -81,6 +81,7 @@ msgstr ""
#: pardusflatpakgui/installfromentrywindow_2.py:122
#: pardusflatpakgui/installfromfilewindow_2.py:125
#: pardusflatpakgui/installwindow.py:127
#: pardusflatpakgui/updateallwindow.py:119
msgid "Installing completed!"
msgstr ""
......@@ -359,22 +360,22 @@ msgstr ""
msgid "Not uninstalled: "
msgstr ""
#: pardusflatpakgui/updateallwindow.py:62
#: pardusflatpakgui/updateallwindow.py:74
msgid "Updating All"
msgstr ""
#: pardusflatpakgui/updateallwindow.py:75
#: pardusflatpakgui/updateallwindow.py:87
msgid "Updating..."
msgstr ""
#: pardusflatpakgui/updateallwindow.py:104
msgid "Not updated: "
#: pardusflatpakgui/updateallwindow.py:110
msgid "Error at updating!"
msgstr ""
#: pardusflatpakgui/updateallwindow.py:113
msgid "Updated: "
#: pardusflatpakgui/updateallwindow.py:181
msgid "Updating: "
msgstr ""
#: pardusflatpakgui/updateallwindow.py:123
msgid "Updating completed!"
#: pardusflatpakgui/updateallwindow.py:203
msgid "Not updated: "
msgstr ""
......@@ -37,17 +37,29 @@ gettext.install("pardus-flatpak-gui", "po/")
class UpdateAllWindow(object):
def __init__(self, application, flatpakinstallation, liststore):
self.Application = application
self.FlatpakInstallation = flatpakinstallation
self.ListStoreMain = liststore
self.FlatpakRefsList = self.FlatpakInstallation.list_installed_refs()
self.FlatHubRefsList = self.FlatpakInstallation.list_remote_refs_sync(
"flathub", Gio.Cancellable.new())
for item in self.FlatpakRefsList:
for item2 in self.FlatHubRefsList:
if item.get_name() == item2.get_name():
self.FlatHubRefsList.remove(item2)
self.FlatpakRefsList = self.FlatpakRefsList + self.FlatHubRefsList
self.FlatpakInstallation = flatpakinstallation
self.RefsToUpdate = flatpakinstallation.list_installed_refs_for_update(Gio.Cancellable.new())
self.FlatpakTransaction = \
Flatpak.Transaction.new_for_installation(
self.FlatpakInstallation,
Gio.Cancellable.new())
self.FlatpakTransaction.set_default_arch(Flatpak.get_default_arch())
self.FlatpakTransaction.set_disable_dependencies(False)
self.FlatpakTransaction.set_disable_prune(False)
self.FlatpakTransaction.set_disable_related(False)
self.FlatpakTransaction.set_disable_static_deltas(False)
self.FlatpakTransaction.set_no_deploy(False)
self.FlatpakTransaction.set_no_pull(False)
for ref_to_update in self.RefsToUpdate:
self.FlatpakTransaction.add_update(
ref_to_update,
None,
None)
self.ListStoreMain = liststore
try:
UpdateAllGUIFile = "ui/actionwindow.glade"
......@@ -83,51 +95,40 @@ class UpdateAllWindow(object):
GLib.threads_init()
def UpdateAll(self):
for listitem in self.FlatpakRefsList:
if listitem not in self.FlatHubRefsList:
try:
self.ListItem = listitem
self.FlatpakInstallation.update(
Flatpak.UpdateFlags.NONE,
listitem.get_kind(),
listitem.get_name(),
listitem.get_arch(),
listitem.get_branch(),
self.UpdateAllProgressCallback(
"",
self.ProgressBarValue,
False,
listitem),
None,
Gio.Cancellable.new())
except GLib.Error:
statustext = _("Not updated: ") + listitem.get_name()
self.StatusText = self.StatusText + "\n" + statustext
GLib.idle_add(self.UpdateAllLabel.set_text,
statustext,
priority=GLib.PRIORITY_DEFAULT)
GLib.idle_add(self.UpdateAllTextBuffer.set_text,
self.StatusText,
priority=GLib.PRIORITY_DEFAULT)
else:
statustext = _("Updated: ") + listitem.get_name()
self.StatusText = self.StatusText + "\n" + statustext
GLib.idle_add(self.UpdateAllLabel.set_text,
statustext,
priority=GLib.PRIORITY_DEFAULT)
GLib.idle_add(self.UpdateAllTextBuffer.set_text,
self.StatusText,
priority=GLib.PRIORITY_DEFAULT)
time.sleep(0.5)
statustext = _("Updating completed!")
self.StatusText = self.StatusText + "\n" + statustext
GLib.idle_add(self.UpdateAllLabel.set_text,
statustext,
priority=GLib.PRIORITY_DEFAULT)
GLib.idle_add(self.UpdateAllTextBuffer.set_text,
self.StatusText,
priority=GLib.PRIORITY_DEFAULT)
self.handler_id = self.FlatpakTransaction.connect(
"new-operation",
self.UpdateAllProgressCallback)
self.handler_id_2 = self.FlatpakTransaction.connect(
"operation-done",
self.UpdateAllProgressCallbackDisconnect)
self.handler_id_error = self.FlatpakTransaction.connect(
"operation-error",
self.UpdateAllProgressCallbackError)
try:
self.FlatpakTransaction.run(Gio.Cancellable.new())
except GLib.Error:
statustext = _("Error at updating!")
self.StatusText = self.StatusText + "\n" + statustext
GLib.idle_add(self.UpdateAllLabel.set_text,
statustext,
priority=GLib.PRIORITY_DEFAULT)
GLib.idle_add(self.UpdateAllTextBuffer.set_text,
self.StatusText,
priority=GLib.PRIORITY_DEFAULT)
else:
statustext = _("Installing completed!")
self.StatusText = self.StatusText + "\n" + statustext
GLib.idle_add(self.UpdateAllLabel.set_text,
statustext,
priority=GLib.PRIORITY_DEFAULT)
GLib.idle_add(self.UpdateAllTextBuffer.set_text,
self.StatusText,
priority=GLib.PRIORITY_DEFAULT)
self.FlatpakTransaction.disconnect(self.handler_id)
self.FlatpakTransaction.disconnect(self.handler_id_2)
self.FlatpakTransaction.disconnect(self.handler_id_error)
time.sleep(0.5)
GLib.idle_add(self.ListStoreMain.clear,
data=None,
priority=GLib.PRIORITY_DEFAULT)
......@@ -136,7 +137,7 @@ class UpdateAllWindow(object):
self.FlatpakInstallation.list_installed_refs()
flathubrefslist = \
self.FlatpakInstallation.list_remote_refs_sync(
"flathub", Gio.Cancellable.new())
"flathub", Gio.Cancellable.new())
for item in flatpakrefslist:
for item2 in flathubrefslist:
......@@ -146,7 +147,7 @@ class UpdateAllWindow(object):
for listitem in flatpakrefslist:
if listitem.get_kind() == Flatpak.RefKind.APP and \
listitem.get_arch() == Flatpak.get_default_arch():
listitem.get_arch() == Flatpak.get_default_arch():
if listitem in flathubrefslist:
RemoteName = "flathub"
DownloadSize = listitem.get_download_size()
......@@ -164,20 +165,56 @@ class UpdateAllWindow(object):
f"{InstalledSizeMiB:.2f}" + " MiB"
self.ListStoreMain.append([listitem.get_name(),
listitem.get_arch(),
listitem.get_branch(),
RemoteName,
InstalledSizeMiBAsString,
DownloadSizeMiBAsString,
Name])
listitem.get_arch(),
listitem.get_branch(),
RemoteName,
InstalledSizeMiBAsString,
DownloadSizeMiBAsString,
Name])
else:
continue
def UpdateAllProgressCallback(self, *args, **kwargs):
self.ProgressBarValue = self.ProgressBarValue + \
100 / len(self.FlatpakInstallation.list_installed_refs())
self.UpdateAllProgressBar.set_fraction(
float(self.ProgressBarValue) / 100.0)
def UpdateAllProgressCallback(self, *args):
self.RefToUpdate = Flatpak.Ref.parse(args[1].get_ref())
self.RefToUpdateRealName = self.RefToUpdate.get_name()
statustext = _("Updating: ") + self.RefToUpdateRealName
self.StatusText = self.StatusText + "\n" + statustext
GLib.idle_add(self.UpdateAllLabel.set_text,
statustext,
priority=GLib.PRIORITY_DEFAULT)
GLib.idle_add(self.UpdateAllTextBuffer.set_text,
self.StatusText,
priority=GLib.PRIORITY_DEFAULT)
self.TransactionProgress = args[2]
self.TransactionProgress.set_update_frequency(200)
self.handler_id_progress = self.TransactionProgress.connect(
"changed",
self.ProgressBarUpdate)
def UpdateAllProgressCallbackDisconnect(self, *args):
self.TransactionProgress.disconnect(self.handler_id_progress)
def UpdateAllProgressCallbackError(self, *args):
self.RefToUpdate = Flatpak.Ref.parse(args[1].get_ref())
self.RefToUpdateRealName = self.RefToUpdate.get_name()
statustext = _("Not updated: ") + self.RefToUpdateRealName
self.StatusText = self.StatusText + "\n" + statustext
GLib.idle_add(self.UpdateAllLabel.set_text,
statustext,
priority=GLib.PRIORITY_DEFAULT)
GLib.idle_add(self.UpdateAllTextBuffer.set_text,
self.StatusText,
priority=GLib.PRIORITY_DEFAULT)
return True
def ProgressBarUpdate(self, transaction_progress):
GLib.idle_add(self.UpdateAllProgressBar.set_fraction,
float(transaction_progress.get_progress()) / 100.0,
priority=GLib.PRIORITY_DEFAULT)
def onDestroy(self, *args):
self.UpdateAllWindow.destroy()
......@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Flatpak GUI 1.0-rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-13 16:20+0300\n"
"PO-Revision-Date: 2020-04-13 16:20+0300\n"
"POT-Creation-Date: 2020-04-13 17:45+0300\n"
"PO-Revision-Date: 2020-04-13 17:46+0300\n"
"Last-Translator: Erdem Ersoy <<erdem.ersoy@pardus.org.tr>>\n"
"Language-Team: Erdem Ersoy <erdem.ersoy@pardus.org.tr>\n"
"Language: en\n"
......@@ -56,7 +56,7 @@ msgstr "There are too many arguments. Argument count: "
#: pardusflatpakgui/installfromfilewindow.py:48
#: pardusflatpakgui/installwindow.py:77 pardusflatpakgui/mainwindow.py:53
#: pardusflatpakgui/uninstallwindow.py:69
#: pardusflatpakgui/updateallwindow.py:57
#: pardusflatpakgui/updateallwindow.py:69
msgid "Error reading GUI file: "
msgstr "Error reading GUI file: "
......@@ -83,6 +83,7 @@ msgstr "Error at installation!"
#: pardusflatpakgui/installfromentrywindow_2.py:122
#: pardusflatpakgui/installfromfilewindow_2.py:125
#: pardusflatpakgui/installwindow.py:127
#: pardusflatpakgui/updateallwindow.py:119
msgid "Installing completed!"
msgstr "Installing completed!"
......@@ -366,25 +367,31 @@ msgstr "Uninstalling: "
msgid "Not uninstalled: "
msgstr "Not uninstalled: "
#: pardusflatpakgui/updateallwindow.py:62
#: pardusflatpakgui/updateallwindow.py:74
msgid "Updating All"
msgstr "Updating All"
#: pardusflatpakgui/updateallwindow.py:75
#: pardusflatpakgui/updateallwindow.py:87
msgid "Updating..."
msgstr "Updating..."
#: pardusflatpakgui/updateallwindow.py:104
#: pardusflatpakgui/updateallwindow.py:110
msgid "Error at updating!"
msgstr "Error at updating!"
#: pardusflatpakgui/updateallwindow.py:181
msgid "Updating: "
msgstr "Updating: "
#: pardusflatpakgui/updateallwindow.py:203
msgid "Not updated: "
msgstr "Not updated: "
#: pardusflatpakgui/updateallwindow.py:113
msgid "Updated: "
msgstr "Updated: "
#~ msgid "Updated: "
#~ msgstr "Updated: "
#: pardusflatpakgui/updateallwindow.py:123
msgid "Updating completed!"
msgstr "Updating completed!"
#~ msgid "Updating completed!"
#~ msgstr "Updating completed!"
#~ msgid "Uninstalling "
#~ msgstr "Uninstalling "
......
......@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-13 16:20+0300\n"
"PO-Revision-Date: 2020-04-13 16:21+0300\n"
"POT-Creation-Date: 2020-04-13 17:45+0300\n"
"PO-Revision-Date: 2020-04-13 17:47+0300\n"
"Last-Translator: Erdem Ersoy <<erdem.ersoy@pardus.org.tr>>\n"
"Language-Team: \n"
"Language: tr\n"
......@@ -55,7 +55,7 @@ msgstr "Çok fazla argüman var. Argüman sayısı: "
#: pardusflatpakgui/installfromfilewindow.py:48
#: pardusflatpakgui/installwindow.py:77 pardusflatpakgui/mainwindow.py:53
#: pardusflatpakgui/uninstallwindow.py:69
#: pardusflatpakgui/updateallwindow.py:57
#: pardusflatpakgui/updateallwindow.py:69
msgid "Error reading GUI file: "
msgstr "GUI dosyasını okumada hata: "
......@@ -82,6 +82,7 @@ msgstr "Kurulumda hata!"
#: pardusflatpakgui/installfromentrywindow_2.py:122
#: pardusflatpakgui/installfromfilewindow_2.py:125
#: pardusflatpakgui/installwindow.py:127
#: pardusflatpakgui/updateallwindow.py:119
msgid "Installing completed!"
msgstr "Kurulum tamamlandı!"
......@@ -364,25 +365,32 @@ msgstr "Kaldırılıyor: "
msgid "Not uninstalled: "
msgstr "Kaldırılmadı: "
#: pardusflatpakgui/updateallwindow.py:62
#: pardusflatpakgui/updateallwindow.py:74
msgid "Updating All"
msgstr "Tümünü Güncelleme"
#: pardusflatpakgui/updateallwindow.py:75
#: pardusflatpakgui/updateallwindow.py:87
msgid "Updating..."
msgstr "Güncelleniyor..."
#: pardusflatpakgui/updateallwindow.py:104
#: pardusflatpakgui/updateallwindow.py:110
msgid "Error at updating!"
msgstr "Güncellemede hata!"
#: pardusflatpakgui/updateallwindow.py:181
#, fuzzy
msgid "Updating: "
msgstr "Tümünü Güncelleme"
#: pardusflatpakgui/updateallwindow.py:203
msgid "Not updated: "
msgstr "Güncellenmedi: "
#: pardusflatpakgui/updateallwindow.py:113
msgid "Updated: "
msgstr "Güncellendi: "
#~ msgid "Updated: "
#~ msgstr "Güncellendi: "
#: pardusflatpakgui/updateallwindow.py:123
msgid "Updating completed!"
msgstr "Güncellenme tamamlandı!"
#~ msgid "Updating completed!"
#~ msgstr "Güncellenme tamamlandı!"
#~ msgid "Uninstalling "
#~ msgstr "Kaldırılıyor: "
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment