0
|
1 Design
|
|
2 ======
|
|
3
|
|
4 Objects:
|
|
5 OUIApp(GtkApplication)
|
|
6 - Icon *icon
|
|
7 - Backend *backend
|
|
8 - GSettings *settings
|
|
9 * bind preferences to settings above
|
|
10 + check_frequency
|
|
11 + check_mobile_connection
|
|
12 + startup_timeout
|
|
13 + notify_package
|
|
14 + notify_patch_critical
|
|
15 + notify_patch_recommended
|
|
16 + notify_patch_optional
|
|
17 - PreferencesDialog *preferences_dialog
|
|
18
|
|
19 startup:
|
|
20 unique
|
|
21 one-shot timer
|
|
22 regular timer
|
|
23 hide
|
|
24 one-shot timer: check update
|
|
25 timer: 24 h check update
|
|
26 check update:
|
|
27 if battery critical:
|
|
28 set timer +1h
|
|
29 if not online:
|
|
30 set timer +1h
|
|
31 if on mobile and no allowed:
|
|
32 set timer +1h
|
|
33 run /usr/sbin/zypp-refresh-wrapper
|
|
34 run zypper --xmlout list-updates --type patch
|
|
35 run zypper --xmlout list-updates --type package
|
|
36 parse XML output
|
|
37 merge package and patch updates?
|
|
38 if updates:
|
|
39 select icon based on type of update
|
|
40 display icon and tooltip with number of updates
|
|
41 else:
|
|
42 hide
|
|
43 left click on icon:
|
|
44 start yast2 online_update
|
|
45 right click:
|
|
46 preferences
|
|
47 about
|
|
48 preferences:
|
|
49 interval (hourly/daily/weekly/never)
|
|
50 check on mobile internet
|
|
51
|
|
52
|
|
53 TODO:
|
|
54 parse xml
|
|
55 DBus check
|
|
56 check low power with upower
|
|
57 check connection with NetworkManager
|
|
58 unique application
|
|
59 see packagekit
|
|
60
|
|
61
|
|
62 Defer to later:
|
|
63 NM online and mobile check
|
|
64 UPower battery check
|