| 2095 repopulate_autocomplete(gpointer something, gpointer data) |
2095 repopulate_autocomplete(gpointer something, gpointer data) |
| 2096 { |
2096 { |
| 2097 add_completion_list(data); |
2097 add_completion_list(data); |
| 2098 } |
2098 } |
| 2099 |
2099 |
| |
2100 |
| 2100 void |
2101 void |
| 2101 pidgin_setup_screenname_autocomplete(GtkWidget *entry, GtkWidget *accountopt, gboolean all) |
2102 pidgin_setup_screenname_autocomplete(GtkWidget *entry, GtkWidget *accountopt, PidginFilterBuddyCompletionEntryFunc filter_func, gpointer user_data) |
| 2102 { |
2103 { |
| 2103 gpointer cb_data = NULL; |
2104 gpointer cb_data = NULL; |
| 2104 |
2105 |
| 2105 #ifdef NEW_STYLE_COMPLETION |
2106 #ifdef NEW_STYLE_COMPLETION |
| 2106 /* Store the displayed completion value, the screenname, the UTF-8 normalized & casefolded screenname, |
2107 /* Store the displayed completion value, the screenname, the UTF-8 normalized & casefolded screenname, |
| 2169 purple_signal_connect(purple_accounts_get_handle(), "account-removed", entry, |
2170 purple_signal_connect(purple_accounts_get_handle(), "account-removed", entry, |
| 2170 PURPLE_CALLBACK(repopulate_autocomplete), cb_data); |
2171 PURPLE_CALLBACK(repopulate_autocomplete), cb_data); |
| 2171 |
2172 |
| 2172 g_signal_connect(G_OBJECT(entry), "destroy", G_CALLBACK(screenname_autocomplete_destroyed_cb), data); |
2173 g_signal_connect(G_OBJECT(entry), "destroy", G_CALLBACK(screenname_autocomplete_destroyed_cb), data); |
| 2173 } |
2174 } |
| |
2175 |
| |
2176 gboolean |
| |
2177 pidgin_screenname_autocomplete_default_filter(const PidginBuddyCompletionEntry *completion_entry, gpointer all_accounts) { |
| |
2178 gboolean all = GPOINTER_TO_INT(all_accounts); |
| |
2179 |
| |
2180 if (completion_entry->is_buddy) { |
| |
2181 return all || purple_account_is_connected(completion_entry->entry.buddy->account); |
| |
2182 } else { |
| |
2183 return all || (completion_entry->entry.logged_buddy->account != NULL && purple_account_is_connected(completion_entry->entry.logged_buddy->account)); |
| |
2184 } |
| |
2185 } |
| |
2186 |
| |
2187 |
| |
2188 gboolean |
| |
2189 pidgin_screenname_autocomplete_default_filter(const PidginBuddyCompletionEntry *completion_entry, gpointer all_accounts) { |
| |
2190 gboolean all = GPOINTER_TO_INT(all_accounts); |
| |
2191 |
| |
2192 if (completion_entry->is_buddy) { |
| |
2193 return all || purple_account_is_connected(completion_entry->entry.buddy->account); |
| |
2194 } else { |
| |
2195 return all || (completion_entry->entry.logged_buddy->account != NULL && purple_account_is_connected(completion_entry->entry.logged_buddy->account)); |
| |
2196 } |
| |
2197 } |
| |
2198 |
| 2174 |
2199 |
| 2175 void pidgin_set_cursor(GtkWidget *widget, GdkCursorType cursor_type) |
2200 void pidgin_set_cursor(GtkWidget *widget, GdkCursorType cursor_type) |
| 2176 { |
2201 { |
| 2177 GdkCursor *cursor; |
2202 GdkCursor *cursor; |
| 2178 |
2203 |