diff options
Diffstat (limited to 'src/gui')
| -rw-r--r-- | src/gui/editor.c | 49 | 
1 files changed, 34 insertions, 15 deletions
diff --git a/src/gui/editor.c b/src/gui/editor.c index b856971..5e8717a 100644 --- a/src/gui/editor.c +++ b/src/gui/editor.c @@ -76,6 +76,9 @@ static void on_destroy_editor(GtkWidget *, GObject *);  /* Réagit à un changement de focus pour l'éditeur. */  static gboolean on_focus_out(GtkWidget *, GdkEventFocus *, GObject *); +/* Encadre certains raccourcis actionnés sur un menu. */ +static gboolean track_espace_on_main_submenu(GtkWidget *, GdkEventKey *, GtkWidget *); +  /* Permet la disparition de la barre de menus avec le clavier. */  static void track_root_menubars(GtkContainer *, bool); @@ -500,34 +503,50 @@ static gboolean on_focus_out(GtkWidget *widget, GdkEventFocus *event, GObject *r  /******************************************************************************  *                                                                             * -*  Paramètres  : menubar = barre de menu principale à traiter.                * -*                set     = indique si la surveillance est à activer ou non.   * +*  Paramètres  : menu  = composant actif pour la réception des touches.       * +*                event = informations liées à l'événement.                    * +*                item  = menu parent à manipuler au besoin.                   *  *                                                                             * -*  Description : Permet la disparition de la barre de menus avec le clavier.  * +*  Description : Encadre certains raccourcis actionnés sur un menu.           *  *                                                                             * -*  Retour      : -                                                            * +*  Retour      : FALSE afin de poursuivre la propagation de l'événement.      *  *                                                                             *  *  Remarques   : -                                                            *  *                                                                             *  ******************************************************************************/ -static void track_root_menubars(GtkContainer *menubar, bool set) +static gboolean track_espace_on_main_submenu(GtkWidget *menu, GdkEventKey *event, GtkWidget *item)  { -    gboolean track_espace_on_main_submenu(GtkWidget *menu, GdkEventKey *event, GtkWidget *item) +    GtkWidget *mbar;                        /* Barre de menus principale   */ + +    if (event->keyval == GDK_KEY_Escape)      { -        GtkWidget *mbar;                    /* Barre de menus principale   */ +        mbar = gtk_widget_get_parent(item); +        track_root_menubars(GTK_CONTAINER(mbar), false); +        gtk_widget_hide(mbar); +    } -        if (event->keyval == GDK_KEY_Escape) -        { -            mbar = gtk_widget_get_parent(item); -            track_root_menubars(GTK_CONTAINER(mbar), false); -            gtk_widget_hide(mbar); -        } +    return FALSE; + +} -        return FALSE; -    } +/****************************************************************************** +*                                                                             * +*  Paramètres  : menubar = barre de menu principale à traiter.                * +*                set     = indique si la surveillance est à activer ou non.   * +*                                                                             * +*  Description : Permet la disparition de la barre de menus avec le clavier.  * +*                                                                             * +*  Retour      : -                                                            * +*                                                                             * +*  Remarques   : -                                                            * +*                                                                             * +******************************************************************************/ + +static void track_root_menubars(GtkContainer *menubar, bool set) +{      void browse_all_main_items(GtkWidget *item, bool *track)      {          GtkWidget *menu;                    /* Menu à traiter              */  | 
