diff options
| author | Sylvain Chiron <chironsylvain@orange.fr> | 2017-07-01 12:08:02 +0000 |
|---|---|---|
| committer | Sylvain Chiron <chironsylvain@orange.fr> | 2017-07-01 12:08:02 +0000 |
| commit | b311d097b148a2cf5213ca86a45cb562bdd02986 (patch) | |
| tree | 56b5c507727a852325a093ddedd2c3f44793c4ce /src/shortcuts.cpp | |
| parent | Updated libs from the Adaptagrams project: libavoid, libcola and libvspc; cha... (diff) | |
| parent | Fix a compiling error on debian testing (diff) | |
| download | inkscape-b311d097b148a2cf5213ca86a45cb562bdd02986.tar.gz inkscape-b311d097b148a2cf5213ca86a45cb562bdd02986.zip | |
Merge branch 'master' of gitlab.com:inkscape/inkscape
Diffstat (limited to 'src/shortcuts.cpp')
| -rw-r--r-- | src/shortcuts.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/shortcuts.cpp b/src/shortcuts.cpp index f8a647040..8a8d36d5a 100644 --- a/src/shortcuts.cpp +++ b/src/shortcuts.cpp @@ -122,6 +122,12 @@ unsigned int sp_gdkmodifier_to_shortcut(guint accel_key, Gdk::ModifierType gdkmo SP_SHORTCUT_SHIFT_MASK : 0 ) | ( gdkmodifier & GDK_CONTROL_MASK ? SP_SHORTCUT_CONTROL_MASK : 0 ) | + ( gdkmodifier & GDK_SUPER_MASK ? + SP_SHORTCUT_SUPER_MASK : 0 ) | + ( gdkmodifier & GDK_HYPER_MASK ? + SP_SHORTCUT_HYPER_MASK : 0 ) | + ( gdkmodifier & GDK_META_MASK ? + SP_SHORTCUT_META_MASK : 0 ) | ( gdkmodifier & GDK_MOD1_MASK ? SP_SHORTCUT_ALT_MASK : 0 ); @@ -138,6 +144,12 @@ Glib::ustring sp_shortcut_to_label(unsigned int const shortcut) { modifiers += "Shift,"; if (shortcut & SP_SHORTCUT_ALT_MASK) modifiers += "Alt,"; + if (shortcut & SP_SHORTCUT_SUPER_MASK) + modifiers += "Super,"; + if (shortcut & SP_SHORTCUT_HYPER_MASK) + modifiers += "Hyper,"; + if (shortcut & SP_SHORTCUT_META_MASK) + modifiers += "Meta,"; if(modifiers.length() > 0 && modifiers.find(',',modifiers.length()-1)!=modifiers.npos) { @@ -607,6 +619,18 @@ static void read_shortcuts_file(char const *filename, bool const is_user_set) { modifiers |= SP_SHORTCUT_SHIFT_MASK; } else if (!strcmp(mod, "Alt")) { modifiers |= SP_SHORTCUT_ALT_MASK; + } else if (!strcmp(mod, "Super")) { + modifiers |= SP_SHORTCUT_SUPER_MASK; + } else if (!strcmp(mod, "Hyper")) { + modifiers |= SP_SHORTCUT_HYPER_MASK; + } else if (!strcmp(mod, "Meta")) { + modifiers |= SP_SHORTCUT_META_MASK; + } else if (!strcmp(mod, "Primary")) { +#ifdef __APPLE__ + modifiers |= SP_SHORTCUT_META_MASK; +#else + modifiers |= SP_SHORTCUT_CONTROL_MASK; +#endif } else { g_warning("Unknown modifier %s for %s", mod, verb_name); } @@ -694,6 +718,9 @@ sp_shortcut_get_modifiers(unsigned int const shortcut) return static_cast<GdkModifierType>( ((shortcut & SP_SHORTCUT_SHIFT_MASK) ? GDK_SHIFT_MASK : 0) | ((shortcut & SP_SHORTCUT_CONTROL_MASK) ? GDK_CONTROL_MASK : 0) | + ((shortcut & SP_SHORTCUT_SUPER_MASK) ? GDK_SUPER_MASK : 0) | + ((shortcut & SP_SHORTCUT_HYPER_MASK) ? GDK_HYPER_MASK : 0) | + ((shortcut & SP_SHORTCUT_META_MASK) ? GDK_META_MASK : 0) | ((shortcut & SP_SHORTCUT_ALT_MASK) ? GDK_MOD1_MASK : 0) ); } |
