From 496a90daefaa2da7813acc5eac06bf6b1e32f1d2 Mon Sep 17 00:00:00 2001 From: Felix Kauselmann <2039670+selmf@users.noreply.github.com> Date: Sun, 30 Nov 2014 18:22:34 +0100 Subject: [PATCH] Add controls for fit to page scaling --- YACReader/main_window_viewer.cpp | 23 ++++++++++++++++++++++- YACReader/main_window_viewer.h | 2 ++ shortcuts_management/shortcuts_manager.h | 1 + 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/YACReader/main_window_viewer.cpp b/YACReader/main_window_viewer.cpp index c0724ac8..39d5e07d 100644 --- a/YACReader/main_window_viewer.cpp +++ b/YACReader/main_window_viewer.cpp @@ -107,6 +107,7 @@ MainWindowViewer::~MainWindowViewer() delete showDictionaryAction; delete alwaysOnTopAction; delete adjustToFullSizeAction; + delete fitToPageAction; delete showFlowAction; } @@ -410,6 +411,15 @@ void MainWindowViewer::createActions() adjustToFullSizeAction->setData(ADJUST_TO_FULL_SIZE_ACTION_Y); adjustToFullSizeAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(ADJUST_TO_FULL_SIZE_ACTION_Y)); connect(adjustToFullSizeAction,SIGNAL(triggered()),this,SLOT(adjustToFullSizeSwitch())); + + fitToPageAction = new QAction(tr("Fit to page"),this); + //fitToPageAction->setIcon(QIcon(":/images/viewer_toolbar/full.png")); + fitToPageAction->setCheckable(true); + fitToPageAction->setDisabled(true); + fitToPageAction->setChecked(Configuration::getConfiguration().getFitToPage()); + fitToPageAction->setData(FIT_TO_PAGE_ACTION_Y); + fitToPageAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(FIT_TO_PAGE_ACTION_Y)); + connect(fitToPageAction,SIGNAL(triggered()),this,SLOT(fitToPageSwitch())); showFlowAction = new QAction(tr("Show go to flow"),this); showFlowAction->setIcon(QIcon(":/images/viewer_toolbar/flow.png")); @@ -524,6 +534,7 @@ void MainWindowViewer::createToolBars() comicToolBar->addAction(adjustHeightAction); comicToolBar->addAction(adjustToFullSizeAction); + comicToolBar->addAction(fitToPageAction); comicToolBar->addAction(leftRotationAction); comicToolBar->addAction(rightRotationAction); comicToolBar->addAction(doublePageAction); @@ -574,6 +585,7 @@ void MainWindowViewer::createToolBars() viewer->addAction(adjustHeightAction); viewer->addAction(adjustWidthAction); viewer->addAction(adjustToFullSizeAction); + viewer->addAction(fitToPageAction); viewer->addAction(leftRotationAction); viewer->addAction(rightRotationAction); viewer->addAction(doublePageAction); @@ -809,6 +821,7 @@ void MainWindowViewer::enableActions() doublePageAction->setDisabled(false); doubleMangaPageAction->setDisabled(false); adjustToFullSizeAction->setDisabled(false); + fitToPageAction->setDisabled(false); //setBookmark->setDisabled(false); showBookmarksAction->setDisabled(false); showInfoAction->setDisabled(false); //TODO enable goTo and showInfo (or update) when numPages emited @@ -830,6 +843,7 @@ void MainWindowViewer::disableActions() doublePageAction->setDisabled(true); doubleMangaPageAction->setDisabled(true); adjustToFullSizeAction->setDisabled(true); + fitToPageAction->setDisabled(true); setBookmarkAction->setDisabled(true); showBookmarksAction->setDisabled(true); showInfoAction->setDisabled(true); //TODO enable goTo and showInfo (or update) when numPages emited @@ -1082,7 +1096,8 @@ void MainWindowViewer::setUpShortcutsManagement() << rightRotationAction << doublePageAction << doubleMangaPageAction - << adjustToFullSizeAction); + << adjustToFullSizeAction + << fitToPageAction); allActions << tmpList; @@ -1375,6 +1390,12 @@ void MainWindowViewer::adjustToFullSizeSwitch() viewer->updatePage(); } +void MainWindowViewer::fitToPageSwitch() +{ + Configuration::getConfiguration().setFitToPage(!Configuration::getConfiguration().getFitToPage()); + viewer->updatePage(); +} + void MainWindowViewer::sendComic() { YACReaderLocalClient * client = new YACReaderLocalClient; diff --git a/YACReader/main_window_viewer.h b/YACReader/main_window_viewer.h index a2923c3b..6277265d 100644 --- a/YACReader/main_window_viewer.h +++ b/YACReader/main_window_viewer.h @@ -53,6 +53,7 @@ class EditShortcutsDialog; void openFolderFromPath(QString pathFile, QString atFileName); void alwaysOnTopSwitch(); void adjustToFullSizeSwitch(); + void fitToPageSwitch(); void reloadOptions(); void fitToWidth(); void fitToHeight(); @@ -118,6 +119,7 @@ class EditShortcutsDialog; QAction *showDictionaryAction; QAction *alwaysOnTopAction; QAction *adjustToFullSizeAction; + QAction *fitToPageAction; QAction *showFlowAction; QAction *showEditShortcutsAction; diff --git a/shortcuts_management/shortcuts_manager.h b/shortcuts_management/shortcuts_manager.h index 609ee57d..b3f7bd13 100644 --- a/shortcuts_management/shortcuts_manager.h +++ b/shortcuts_management/shortcuts_manager.h @@ -108,6 +108,7 @@ public: #define SHOW_DICTIONARY_ACTION_Y "SHOW_DICTIONARY_ACTION_Y" #define ALWAYS_ON_TOP_ACTION_Y "ALWAYS_ON_TOP_ACTION_Y" #define ADJUST_TO_FULL_SIZE_ACTION_Y "ADJUST_TO_FULL_SIZE_ACTION_Y" +#define FIT_TO_PAGE_ACTION_Y "FIT_TO_PAGE_ACTION_Y" #define SHOW_FLOW_ACTION_Y "SHOW_FLOW_ACTION_Y" #define SHOW_EDIT_SHORTCUTS_ACTION_Y "SHOW_EDIT_SHORTCUTS_ACTION_Y"