[passepartout] dropped the import dialog variable



commit 0084ee63a9adc01e201ad4c51430b74e8ea15fd2
Author: Sven Herzberg <herzi lanedo com>
Date:   Sat May 2 10:19:08 2009 +0200

    dropped the import dialog variable
    
    * src/pptout/window.cc,
    * src/pptout/window.h: dropped another dialog which had to be setup before the
      main window appears
---
 src/pptout/window.cc |   37 ++++++++++++++++---------------------
 src/pptout/window.h  |    2 --
 2 files changed, 16 insertions(+), 23 deletions(-)

diff --git a/src/pptout/window.cc b/src/pptout/window.cc
index ececec6..67e962d 100644
--- a/src/pptout/window.cc
+++ b/src/pptout/window.cc
@@ -106,17 +106,6 @@ FrameWindow::constructor_common (void)
 
   text_frame_dialog.reset(new TextFrameDialog(*this, document_view));
 
-  { // get default unit of import image dialog from config file
-    Glib::ustring unit = config.LengthUnit.values.front();
-    float factor = 1;
-    try { factor = length_units.get_factor(unit); }
-    catch(unknown_unit_error&) { unit = Glib::ustring(); }
-    import_dialog.reset
-      (new ImageFilesel(*this, _("Import Image"),
-			config.DefaultResolution.values.front(),
-			unit, factor));
-  }
-
   pagesel = manage(new Pagesel(document_view));
 
   // create menus and toolbar
@@ -175,9 +164,6 @@ FrameWindow::constructor_common (void)
   zoom_factor.signal_changed.connect
     (sigc::mem_fun(*this, &FrameWindow::zoom_factor_changed_action));
   
-  import_dialog->signal_hide().connect
-    (sigc::mem_fun(*this, &FrameWindow::import_dialog_done));
-
   document_view.document_set_signal.connect
     (sigc::mem_fun(*this, &FrameWindow::on_document_changed));
 
@@ -252,13 +238,6 @@ void FrameWindow::on_document_changed() {
 
 }
 
-void FrameWindow::import_dialog_done() {
-  if(!import_dialog->was_cancelled())
-    document_view.new_image_frame
-      (import_dialog->get_filename(),
-       dynamic_cast<ImageFilesel*>(import_dialog.get())->get_res());
-}
-
 void FrameWindow::close() {
   DocRef document = document_view.get_document();
   if(windows.size() > 1 || !document) {
@@ -276,7 +255,23 @@ void FrameWindow::close() {
 void
 FrameWindow::insert_image (void)
 {
+  // get default unit of import image dialog from config file
+  Glib::ustring unit = config.LengthUnit.values.front();
+  float factor = 1;
+  try { factor = length_units.get_factor(unit); }
+  catch(unknown_unit_error&) { unit = Glib::ustring(); }
+
+  std::auto_ptr<Filesel> import_dialog (new ImageFilesel (*this, _("Import Image"),
+                                                          config.DefaultResolution.values.front(),
+                                                          unit, factor));
+
   import_dialog->show_all ();
+  import_dialog->run ();
+
+  if(!import_dialog->was_cancelled())
+    document_view.new_image_frame
+      (import_dialog->get_filename(),
+       dynamic_cast<ImageFilesel*>(import_dialog.get())->get_res());
 }
 
 void
diff --git a/src/pptout/window.h b/src/pptout/window.h
index 378dd64..d059aaa 100644
--- a/src/pptout/window.h
+++ b/src/pptout/window.h
@@ -41,7 +41,6 @@ private:
   Gtk::Statusbar *cafe_opera;
   Zoomer zoom_factor;
   DocumentView document_view;
-  std::auto_ptr<Filesel> import_dialog;
   std::auto_ptr<TextFrameDialog> text_frame_dialog;
   Pagesel *pagesel;
   Glib::RefPtr<Gtk::UIManager> uimanager;
@@ -73,7 +72,6 @@ private:
 
   void create_menus (Gtk::RecentFilter& filter);
   void show_preferences ();
-  void import_dialog_done();
   void close();
 };
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]