summaryrefslogtreecommitdiff
path: root/ui/gtk/gui_utils.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2013-02-02 05:34:31 +0000
committerGuy Harris <guy@alum.mit.edu>2013-02-02 05:34:31 +0000
commit6ebabce7b50702ef8f49653f8d6d2bcde424c027 (patch)
tree8da0cd6d22b1c6b1d7449c603f29b96df9c5880e /ui/gtk/gui_utils.c
parentab3840049e8de97b835a393fc964b2bd61e04ff9 (diff)
downloadwireshark-6ebabce7b50702ef8f49653f8d6d2bcde424c027.tar.gz
Move the GUI-independent window geometry stuff to ui/recent.c, so we
only have one copy. svn path=/trunk/; revision=47440
Diffstat (limited to 'ui/gtk/gui_utils.c')
-rw-r--r--ui/gtk/gui_utils.c134
1 files changed, 0 insertions, 134 deletions
diff --git a/ui/gtk/gui_utils.c b/ui/gtk/gui_utils.c
index 4680b9ab02..a0fb98bd68 100644
--- a/ui/gtk/gui_utils.c
+++ b/ui/gtk/gui_utils.c
@@ -65,12 +65,6 @@
#define WINDOW_GEOM_KEY "window_geom"
-
-/* load the geometry values for a window from previously saved values */
-static gboolean window_geom_load(const gchar *name, window_geometry_t *geom);
-
-
-
/* Set our window icon. The GDK documentation doesn't provide any
actual documentation for gdk_window_set_icon(), so we'll steal
libgimp/gimpdialog.c:gimp_dialog_realize_callback() from the Gimp
@@ -434,134 +428,6 @@ window_set_geometry(GtkWidget *widget,
}
}
-
-/* the geometry hashtable for all known window classes,
- * the window name is the key, and the geometry struct is the value */
-static GHashTable *window_geom_hash = NULL;
-
-
-/* save the window and it's current geometry into the geometry hashtable */
-static void
-window_geom_save(const gchar *name, window_geometry_t *geom)
-{
- gchar *key;
- window_geometry_t *work;
-
- /* init hashtable, if not already done */
- if(!window_geom_hash) {
- window_geom_hash = g_hash_table_new(g_str_hash, g_str_equal);
- }
- /* if we have an old one, remove and free it first */
- work = g_hash_table_lookup(window_geom_hash, name);
- if(work) {
- g_hash_table_remove(window_geom_hash, name);
- g_free(work->key);
- g_free(work);
- }
-
- /* g_malloc and insert the new one */
- work = g_malloc(sizeof(*geom));
- *work = *geom;
- key = g_strdup(name);
- work->key = key;
- g_hash_table_insert(window_geom_hash, key, work);
-}
-
-
-/* load the desired geometry for this window from the geometry hashtable */
-static gboolean
-window_geom_load(const gchar *name,
- window_geometry_t *geom)
-{
- window_geometry_t *p;
-
- /* init hashtable, if not already done */
- if(!window_geom_hash) {
- window_geom_hash = g_hash_table_new(g_str_hash, g_str_equal);
- }
-
- p = g_hash_table_lookup(window_geom_hash, name);
- if(p) {
- *geom = *p;
- return TRUE;
- } else {
- return FALSE;
- }
-}
-
-
-/* read in a single key value pair from the recent file into the geometry hashtable */
-void
-window_geom_recent_read_pair(const char *name,
- const char *key,
- const char *value)
-{
- window_geometry_t geom;
-
-
- /* find window geometry maybe already in hashtable */
- if(!window_geom_load(name, &geom)) {
- /* not in table, init geom with "basic" values */
- geom.key = NULL; /* Will be set in window_geom_save() */
- geom.set_pos = FALSE;
- geom.x = -1;
- geom.y = -1;
- geom.set_size = FALSE;
- geom.width = -1;
- geom.height = -1;
-
- geom.set_maximized = FALSE;/* this is valid in GTK2 only */
- geom.maximized = FALSE; /* this is valid in GTK2 only */
- }
-
- if (strcmp(key, "x") == 0) {
- geom.x = (gint)strtol(value, NULL, 10);
- geom.set_pos = TRUE;
- } else if (strcmp(key, "y") == 0) {
- geom.y = (gint)strtol(value, NULL, 10);
- geom.set_pos = TRUE;
- } else if (strcmp(key, "width") == 0) {
- geom.width = (gint)strtol(value, NULL, 10);
- geom.set_size = TRUE;
- } else if (strcmp(key, "height") == 0) {
- geom.height = (gint)strtol(value, NULL, 10);
- geom.set_size = TRUE;
- } else if (strcmp(key, "maximized") == 0) {
- if (g_ascii_strcasecmp(value, "true") == 0) {
- geom.maximized = TRUE;
- }
- else {
- geom.maximized = FALSE;
- }
- geom.set_maximized = TRUE;
- } else {
- /*
- * Silently ignore the bogus key. We shouldn't abort here,
- * as this could be due to a corrupt recent file.
- *
- * XXX - should we print a message about this?
- */
- return;
- }
-
- /* save / replace geometry in hashtable */
- window_geom_save(name, &geom);
-}
-
-
-/* write all geometry values of all windows from the hashtable to the recent file */
-void
-window_geom_recent_write_all(gpointer rf)
-{
- /* init hashtable, if not already done */
- if(!window_geom_hash) {
- window_geom_hash = g_hash_table_new(g_str_hash, g_str_equal);
- }
-
- g_hash_table_foreach(window_geom_hash, write_recent_geom, rf);
-}
-
-
void
window_destroy(GtkWidget *win)
{