X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fapp.cpp;h=217174ed940dfc6ccfa253888464cf9695ede22f;hb=058b783b7e3278538eeadd2823c5ce687dbe5705;hp=52a30235861af3323d1c6f84ab62e674ea744f6b;hpb=7d32bfd071e0604f70618da4e39d27172a4809a8;p=synfig.git
diff --git a/synfig-studio/trunk/src/gtkmm/app.cpp b/synfig-studio/trunk/src/gtkmm/app.cpp
index 52a3023..217174e 100644
--- a/synfig-studio/trunk/src/gtkmm/app.cpp
+++ b/synfig-studio/trunk/src/gtkmm/app.cpp
@@ -89,6 +89,7 @@
#include "state_rectangle.h"
#include "state_smoothmove.h"
#include "state_scale.h"
+#include "state_star.h"
#include "state_text.h"
#include "state_width.h"
#include "state_rotate.h"
@@ -669,6 +670,8 @@ init_ui_manager()
DEFINE_ACTION("copy", Gtk::StockID("gtk-copy"));
DEFINE_ACTION("paste", Gtk::StockID("gtk-paste"));
DEFINE_ACTION("select-all-ducks", _("Select All Ducks"));
+ DEFINE_ACTION("unselect-all-ducks", _("Unselect All Ducks"));
+ DEFINE_ACTION("select-all-layers", _("Select All Layers"));
DEFINE_ACTION("unselect-all-layers", _("Unselect All Layers"));
DEFINE_ACTION("properties", _("Properties"));
@@ -797,8 +800,10 @@ init_ui_manager()
" "
" "
" "
-" "
+" "
" "
+" "
+" "
" "
" "
" "
@@ -937,7 +942,9 @@ init_ui_manager()
}
ACCEL("//select-all-ducks","a");
- ACCEL("//unselect-all-layers","d");
+ ACCEL("//unselect-all-ducks","d");
+ ACCEL("//select-all-layers","a");
+ ACCEL("//unselect-all-layers","d");
ACCEL("//render","F9");
ACCEL("//preview","F11");
ACCEL("//properties","F8");
@@ -1001,25 +1008,25 @@ init_ui_manager()
ACCEL("//state-normal", "a");
ACCEL("//state-smooth_move", "v");
- ACCEL("//state-scale", "d");
- ACCEL("//state-rotate", "s");
+ ACCEL("//state-scale", "s");
+ ACCEL("//state-rotate", "t");
+ ACCEL("//state-mirror", "m");
- ACCEL("//state-bline", "b");
ACCEL("//state-circle", "c");
ACCEL("//state-rectangle", "r");
+ ACCEL("//state-star", "q");
ACCEL("//state-gradient", "g");
+ ACCEL("//state-polygon", "p");
- ACCEL("//state-eyedrop", "e");
+ ACCEL("//state-bline", "b");
+ ACCEL("//state-text", "x");
ACCEL("//state-fill", "f");
+ ACCEL("//state-eyedrop", "e");
ACCEL("//state-zoom", "z");
- ACCEL("//state-polygon", "p");
- ACCEL("//state-draw", "w");
+ ACCEL("//state-draw", "d");
ACCEL("//state-sketch", "k");
- ACCEL("//state-width", "t");
- ACCEL("//state-mirror", "m");
-
- ACCEL("//state-text", "x");
+ ACCEL("//state-width", "w");
ACCEL("//canvas-zoom-fit","z");
@@ -1185,20 +1192,21 @@ App::App(int *argc, char ***argv):
studio_init_cb.task(_("Init ModMirror...")); module_list_.push_back(new ModMirror()); module_list_.back()->start();
/* row 2 */
- state_manager->add_state(&state_bline);
state_manager->add_state(&state_circle);
state_manager->add_state(&state_rectangle);
+ state_manager->add_state(&state_star);
state_manager->add_state(&state_gradient);
if(!getenv("SYNFIG_DISABLE_POLYGON")) state_manager->add_state(&state_polygon); // Enabled - for working without ducks
/* row 3 */
- if(!getenv("SYNFIG_DISABLE_DRAW" )) state_manager->add_state(&state_draw); // Enabled for now. Let's see whether they're good enough yet.
- if(!getenv("SYNFIG_DISABLE_SKETCH" )) state_manager->add_state(&state_sketch);
+ state_manager->add_state(&state_bline);
+ state_manager->add_state(&state_text);
state_manager->add_state(&state_fill);
state_manager->add_state(&state_eyedrop);
state_manager->add_state(&state_zoom);
- state_manager->add_state(&state_text);
+ if(!getenv("SYNFIG_DISABLE_DRAW" )) state_manager->add_state(&state_draw); // Enabled for now. Let's see whether they're good enough yet.
+ if(!getenv("SYNFIG_DISABLE_SKETCH" )) state_manager->add_state(&state_sketch);
// Disabled by default - it doesn't work properly?
if(getenv("SYNFIG_ENABLE_WIDTH" )) state_manager->add_state(&state_width);
@@ -1616,10 +1624,13 @@ App::load_settings()
{
if(!window_size_broken && !file_window_size)
window_size_broken = true;
- if(!window_size_broken)
- add_recent_file(recent_file,recent_file_window_size);
- else
- add_recent_file(recent_file);
+ if (std::ifstream(recent_file.c_str()))
+ {
+ if(!window_size_broken)
+ add_recent_file(recent_file,recent_file_window_size);
+ else
+ add_recent_file(recent_file);
+ }
}
}
if(!window_size_broken && file_window_size)
@@ -1784,7 +1795,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") ;
@@ -1851,7 +1862,7 @@ App::dialog_open_file(const std::string &title, std::string &filename, std::stri
if(dialog->run() == GTK_RESPONSE_ACCEPT) {
filename = dialog->get_filename();
- info("Saving preference %s = '%s' in App::dialog_open_file()", preference.c_str(), dirname(filename).c_str());
+ // info("Saving preference %s = '%s' in App::dialog_open_file()", preference.c_str(), dirname(filename).c_str());
_preferences.set_value(preference, dirname(filename));
delete dialog;
return true;
@@ -1910,7 +1921,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") ;
@@ -2010,7 +2021,7 @@ App::dialog_save_file(const std::string &title, std::string &filename, std::stri
if (preference == ANIMATION_DIR_PREFERENCE)
set_file_version(synfig::ReleaseVersion(file_type_enum->get_value()));
filename = dialog->get_filename();
- info("Saving preference %s = '%s' in App::dialog_save_file()", preference.c_str(), dirname(filename).c_str());
+ // info("Saving preference %s = '%s' in App::dialog_save_file()", preference.c_str(), dirname(filename).c_str());
_preferences.set_value(preference, dirname(filename));
delete dialog;
return true;