Age | Commit message (Collapse) | Author | Files | Lines |
|
I just know someone will complain if I don't. Besides, it makes sense:
the columnizers need to conserve horizontal space, so dropping
whitespace is worthwhile.
|
|
This required adding a parameter to determine whether to drop the "now"
archive (which those pieces of code previously did). This does mean
that an extra " " gets added between archive names.
|
|
the GUI and running dpkg in a terminal.
This should probably have been split into a lot of smaller commits, but
it's too late now.
The GUI now runs downloads in a background thread, just like the curses
interface. In fact, it is *just* like the curses interface: the code of
ui_download_manager and download_thread has been parameterized so that it
can be used from either the curses frontend or the GUI frontend. These
files should eventually migrate to the generic directory. Some of the
parameterization left ugly stuff behind, like refcounted_progress and the
wacky redesign of the curses progress class (which took place solely so
that it could be unified with the GTK+ one). It may be worth taking some
time to clean this code up.
In addition, the code for download_install_manager has been refactored
again. Instead of exposing the different parts of "finish", which would
eliminate any hope of having a unified ui_download_manager harness, the
"finish" method (for all download managers) is now explicitly continuation
based, and the install manager uses this feature to break up the download.
The function that runs dpkg in a terminal now takes a continuation to be
invoked in the main thread, so it can fork dpkg in a subprocess, and then
call the continuation when the subprocess terminates. This means we don't
need to mess around with threads at all in the dpkg-terminal-creation
process, a huge relief. It also fits in with the generally continuation-y
feel of a lot of the aptitude code, and everyone loves continuations in
their GUI programs anyway!
Note: in this commit, I've adopted a policy of always returning right
after I invoke the continuation, to make it clear in the code what's
going on and to minimize the chances of a future edit screwing this up.
(if I really wanted to get serious about that, of course, I would write
an INVOKE_CONTINUATION macro...)
A few other minor things were touched up here: for instance, the program
no longer enters an infinite loop after running dpkg, and more download
events are logged. There's still more work to do around the edges:
changelog downloading from the GUI is broken, and the download status
tab is all messed up. Also, I'd like to support the status pipe from
dpkg (but I think that's a post-0.5 thing).
|
|
packages with a "%t" (archive) column.
|
|
There's an exception for dependency trees: the number next to, e.g.,
Depends displays the number of dependencies the package has rather
than the number of satisfying versions. However, each dependency's
count is the number of satisfying versions.
The implementation is a bit gross, but (a) I don't think it can be made
better without cwidget changes, and (b) to an extent, that's just a
reflection of the fact that it's a non-generic implementation; a generic
implementation is arguably *bad*, because for better UI we need
distinctions like the one above.
|
|
|
|
boilerplate and annotations to pkg_ver_item.
|
|
|
|
includes.
|
|
load_grouppolicy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
search-and-replace I was having to do. (namespace aliases and cleanup are still needed)
|
|
This tree version is still BROKEN. This commit changes a bunch of code mechanically,
and completely fixes all the subdirectories and files through download_screen in
the top-level directory.
Some unfortunate namespace choices in cwidget showed up here. widgets and config
should probably be merged into the cwidget namespace, and I've created namespace
aliases that pretend this happened as I go through the .cc files. Luckily, that
change can largely be accounted for automatically.
|
|
routines, so that matchers work from inside the cache while it's being initialized (e.g., in the garbage detection routine) instead of crashing.
|
|
The patch has been autoconfubscated, so it'll build with today's apt as well
as with any future version that provides trigger states.
|
|
tree item is highlighted.
The original design required less memory, but it turns out that
the common patterns of operation that I ended up using are much
easier to implement using signals. In particular, some design
work I've been doing to overhaul the configuration UI will be a
LOT easier to implement with this change.
|
|
Made setup_column public, and added a public static override that does
the setup directly, without a need to construct a column formatter.
I think it would be interesting to see whether the package and version
columnizers can be merged to a greater degree than they are currently;
much of the version columnization just replaces visible_ver with ver.
|
|
looking up the description.]
|
|
platforms. (Closes: #337536)]
|
|
|
|
assignment of styles to package items.]
|
|
|