pidgin/gtkutils.c

changeset 18855
e36a7e191d39
parent 18672
da4db1be5d98
child 18856
36d59574f7c8
equal deleted inserted replaced
18854:fbff95933f39 18855:e36a7e191d39
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

mercurial