* 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:
parent
49e8351958
commit
169f98af57
|
@ -254,11 +254,17 @@ gm_app_view_focus_out_event(GtkWidget *widget, GdkEventFocus *event) {
|
||||||
static void
|
static void
|
||||||
gm_app_view_size_allocate(GtkWidget *widget, GtkAllocation *allocation) {
|
gm_app_view_size_allocate(GtkWidget *widget, GtkAllocation *allocation) {
|
||||||
GmAppView *view = GM_APP_VIEW(widget);
|
GmAppView *view = GM_APP_VIEW(widget);
|
||||||
|
GdkWindowState state = 0;
|
||||||
|
|
||||||
gm_options_set_int(gm_app_options(view->priv->application), "width",
|
if (GDK_IS_WINDOW(widget->window))
|
||||||
allocation->width);
|
state = gdk_window_get_state(widget->window);
|
||||||
gm_options_set_int(gm_app_options(view->priv->application), "height",
|
|
||||||
allocation->height);
|
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) {
|
if (GTK_WIDGET_CLASS(gm_app_view_parent_class)->size_allocate) {
|
||||||
GTK_WIDGET_CLASS(gm_app_view_parent_class)->size_allocate(widget,
|
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 = gm_options_get_int(gm_app_options(view->priv->application),
|
||||||
"height");
|
"height");
|
||||||
|
|
||||||
if (height > 10 && width > 10) {
|
if (height > 10 && width > 10)
|
||||||
gtk_window_set_default_size(GTK_WINDOW(view), width, height);
|
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),
|
if (gm_options_get_int(gm_app_options(view->priv->application),
|
||||||
"maximized")) {
|
"maximized")) {
|
||||||
|
|
Reference in New Issue