diff --git a/conf/dlggeneralbase.ui b/conf/dlggeneralbase.ui --- a/conf/dlggeneralbase.ui +++ b/conf/dlggeneralbase.ui @@ -319,6 +319,13 @@ + + + + Set fewer columns in Overview if document is small + + + diff --git a/conf/okular.kcfg b/conf/okular.kcfg --- a/conf/okular.kcfg +++ b/conf/okular.kcfg @@ -133,6 +133,9 @@ true + + + false false diff --git a/ui/pageview.cpp b/ui/pageview.cpp --- a/ui/pageview.cpp +++ b/ui/pageview.cpp @@ -234,6 +234,8 @@ int setting_viewCols; bool rtl_Mode; + + bool fewColumnsFewPages; // Keep track of whether tablet pen is currently pressed down bool penDown; @@ -354,6 +356,7 @@ d->aPageSizes=nullptr; d->setting_viewCols = Okular::Settings::viewColumns(); d->rtl_Mode = Okular::Settings::rtlReadingDirection(); + d->fewColumnsFewPages = Okular::Settings::fewColumnsIfFewPages(); d->mouseModeActionGroup = nullptr; d->penDown = false; d->aMouseMagnifier = nullptr; @@ -837,6 +840,12 @@ slotRelayoutPages(); } + if(Okular::Settings::fewColumnsIfFewPages() != d->fewColumnsFewPages) + { + d->fewColumnsFewPages = Okular::Settings::fewColumnsIfFewPages(); + slotRelayoutPages(); + } + if (Okular::Settings::rtlReadingDirection() != d->rtl_Mode ) { d->rtl_Mode = Okular::Settings::rtlReadingDirection(); @@ -4181,6 +4190,9 @@ if (vm == Okular::Settings::EnumViewMode::Single) return 1; else if (vm == Okular::Settings::EnumViewMode::Facing || vm == Okular::Settings::EnumViewMode::FacingFirstCentered) return 2; + else if (vm == Okular::Settings::EnumViewMode::Summary && d->fewColumnsFewPages + && d->document->pages() < Okular::Settings::viewColumns() ) + return d->document->pages(); else return Okular::Settings::viewColumns(); }