X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fapp.cpp;h=cc7874af82a3d68a4fe3e15cf4f3bcbc3380633d;hb=c25902b514d64fd65c96ed56171bcd205d19d699;hp=77298fbdb6b2d66ca3dda6813a72088ca38ca60e;hpb=22a64c6070122f43a0a5cbd7f7328a758137e76b;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/app.cpp b/synfig-studio/trunk/src/gtkmm/app.cpp index 77298fb..cc7874a 100644 --- a/synfig-studio/trunk/src/gtkmm/app.cpp +++ b/synfig-studio/trunk/src/gtkmm/app.cpp @@ -2,7 +2,7 @@ /*! \file app.cpp ** \brief writeme ** -** $Id: app.cpp,v 1.11 2005/03/24 21:47:28 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley @@ -136,8 +136,10 @@ using namespace studio; #ifndef SYNFIG_USER_APP_DIR #ifdef __APPLE__ #define SYNFIG_USER_APP_DIR "Library/Synfig" -#else +#elif defined(_WIN32) #define SYNFIG_USER_APP_DIR "Synfig" +#else +#define SYNFIG_USER_APP_DIR ".synfig" #endif #endif @@ -904,8 +906,6 @@ init_ui_manager() " " " " " " - " " - " " " " " " " " @@ -918,6 +918,8 @@ init_ui_manager() //" " //" " " " +" " +" " " " " " " " @@ -962,8 +964,18 @@ init_ui_manager() } // Add default keyboard accelerators -#define ACCEL(path,accel) { Gtk::AccelKey accel_key(accel,path); Gtk::AccelMap::add_entry(accel_key.get_path(), accel_key.get_key(),accel_key.get_mod()); } -#define ACCEL2(accel) { Gtk::AccelKey accel_key(accel); Gtk::AccelMap::add_entry(accel_key.get_path(), accel_key.get_key(),accel_key.get_mod()); } +#define ACCEL(path,accel) \ + { \ + Gtk::AccelKey accel_key(accel,path); \ + Gtk::AccelMap::add_entry(accel_key.get_path(), accel_key.get_key(), accel_key.get_mod()); \ + } + +#define ACCEL2(accel) \ + { \ + Gtk::AccelKey accel_key(accel); \ + Gtk::AccelMap::add_entry(accel_key.get_path(), accel_key.get_key(), accel_key.get_mod()); \ + } + ACCEL("//select-all-ducks","a"); ACCEL("//unselect-all-layers","d"); ACCEL("//render","F9"); @@ -982,7 +994,6 @@ init_ui_manager() ACCEL("//mask-width-ducks", "5"); ACCEL("//mask-angle-ducks", "6"); - ACCEL2(Gtk::AccelKey(GDK_Page_Up,Gdk::SHIFT_MASK,"//action-layer_raise")); ACCEL2(Gtk::AccelKey(GDK_Page_Down,Gdk::SHIFT_MASK,"//action-layer_lower")); @@ -1023,14 +1034,27 @@ init_ui_manager() ACCEL2(Gtk::AccelKey('o',Gdk::CONTROL_MASK,"//toggle-onion-skin")); ACCEL("//seek-begin","Home"); ACCEL("//seek-end","End"); - ACCEL("//state-normal","a"); - ACCEL("//state-rotate","s"); - ACCEL("//state-scale","d"); - ACCEL("//state-bline","b"); - ACCEL("//state-fill","f"); - ACCEL("//state-eyedrop","e"); - ACCEL("//state-gradient","g"); - ACCEL("//state-zoom","z"); + + ACCEL("//state-normal", "a"); + ACCEL("//state-smooth_move", "v"); + ACCEL("//state-scale", "d"); + ACCEL("//state-rotate", "s"); + + ACCEL("//state-bline", "b"); + ACCEL("//state-circle", "c"); + ACCEL("//state-rectangle", "r"); + ACCEL("//state-gradient", "g"); + + ACCEL("//state-eyedrop", "e"); + ACCEL("//state-fill", "f"); + ACCEL("//state-zoom", "z"); + ACCEL("//state-polygon", "p"); + + ACCEL("//state-draw", "w"); + ACCEL("//state-sketch", "k"); + ACCEL("//state-width", "t"); + ACCEL("//state-mirror", "m"); + ACCEL("//canvas-zoom-fit","z"); #undef ACCEL @@ -1082,8 +1106,8 @@ App::App(int *argc, char ***argv): "This copy of Synfig Studio was compiled against a\n" "different version of libsynfig than what is currently\n" "installed. Synfig Studio will now abort. Try downloading\n" - "the latest version from the Synfig Development Website at\n" - "http://dev.synfig.com/ " + "the latest version from the Synfig website at\n" + "http://www.synfig.com/ " ); throw 40; } @@ -1095,7 +1119,7 @@ App::App(int *argc, char ***argv): "This copy of Synfig Studio has expired.\n" "Please erase this copy, or download and\n" "install the latest copy from the Synfig\n" - "Development Website at http://dev.synfig.com/ ." + "website at http://www.synfig.com/ ." ); throw 39; } @@ -1215,15 +1239,16 @@ App::App(int *argc, char ***argv): state_manager->add_state(&state_zoom); - // Disabled this tool because it should be - // considered deprecated. Use the bline tool instead. - if(getenv("SYNFIG_ENABLE_POLYGON")) state_manager->add_state(&state_polygon); + // Enabled - it's useful to be able to work with polygons without tangent ducks getting in the way. + // I know we can switch tangent ducks off, but why not allow this kind of layer as well? + if(!getenv("SYNFIG_DISABLE_POLYGON")) state_manager->add_state(&state_polygon); + + // Enabled for now. Let's see whether they're good enough yet. + if(!getenv("SYNFIG_DISABLE_DRAW" )) state_manager->add_state(&state_draw); + if(!getenv("SYNFIG_DISABLE_SKETCH" )) state_manager->add_state(&state_sketch); - // These tools are disabled by default for now, - // because they tend to confuse users. - if(getenv("SYNFIG_ENABLE_DRAW" )) state_manager->add_state(&state_draw); - if(getenv("SYNFIG_ENABLE_SKETCH")) state_manager->add_state(&state_sketch); - if(getenv("SYNFIG_ENABLE_WIDTH" )) state_manager->add_state(&state_width); + // Disabled by default - it doesn't work properly? + if(getenv("SYNFIG_ENABLE_WIDTH" )) state_manager->add_state(&state_width); studio_init_cb.task("Init ModPalette..."); module_list_.push_back(new ModPalette()); module_list_.back()->start(); @@ -1238,6 +1263,7 @@ App::App(int *argc, char ***argv): studio_init_cb.task("Init Input Dialog..."); dialog_input=new Gtk::InputDialog(); dialog_input->get_close_button()->signal_clicked().connect( sigc::mem_fun( *dialog_input, &Gtk::InputDialog::hide ) ); + dialog_input->get_save_button()->signal_clicked().connect( sigc::ptr_fun(studio::App::dialog_not_implemented) ); studio_init_cb.task("Init auto recovery..."); auto_recover=new AutoRecover(); @@ -1669,8 +1695,8 @@ App::dialog_open_file(const std::string &title, std::string &filename) Gtk::FileChooserDialog *dialog=new Gtk::FileChooserDialog(title,Gtk::FILE_CHOOSER_ACTION_OPEN); dialog->set_current_folder(prev_path); - dialog->add_button(Gtk::StockID("gtk-ok"),GTK_RESPONSE_ACCEPT); - dialog->add_button(Gtk::StockID("gtk-cancel"),GTK_RESPONSE_CANCEL); + dialog->add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); + dialog->add_button(Gtk::Stock::OPEN, Gtk::RESPONSE_ACCEPT); if(!filename.empty()) dialog->set_filename(filename); if(dialog->run()==GTK_RESPONSE_ACCEPT) { @@ -1778,8 +1804,8 @@ App::dialog_save_file(const std::string &title, std::string &filename) Gtk::FileChooserDialog *dialog=new Gtk::FileChooserDialog(title,Gtk::FILE_CHOOSER_ACTION_SAVE); dialog->set_current_folder(prev_path); - dialog->add_button(Gtk::StockID("gtk-ok"),GTK_RESPONSE_ACCEPT); - dialog->add_button(Gtk::StockID("gtk-cancel"),GTK_RESPONSE_CANCEL); + dialog->add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); + dialog->add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT); if(!filename.empty()) dialog->set_filename(filename); if(dialog->run()==GTK_RESPONSE_ACCEPT) { @@ -1844,8 +1870,8 @@ App::dialog_saveas_file(const std::string &title, std::string &filename) Gtk::FileChooserDialog *dialog=new Gtk::FileChooserDialog(title,Gtk::FILE_CHOOSER_ACTION_SAVE); dialog->set_current_folder(prev_path); - dialog->add_button(Gtk::StockID("gtk-ok"),GTK_RESPONSE_ACCEPT); - dialog->add_button(Gtk::StockID("gtk-cancel"),GTK_RESPONSE_CANCEL); + dialog->add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); + dialog->add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT); if(!filename.empty()) dialog->set_filename(filename); if(dialog->run()==GTK_RESPONSE_ACCEPT) {