correctly package color theme files for both linux and OS X
[ardour.git] / gtk2_ardour / ardour_ui_ed.cc
index 5603614e9bd279d68445015c70c177fad246f760..9a8fc904e67b1f87dfb50691f62da430fefe4223 100644 (file)
@@ -68,7 +68,7 @@
 
 #include "control_protocol/control_protocol.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace std;
 using namespace ARDOUR;
@@ -108,6 +108,12 @@ ARDOUR_UI::create_luawindow ()
        return 0;
 }
 
+void
+ARDOUR_UI::escape ()
+{
+       Escape (); /* EMIT SIGNAL */
+}
+
 void
 ARDOUR_UI::install_actions ()
 {
@@ -115,6 +121,8 @@ ARDOUR_UI::install_actions ()
        Glib::RefPtr<ActionGroup> main_menu_actions = global_actions.create_action_group (X_("Main_menu"));
        Glib::RefPtr<Action> act;
 
+       global_actions.register_action (main_actions, X_("Escape"), _("Escape"), sigc::mem_fun (*this, &ARDOUR_UI::escape));
+
        /* menus + submenus that need action items */
 
        global_actions.register_action (main_menu_actions, X_("Session"), _("Session"));
@@ -148,8 +156,7 @@ ARDOUR_UI::install_actions ()
        act = global_actions.register_action (main_actions, X_("Close"), _("Close"),  sigc::mem_fun(*this, &ARDOUR_UI::close_session));
        ActionManager::session_sensitive_actions.push_back (act);
 
-       act = global_actions.register_action (main_actions, X_("AddTrackBus"), _("Add Track or Bus..."),
-                                             sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::add_route), (Gtk::Window*) 0));
+       act = global_actions.register_action (main_actions, X_("AddTrackBus"), _("Add Track or Bus..."), sigc::mem_fun(*this, &ARDOUR_UI::add_route));
        ActionManager::session_sensitive_actions.push_back (act);
        ActionManager::write_sensitive_actions.push_back (act);
 
@@ -180,7 +187,7 @@ ARDOUR_UI::install_actions ()
        act = global_actions.register_action (main_actions, X_("CloseVideo"), _("Remove Video"),
                                              sigc::mem_fun (*this, &ARDOUR_UI::remove_video));
        act->set_sensitive (false);
-       act = global_actions.register_action (main_actions, X_("ExportVideo..."), _("Export to Video File"),
+       act = global_actions.register_action (main_actions, X_("ExportVideo"), _("Export to Video File..."),
                                              hide_return (sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::export_video), false)));
        ActionManager::session_sensitive_actions.push_back (act);
 
@@ -677,6 +684,7 @@ ARDOUR_UI::save_ardour_state ()
           a different lifetime model from add_instant_xml().
        */
 
+       LocaleGuard lg; // one guard to rule them all
        XMLNode* node = new XMLNode (keyboard->get_state());
        Config->add_extra_xml (*node);
        Config->add_extra_xml (get_transport_controllable_state());
@@ -703,7 +711,7 @@ ARDOUR_UI::save_ardour_state ()
        } else if (current_page_number == _tabs.page_num (mixer->contents())) {
                current_tab = "mixer";
        } else if (current_page_number == _tabs.page_num (rc_option_editor->contents())) {
-               current_tab == "preferences";
+               current_tab = "preferences";
        }
 
        main_window_node.add_property (X_("current-tab"), current_tab);
@@ -725,6 +733,7 @@ ARDOUR_UI::save_ardour_state ()
        XMLNode& enode (editor->get_state());
        XMLNode& mnode (mixer->get_state());
        XMLNode& bnode (meterbridge->get_state());
+       XMLNode& pnode (rc_option_editor->get_state());
 
        Config->add_extra_xml (*window_node);
        Config->add_extra_xml (audio_midi_setup->get_state());
@@ -737,6 +746,7 @@ ARDOUR_UI::save_ardour_state ()
                _session->add_instant_xml (main_window_node);
                _session->add_instant_xml (enode);
                _session->add_instant_xml (mnode);
+               _session->add_instant_xml (pnode);
                _session->add_instant_xml (bnode);
                if (location_ui) {
                        _session->add_instant_xml (location_ui->ui().get_state ());
@@ -745,12 +755,17 @@ ARDOUR_UI::save_ardour_state ()
                Config->add_instant_xml (main_window_node);
                Config->add_instant_xml (enode);
                Config->add_instant_xml (mnode);
+               Config->add_instant_xml (pnode);
                Config->add_instant_xml (bnode);
                if (location_ui) {
                        Config->add_instant_xml (location_ui->ui().get_state ());
                }
        }
+
        delete &enode;
+       delete &mnode;
+       delete &bnode;
+       delete &pnode;
 
        Keyboard::save_keybindings ();
 }