X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fapp.cpp;h=ec2697e8731d0b231cba0d7bb8e0e0e9a45384ed;hb=197d6d1c81c6dec1b762af182cadcfc7404823e6;hp=38de4e27b0bdca50c7c93557adaedd5d0635d4a1;hpb=07f560d51ec11b671a7b6b7e2634dc0ca7d8e73d;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/app.cpp b/synfig-studio/trunk/src/gtkmm/app.cpp index 38de4e2..ec2697e 100644 --- a/synfig-studio/trunk/src/gtkmm/app.cpp +++ b/synfig-studio/trunk/src/gtkmm/app.cpp @@ -54,6 +54,7 @@ #include #include #include +#include #include @@ -88,6 +89,7 @@ #include "state_rectangle.h" #include "state_smoothmove.h" #include "state_scale.h" +#include "state_text.h" #include "state_width.h" #include "state_rotate.h" #include "state_zoom.h" @@ -1017,6 +1019,8 @@ init_ui_manager() ACCEL("//state-width", "t"); ACCEL("//state-mirror", "m"); + ACCEL("//state-text", "x"); + ACCEL("//canvas-zoom-fit","z"); #undef ACCEL @@ -1194,6 +1198,8 @@ App::App(int *argc, char ***argv): state_manager->add_state(&state_eyedrop); state_manager->add_state(&state_zoom); + state_manager->add_state(&state_text); + // Disabled by default - it doesn't work properly? if(getenv("SYNFIG_ENABLE_WIDTH" )) state_manager->add_state(&state_width); @@ -1778,7 +1784,7 @@ static OPENFILENAME ofn={}; bool App::dialog_open_file(const std::string &title, std::string &filename, std::string preference) { - info("App::dialog_open_file('%s', '%s', '%s')", title.c_str(), filename.c_str(), preference.c_str()); + // info("App::dialog_open_file('%s', '%s', '%s')", title.c_str(), filename.c_str(), preference.c_str()); #ifdef USE_WIN32_FILE_DIALOGS static TCHAR szFilter[] = TEXT ("All Files (*.*)\0*.*\0\0") ; @@ -1904,7 +1910,7 @@ App::dialog_open_file(const std::string &title, std::string &filename, std::stri bool App::dialog_save_file(const std::string &title, std::string &filename, std::string preference) { - info("App::dialog_save_file('%s', '%s', '%s')", title.c_str(), filename.c_str(), preference.c_str()); + // info("App::dialog_save_file('%s', '%s', '%s')", title.c_str(), filename.c_str(), preference.c_str()); #if USE_WIN32_FILE_DIALOGS static TCHAR szFilter[] = TEXT ("All Files (*.*)\0*.*\0\0") ; @@ -1967,7 +1973,8 @@ App::dialog_save_file(const std::string &title, std::string &filename, std::stri { file_type_enum = manage(new Widget_Enum()); file_type_enum->set_param_desc(ParamDesc().set_hint("enum") - .add_enum_value(synfig::RELEASE_VERSION_0_61_08, "0.61.08", strprintf("0.61.08 (%s)", _("current"))) + .add_enum_value(synfig::RELEASE_VERSION_0_61_09, "0.61.09", strprintf("0.61.09 (%s)", _("current"))) + .add_enum_value(synfig::RELEASE_VERSION_0_61_08, "0.61.08", "0.61.08") .add_enum_value(synfig::RELEASE_VERSION_0_61_07, "0.61.07", "0.61.07") .add_enum_value(synfig::RELEASE_VERSION_0_61_06, "0.61.06", strprintf("0.61.06 %s", _("and older")))); file_type_enum->set_value(RELEASE_VERSION_END-1); // default to the most recent version @@ -2123,7 +2130,7 @@ try_open_url(const std::string &url) if( command_line[0] == "kfmclient" ) command_line.push_back("openURL"); command_line.push_back(url); - try { Glib::spawn_async(".", command_line, Glib::SPAWN_SEARCH_PATH); } + try { Glib::spawn_async(".", command_line, Glib::SPAWN_SEARCH_PATH); return true; } catch( Glib::SpawnError& exception ){ while ( !browsers.empty() ) @@ -2183,8 +2190,8 @@ App::dialog_entry(const std::string &title, const std::string &message,std::stri Gtk::Dialog dialog( title, // Title true, // Modal - true // use_separator - ); + true); // use_separator + Gtk::Label label(message); label.show(); dialog.get_vbox()->pack_start(label); @@ -2193,11 +2200,13 @@ App::dialog_entry(const std::string &title, const std::string &message,std::stri entry.set_text(text); entry.show(); entry.set_activates_default(true); + dialog.get_vbox()->pack_start(entry); dialog.add_button(Gtk::StockID("gtk-ok"),Gtk::RESPONSE_OK); dialog.add_button(Gtk::StockID("gtk-cancel"),Gtk::RESPONSE_CANCEL); dialog.set_default_response(Gtk::RESPONSE_OK); + entry.signal_activate().connect(sigc::bind(sigc::mem_fun(dialog,&Gtk::Dialog::response),Gtk::RESPONSE_OK)); dialog.show(); @@ -2209,8 +2218,39 @@ App::dialog_entry(const std::string &title, const std::string &message,std::stri return true; } +bool +App::dialog_paragraph(const std::string &title, const std::string &message,std::string &text) +{ + Gtk::Dialog dialog( + title, // Title + true, // Modal + true); // use_separator + Gtk::Label label(message); + label.show(); + dialog.get_vbox()->pack_start(label); + Glib::RefPtr text_buffer(Gtk::TextBuffer::create()); + text_buffer->set_text(text); + Gtk::TextView text_view(text_buffer); + text_view.show(); + + dialog.get_vbox()->pack_start(text_view); + + dialog.add_button(Gtk::StockID("gtk-ok"),Gtk::RESPONSE_OK); + dialog.add_button(Gtk::StockID("gtk-cancel"),Gtk::RESPONSE_CANCEL); + dialog.set_default_response(Gtk::RESPONSE_OK); + + //text_entry.signal_activate().connect(sigc::bind(sigc::mem_fun(dialog,&Gtk::Dialog::response),Gtk::RESPONSE_OK)); + dialog.show(); + + if(dialog.run()!=Gtk::RESPONSE_OK) + return false; + + text=text_buffer->get_text(); + + return true; +} bool App::open(std::string filename)