X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-window.c;h=a02edb289a90c7987d5b5ef1d031ecaaec244831;hb=40233794e1b6c07262aaa30a5b6e977caf359ca1;hp=103bcdadf361e9f5b3389119bfe52c23da06a503;hpb=dd39fd6a357b1b464005d42c2e0aa40526ce4398;p=pspp-builds.git diff --git a/src/ui/gui/psppire-window.c b/src/ui/gui/psppire-window.c index 103bcdad..a02edb28 100644 --- a/src/ui/gui/psppire-window.c +++ b/src/ui/gui/psppire-window.c @@ -145,7 +145,7 @@ psppire_window_set_property (GObject *object, candidate_name = uniquify (name, &x); } - window->basename = g_path_get_basename (candidate_name); + window->basename = g_filename_display_basename (candidate_name); g_value_unset (&def); } @@ -203,7 +203,7 @@ on_realize (GtkWindow *window, gpointer data) static gboolean -on_configure (GtkWidget *window, GdkEventConfigure *event, gpointer data) +save_geometry (GtkWidget *window, GdkEvent *event, gpointer data) { const gchar *base = G_OBJECT_TYPE_NAME (window); @@ -315,7 +315,10 @@ menu_activate (GtkMenuItem *mi, gpointer data) static void insert_menuitem_into_menu (PsppireWindow *window, gpointer key) { - GtkWidget *item = gtk_check_menu_item_new_with_label (key); + gchar *filename = g_filename_display_name (key); + GtkWidget *item = gtk_check_menu_item_new_with_label (filename); + + g_free (filename); g_signal_connect (item, "toggled", G_CALLBACK (menu_toggled), NULL); g_signal_connect (item, "activate", G_CALLBACK (menu_activate), key); @@ -408,6 +411,7 @@ psppire_window_init (PsppireWindow *window) { window->name = NULL; window->menu = NULL; + window->description = strdup (""); window->menuitem_table = g_hash_table_new (g_str_hash, g_str_equal); @@ -431,7 +435,10 @@ psppire_window_init (PsppireWindow *window) g_object_set (window, "icon-name", "psppicon", NULL); g_signal_connect (window, "configure-event", - G_CALLBACK (on_configure), window); + G_CALLBACK (save_geometry), window); + + g_signal_connect (window, "window-state-event", + G_CALLBACK (save_geometry), window); g_signal_connect (window, "realize", G_CALLBACK (on_realize), window); @@ -445,6 +452,7 @@ psppire_window_init (PsppireWindow *window) gint psppire_window_query_save (PsppireWindow *se) { + gchar *fn; gint response; GtkWidget *dialog; GtkWidget *cancel_button; @@ -461,13 +469,16 @@ psppire_window_query_save (PsppireWindow *se) g_return_val_if_fail (filename != NULL, GTK_RESPONSE_NONE); + fn = g_filename_display_basename (filename); + dialog = gtk_message_dialog_new (GTK_WINDOW (se), GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, _("Save the changes to \"%s\" before closing?"), - filename); + fn); + g_free (fn); g_object_set (dialog, "icon-name", "psppicon", NULL); @@ -621,6 +632,7 @@ psppire_window_load (PsppireWindow *w, const gchar *file) if ( ok ) { + psppire_window_set_filename (w, file); add_most_recent (file, the_recent_mgr); w->dirty = FALSE; }