diff options
| author | Kris De Gussem <kris.degussem@gmail.com> | 2012-04-21 09:01:49 +0000 |
|---|---|---|
| committer | Kris <Kris.De.Gussem@hotmail.com> | 2012-04-21 09:01:49 +0000 |
| commit | b2e31c0fb250c15191267b15bcff9561269e22ca (patch) | |
| tree | 6b0d9656aa02260d1d66674f4bfa95edbaf58769 /src/ui/dialog/export.cpp | |
| parent | C++ification of progress dialog / documentation (diff) | |
| download | inkscape-b2e31c0fb250c15191267b15bcff9561269e22ca.tar.gz inkscape-b2e31c0fb250c15191267b15bcff9561269e22ca.zip | |
Fixed non working cancel button in export dialog
(bzr r11272)
Diffstat (limited to 'src/ui/dialog/export.cpp')
| -rw-r--r-- | src/ui/dialog/export.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp index 6d33552f3..af15a58d6 100644 --- a/src/ui/dialog/export.cpp +++ b/src/ui/dialog/export.cpp @@ -117,6 +117,7 @@ Export::Export (void) : export_label(_("_Export"), 1), export_image(Gtk::StockID(Gtk::Stock::APPLY), Gtk::ICON_SIZE_BUTTON), prog_dlg(NULL), + interrupted(false), prefs(NULL), desktop(NULL), deskTrack(), @@ -756,7 +757,7 @@ void Export::onAreaToggled () /// Called when dialog is deleted bool Export::onProgressDelete (GdkEventAny *event) { - g_object_set_data (G_OBJECT(prog_dlg->gobj()), "cancel", (gpointer) 1); + interrupted = true; return TRUE; } // end of sp_export_progress_delete() @@ -764,7 +765,7 @@ bool Export::onProgressDelete (GdkEventAny *event) /// Called when progress is cancelled void Export::onProgressCancel () { - g_object_set_data (G_OBJECT(prog_dlg->gobj()), "cancel", (gpointer) 1); + interrupted = true; } // end of sp_export_progress_cancel() @@ -791,7 +792,7 @@ unsigned int Export::onProgressCallback (float value, void *dlg) Gtk::Dialog * Export::create_progress_dialog (Glib::ustring progress_text) { Gtk::Dialog *dlg = new Gtk::Dialog(_("Export in progress"), TRUE); - + Gtk::ProgressBar *prg = new Gtk::ProgressBar (); prg->set_text(progress_text); prg->set_orientation(Gtk::PROGRESS_LEFT_TO_RIGHT); @@ -869,8 +870,11 @@ void Export::onExport () prog_dlg = create_progress_dialog (Glib::ustring::compose(_("Exporting %1 files"),num)); for (GSList *i = const_cast<GSList *>(sp_desktop_selection(SP_ACTIVE_DESKTOP)->itemList()); - i != NULL; - i = i->next) { + i != NULL; + i = i->next) { + if (interrupted){ + break; + } SPItem *item = reinterpret_cast<SPItem *>(i->data); // retrieve export filename hint @@ -921,6 +925,7 @@ void Export::onExport () delete prog_dlg; prog_dlg = NULL; + interrupted = false; } else { Glib::ustring filename = filename_entry.get_text(); @@ -987,7 +992,8 @@ void Export::onExport () filename_modified = false; delete prog_dlg; - prog_dlg = NULL; + prog_dlg = NULL; + interrupted = false; /* Setup the values in the document */ switch (current_key) { |
