X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fgtkmm2ext%2Fkeyboard.cc;h=97531fe8f1bfdc654180d6196369177eb5226629;hb=4d695eaf51b033502ae6d81919a492e230b50438;hp=6417596dad93a9fb005901c1e7f249812bd13ff8;hpb=8d70b760598d0510f757c8b0653230f4cbec89cc;p=ardour.git diff --git a/libs/gtkmm2ext/keyboard.cc b/libs/gtkmm2ext/keyboard.cc index 6417596dad..97531fe8f1 100644 --- a/libs/gtkmm2ext/keyboard.cc +++ b/libs/gtkmm2ext/keyboard.cc @@ -60,7 +60,7 @@ guint Keyboard::insert_note_mod = GDK_CONTROL_MASK; #ifdef __APPLE__ -uint Keyboard::PrimaryModifier = (GDK_MOD2_MASK|GDK_META_MASK); // Command +guint Keyboard::PrimaryModifier = GDK_MOD2_MASK; // Command guint Keyboard::SecondaryModifier = GDK_CONTROL_MASK; // Control guint Keyboard::TertiaryModifier = GDK_SHIFT_MASK; // Shift guint Keyboard::Level4Modifier = GDK_MOD1_MASK; // Alt/Option @@ -168,26 +168,16 @@ XMLNode& Keyboard::get_state (void) { XMLNode* node = new XMLNode ("Keyboard"); - char buf[32]; - - snprintf (buf, sizeof (buf), "%d", CopyModifier); - node->add_property ("copy-modifier", buf); - snprintf (buf, sizeof (buf), "%d", edit_but); - node->add_property ("edit-button", buf); - snprintf (buf, sizeof (buf), "%d", edit_mod); - node->add_property ("edit-modifier", buf); - snprintf (buf, sizeof (buf), "%d", delete_but); - node->add_property ("delete-button", buf); - snprintf (buf, sizeof (buf), "%d", delete_mod); - node->add_property ("delete-modifier", buf); - snprintf (buf, sizeof (buf), "%d", snap_mod); - node->add_property ("snap-modifier", buf); - snprintf (buf, sizeof (buf), "%d", snap_delta_mod); - node->add_property ("snap-delta-modifier", buf); - snprintf (buf, sizeof (buf), "%d", insert_note_but); - node->add_property ("insert-note-button", buf); - snprintf (buf, sizeof (buf), "%d", insert_note_mod); - node->add_property ("insert-note-modifier", buf); + + node->set_property ("copy-modifier", CopyModifier); + node->set_property ("edit-button", edit_but); + node->set_property ("edit-modifier", edit_mod); + node->set_property ("delete-button", delete_but); + node->set_property ("delete-modifier", delete_mod); + node->set_property ("snap-modifier", snap_mod); + node->set_property ("snap-delta-modifier", snap_delta_mod); + node->set_property ("insert-note-button", insert_note_but); + node->set_property ("insert-note-modifier", insert_note_mod); return *node; } @@ -195,43 +185,15 @@ Keyboard::get_state (void) int Keyboard::set_state (const XMLNode& node, int /*version*/) { - XMLProperty const * prop; - - if ((prop = node.property ("copy-modifier")) != 0) { - sscanf (prop->value().c_str(), "%d", &CopyModifier); - } - - if ((prop = node.property ("edit-button")) != 0) { - sscanf (prop->value().c_str(), "%d", &edit_but); - } - - if ((prop = node.property ("edit-modifier")) != 0) { - sscanf (prop->value().c_str(), "%d", &edit_mod); - } - - if ((prop = node.property ("delete-button")) != 0) { - sscanf (prop->value().c_str(), "%d", &delete_but); - } - - if ((prop = node.property ("delete-modifier")) != 0) { - sscanf (prop->value().c_str(), "%d", &delete_mod); - } - - if ((prop = node.property ("snap-modifier")) != 0) { - sscanf (prop->value().c_str(), "%d", &snap_mod); - } - - if ((prop = node.property ("snap-delta-modifier")) != 0) { - sscanf (prop->value().c_str(), "%d", &snap_delta_mod); - } - - if ((prop = node.property ("insert-note-button")) != 0) { - sscanf (prop->value().c_str(), "%d", &insert_note_but); - } - - if ((prop = node.property ("insert-note-modifier")) != 0) { - sscanf (prop->value().c_str(), "%d", &insert_note_mod); - } + node.get_property ("copy-modifier", CopyModifier); + node.get_property ("edit-button", edit_but); + node.get_property ("edit-modifier", edit_mod); + node.get_property ("delete-button", delete_but); + node.get_property ("delete-modifier", delete_mod); + node.get_property ("snap-modifier", snap_mod); + node.get_property ("snap-delta-modifier", snap_delta_mod); + node.get_property ("insert-note-button", insert_note_but); + node.get_property ("insert-note-modifier", insert_note_mod); return 0; } @@ -690,7 +652,7 @@ Keyboard::store_keybindings (string const & path) for (list::const_iterator b = Bindings::bindings.begin(); b != Bindings::bindings.end(); ++b) { bnode = new XMLNode (X_("Bindings")); - bnode->add_property (X_("name"), (*b)->name()); + bnode->set_property (X_("name"), (*b)->name()); (*b)->save (*bnode); node->add_child_nocopy (*bnode); } @@ -722,6 +684,7 @@ Keyboard::reset_bindings () { PBD::Unwinder uw (can_save_keybindings, false); + Bindings::reset_bindings (); setup_keybindings (); Bindings::associate_all (); }