prevent massive, multiple, pointless keybindings saves during startup

git-svn-id: svn://localhost/ardour2/trunk@1263 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2007-01-03 18:48:27 +00:00
parent 758e2e6a93
commit fd42bffae7
4 changed files with 18 additions and 2 deletions

View File

@ -218,7 +218,7 @@
; (gtk_accel_path "<Actions>/Editor/PullupPlus1" "")
; (gtk_accel_path "<Actions>/Editor/Smpte24976" "")
; (gtk_accel_path "<Actions>/options/FileDataFormat24bit" "")
; (gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "")
(gtk_accel_path "<Actions>/Common/ToggleOptionsEditor" "<Control>o")
; (gtk_accel_path "<Actions>/Editor/SnapMode" "")
; (gtk_accel_path "<Actions>/Editor/PullupMinus4" "")
(gtk_accel_path "<Actions>/Common/goto-mixer" "<Alt>m")

View File

@ -165,6 +165,9 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], string rcfile)
last_speed_displayed = -1.0f;
keybindings_path = ARDOUR::find_config_file ("ardour.bindings");
can_save_keybindings = false;
Glib::signal_idle().connect (mem_fun (*this, &ARDOUR_UI::first_idle));
last_configure_time.tv_sec = 0;
last_configure_time.tv_usec = 0;
@ -2423,5 +2426,14 @@ ARDOUR_UI::set_keybindings_path (string path)
void
ARDOUR_UI::save_keybindings ()
{
AccelMap::save (keybindings_path);
if (can_save_keybindings) {
AccelMap::save (keybindings_path);
}
}
bool
ARDOUR_UI::first_idle ()
{
can_save_keybindings = true;
return false;
}

View File

@ -666,6 +666,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI
void toggle_control_protocol (ARDOUR::ControlProtocolInfo*);
void toggle_control_protocol_feedback (ARDOUR::ControlProtocolInfo*, const char* group_name, std::string action_name);
bool can_save_keybindings;
bool first_idle ();
};
#endif /* __ardour_gui_h__ */

View File

@ -27,6 +27,7 @@
#include <gtkmm/accelmap.h>
#include <pbd/error.h>
#include "ardour_ui.h"
#include "public_editor.h"
#include "mixer_ui.h"