Port install/remove functions to new PK 0.8.x API
[appstream:software-center.git] / TODO
1
2 Buy something:
3 - centralize the Install/Remove/Buy/etc/ functionality as a gtk.Action
4   and wire it to 1) the menu, 2) applist button and 3) appdetails
5   button (tremolux)
6 - fetch the metadata as part of the update-software-center-agent-db
7 - do screenshot by constructing screenshot urls from update_sc_agent
8   via entry.screenshot_url by using the archive_id
9
10 Code:
11 - make the order of "cache, db, datadir" identical 
12   accross the various widgets (e.g. AppDetailsView
13   and AppStore use different ordering)
14
15 Webkit:
16 - xpm images can not be loaded
17 - only simple keyboard nagvigation in the widgets (tab, no
18   cursor keys)
19 - make the description -> html processing better, use
20   code from g-a-i for this
21
22 Missing functionality compared to g-a-i:
23 - displaying EULA
24 - enable of components (like universe)
25
26 UI:
27 - if a package is only available for a subset of the 
28   architectures, do the same as g-a-i and display that in 
29   the details UI (e.g. qlix not available on amd64)
30 - add warning if a package is removed that causes the removal
31   of a unreleated meta-package (that is not ubuntu-desktop)
32 - implement the removal dialog in the way the spec calls for
33   it (different ui design)
34 - implement warning when a package contains of multiple apps
35   and show the apps in this case
36 - CellRendererTextWithActivateArrow needs a mode for 
37   right-to-left languages and a button-pressed image
38 - refresh app list when a package gets installed (some 
39   packages may no longer be installed/not installed)
40
41 Database:
42 - to extend to full axi 
43   * change set_data() from appname to pkgname
44   * make database.get_xapian_document() work with empty appname
45
46 Missing:
47 - when the xapian db is rebuilding (e.g. because app-center is 
48   upgraded) wait for that (just like with the apt cache)
49 - pimping of apps (via tweaking the popcon values?)
50
51 Missing (hard):
52 - keep track of all pending transactions in the apt cache and when
53   a transaction finishes. 
54 - when a package is marked for install, block its (and the other 
55   pkgs that get installed) action button in the app details view.
56 - think more about all the possible cases with manipulating 
57   pkgs that are also in a queue of pending transactions and the
58   UI implications that have:
59   e.g.:
60   - A depends on B
61   - A is in the queue for install (but not installed now)
62   - B is installed now
63   - the user clicks on removal of B 
64   -> what should the UI say? 
65      "removal of B will result in the removal of A that will get "
66      "installed at some point in the future?"
67   -> what implications does cancel of transactions have? 
68      we need re-calculate the cache when a cancel happens
69   -> what about transactions that come from outside of 
70      software-store
71
72 Missing but not so important:
73 - searching for codecs (now done by gnome-codec-install)
74 - searching for mime-types (?)
75
76 - Provide terminal in transactions (?)
77
78
79