diff --git a/src/control/stockdlg/XojOpenDlg.cpp b/src/control/stockdlg/XojOpenDlg.cpp index 5a6bc5a7..87694f07 100644 --- a/src/control/stockdlg/XojOpenDlg.cpp +++ b/src/control/stockdlg/XojOpenDlg.cpp @@ -34,7 +34,10 @@ XojOpenDlg::~XojOpenDlg() { XOJ_CHECK_TYPE(XojOpenDlg); - gtk_widget_destroy(dialog); + if (dialog) + { + gtk_widget_destroy(dialog); + } dialog = NULL; XOJ_RELEASE_TYPE(XojOpenDlg); @@ -99,6 +102,7 @@ Path XojOpenDlg::runDialog() if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_OK) { gtk_widget_destroy(dialog); + dialog = NULL; return Path(""); } @@ -146,6 +150,7 @@ Path XojOpenDlg::showOpenDialog(bool pdf, bool& attachPdf) if (pdf) { attachOpt = gtk_check_button_new_with_label(_("Attach file to the journal")); + g_object_ref(attachOpt); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(attachOpt), FALSE); gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(dialog), attachOpt); } @@ -159,6 +164,7 @@ Path XojOpenDlg::showOpenDialog(bool pdf, bool& attachPdf) if (attachOpt) { attachPdf = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(attachOpt)); + g_object_unref(attachOpt); } return file; diff --git a/src/gui/XournalView.cpp b/src/gui/XournalView.cpp index e4ca89d8..41645054 100644 --- a/src/gui/XournalView.cpp +++ b/src/gui/XournalView.cpp @@ -457,9 +457,18 @@ void XournalView::scrollTo(size_t pageNo, double yDocument) XojPageView* v = this->viewPages[pageNo]; + // Make sure it is visible Layout* layout = gtk_xournal_get_layout(this->widget); - layout->ensureRectIsVisible(v->layout.getLayoutAbsoluteX(), v->layout.getLayoutAbsoluteY() + yDocument, - v->getDisplayWidth(), v->getDisplayHeight()); + + int x = v->layout.getLayoutAbsoluteX(); + int y = v->layout.getLayoutAbsoluteY() + yDocument; + int width = v->getDisplayWidth(); + int height = v->getDisplayHeight(); + + layout->ensureRectIsVisible(x, y, width, height); + + // Select the page + control->firePageSelected(pageNo); } void XournalView::endTextAllPages(XojPageView* except) diff --git a/src/gui/toolbarMenubar/ToolMenuHandler.cpp b/src/gui/toolbarMenubar/ToolMenuHandler.cpp index 2d8504b7..d6030932 100644 --- a/src/gui/toolbarMenubar/ToolMenuHandler.cpp +++ b/src/gui/toolbarMenubar/ToolMenuHandler.cpp @@ -382,44 +382,28 @@ void ToolMenuHandler::initToolItems() addToolItem(undoButton); addToolItem(redoButton); - addToolItem(new ToolButton(listener, "GOTO_FIRST", ACTION_GOTO_FIRST, "go-first", _("Go to first page"), - gui->get("menuViewFirstPage"))); - addToolItem(new ToolButton(listener, "GOTO_BACK", ACTION_GOTO_BACK, "go-previous", _("Back"), - gui->get("menuNavigationPreviousPage"))); + addToolItem(new ToolButton(listener, "GOTO_FIRST", ACTION_GOTO_FIRST, "go-first", _("Go to first page"))); + addToolItem(new ToolButton(listener, "GOTO_BACK", ACTION_GOTO_BACK, "go-previous", _("Back"))); - addToolItem(new ToolButton(listener, "GOTO_BACK", ACTION_GOTO_BACK, "go-previous", _("Back"), - gui->get("menuNavigationPreviousPage"))); + addToolItem(new ToolButton(listener, gui, "GOTO_PAGE", ACTION_GOTO_PAGE, "goto.svg", _("Go to page"))); - addToolItem(new ToolButton(listener, gui, "GOTO_PAGE", ACTION_GOTO_PAGE, "goto.svg", _("Go to page"), - gui->get("menuNavigationGotoPage"))); + addToolItem(new ToolButton(listener, "GOTO_NEXT", ACTION_GOTO_NEXT, "go-next", _("Next"))); + addToolItem(new ToolButton(listener, "GOTO_LAST", ACTION_GOTO_LAST, "go-last", _("Go to last page"))); - addToolItem(new ToolButton(listener, "GOTO_NEXT", ACTION_GOTO_NEXT, "go-next", _("Next"), - gui->get("menuNavigationNextPage"))); - addToolItem(new ToolButton(listener, "GOTO_LAST", ACTION_GOTO_LAST, "go-last", _("Go to last page"), - gui->get("menuNavigationLastPage"))); - - addToolItem(new ToolButton(listener, "GOTO_PREVIOUS_LAYER", ACTION_GOTO_PREVIOUS_LAYER, "go-previous", _("Go to previous layer"), - gui->get("menuNavigationPreviousLayer"))); - addToolItem(new ToolButton(listener, "GOTO_NEXT_LAYER", ACTION_GOTO_NEXT_LAYER, "go-next", _("Go to next layer"), - gui->get("menuNavigationNextLayer"))); - addToolItem(new ToolButton(listener, "GOTO_TOP_LAYER", ACTION_GOTO_TOP_LAYER, "go-top", _("Go to top layer"), - gui->get("menuNavigationTopLayer"))); + addToolItem(new ToolButton(listener, "GOTO_PREVIOUS_LAYER", ACTION_GOTO_PREVIOUS_LAYER, "go-previous", _("Go to previous layer"))); + addToolItem(new ToolButton(listener, "GOTO_NEXT_LAYER", ACTION_GOTO_NEXT_LAYER, "go-next", _("Go to next layer"))); + addToolItem(new ToolButton(listener, "GOTO_TOP_LAYER", ACTION_GOTO_TOP_LAYER, "go-top", _("Go to top layer"))); addToolItem(new ToolButton(listener, gui, "GOTO_NEXT_ANNOTATED_PAGE", ACTION_GOTO_NEXT_ANNOTATED_PAGE, - "nextAnnotatedPage.svg", _("Next annotated page"), - gui->get("menuNavigationNextAnnotatedPage"))); - - addToolItem(new ToolButton(listener, "ZOOM_OUT", ACTION_ZOOM_OUT, "zoom-out", _("Zoom out"), - gui->get("menuViewZoomOut"))); - addToolItem(new ToolButton(listener, "ZOOM_IN", ACTION_ZOOM_IN, "zoom-in", _("Zoom in"), - gui->get("menuViewZoomIn"))); - addToolItem(new ToolButton(listener, "ZOOM_FIT", ACTION_ZOOM_FIT, "zoom-fit-best", _("Zoom fit to screen"), - gui->get("menuViewZoomFit"))); - addToolItem(new ToolButton(listener, "ZOOM_100", ACTION_ZOOM_100, "zoom-original", _("Zoom to 100%"), - gui->get("menuViewZoom100"))); + "nextAnnotatedPage.svg", _("Next annotated page"))); + + addToolItem(new ToolButton(listener, "ZOOM_OUT", ACTION_ZOOM_OUT, "zoom-out", _("Zoom out"))); + addToolItem(new ToolButton(listener, "ZOOM_IN", ACTION_ZOOM_IN, "zoom-in", _("Zoom in"))); + addToolItem(new ToolButton(listener, "ZOOM_FIT", ACTION_ZOOM_FIT, "zoom-fit-best", _("Zoom fit to screen"))); + addToolItem(new ToolButton(listener, "ZOOM_100", ACTION_ZOOM_100, "zoom-original", _("Zoom to 100%"))); addToolItem(new ToolButton(listener, gui, "FULLSCREEN", ACTION_FULLSCREEN, GROUP_FULLSCREEN, false, - "fullscreen.svg", _("Toggle fullscreen"), gui->get("menuViewFullScreen"))); + "fullscreen.svg", _("Toggle fullscreen"))); addToolItem(new ToolButton(listener, gui, "RECSTOP", ACTION_RECSTOP, GROUP_REC, false, "rec.svg", _("Rec / Stop"), gui->get("menuRecStop"))); @@ -507,33 +491,18 @@ void ToolMenuHandler::initToolItems() addToolItem(toolZoomSlider); addToolItem(new ToolButton(listener, gui, "TWO_PAGES", ACTION_VIEW_TWO_PAGES, GROUP_TWOPAGES, false, - "showtwopages.svg", _("Two pages"), gui->get("menuViewTwoPages"))); + "showtwopages.svg", _("Two pages"))); addToolItem(new ToolButton(listener, gui, "PRESENTATION_MODE", ACTION_VIEW_PRESENTATION_MODE, GROUP_PRESENTATION_MODE, false, - "showtwopages.svg", _("Presentation mode"), gui->get("menuViewPresMode"))); + "showtwopages.svg", _("Presentation mode"))); toolPageLayer = new ToolPageLayer(control->getLayerController(), gui, listener, "LAYER", ACTION_FOOTER_LAYER); addToolItem(toolPageLayer); - registerMenupoint(gui->get("menuFileAnnotate"), ACTION_ANNOTATE_PDF); - - - registerMenupoint(gui->get("menuJournalNewLayer"), ACTION_NEW_LAYER); - registerMenupoint(gui->get("menuJournalDeleteLayer"), ACTION_DELETE_LAYER); - registerMenupoint(gui->get("menuJournalNewPageBefore"), ACTION_NEW_PAGE_BEFORE); - registerMenupoint(gui->get("menuJournalNewPageAfter"), ACTION_NEW_PAGE_AFTER); - registerMenupoint(gui->get("menuJournalNewPageAtEnd"), ACTION_NEW_PAGE_AT_END); - registerMenupoint(gui->get("menuJournalTemplateConfig"), ACTION_CONFIGURE_PAGE_TEMPLATE); - registerMenupoint(gui->get("menuDeletePage"), ACTION_DELETE_PAGE); - registerMenupoint(gui->get("menuJournalPaperFormat"), ACTION_PAPER_FORMAT); - registerMenupoint(gui->get("menuJournalPaperColor"), ACTION_PAPER_BACKGROUND_COLOR); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(gui->get("menuJournalPaperBackground")), pageBackgroundChangeController->getMenu()); addToolItem(new ToolButton(listener, "DELETE", ACTION_DELETE, "edit-delete", _("Delete"))); - registerMenupoint(gui->get("menuNavigationPreviousAnnotatedPage"), ACTION_GOTO_PREVIOUS_ANNOTATED_PAGE); - registerMenupoint(gui->get("eraserFine"), ACTION_TOOL_ERASER_SIZE_FINE, GROUP_ERASER_SIZE); registerMenupoint(gui->get("eraserMedium"), ACTION_TOOL_ERASER_SIZE_MEDIUM, GROUP_ERASER_SIZE); registerMenupoint(gui->get("eraserThick"), ACTION_TOOL_ERASER_SIZE_THICK, GROUP_ERASER_SIZE); @@ -558,9 +527,6 @@ void ToolMenuHandler::initToolItems() registerMenupoint(gui->get("menuEditTex"), ACTION_TEX); - registerMenupoint(gui->get("menuViewToolbarManage"), ACTION_MANAGE_TOOLBAR); - registerMenupoint(gui->get("menuViewToolbarCustomize"), ACTION_CUSTOMIZE_TOOLBAR); - gtk_builder_connect_signals_full(gui->getBuilder(), (GtkBuilderConnectFunc)signalConnectCallback, this); } diff --git a/ui/main.glade b/ui/main.glade index b1d79383..923ad17d 100644 --- a/ui/main.glade +++ b/ui/main.glade @@ -70,6 +70,7 @@ False _Annotate PDF True + @@ -316,6 +317,7 @@ False _Two Pages True + @@ -324,6 +326,7 @@ False _Presentation Mode True + @@ -332,6 +335,7 @@ False Fullscreen True + @@ -372,6 +376,7 @@ False _Manage True + @@ -380,6 +385,7 @@ False _Customize True + @@ -414,6 +420,7 @@ False True True + @@ -425,6 +432,7 @@ False True True + @@ -436,6 +444,7 @@ False True True + @@ -445,6 +454,7 @@ False True True + @@ -467,6 +477,7 @@ False _First Page True + @@ -476,6 +487,7 @@ False _Previous Page True + @@ -485,6 +497,7 @@ False _Goto Page True + @@ -494,6 +507,7 @@ False _Next Page True + @@ -503,6 +517,7 @@ False _Last Page True + @@ -518,6 +533,7 @@ False _Previous Layer True + @@ -527,6 +543,7 @@ False _Next Layer True + @@ -536,6 +553,7 @@ False _Top Layer True + @@ -550,6 +568,7 @@ False N_ext annotated page True + @@ -559,6 +578,7 @@ False P_revious annotated Page True + @@ -582,6 +602,7 @@ False New Page _Before True + @@ -590,6 +611,7 @@ False New Page _After True + @@ -599,6 +621,7 @@ False New Page at _End True + @@ -607,6 +630,7 @@ False Configure Page Template True + @@ -615,6 +639,7 @@ False _Delete Page True + @@ -630,6 +655,7 @@ False New _Layer True + @@ -639,6 +665,7 @@ False Delete Layer True + @@ -654,6 +681,7 @@ False Paper _Format True + @@ -662,6 +690,7 @@ False Paper _Color True +