annotate pidgin/gtkscrollbook.c @ 21593:b1f36f7652c2

merge of '22963f332a80135af80a80919aee45d70dd0e1c0' and '5268d2ff6deab0c7a6744188ed0062bdeed9cf62'
author Evan Schoenberg <evan.s@dreskin.net>
date Mon, 19 Nov 2007 08:07:11 +0000
parents 21cbdaf265f6
children fa5d1f426332
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /*
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 * @file gtkscrollbook.c GTK+ Scrolling notebook widget
16193
247e421c4fa6 Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@wiktel.com>
parents: 15871
diff changeset
3 * @ingroup pidgin
20074
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
4 */
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
5
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
6 /* pidgin
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 *
15871
66dff3dfdea6 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
8 * Pidgin is the legal property of its developers, whose names are too numerous
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * source distribution.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * (at your option) any later version.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 * GNU General Public License for more details.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
19680
44b4e8bd759b The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16193
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
27 #include "gtkscrollbook.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
28
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
29
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
30 static void pidgin_scroll_book_init (PidginScrollBook *scroll_book);
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
31 static void pidgin_scroll_book_class_init (PidginScrollBookClass *klass);
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
32 static void pidgin_scroll_book_forall (GtkContainer *c,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
33 gboolean include_internals,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
34 GtkCallback callback,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 gpointer user_data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
36
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 GType
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
38 pidgin_scroll_book_get_type (void)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40 static GType scroll_book_type = 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42 if (!scroll_book_type)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 static const GTypeInfo scroll_book_info =
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45 {
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
46 sizeof (PidginScrollBookClass),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
47 NULL, /* base_init */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
48 NULL, /* base_finalize */
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
49 (GClassInitFunc) pidgin_scroll_book_class_init,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
50 NULL, /* class_finalize */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
51 NULL, /* class_data */
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
52 sizeof (PidginScrollBook),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53 0,
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
54 (GInstanceInitFunc) pidgin_scroll_book_init,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
55 NULL /* value_table */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56 };
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58 scroll_book_type = g_type_register_static(GTK_TYPE_VBOX,
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
59 "PidginScrollBook",
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
60 &scroll_book_info,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
62 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
64 return scroll_book_type;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 static void
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
68 scroll_left_cb(PidginScrollBook *scroll_book)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70 int index;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 index = gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
72
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73 if (index > 0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 gtk_notebook_set_current_page(GTK_NOTEBOOK(scroll_book->notebook), index - 1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
76
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
77 static void
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
78 scroll_right_cb(PidginScrollBook *scroll_book)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
80 int index, count;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81 index = gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
82 #if GTK_CHECK_VERSION(2,2,0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
83 count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
84 #else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
85 count = g_list_length(GTK_NOTEBOOK(scroll_book->notebook)->children);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
86 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
87
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
88 if (index + 1 < count)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
89 gtk_notebook_set_current_page(GTK_NOTEBOOK(scroll_book->notebook), index + 1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
90 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
91
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
92 static void
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
93 refresh_scroll_box(PidginScrollBook *scroll_book, int index, int count)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
94 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
95 char *label;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
96 gtk_widget_show_all(GTK_WIDGET(scroll_book));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
97 if (count <= 1)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
98 gtk_widget_hide(GTK_WIDGET(scroll_book->hbox));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
99 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
100 gtk_widget_show_all(GTK_WIDGET(scroll_book->hbox));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
101
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
102
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
103 label = g_strdup_printf("<span size='smaller' weight='bold'>(%d/%d)</span>", index+1, count);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
104 gtk_label_set_markup(GTK_LABEL(scroll_book->label), label);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
105 g_free(label);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
106
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
107 if (index == 0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
108 gtk_widget_set_sensitive(scroll_book->left_arrow, FALSE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
109 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
110 gtk_widget_set_sensitive(scroll_book->left_arrow, TRUE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
111
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
112
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
113 if (index +1== count)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
114 gtk_widget_set_sensitive(scroll_book->right_arrow, FALSE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
115 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
116 gtk_widget_set_sensitive(scroll_book->right_arrow, TRUE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
117 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
118
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
119
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
120 static void
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
121 page_count_change_cb(PidginScrollBook *scroll_book)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
122 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
123 int count;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
124 int index = gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
125 #if GTK_CHECK_VERSION(2,2,0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
126 count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
127 #else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
128 count = g_list_length(GTK_NOTEBOOK(scroll_book->notebook)->children);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
129 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
130 refresh_scroll_box(scroll_book, index, count);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
131
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
132 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
133
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
134 static void
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
135 switch_page_cb(GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, PidginScrollBook *scroll_book)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
136 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
137 int count;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
138 #if GTK_CHECK_VERSION(2,2,0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
139 count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
140 #else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
141 count = g_list_length(GTK_NOTEBOOK(scroll_book->notebook)->children);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
142 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
143 refresh_scroll_box(scroll_book, page_num, count);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
144 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
145
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
146 static void
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
147 pidgin_scroll_book_add(GtkContainer *container, GtkWidget *widget)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
148 {
21583
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
149 GList *children;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
150 PidginScrollBook *scroll_book;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
151
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
152 g_return_if_fail(GTK_IS_WIDGET (widget));
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
153 g_return_if_fail (widget->parent == NULL);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
154
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
155 scroll_book = PIDGIN_SCROLL_BOOK(container);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
156 children = scroll_book->children;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
157 children = g_list_append(children, widget);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
158 gtk_widget_show(widget);
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
159 gtk_notebook_append_page(GTK_NOTEBOOK(PIDGIN_SCROLL_BOOK(container)->notebook), widget, NULL);
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
160 page_count_change_cb(PIDGIN_SCROLL_BOOK(container));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
161 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
162
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
163 static void
21583
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
164 pidgin_scroll_book_remove(GtkContainer *container, GtkWidget *widget)
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
165 {
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
166 int page;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
167 GList *children;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
168 GtkWidget *child;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
169 PidginScrollBook *scroll_book;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
170 g_return_if_fail(GTK_IS_WIDGET(widget));
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
171
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
172 scroll_book = PIDGIN_SCROLL_BOOK(container);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
173 children = scroll_book->children;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
174
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
175 while (children) {
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
176 child = children->data;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
177 if (child == widget) {
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
178 gtk_widget_unparent (widget);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
179 children = g_list_remove_link (scroll_book->children, children);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
180 g_list_free(children);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
181 break;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
182 }
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
183 }
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
184
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
185 page = gtk_notebook_page_num(GTK_NOTEBOOK(PIDGIN_SCROLL_BOOK(container)->notebook), widget);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
186 if (page >= 0) {
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
187 gtk_notebook_remove_page(GTK_NOTEBOOK(PIDGIN_SCROLL_BOOK(container)->notebook), page);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
188 }
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
189 }
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
190
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
191 static void
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
192 pidgin_scroll_book_forall(GtkContainer *container,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
193 gboolean include_internals,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
194 GtkCallback callback,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
195 gpointer callback_data)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
196 {
21583
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
197 GList *children;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
198 PidginScrollBook *scroll_book;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
199
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
200 g_return_if_fail(GTK_IS_CONTAINER(container));
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
201
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
202 scroll_book = PIDGIN_SCROLL_BOOK(container);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
203
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
204 if (include_internals) {
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
205 (*callback)(scroll_book->hbox, callback_data);
21583
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
206 (*callback)(scroll_book->notebook, callback_data);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
207 }
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
208
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
209 children = scroll_book->children;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
210
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
211 while (children) {
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
212 GtkWidget *child;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
213 child = children->data;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
214 children = children->next;
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
215 (*callback)(child, callback_data);
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
216 }
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
217 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
218
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
219 static void
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
220 pidgin_scroll_book_class_init (PidginScrollBookClass *klass)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
221 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
222 GtkContainerClass *container_class = (GtkContainerClass*)klass;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
223
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
224 container_class->add = pidgin_scroll_book_add;
21583
21cbdaf265f6 This fixes the problem where all accounts are disabled due to connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 20074
diff changeset
225 container_class->remove = pidgin_scroll_book_remove;
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
226 container_class->forall = pidgin_scroll_book_forall;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
227
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
228 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
229
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
230 static void
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
231 pidgin_scroll_book_init (PidginScrollBook *scroll_book)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
232 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
233 GtkWidget *eb;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
234
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
235 scroll_book->hbox = gtk_hbox_new(FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
236
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
237 eb = gtk_event_box_new();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
238 gtk_box_pack_end(GTK_BOX(scroll_book->hbox), eb, FALSE, FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
239 scroll_book->right_arrow = gtk_arrow_new(GTK_ARROW_RIGHT, GTK_SHADOW_NONE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
240 gtk_container_add(GTK_CONTAINER(eb), scroll_book->right_arrow);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
241 g_signal_connect_swapped(G_OBJECT(eb), "button-press-event", G_CALLBACK(scroll_right_cb), scroll_book);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
242
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
243 scroll_book->label = gtk_label_new(NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
244 gtk_box_pack_end(GTK_BOX(scroll_book->hbox), scroll_book->label, FALSE, FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
245
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
246 eb = gtk_event_box_new();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
247 gtk_box_pack_end(GTK_BOX(scroll_book->hbox), eb, FALSE, FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
248 scroll_book->left_arrow = gtk_arrow_new(GTK_ARROW_LEFT, GTK_SHADOW_NONE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
249 gtk_container_add(GTK_CONTAINER(eb), scroll_book->left_arrow);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
250 g_signal_connect_swapped(G_OBJECT(eb), "button-press-event", G_CALLBACK(scroll_left_cb), scroll_book);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
251
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
252 gtk_box_pack_start(GTK_BOX(scroll_book), scroll_book->hbox, FALSE, FALSE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
253
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
254 scroll_book->notebook = gtk_notebook_new();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
255 gtk_notebook_set_show_tabs(GTK_NOTEBOOK(scroll_book->notebook), FALSE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
256 gtk_notebook_set_show_border(GTK_NOTEBOOK(scroll_book->notebook), FALSE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
257
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
258 gtk_box_pack_start(GTK_BOX(scroll_book), scroll_book->notebook, TRUE, TRUE, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
259
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
260 g_signal_connect_swapped(G_OBJECT(scroll_book->notebook), "remove", G_CALLBACK(page_count_change_cb), scroll_book);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
261 g_signal_connect(G_OBJECT(scroll_book->notebook), "switch-page", G_CALLBACK(switch_page_cb), scroll_book);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
262 gtk_widget_show_all(scroll_book->notebook);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
263 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
264
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
265
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
266
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
267 GtkWidget *
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
268 pidgin_scroll_book_new()
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
269 {
15514
535f002e7b0f More pidgin changes
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
270 return g_object_new(PIDGIN_TYPE_SCROLL_BOOK, NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
271 }