pidgin.next.minor: d3878e8c: Start of killing off unneeded GTK_CHECK_...
rekkanoryo at pidgin.im
rekkanoryo at pidgin.im
Sun Aug 23 01:10:45 EDT 2009
-----------------------------------------------------------------
Revision: d3878e8c0b6b2759511312dcfed023b3b63c3b62
Ancestor: c8b827509f22ca827c728813a656f61816941757
Author: rekkanoryo at pidgin.im
Date: 2009-08-23T05:04:15
Branch: im.pidgin.pidgin.next.minor
URL: http://d.pidgin.im/viewmtn/revision/info/d3878e8c0b6b2759511312dcfed023b3b63c3b62
Modified files:
pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/gtkutils.h
pidgin/gtkwhiteboard.c pidgin/minidialog.c pidgin/pidgin.h
ChangeLog:
Start of killing off unneeded GTK_CHECK_VERSION checks in pidgin. Refs #10024
-------------- next part --------------
============================================================
--- pidgin/gtkstatusbox.c 001d99b96ee3bf40a213adda7b9251fb7cfd2534
+++ pidgin/gtkstatusbox.c 920ff8c17b48746312978407686dd0c404f88c9d
@@ -1169,7 +1169,6 @@ static gboolean imhtml_remove_focus(GtkW
return FALSE;
}
-#if GTK_CHECK_VERSION(2,6,0)
static gboolean
dropdown_store_row_separator_func(GtkTreeModel *model,
GtkTreeIter *iter, gpointer data)
@@ -1183,7 +1182,6 @@ dropdown_store_row_separator_func(GtkTre
return FALSE;
}
-#endif
static void
cache_pixbufs(PidginStatusBox *status_box)
@@ -1293,11 +1291,9 @@ pidgin_status_box_list_position (PidginS
static void
pidgin_status_box_list_position (PidginStatusBox *status_box, int *x, int *y, int *width, int *height)
{
-#if GTK_CHECK_VERSION(2,2,0)
GdkScreen *screen;
gint monitor_num;
GdkRectangle monitor;
-#endif
GtkRequisition popup_req;
GtkPolicyType hpolicy, vpolicy;
@@ -1323,7 +1319,6 @@ pidgin_status_box_list_position (PidginS
*height = popup_req.height;
-#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,
GTK_WIDGET (status_box)->window);
@@ -1356,7 +1351,6 @@ pidgin_status_box_list_position (PidginS
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (status_box->scrolled_window),
hpolicy, vpolicy);
}
-#endif
}
static gboolean
@@ -1364,29 +1358,20 @@ popup_grab_on_window (GdkWindow *window,
guint32 activate_time,
gboolean grab_keyboard)
{
- if ((gdk_pointer_grab (window, TRUE,
+ if ((gdk_pointer_grab (window, TRUE,
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_MASK,
NULL, NULL, activate_time) == 0))
- {
- if (!grab_keyboard ||
- gdk_keyboard_grab (window, TRUE,
- activate_time) == 0)
- return TRUE;
- else
{
-#if GTK_CHECK_VERSION(2,2,0)
- gdk_display_pointer_ungrab (gdk_drawable_get_display (window),
- activate_time);
-#else
- gdk_pointer_ungrab(activate_time);
- gdk_keyboard_ungrab(activate_time);
-#endif
- return FALSE;
+ if (!grab_keyboard || gdk_keyboard_grab (window, TRUE, activate_time) == 0)
+ return TRUE;
+ else {
+ gdk_display_pointer_ungrab (gdk_drawable_get_display (window), activate_time);
+ return FALSE;
+ }
}
- }
- return FALSE;
+ return FALSE;
}
@@ -1781,9 +1766,7 @@ pidgin_status_box_init (PidginStatusBox
gtk_box_pack_start(GTK_BOX(status_box->hbox), status_box->vsep, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(status_box->hbox), status_box->arrow, FALSE, FALSE, 0);
gtk_widget_show_all(status_box->toggle_button);
-#if GTK_CHECK_VERSION(2,4,0)
gtk_button_set_focus_on_click(GTK_BUTTON(status_box->toggle_button), FALSE);
-#endif
text_rend = gtk_cell_renderer_text_new();
icon_rend = gtk_cell_renderer_pixbuf_new();
@@ -1797,14 +1780,10 @@ pidgin_status_box_init (PidginStatusBox
}
gtk_window_set_resizable (GTK_WINDOW (status_box->popup_window), FALSE);
-#if GTK_CHECK_VERSION(2,10,0)
gtk_window_set_type_hint (GTK_WINDOW (status_box->popup_window),
GDK_WINDOW_TYPE_HINT_POPUP_MENU);
-#endif
-#if GTK_CHECK_VERSION(2,2,0)
gtk_window_set_screen (GTK_WINDOW (status_box->popup_window),
gtk_widget_get_screen (GTK_WIDGET (status_box)));
-#endif
status_box->popup_frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (status_box->popup_frame),
GTK_SHADOW_ETCHED_IN);
@@ -1831,10 +1810,8 @@ pidgin_status_box_init (PidginStatusBox
gtk_tree_selection_set_mode (sel, GTK_SELECTION_BROWSE);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (status_box->tree_view),
FALSE);
-#if GTK_CHECK_VERSION(2,6,0)
gtk_tree_view_set_hover_selection (GTK_TREE_VIEW (status_box->tree_view),
TRUE);
-#endif
gtk_tree_view_set_model (GTK_TREE_VIEW (status_box->tree_view),
GTK_TREE_MODEL(status_box->dropdown_store));
status_box->column = gtk_tree_view_column_new ();
@@ -1852,9 +1829,7 @@ pidgin_status_box_init (PidginStatusBox
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
status_box->icon_rend = gtk_cell_renderer_pixbuf_new();
status_box->text_rend = gtk_cell_renderer_text_new();
@@ -1865,9 +1840,7 @@ pidgin_status_box_init (PidginStatusBox
gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), status_box->icon_rend, "stock-id", ICON_STOCK_COLUMN, NULL);
gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), status_box->text_rend, "markup", TEXT_COLUMN, NULL);
gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), emblem_rend, "pixbuf", EMBLEM_COLUMN, "visible", EMBLEM_VISIBLE_COLUMN, NULL);
-#if GTK_CHECK_VERSION(2, 6, 0)
g_object_set(status_box->text_rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
-#endif
status_box->vbox = gtk_vbox_new(0, FALSE);
status_box->sw = pidgin_create_imhtml(FALSE, &status_box->imhtml, NULL, NULL);
@@ -1912,9 +1885,7 @@ pidgin_status_box_init (PidginStatusBox
g_signal_connect(G_OBJECT(status_box->tree_view), "cursor-changed",
G_CALLBACK(treeview_cursor_changed_cb), status_box->dropdown_store);
-#if GTK_CHECK_VERSION(2,6,0)
gtk_tree_view_set_row_separator_func(GTK_TREE_VIEW(status_box->tree_view), dropdown_store_row_separator_func, NULL, NULL);
-#endif
status_box->token_status_account = check_active_accounts_for_identical_statuses();
@@ -2198,14 +2169,12 @@ pidgin_status_box_add_separator(PidginSt
{
/* Don't do anything unless GTK actually supports
* gtk_combo_box_set_row_separator_func */
-#if GTK_CHECK_VERSION(2,6,0)
GtkTreeIter iter;
gtk_list_store_append(status_box->dropdown_store, &iter);
gtk_list_store_set(status_box->dropdown_store, &iter,
TYPE_COLUMN, PIDGIN_STATUS_BOX_TYPE_SEPARATOR,
-1);
-#endif
}
void
@@ -2229,7 +2198,6 @@ pixbuf_size_prepared_cb(GdkPixbufLoader
static void
pixbuf_size_prepared_cb(GdkPixbufLoader *loader, int width, int height, gpointer data)
{
-#if GTK_CHECK_VERSION(2,2,0)
int w, h;
GtkIconSize icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_MEDIUM);
gtk_icon_size_lookup(icon_size, &w, &h);
@@ -2238,7 +2206,6 @@ pixbuf_size_prepared_cb(GdkPixbufLoader
else if (width > height)
h = height * w / width;
gdk_pixbuf_loader_set_size(loader, w, h);
-#endif
}
static void
============================================================
--- pidgin/gtkutils.c 439850f3e9de4db4a560eb82525b7229b687961c
+++ pidgin/gtkutils.c fc450261762cf1b2728712db36cc62704abe0b5c
@@ -1261,7 +1261,6 @@ pidgin_menu_position_func_helper(GtkMenu
gboolean *push_in,
gpointer data)
{
-#if GTK_CHECK_VERSION(2,2,0)
GtkWidget *widget;
GtkRequisition requisition;
GdkScreen *screen;
@@ -1402,7 +1401,6 @@ pidgin_menu_position_func_helper(GtkMenu
{
*y = monitor.y;
}
-#endif
}
@@ -1639,7 +1637,6 @@ pidgin_dnd_file_manage(GtkSelectionData
char key[64];
const char *itemname = NULL;
-#if GTK_CHECK_VERSION(2,6,0)
const char * const *langs;
int i;
langs = g_get_language_names();
@@ -1648,15 +1645,7 @@ pidgin_dnd_file_manage(GtkSelectionData
itemname = purple_desktop_item_get_string(item, key);
break;
}
-#else
- const char *lang = g_getenv("LANG");
- char *dot;
- dot = strchr(lang, '.');
- if (dot)
- *dot = '\0';
- g_snprintf(key, sizeof(key), "Name[%s]", lang);
- itemname = purple_desktop_item_get_string(item, key);
-#endif
+
if (!itemname)
itemname = purple_desktop_item_get_string(item, "Name");
@@ -1673,10 +1662,13 @@ pidgin_dnd_file_manage(GtkSelectionData
purple_desktop_item_get_string(item, "URL"), itemname);
break;
default:
- /* I don't know if we really want to do anything here. Most of the desktop item types are crap like
- * "MIME Type" (I have no clue how that would be a desktop item) and "Comment"... nothing we can really
- * send. The only logical one is "Application," but do we really want to send a binary and nothing else?
- * Probably not. I'll just give an error and return. */
+ /* I don't know if we really want to do anything here. Most of
+ * the desktop item types are crap like "MIME Type" (I have no
+ * clue how that would be a desktop item) and "Comment"...
+ * nothing we can really send. The only logical one is
+ * "Application," but do we really want to send a binary and
+ * nothing else? Probably not. I'll just give an error and
+ * return. */
/* The original patch sent the icon used by the launcher. That's probably wrong */
purple_notify_error(NULL, NULL, _("Cannot send launcher"),
_("You dragged a desktop launcher. Most "
@@ -1865,10 +1857,6 @@ pidgin_append_menu_action(GtkWidget *men
return menuitem;
}
-#if GTK_CHECK_VERSION(2,3,0)
-# define NEW_STYLE_COMPLETION
-#endif
-
typedef struct
{
GtkWidget *entry;
@@ -1877,97 +1865,9 @@ typedef struct
PidginFilterBuddyCompletionEntryFunc filter_func;
gpointer filter_func_user_data;
-#ifdef NEW_STYLE_COMPLETION
GtkListStore *store;
-#else
- GCompletion *completion;
- gboolean completion_started;
- GList *log_items;
-#endif /* NEW_STYLE_COMPLETION */
} PidginCompletionData;
-#ifndef NEW_STYLE_COMPLETION
-static gboolean
-completion_entry_event(GtkEditable *entry, GdkEventKey *event,
- PidginCompletionData *data)
-{
- int pos, end_pos;
-
- if (event->type == GDK_KEY_PRESS && event->keyval == GDK_Tab)
- {
- gtk_editable_get_selection_bounds(entry, &pos, &end_pos);
-
- if (data->completion_started &&
- pos != end_pos && pos > 1 &&
- end_pos == strlen(gtk_entry_get_text(GTK_ENTRY(entry))))
- {
- gtk_editable_select_region(entry, 0, 0);
- gtk_editable_set_position(entry, -1);
-
- return TRUE;
- }
- }
- else if (event->type == GDK_KEY_PRESS && event->length > 0)
- {
- char *prefix, *nprefix;
-
- gtk_editable_get_selection_bounds(entry, &pos, &end_pos);
-
- if (data->completion_started &&
- pos != end_pos && pos > 1 &&
- end_pos == strlen(gtk_entry_get_text(GTK_ENTRY(entry))))
- {
- char *temp;
-
- temp = gtk_editable_get_chars(entry, 0, pos);
- prefix = g_strconcat(temp, event->string, NULL);
- g_free(temp);
- }
- else if (pos == end_pos && pos > 1 &&
- end_pos == strlen(gtk_entry_get_text(GTK_ENTRY(entry))))
- {
- prefix = g_strconcat(gtk_entry_get_text(GTK_ENTRY(entry)),
- event->string, NULL);
- }
- else
- return FALSE;
-
- pos = strlen(prefix);
- nprefix = NULL;
-
- g_completion_complete(data->completion, prefix, &nprefix);
-
- if (nprefix != NULL)
- {
- gtk_entry_set_text(GTK_ENTRY(entry), nprefix);
- gtk_editable_set_position(entry, pos);
- gtk_editable_select_region(entry, pos, -1);
-
- data->completion_started = TRUE;
-
- g_free(nprefix);
- g_free(prefix);
-
- return TRUE;
- }
-
- g_free(prefix);
- }
-
- return FALSE;
-}
-
-static void
-destroy_completion_data(GtkWidget *w, PidginCompletionData *data)
-{
- g_list_foreach(data->completion->items, (GFunc)g_free, NULL);
- g_completion_free(data->completion);
-
- g_free(data);
-}
-#endif /* !NEW_STYLE_COMPLETION */
-
-#ifdef NEW_STYLE_COMPLETION
static gboolean buddyname_completion_match_func(GtkEntryCompletion *completion,
const gchar *key, GtkTreeIter *iter, gpointer user_data)
{
@@ -2101,7 +2001,6 @@ add_buddyname_autocomplete_entry(GtkList
g_free(normalized_buddyname);
}
-#endif /* NEW_STYLE_COMPLETION */
static void get_log_set_name(PurpleLogSet *set, gpointer value, PidginCompletionData *data)
{
@@ -2116,14 +2015,8 @@ static void get_log_set_name(PurpleLogSe
entry.entry.logged_buddy = set;
if (filter_func(&entry, user_data)) {
-#ifdef NEW_STYLE_COMPLETION
add_buddyname_autocomplete_entry(data->store,
NULL, NULL, set->account, set->name);
-#else
- /* Steal the name for the GCompletion. */
- data->log_items = g_list_append(data->log_items, set->name);
- set->name = set->normalized_name = NULL;
-#endif /* NEW_STYLE_COMPLETION */
}
}
}
@@ -2136,15 +2029,8 @@ add_completion_list(PidginCompletionData
gpointer user_data = data->filter_func_user_data;
GHashTable *sets;
-#ifdef NEW_STYLE_COMPLETION
gtk_list_store_clear(data->store);
-#else
- GList *item = g_list_append(NULL, NULL);
- g_list_foreach(data->completion->items, (GFunc)g_free, NULL);
- g_completion_clear_items(data->completion);
-#endif /* NEW_STYLE_COMPLETION */
-
for (gnode = purple_get_blist()->root; gnode != NULL; gnode = gnode->next)
{
if (!PURPLE_BLIST_NODE_IS_GROUP(gnode))
@@ -2162,35 +2048,21 @@ add_completion_list(PidginCompletionData
entry.entry.buddy = (PurpleBuddy *) bnode;
if (filter_func(&entry, user_data)) {
-#ifdef NEW_STYLE_COMPLETION
add_buddyname_autocomplete_entry(data->store,
((PurpleContact *)cnode)->alias,
purple_buddy_get_contact_alias(entry.entry.buddy),
entry.entry.buddy->account,
entry.entry.buddy->name
);
-#else
- item->data = g_strdup(entry.entry.buddy->name);
- g_completion_add_items(data->completion, item);
-#endif /* NEW_STYLE_COMPLETION */
}
}
}
}
-#ifndef NEW_STYLE_COMPLETION
- g_list_free(item);
- data->log_items = NULL;
-#endif /* NEW_STYLE_COMPLETION */
-
sets = purple_log_get_log_sets();
g_hash_table_foreach(sets, (GHFunc)get_log_set_name, data);
g_hash_table_destroy(sets);
-#ifndef NEW_STYLE_COMPLETION
- g_completion_add_items(data->completion, data->log_items);
- g_list_free(data->log_items);
-#endif /* NEW_STYLE_COMPLETION */
}
static void
@@ -2211,7 +2083,6 @@ pidgin_setup_screenname_autocomplete_wit
{
PidginCompletionData *data;
-#ifdef NEW_STYLE_COMPLETION
/*
* Store the displayed completion value, the buddy name, the UTF-8
* normalized & casefolded buddy name, the UTF-8 normalized &
@@ -2255,33 +2126,6 @@ pidgin_setup_screenname_autocomplete_wit
gtk_entry_completion_set_text_column(completion, 0);
-#else /* !NEW_STYLE_COMPLETION */
-
- data = g_new0(PidginCompletionData, 1);
-
- data->entry = entry;
- data->accountopt = accountopt;
- if (filter_func == NULL) {
- data->filter_func = pidgin_screenname_autocomplete_default_filter;
- data->filter_func_user_data = NULL;
- } else {
- data->filter_func = filter_func;
- data->filter_func_user_data = user_data;
- }
- data->completion = g_completion_new(NULL);
- data->completion_started = FALSE;
-
- add_completion_list(data);
-
- g_completion_set_compare(data->completion, g_ascii_strncasecmp);
-
- g_signal_connect(G_OBJECT(entry), "event",
- G_CALLBACK(completion_entry_event), data);
- g_signal_connect(G_OBJECT(entry), "destroy",
- G_CALLBACK(destroy_completion_data), data);
-
-#endif /* !NEW_STYLE_COMPLETION */
-
purple_signal_connect(purple_connections_get_handle(), "signed-on", entry,
PURPLE_CALLBACK(repopulate_autocomplete), data);
purple_signal_connect(purple_connections_get_handle(), "signed-off", entry,
@@ -2325,11 +2169,7 @@ void pidgin_set_cursor(GtkWidget *widget
gdk_window_set_cursor(widget->window, cursor);
gdk_cursor_unref(cursor);
-#if GTK_CHECK_VERSION(2,4,0)
gdk_display_flush(gdk_drawable_get_display(GDK_DRAWABLE(widget->window)));
-#else
- gdk_flush();
-#endif
}
void pidgin_clear_cursor(GtkWidget *widget)
@@ -2350,24 +2190,7 @@ struct _icon_chooser {
gpointer data;
};
-#if !GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
static void
-icon_filesel_delete_cb(GtkWidget *w, struct _icon_chooser *dialog)
-{
- if (dialog->icon_filesel != NULL)
- gtk_widget_destroy(dialog->icon_filesel);
-
- if (dialog->callback)
- dialog->callback(NULL, dialog->data);
-
- g_free(dialog);
-}
-#endif /* FILECHOOSER */
-
-
-
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-static void
icon_filesel_choose_cb(GtkWidget *widget, gint response, struct _icon_chooser *dialog)
{
char *filename, *current_folder;
@@ -2390,33 +2213,7 @@ icon_filesel_choose_cb(GtkWidget *widget
g_free(current_folder);
}
-#else /* FILECHOOSER */
-static void
-icon_filesel_choose_cb(GtkWidget *w, struct _icon_chooser *dialog)
-{
- char *filename, *current_folder;
- filename = g_strdup(gtk_file_selection_get_filename(
- GTK_FILE_SELECTION(dialog->icon_filesel)));
-
- /* If they typed in a directory, change there */
- if (pidgin_check_if_dir(filename,
- GTK_FILE_SELECTION(dialog->icon_filesel)))
- {
- g_free(filename);
- return;
- }
-
- current_folder = g_path_get_dirname(filename);
- if (current_folder != NULL) {
- purple_prefs_set_path(PIDGIN_PREFS_ROOT "/filelocations/last_icon_folder", current_folder);
- g_free(current_folder);
- }
-
-#endif /* FILECHOOSER */
-#if 0 /* mismatched curly braces */
- }
-#endif
if (dialog->callback)
dialog->callback(filename, dialog->data);
gtk_widget_destroy(dialog->icon_filesel);
@@ -2426,11 +2223,7 @@ static void
static void
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
icon_preview_change_cb(GtkFileChooser *widget, struct _icon_chooser *dialog)
-#else /* FILECHOOSER */
-icon_preview_change_cb(GtkTreeSelection *sel, struct _icon_chooser *dialog)
-#endif /* FILECHOOSER */
{
GdkPixbuf *pixbuf, *scale;
int height, width;
@@ -2438,13 +2231,8 @@ icon_preview_change_cb(GtkTreeSelection
struct stat st;
char *filename;
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
filename = gtk_file_chooser_get_preview_filename(
GTK_FILE_CHOOSER(dialog->icon_filesel));
-#else /* FILECHOOSER */
- filename = g_strdup(gtk_file_selection_get_filename(
- GTK_FILE_SELECTION(dialog->icon_filesel)));
-#endif /* FILECHOOSER */
if (!filename || g_stat(filename, &st) || !(pixbuf = gdk_pixbuf_new_from_file(filename, NULL)))
{
@@ -2480,20 +2268,13 @@ GtkWidget *pidgin_buddy_icon_chooser_new
GtkWidget *pidgin_buddy_icon_chooser_new(GtkWindow *parent, void(*callback)(const char *, gpointer), gpointer data) {
struct _icon_chooser *dialog = g_new0(struct _icon_chooser, 1);
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
GtkWidget *vbox;
-#else
- GtkWidget *hbox;
- GtkWidget *tv;
- GtkTreeSelection *sel;
-#endif /* FILECHOOSER */
const char *current_folder;
dialog->callback = callback;
dialog->data = data;
current_folder = purple_prefs_get_path(PIDGIN_PREFS_ROOT "/filelocations/last_icon_folder");
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
dialog->icon_filesel = gtk_file_chooser_dialog_new(_("Buddy Icon"),
parent,
@@ -2524,40 +2305,7 @@ GtkWidget *pidgin_buddy_icon_chooser_new
g_signal_connect(G_OBJECT(dialog->icon_filesel), "response",
G_CALLBACK(icon_filesel_choose_cb), dialog);
icon_preview_change_cb(NULL, dialog);
-#else /* FILECHOOSER */
- dialog->icon_filesel = gtk_file_selection_new(_("Buddy Icon"));
- dialog->icon_preview = gtk_image_new();
- dialog->icon_text = gtk_label_new(NULL);
- if ((current_folder != NULL) && (*current_folder != '\0'))
- gtk_file_selection_set_filename(GTK_FILE_SELECTION(dialog->icon_filesel),
- current_folder);
- gtk_widget_set_size_request(GTK_WIDGET(dialog->icon_preview),-1, 50);
- hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
- gtk_box_pack_start(
- GTK_BOX(GTK_FILE_SELECTION(dialog->icon_filesel)->main_vbox),
- hbox, FALSE, FALSE, 0);
- gtk_box_pack_end(GTK_BOX(hbox), dialog->icon_preview,
- FALSE, FALSE, 0);
- gtk_box_pack_end(GTK_BOX(hbox), dialog->icon_text, FALSE, FALSE, 0);
-
- tv = GTK_FILE_SELECTION(dialog->icon_filesel)->file_list;
- sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tv));
-
- g_signal_connect(G_OBJECT(sel), "changed",
- G_CALLBACK(icon_preview_change_cb), dialog);
- g_signal_connect(
- G_OBJECT(GTK_FILE_SELECTION(dialog->icon_filesel)->ok_button),
- "clicked",
- G_CALLBACK(icon_filesel_choose_cb), dialog);
- g_signal_connect(
- G_OBJECT(GTK_FILE_SELECTION(dialog->icon_filesel)->cancel_button),
- "clicked",
- G_CALLBACK(icon_filesel_delete_cb), dialog);
- g_signal_connect(G_OBJECT(dialog->icon_filesel), "destroy",
- G_CALLBACK(icon_filesel_delete_cb), dialog);
-#endif /* FILECHOOSER */
-
#ifdef _WIN32
g_signal_connect(G_OBJECT(dialog->icon_filesel), "show",
G_CALLBACK(winpidgin_ensure_onscreen), dialog->icon_filesel);
@@ -2567,7 +2315,6 @@ GtkWidget *pidgin_buddy_icon_chooser_new
}
-#if GTK_CHECK_VERSION(2,2,0)
static gboolean
str_array_match(char **a, char **b)
{
@@ -2581,22 +2328,16 @@ str_array_match(char **a, char **b)
return TRUE;
return FALSE;
}
-#endif
gpointer
pidgin_convert_buddy_icon(PurplePlugin *plugin, const char *path, size_t *len)
{
PurplePluginProtocolInfo *prpl_info;
-#if GTK_CHECK_VERSION(2,2,0)
char **prpl_formats;
int width, height;
char **pixbuf_formats = NULL;
GdkPixbufFormat *format;
GdkPixbuf *pixbuf;
-#if !GTK_CHECK_VERSION(2,4,0)
- GdkPixbufLoader *loader;
-#endif
-#endif
gchar *contents;
gsize length;
@@ -2605,22 +2346,8 @@ pidgin_convert_buddy_icon(PurplePlugin *
g_return_val_if_fail(prpl_info->icon_spec.format != NULL, NULL);
-#if GTK_CHECK_VERSION(2,2,0)
-#if GTK_CHECK_VERSION(2,4,0)
format = gdk_pixbuf_get_file_info(path, &width, &height);
-#else
- loader = gdk_pixbuf_loader_new();
- if (g_file_get_contents(path, &contents, &length, NULL)) {
- gdk_pixbuf_loader_write(loader, contents, length, NULL);
- g_free(contents);
- }
- gdk_pixbuf_loader_close(loader, NULL);
- pixbuf = gdk_pixbuf_loader_get_pixbuf(loader);
- width = gdk_pixbuf_get_width(pixbuf);
- height = gdk_pixbuf_get_height(pixbuf);
- format = gdk_pixbuf_loader_get_format(loader);
- g_object_unref(G_OBJECT(loader));
-#endif
+
if (format == NULL)
return NULL;
@@ -2632,25 +2359,18 @@ pidgin_convert_buddy_icon(PurplePlugin *
prpl_info->icon_spec.max_width >= width &&
prpl_info->icon_spec.min_height <= height &&
prpl_info->icon_spec.max_height >= height))) /* The icon is the correct size */
-#endif
{
-#if GTK_CHECK_VERSION(2,2,0)
g_strfreev(prpl_formats);
g_strfreev(pixbuf_formats);
-#endif
+
/* We don't need to scale the image. */
-
contents = NULL;
if (!g_file_get_contents(path, &contents, &length, NULL))
{
g_free(contents);
-#if GTK_CHECK_VERSION(2,2,0) && !GTK_CHECK_VERSION(2,4,0)
- g_object_unref(G_OBJECT(pixbuf));
-#endif
return NULL;
}
}
-#if GTK_CHECK_VERSION(2,2,0)
else
{
int i;
@@ -2771,156 +2491,8 @@ pidgin_convert_buddy_icon(PurplePlugin *
if (len)
*len = length;
return contents;
-#else
- /*
- * The chosen icon wasn't the right size, and we're using
- * GTK+ 2.0 so we can't scale it.
- */
- return NULL;
-#endif
}
-#if !GTK_CHECK_VERSION(2,6,0)
-static void
-_gdk_file_scale_size_prepared_cb (GdkPixbufLoader *loader,
- int width,
- int height,
- gpointer data)
-{
- struct {
- gint width;
- gint height;
- gboolean preserve_aspect_ratio;
- } *info = data;
-
- g_return_if_fail (width > 0 && height > 0);
-
- if (info->preserve_aspect_ratio &&
- (info->width > 0 || info->height > 0)) {
- if (info->width < 0)
- {
- width = width * (double)info->height/(double)height;
- height = info->height;
- }
- else if (info->height < 0)
- {
- height = height * (double)info->width/(double)width;
- width = info->width;
- }
- else if ((double)height * (double)info->width >
- (double)width * (double)info->height) {
- width = 0.5 + (double)width * (double)info->height / (double)height;
- height = info->height;
- } else {
- height = 0.5 + (double)height * (double)info->width / (double)width;
- width = info->width;
- }
- } else {
- if (info->width > 0)
- width = info->width;
- if (info->height > 0)
- height = info->height;
- }
-
-#if GTK_CHECK_VERSION(2,2,0) /* 2.0 users are going to have very strangely sized things */
- gdk_pixbuf_loader_set_size (loader, width, height);
-#else
-#warning nosnilmot could not be bothered to fix this properly for you
-#warning ... good luck ... your images may end up strange sizes
-#endif
-}
-
-GdkPixbuf *
-gdk_pixbuf_new_from_file_at_scale(const char *filename, int width, int height,
- gboolean preserve_aspect_ratio,
- GError **error)
-{
- GdkPixbufLoader *loader;
- GdkPixbuf *pixbuf;
- guchar buffer [4096];
- int length;
- FILE *f;
- struct {
- gint width;
- gint height;
- gboolean preserve_aspect_ratio;
- } info;
- GdkPixbufAnimation *animation;
- GdkPixbufAnimationIter *iter;
- gboolean has_frame;
-
- g_return_val_if_fail (filename != NULL, NULL);
- g_return_val_if_fail (width > 0 || width == -1, NULL);
- g_return_val_if_fail (height > 0 || height == -1, NULL);
-
- f = g_fopen (filename, "rb");
- if (!f) {
- gint save_errno = errno;
- gchar *display_name = g_filename_to_utf8 (filename, -1, NULL, NULL, NULL);
- g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (save_errno),
- _("Failed to open file '%s': %s"),
- display_name ? display_name : "(unknown)",
- g_strerror (save_errno));
- g_free (display_name);
- return NULL;
- }
-
- loader = gdk_pixbuf_loader_new ();
-
- info.width = width;
- info.height = height;
- info.preserve_aspect_ratio = preserve_aspect_ratio;
-
- g_signal_connect (loader, "size-prepared", G_CALLBACK (_gdk_file_scale_size_prepared_cb), &info);
-
- has_frame = FALSE;
- while (!has_frame && !feof (f) && !ferror (f)) {
- length = fread (buffer, 1, sizeof (buffer), f);
- if (length > 0)
- if (!gdk_pixbuf_loader_write (loader, buffer, length, error)) {
- gdk_pixbuf_loader_close (loader, NULL);
- fclose (f);
- g_object_unref (loader);
- return NULL;
- }
-
- animation = gdk_pixbuf_loader_get_animation (loader);
- if (animation) {
- iter = gdk_pixbuf_animation_get_iter (animation, 0);
- if (!gdk_pixbuf_animation_iter_on_currently_loading_frame (iter)) {
- has_frame = TRUE;
- }
- g_object_unref (iter);
- }
- }
-
- fclose (f);
-
- if (!gdk_pixbuf_loader_close (loader, error) && !has_frame) {
- g_object_unref (loader);
- return NULL;
- }
-
- pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
-
- if (!pixbuf) {
- gchar *display_name = g_filename_to_utf8 (filename, -1, NULL, NULL, NULL);
- g_object_unref (loader);
- g_set_error (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_FAILED,
- _("Failed to load image '%s': reason not known, probably a corrupt image file"),
- display_name ? display_name : "(unknown)");
- g_free (display_name);
- return NULL;
- }
-
- g_object_ref (pixbuf);
-
- g_object_unref (loader);
-
- return pixbuf;
-}
-#endif /* ! Gtk 2.6.0 */
-
void pidgin_set_custom_buddy_icon(PurpleAccount *account, const char *who, const char *filename)
{
PurpleBuddy *buddy;
@@ -2953,34 +2525,9 @@ void pidgin_set_urgent(GtkWindow *window
void pidgin_set_urgent(GtkWindow *window, gboolean urgent)
{
-#if GTK_CHECK_VERSION(2,8,0)
gtk_window_set_urgency_hint(window, urgent);
-#elif defined _WIN32
+#if defined _WIN32
winpidgin_window_flash(window, urgent);
-#elif defined GDK_WINDOWING_X11
- GdkWindow *gdkwin;
- XWMHints *hints;
-
- g_return_if_fail(window != NULL);
-
- gdkwin = GTK_WIDGET(window)->window;
-
- g_return_if_fail(gdkwin != NULL);
-
- hints = XGetWMHints(GDK_WINDOW_XDISPLAY(gdkwin),
- GDK_WINDOW_XWINDOW(gdkwin));
- if(!hints)
- hints = XAllocWMHints();
-
- if (urgent)
- hints->flags |= XUrgencyHint;
- else
- hints->flags &= ~XUrgencyHint;
- XSetWMHints(GDK_WINDOW_XDISPLAY(gdkwin),
- GDK_WINDOW_XWINDOW(gdkwin), hints);
- XFree(hints);
-#else
- /* do something else? */
#endif
}
@@ -3289,31 +2836,6 @@ const char *pidgin_get_dim_grey_string(G
return dim_grey_string;
}
-#if !GTK_CHECK_VERSION(2,2,0)
-GtkTreePath *
-gtk_tree_path_new_from_indices (gint first_index, ...)
-{
- int arg;
- va_list args;
- GtkTreePath *path;
-
- path = gtk_tree_path_new ();
-
- va_start (args, first_index);
- arg = first_index;
-
- while (arg != -1)
- {
- gtk_tree_path_append_index (path, arg);
- arg = va_arg (args, gint);
- }
-
- va_end (args);
-
- return path;
-}
-#endif
-
static void
combo_box_changed_cb(GtkComboBox *combo_box, GtkEntry *entry)
{
@@ -3459,7 +2981,6 @@ gboolean pidgin_auto_parent_window(GtkWi
return FALSE;
#endif
#else
-#if GTK_CHECK_VERSION(2,4,0)
/* This finds the currently active window and makes that the parent window. */
GList *windows = NULL;
GtkWidget *parent = NULL;
@@ -3502,7 +3023,6 @@ gboolean pidgin_auto_parent_window(GtkWi
gtk_window_set_transient_for(GTK_WINDOW(widget), GTK_WINDOW(parent));
return TRUE;
}
-#endif
return FALSE;
#endif
}
@@ -3699,13 +3219,10 @@ file_context_menu(GtkIMHtml *imhtml, Gtk
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
/* Open Containing Directory */
-#if GTK_CHECK_VERSION(2,6,0)
img = gtk_image_new_from_stock(GTK_STOCK_DIRECTORY, GTK_ICON_SIZE_MENU);
item = gtk_image_menu_item_new_with_mnemonic(_("Open _Containing Directory"));
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), img);
-#else
- item = gtk_menu_item_new_with_mnemonic(_("Open _Containing Directory"));
-#endif
+
g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(open_containing_cb), (gpointer)url);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
@@ -3771,13 +3288,10 @@ audio_context_menu(GtkIMHtml *imhtml, Gt
url = gtk_imhtml_link_get_url(link);
/* Play Sound */
-#if GTK_CHECK_VERSION(2,6,0)
img = gtk_image_new_from_stock(GTK_STOCK_MEDIA_PLAY, GTK_ICON_SIZE_MENU);
item = gtk_image_menu_item_new_with_mnemonic(_("_Play Sound"));
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), img);
-#else
- item = gtk_menu_item_new_with_mnemonic(_("_Play Sound"));
-#endif
+
g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(gtk_imhtml_link_activate), link);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
============================================================
--- pidgin/gtkutils.h 8b5e41d7d2bc62a47bc90bd9b8cb6b0b5d30c9a0
+++ pidgin/gtkutils.h a6d326d1592e11699c276c0ad122b3bea4459329
@@ -648,17 +648,6 @@ gpointer pidgin_convert_buddy_icon(Purpl
*/
gpointer pidgin_convert_buddy_icon(PurplePlugin *plugin, const char *path, size_t *len);
-#if !GTK_CHECK_VERSION(2,6,0)
-/**
- * Creates a new pixbuf by loading an image from a file. The image will
- * be scaled to fit in the requested size, optionally preserving the image's
- * aspect ratio.
- */
-GdkPixbuf *gdk_pixbuf_new_from_file_at_scale(const char *filename, int width, int height,
- gboolean preserve_aspect_ratio,
- GError **error);
-#endif
-
#if !(defined PIDGIN_DISABLE_DEPRECATED) || (defined _PIDGIN_GTKUTILS_C_)
/**
* Set or unset a custom buddyicon for a user.
@@ -760,21 +749,7 @@ const char *pidgin_get_dim_grey_string(G
*/
const char *pidgin_get_dim_grey_string(GtkWidget *widget);
-#if !GTK_CHECK_VERSION(2,2,0)
/**
- * This is copied from Gtk to support Gtk 2.0
- *
- * Creates a new path with @a first_index and the varargs as indices.
- *
- * @param first_index first integer
- * @param ... list of integers terminated by -1
- *
- * @return A newly created GtkTreePath.
- */
-GtkTreePath *gtk_tree_path_new_from_indices (gint first_index, ...);
-#endif
-
-/**
* Create a simple text GtkComboBoxEntry equivalent
*
* @param default_item Initial contents of GtkEntry
============================================================
--- pidgin/gtkwhiteboard.c 8122e71b0b51b512e6b35af47165448ae1b7afba
+++ pidgin/gtkwhiteboard.c 172112df608b57cd9e2e8756853a94b9ba2fc357
@@ -757,7 +757,6 @@ static void pidgin_whiteboard_button_sav
int result;
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
dialog = gtk_file_chooser_dialog_new (_("Save File"),
GTK_WINDOW(gtkwb->window),
GTK_FILE_CHOOSER_ACTION_SAVE,
@@ -776,21 +775,15 @@ static void pidgin_whiteboard_button_sav
else
gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), filename_for_existing_document);
*/
-#else
- dialog = gtk_file_selection_new(_("Save File"));
- gtk_file_selection_set_filename(GTK_FILE_SELECTION(dialog), "whiteboard.jpg");
-#endif
+
result = gtk_dialog_run(GTK_DIALOG(dialog));
if(result == GTK_RESPONSE_ACCEPT)
{
char *filename;
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
-#else
- filename = g_strdup(gtk_file_selection_get_filename(GTK_FILE_SELECTION(dialog)));
-#endif
+
gtk_widget_destroy(dialog);
/* Makes an icon from the whiteboard's canvas 'image' */
============================================================
--- pidgin/minidialog.c 19556d7545d5ffdb38a75db31d8893885bd70a4e
+++ pidgin/minidialog.c d542d144e8cc4522e84b07391b394f4110cfbe21
@@ -339,26 +339,20 @@ pidgin_mini_dialog_class_init(PidginMini
param_spec = g_param_spec_string("title", "title",
"String specifying the mini-dialog's title", NULL,
-#if GTK_CHECK_VERSION(2,8,0)
G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB |
-#endif
G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_TITLE, param_spec);
param_spec = g_param_spec_string("description", "description",
"Description text for the mini-dialog, if desired", NULL,
-#if GTK_CHECK_VERSION(2,8,0)
G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB |
-#endif
G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_DESCRIPTION, param_spec);
param_spec = g_param_spec_string("icon-name", "icon-name",
"String specifying the Gtk stock name of the dialog's icon",
NULL,
-#if GTK_CHECK_VERSION(2,8,0)
G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB |
-#endif
G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_ICON_NAME, param_spec);
}
============================================================
--- pidgin/pidgin.h 0c1f3db836af6d365f3fc07be5ac81c28afac944
+++ pidgin/pidgin.h e38ae1ac62c1b683a2c08b190218722f234c7e18
@@ -57,33 +57,6 @@
#endif
/*
- * This is backwards-compatibility code for older versions of GTK+ (< 2.4.x)
- * It defines the new wrap behavior (unknown in earlier versions)
- * as the old (slightly buggy) wrap behavior.
- * It also includes our back-ported GtkExpander
- */
-/** @cond */
-#if (!GTK_CHECK_VERSION(2,4,0))
-# define GTK_WRAP_WORD_CHAR GTK_WRAP_WORD
-# include "gtkexpander.h"
-#endif
-/** @endcond */
-
-/*
- * We include the sources for GtkComboBox and GtkCellView because
- * they don't exist in older versions of GTK+, and we use them
- * in a few places.
- */
-#if !GTK_CHECK_VERSION(2,6,0)
-# include "gtkcellview.h"
-# include "gtkcellviewmenuitem.h"
-# include "pidgincombobox.h"
-# if !GTK_CHECK_VERSION(2,4,0)
-# include "gtkcelllayout.h"
-# endif /* Less than GTK+ 2.4 */
-#endif /* Less than GTK+ 2.6 */
-
-/*
* Spacings between components, as defined by the
* GNOME Human Interface Guidelines.
*/
More information about the Commits
mailing list