+ if(get_action_count())
+ do
+ {
+ string str=strprintf(_("Would you like to save your changes to %s?"),basename(get_file_name()).c_str() );
+ int answer=uim->yes_no_cancel(get_canvas()->get_name(),str,synfigapp::UIInterface::RESPONSE_YES);
+ if(answer==synfigapp::UIInterface::RESPONSE_YES)
+ {
+ enum Status status = save();
+ if (status == STATUS_OK) break;
+ else if (status == STATUS_CANCEL) return false;
+ }
+ if(answer==synfigapp::UIInterface::RESPONSE_NO)
+ break;
+ if(answer==synfigapp::UIInterface::RESPONSE_CANCEL)
+ return false;
+ } while (true);