From 7ba757753485e262add76dff1ec4f359c1b538cb Mon Sep 17 00:00:00 2001 From: Jesse van den Kieboom Date: Wed, 29 Mar 2006 12:23:28 +0000 Subject: [PATCH] gm-ui.h --- gnoemoe/gm-app.c | 6 +++++- gnoemoe/gm-editor.c | 2 -- gnoemoe/gm-support.c | 34 +++++++++++++++++----------------- gnoemoe/gm-support.h | 8 ++++---- gnoemoe/gm-ui.h | 3 +++ 5 files changed, 29 insertions(+), 24 deletions(-) diff --git a/gnoemoe/gm-app.c b/gnoemoe/gm-app.c index 88952f4..4ca3e36 100644 --- a/gnoemoe/gm-app.c +++ b/gnoemoe/gm-app.c @@ -534,14 +534,18 @@ gm_app_add_world(GmApp *app, GmWorld *world) { void gm_app_remove_world(GmApp *app, GmWorld *world) { // Only remove when not loaded - const gchar *path = gm_world_path(world); + gchar *path; if (!gm_world_loaded(world)) { + path = g_strdup(gm_world_path(world)); + app->priv->worlds = g_list_remove(app->priv->worlds, world); g_signal_emit(app, app_signals[WORLD_REMOVED], 0, world); g_object_unref(world); gm_directory_remove_all(path, TRUE); + + g_free(path); } } diff --git a/gnoemoe/gm-editor.c b/gnoemoe/gm-editor.c index b16c134..1c74065 100644 --- a/gnoemoe/gm-editor.c +++ b/gnoemoe/gm-editor.c @@ -243,8 +243,6 @@ gm_editor_write_lines(GmEditor *editor) { if (write(fd, line->data, strlen(line->data)) == -1) { gm_debug_msg(DEBUG_ALWAYS, "Writing failed"); break; - } else { - gm_debug_msg(DEBUG_ALWAYS, "Written: %s", line->data); } if (line->next) { diff --git a/gnoemoe/gm-support.c b/gnoemoe/gm-support.c index bb1e0f5..2dd8a2a 100644 --- a/gnoemoe/gm-support.c +++ b/gnoemoe/gm-support.c @@ -118,40 +118,40 @@ gm_g_list_find_simple(GList *s, gchar *f) { return NULL; } -void +gint gm_dialog(gchar * message, GtkMessageType messagebox_type, - GtkWindow * parent) { + gint buttons_type, GtkWindow * parent) { GtkWidget *dlg; - - if (parent == NULL) { - //parent = GTK_WINDOW(if_main_get_widget("wndMain")); - } - + gint result; + dlg = gtk_message_dialog_new(parent, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, - messagebox_type, GTK_BUTTONS_OK, message, NULL); - gtk_dialog_run(GTK_DIALOG(dlg)); + messagebox_type, buttons_type, message, NULL); + + result = gtk_dialog_run(GTK_DIALOG(dlg)); gtk_widget_destroy(dlg); + + return result; } -void +gint gm_error_dialog(gchar * message, GtkWindow * parent) { - gm_dialog(message, GTK_MESSAGE_ERROR, parent); + return gm_dialog(message, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, parent); } -void +gint gm_warning_dialog(gchar * message, GtkWindow * parent) { - gm_dialog(message, GTK_MESSAGE_WARNING, parent); + return gm_dialog(message, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, parent); } -void +gint gm_info_dialog(gchar * message, GtkWindow * parent) { - gm_dialog(message, GTK_MESSAGE_INFO, parent); + return gm_dialog(message, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, parent); } -void +gint gm_question_dialog(gchar * message, GtkWindow * parent) { - gm_dialog(message, GTK_MESSAGE_QUESTION, parent); + return gm_dialog(message, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, parent); } void diff --git a/gnoemoe/gm-support.h b/gnoemoe/gm-support.h index e199797..cc584c0 100644 --- a/gnoemoe/gm-support.h +++ b/gnoemoe/gm-support.h @@ -119,10 +119,10 @@ int garray_length(gchar **s); void gm_g_list_free_simple(GList *s); gchar *gm_g_list_find_simple(GList *s, gchar *f); -void gm_error_dialog(gchar * message, GtkWindow * parent); -void gm_warning_dialog(gchar * message, GtkWindow * parent); -void gm_info_dialog(gchar * message, GtkWindow * parent); -void gm_question_dialog(gchar * message, GtkWindow * parent); +gint gm_error_dialog(gchar * message, GtkWindow * parent); +gint gm_warning_dialog(gchar * message, GtkWindow * parent); +gint gm_info_dialog(gchar * message, GtkWindow * parent); +gint gm_question_dialog(gchar * message, GtkWindow * parent); void gm_do_events(); diff --git a/gnoemoe/gm-ui.h b/gnoemoe/gm-ui.h index a4d865a..9faa828 100644 --- a/gnoemoe/gm-ui.h +++ b/gnoemoe/gm-ui.h @@ -21,6 +21,9 @@ static const GtkActionEntry gm_sensitive_menu_entries[] = /* World menu */ {"WorldNew", GTK_STOCK_NEW, N_("New World..."), "N", N_("Create a new world"), G_CALLBACK(on_gm_app_view_world_new)}, + {"WorldOpen", GTK_STOCK_OPEN, N_("Open World..."), "O", + N_("Open an existing world"), + G_CALLBACK(on_gm_app_view_world_open)}, {"WorldQuit", GTK_STOCK_QUIT, NULL, NULL, N_("Quit the program"), G_CALLBACK(on_gm_app_view_world_quit)},