diff --git a/src/gui/Layout.cpp b/src/gui/Layout.cpp index 537375f9..83c5b4fb 100644 --- a/src/gui/Layout.cpp +++ b/src/gui/Layout.cpp @@ -172,9 +172,14 @@ void Layout::layoutPages() Settings* settings = this->view->getControl()->getSettings(); - // obtain rows, cols, paired and layout from view settings - this->mapper.configureFromSettings(len, settings); - + if( settings->isPresentationMode() ) //fix some settings for presentation mode + { + this->mapper.configureForPresentation(len, settings); + } + else{ // obtain rows, cols, paired and layout from view settings + this->mapper.configureFromSettings(len, settings); + } + // get from mapper (some may have changed to accomodate paired setting etc.) bool isPairedPages = this->mapper.getPairedPages(); this->rows = this->mapper.getRows(); diff --git a/src/gui/LayoutMapper.cpp b/src/gui/LayoutMapper.cpp index 9fa492ef..25cad4de 100644 --- a/src/gui/LayoutMapper.cpp +++ b/src/gui/LayoutMapper.cpp @@ -23,8 +23,6 @@ void LayoutMapper::configureFromSettings(int numPages, Settings* settings) { XOJ_CHECK_TYPE(LayoutMapper); - int pages = numPages; - // get from user settings: bool isPairedPages = settings->isShowPairedPages(); int numCols = settings->getViewColumns(); @@ -46,9 +44,25 @@ void LayoutMapper::configureFromSettings(int numPages, Settings* settings) type |= isBottomToTop ? LayoutBitFlags::BottomToTop : 0; - this->configure(pages, numRows, numCols, fixRows, (LayoutType)type, isPairedPages, pairsOffset); + this->configure(numPages, numRows, numCols, fixRows, (LayoutType)type, isPairedPages, pairsOffset); } +void LayoutMapper::configureForPresentation(int numPages, Settings* settings) +{ + bool isPairedPages = settings->isShowPairedPages(); + int numCols = 1; + int numRows = 1; + bool fixRows = false; //i.e. use columns + int pairsOffset = settings->getPairsOffset(); + if (!isPairedPages) + { + pairsOffset = 0; + } + + this->configure(numPages, numRows, numCols, fixRows, Vertical, isPairedPages, pairsOffset); +} + + void LayoutMapper::configure(int pages, int numRows, int numCols, bool useRows, LayoutType type, bool isPaired, int firstPageOffset) { diff --git a/src/gui/LayoutMapper.h b/src/gui/LayoutMapper.h index 987d8cdd..b3d50ea6 100644 --- a/src/gui/LayoutMapper.h +++ b/src/gui/LayoutMapper.h @@ -58,6 +58,9 @@ public: void configureFromSettings(int numPages, Settings* settings); + + + void configureForPresentation(int numPages, Settings* settings); virtual ~LayoutMapper(); private: