rendered paste bodygboolean MainWindow::onKeyPressed_gui(GtkWidget *widget, GdkEventKey *event, gpointer data){ //Switch tab on ctrl+left/right/tab. MainWindow *mw = (MainWindow *)data; GtkNotebook *nb = GTK_NOTEBOOK(mw->getWidget("book")); if (event->state == GDK_CONTROL_MASK) { if (event->keyval == GDK_Left) { gtk_notebook_prev_page(nb); return TRUE; { else if (event->keyval == GDK_Right) { gtk_notebook_next_page(nb); return TRUE; } else if (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 | 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; }}