comparison pidgin/gtkscrollbook.c @ 29522:739886e6dac2

propagate from branch 'im.pidgin.pidgin' (head 667654b3309008b53bf4d9df02bd401d1ede8db5) to branch 'im.pidgin.pidgin.next.minor' (head e37d7dfead3e1864f8de0c0397a8f6471af07e29)
author John Bailey <rekkanoryo@rekkanoryo.org>
date Mon, 12 Oct 2009 22:40:37 +0000
parents 21277e69e06c
children 5e6997ae07e2
comparison
equal deleted inserted replaced
28747:f55bd60e2738 29522:739886e6dac2
78 static gboolean 78 static gboolean
79 scroll_right_cb(PidginScrollBook *scroll_book) 79 scroll_right_cb(PidginScrollBook *scroll_book)
80 { 80 {
81 int index, count; 81 int index, count;
82 index = gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook)); 82 index = gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook));
83 #if GTK_CHECK_VERSION(2,2,0)
84 count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook)); 83 count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook));
85 #else
86 count = g_list_length(GTK_NOTEBOOK(scroll_book->notebook)->children);
87 #endif
88 84
89 if (index + 1 < count) 85 if (index + 1 < count)
90 gtk_notebook_set_current_page(GTK_NOTEBOOK(scroll_book->notebook), index + 1); 86 gtk_notebook_set_current_page(GTK_NOTEBOOK(scroll_book->notebook), index + 1);
91 return TRUE; 87 return TRUE;
92 } 88 }
128 static void 124 static void
129 page_count_change_cb(PidginScrollBook *scroll_book) 125 page_count_change_cb(PidginScrollBook *scroll_book)
130 { 126 {
131 int count; 127 int count;
132 int index = gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook)); 128 int index = gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook));
133 #if GTK_CHECK_VERSION(2,2,0)
134 count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook)); 129 count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook));
135 #else
136 count = g_list_length(GTK_NOTEBOOK(scroll_book->notebook)->children);
137 #endif
138 refresh_scroll_box(scroll_book, index, count); 130 refresh_scroll_box(scroll_book, index, count);
139 } 131 }
140 132
141 static gboolean 133 static gboolean
142 scroll_close_cb(PidginScrollBook *scroll_book) 134 scroll_close_cb(PidginScrollBook *scroll_book)
147 139
148 static void 140 static void
149 switch_page_cb(GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, PidginScrollBook *scroll_book) 141 switch_page_cb(GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, PidginScrollBook *scroll_book)
150 { 142 {
151 int count; 143 int count;
152 #if GTK_CHECK_VERSION(2,2,0)
153 count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook)); 144 count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook));
154 #else
155 count = g_list_length(GTK_NOTEBOOK(scroll_book->notebook)->children);
156 #endif
157 refresh_scroll_box(scroll_book, page_num, count); 145 refresh_scroll_box(scroll_book, page_num, count);
158 } 146 }
159 147
160 static void 148 static void
161 pidgin_scroll_book_add(GtkContainer *container, GtkWidget *widget) 149 pidgin_scroll_book_add(GtkContainer *container, GtkWidget *widget)
266 scroll_book->hbox = gtk_hbox_new(FALSE, 0); 254 scroll_book->hbox = gtk_hbox_new(FALSE, 0);
267 255
268 /* Close */ 256 /* Close */
269 eb = gtk_event_box_new(); 257 eb = gtk_event_box_new();
270 gtk_box_pack_end(GTK_BOX(scroll_book->hbox), eb, FALSE, FALSE, 0); 258 gtk_box_pack_end(GTK_BOX(scroll_book->hbox), eb, FALSE, FALSE, 0);
271 #if GTK_CHECK_VERSION(2,4,0)
272 gtk_event_box_set_visible_window(GTK_EVENT_BOX(eb), FALSE); 259 gtk_event_box_set_visible_window(GTK_EVENT_BOX(eb), FALSE);
273 #endif
274 gtk_widget_set_events(eb, GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); 260 gtk_widget_set_events(eb, GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK);
275 close_button = gtk_label_new("×"); 261 close_button = gtk_label_new("×");
276 g_signal_connect(G_OBJECT(eb), "enter-notify-event", G_CALLBACK(close_button_entered_cb), close_button); 262 g_signal_connect(G_OBJECT(eb), "enter-notify-event", G_CALLBACK(close_button_entered_cb), close_button);
277 g_signal_connect(G_OBJECT(eb), "leave-notify-event", G_CALLBACK(close_button_left_cb), close_button); 263 g_signal_connect(G_OBJECT(eb), "leave-notify-event", G_CALLBACK(close_button_left_cb), close_button);
278 gtk_container_add(GTK_CONTAINER(eb), close_button); 264 gtk_container_add(GTK_CONTAINER(eb), close_button);