# HG changeset patch # User Mark Doliner # Date 1177266005 0 # Node ID 03532b86c20ff42d28606dbc0efacb000d3c16a5 # Parent aae14296a3499ac4179b05ab5e72fe93b149b3f3# Parent 3453edd4f7032b159c3b73f73879c846519e8c5f merge of '1fec4b7f300a8ab8b7036a98e8ecc90808bbe5ca' and '795a3d9baa3c96bae20af1c1bfa0b7179c0cac99' diff -r aae14296a349 -r 03532b86c20f libpurple/protocols/oscar/oscar.c --- a/libpurple/protocols/oscar/oscar.c Sat Apr 21 18:54:36 2007 +0000 +++ b/libpurple/protocols/oscar/oscar.c Sun Apr 22 18:20:05 2007 +0000 @@ -3397,10 +3397,9 @@ if (code == AIM_RATE_CODE_LIMIT) { - purple_notify_error(od->gc, NULL, _("Rate limiting error."), - _("The last action you attempted could not be " - "performed because you are over the rate limit. " - "Please wait 10 seconds and try again.")); + purple_debug_warning("oscar", _("The last action you attempted could not be " + "performed because you are over the rate limit. " + "Please wait 10 seconds and try again.")); } return 1; diff -r aae14296a349 -r 03532b86c20f pidgin.spec.in --- a/pidgin.spec.in Sat Apr 21 18:54:36 2007 +0000 +++ b/pidgin.spec.in Sun Apr 22 18:20:05 2007 +0000 @@ -18,7 +18,6 @@ Name: @PACKAGE@ Version: %pidginver Release: 0%{?beta:.beta%{beta}} -Epoch: 2 License: GPL Group: Applications/Internet URL: http://pidgin.im/ @@ -67,14 +66,17 @@ # For some reason perl isn't always automatically detected as a requirement :( Requires: perl + Obsoletes: gaim +Provides: gaim %package devel Summary: Development headers, documentation, and libraries for Pidgin Group: Applications/Internet -Requires: pidgin = %{epoch}:%{version}, libpurple-devel = %{epoch}:%{version} +Requires: pidgin = %{version}, libpurple-devel = %{version} Requires: pkgconfig Obsoletes: gaim-devel +Provides: gaim-devel %package -n libpurple Summary: libpurple library for IM clients like Pidgin and Finch @@ -86,40 +88,40 @@ %package -n libpurple-devel Summary: Development headers, documentation, and libraries for libpurple Group: Applications/Internet -Requires: libpurple = %{epoch}:%{version} +Requires: libpurple = %{version} Requires: pkgconfig %if 0%{?_with_howl:1} || 0%{?_with_avahi:1} %package -n libpurple-bonjour Summary: Bonjour plugin for Pidgin Group: Applications/Internet -Requires: libpurple = %{epoch}:%{version} +Requires: libpurple = %{version} %endif %if 0%{?_with_meanwhile:1} %package -n libpurple-meanwhile Summary: Lotus Sametime plugin for Pidgin using the Meanwhile library Group: Applications/Internet -Requires: libpurple = %{epoch}:%{version} +Requires: libpurple = %{version} %endif %if 0%{?_with_mono:1} %package -n libpurple-mono Summary: Mono .NET plugin support for Pidgin Group: Applications/Internet -Requires: libpurple = %{epoch}:%{version} +Requires: libpurple = %{version} %endif %if 0%{!?_without_text:1} %package -n finch Summary: A text-based user interface for Pidgin Group: Applications/Internet -Requires: libpurple = %{epoch}:%{version} +Requires: libpurple = %{version} %package -n finch-devel Summary: Headers etc. for finch stuffs Group: Applications/Internet -Requires: finch = %{epoch}:%{version}, libpurple-devel = %{epoch}:%{version} +Requires: finch = %{version}, libpurple-devel = %{version} Requires: pkgconfig %endif @@ -431,6 +433,10 @@ %endif %changelog +* Sun Apr 22 2007 Stu Tomlinson +- Remove Epoch because it's gone in Fedora now +- Add virtual provides for gaim & gaim-devel + * Thu Apr 19 2007 Stu Tomlinson - Fix pkgconfig Requires - Add ldconfig in pre/post scripts for libpurple & finch diff -r aae14296a349 -r 03532b86c20f pidgin/gtkstatusbox.c --- a/pidgin/gtkstatusbox.c Sat Apr 21 18:54:36 2007 +0000 +++ b/pidgin/gtkstatusbox.c Sun Apr 22 18:20:05 2007 +0000 @@ -106,13 +106,23 @@ /** A plain-English description of this item */ DESC_COLUMN, - /* + /** * This value depends on TYPE_COLUMN. For POPULAR types, * this is the creation time. For PRIMITIVE types, * this is the PurpleStatusPrimitive. */ DATA_COLUMN, + /** + * This column stores the GdkPixbuf for the status emblem. Currently only 'saved' is stored + */ + EMBLEM_COLUMN, + + /** + * This column stores whether to show the emblem. + */ + EMBLEM_VISIBLE_COLUMN, + NUM_COLUMNS }; @@ -889,6 +899,7 @@ { GList *list, *cur; GdkPixbuf *pixbuf; + PidginStatusBoxItemType type = PIDGIN_STATUS_BOX_TYPE_POPULAR; list = purple_savedstatuses_get_popular(6); if (list == NULL) @@ -926,23 +937,10 @@ stripped = purple_markup_strip_html(message); purple_util_chrreplace(stripped, '\n', ' '); } -#if 0 - /* Overlay a disk in the bottom left corner */ - emblem = gtk_widget_render_icon(GTK_WIDGET(statusbox->vbox), - GTK_STOCK_SAVE, icon_size, "PidginStatusBox"); - if (emblem != NULL) - { - width = gdk_pixbuf_get_width(pixbuf) / 2; - height = gdk_pixbuf_get_height(pixbuf) / 2; - gdk_pixbuf_composite(emblem, pixbuf, 0, height, - width, height, 0, height, - 0.5, 0.5, GDK_INTERP_BILINEAR, 255); - g_object_unref(G_OBJECT(emblem)); - } -#endif + type = PIDGIN_STATUS_BOX_TYPE_SAVED_POPULAR; } - pidgin_status_box_add(statusbox, PIDGIN_STATUS_BOX_TYPE_POPULAR, + pidgin_status_box_add(statusbox, type, pixbuf, purple_savedstatus_get_title(saved), stripped, GINT_TO_POINTER(purple_savedstatus_get_creation_time(saved))); g_free(stripped); @@ -1586,6 +1584,7 @@ { GtkCellRenderer *text_rend; GtkCellRenderer *icon_rend; + GtkCellRenderer *emblem_rend; GtkTextBuffer *buffer; GtkWidget *toplevel; GtkTreeSelection *sel; @@ -1601,9 +1600,11 @@ 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); -; + 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, G_TYPE_STRING, G_TYPE_BOOLEAN); + 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, G_TYPE_STRING, G_TYPE_BOOLEAN); + gtk_cell_view_set_model(GTK_CELL_VIEW(status_box->cell_view), GTK_TREE_MODEL(status_box->store)); gtk_list_store_append(status_box->store, &(status_box->iter)); @@ -1618,7 +1619,7 @@ text_rend = gtk_cell_renderer_text_new(); icon_rend = gtk_cell_renderer_pixbuf_new(); - + emblem_rend = gtk_cell_renderer_pixbuf_new(); status_box->popup_window = gtk_window_new (GTK_WINDOW_POPUP); toplevel = gtk_widget_get_toplevel (GTK_WIDGET (status_box)); @@ -1669,8 +1670,10 @@ status_box->column); gtk_tree_view_column_pack_start(status_box->column, icon_rend, FALSE); gtk_tree_view_column_pack_start(status_box->column, text_rend, TRUE); + gtk_tree_view_column_pack_start(status_box->column, emblem_rend, FALSE); gtk_tree_view_column_set_attributes(status_box->column, icon_rend, "pixbuf", ICON_COLUMN, NULL); gtk_tree_view_column_set_attributes(status_box->column, text_rend, "markup", TEXT_COLUMN, NULL); + gtk_tree_view_column_set_attributes(status_box->column, emblem_rend, "stock-id", EMBLEM_COLUMN, "visible", EMBLEM_VISIBLE_COLUMN, NULL); gtk_container_add(GTK_CONTAINER(status_box->scrolled_window), status_box->tree_view); gtk_widget_show(status_box->tree_view); gtk_tree_view_set_search_column(GTK_TREE_VIEW(status_box->tree_view), TEXT_COLUMN); @@ -1982,6 +1985,8 @@ TITLE_COLUMN, title, DESC_COLUMN, desc, DATA_COLUMN, data, + EMBLEM_VISIBLE_COLUMN, type == PIDGIN_STATUS_BOX_TYPE_SAVED_POPULAR, + EMBLEM_COLUMN, GTK_STOCK_SAVE, -1); g_free(text); } diff -r aae14296a349 -r 03532b86c20f pidgin/gtkstatusbox.h --- a/pidgin/gtkstatusbox.h Sat Apr 21 18:54:36 2007 +0000 +++ b/pidgin/gtkstatusbox.h Sun Apr 22 18:20:05 2007 +0000 @@ -55,6 +55,7 @@ PIDGIN_STATUS_BOX_TYPE_SEPARATOR, PIDGIN_STATUS_BOX_TYPE_PRIMITIVE, PIDGIN_STATUS_BOX_TYPE_POPULAR, + PIDGIN_STATUS_BOX_TYPE_SAVED_POPULAR, PIDGIN_STATUS_BOX_TYPE_CUSTOM, PIDGIN_STATUS_BOX_TYPE_SAVED, PIDGIN_STATUS_BOX_NUM_TYPES