[geany/geany] daecf6: Make keybindings_get_modifiers() part of plugin API

Jiří Techet git-noreply at xxxxx
Tue Feb 10 16:23:41 UTC 2015


Branch:      refs/heads/master
Author:      Jiří Techet <techet at gmail.com>
Committer:   Jiří Techet <techet at gmail.com>
Date:        Tue, 20 Jan 2015 18:33:06 UTC
Commit:      daecf69c9cd29891c661d3c52dd0fa7ba451d972
             https://github.com/geany/geany/commit/daecf69c9cd29891c661d3c52dd0fa7ba451d972

Log Message:
-----------
Make keybindings_get_modifiers() part of plugin API


Modified Paths:
--------------
    plugins/geanyfunctions.h
    src/keybindings.c
    src/keybindings.h
    src/plugindata.h
    src/plugins.c

Modified: plugins/geanyfunctions.h
2 lines changed, 2 insertions(+), 0 deletions(-)
===================================================================
@@ -342,6 +342,8 @@
 	geany_functions->p_keybindings->keybindings_set_item
 #define keybindings_get_item \
 	geany_functions->p_keybindings->keybindings_get_item
+#define keybindings_get_modifiers \
+	geany_functions->p_keybindings->keybindings_get_modifiers
 #define tm_get_real_path \
 	geany_functions->p_tm->tm_get_real_path
 #define tm_source_file_new \


Modified: src/keybindings.c
9 lines changed, 9 insertions(+), 0 deletions(-)
===================================================================
@@ -110,6 +110,15 @@ static void cb_func_move_tab(guint key_id);
 static void add_popup_menu_accels(void);
 
 
+/** Gets significant modifiers from a GdkModifierType mask. The set of 
+ * significant modifiers corresponds to the default modifier mask as returned 
+ * by @c gtk_accelerator_get_default_mod_mask(). In addition, it improves
+ * the Command key handling on OS X by adding @c GEANY_PRIMARY_MOD_MASK
+ * when needed. For this reason it is preferred to use this function 
+ * instead of @c gtk_accelerator_set_default_mod_mask().
+ * @param mods GdkModifierType mask.
+ * @return Significant modifiers from the mask.
+ * @since 1.25. */
 GdkModifierType keybindings_get_modifiers(GdkModifierType mods)
 {
 #ifdef __APPLE__


Modified: src/keybindings.h
5 lines changed, 5 insertions(+), 0 deletions(-)
===================================================================
@@ -26,6 +26,11 @@
 
 G_BEGIN_DECLS
 
+/** Defines the primary modifier mask which is the Ctrl key mask on
+ * UNIX/Windows and Command key mask on OS X. When testing for the mask
+ * presence, use together with keybindings_get_modifiers() which adds 
+ * @c GEANY_PRIMARY_MOD_MASK when needed.
+ * @since 1.25. */
 #ifdef __APPLE__
 #define GEANY_PRIMARY_MOD_MASK GDK_META_MASK
 #else


Modified: src/plugindata.h
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -565,7 +565,7 @@ typedef struct KeybindingFuncs
 					_GeanyKeyCallback callback, guint key, GdkModifierType mod,
 					const gchar *name, const gchar *label, GtkWidget *menu_item);
 	struct GeanyKeyBinding* (*keybindings_get_item)(struct GeanyKeyGroup *group, gsize key_id);
-
+	GdkModifierType (*keybindings_get_modifiers)(GdkModifierType mods);
 }
 KeybindingFuncs;
 


Modified: src/plugins.c
3 lines changed, 2 insertions(+), 1 deletions(-)
===================================================================
@@ -284,7 +284,8 @@ static EncodingFuncs encoding_funcs = {
 static KeybindingFuncs keybindings_funcs = {
 	&keybindings_send_command,
 	&keybindings_set_item,
-	&keybindings_get_item
+	&keybindings_get_item,
+	&keybindings_get_modifiers
 };
 
 static TagManagerFuncs tagmanager_funcs = {



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list