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))