diff pidgin/gtkrequest.c @ 21560:665e04562de0

This merge has the effect of reverting the hinting code from trunk.
author Richard Laager <rlaager@wiktel.com>
date Sat, 17 Nov 2007 00:12:30 +0000
parents 283f8bf540b3 fcb848b2d669
children 1b174854bb80
line wrap: on
line diff
--- a/pidgin/gtkrequest.c	Fri Nov 16 03:39:04 2007 +0000
+++ b/pidgin/gtkrequest.c	Sat Nov 17 00:12:30 2007 +0000
@@ -80,55 +80,6 @@
 
 } PidginRequestData;
 
-static GtkWindow *
-find_toplevel(GList *ll_toplevels, const char *role)
-{
-	const char *window_role = NULL;
-	GList *ll_itr = NULL;
-
-	for (ll_itr = ll_toplevels ; ll_itr ; ll_itr = ll_itr->next) {
-		if ((window_role = gtk_window_get_role(GTK_WINDOW(ll_itr->data))) != NULL) {
-			if (!strcmp(window_role, role))
-				return GTK_WINDOW(ll_itr->data);
-		}
-	}
-
-	return NULL;
-}
-
-static GtkWindow *
-get_request_parent(const char *ui_hint, PidginConversation *convo)
-{
-	GtkWindow *toplevel = NULL;
-	PidginBuddyList *blist = NULL;
-
-	if (convo)
-		return GTK_WINDOW(convo->win->window);
-
-	if (strcmp(ui_hint, PURPLE_REQUEST_UI_HINT_BLIST)) {
-		GList *ll_toplevels = NULL;
-
-		ll_toplevels = gtk_window_list_toplevels();
-
-		if (!(toplevel = find_toplevel(ll_toplevels, ui_hint))) {
-			if (!strcmp(ui_hint, PURPLE_REQUEST_UI_HINT_REGISTER))
-				toplevel = find_toplevel(ll_toplevels, "account");
-			else
-			if (!strcmp(ui_hint, PURPLE_REQUEST_UI_HINT_XFER))
-				toplevel = find_toplevel(ll_toplevels, "file transfer");
-		}
-		
-		g_list_free(ll_toplevels);
-	}
-
-	/* Takes care of "pidgin-statusbox" as well */
-	if (!toplevel)
-		if ((blist = pidgin_blist_get_default_gtk_blist()) != NULL)
-			return GTK_WINDOW(blist->window);
-
-	return toplevel;
-}
-
 static void
 generic_response_start(PidginRequestData *data)
 {
@@ -337,7 +288,7 @@
 					   const char *ok_text, GCallback ok_cb,
 					   const char *cancel_text, GCallback cancel_cb,
 					   PurpleAccount *account, const char *who, PurpleConversation *conv,
-					   const char *ui_hint, void *user_data)
+					   void *user_data)
 {
 	PidginRequestData *data;
 	GtkWidget *dialog;
@@ -362,7 +313,7 @@
 
 	/* Create the dialog. */
 	dialog = gtk_dialog_new_with_buttons(title ? title : PIDGIN_ALERT_TITLE,
-					     get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL), 0,
+					     NULL, 0,
 					     text_to_stock(cancel_text), 1,
 					     text_to_stock(ok_text),     0,
 					     NULL);
@@ -500,7 +451,7 @@
 			const char *ok_text, GCallback ok_cb,
 			const char *cancel_text, GCallback cancel_cb,
 			PurpleAccount *account, const char *who, PurpleConversation *conv,
-			const char *ui_hint, void *user_data, va_list args)
+			void *user_data, va_list args)
 {
 	PidginRequestData *data;
 	GtkWidget *dialog;
@@ -524,8 +475,6 @@
 
 	/* Create the dialog. */
 	data->dialog = dialog = gtk_dialog_new();
-	gtk_window_set_transient_for(GTK_WINDOW(dialog),
-		get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL));
 
 	if (title != NULL)
 		gtk_window_set_title(GTK_WINDOW(dialog), title);
@@ -606,7 +555,7 @@
 pidgin_request_action(const char *title, const char *primary,
 						const char *secondary, int default_action,
 					    PurpleAccount *account, const char *who, PurpleConversation *conv,
-						const char *ui_hint, void *user_data, size_t action_count, va_list actions)
+						void *user_data, size_t action_count, va_list actions)
 {
 	PidginRequestData *data;
 	GtkWidget *dialog;
@@ -636,8 +585,6 @@
 
 	/* Create the dialog. */
 	data->dialog = dialog = gtk_dialog_new();
-	gtk_window_set_transient_for(GTK_WINDOW(dialog),
-		get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL));
 
 #if GTK_CHECK_VERSION(2,10,0)
 	gtk_window_set_deletable(GTK_WINDOW(data->dialog), FALSE);
@@ -1191,7 +1138,7 @@
 						const char *ok_text, GCallback ok_cb,
 						const char *cancel_text, GCallback cancel_cb,
 					    PurpleAccount *account, const char *who, PurpleConversation *conv,
-						const char *ui_hint, void *user_data)
+						void *user_data)
 {
 	PidginRequestData *data;
 	GtkWidget *win;
@@ -1232,8 +1179,6 @@
 #else /* !_WIN32 */
 	data->dialog = win = pidgin_create_window(title, PIDGIN_HIG_BORDER, "multifield", TRUE) ;
 #endif /* _WIN32 */
-	gtk_window_set_transient_for(GTK_WINDOW(win),
-		get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL));
 
 	g_signal_connect(G_OBJECT(win), "delete_event",
 					 G_CALLBACK(destroy_multifield_cb), data);
@@ -1648,10 +1593,10 @@
 
 	if ((data->u.file.savedialog == TRUE) &&
 		(g_file_test(data->u.file.name, G_FILE_TEST_EXISTS))) {
-		purple_request_action_with_hint(data, NULL, _("That file already exists"),
+		purple_request_action(data, NULL, _("That file already exists"),
 							_("Would you like to overwrite it?"), 0,
 							NULL, NULL, NULL,
-							"pidgin-request-file", data, 2,
+							data, 2,
 							_("Overwrite"), G_CALLBACK(file_yes_no_cb),
 							_("Choose New Name"), G_CALLBACK(file_yes_no_cb));
 	} else
@@ -1676,7 +1621,7 @@
 					  gboolean savedialog,
 					  GCallback ok_cb, GCallback cancel_cb,
 					  PurpleAccount *account, const char *who, PurpleConversation *conv,
-					  const char *ui_hint, void *user_data)
+					  void *user_data)
 {
 	PidginRequestData *data;
 	GtkWidget *filesel;
@@ -1764,9 +1709,6 @@
 	g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "clicked",
 					 G_CALLBACK(file_ok_check_if_exists_cb), data);
 #endif /* FILECHOOSER */
-	gtk_window_set_role(GTK_WINDOW(filesel), "pidgin-request-file");
-	gtk_window_set_transient_for(GTK_WINDOW(filesel),
-		get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL));
 
 	data->dialog = filesel;
 	gtk_widget_show(filesel);
@@ -1778,7 +1720,7 @@
 pidgin_request_folder(const char *title, const char *dirname,
 					  GCallback ok_cb, GCallback cancel_cb,
 					  PurpleAccount *account, const char *who, PurpleConversation *conv,
-					  const char *ui_hint, void *user_data)
+					  void *user_data)
 {
 	PidginRequestData *data;
 	GtkWidget *dirsel;
@@ -1817,9 +1759,6 @@
 	g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(dirsel)->ok_button), "clicked",
 					 G_CALLBACK(file_ok_check_if_exists_cb), data);
 #endif
-	gtk_window_set_role(GTK_WINDOW(dirsel), "pidgin-request-dir");
-	gtk_window_set_transient_for(GTK_WINDOW(dirsel),
-		get_request_parent(ui_hint, conv ? PIDGIN_CONVERSATION(conv) : NULL));
 
 	data->dialog = dirsel;
 	gtk_widget_show(dirsel);