summaryrefslogtreecommitdiff
path: root/src/gtk
AgeCommit message (Collapse)AuthorFilesLines
2012-06-30Treat debtags always as strings; unify ept/non-ept interface to debtagsDaniel Hartwig1-13/+4
The behaviour of the non-ept interface has been updated and corrected, so that, for example, the debtags browser works correctly.
2012-06-20Do not do FixMissing automatically for command-line actionsDaniel Hartwig1-0/+1
When a package is not available or fails to download incorrectly aptitude would try to continue without it. This made it hard to detect errors automatically using the exit status. This behaviour is no longer the default, instead if there are missing packages an error will be displayed and the program exit with failure (100). If the user wishes to continue anyway, they can use --fix-missing or configure Aptitude::CmdLine::Fix-Missing in apt.conf. * [cmdline]: An install run will no longer proceed if any package was unavailable or failed to download correctly, instead an error will be shown and exit with non-zero status (100). (Closes: #121313, #302784) The old behaviour can be obtained with the new --fix-missing option or setting Aptitude::CmdLine::Fix-Missing. Closes: #121313 Closes: #302784
2012-06-08Add typedefs for vectors of package, version search resultsDaniel Hartwig1-3/+4
typedef vector<pair<PkgIterator,ref_ptr<structural_match> > > pkg_results_list; typedef vector<pair<VerIterator,ref_ptr<structural_match> > > ver_results_list;
2012-05-02Remove one more mention to 'su'Daniel Hartwig1-1/+1
2012-04-25Dont mention 'su' in 'Become root' (from Ubuntu: 11_ubuntu_uses_sudo)Daniel Hartwig1-1/+1
2012-02-24Refactor various apt-related comparison functors to apt.hDaniel Hartwig2-16/+4
The resulting functors: - pkg_name_lt - pkg_ptr_lt - ver_name_lt - ver_ptr_lt - dep_type_lt
2012-02-21Do not blindly call '/usr/games/gnomine' (GNOME mine sweeper game) from the ↵Manuel A. Fernandez Montecelo3-28/+0
menu in aptitude-gtk, and remove all references to this menu entry (Closes: #552522)
2012-01-31Handle enhances/obsoletes in more places.Daniel Hartwig1-0/+3
2011-07-23Fix an unused variable.Daniel Burrows1-2/+2
2011-07-23Hopefully fix the use of VTE in the GTK+ frontend.Daniel Burrows1-6/+26
I'm not sure that it's cleaned up correctly right now; need to double back and check this later on.
2011-04-02Nuke the scons build scripts.Daniel Burrows4-112/+0
These never worked out as well as I intended, and all indications were that they would be a maintenance burden...or just bitrot. Fully parallel builds are nice, but my builds are pretty quick on my 8-core box even with the artificial chokepoints that automake induces.
2010-08-26Improve the log messages from the GTK+ changelog code.Daniel Burrows1-1/+49
2010-07-03Move the search input controller and view classes over to generic/.Daniel_Burrows@alumni.brown.edu17-552/+24
As a side effect, this creates a "controllers" directory in the generic tree, and removes the now-empty GTK+-specific controller and view directories. The README files are moved over to the generic locations and tweaked to be correct for their new home.
2010-06-18Add a Makefile for src/gtk/views/mocks, so that I can distribute the .h file ↵Daniel Burrows2-0/+2
it contains. Without this I can't build the unit tests.
2010-06-18Include make_shared.hpp (why did this compile before?)Daniel Burrows1-0/+1
2010-06-18Use the new configure checks to support both the old and the new versions of ↵Daniel Burrows1-2/+3
libept.
2010-06-02Eliminate all uses of the global screen_width variable and use terminal ↵Daniel Burrows1-1/+2
objects instead. This doesn't totally convert the command-line code to using terminal objects for everything: I/O is still done by accessing stdout directly. But it does eliminate all dependencies on screen_width.
2010-05-28Transition from log4cxx to the new logging framework.Daniel Burrows2-5/+5
Hopefully this will eliminate some of the random crashes on exit that people were seeing.
2010-05-24Start using google-mock to test the search input controller logic.Daniel Burrows1-0/+70
I use google-mock to create a mock implementation of the view, then test that the logic interacts with it as expected. Right now, it doesn't. The ability to do this was part of why I wanted to separate the logic from the view. I haven't added google-mock to configure.ac yet; need to do that later.
2010-05-18Experimentally start refactoring code into view/controller pairs for more ↵Daniel Burrows17-2/+694
modularity. I'm particularly intrigued by the idea of using this to support partial testing of the GUI components. Even if that doesn't work, I think that explicitly separating the code that twiddles the GUI from the underlying program logic makes things a bit readable, although I am a bit worried about the proliferation of tiny little classes that this could lead to. The new scheme includes three new directories: gtk/views/ -- holds interfaces that provide abstracted access to parts of the GUI. gtk/view-impls/ -- holds implementations of interfaces from gtk/views/. gtk/controllers/ -- holds logic to drive views for various purposes. The first view/impl/controller set is a refactoring of the search-entry code. Another thing that concerns me: it's not clear that there are actually very many places in the existing code-base that can be cleanly refactored to fit this mold. The new search controller/view classes drop support for incremental searches. This is deliberate; I see two major problems with the existing code. First, it requires an extra button in the UI to enable or disable it. That bothers me; if incremental search is worthwhile, it should be enabled all the time, at least by default (IMO). Second, the existing code was really ugly, partly because of the way the code used to be designed (before searches ran in the background). It should be reimplemented from scratch anyway.
2010-05-18Clean up an overly chatty comment.Daniel Burrows1-2/+1
2010-05-17Add scaffolding to the tab_info structure to make it easy to create siblings ↵Daniel Burrows2-1/+51
of the current tab. I envision some tabs being created in multiple areas; their sub-tabs should be siblings. Having this code centralized avoids any need to store backlinks manually from other parts of the program. (I hope)
2010-05-17Expose the contents of an area as writable sets.Daniel Burrows1-2/+2
This was always the intention -- I just wrote the wrong type into the function signatures.
2010-05-17Add an object to store the standard areas of the program, and make it ↵Daniel Burrows7-24/+271
available along with the main window. This commit also adds a wrapper interface for the main window; the idea is to use it to provide information that's "scoped" to a single main window, but that may or may not be physically stored in it. The first piece of window-scoped information is the model that backs the window, providing a list of the areas in the window and the tabs in each area.
2010-05-17Fix the declaration of create_area_info() to match the type of its ↵Daniel Burrows1-1/+1
implementation. Now we can actually invoke it without getting errors back.
2010-05-14Change area.{cc,h} to model.{cc,h} in src/gtk/toplevel/Makefile.am.Daniel Burrows1-2/+2
2010-05-13Write a fully functional alternate initialization path.Daniel Burrows11-3/+1145
This will be the foundation for the new top-level harness code. Eventually the old code will go away, but I don't want to disrupt it while I'm working on the new stuff. To activate the new code, pass --new-gui on the command-line.
2010-05-12Move the model code from namespace gui to namespace gui::toplevel.Daniel Burrows2-569/+575
2010-05-12Add a skeletal main-window class that bases its content off a toplevel view ↵Daniel Burrows4-0/+119
implementation. The idea is to eventually transfer all the AptiutdeWindow code over here, or possibly refactor it to be better organized.
2010-05-12Ensure that tabs are removed from their areas when they're closed.Daniel Burrows1-1/+21
2010-05-12Make the interface members of tab_info public (oops).Daniel Burrows1-0/+1
2010-05-12Rename area.{cc,h} to model.{cc,h}.Daniel Burrows5-7/+18
2010-05-11Add an interface that abstracts over a view displaying exactly one tab at a ↵Daniel Burrows5-13/+117
time. This will be needed by the main window, so it can update menu items appropriately and so on.
2010-05-11Remove an unnecessary boost:: prefix.Daniel Burrows1-1/+1
2010-05-11Weaken the #includes in area.h, since it only needs slots.Daniel Burrows1-1/+1
2010-05-11Add an initial implementation of a view for a tab set.Daniel Burrows4-9/+301
The idea here is to (eventually) replicate the behavior of the current TabManager, and to support a "classic" set of flat tabs, along with some more experimental UI designs. Currently missing some (relatively) easy features like changing tab titles, tab tooltips, etc.
2010-05-11Move connect_closed to the tab_info interface, to indicate that only ↵Daniel Burrows1-13/+12
infrastructural code should connect to this.
2010-05-11Overhaul once again how tabs are closed.Daniel Burrows2-7/+32
Now you can tell by inspection whether a tab has been destroyed, and the destruction is triggered when it's removed from a set rather than when the closed signal is emitted.
2010-05-11Add a shared_ptr<tab_info> parameter to signals that entities other than the ↵Daniel Burrows2-18/+35
tab probably want to catch. Without this, they would probably end up building weak_ptrs and binding those into the signal connection; this is a bit cleaner.
2010-05-10Document the routine that creates a tab_info structure.Daniel Burrows1-0/+6
2010-05-10Clarify how tabs are to be closed, and fix up the signals to match the ↵Daniel Burrows2-3/+36
documentation.
2010-05-10Add a warning about the potential for reference loops to area.h.Daniel Burrows1-0/+4
2010-05-10Overhaul the area code to prepare for actually using it.Daniel Burrows2-58/+187
Three changes here. The smaller one is that it now uses dynamic_set objects instead of dynamic_list objects to store tabs and notifications. The medium one: explicit signal objects have been replaced with interface methods for connecting and/or invoking the signal; most interfaces hide one or the other of these functions. The large one: tab_info has been redesigned and split into two "role" interfaces: one showing what the view displaying the tabs should need, and the other showing what the tab itself needs (to update its icon, progress, etc). This makes it much clearer what the intended relationships among the various components of this subsystem are, and makes it clear in a way that the compiler can enforce. Sadly, this means I need to use multiple inheritance. (note: it would be less tricky if I didn't use sigc::trackable -- maybe avoiding that is a good idea?)
2010-05-01Base the dynamic_list implementation off std::vector, not multi_index.Daniel Burrows1-2/+0
The performance guarantees no longer let this be scalable, and it's only going to be used for short lists anyway, so scalability isn't that important.
2010-05-01Add a widget template for the coming alternative top-level view.Daniel Burrows1-3/+43
2010-04-29Tidy up the area code and factor out generic stuff into generic/util.Daniel Burrows2-311/+57
Several changes rolled into this: * Provide an interface for an append-only list that can emit signals when stuff is appended or removed. (TODO: index-based operations?) * Pull out code with no GTK+ dependencies for possible reuse. Includes the dynamic_list and dynamic_list_impl (above), as well as progress_info and enumerators.
2010-04-29Add some stub files sketching out the classes that I want to exist.Daniel Burrows4-1/+94
2010-04-29Create a new directory under "gtk" to hold the toplevel UI code.Daniel Burrows7-6/+32
2010-04-25Explicitly distribute the build files in SCons*.Daniel Burrows2-0/+7
This seems to be the least worst option I can see. Since my Dist() builder is outside scons and scons doesn't seem to offer any hooks or listeners, I can't (safely) cause build files to always be added to the distribution list. And anyway, I'm not sure I want to. Better to make the distribution fully explicit.
2010-04-25Start adding support for a 'dist' rule that builds a distributed archive.Daniel Burrows1-0/+4
Before this can work, I need to add all the SConscript files to the archive explicitly, which is yucky.