From 426b6ebce90a1615efa7b0bac16f3130e3aa40b1 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Mon, 25 Mar 2013 20:24:35 +0000 Subject: [PATCH] popup menu defined in .glade instead of code --- po/de.po | 10 +++--- po/es.po | 10 +++--- po/fr.po | 10 +++--- po/hu.po | 10 +++--- po/it.po | 10 +++--- po/lv.po | 10 +++--- po/psensor.pot | 10 +++--- po/pt_BR.po | 10 +++--- po/ru.po | 10 +++--- po/sl.po | 10 +++--- po/sr.po | 10 +++--- po/tr.po | 10 +++--- po/uk.po | 10 +++--- po/zh_CN.po | 10 +++--- src/glade/psensor.glade | 52 +++++++++++++++++++++++++++++ src/ui.c | 3 ++ src/ui.h | 3 +- src/ui_graph.c | 88 ++----------------------------------------------- 18 files changed, 129 insertions(+), 157 deletions(-) diff --git a/po/de.po b/po/de.po index 3d7074f..f42389d 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor 0.7.0.x\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-10-11 21:21+0000\n" "Last-Translator: Dennis Baudys \n" "Language-Team: German\n" @@ -34,16 +34,16 @@ msgstr "Beenden" msgid "Sensor Preferences" msgstr "Sensor-Einstellungen" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "Psensor – Temperaturüberwachung" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Sensor" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "_Hilfe" @@ -615,7 +615,7 @@ msgstr "SensorEinstellungen" msgid "_About" msgstr "_Info" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "Erstellen der Menüs ist gescheitert: %s" diff --git a/po/es.po b/po/es.po index 90f9e30..bdcf14b 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-11-07 14:42+0000\n" "Last-Translator: Eduardo Alberto Calvo \n" "Language-Team: Spanish \n" @@ -34,16 +34,16 @@ msgstr "Salir" msgid "Sensor Preferences" msgstr "Configurar sensores" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "Psensor - Monitor de temperatura" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Sensor" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "_Ayuda" @@ -617,7 +617,7 @@ msgstr "Configuración del sensor" msgid "_About" msgstr "_Acerca de" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "Error al construir los menús :%s" diff --git a/po/fr.po b/po/fr.po index eb0179c..d8d756a 100644 --- a/po/fr.po +++ b/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-12-13 15:00+0000\n" "Last-Translator: Alain-OIivier Breysse \n" "Language-Team: French <>\n" @@ -34,16 +34,16 @@ msgstr "Quitter" msgid "Sensor Preferences" msgstr "Préférences des capteurs" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "Psensor - Surveillance Des Températures" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Capteur" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "_Aide" @@ -620,7 +620,7 @@ msgstr "Configuration des capteurs" msgid "_About" msgstr "À _propos" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "La construction des menus a échouée: %s" diff --git a/po/hu.po b/po/hu.po index 985a358..5cc5cc0 100644 --- a/po/hu.po +++ b/po/hu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-10-29 09:41+0000\n" "Last-Translator: Bence Lukács \n" "Language-Team: Hungarian \n" @@ -35,16 +35,16 @@ msgstr "Kilépés" msgid "Sensor Preferences" msgstr "Érzékelő beállításai" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "Psensor - hőmérsékletfigyelő" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Érzékelő" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "_Súgó" @@ -611,7 +611,7 @@ msgstr "Érzékelőbeállítások" msgid "_About" msgstr "_Névjegy" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "menük építése meghiúsult: %s" diff --git a/po/it.po b/po/it.po index b406ab4..2ade49a 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor 0.7.0.x\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-08-13 08:20+0000\n" "Last-Translator: Andrea Bernini \n" "Language-Team: Italian\n" @@ -34,16 +34,16 @@ msgstr "Esci" msgid "Sensor Preferences" msgstr "Sensor Preferenze" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "Psensor - Monitor temperatura" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Sensore" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "_Aiuto" @@ -603,7 +603,7 @@ msgstr "SensorPreferenze" msgid "_About" msgstr "_Informazioni" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "costruzione dei menù fallita: %s" diff --git a/po/lv.po b/po/lv.po index 679d053..f0a2f61 100644 --- a/po/lv.po +++ b/po/lv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-11-11 10:38+0000\n" "Last-Translator: tuxmaniack \n" "Language-Team: Latvian \n" @@ -34,16 +34,16 @@ msgstr "Iziet" msgid "Sensor Preferences" msgstr "Sensoru iestatījumi" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "Psensor - temperatūras pārraugs" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Sensors" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "_Palīdzība" @@ -596,7 +596,7 @@ msgstr "SensoraIestatījumi" msgid "_About" msgstr "P_ar" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "neizdevās izveidot izvēlnes: %s" diff --git a/po/psensor.pot b/po/psensor.pot index 6133678..a64a5af 100644 --- a/po/psensor.pot +++ b/po/psensor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,15 +33,15 @@ msgstr "" msgid "Sensor Preferences" msgstr "" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 msgid "_Psensor" msgstr "" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "" @@ -573,7 +573,7 @@ msgstr "" msgid "_About" msgstr "" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "" diff --git a/po/pt_BR.po b/po/pt_BR.po index d278ea2..4de294d 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor 0.7.0.x\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-09-10 04:01+0000\n" "Last-Translator: Daniel Serafim \n" "Language-Team: Brazilian Portuguese\n" @@ -34,16 +34,16 @@ msgstr "Sair" msgid "Sensor Preferences" msgstr "Preferências de sensores" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "Psensor - Monitor de temperatura" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Sensor" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "Ajuda" @@ -588,7 +588,7 @@ msgstr "" msgid "_About" msgstr "Sobre" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "falha na montagem dos menus: %s" diff --git a/po/ru.po b/po/ru.po index cf32626..6f78320 100644 --- a/po/ru.po +++ b/po/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor 0.7.0.x\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-12-25 06:05+0000\n" "Last-Translator: Ilya Volchanetskiy \n" "Language-Team: Russian\n" @@ -34,16 +34,16 @@ msgstr "Выход" msgid "Sensor Preferences" msgstr "Параметры датчиков" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "Psensor - монитор температуры" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Датчик" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "_Справка" @@ -595,7 +595,7 @@ msgstr "" msgid "_About" msgstr "_О программе" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "не удалось создать меню: %s" diff --git a/po/sl.po b/po/sl.po index 0a80a05..adb7715 100644 --- a/po/sl.po +++ b/po/sl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-04-14 21:02+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Slovenian \n" @@ -34,15 +34,15 @@ msgstr "" msgid "Sensor Preferences" msgstr "" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 msgid "_Psensor" msgstr "" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "" @@ -574,7 +574,7 @@ msgstr "" msgid "_About" msgstr "" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "" diff --git a/po/sr.po b/po/sr.po index a0b02b7..87f2383 100644 --- a/po/sr.po +++ b/po/sr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-05-03 02:31+0000\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian \n" @@ -34,16 +34,16 @@ msgstr "Изађи" msgid "Sensor Preferences" msgstr "" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Сензор" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "" @@ -575,7 +575,7 @@ msgstr "" msgid "_About" msgstr "О _програму" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "" diff --git a/po/tr.po b/po/tr.po index 3e443e6..d55c48e 100644 --- a/po/tr.po +++ b/po/tr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-04-28 11:24+0000\n" "Last-Translator: zeugma \n" "Language-Team: Turkish \n" @@ -34,16 +34,16 @@ msgstr "" msgid "Sensor Preferences" msgstr "Tercihleri düzenle" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Algılayıcı" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "" @@ -575,7 +575,7 @@ msgstr "Tercihleri düzenle" msgid "_About" msgstr "" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "" diff --git a/po/uk.po b/po/uk.po index 6d7bea8..a345f0b 100644 --- a/po/uk.po +++ b/po/uk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2012-10-13 16:24+0000\n" "Last-Translator: Ilya Volchanetskiy \n" "Language-Team: Ukrainian \n" @@ -34,16 +34,16 @@ msgstr "Вихід" msgid "Sensor Preferences" msgstr "Налаштування датчиків" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "Датчик" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "_Довдіка" @@ -590,7 +590,7 @@ msgstr "" msgid "_About" msgstr "_Про програму" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "не вдалося створити меню: %s" diff --git a/po/zh_CN.po b/po/zh_CN.po index 37f3393..5c21486 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2013-03-25 10:24+0100\n" +"POT-Creation-Date: 2013-03-25 21:21+0100\n" "PO-Revision-Date: 2013-01-15 12:24+0000\n" "Last-Translator: Wang Dianjin \n" "Language-Team: Chinese (simplified)\n" @@ -34,16 +34,16 @@ msgstr "退出" msgid "Sensor Preferences" msgstr "传感器首选项" -#: src/glade/psensor.glade:22 +#: src/glade/psensor.glade:70 msgid "Psensor - Temperature Monitor" msgstr "Psensor - 温度监视器" -#: src/glade/psensor.glade:37 +#: src/glade/psensor.glade:85 #, fuzzy msgid "_Psensor" msgstr "监视设备" -#: src/glade/psensor.glade:81 +#: src/glade/psensor.glade:132 msgid "_Help" msgstr "帮助(_H)" @@ -602,7 +602,7 @@ msgstr "传感器首选项" msgid "_About" msgstr "关于(_A)" -#: src/ui_appindicator.c:186 src/ui_graph.c:99 +#: src/ui_appindicator.c:186 #, c-format msgid "building menus failed: %s" msgstr "创建菜单失败:%s" diff --git a/src/glade/psensor.glade b/src/glade/psensor.glade index c57e993..314089c 100644 --- a/src/glade/psensor.glade +++ b/src/glade/psensor.glade @@ -17,6 +17,54 @@ Sensor Preferences + + True + False + + + PreferencesAction + True + False + True + + + + + SensorPreferencesAction + True + False + True + + + + + True + False + + + + + AboutAction + True + False + True + + + + + True + False + + + + + QuitAction + True + False + True + + + False Psensor - Temperature Monitor @@ -45,6 +93,7 @@ PreferencesAction True False + True True @@ -53,6 +102,7 @@ SensorPreferencesAction True False + True True @@ -67,6 +117,7 @@ QuitAction True False + True True @@ -89,6 +140,7 @@ AboutAction True False + True True diff --git a/src/ui.c b/src/ui.c index cc6c270..d413891 100644 --- a/src/ui.c +++ b/src/ui.c @@ -227,6 +227,9 @@ void ui_window_create(struct ui_psensor *ui) ui->menu_bar = GTK_WIDGET(gtk_builder_get_object(builder, "menu_bar")); ui->main_box = GTK_WIDGET(gtk_builder_get_object(builder, "main_box")); + ui->popup_menu = GTK_WIDGET(gtk_builder_get_object(builder, + "popup_menu")); + g_object_ref(G_OBJECT(ui->popup_menu)); ui->main_window = window; gtk_widget_show_all(ui->main_box); diff --git a/src/ui.h b/src/ui.h index 14bd768..64eb05f 100644 --- a/src/ui.h +++ b/src/ui.h @@ -49,6 +49,8 @@ struct ui_psensor { GtkWidget *menu_bar; + GtkWidget *popup_menu; + /* * The main vertical box, top contains the menubar, bottom * contains the sensor_box. @@ -93,5 +95,4 @@ void ui_cb_preferences(GtkMenuItem *mi, gpointer data); void ui_cb_about(GtkMenuItem *mi, gpointer data); void ui_cb_menu_quit(GtkMenuItem *mi, gpointer data); void ui_cb_sensor_preferences(GtkMenuItem *mi, gpointer data); - #endif diff --git a/src/ui_graph.c b/src/ui_graph.c index cb58ca2..f21cbff 100644 --- a/src/ui_graph.c +++ b/src/ui_graph.c @@ -21,98 +21,14 @@ #include "ui_pref.h" #include "ui_sensorpref.h" -static void cb_menu_quit(GtkMenuItem *mi, gpointer data) -{ - ui_psensor_quit((struct ui_psensor *)data); -} - -static void cb_preferences(GtkMenuItem *mi, gpointer data) -{ - ui_pref_dialog_run((struct ui_psensor *)data); -} - -static void cb_about(GtkMenuItem *mi, gpointer data) -{ - ui_show_about_dialog(); -} - -static void cb_sensor_preferences(GtkMenuItem *mi, gpointer data) -{ - struct ui_psensor *ui = data; - - if (ui->sensors && *ui->sensors) - ui_sensorpref_dialog_run(*ui->sensors, ui); -} - -static const char *menu_desc = -"" -" " -" " -" " -" " -" " -" " -" " -" " -""; - -static GtkActionEntry entries[] = { - { "PsensorMenuAction", NULL, "_Psensor" }, - - { "PreferencesAction", GTK_STOCK_PREFERENCES, - "_Preferences", NULL, - "Preferences", - G_CALLBACK(cb_preferences) }, - - { "SensorPreferencesAction", GTK_STOCK_PREFERENCES, - "S_ensor Preferences", NULL, - "Sensor Preferences", - G_CALLBACK(cb_sensor_preferences) }, - - { "AboutAction", NULL, - "_About", NULL, - "About", - G_CALLBACK(cb_about) }, - - { "QuitAction", - GTK_STOCK_QUIT, "_Quit", NULL, "Quit", G_CALLBACK(cb_menu_quit) } -}; -static guint n_entries = G_N_ELEMENTS(entries); - -static GtkWidget *get_menu(struct ui_psensor *ui) -{ - GtkActionGroup *action_group; - GtkUIManager *menu_manager; - GError *error; - - action_group = gtk_action_group_new("PsensorActions"); - gtk_action_group_set_translation_domain(action_group, PACKAGE); - menu_manager = gtk_ui_manager_new(); - - gtk_action_group_add_actions(action_group, entries, n_entries, ui); - gtk_ui_manager_insert_action_group(menu_manager, action_group, 0); - - error = NULL; - gtk_ui_manager_add_ui_from_string(menu_manager, menu_desc, -1, &error); - - if (error) - g_error(_("building menus failed: %s"), error->message); - - return gtk_ui_manager_get_widget(menu_manager, "/MainMenu"); -} - - static int on_graph_clicked(GtkWidget *widget, GdkEventButton *event, gpointer data) { - GtkWidget *menu; - if (event->type != GDK_BUTTON_PRESS) return FALSE; - menu = get_menu((struct ui_psensor *)data); - - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, + gtk_menu_popup(GTK_MENU(((struct ui_psensor *)data)->popup_menu), + NULL, NULL, NULL, NULL, event->button, event->time); return TRUE; -- 2.7.4