Daniel Brötzmann pushed to branch master at gajim / gajim


Commits:
37c3cb3a by wurstsalat at 2022-12-12T18:24:13+01:00
imprv: AppPage: Show date for last update check

- - - - -


1 changed file:

- gajim/gtk/app_page.py


Changes:

=====================================
gajim/gtk/app_page.py
=====================================
@@ -14,20 +14,24 @@
 
 from __future__ import annotations
 
+from typing import Any
 from typing import Optional
 from typing import cast
 
+from datetime import datetime
+
 from gi.repository import GObject
 from gi.repository import Gtk
 
 from gajim.common import app
+from gajim.common.helpers import from_one_line
 from gajim.common.helpers import open_uri
 from gajim.common.i18n import _
 from gajim.plugins.pluginmanager import PluginManifest
 
+from .builder import get_builder
 from .status_message_selector import StatusMessageSelector
 from .status_selector import StatusSelector
-from .builder import get_builder
 
 
 class AppPage(Gtk.Box):
@@ -99,10 +103,12 @@ def __init__(self) -> None:
         self.set_size_request(400, -1)
         self.get_style_context().add_class('app-message-listbox')
 
-        placeholder = Gtk.Label(label=_('No updates available'))
-        placeholder.get_style_context().add_class('dim-label')
-        placeholder.show()
-        self.set_placeholder(placeholder)
+        self._placeholder = Gtk.Label(label=self._get_update_text())
+        self._placeholder.get_style_context().add_class('dim-label')
+        self._placeholder.show()
+        self.set_placeholder(self._placeholder)
+
+        app.settings.connect_signal('last_update_check', self._on_update_check)
 
         self.show_all()
 
@@ -121,6 +127,23 @@ def remove_app_message(self, row: Gtk.ListBoxRow) -> None:
         app_page = cast(AppPage, self.get_parent())
         app_page.remove_app_message()
 
+    def _on_update_check(self, *args: Any) -> None:
+        self._placeholder.set_text(self._get_update_text())
+
+    @staticmethod
+    def _get_update_text() -> str:
+        if not app.settings.get('check_for_update'):
+            return _('Update check disabled in preferences')
+
+        last_check = app.settings.get('last_update_check')
+        if not last_check:
+            return _('No updates available (last check: never)')
+
+        date = datetime.strptime(last_check, '%Y-%m-%d %H:%M')
+        format_string = from_one_line(app.settings.get('date_format'))
+        return _('No updates available (last check: %s)') % date.strftime(
+            format_string)
+
 
 class AppMessageRow(Gtk.ListBoxRow):
     def __init__(self,



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/37c3cb3a7c724b21936ae11a7652e5d76111a98a

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/37c3cb3a7c724b21936ae11a7652e5d76111a98a
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to