Revision 1511452027c82ac0e90e815c6968a48c2a4cb697
wabz at pidgin.im
wabz at pidgin.im
Mon Mar 26 20:52:37 EDT 2007
o -----------------------------------------------------------------
|\ Revision: 1511452027c82ac0e90e815c6968a48c2a4cb697
| | Ancestor: 3373e976438182796e93bab7ded908eba4db04ed
| | Ancestor: e8a93071ea487cda30c11aee38b1763a8fccaceb
| | Author: wabz at pidgin.im
| | Date: 2007-03-27T00:46:44
| | Branch: im.pidgin.pidgin
| |
| | Modified files:
| | config.h.mingw finch/gntrequest.c finch/libgnt/gntfilesel.c
| | finch/libgnt/gntfilesel.h libpurple/win32/libpurplerc.rc.in
| | pidgin/gtkaccount.c pidgin/gtkstatusbox.c
| | pidgin/pixmaps/Makefile.mingw
| | pidgin/win32/nsis/pidgin-installer.nsi
| | pidgin/win32/pidgin_exe_rc.rc.in
| |
| | ChangeLog:
| |
| | merge of '3373e976438182796e93bab7ded908eba4db04ed'
| | and 'e8a93071ea487cda30c11aee38b1763a8fccaceb'
| |
| | ============================================================
| | --- config.h.mingw 61620e56a47fd744f392c5b3f3139b8f69a7076f
| | +++ config.h.mingw bbf5783dbfa3205f732209b0bbc051fee6eead53
| | @@ -26,10 +26,10 @@
| | #define ENABLE_NLS 1
| |
| | /* Define to make assertions fatal (useful for debugging). */
| | -/* #undef GAIM_FATAL_ASSERTS */
| | +/* #undef PURPLE_FATAL_ASSERTS */
| |
| | /* Define if plugins are enabled. */
| | -#define GAIM_PLUGINS 1
| | +#define PURPLE_PLUGINS 1
| |
| | /* Define to 1 if you have `alloca', as a function or macro. */
| | #define HAVE_ALLOCA 1
| | @@ -523,7 +523,7 @@
| | #define PACKAGE "pidgin"
| |
| | /* Define to the address where bug reports for this package should be sent. */
| | -#define PACKAGE_BUGREPORT "gaim-devel at lists.sourceforge.net"
| | +#define PACKAGE_BUGREPORT "devel at pidgin.im"
| |
| | /* Define to the full name of this package. */
| | #define PACKAGE_NAME "pidgin"
| | ============================================================
| | --- libpurple/win32/libpurplerc.rc.in 92587b090e2414b6169f22402d474af0957a74f6
| | +++ libpurple/win32/libpurplerc.rc.in 2722fd5e2cbd6ea896f6de4c7315de5c8260bde0
| | @@ -16,12 +16,12 @@ VS_VERSION_INFO VERSIONINFO
| | BEGIN
| | VALUE "CompanyName", "The Pidgin developer community"
| | VALUE "FileDescription", "LibPurple Library"
| | - VALUE "FileVersion", "@PIDGIN_VERSION@"
| | + VALUE "FileVersion", "@PURPLE_VERSION@"
| | VALUE "InternalName", "libpurple"
| | VALUE "LegalCopyright", "Copyright (C) 1998-2007 The Pidgin developer community (See the COPYRIGHT file in the source distribution)."
| | VALUE "OriginalFilename", "libpurple.dll"
| | VALUE "ProductName", "LibPurple"
| | - VALUE "ProductVersion", "@PIDGIN_VERSION@"
| | + VALUE "ProductVersion", "@PURPLE_VERSION@"
| | END
| | END
| | BLOCK "VarFileInfo"
| | ============================================================
| | --- pidgin/gtkaccount.c bdb24023b99d8272e097190f59660d1dd00a08fa
| | +++ pidgin/gtkaccount.c d47c35929d6d8af01095c6f6dc0bc0c52da584ae
| | @@ -231,7 +231,7 @@ set_dialog_icon(AccountPrefsDialog *dial
| | /* Show a placeholder icon */
| | gchar *filename;
| | filename = g_build_filename(DATADIR, "pixmaps",
| | - "purple", "insert-image.png", NULL);
| | + "pidgin", "insert-image.png", NULL);
| | pixbuf = gdk_pixbuf_new_from_file(filename, NULL);
| | g_free(filename);
| | }
| | @@ -629,7 +629,7 @@ add_user_options(AccountPrefsDialog *dia
| | set_dialog_icon(dialog,
| | g_strdup(purple_account_get_ui_string(dialog->account,
| | PIDGIN_UI, "non-global-buddyicon-cached-path", NULL)),
| | - g_strdup(purple_account_get_ui_string(dialog->account,
| | + g_strdup(purple_account_get_ui_string(dialog->account,
| | PIDGIN_UI, "non-global-buddyicon-path", NULL)));
| | } else {
| | set_dialog_icon(dialog, NULL, NULL);
| | @@ -2142,12 +2142,12 @@ create_accounts_list(AccountsWindow *dia
| | /* Translators: Please maintain the use of -> or <- to represent the menu heirarchy */
| | pretty = pidgin_make_pretty_arrows(_(
| | "<span size='larger' weight='bold'>Welcome to " PIDGIN_NAME "!</span>\n\n"
| | -
| | +
| | "You have no IM accounts configured. To start connecting with " PIDGIN_NAME " "
| | "press the <b>Add</b> button below and configure your first "
| | "account. If you want " PIDGIN_NAME " to connect to multiple IM accounts, "
| | "press <b>Add</b> again to configure them all.\n\n"
| | -
| | +
| | "You can come back to this window to add, edit, or remove "
| | "accounts from <b>Accounts->Add/Edit</b> in the Buddy "
| | "List window"));
| | @@ -2439,7 +2439,7 @@ pidgin_accounts_request_add(PurpleAccoun
| |
| | buffer = make_info(account, gc, remote_user, id, alias, msg);
| | alert = pidgin_make_mini_dialog(gc, PIDGIN_STOCK_DIALOG_QUESTION,
| | - _("Add buddy to your list?"), buffer, data,
| | + _("Add buddy to your list?"), buffer, data,
| | _("Add"), G_CALLBACK(add_user_cb),
| | _("Cancel"), G_CALLBACK(free_add_user_data), NULL);
| | pidgin_blist_add_alert(alert);
| | @@ -2515,27 +2515,27 @@ pidgin_accounts_request_authorization(Pu
| | aa->account = account;
| | alert = pidgin_make_mini_dialog(gc, PIDGIN_STOCK_DIALOG_QUESTION,
| | _("Authorize buddy?"), buffer, aa,
| | - _("Authorize"), authorize_and_add_cb,
| | - _("Deny"), deny_no_add_cb,
| | + _("Authorize"), authorize_and_add_cb,
| | + _("Deny"), deny_no_add_cb,
| | NULL);
| | } else {
| | alert = pidgin_make_mini_dialog(gc, PIDGIN_STOCK_DIALOG_QUESTION,
| | _("Authorize buddy?"), buffer, user_data,
| | - _("Authorize"), auth_cb,
| | - _("Deny"), deny_cb,
| | + _("Authorize"), auth_cb,
| | + _("Deny"), deny_cb,
| | NULL);
| | }
| | pidgin_blist_add_alert(alert);
| |
| | g_free(buffer);
| | -
| | +
| | return NULL;
| | }
| |
| | static void
| | pidgin_accounts_request_close(void *ui_handle)
| | {
| | -
| | +
| | }
| |
| | static PurpleAccountUiOps ui_ops =
| | ============================================================
| | --- pidgin/gtkstatusbox.c b4b98fcf684e8038f096a2c08cd68bef2b99e802
| | +++ pidgin/gtkstatusbox.c a9b80274b1dcbead4b2e319112a537932a581c0b
| | @@ -279,7 +279,7 @@ icon_box_dnd_cb(GtkWidget *widget, GdkDr
| | if (!g_ascii_strncasecmp(name, "file://", 7)) {
| | GError *converr = NULL;
| | gchar *tmp, *rtmp;
| | -
| | +
| | if(!(tmp = g_filename_from_uri(name, NULL, &converr))) {
| | purple_debug(PURPLE_DEBUG_ERROR, "buddyicon", "%s\n",
| | (converr ? converr->message :
| | @@ -559,7 +559,7 @@ pidgin_status_box_refresh(PidginStatusBo
| | PurpleAccount *acct = (status_box->token_status_account) ? status_box->token_status_account : status_box->account;
| |
| | icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL);
| | -
| | +
| | style = gtk_widget_get_style(GTK_WIDGET(status_box));
| | snprintf(aa_color, sizeof(aa_color), "#%02x%02x%02x",
| | style->text_aa[GTK_STATE_NORMAL].red >> 8,
| | @@ -584,7 +584,7 @@ pidgin_status_box_refresh(PidginStatusBo
| | if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(status_box->dropdown_store), &iter, path))
| | return;
| | gtk_tree_path_free(path);
| | -
| | +
| | gtk_tree_model_get(GTK_TREE_MODEL(status_box->dropdown_store), &iter,
| | TYPE_COLUMN, &type,
| | DATA_COLUMN, &data,
| | @@ -688,7 +688,7 @@ pidgin_status_box_refresh(PidginStatusBo
| | }
| | }
| | #endif
| | -
| | +
| | }
| |
| | if (status_box->account != NULL) {
| | @@ -824,7 +824,7 @@ status_menu_refresh_iter(PidginStatusBox
| | break;
| | }
| | g_free(name);
| | -
| | +
| | } else if ((type == PIDGIN_STATUS_BOX_TYPE_POPULAR) &&
| | (GPOINTER_TO_INT(data) == purple_savedstatus_get_creation_time(saved_status)))
| | {
| | @@ -1186,7 +1186,7 @@ cache_pixbufs(PidginStatusBox *status_bo
| | cache_pixbufs(PidginStatusBox *status_box)
| | {
| | GtkIconSize icon_size;
| | -
| | +
| | g_object_set(G_OBJECT(status_box->icon_rend), "xpad", 3, NULL);
| | icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL);
| |
| | @@ -1311,14 +1311,14 @@ pidgin_status_box_list_position (PidginS
| | #endif
| | GtkRequisition popup_req;
| | GtkPolicyType hpolicy, vpolicy;
| | -
| | +
| | gdk_window_get_origin (GTK_WIDGET(status_box)->window, x, y);
| |
| | *x += GTK_WIDGET(status_box)->allocation.x;
| | *y += GTK_WIDGET(status_box)->allocation.y;
| | -
| | +
| | *width = GTK_WIDGET(status_box)->allocation.width;
| | -
| | +
| | hpolicy = vpolicy = GTK_POLICY_NEVER;
| | gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (status_box->scrolled_window),
| | hpolicy, vpolicy);
| | @@ -1336,7 +1336,7 @@ pidgin_status_box_list_position (PidginS
| |
| | #if GTK_CHECK_VERSION(2,2,0)
| | screen = gtk_widget_get_screen (GTK_WIDGET (status_box));
| | - monitor_num = gdk_screen_get_monitor_at_window (screen,
| | + monitor_num = gdk_screen_get_monitor_at_window (screen,
| | GTK_WIDGET (status_box)->window);
| | gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
| |
| | @@ -1344,7 +1344,7 @@ pidgin_status_box_list_position (PidginS
| | *x = monitor.x;
| | else if (*x + *width > monitor.x + monitor.width)
| | *x = monitor.x + monitor.width - *width;
| | -
| | +
| | if (*y + GTK_WIDGET(status_box)->allocation.height + *height <= monitor.y + monitor.height)
| | *y += GTK_WIDGET(status_box)->allocation.height;
| | else if (*y - *height >= monitor.y)
| | @@ -1354,7 +1354,7 @@ pidgin_status_box_list_position (PidginS
| | *y += GTK_WIDGET(status_box)->allocation.height;
| | *height = monitor.y + monitor.height - *y;
| | }
| | - else
| | + else
| | {
| | *height = *y - monitor.y;
| | *y = monitor.y;
| | @@ -1363,7 +1363,7 @@ pidgin_status_box_list_position (PidginS
| | if (popup_req.height > *height)
| | {
| | vpolicy = GTK_POLICY_ALWAYS;
| | -
| | +
| | gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (status_box->scrolled_window),
| | hpolicy, vpolicy);
| | }
| | @@ -1406,8 +1406,8 @@ pidgin_status_box_popup(PidginStatusBox
| | {
| | int width, height, x, y;
| | pidgin_status_box_list_position (box, &x, &y, &width, &height);
| | -
| | - gtk_widget_set_size_request (box->popup_window, width, height);
| | +
| | + gtk_widget_set_size_request (box->popup_window, width, height);
| | gtk_window_move (GTK_WINDOW (box->popup_window), x, y);
| | gtk_widget_show(box->popup_window);
| | gtk_widget_grab_focus (box->tree_view);
| | @@ -1442,7 +1442,7 @@ toggled_cb(GtkWidget *widget, PidginStat
| | toggled_cb(GtkWidget *widget, PidginStatusBox *box)
| | {
| | if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) {
| | - if (!box->popup_in_progress)
| | + if (!box->popup_in_progress)
| | pidgin_status_box_popup (box);
| | } else {
| | pidgin_status_box_popdown(box);
| | @@ -1531,38 +1531,38 @@ treeview_activate_current_selection(Pidg
| | {
| | if (status_box->active_row)
| | gtk_tree_row_reference_free(status_box->active_row);
| | -
| | +
| | status_box->active_row = gtk_tree_row_reference_new(GTK_TREE_MODEL(status_box->dropdown_store), path);
| | -
| | +
| | pidgin_status_box_popdown (status_box);
| | pidgin_status_box_changed(status_box);
| | }
| |
| | -static gboolean
| | -treeview_button_release_cb(GtkWidget *widget, GdkEventButton *event, PidginStatusBox *status_box)
| | +static gboolean
| | +treeview_button_release_cb(GtkWidget *widget, GdkEventButton *event, PidginStatusBox *status_box)
| | {
| | GtkTreePath *path = NULL;
| | int ret;
| | GtkWidget *ewidget = gtk_get_event_widget ((GdkEvent *)event);
| | -
| | +
| | if (ewidget != status_box->tree_view) {
| | - if (ewidget == status_box->toggle_button &&
| | + if (ewidget == status_box->toggle_button &&
| | status_box->popup_in_progress &&
| | gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (status_box->toggle_button))) {
| | pidgin_status_box_popdown (status_box);
| | return TRUE;
| | }
| | -
| | +
| | /* released outside treeview */
| | - if (ewidget != status_box->toggle_button)
| | + if (ewidget != status_box->toggle_button)
| | {
| | pidgin_status_box_popdown (status_box);
| | return TRUE;
| | }
| | -
| | +
| | return FALSE;
| | }
| | -
| | +
| | ret = gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (status_box->tree_view),
| | event->x, event->y,
| | &path,
| | @@ -1570,7 +1570,7 @@ treeview_button_release_cb(GtkWidget *wi
| |
| | if (!ret)
| | return TRUE; /* clicked outside window? */
| | -
| | +
| | treeview_activate_current_selection(status_box, path);
| | gtk_tree_path_free (path);
| |
| | @@ -1620,7 +1620,7 @@ pidgin_status_box_init (PidginStatusBox
| | status_box->cell_view = gtk_cell_view_new();
| | status_box->vsep = gtk_vseparator_new();
| | status_box->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE);
| | -
| | +
| | status_box->store = gtk_list_store_new(NUM_COLUMNS, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER);
| | status_box->dropdown_store = gtk_list_store_new(NUM_COLUMNS, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER);
| | ;
| | @@ -1696,7 +1696,7 @@ pidgin_status_box_init (PidginStatusBox
| | gtk_tree_view_set_search_column(GTK_TREE_VIEW(status_box->tree_view), TEXT_COLUMN);
| | gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(status_box->tree_view),
| | pidgin_tree_view_search_equal_func, NULL, NULL);
| | -
| | +
| | #if GTK_CHECK_VERSION(2, 6, 0)
| | g_object_set(text_rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
| | #endif
| | @@ -1907,7 +1907,7 @@ pidgin_status_box_expose_event(GtkWidget
| | gtk_paint_box(widget->style, widget->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, NULL,
| | status_box->icon_box, "button", status_box->icon_box->allocation.x-1, status_box->icon_box->allocation.y-1,
| | 34, 34);
| | - }
| | + }
| | return FALSE;
| | }
| |
| | @@ -2064,7 +2064,7 @@ pidgin_status_box_redisplay_buddy_icon(P
| | /* Show a placeholder icon */
| | gchar *filename;
| | filename = g_build_filename(DATADIR, "pixmaps",
| | - "purple", "insert-image.png", NULL);
| | + "pidgin", "insert-image.png", NULL);
| | status_box->buddy_icon = gdk_pixbuf_new_from_file(filename, NULL);
| | g_free(filename);
| | }
| | @@ -2138,7 +2138,7 @@ activate_currently_selected_status(Pidgi
| | char *message;
| | PurpleSavedStatus *saved_status = NULL;
| | gboolean changed = TRUE;
| | -
| | +
| | path = gtk_tree_row_reference_get_path(status_box->active_row);
| | if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(status_box->dropdown_store), &iter, path))
| | return;
| | @@ -2188,7 +2188,7 @@ activate_currently_selected_status(Pidgi
| | const char *id = NULL;
| | GtkTreePath *path = gtk_tree_row_reference_get_path(status_box->active_row);
| | active = gtk_tree_path_get_indices(path)[0];
| | -
| | +
| | gtk_tree_path_free(path);
| |
| | status = purple_account_get_active_status(status_box->token_status_account);
| | @@ -2386,13 +2386,13 @@ static void pidgin_status_box_changed(Pi
| | GList *accounts = NULL, *node;
| | int active;
| |
| | -
| | +
| | if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(status_box->dropdown_store), &iter, path))
| | return;
| | active = gtk_tree_path_get_indices(path)[0];
| | gtk_tree_path_free(path);
| | g_object_set_data(G_OBJECT(status_box), "active", GINT_TO_POINTER(active));
| | -
| | +
| | gtk_tree_model_get(GTK_TREE_MODEL(status_box->dropdown_store), &iter,
| | TYPE_COLUMN, &type,
| | DATA_COLUMN, &data,
| | ============================================================
| | --- pidgin/pixmaps/Makefile.mingw 14cf5a801ce84b98aa67976ac4ebf4d28a3e28ba
| | +++ pidgin/pixmaps/Makefile.mingw e6a4c2179746cc35cc70cc402b8b671b1531e19c
| | @@ -18,24 +18,24 @@ install:
| | $(MAKE) -C $$subdir -f $(GAIM_WIN32_MAKEFILE) install || exit 1 ;\
| | done; \
| | fi;
| | - if test '$(gaimbuttonpix_DATA)'; then \
| | - mkdir -p $(gaimbuttonpixdir); \
| | - cp $(gaimbuttonpix_DATA) $(gaimbuttonpixdir); \
| | + if test '$(pidginbuttonpix_DATA)'; then \
| | + mkdir -p $(pidginbuttonpixdir); \
| | + cp $(pidginbuttonpix_DATA) $(pidginbuttonpixdir); \
| | fi;
| | - if test '$(gaimdialogpix_DATA)'; then \
| | - mkdir -p $(gaimdialogpixdir); \
| | - cp $(gaimdialogpix_DATA) $(gaimdialogpixdir); \
| | + if test '$(pidgindialogpix_DATA)'; then \
| | + mkdir -p $(pidgindialogpixdir); \
| | + cp $(pidgindialogpix_DATA) $(pidgindialogpixdir); \
| | fi;
| | - if test '$(gaimiconpix_DATA)'; then \
| | - mkdir -p $(gaimiconpixdir); \
| | - cp $(gaimiconpix_DATA) $(gaimiconpixdir); \
| | + if test '$(pidginiconpix_DATA)'; then \
| | + mkdir -p $(pidginiconpixdir); \
| | + cp $(pidginiconpix_DATA) $(pidginiconpixdir); \
| | fi;
| | - if test '$(gaimdistpix_DATA)'; then \
| | - mkdir -p $(gaimdistpixdir); \
| | - cp $(gaimdistpix_DATA) $(gaimdistpixdir); \
| | + if test '$(pidgindistpix_DATA)'; then \
| | + mkdir -p $(pidgindistpixdir); \
| | + cp $(pidgindistpix_DATA) $(pidgindistpixdir); \
| | fi;
| | - if test '$(distpixmap_DATA)'; then \
| | - mkdir -p $(distpixmapdir); \
| | - cp $(distpixmap_DATA) $(distpixmapdir); \
| | - fi;
| | +# if test '$(distpixmap_DATA)'; then \
| | +# mkdir -p $(distpixmapdir); \
| | +# cp $(distpixmap_DATA) $(distpixmapdir); \
| | +# fi;
| |
| | ============================================================
| | --- pidgin/win32/nsis/pidgin-installer.nsi d838793d5b4d26ff478ba2929d67336acd2d561f
| | +++ pidgin/win32/nsis/pidgin-installer.nsi 861a65b63670152ec16727b3c5a551ad9b0db8bd
| | @@ -698,7 +698,7 @@ Section Uninstall
| | Delete "$INSTDIR\plugins\buddynote.dll"
| | Delete "$INSTDIR\plugins\convcolors.dll"
| | Delete "$INSTDIR\plugins\extplacement.dll"
| | - Delete "$INSTDIR\plugins\gaimrc.dll"
| | + Delete "$INSTDIR\plugins\pidginrc.dll"
| | Delete "$INSTDIR\plugins\history.dll"
| | Delete "$INSTDIR\plugins\iconaway.dll"
| | Delete "$INSTDIR\plugins\idle.dll"
| | @@ -735,12 +735,12 @@ Section Uninstall
| | Delete "$INSTDIR\plugins\win2ktrans.dll"
| | Delete "$INSTDIR\plugins\winprefs.dll"
| | RMDir "$INSTDIR\plugins"
| | - Delete "$INSTDIR\sounds\gaim\alert.wav"
| | - Delete "$INSTDIR\sounds\gaim\login.wav"
| | - Delete "$INSTDIR\sounds\gaim\logout.wav"
| | - Delete "$INSTDIR\sounds\gaim\receive.wav"
| | - Delete "$INSTDIR\sounds\gaim\send.wav"
| | - RMDir "$INSTDIR\sounds\gaim"
| | + Delete "$INSTDIR\sounds\pidgin\alert.wav"
| | + Delete "$INSTDIR\sounds\pidgin\login.wav"
| | + Delete "$INSTDIR\sounds\pidgin\logout.wav"
| | + Delete "$INSTDIR\sounds\pidgin\receive.wav"
| | + Delete "$INSTDIR\sounds\pidgin\send.wav"
| | + RMDir "$INSTDIR\sounds\pidgin"
| | RMDir "$INSTDIR\sounds"
| | Delete "$INSTDIR\freebl3.dll"
| | Delete "$INSTDIR\idletrack.dll"
| | ============================================================
| | --- pidgin/win32/pidgin_exe_rc.rc.in 17f268a082f3ab0dc040f4c803771d2f70fb6563
| | +++ pidgin/win32/pidgin_exe_rc.rc.in bbaf60b502d35a4a8a5c69b44c8321104253ac92
| | @@ -33,4 +33,4 @@ VS_VERSION_INFO VERSIONINFO
| | END
| | END
| |
| | +PIDGIN_ICON ICON PIXMAPDIR "pidgin.ico"
| | -PURPLE_ICON ICON PIXMAPDIR "pidgin.ico"
| | ============================================================
| | --- finch/gntrequest.c 7d34a05e7573c17085b8d98091752ba19b21fc9a
| | +++ finch/gntrequest.c 7f00f030f3ccddddb4fdc02ba9829f1d609214dd
| | @@ -582,6 +582,8 @@ finch_request_file(const char *title, co
| | data->dialog = window;
| | 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: */
| | + if (savedialog)
| | + gnt_file_sel_set_suggested_filename(sel, filename);
| | g_signal_connect(G_OBJECT(sel->cancel), "activate",
| | G_CALLBACK(file_cancel_cb), data);
| | g_signal_connect(G_OBJECT(sel->select), "activate",
| | ============================================================
| | --- finch/libgnt/gntfilesel.c c7efb481d2495dfbbf09e74d06bae247dcfd914c
| | +++ finch/libgnt/gntfilesel.c 3933090725b7303f6e5170e96da10aeebec09130
| | @@ -28,6 +28,7 @@ gnt_file_sel_destroy(GntWidget *widget)
| | {
| | GntFileSel *sel = GNT_FILE_SEL(widget);
| | g_free(sel->current);
| | + g_free(sel->suggest);
| | if (sel->tags) {
| | g_list_foreach(sel->tags, (GFunc)g_free, NULL);
| | g_list_free(sel->tags);
| | @@ -70,7 +71,8 @@ update_location(GntFileSel *sel)
| | {
| | char *old;
| | const char *tmp;
| | - tmp = (const char*)gnt_tree_get_selection_data(sel->dirsonly ? GNT_TREE(sel->dirs) : GNT_TREE(sel->files));
| | + tmp = sel->suggest ? sel->suggest :
| | + (const char*)gnt_tree_get_selection_data(sel->dirsonly ? GNT_TREE(sel->dirs) : GNT_TREE(sel->files));
| | old = g_strdup_printf("%s%s%s", sel->current, sel->current[1] ? G_DIR_SEPARATOR_S : "", tmp ? tmp : "");
| | gnt_entry_set_text(GNT_ENTRY(sel->location), old);
| | g_free(old);
| | @@ -230,6 +232,8 @@ file_sel_changed(GntWidget *widget, gpoi
| | static void
| | file_sel_changed(GntWidget *widget, gpointer old, gpointer current, GntFileSel *sel)
| | {
| | + g_free(sel->suggest);
| | + sel->suggest = NULL;
| | update_location(sel);
| | }
| |
| | @@ -449,12 +453,19 @@ gboolean gnt_file_sel_get_dirs_only(GntF
| | return sel->dirsonly;
| | }
| |
| | +void gnt_file_sel_set_suggested_filename(GntFileSel *sel, const char *suggest)
| | +{
| | + sel->suggest = g_strdup(suggest);
| | +}
| | +
| | 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 : "");
| | + if (sel->dirsonly) {
| | + ret = g_strdup(g_path_get_dirname(gnt_entry_get_text(GNT_ENTRY(sel->location))));
| | + } else {
| | + ret = g_strdup(gnt_entry_get_text(GNT_ENTRY(sel->location)));
| | + }
| | return ret;
| | }
| |
| | ============================================================
| | --- finch/libgnt/gntfilesel.h 70cd6214d27e11388af7dd3a258fa3293d8b863d
| | +++ finch/libgnt/gntfilesel.h f8ef0ccc30968d6335477df5db8bb59193adea8a
| | @@ -33,6 +33,7 @@ struct _GntFileSel
| | GntWidget *cancel; /* cancel button */
| |
| | char *current; /* Full path of the current location */
| | + char *suggest; /* Suggested filename */
| | /* XXX: someone should make these useful */
| | gboolean must_exist; /* Make sure the selected file (the name entered in 'location') exists */
| | gboolean dirsonly; /* Show only directories */
| | @@ -73,6 +74,8 @@ void gnt_file_sel_set_multi_select(GntFi
| |
| | void gnt_file_sel_set_multi_select(GntFileSel *sel, gboolean set);
| |
| | +void gnt_file_sel_set_suggested_filename(GntFileSel *sel, const char *suggest);
| | +
| | G_END_DECLS
| |
| | #endif /* GNT_FILE_SEL_H */
To get the patch for this revision, please do this:
mtn log --last 1 --diffs --from 1511452027c82ac0e90e815c6968a48c2a4cb697
More information about the Commits
mailing list