* gnoemoe/widgets/gm-app-view.c:

Only store window size when the window isn't maximized (so restoring
	to original size after maximizing actually works). Set default
	size when no size has been stored yet (fixes #7)
This commit is contained in:
Jesse van den Kieboom 2006-09-29 12:33:54 +00:00
parent 49e8351958
commit 169f98af57
1 changed files with 13 additions and 6 deletions

View File

@ -254,11 +254,17 @@ gm_app_view_focus_out_event(GtkWidget *widget, GdkEventFocus *event) {
static void
gm_app_view_size_allocate(GtkWidget *widget, GtkAllocation *allocation) {
GmAppView *view = GM_APP_VIEW(widget);
GdkWindowState state = 0;
gm_options_set_int(gm_app_options(view->priv->application), "width",
allocation->width);
gm_options_set_int(gm_app_options(view->priv->application), "height",
allocation->height);
if (GDK_IS_WINDOW(widget->window))
state = gdk_window_get_state(widget->window);
if (!(state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_ICONIFIED))) {
gm_options_set_int(gm_app_options(view->priv->application), "width",
allocation->width);
gm_options_set_int(gm_app_options(view->priv->application), "height",
allocation->height);
}
if (GTK_WIDGET_CLASS(gm_app_view_parent_class)->size_allocate) {
GTK_WIDGET_CLASS(gm_app_view_parent_class)->size_allocate(widget,
@ -709,9 +715,10 @@ gm_app_view_restore_size(GmAppView *view) {
height = gm_options_get_int(gm_app_options(view->priv->application),
"height");
if (height > 10 && width > 10) {
if (height > 10 && width > 10)
gtk_window_set_default_size(GTK_WINDOW(view), width, height);
}
else
gtk_window_set_default_size(GTK_WINDOW(view), 400, 300);
if (gm_options_get_int(gm_app_options(view->priv->application),
"maximized")) {