X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=synfig-studio%2Ftags%2Fstable%2Fsrc%2Fgtkmm%2Fwidget_canvaschooser.cpp;h=e151644a287de0174010cb2480575e5ff0785e4d;hb=47fce282611fbba1044921d22ca887f9b53ad91a;hp=c6f97cd38b0bb09c156a7ee803efb8f1ce6aa922;hpb=f6184c2a9c2245aae802c31c8f3300e1b744359c;p=synfig.git diff --git a/synfig-studio/tags/stable/src/gtkmm/widget_canvaschooser.cpp b/synfig-studio/tags/stable/src/gtkmm/widget_canvaschooser.cpp index c6f97cd..e151644 100644 --- a/synfig-studio/tags/stable/src/gtkmm/widget_canvaschooser.cpp +++ b/synfig-studio/tags/stable/src/gtkmm/widget_canvaschooser.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -33,6 +34,8 @@ #include #include "app.h" +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -59,21 +62,21 @@ Widget_CanvasChooser::~Widget_CanvasChooser() } void -Widget_CanvasChooser::set_parent_canvas(etl::handle x) +Widget_CanvasChooser::set_parent_canvas(synfig::Canvas::Handle x) { assert(x); parent_canvas=x; } void -Widget_CanvasChooser::set_value_(etl::handle data) +Widget_CanvasChooser::set_value_(synfig::Canvas::Handle data) { set_value(data); activate(); } void -Widget_CanvasChooser::set_value(etl::handle data) +Widget_CanvasChooser::set_value(synfig::Canvas::Handle data) { assert(parent_canvas); canvas=data; @@ -129,7 +132,21 @@ void Widget_CanvasChooser::chooser_menu() { String canvas_name; - App::dialog_entry(_("Choose Canvas"),_("Enter the relative name of the canvas that you want"),canvas_name); + + if (!App::dialog_entry(_("Choose Canvas"),_("Enter the relative name of the canvas that you want"),canvas_name)) + { + // the user hit 'cancel', so set the parameter back to its previous value + set_value_(canvas); + return; + } + + if (canvas_name == "") + { + App::dialog_error_blocking(_("Error"),_("No canvas name was specified")); + set_value_(canvas); + return; + } + Canvas::Handle new_canvas; try {