Change the tile size from 128 to 120 and allow all the factors of 120 to be used...
[synfig.git] / synfig-studio / trunk / src / gtkmm / app.cpp
index 29bf7df..6c185a4 100644 (file)
@@ -33,6 +33,7 @@
 #include <fstream>
 #include <iostream>
 #include <locale>
+#include <cstring>
 
 #ifdef HAVE_SYS_ERRNO_H
 #include <sys/errno.h>
@@ -568,6 +569,7 @@ init_ui_manager()
        menus_action_group->add( Gtk::Action::create("menu-layer", _("_Layer")) );
        menus_action_group->add( Gtk::Action::create("menu-duck-mask", _("Show/Hide Ducks")) );
        menus_action_group->add( Gtk::Action::create("menu-preview-quality", _("Preview Quality")) );
+       menus_action_group->add( Gtk::Action::create("menu-lowres-pixel", _("Low-Res Pixel Size")) );
        menus_action_group->add( Gtk::Action::create("menu-layer-new", _("New Layer")) );
        menus_action_group->add( Gtk::Action::create("menu-keyframe", _("Keyframe")) );
        menus_action_group->add( Gtk::Action::create("menu-group", _("Group")) );
@@ -637,6 +639,21 @@ init_ui_manager()
        DEFINE_ACTION("quality-08", _("Use Quality Level 8"));
        DEFINE_ACTION("quality-09", _("Use Quality Level 9"));
        DEFINE_ACTION("quality-10", _("Use Quality Level 10"));
+       DEFINE_ACTION("lowres-pixel-2", _("Set Low-Res pixel size to 2"));
+       DEFINE_ACTION("lowres-pixel-3", _("Set Low-Res pixel size to 3"));
+       DEFINE_ACTION("lowres-pixel-4", _("Set Low-Res pixel size to 4"));
+       DEFINE_ACTION("lowres-pixel-5", _("Set Low-Res pixel size to 5"));
+       DEFINE_ACTION("lowres-pixel-6", _("Set Low-Res pixel size to 6"));
+       DEFINE_ACTION("lowres-pixel-8", _("Set Low-Res pixel size to 8"));
+       DEFINE_ACTION("lowres-pixel-10", _("Set Low-Res pixel size to 10"));
+       DEFINE_ACTION("lowres-pixel-12", _("Set Low-Res pixel size to 12"));
+       DEFINE_ACTION("lowres-pixel-15", _("Set Low-Res pixel size to 15"));
+       DEFINE_ACTION("lowres-pixel-20", _("Set Low-Res pixel size to 20"));
+       DEFINE_ACTION("lowres-pixel-24", _("Set Low-Res pixel size to 24"));
+       DEFINE_ACTION("lowres-pixel-30", _("Set Low-Res pixel size to 30"));
+       DEFINE_ACTION("lowres-pixel-40", _("Set Low-Res pixel size to 40"));
+       DEFINE_ACTION("lowres-pixel-60", _("Set Low-Res pixel size to 60"));
+       DEFINE_ACTION("lowres-pixel-120", _("Set Low-Res pixel size to 120"));
        DEFINE_ACTION("play", _("Play"));
        // DEFINE_ACTION("pause", _("Pause"));
        DEFINE_ACTION("stop", _("Stop"));
@@ -768,6 +785,23 @@ init_ui_manager()
 "                      <menuitem action='quality-09' />"
 "                      <menuitem action='quality-10' />"
 "              </menu>"
+"              <menu action='menu-lowres-pixel'>"
+"                      <menuitem action='lowres-pixel-2' />"
+"                      <menuitem action='lowres-pixel-3' />"
+"                      <menuitem action='lowres-pixel-4' />"
+"                      <menuitem action='lowres-pixel-5' />"
+"                      <menuitem action='lowres-pixel-6' />"
+"                      <menuitem action='lowres-pixel-8' />"
+"                      <menuitem action='lowres-pixel-10' />"
+"                      <menuitem action='lowres-pixel-12' />"
+"                      <menuitem action='lowres-pixel-15' />"
+"                      <menuitem action='lowres-pixel-20' />"
+"                      <menuitem action='lowres-pixel-24' />"
+"                      <menuitem action='lowres-pixel-30' />"
+"                      <menuitem action='lowres-pixel-40' />"
+"                      <menuitem action='lowres-pixel-60' />"
+"                      <menuitem action='lowres-pixel-120' />"
+"              </menu>"
 "              <separator name='bleh08'/>"
 "              <menuitem action='play'/>"
 //"            <menuitem action='pause'/>"
@@ -924,7 +958,7 @@ init_ui_manager()
        ACCEL2(Gtk::AccelKey(',',Gdk::CONTROL_MASK,"<Actions>//seek-prev-frame"));
        ACCEL2(Gtk::AccelKey('>',Gdk::CONTROL_MASK,"<Actions>//seek-next-second"));
        ACCEL2(Gtk::AccelKey('<',Gdk::CONTROL_MASK,"<Actions>//seek-prev-second"));
-       ACCEL2(Gtk::AccelKey('o',Gdk::CONTROL_MASK,"<Actions>//toggle-onion-skin"));
+       ACCEL2(Gtk::AccelKey('o',Gdk::MOD1_MASK,"<Actions>//toggle-onion-skin"));
        ACCEL("<Actions>//play",              "<Control>p");
        ACCEL("<Actions>//seek-begin","Home");
        ACCEL("<Actions>//seek-end","End");
@@ -1185,15 +1219,21 @@ App::App(int *argc, char ***argv):
 
                // Look for any files given on the command line,
                // and load them if found.
+               bool opened_any = false;
                for(;*argc>=1;(*argc)--)
                        if((*argv)[*argc] && (*argv)[*argc][0]!='-')
                        {
                                studio_init_cb.task(_("Loading files..."));
                                about_window.hide();
                                open((*argv)[*argc]);
+                               opened_any = true;
                                about_window.show();
                        }
 
+               // if no file was specified to be opened, create a new document to help new users get started more easily
+               if (!opened_any && !getenv("SYNFIG_DISABLE_AUTOMATIC_DOCUMENT_CREATION"))
+                       new_instance();
+
                studio_init_cb.task(_("Done."));
                studio_init_cb.amount_complete(10000,10000);
 
@@ -1222,7 +1262,8 @@ App::~App()
        selected_instance=0;
 
        // Unload all of the modules
-       for(;!module_list_.empty();module_list_.pop_back());
+       for(;!module_list_.empty();module_list_.pop_back())
+               ;
 
        delete state_manager;
 
@@ -1919,7 +1960,7 @@ App::new_instance()
 
        canvas->rend_desc().set_frame_rate(24.0);
        canvas->rend_desc().set_time_start(0.0);
-       canvas->rend_desc().set_time_end(00.0);
+       canvas->rend_desc().set_time_end(5.0);
        canvas->rend_desc().set_x_res(DPI2DPM(72.0f));
        canvas->rend_desc().set_y_res(DPI2DPM(72.0f));
        canvas->rend_desc().set_tl(Vector(-4,2.25));
@@ -1932,7 +1973,7 @@ App::new_instance()
 
        handle<Instance> instance = Instance::create(canvas);
 
-       if (!getenv("SYNFIG_DISABLE_NEW_CANVAS_EDIT_PROPERTIES"))
+       if (getenv("SYNFIG_ENABLE_NEW_CANVAS_EDIT_PROPERTIES"))
                instance->find_canvas_view(canvas)->canvas_properties.present();
 }