Mercurial > pidgin.yaz
comparison pidgin/gtkaccount.c @ 31816:917c597beb97
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
committer: John Bailey <rekkanoryo@rekkanoryo.org>
author | Gabriel Schulhof <nix@go-nix.ca> |
---|---|
date | Sat, 08 Jan 2011 03:45:42 +0000 |
parents | a8cc50c2279f |
children | 4f2aac5967bb |
comparison
equal
deleted
inserted
replaced
31815:d169a587901f | 31816:917c597beb97 |
---|---|
2139 | 2139 |
2140 static GtkWidget * | 2140 static GtkWidget * |
2141 create_accounts_list(AccountsWindow *dialog) | 2141 create_accounts_list(AccountsWindow *dialog) |
2142 { | 2142 { |
2143 GtkWidget *frame; | 2143 GtkWidget *frame; |
2144 GtkWidget *sw; | |
2145 GtkWidget *label; | 2144 GtkWidget *label; |
2146 GtkWidget *treeview; | 2145 GtkWidget *treeview; |
2147 GtkTreeSelection *sel; | 2146 GtkTreeSelection *sel; |
2148 GtkTargetEntry gte[] = {{"PURPLE_ACCOUNT", GTK_TARGET_SAME_APP, 0}}; | 2147 GtkTargetEntry gte[] = {{"PURPLE_ACCOUNT", GTK_TARGET_SAME_APP, 0}}; |
2149 char *pretty, *tmp; | 2148 char *pretty, *tmp; |
2178 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 2177 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
2179 gtk_widget_show(label); | 2178 gtk_widget_show(label); |
2180 | 2179 |
2181 gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5); | 2180 gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5); |
2182 gtk_notebook_append_page(GTK_NOTEBOOK(accounts_window->notebook), label, NULL); | 2181 gtk_notebook_append_page(GTK_NOTEBOOK(accounts_window->notebook), label, NULL); |
2183 | |
2184 /* Create the scrolled window. */ | |
2185 sw = gtk_scrolled_window_new(0, 0); | |
2186 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), | |
2187 GTK_POLICY_AUTOMATIC, | |
2188 GTK_POLICY_AUTOMATIC); | |
2189 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), | |
2190 GTK_SHADOW_NONE); | |
2191 gtk_notebook_append_page(GTK_NOTEBOOK(accounts_window->notebook), sw, NULL); | |
2192 gtk_widget_show(sw); | |
2193 | 2182 |
2194 /* Create the list model. */ | 2183 /* Create the list model. */ |
2195 dialog->model = gtk_list_store_new(NUM_COLUMNS, | 2184 dialog->model = gtk_list_store_new(NUM_COLUMNS, |
2196 GDK_TYPE_PIXBUF, /* COLUMN_ICON */ | 2185 GDK_TYPE_PIXBUF, /* COLUMN_ICON */ |
2197 GDK_TYPE_PIXBUF, /* COLUMN_BUDDYICON */ | 2186 GDK_TYPE_PIXBUF, /* COLUMN_BUDDYICON */ |
2214 | 2203 |
2215 /* Handle double-clicking */ | 2204 /* Handle double-clicking */ |
2216 g_signal_connect(G_OBJECT(treeview), "button_press_event", | 2205 g_signal_connect(G_OBJECT(treeview), "button_press_event", |
2217 G_CALLBACK(account_treeview_double_click_cb), dialog); | 2206 G_CALLBACK(account_treeview_double_click_cb), dialog); |
2218 | 2207 |
2219 gtk_container_add(GTK_CONTAINER(sw), treeview); | 2208 gtk_notebook_append_page(GTK_NOTEBOOK(accounts_window->notebook), |
2209 pidgin_make_scrollable(treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_NONE, -1, -1), | |
2210 NULL); | |
2220 | 2211 |
2221 add_columns(treeview, dialog); | 2212 add_columns(treeview, dialog); |
2222 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(treeview)); | 2213 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(treeview)); |
2223 | 2214 |
2224 if (populate_accounts_list(dialog)) | 2215 if (populate_accounts_list(dialog)) |