# HG changeset patch # User Sadrul Habib Chowdhury # Date 1174391566 0 # Node ID 65b45106bfbbb0f1baf7f967beea403e7cc969de # Parent 3da9d5da9054fcaf13e862596c8d436c54974abc Use the file selector for request-file. diff -r 3da9d5da9054 -r 65b45106bfbb finch/gntrequest.c --- a/finch/gntrequest.c Tue Mar 20 02:09:46 2007 +0000 +++ b/finch/gntrequest.c Tue Mar 20 11:52:46 2007 +0000 @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -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); diff -r 3da9d5da9054 -r 65b45106bfbb finch/libgnt/gntfilesel.c --- a/finch/libgnt/gntfilesel.c Tue Mar 20 02:09:46 2007 +0000 +++ b/finch/libgnt/gntfilesel.c Tue Mar 20 11:52:46 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; +} + diff -r 3da9d5da9054 -r 65b45106bfbb finch/libgnt/gntfilesel.h --- a/finch/libgnt/gntfilesel.h Tue Mar 20 02:09:46 2007 +0000 +++ b/finch/libgnt/gntfilesel.h Tue Mar 20 11:52:46 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 */ diff -r 3da9d5da9054 -r 65b45106bfbb libpurple/example/nullclient.c --- a/libpurple/example/nullclient.c Tue Mar 20 02:09:46 2007 +0000 +++ b/libpurple/example/nullclient.c Tue Mar 20 11:52:46 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" diff -r 3da9d5da9054 -r 65b45106bfbb libpurple/plugins/Makefile.am --- a/libpurple/plugins/Makefile.am Tue Mar 20 02:09:46 2007 +0000 +++ b/libpurple/plugins/Makefile.am Tue Mar 20 11:52:46 2007 +0000 @@ -18,7 +18,6 @@ SUBDIRS = \ $(MONO_DIR) \ - $(PERL_DIR) \ ssl \ $(TCL_DIR) diff -r 3da9d5da9054 -r 65b45106bfbb libpurple/plugins/perl/common/Makefile.PL.in --- a/libpurple/plugins/perl/common/Makefile.PL.in Tue Mar 20 02:09:46 2007 +0000 +++ b/libpurple/plugins/perl/common/Makefile.PL.in Tue Mar 20 11:52:46 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 ') : ()), - '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 diff -r 3da9d5da9054 -r 65b45106bfbb pidgin/Makefile.am --- a/pidgin/Makefile.am Tue Mar 20 02:09:46 2007 +0000 +++ b/pidgin/Makefile.am Tue Mar 20 11:52:46 2007 +0000 @@ -63,7 +63,7 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = pidgin.pc -SUBDIRS = pixmaps plugins sounds +SUBDIRS = plugins bin_PROGRAMS = pidgin diff -r 3da9d5da9054 -r 65b45106bfbb pidgin/gtkutils.c --- a/pidgin/gtkutils.c Tue Mar 20 02:09:46 2007 +0000 +++ b/pidgin/gtkutils.c Tue Mar 20 11:52:46 2007 +0000 @@ -3139,3 +3139,4 @@ return path; } #endif + diff -r 3da9d5da9054 -r 65b45106bfbb pidgin/pixmaps/Makefile.am --- a/pidgin/pixmaps/Makefile.am Tue Mar 20 02:09:46 2007 +0000 +++ b/pidgin/pixmaps/Makefile.am Tue Mar 20 11:52:46 2007 +0000 @@ -50,13 +50,13 @@ gaim.ico -gaimbuttonpixdir = $(datadir)/pixmaps/gaim/buttons +gaimbuttonpixdir = $(datadir)/pixmaps/pidgin/buttons gaimbuttonpix_DATA = about_menu.png accounts.png change-bgcolor-small.png change-fgcolor-small.png edit.png info.png insert-image-small.png insert-link-small.png insert-smiley-small.png pause.png text_bigger.png text_normal.png text_smaller.png send-im.png gaimiconpixdir = $(datadir)/pixmaps/pidgin/icons gaimiconpix_DATA = window-icon.png -gaimdistpixdir = $(datadir)/pixmaps/gaim +gaimdistpixdir = $(datadir)/pixmaps/pidgin gaimdistpix_DATA = logo.png tb_drag_arrow_down.xpm tb_drag_arrow_left.xpm tb_drag_arrow_right.xpm tb_drag_arrow_up.xpm typed.png typing.png status-online.png status-offline.png status-away.png status-invisible.png status-typing0.png status-typing1.png status-typing2.png status-typing3.png status-connect0.png status-connect1.png status-connect2.png status-connect3.png phone.png insert-image.png