From d3c90f0ffe77e5ee2902ab490df074d76a5661d4 Mon Sep 17 00:00:00 2001 From: Andreas Butti Date: Sat, 19 Jan 2019 21:56:49 +0100 Subject: [PATCH 1/3] Tool cleanup --- src/gui/toolbarMenubar/ToolMenuHandler.cpp | 60 ++++++---------------- ui/main.glade | 28 ++++++++++ 2 files changed, 45 insertions(+), 43 deletions(-) diff --git a/src/gui/toolbarMenubar/ToolMenuHandler.cpp b/src/gui/toolbarMenubar/ToolMenuHandler.cpp index 2d8504b7..aa111a82 100644 --- a/src/gui/toolbarMenubar/ToolMenuHandler.cpp +++ b/src/gui/toolbarMenubar/ToolMenuHandler.cpp @@ -382,44 +382,31 @@ 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"), - gui->get("menuNavigationGotoPage"))); + addToolItem(new ToolButton(listener, gui, "GOTO_PAGE", ACTION_GOTO_PAGE, "goto.svg", _("Go to 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_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_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,10 +494,10 @@ 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); @@ -519,21 +506,11 @@ void ToolMenuHandler::initToolItems() 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 +535,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..b56d05a0 100644 --- a/ui/main.glade +++ b/ui/main.glade @@ -316,6 +316,7 @@ False _Two Pages True + @@ -324,6 +325,7 @@ False _Presentation Mode True + @@ -332,6 +334,7 @@ False Fullscreen True + @@ -372,6 +375,7 @@ False _Manage True + @@ -380,6 +384,7 @@ False _Customize True + @@ -414,6 +419,7 @@ False True True + @@ -425,6 +431,7 @@ False True True + @@ -436,6 +443,7 @@ False True True + @@ -445,6 +453,7 @@ False True True + @@ -467,6 +476,7 @@ False _First Page True + @@ -476,6 +486,7 @@ False _Previous Page True + @@ -485,6 +496,7 @@ False _Goto Page True + @@ -494,6 +506,7 @@ False _Next Page True + @@ -503,6 +516,7 @@ False _Last Page True + @@ -518,6 +532,7 @@ False _Previous Layer True + @@ -527,6 +542,7 @@ False _Next Layer True + @@ -536,6 +552,7 @@ False _Top Layer True + @@ -550,6 +567,7 @@ False N_ext annotated page True + @@ -559,6 +577,7 @@ False P_revious annotated Page True + @@ -582,6 +601,7 @@ False New Page _Before True + @@ -590,6 +610,7 @@ False New Page _After True + @@ -599,6 +620,7 @@ False New Page at _End True + @@ -607,6 +629,7 @@ False Configure Page Template True + @@ -615,6 +638,7 @@ False _Delete Page True + @@ -630,6 +654,7 @@ False New _Layer True + @@ -639,6 +664,7 @@ False Delete Layer True + @@ -654,6 +680,7 @@ False Paper _Format True + @@ -662,6 +689,7 @@ False Paper _Color True + From 1fbdb4e8bebd5a23fbea4b629a0d47e6ef05666a Mon Sep 17 00:00:00 2001 From: Andreas Butti Date: Sat, 19 Jan 2019 22:14:50 +0100 Subject: [PATCH 2/3] GTK Warnings fixed - some small bugs --- src/control/stockdlg/XojOpenDlg.cpp | 8 +++++++- src/gui/toolbarMenubar/ToolMenuHandler.cpp | 5 ----- ui/main.glade | 1 + 3 files changed, 8 insertions(+), 6 deletions(-) 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/toolbarMenubar/ToolMenuHandler.cpp b/src/gui/toolbarMenubar/ToolMenuHandler.cpp index aa111a82..0a88c5b2 100644 --- a/src/gui/toolbarMenubar/ToolMenuHandler.cpp +++ b/src/gui/toolbarMenubar/ToolMenuHandler.cpp @@ -502,11 +502,6 @@ void ToolMenuHandler::initToolItems() 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); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(gui->get("menuJournalPaperBackground")), pageBackgroundChangeController->getMenu()); addToolItem(new ToolButton(listener, "DELETE", ACTION_DELETE, "edit-delete", _("Delete"))); diff --git a/ui/main.glade b/ui/main.glade index b56d05a0..923ad17d 100644 --- a/ui/main.glade +++ b/ui/main.glade @@ -70,6 +70,7 @@ False _Annotate PDF True + From 9ffacb62c4be53300b578f2eaca74eef3ad97f06 Mon Sep 17 00:00:00 2001 From: Andreas Butti Date: Sat, 19 Jan 2019 22:42:38 +0100 Subject: [PATCH 3/3] Fixed page selection on navigation --- src/gui/XournalView.cpp | 13 +++++++++++-- src/gui/toolbarMenubar/ToolMenuHandler.cpp | 3 --- 2 files changed, 11 insertions(+), 5 deletions(-) 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 0a88c5b2..d6030932 100644 --- a/src/gui/toolbarMenubar/ToolMenuHandler.cpp +++ b/src/gui/toolbarMenubar/ToolMenuHandler.cpp @@ -385,9 +385,6 @@ void ToolMenuHandler::initToolItems() 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, "GOTO_NEXT", ACTION_GOTO_NEXT, "go-next", _("Next")));