From 8161c68142d60b5382155832ac91062705599df9 Mon Sep 17 00:00:00 2001 From: Nedko Arnaudov Date: Sun, 30 Aug 2009 22:48:13 +0300 Subject: [PATCH] gladish: Daemon exit (reactivate) menu item --- gui/gui.glade | 15 +++++++++++++++ gui/main.c | 13 +++++++++++++ 2 files changed, 28 insertions(+) diff --git a/gui/gui.glade b/gui/gui.glade index e042c18b..ca497487 100644 --- a/gui/gui.glade +++ b/gui/gui.glade @@ -179,6 +179,21 @@ True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Daemon exit (reactivate) + True + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + gtk-refresh + + + + True diff --git a/gui/main.c b/gui/main.c index 122aaf39..cb200ef2 100644 --- a/gui/main.c +++ b/gui/main.c @@ -58,6 +58,7 @@ GtkWidget * g_menu_item_create_room; GtkWidget * g_menu_item_destroy_room; GtkWidget * g_menu_item_load_project; GtkWidget * g_menu_item_start_app; +GtkWidget * g_menu_item_daemon_exit; GtkWidget * g_name_dialog; @@ -221,6 +222,16 @@ static void arrange(void) } } +static void daemon_exit(GtkWidget * item) +{ + lash_info("Daemon exit request"); + + if (!control_proxy_exit()) + { + /* TODO: display error message */ + } +} + static void on_load_studio(GtkWidget * item) { const char * studio_name; @@ -566,6 +577,7 @@ int main(int argc, char** argv) g_menu_item_destroy_room = get_glade_widget("menu_item_destroy_room"); g_menu_item_load_project = get_glade_widget("menu_item_load_project"); g_menu_item_start_app = get_glade_widget("menu_item_start_app"); + g_menu_item_daemon_exit = get_glade_widget("menu_item_daemon_exit"); g_name_dialog = get_glade_widget("name_dialog"); @@ -607,6 +619,7 @@ int main(int argc, char** argv) g_signal_connect(G_OBJECT(g_menu_item_unload_studio), "activate", G_CALLBACK(unload_studio), NULL); g_signal_connect(G_OBJECT(g_menu_item_save_studio), "activate", G_CALLBACK(save_studio), NULL); g_signal_connect(G_OBJECT(g_menu_item_rename_studio), "activate", G_CALLBACK(rename_studio), NULL); + g_signal_connect(G_OBJECT(g_menu_item_daemon_exit), "activate", G_CALLBACK(daemon_exit), NULL); gtk_widget_show(g_main_win);