summaryrefslogtreecommitdiff
path: root/src/gui/agroup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/agroup.c')
-rw-r--r--src/gui/agroup.c37
1 files changed, 29 insertions, 8 deletions
diff --git a/src/gui/agroup.c b/src/gui/agroup.c
index 00dbaef..435f005 100644
--- a/src/gui/agroup.c
+++ b/src/gui/agroup.c
@@ -28,9 +28,6 @@
#include <stdbool.h>
-#include "core/global.h"
-
-
/* Détermine si un élément graphique peut être actionné. */
static gboolean enable_accel_all_the_time(GtkWidget *, guint, gpointer);
@@ -39,7 +36,6 @@ static gboolean enable_accel_all_the_time(GtkWidget *, guint, gpointer);
static gboolean enable_accel_with_care(GtkWidget *, guint, gpointer);
-
/* Suivi des autorisations suivant la zone active. */
static bool _entry_focused = false;
@@ -47,6 +43,31 @@ static bool _entry_focused = false;
/******************************************************************************
* *
+* Paramètres : builder = constructeur avec l'ensemble des références. *
+* *
+* Description : Précise l'accès aux menus avec raccourcis. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+void setup_accel_group_callbacks(GtkBuilder *builder)
+{
+
+#define DEFINE_CALLBACK(cb) #cb, G_CALLBACK(cb)
+
+ gtk_builder_add_callback_symbols(builder,
+ DEFINE_CALLBACK(enable_accel_all_the_time),
+ DEFINE_CALLBACK(enable_accel_with_care),
+ NULL);
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : widget = composant graphique à analyser. *
* signal_id = identifiant de signal. *
* unused = adresse non utilisée ici. *
@@ -97,9 +118,9 @@ static gboolean enable_accel_with_care(GtkWidget *widget, guint signal_id, gpoin
/******************************************************************************
* *
-* Paramètres : widget = composant GTK à traiter. *
+* Paramètres : builder = constructeur associé à l'interface principale. *
+* widget = composant GTK à traiter. *
* accelerator = description sous forme de chaîne de caractères.*
-* group = groupe d'appartenance du raccourci. *
* *
* Description : Ajoute un accélérateur à un composant graphique. *
* *
@@ -109,7 +130,7 @@ static gboolean enable_accel_with_care(GtkWidget *widget, guint signal_id, gpoin
* *
******************************************************************************/
-void add_accelerator_to_widget(GtkWidget *widget, const char *accelerator)
+void add_accelerator_to_widget(GtkBuilder *builder, GtkWidget *widget, const char *accelerator)
{
guint key; /* Touche concernée */
GdkModifierType mods; /* Eventuels modificateurs */
@@ -122,7 +143,7 @@ void add_accelerator_to_widget(GtkWidget *widget, const char *accelerator)
else
g_signal_connect(widget, "can-activate-accel", G_CALLBACK(enable_accel_all_the_time), NULL);
- group = get_accel_group();
+ group = GTK_ACCEL_GROUP(gtk_builder_get_object(builder, "accelgroup"));
gtk_widget_add_accelerator(widget, "activate", group,
key, mods, GTK_ACCEL_VISIBLE);