[Aptitude-svn-commit] r4218 - in branches/aptitude-0.3/aptitude: .
src
Daniel Burrows
dburrows at costa.debian.org
Sat Sep 24 04:53:47 UTC 2005
Author: dburrows
Date: Sat Sep 24 04:53:44 2005
New Revision: 4218
Modified:
branches/aptitude-0.3/aptitude/ChangeLog
branches/aptitude-0.3/aptitude/src/ui.cc
branches/aptitude-0.3/aptitude/src/ui.h
Log:
Connect the undo menu command via signals instead of directly.
Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog (original)
+++ branches/aptitude-0.3/aptitude/ChangeLog Sat Sep 24 04:53:44 2005
@@ -1,5 +1,10 @@
2005-09-23 Daniel Burrows <dburrows at debian.org>
+ * src/ui.cc, src/ui.h:
+
+ Connect undo() through a signal instead of directly. For now
+ do_undo() is still used, though.
+
* src/generic/resolver_manager.cc:
Always signal state_changed() after an undo.
Modified: branches/aptitude-0.3/aptitude/src/ui.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/ui.cc (original)
+++ branches/aptitude-0.3/aptitude/src/ui.cc Sat Sep 24 04:53:44 2005
@@ -132,6 +132,10 @@
vs_widget_ref active_status_download;
sigc::signal0<void> file_quit;
+
+sigc::signal0<bool, accumulate_or> undo_undo;
+sigc::signal0<bool, accumulate_or> undo_undo_enabled;
+
sigc::signal0<void> package_states_changed;
sigc::signal0<bool, accumulate_or> package_menu_enabled;
@@ -1432,10 +1436,11 @@
return apt_undos->size()>0;
}
-static void do_undo()
+static bool do_undo()
{
apt_undos->undo();
package_states_changed();
+ return true;
}
#ifdef WITH_RELOAD_CACHE
@@ -1767,7 +1772,8 @@
vs_menu_info undo_menu[]={
vs_menu_info(vs_menu_info::VS_MENU_ITEM, N_("Undo"), "Undo",
N_("Undo the last package operation or group of operations"),
- sigc::ptr_fun(do_undo), sigc::ptr_fun(undo_enabled)),
+ sigc::hide_return(undo_undo.make_slot()),
+ undo_undo_enabled.make_slot()),
VS_MENU_END
};
@@ -2065,6 +2071,10 @@
// display.
package_states_changed.connect(sigc::ptr_fun(vscreen_update));
+ // Temporary until I get everything working properly.
+ undo_undo.connect(sigc::ptr_fun(&do_undo));
+ undo_undo_enabled.connect(sigc::ptr_fun(&undo_enabled));
+
consume_errors.connect(sigc::ptr_fun(check_apt_errors));
if(aptcfg->Exists(PACKAGE "::Theme"))
@@ -2129,7 +2139,7 @@
sigc::ptr_fun(do_help_help));
main_stacked->connect_key_post("Undo",
&global_bindings,
- sigc::ptr_fun(do_undo));
+ sigc::hide_return(undo_undo.make_slot()));
main_stacked->connect_key_post("NextSolution",
&global_bindings,
sigc::ptr_fun(do_next_solution));
Modified: branches/aptitude-0.3/aptitude/src/ui.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/ui.h (original)
+++ branches/aptitude-0.3/aptitude/src/ui.h Sat Sep 24 04:53:44 2005
@@ -51,6 +51,12 @@
*/
extern sigc::signal0<void> package_states_changed;
+/** Tests whether Undo -> Undo is enabled. */
+extern sigc::signal0<bool, accumulate_or> undo_undo_enabled;
+
+/** Emitted for Undo -> Undo. */
+extern sigc::signal0<bool, accumulate_or> undo_undo;
+
/** Used to determine whether a target is available for the "package actions".
*/
extern sigc::signal0<bool, accumulate_or> package_menu_enabled;
More information about the Aptitude-svn-commit
mailing list