diff finch/gntrequest.c @ 15851:f771cdcc551a

disapproval of revision '88322be73f5336575c98479b2270ab9fcf2a8a75'
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Mon, 26 Mar 2007 01:11:46 +0000
parents 65b45106bfbb
children 5f9b7e2652f0
line wrap: on
line diff
--- a/finch/gntrequest.c	Tue Mar 20 11:52:46 2007 +0000
+++ b/finch/gntrequest.c	Mon Mar 26 01:11:46 2007 +0000
@@ -28,7 +28,6 @@
 #include <gntcheckbox.h>
 #include <gntcombobox.h>
 #include <gntentry.h>
-#include <gntfilesel.h>
 #include <gntlabel.h>
 #include <gntline.h>
 #include <gnttree.h>
@@ -40,7 +39,7 @@
 typedef struct
 {
 	void *user_data;
-	GntWidget *dialog;
+	GntWidget *entry, *dialog;
 	GCallback *cbs;
 } PurpleGntFileRequest;
 
@@ -550,10 +549,8 @@
 file_ok_cb(GntWidget *wid, gpointer fq)
 {
 	PurpleGntFileRequest *data = fq;
-	char *file = gnt_file_sel_get_selected_file(GNT_FILE_SEL(data->dialog));
 	if (data->cbs[0] != NULL)
-		((PurpleRequestFileCb)data->cbs[0])(data->user_data, file);
-	g_free(file);
+		((PurpleRequestFileCb)data->cbs[0])(data->user_data, gnt_entry_get_text(GNT_ENTRY(data->entry)));
 
 	purple_request_close(PURPLE_REQUEST_FILE, data->dialog);
 }
@@ -571,8 +568,8 @@
 				GCallback ok_cb, GCallback cancel_cb,
 				void *user_data)
 {
-	GntWidget *window = gnt_file_sel_new();
-	GntFileSel *sel = GNT_FILE_SEL(window);
+	GntWidget *window = gnt_vbox_new(FALSE);
+	GntWidget *entry, *hbox, *button;
 	PurpleGntFileRequest *data = g_new0(PurpleGntFileRequest, 1);
 
 	data->user_data = user_data;
@@ -580,14 +577,30 @@
 	data->cbs[0] = ok_cb;
 	data->cbs[1] = cancel_cb;
 	data->dialog = window;
+	data->entry = entry = gnt_entry_new(g_strconcat(purple_home_dir(), G_DIR_SEPARATOR_S, filename, NULL));
+	gnt_widget_set_size(entry, 30, 1);
+	gnt_box_set_toplevel(GNT_BOX(window), TRUE);
 	gnt_box_set_title(GNT_BOX(window), title ? title : (savedialog ? _("Save File...") : _("Open File...")));
-	gnt_file_sel_set_current_location(sel, purple_home_dir());  /* XXX: may be remember the position and restore here? */
+#if 0
+	/* After the string freeze */
+	gnt_box_add_widget(GNT_BOX(window), gnt_label_new(_("Please enter a full path for a file")));
+#endif
+	gnt_box_add_widget(GNT_BOX(window), entry);
 
-	g_signal_connect(G_OBJECT(sel->cancel), "activate",
-		G_CALLBACK(file_cancel_cb), data);
+	hbox = gnt_hbox_new(TRUE);
+	gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID);
 
-	g_signal_connect(G_OBJECT(sel->select), "activate",
+	button = gnt_button_new(_("Cancel"));
+	g_signal_connect(G_OBJECT(button), "activate",
+		G_CALLBACK(file_cancel_cb), data);
+	gnt_box_add_widget(GNT_BOX(hbox), button);
+
+	button = gnt_button_new(_("OK"));
+	g_signal_connect(G_OBJECT(button), "activate",
 		G_CALLBACK(file_ok_cb), data);
+	gnt_box_add_widget(GNT_BOX(hbox), button);
+
+	gnt_box_add_widget(GNT_BOX(window), hbox);
 
 	g_signal_connect_swapped(G_OBJECT(window), "destroy",
 			G_CALLBACK(file_request_destroy), data);