rendered paste bodygboolean MainWindow::onKeyPressed_gui(GtkWidget *widget, GdkEventKey *event, gpointer data){ //Switch tab on ctrl+left/right/tab. MainWindow *mw = (MainWindow *)user_data; GtkNotebook *nb = GTK_NOTEBOOK(mw->getWidget("book")); if (event->state == GDK_CONTROL_MASK && event->keyval == GDK_Left) { gtk_notebook_prev_page(nb); return TRUE; } if (event->state == GDK_CONTROL_MASK && event->keyval == GDK_Right) { gtk_notebook_next_page(nb); return TRUE; } if (event->state == GDK_CONTROL_MASK && event->keyval == GDK_Tab) { if(gtk_notebook_get_n_pages(nb) - 1 == gtk_notebook_get_current_page(nb)) gtk_notebook_set_current_page(nb, 0); else gtk_notebook_next_page(nb); return TRUE; } if (event->keyval == 65056 && event->state & GDK_CONTROL_MASK && event->state & GDK_SHIFT_MASK) { if(gtk_notebook_get_current_page(nb) == 0) gtk_notebook_set_current_page(nb, gtk_notebook_get_n_pages(nb)-1); else gtk_notebook_prev_page(nb); return TRUE; } return FALSE;}