finch/libgnt/gntwindow.c

changeset 21540
2a3ffe144ae1
parent 20821
51bd63176b50
child 21725
68ec08d05ff4
--- a/finch/libgnt/gntwindow.c	Mon Nov 12 16:53:54 2007 +0000
+++ b/finch/libgnt/gntwindow.c	Mon Nov 12 17:13:44 2007 +0000
@@ -28,6 +28,7 @@
 struct _GntWindowPriv
 {
 	GHashTable *accels;   /* key => menuitem-id */
+	GntWindowFlags flags;
 };
 
 enum
@@ -189,16 +190,33 @@
 	if (name && window->priv) {
 		if (!gnt_style_read_menu_accels(name, window->priv->accels)) {
 			g_hash_table_destroy(window->priv->accels);
-			g_free(window->priv);
-			window->priv = NULL;
+			window->priv->accels = NULL;
 		}
 	}
 }
 
 const char * gnt_window_get_accel_item(GntWindow *window, const char *key)
 {
-	if (window->priv)
+	if (window->priv->accels)
 		return g_hash_table_lookup(window->priv->accels, key);
 	return NULL;
 }
 
+void gnt_window_set_maximize(GntWindow *window, GntWindowFlags maximize)
+{
+	if (maximize & GNT_WINDOW_MAXIMIZE_X)
+		window->priv->flags |= GNT_WINDOW_MAXIMIZE_X;
+	else
+		window->priv->flags &= ~GNT_WINDOW_MAXIMIZE_X;
+
+	if (maximize & GNT_WINDOW_MAXIMIZE_Y)
+		window->priv->flags |= GNT_WINDOW_MAXIMIZE_Y;
+	else
+		window->priv->flags &= ~GNT_WINDOW_MAXIMIZE_Y;
+}
+
+GntWindowFlags gnt_window_get_maximize(GntWindow *window)
+{
+	return (window->priv->flags & (GNT_WINDOW_MAXIMIZE_X | GNT_WINDOW_MAXIMIZE_Y));
+}
+

mercurial