changeset 15922:b4086a92568f

merge of '639aeb100fb910f3edcaf8b015a77e8d49ef250c' and '88322be73f5336575c98479b2270ab9fcf2a8a75'
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Mon, 26 Mar 2007 00:44:09 +0000
parents 8bea220c0997 (current diff) 65b45106bfbb (diff)
children f8c16848b76d
files doc/gaims_funniest_home_convos.txt finch/gntrequest.c finch/libgnt/gntfilesel.c finch/libgnt/gntfilesel.h gaim.apspec.in gaim.spec.in libpurple/gaim-client-example.c libpurple/gaim-client.c libpurple/gaim-notifications-example libpurple/gaim-remote libpurple/gaim-send libpurple/gaim-send-async libpurple/gaim-url-handler libpurple/gaim.h libpurple/gconf/gaim.schemas.in libpurple/plugins/Makefile.am libpurple/plugins/gaim.pl libpurple/plugins/mono/api/GaimPlugin.cs libpurple/plugins/perl/libgaimperl.c m4macros/gaim.m4 pidgin/Makefile.am pidgin/gtkutils.c pidgin/pixmaps/Makefile.am pidgin/pixmaps/gaim.ico pidgin/pixmaps/gaim.png pidgin/pixmaps/gaim.svg pidgin/pixmaps/pidgin.png pidgin/plugins/crazychat/cc_gaim_plugin.c pidgin/plugins/gaimrc.c
diffstat 9 files changed, 40 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/finch/gntrequest.c	Sun Mar 25 20:22:52 2007 +0000
+++ b/finch/gntrequest.c	Mon Mar 26 00:44:09 2007 +0000
@@ -28,6 +28,7 @@
 #include <gntcheckbox.h>
 #include <gntcombobox.h>
 #include <gntentry.h>
+#include <gntfilesel.h>
 #include <gntlabel.h>
 #include <gntline.h>
 #include <gnttree.h>
@@ -39,7 +40,7 @@
 typedef struct
 {
 	void *user_data;
-	GntWidget *entry, *dialog;
+	GntWidget *dialog;
 	GCallback *cbs;
 } PurpleGntFileRequest;
 
@@ -549,8 +550,10 @@
 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, gnt_entry_get_text(GNT_ENTRY(data->entry)));
+		((PurpleRequestFileCb)data->cbs[0])(data->user_data, file);
+	g_free(file);
 
 	purple_request_close(PURPLE_REQUEST_FILE, data->dialog);
 }
@@ -568,8 +571,8 @@
 				GCallback ok_cb, GCallback cancel_cb,
 				void *user_data)
 {
-	GntWidget *window = gnt_vbox_new(FALSE);
-	GntWidget *entry, *hbox, *button;
+	GntWidget *window = gnt_file_sel_new();
+	GntFileSel *sel = GNT_FILE_SEL(window);
 	PurpleGntFileRequest *data = g_new0(PurpleGntFileRequest, 1);
 
 	data->user_data = user_data;
@@ -577,30 +580,14 @@
 	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...")));
-#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);
+	gnt_file_sel_set_current_location(sel, purple_home_dir());  /* XXX: may be remember the position and restore here? */
 
-	hbox = gnt_hbox_new(TRUE);
-	gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID);
-
-	button = gnt_button_new(_("Cancel"));
-	g_signal_connect(G_OBJECT(button), "activate",
+	g_signal_connect(G_OBJECT(sel->cancel), "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_signal_connect(G_OBJECT(sel->select), "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);
--- a/finch/libgnt/gntfilesel.c	Sun Mar 25 20:22:52 2007 +0000
+++ b/finch/libgnt/gntfilesel.c	Mon Mar 26 00:44:09 2007 +0000
@@ -375,3 +375,23 @@
 	return sel->dirsonly;
 }
 
+char *gnt_file_sel_get_selected_file(GntFileSel *sel)
+{
+	char *ret;
+	const char *tmp;
+	tmp = (const char*)gnt_tree_get_selection_data(sel->dirsonly ? GNT_TREE(sel->dirs) : GNT_TREE(sel->files));
+	ret = g_strdup_printf("%s%s%s", sel->current, sel->current[1] ? G_DIR_SEPARATOR_S : "", tmp ? tmp : "");
+	return ret;
+}
+
+void gnt_file_sel_set_must_exist(GntFileSel *sel, gboolean must)
+{
+	/*XXX: What do I do with this? */
+	sel->must_exist = must;
+}
+
+gboolean gnt_file_sel_get_must_exist(GntFileSel *sel)
+{
+	return sel->must_exist;
+}
+
--- a/finch/libgnt/gntfilesel.h	Sun Mar 25 20:22:52 2007 +0000
+++ b/finch/libgnt/gntfilesel.h	Mon Mar 26 00:44:09 2007 +0000
@@ -63,6 +63,12 @@
 
 gboolean gnt_file_sel_get_dirs_only(GntFileSel *sel);
 
+void gnt_file_sel_set_must_exist(GntFileSel *sel, gboolean must);
+
+gboolean gnt_file_sel_get_must_exist(GntFileSel *sel);
+
+char *gnt_file_sel_get_selected_file(GntFileSel *sel);  /* The returned value should be free'd */
+
 G_END_DECLS
 
 #endif /* GNT_FILE_SEL_H */
--- a/libpurple/example/nullclient.c	Sun Mar 25 20:22:52 2007 +0000
+++ b/libpurple/example/nullclient.c	Mon Mar 26 00:44:09 2007 +0000
@@ -28,7 +28,6 @@
 #include "ft.h"
 #include "log.h"
 #include "notify.h"
-#include "prefix.h"
 #include "prefs.h"
 #include "prpl.h"
 #include "pounce.h"
--- a/libpurple/plugins/Makefile.am	Sun Mar 25 20:22:52 2007 +0000
+++ b/libpurple/plugins/Makefile.am	Mon Mar 26 00:44:09 2007 +0000
@@ -18,7 +18,6 @@
 
 SUBDIRS = \
 	$(MONO_DIR) \
-	$(PERL_DIR) \
 	ssl \
 	$(TCL_DIR)
 
--- a/libpurple/plugins/perl/common/Makefile.PL.in	Sun Mar 25 20:22:52 2007 +0000
+++ b/libpurple/plugins/perl/common/Makefile.PL.in	Mon Mar 26 00:44:09 2007 +0000
@@ -9,7 +9,7 @@
     ($] >= 5.005 ?    ## Add these new keywords supported since 5.005
       (ABSTRACT_FROM => '@srcdir@/Purple.pm', # retrieve abstract from module
        AUTHOR     => 'Purple <http://pidgin.im/>') : ()),
-    'LIBS'		=> [''], # e.g., '-lm'
+    'LIBS'		=> ['@GLIB_LIBS@', ''], # e.g., '-lm'
     'DEFINE'		=> '@DEBUG_CFLAGS@', # e.g., '-DHAVE_SOMETHING'
     'INC'		=> '-I. -I@srcdir@ -I@top_srcdir@ -I@top_srcdir@/libpurple @GLIB_CFLAGS@', # e.g., '-I. -I/usr/include/other'
     'OBJECT'		=> '$(O_FILES)', # link all the C files too
--- a/pidgin/Makefile.am	Sun Mar 25 20:22:52 2007 +0000
+++ b/pidgin/Makefile.am	Mon Mar 26 00:44:09 2007 +0000
@@ -64,7 +64,7 @@
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = pidgin.pc
 
-SUBDIRS = pixmaps plugins sounds
+SUBDIRS = plugins 
 
 bin_PROGRAMS = pidgin
 
--- a/pidgin/gtkutils.c	Sun Mar 25 20:22:52 2007 +0000
+++ b/pidgin/gtkutils.c	Mon Mar 26 00:44:09 2007 +0000
@@ -3139,3 +3139,4 @@
 	return path;
 }
 #endif
+
--- a/pidgin/pixmaps/Makefile.am	Sun Mar 25 20:22:52 2007 +0000
+++ b/pidgin/pixmaps/Makefile.am	Mon Mar 26 00:44:09 2007 +0000
@@ -64,3 +64,4 @@
 distpixmapdir = $(datadir)/pixmaps
 distpixmap_DATA = pidgin.png pidgin.svg
 
+