X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-window.c;h=c1784ac1f14d7df9a2e1880b27b971de8dc8e624;hb=refs%2Fbuilds%2F20130222032012%2Fpspp;hp=4eb274b5284805b3cfc8742499d11c1409cd7a26;hpb=99732245d610cf363429f1b67a8b2b2e15a9a734;p=pspp diff --git a/src/ui/gui/psppire-window.c b/src/ui/gui/psppire-window.c index 4eb274b528..c1784ac1f1 100644 --- a/src/ui/gui/psppire-window.c +++ b/src/ui/gui/psppire-window.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2009, 2010, 2011 Free Software Foundation + Copyright (C) 2009, 2010, 2011, 2013 Free Software Foundation This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,6 +17,7 @@ #include #include "psppire-window.h" +#include "psppire-window-base.h" #include @@ -32,7 +33,6 @@ #include "data/dataset.h" #include "helper.h" -#include "psppire-conf.h" #include "psppire-data-window.h" #include "psppire-encoding-selector.h" #include "psppire-syntax-window.h" @@ -67,7 +67,7 @@ psppire_window_get_type (void) }; psppire_window_type = - g_type_register_static (GTK_TYPE_WINDOW, "PsppireWindow", + g_type_register_static (PSPPIRE_TYPE_WINDOW_BASE, "PsppireWindow", &psppire_window_info, G_TYPE_FLAG_ABSTRACT); } @@ -229,17 +229,6 @@ psppire_window_get_property (GObject *object, } -static void -on_realize (GtkWindow *window, gpointer data) -{ - PsppireConf *conf = psppire_conf_new (); - - const gchar *base = G_OBJECT_TYPE_NAME (window); - - psppire_conf_set_window_geometry (conf, base, window); -} - - static void psppire_window_finalize (GObject *object) { @@ -351,11 +340,12 @@ insert_menuitem_into_menu (PsppireWindow *window, gpointer key) /* Add a separator before adding the first real item. If we add a separator at any other time, sometimes GtkUIManager removes it. */ - if (g_hash_table_size (window->menuitem_table) == 0) + if (!window->added_separator) { GtkWidget *separator = gtk_separator_menu_item_new (); gtk_widget_show (separator); gtk_menu_shell_append (window->menu, separator); + window->added_separator = TRUE; } filename = g_filename_display_name (key); @@ -423,13 +413,6 @@ on_delete (PsppireWindow *w, GdkEvent *event, gpointer user_data) { PsppireWindowRegister *reg = psppire_window_register_new (); - const gchar *base = G_OBJECT_TYPE_NAME (w); - - PsppireConf *conf = psppire_conf_new (); - - psppire_conf_save_window_geometry (conf, base, GTK_WINDOW (w)); - - if ( w->dirty ) { gint response = psppire_window_query_save (w); @@ -485,14 +468,12 @@ psppire_window_init (PsppireWindow *window) G_CALLBACK (remove_menuitem), window); + window->added_separator = FALSE; window->dirty = FALSE; g_signal_connect_swapped (window, "delete-event", G_CALLBACK (on_delete), window); g_object_set (window, "icon-name", "pspp", NULL); - - g_signal_connect (window, "realize", - G_CALLBACK (on_realize), window); } /*