[gtk+] GtkAccelLabel: Add a setter for manual accels



commit 7e3f68d950c3d29bcf2e630a0ebeaec67b4f5901
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Jan 5 11:12:09 2014 -0500

    GtkAccelLabel: Add a setter for manual accels
    
    This is needed to keep the a11y keybinding code working.

 docs/reference/gtk/gtk3-sections.txt |    1 +
 gtk/gtkaccellabel.c                  |   24 ++++++++++++++++++++++++
 gtk/gtkaccellabel.h                  |    4 ++++
 3 files changed, 29 insertions(+), 0 deletions(-)
---
diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt
index ae68281..aaa9c8e 100644
--- a/docs/reference/gtk/gtk3-sections.txt
+++ b/docs/reference/gtk/gtk3-sections.txt
@@ -140,6 +140,7 @@ gtk_accel_label_get_accel_widget
 gtk_accel_label_set_accel_widget
 gtk_accel_label_get_accel_width
 gtk_accel_label_set_accel
+gtk_accel_label_get_accel
 gtk_accel_label_refetch
 <SUBSECTION Standard>
 GTK_ACCEL_LABEL
diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c
index 0747f57..3dbfeb8 100644
--- a/gtk/gtkaccellabel.c
+++ b/gtk/gtkaccellabel.c
@@ -981,8 +981,32 @@ gtk_accel_label_set_accel (GtkAccelLabel   *accel_label,
                            guint            accelerator_key,
                            GdkModifierType  accelerator_mods)
 {
+  g_return_if_fail (GTK_IS_ACCEL_LABEL (accel_label));
+
   accel_label->priv->accel_key = accelerator_key;
   accel_label->priv->accel_mods = accelerator_mods;
 
   gtk_accel_label_reset (accel_label);
 }
+
+/**
+ * gtk_accel_label_get_accel:
+ * @accel_label: a #GtkAccelLabel
+ * @accelerator_key: return location for the keyval
+ * @accelerator_mods: return location for the modifier mask
+ *
+ * Returns the keyval and modifier mask set with
+ * gtk_accel_label_set_accel().
+ *
+ * Since: 3.12
+ */
+void
+gtk_accel_label_get_accel (GtkAccelLabel   *accel_label,
+                           guint           *accelerator_key,
+                           GdkModifierType *accelerator_mods)
+{
+  g_return_if_fail (GTK_IS_ACCEL_LABEL (accel_label));
+
+  *accelerator_key = accel_label->priv->accel_key;
+  *accelerator_mods = accel_label->priv->accel_mods;
+}
diff --git a/gtk/gtkaccellabel.h b/gtk/gtkaccellabel.h
index 2a56980..27a5712 100644
--- a/gtk/gtkaccellabel.h
+++ b/gtk/gtkaccellabel.h
@@ -101,6 +101,10 @@ GDK_AVAILABLE_IN_3_6
 void       gtk_accel_label_set_accel         (GtkAccelLabel   *accel_label,
                                               guint            accelerator_key,
                                               GdkModifierType  accelerator_mods);
+GDK_AVAILABLE_IN_3_12
+void       gtk_accel_label_get_accel         (GtkAccelLabel   *accel_label,
+                                              guint           *accelerator_key,
+                                              GdkModifierType *accelerator_mods);
 
 /* private */
 gchar *    _gtk_accel_label_class_get_accelerator_label (GtkAccelLabelClass *klass,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]