[Aptitude-devel] r3155 - in branches/aptitude-0.3/aptitude: . src

Daniel Burrows dburrows@costa.debian.org
Wed, 27 Apr 2005 16:59:51 +0000


Author: dburrows
Date: Wed Apr 27 16:59:48 2005
New Revision: 3155

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/src/apt_info_tree.cc
   branches/aptitude-0.3/aptitude/src/apt_info_tree.h
   branches/aptitude-0.3/aptitude/src/ui.cc
Log:
Fix the issuing of signals when info screens are created.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Wed Apr 27 16:59:48 2005
@@ -1,5 +1,11 @@
 2005-04-27  Daniel Burrows  <dburrows@debian.org>
 
+	* src/apt_info_tree.cc, src/apt_info_tree.h, src/ui.cc:
+
+	  Apply a similar treatment to the various apt_info_trees: create
+	  a method that explicitly re-issues the various signals, and tell
+	  the user to invoke it after connecting said signals.
+
 	* src/pkg_tree.cc, src/pkg_tree.h, src/ui.cc:
 
 	  Don't implicitly build a pkg_tree when it's created.  Instead,

Modified: branches/aptitude-0.3/aptitude/src/apt_info_tree.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/apt_info_tree.cc	(original)
+++ branches/aptitude-0.3/aptitude/src/apt_info_tree.cc	Wed Apr 27 16:59:48 2005
@@ -47,3 +47,8 @@
 
   reset_incsearch();
 }
+
+void apt_info_tree::repeat_signal()
+{
+  get_selected()->highlighted(this);
+}

Modified: branches/aptitude-0.3/aptitude/src/apt_info_tree.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/apt_info_tree.h	(original)
+++ branches/aptitude-0.3/aptitude/src/apt_info_tree.h	Wed Apr 27 16:59:48 2005
@@ -39,6 +39,11 @@
   sigc::signal1<void, std::string> *get_desc_sig() {return &desc_sig;}
 
   apt_info_tree(std::string _package, std::string _version);
+
+  /** Repeats the 'highlighted' signal of the currently selected item.
+   *  Call this after connecting the two signals above.
+   */
+  void repeat_signal();
 };
 
 #endif

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	Wed Apr 27 16:59:48 2005
@@ -596,7 +596,9 @@
 				 const pkgCache::VerIterator &ver)
 {
   pkg_info_screen *w=new pkg_info_screen(pkg, ver);
-  return make_default_view(w, w->get_sig(), w->get_desc_sig(), false);
+  vscreen_widget *rval=make_default_view(w, w->get_sig(), w->get_desc_sig(), false);
+  w->repeat_signal(); // force the status line in the view to update
+  return rval;
 }
 
 vscreen_widget *make_dep_screen(const pkgCache::PkgIterator &pkg,
@@ -604,13 +606,17 @@
 				bool reverse)
 {
   pkg_dep_screen *w=new pkg_dep_screen(pkg, ver, reverse);
-  return make_default_view(w, w->get_sig(), w->get_desc_sig(), true);
+  vscreen_widget *rval=make_default_view(w, w->get_sig(), w->get_desc_sig(), true);
+  w->repeat_signal(); // force the status line in the view to update
+  return rval;
 }
 
 vscreen_widget *make_ver_screen(const pkgCache::PkgIterator &pkg)
 {
   pkg_ver_screen *w=new pkg_ver_screen(pkg);
-  return make_default_view(w, w->get_sig(), w->get_desc_sig(), true);
+  vscreen_widget *rval=make_default_view(w, w->get_sig(), w->get_desc_sig(), true);
+  w->repeat_signal();
+  return rval;
 }
 
 //static void silly_test_error(string s)