pidgin/plugins/gestures/gestures.c

changeset 41184
05b5c210352b
parent 41078
84e48180ef67
child 41314
0dc72eacd8bf
--- a/pidgin/plugins/gestures/gestures.c	Mon Dec 06 22:18:34 2021 -0600
+++ b/pidgin/plugins/gestures/gestures.c	Mon Dec 06 23:11:42 2021 -0600
@@ -48,70 +48,53 @@
 }
 
 static void
-switch_page(PidginConvWindow *win, GtkDirectionType dir)
-{
-	int count, current;
-
-	count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(win->notebook));
-	current = gtk_notebook_get_current_page(GTK_NOTEBOOK(win->notebook));
-
-	if (dir == GTK_DIR_LEFT)
-	{
-		gtk_notebook_set_current_page(GTK_NOTEBOOK(win->notebook), current - 1);
-	}
-	else if (dir == GTK_DIR_RIGHT)
-	{
-		if (current == count - 1)
-			gtk_notebook_set_current_page(GTK_NOTEBOOK(win->notebook), 0);
-		else
-			gtk_notebook_set_current_page(GTK_NOTEBOOK(win->notebook), current + 1);
-	}
-}
-
-static void
 stroke_prev_tab(GtkWidget *widget, void *data)
 {
 	PurpleConversation *conv;
 	PidginConversation *gtkconv;
-	PidginConvWindow *win;
+	GtkWidget *win;
 
-	conv  = (PurpleConversation *)data;
+	conv = (PurpleConversation *)data;
 	gtkconv = PIDGIN_CONVERSATION(conv);
-	win   = gtkconv->win;
+	win = gtk_widget_get_toplevel(gtkconv->tab_cont);
 
-	switch_page(win, GTK_DIR_LEFT);
+	pidgin_conversation_window_select_previous(PIDGIN_CONVERSATION_WINDOW(win));
 }
 
 static void
 stroke_next_tab(GtkWidget *widget, void *data)
 {
 	PurpleConversation *conv;
-	PidginConvWindow *win;
+	PidginConversation *gtkconv;
+	GtkWidget *win;
 
-	conv  = (PurpleConversation *)data;
-	win   = PIDGIN_CONVERSATION(conv)->win;
+	conv = (PurpleConversation *)data;
+	gtkconv = PIDGIN_CONVERSATION(conv);
+	win = gtk_widget_get_toplevel(gtkconv->tab_cont);
 
-	switch_page(win, GTK_DIR_RIGHT);
+	pidgin_conversation_window_select_next(PIDGIN_CONVERSATION_WINDOW(win));
 }
 
 static void
 stroke_new_win(GtkWidget *widget, void *data)
 {
-	PidginConvWindow *new_win, *old_win;
+	GtkWidget *new_win, *old_win;
 	PurpleConversation *conv;
 
 	conv    = (PurpleConversation *)data;
-	old_win = PIDGIN_CONVERSATION(conv)->win;
+	old_win = gtk_widget_get_parent(PIDGIN_CONVERSATION(conv)->tab_cont);
 
-	if (pidgin_conv_window_get_gtkconv_count(old_win) <= 1)
+	if(pidgin_conversation_window_get_count(PIDGIN_CONVERSATION_WINDOW(old_win)) <= 1) {
 		return;
+	}
 
-	new_win = pidgin_conv_window_new();
+	new_win = pidgin_conversation_window_new();
 
-	pidgin_conv_window_remove_gtkconv(old_win, PIDGIN_CONVERSATION(conv));
-	pidgin_conv_window_add_gtkconv(new_win, PIDGIN_CONVERSATION(conv));
+	pidgin_conversation_window_remove(PIDGIN_CONVERSATION_WINDOW(old_win),
+	                                  conv);
+	pidgin_conversation_window_add(PIDGIN_CONVERSATION_WINDOW(new_win), conv);
 
-	pidgin_conv_window_show(new_win);
+	gtk_widget_show_all(new_win);
 }
 
 static void

mercurial