src/away.c

changeset 4635
475ccd9dc3ac
parent 4608
c165a90c65fc
child 4687
91ad36873636
--- a/src/away.c	Sun Mar 02 18:48:02 2003 +0000
+++ b/src/away.c	Sun Mar 02 19:21:36 2003 +0000
@@ -233,7 +233,7 @@
 		gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER,
 					       GTK_POLICY_ALWAYS);
 		gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
-		gtk_widget_set_usize(sw, 245, 120);
+		gtk_widget_set_size_request(sw, 245, 120);
 		gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
 		gtk_widget_show(sw);
 
@@ -327,9 +327,9 @@
 	save_prefs();
 }
 
-static void set_gc_away(GtkObject *obj, struct gaim_connection *gc)
+static void set_gc_away(GObject *obj, struct gaim_connection *gc)
 {
-	struct away_message *awy = gtk_object_get_user_data(obj);
+	struct away_message *awy = g_object_get_data(obj, "away_message");
 
 	if (awy)
 		serv_set_away(gc, GAIM_AWAY_CUSTOM, awy->message);
@@ -337,9 +337,9 @@
 		serv_set_away(gc, GAIM_AWAY_CUSTOM, NULL);
 }
 
-static void set_gc_state(GtkObject *obj, struct gaim_connection *gc)
+static void set_gc_state(GObject *obj, struct gaim_connection *gc)
 {
-	char *awy = gtk_object_get_user_data(obj);
+	char *awy = g_object_get_data(obj, "away_state");
 
 	serv_set_away(gc, awy, NULL);
 }
@@ -350,44 +350,30 @@
 	GtkWidget *remmenu;
 	GtkWidget *submenu, *submenu2;
 	GtkWidget *remitem;
-	GtkWidget *label;
 	GtkWidget *sep;
 	GList *l;
-	GtkWidget *list_item;
 	GSList *awy = away_messages;
 	struct away_message *a;
 	GSList *con = connections;
 	struct gaim_connection *gc = NULL;
 	int count = 0;
 
-	if (prefs_away_list != NULL) {
-		GtkWidget *hbox;
-		gtk_list_clear_items(GTK_LIST(prefs_away_list), 0, -1);
+	if (prefs_away_store != NULL) {
+		gtk_list_store_clear(prefs_away_store);
 		while (awy) {
+			GtkTreeIter iter;
 			a = (struct away_message *)awy->data;
-			list_item = gtk_list_item_new();
-			gtk_container_add(GTK_CONTAINER(prefs_away_list), list_item);
-			g_signal_connect(GTK_OBJECT(list_item), "select",
-					   G_CALLBACK(away_list_clicked), a);
-			gtk_object_set_user_data(GTK_OBJECT(list_item), a);
-			gtk_widget_show(list_item);
-
-			hbox = gtk_hbox_new(FALSE, 5);
-			gtk_container_add(GTK_CONTAINER(list_item), hbox);
-			gtk_widget_show(hbox);
-
-			label = gtk_label_new(a->name);
-			gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
-			gtk_widget_show(label);
-
+			gtk_list_store_append(prefs_away_store, &iter);
+			gtk_list_store_set(prefs_away_store, &iter,
+					0, a->name,
+					1, a,
+					-1);
 			awy = g_slist_next(awy);
 		}
-		if (away_messages != NULL)
-			gtk_list_select_item(GTK_LIST(prefs_away_list), 0);
 	}
 
 	if (awaymenu) {
-		l = gtk_container_children(GTK_CONTAINER(awaymenu));
+		l = gtk_container_get_children(GTK_CONTAINER(awaymenu));
 
 		while (l) {
 			gtk_container_remove(GTK_CONTAINER(awaymenu), GTK_WIDGET(l->data));
@@ -398,7 +384,7 @@
 		remmenu = gtk_menu_new();
 
 		menuitem = gtk_menu_item_new_with_label(_("New Away Message"));
-		gtk_menu_append(GTK_MENU(awaymenu), menuitem);
+		gtk_menu_shell_append(GTK_MENU_SHELL(awaymenu), menuitem);
 		gtk_widget_show(menuitem);
 		g_signal_connect(GTK_OBJECT(menuitem), "activate", G_CALLBACK(create_away_mess),
 				   NULL);
@@ -408,7 +394,7 @@
 			a = (struct away_message *)awy->data;
 
 			remitem = gtk_menu_item_new_with_label(a->name);
-			gtk_menu_append(GTK_MENU(remmenu), remitem);
+			gtk_menu_shell_append(GTK_MENU_SHELL(remmenu), remitem);
 			gtk_widget_show(remitem);
 			g_signal_connect(GTK_OBJECT(remitem), "activate",
 					   G_CALLBACK(rem_away_mess), a);
@@ -418,14 +404,14 @@
 		}
 
 		menuitem = gtk_menu_item_new_with_label(_("Remove Away Message"));
-		gtk_menu_append(GTK_MENU(awaymenu), menuitem);
+		gtk_menu_shell_append(GTK_MENU_SHELL(awaymenu), menuitem);
 		gtk_widget_show(menuitem);
 		gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), remmenu);
 		gtk_widget_show(remmenu);
 
 		sep = gtk_hseparator_new();
 		menuitem = gtk_menu_item_new();
-		gtk_menu_append(GTK_MENU(awaymenu), menuitem);
+		gtk_menu_shell_append(GTK_MENU_SHELL(awaymenu), menuitem);
 		gtk_container_add(GTK_CONTAINER(menuitem), sep);
 		gtk_widget_set_sensitive(menuitem, FALSE);
 		gtk_widget_show(menuitem);
@@ -458,8 +444,8 @@
 					a = (struct away_message *)awy->data;
 
 					menuitem = gtk_menu_item_new_with_label(a->name);
-					gtk_object_set_user_data(GTK_OBJECT(menuitem), a);
-					gtk_menu_append(GTK_MENU(awaymenu), menuitem);
+					g_object_set_data(G_OBJECT(menuitem), "away_message", a);
+					gtk_menu_shell_append(GTK_MENU_SHELL(awaymenu), menuitem);
 					gtk_widget_show(menuitem);
 					g_signal_connect(GTK_OBJECT(menuitem), "activate",
 							   G_CALLBACK(do_away_message), a);
@@ -471,8 +457,8 @@
 					awy = away_messages;
 
 					menuitem = gtk_menu_item_new_with_label(msgs->data);
-					gtk_object_set_user_data(GTK_OBJECT(menuitem), msgs->data);
-					gtk_menu_append(GTK_MENU(awaymenu), menuitem);
+					g_object_set_data(G_OBJECT(menuitem), "away_state", msgs->data);
+					gtk_menu_shell_append(GTK_MENU_SHELL(awaymenu), menuitem);
 					gtk_widget_show(menuitem);
 
 					if (strcmp(msgs->data, GAIM_AWAY_CUSTOM)) {
@@ -488,9 +474,10 @@
 							a = (struct away_message *)awy->data;
 
 							menuitem = gtk_menu_item_new_with_label(a->name);
-							gtk_object_set_user_data(GTK_OBJECT(menuitem),
-										 a);
-							gtk_menu_append(GTK_MENU(submenu), menuitem);
+							g_object_set_data(G_OBJECT(menuitem), "away_message",
+									a);
+							gtk_menu_shell_append(GTK_MENU_SHELL(submenu),
+									menuitem);
 							gtk_widget_show(menuitem);
 							g_signal_connect(GTK_OBJECT(menuitem),
 									   "activate",
@@ -518,7 +505,7 @@
 				g_snprintf(buf, sizeof(buf), "%s (%s)",
 					   gc->username, gc->prpl->name);
 				menuitem = gtk_menu_item_new_with_label(buf);
-				gtk_menu_append(GTK_MENU(awaymenu), menuitem);
+				gtk_menu_shell_append(GTK_MENU_SHELL(awaymenu), menuitem);
 				gtk_widget_show(menuitem);
 
 				submenu = gtk_menu_new();
@@ -530,14 +517,14 @@
 				if ((g_list_length(msgs) == 1) &&
 				    (!strcmp(msgs->data, GAIM_AWAY_CUSTOM))) {
 					menuitem = gtk_menu_item_new_with_label(_("Back"));
-					gtk_menu_append(GTK_MENU(submenu), menuitem);
+					gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
 					gtk_widget_show(menuitem);
 					g_signal_connect(GTK_OBJECT(menuitem), "activate",
 							   G_CALLBACK(set_gc_away), gc);
 
 					sep = gtk_hseparator_new();
 					menuitem = gtk_menu_item_new();
-					gtk_menu_append(GTK_MENU(submenu), menuitem);
+					gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
 					gtk_container_add(GTK_CONTAINER(menuitem), sep);
 					gtk_widget_set_sensitive(menuitem, FALSE);
 					gtk_widget_show(menuitem);
@@ -549,8 +536,8 @@
 						a = (struct away_message *)awy->data;
 
 						menuitem = gtk_menu_item_new_with_label(a->name);
-						gtk_object_set_user_data(GTK_OBJECT(menuitem), a);
-						gtk_menu_append(GTK_MENU(submenu), menuitem);
+						g_object_set_data(G_OBJECT(menuitem), "away_message", a);
+						gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
 						gtk_widget_show(menuitem);
 						g_signal_connect(GTK_OBJECT(menuitem), "activate",
 								   G_CALLBACK(set_gc_away), gc);
@@ -562,9 +549,9 @@
 						awy = away_messages;
 
 						menuitem = gtk_menu_item_new_with_label(msgs->data);
-						gtk_object_set_user_data(GTK_OBJECT(menuitem),
+						g_object_set_data(G_OBJECT(menuitem), "away_state",
 									 msgs->data);
-						gtk_menu_append(GTK_MENU(submenu), menuitem);
+						gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
 						gtk_widget_show(menuitem);
 
 						if (strcmp(msgs->data, GAIM_AWAY_CUSTOM)) {
@@ -584,9 +571,9 @@
 								menuitem =
 								    gtk_menu_item_new_with_label(a->
 												 name);
-								gtk_object_set_user_data(GTK_OBJECT
-											 (menuitem), a);
-								gtk_menu_append(GTK_MENU(submenu2),
+								g_object_set_data(G_OBJECT(menuitem),
+										"away_message", a);
+								gtk_menu_shell_append(GTK_MENU_SHELL(submenu2),
 										menuitem);
 								gtk_widget_show(menuitem);
 								g_signal_connect(GTK_OBJECT(menuitem),
@@ -606,7 +593,7 @@
 			}
 
 			menuitem = gtk_menu_item_new_with_label(_("Set All Away"));
-			gtk_menu_append(GTK_MENU(awaymenu), menuitem);
+			gtk_menu_shell_append(GTK_MENU_SHELL(awaymenu), menuitem);
 			gtk_widget_show(menuitem);
 
 			submenu = gtk_menu_new();
@@ -619,8 +606,8 @@
 				a = (struct away_message *)awy->data;
 
 				menuitem = gtk_menu_item_new_with_label(a->name);
-				gtk_object_set_user_data(GTK_OBJECT(menuitem), a);
-				gtk_menu_append(GTK_MENU(submenu), menuitem);
+				g_object_set_data(G_OBJECT(menuitem), "away_message", a);
+				gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
 				gtk_widget_show(menuitem);
 				g_signal_connect(GTK_OBJECT(menuitem), "activate",
 						   G_CALLBACK(do_away_message), a);
@@ -630,7 +617,7 @@
 		}
 	}
 	if (prefs_away_menu) {
-		l = gtk_container_children(GTK_CONTAINER(prefs_away_menu));
+		l = gtk_container_get_children(GTK_CONTAINER(prefs_away_menu));
 		while (l) {
 			gtk_widget_destroy(GTK_WIDGET(l->data));
 			l = l->next;

mercurial