Add sokoke_gtk_action_count_modifiers helper function
This commit is contained in:
parent
89e72b73d3
commit
6556d71273
3 changed files with 40 additions and 0 deletions
|
@ -149,5 +149,10 @@ namespace Midori {
|
|||
public class WebSettings : WebKit.WebSettings {
|
||||
public WebSettings ();
|
||||
}
|
||||
|
||||
[CCode (cheader_filename = "midori/sokoke.h", lower_case_cprefix = "sokoke_")]
|
||||
namespace Sokoke {
|
||||
public static uint gtk_action_count_modifiers (Gtk.Action action);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1682,6 +1682,39 @@ sokoke_window_activate_key (GtkWindow* window,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* sokoke_gtk_action_count_modifiers:
|
||||
* @action: a #GtkAction
|
||||
*
|
||||
* Counts the number of modifiers in the accelerator
|
||||
* belonging to the action.
|
||||
*
|
||||
* Return value: the number of modifiers
|
||||
**/
|
||||
guint
|
||||
sokoke_gtk_action_count_modifier (GtkAction* action)
|
||||
{
|
||||
GtkAccelKey key;
|
||||
gint mods, cmods = 0;
|
||||
const gchar* accel_path;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_ACTION (action), 0);
|
||||
|
||||
accel_path = gtk_action_get_accel_path (action);
|
||||
if (accel_path)
|
||||
if (gtk_accel_map_lookup_entry (accel_path, &key))
|
||||
{
|
||||
mods = key.accel_mods;
|
||||
while (mods)
|
||||
{
|
||||
if (1 & mods >> 0)
|
||||
cmods++;
|
||||
mods = mods >> 1;
|
||||
}
|
||||
}
|
||||
return cmods;
|
||||
}
|
||||
|
||||
/**
|
||||
* sokoke_file_chooser_dialog_new:
|
||||
* @title: a window title, or %NULL
|
||||
|
|
|
@ -227,6 +227,8 @@ sokoke_replace_variables (const gchar* template,
|
|||
gboolean
|
||||
sokoke_window_activate_key (GtkWindow* window,
|
||||
GdkEventKey* event);
|
||||
guint
|
||||
sokoke_gtk_action_count_modifiers (GtkAction* action);
|
||||
|
||||
GtkWidget*
|
||||
sokoke_file_chooser_dialog_new (const gchar* title,
|
||||
|
|
Loading…
Reference in a new issue