Bonjour à tous,
Je rencontre un petit problème :
J'essaie d'afficher un menu popup lorsque l'utilisateur fait un click droit sur une icône dans la barre de statut.
Rien de bien difficile, il me suffit de créer mon menu puis de connecter le signal "popup-menu" de la GtkStatusIcon à une callback qui appelle gtk_menu_popup().
Voici le code de ma callback :
Le problème c'est que lorsque je clique (à droite bien sûr!) sur l'icône, je vois un minuscule carré qui ne ressemble pas vraiment à un menu, d'ailleurs quand je clique dedans rien ne se passe alors que mes items sont connectés à des callbacks.
Code : Sélectionner tout - Visualiser dans une fenêtre à part gtk_menu_popup(GTK_MENU(instance().m_skins), NULL, NULL, >k_status_icon_position_menu, NULL, button, activate_time);
Savez vous d'où cela peut provenir?
Merci d'avance!
Sp@rtan03
PS : Voici comment je crée mes menus (le tout se fait au sein d'un SINGLETON, je suis en c++, d'où le instance())
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 sb_popup_menu = gtk_menu_new(); mi_open_sw = gtk_menu_item_new_with_label(g_locale_to_utf8(LANGPACK::instance().expression("afficher reglages").c_str(), -1, NULL, NULL, NULL)); g_signal_connect(G_OBJECT(mi_open_sw), "activate", G_CALLBACK(cb_mi_open_sw_activate), NULL); mi_separator = gtk_separator_menu_item_new(); mi_quit = gtk_menu_item_new_with_label(g_locale_to_utf8(LANGPACK::instance().expression("quitter").c_str(), -1, NULL, NULL, NULL)); g_signal_connect(G_OBJECT(mi_quit), "activate", G_CALLBACK(cb_mi_quit_activate), NULL); gtk_menu_shell_insert(GTK_MENU_SHELL(sb_popup_menu), mi_open_sw, 0); gtk_menu_shell_insert(GTK_MENU_SHELL(sb_popup_menu), mi_separator, 1); gtk_menu_shell_insert(GTK_MENU_SHELL(sb_popup_menu), mi_quit, 2);
Partager