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();
}