[Aptitude-svn-commit] r4067 - in branches/aptitude-0.3/aptitude: . src

Daniel Burrows dburrows at costa.debian.org
Fri Sep 9 22:29:38 UTC 2005


Author: dburrows
Date: Fri Sep  9 22:29:36 2005
New Revision: 4067

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/src/download_list.cc
Log:
Eliminate all uses of vscreen_mainloop.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Fri Sep  9 22:29:36 2005
@@ -1,5 +1,10 @@
 2005-09-09  Daniel Burrows  <dburrows at debian.org>
 
+	* src/download_list.cc:
+
+	  Eliminate all uses of vscreen_mainloop by using the continuation
+	  callbacks instead.
+
 	* src/download_thread.cc, src/download_thread.h:
 
 	  Directly invoke the continuation-passing methods of

Modified: branches/aptitude-0.3/aptitude/src/download_list.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/download_list.cc	(original)
+++ branches/aptitude-0.3/aptitude/src/download_list.cc	Fri Sep  9 22:29:36 2005
@@ -44,8 +44,6 @@
 {
   if(cancel_slot)
     cancel_slot();
-
-  vscreen_exitmain();
 }
 
 // Unfortunately the cancel_slot is necessary so we know we've cancelled..
@@ -71,10 +69,10 @@
 
   vs_widget_ref rval;
   if(already_cancelled || !cancel_slot)
-    rval=vs_dialog_ok(fragment, arg(sigc::ptr_fun(vscreen_exitmain)));
+    rval=vs_dialog_ok(fragment, NULL);
   else
     rval=vs_dialog_yesno(fragment,
-			 arg(sigc::ptr_fun(vscreen_exitmain)),
+			 NULL,
 			 transcode(_("Continue")),
 			 arg(sigc::bind(sigc::ptr_fun(download_summary_nasty_hack),
 					*cancel_slot)),
@@ -267,12 +265,6 @@
   sync_top();
 }
 
-static void set_and_exit(bool &target, bool val)
-{
-  target=val;
-  vscreen_exitmain();
-}
-
 void download_list::MediaChange(string media, string drive,
 				download_manager &manager,
 				const sigc::slot1<void, bool> &k)
@@ -280,22 +272,15 @@
   fragment *f=wrapbox(fragf(_("Please insert the disc labeled \"%s\" into the drive \"%s\""),
 			    media.c_str(), drive.c_str()));
 
-  bool rval=true;
   vs_widget_ref w=vs_dialog_yesno(f,
-				  arg(sigc::bind(sigc::ptr_fun(set_and_exit),
-						 rval, true)),
+				  arg(sigc::bind(k, true)),
 				  transcode(_("Continue")),
-				  arg(sigc::bind(sigc::ptr_fun(set_and_exit),
-						 rval, false)),
+				  arg(sigc::bind(k, false)),
 				  transcode(_("Abort")),
 				  get_style("MediaChange"));
   w->show_all();
 
   popup_widget(w);
-
-  vscreen_mainloop();
-
-  k(rval);
 }
 
 void download_list::IMSHit(pkgAcquire::ItemDesc &itmdesc,
@@ -382,17 +367,20 @@
 
   if(show_summary)
     {
-      popup_widget(download_summary(this,
-				    failed,
-				    cancelled,
-				    abortslot,
-				    manager.get_fetched_bytes(),
-				    manager.get_elapsed_time(),
-				    manager.get_currentCPS()));
-      vscreen_mainloop();
-    }
+      vs_widget_ref summary = download_summary(this,
+					       failed,
+					       cancelled,
+					       abortslot,
+					       manager.get_fetched_bytes(),
+					       manager.get_elapsed_time(),
+					       manager.get_currentCPS());
+
+      summary->destroyed.connect(k);
 
-  k();
+      popup_widget(summary);
+    }
+  else
+    k();
 }
 
 void download_list::Complete(download_manager &manager)



More information about the Aptitude-svn-commit mailing list