diff design.txt @ 0:f5e03fc667f8

initial commit
author Pavol Rusnak <stick@gk2.sk>
date Mon, 26 Sep 2011 18:52:04 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/design.txt	Mon Sep 26 18:52:04 2011 +0200
@@ -0,0 +1,64 @@
+Design
+======
+
+Objects:
+OUIApp(GtkApplication)
+    - Icon *icon
+    - Backend *backend
+    - GSettings *settings
+        * bind preferences to settings above
+        + check_frequency
+        + check_mobile_connection
+        + startup_timeout
+        + notify_package
+        + notify_patch_critical
+        + notify_patch_recommended
+        + notify_patch_optional
+    - PreferencesDialog *preferences_dialog
+
+startup:
+    unique
+    one-shot timer
+    regular timer
+    hide
+one-shot timer: check update
+timer: 24 h check update
+check update:
+    if battery critical:
+        set timer +1h
+    if not online:
+        set timer +1h
+    if on mobile and no allowed:
+        set timer +1h
+    run /usr/sbin/zypp-refresh-wrapper
+    run zypper --xmlout list-updates --type patch
+    run zypper --xmlout list-updates --type package
+    parse XML output
+    merge package and patch updates?
+    if updates:
+        select icon based on type of update
+        display icon and tooltip with number of updates
+    else:
+        hide
+left click on icon:
+    start yast2 online_update
+right click:
+    preferences
+    about
+preferences:
+    interval (hourly/daily/weekly/never)
+    check on mobile internet
+
+
+TODO:
+parse xml
+DBus check
+check low power with upower
+check connection with NetworkManager
+unique application
+see packagekit
+
+
+Defer to later:
+NM online and mobile check
+UPower battery check