remove the ViewRows config entry as it was unused

Change the ViewMode to be an Enum instead of an ugly int and fix the ugly code accordingly. This will break your ViewMode config, i'm sorry for that
Move the setting for centered pages to the view mode as people seems to be having a lot of difficulties of finding it in the old location

svn path=/trunk/KDE/kdegraphics/okular/; revision=1072353
This commit is contained in:
Albert Astals Cid 2010-01-10 01:19:16 +00:00
parent 835bdb8af2
commit 24b1b33906
4 changed files with 101 additions and 186 deletions

View file

@ -1,85 +1,59 @@
<ui version="4.0" >
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DlgGeneralBase</class>
<widget class="QWidget" name="DlgGeneralBase" >
<property name="geometry" >
<widget class="QWidget" name="DlgGeneralBase">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>287</width>
<height>361</height>
<width>291</width>
<height>348</height>
</rect>
</property>
<layout class="QVBoxLayout" >
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<layout class="QVBoxLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox" >
<property name="title" >
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Appearance</string>
</property>
<layout class="QHBoxLayout" >
<property name="spacing" >
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin" >
<number>9</number>
</property>
<property name="topMargin" >
<number>9</number>
</property>
<property name="rightMargin" >
<number>9</number>
</property>
<property name="bottomMargin" >
<property name="margin">
<number>9</number>
</property>
<item>
<layout class="QVBoxLayout" >
<property name="spacing" >
<layout class="QVBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="kcfg_ShowScrollBars" >
<property name="text" >
<widget class="QCheckBox" name="kcfg_ShowScrollBars">
<property name="text">
<string>Show scroll&amp;bars</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="kcfg_SyncThumbnailsViewport" >
<property name="enabled" >
<widget class="QCheckBox" name="kcfg_SyncThumbnailsViewport">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text" >
<property name="text">
<string>Link the &amp;thumbnails with the page</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="kcfg_ShowOSD" >
<property name="text" >
<widget class="QCheckBox" name="kcfg_ShowOSD">
<property name="text">
<string>Show &amp;hints and info messages</string>
</property>
</widget>
@ -87,26 +61,17 @@
</layout>
</item>
<item>
<layout class="QVBoxLayout" >
<property name="spacing" >
<layout class="QVBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="pixmapLabel1_2" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<widget class="QLabel" name="pixmapLabel1_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -115,13 +80,13 @@
</item>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
@ -135,60 +100,42 @@
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2" >
<property name="title" >
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Program Features</string>
</property>
<layout class="QHBoxLayout" >
<property name="spacing" >
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin" >
<number>9</number>
</property>
<property name="topMargin" >
<number>9</number>
</property>
<property name="rightMargin" >
<number>9</number>
</property>
<property name="bottomMargin" >
<property name="margin">
<number>9</number>
</property>
<item>
<layout class="QVBoxLayout" >
<property name="spacing" >
<layout class="QVBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="kcfg_ObeyDRM" >
<property name="text" >
<widget class="QCheckBox" name="kcfg_ObeyDRM">
<property name="text">
<string>&amp;Obey DRM limitations</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="kcfg_WatchFile" >
<property name="text" >
<widget class="QCheckBox" name="kcfg_WatchFile">
<property name="text">
<string>&amp;Reload document on file change</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="kcfg_ChooseGenerators" >
<property name="text" >
<widget class="QCheckBox" name="kcfg_ChooseGenerators">
<property name="text">
<string>Show backend selection dialog</string>
</property>
</widget>
@ -196,26 +143,17 @@
</layout>
</item>
<item>
<layout class="QVBoxLayout" >
<property name="spacing" >
<layout class="QVBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="pixmapLabel1_2_2" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<widget class="QLabel" name="pixmapLabel1_2_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -224,13 +162,13 @@
</item>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
@ -244,39 +182,32 @@
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3" >
<property name="title" >
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>View Options</string>
</property>
<layout class="QVBoxLayout" >
<layout class="QVBoxLayout">
<item>
<widget class="QCheckBox" name="kcfg_CenterFirstPageInRow" >
<property name="text" >
<string>Center &amp;first page</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" >
<layout class="QHBoxLayout">
<item>
<widget class="QLabel" name="columnLabel" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="Maximum" >
<widget class="QLabel" name="columnLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<property name="text">
<string>Overview columns:</string>
</property>
</widget>
</item>
<item>
<widget class="KIntSpinBox" name="kcfg_ViewColumns" >
<property name="minimum" >
<widget class="KIntSpinBox" name="kcfg_ViewColumns">
<property name="minimum">
<number>3</number>
</property>
<property name="maximum" >
<property name="maximum">
<number>10</number>
</property>
</widget>
@ -288,10 +219,10 @@
</item>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>4</height>
@ -301,9 +232,6 @@
</item>
</layout>
</widget>
<includes>
<include location="global" >kiconloader.h</include>
</includes>
<customwidgets>
<customwidget>
<class>KIntSpinBox</class>
@ -311,6 +239,9 @@
<header>knuminput.h</header>
</customwidget>
</customwidgets>
<includes>
<include location="global">kiconloader.h</include>
</includes>
<resources/>
<connections/>
</ui>

View file

@ -218,9 +218,6 @@
</entry>
</group>
<group name="PageView" >
<entry key="CenterFirstPageInRow" type="Bool" >
<default>false</default>
</entry>
<entry key="EditToolBarPlacement" type="Int" >
<default>0</default>
</entry>
@ -232,20 +229,20 @@
<min>1</min>
<max>8</max>
</entry>
<entry key="ViewRows" type="UInt" >
<default>1</default>
<min>1</min>
<max>5</max>
</entry>
<entry key="TrimMargins" type="Bool" >
<default>false</default>
</entry>
<entry key="ViewContinuous" type="Bool" >
<default>true</default>
</entry>
<entry key="ViewMode" type="UInt" >
<default>0</default>
<max>2</max>
<entry key="ViewMode" type="Enum" >
<default>Single</default>
<choices>
<choice name="Single" />
<choice name="Facing" />
<choice name="FacingFirstCentered" />
<choice name="Summary" />
</choices>
</entry>
<entry key="ZoomMode" type="UInt" >
<default>2</default>

View file

@ -170,9 +170,7 @@ public:
KAction * aSpeakStop;
KActionCollection * actionCollection;
int setting_viewMode;
int setting_viewCols;
bool setting_centerFirst;
};
PageViewPrivate::PageViewPrivate( PageView *qq )
@ -276,9 +274,7 @@ PageView::PageView( QWidget *parent, Okular::Document *document )
d->aSpeakStop = 0;
d->actionCollection = 0;
d->aPageSizes=0;
d->setting_viewMode = Okular::Settings::viewMode();
d->setting_viewCols = Okular::Settings::viewColumns();
d->setting_centerFirst = Okular::Settings::centerFirstPageInRow();
d->delayRelayoutTimer = new QTimer( this );
d->delayRelayoutTimer->setSingleShot( true );
@ -412,10 +408,18 @@ do { \
} while( 0 )
ac->addAction("view_render_mode", d->aViewMode );
QActionGroup *vmGroup = new QActionGroup( d->aViewMode->menu() );
ADD_VIEWMODE_ACTION( i18n( "Single Page" ), "view_render_mode_single", 0 );
ADD_VIEWMODE_ACTION( i18n( "Facing Pages" ), "view_render_mode_facing", 1 );
ADD_VIEWMODE_ACTION( i18n( "Overview" ), "view_render_mode_overview", 2 );
d->aViewMode->menu()->actions().at( Okular::Settings::viewMode() )->setChecked( true );
ADD_VIEWMODE_ACTION( i18n( "Single Page" ), "view_render_mode_single", (int)Okular::Settings::EnumViewMode::Single );
ADD_VIEWMODE_ACTION( i18n( "Facing Pages" ), "view_render_mode_facing", (int)Okular::Settings::EnumViewMode::Facing );
ADD_VIEWMODE_ACTION( i18n( "Facing Pages (Center First Page)" ), "view_render_mode_facing", (int)Okular::Settings::EnumViewMode::FacingFirstCentered );
ADD_VIEWMODE_ACTION( i18n( "Overview" ), "view_render_mode_overview", (int)Okular::Settings::EnumViewMode::Summary );
const QList<QAction *> viewModeActions = d->aViewMode->menu()->actions();
foreach(QAction *viewModeAction, viewModeActions)
{
if (viewModeAction->data().toInt() == Okular::Settings::viewMode())
{
viewModeAction->setChecked( true );
}
}
connect( vmGroup, SIGNAL( triggered( QAction* ) ), this, SLOT( slotViewMode( QAction* ) ) );
#undef ADD_VIEWMODE_ACTION
@ -509,7 +513,7 @@ do { \
bool PageView::canFitPageWidth() const
{
return Okular::Settings::viewMode() != 0 || d->zoomMode != ZoomFitWidth;
return Okular::Settings::viewMode() != Okular::Settings::EnumViewMode::Single || d->zoomMode != ZoomFitWidth;
}
void PageView::fitPageWidth( int page )
@ -593,14 +597,10 @@ void PageView::reparseConfig()
setVerticalScrollBarPolicy( scrollBarMode );
}
const int viewMode = Okular::Settings::viewMode();
if ( ( viewMode == 2 && ( (int)Okular::Settings::viewColumns() != d->setting_viewCols ) )
|| ( viewMode > 0 && ( Okular::Settings::centerFirstPageInRow() != d->setting_centerFirst ) )
)
if ( Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::Summary &&
( (int)Okular::Settings::viewColumns() != d->setting_viewCols ) )
{
d->setting_viewMode = Okular::Settings::viewMode();
d->setting_viewCols = Okular::Settings::viewColumns();
d->setting_centerFirst = Okular::Settings::centerFirstPageInRow();
slotRelayoutPages();
}
@ -2796,17 +2796,11 @@ void PageView::updateCursor( const QPoint &p )
int PageView::viewColumns() const
{
int nr = Okular::Settings::viewMode();
if (nr<2)
return nr+1;
return Okular::Settings::viewColumns();
}
int PageView::viewRows() const
{
if ( Okular::Settings::viewMode() < 2 )
return 1;
return Okular::Settings::viewRows();
int vm = Okular::Settings::viewMode();
if (vm == Okular::Settings::EnumViewMode::Single) return 1;
else if (vm == Okular::Settings::EnumViewMode::Facing ||
vm == Okular::Settings::EnumViewMode::FacingFirstCentered) return 2;
else return Okular::Settings::viewColumns();
}
void PageView::center(int cx, int cy)
@ -2883,7 +2877,7 @@ void PageView::slotRelayoutPages()
// handle the 'center first page in row' stuff
int nCols = viewColumns();
bool centerFirstPage = Okular::Settings::centerFirstPageInRow() && nCols > 1;
bool centerFirstPage = Okular::Settings::viewMode() == Okular::Settings::EnumViewMode::FacingFirstCentered;
const bool continuousView = Okular::Settings::viewContinuous();
// set all items geometry and resize contents. handle 'continuous' and 'single' modes separately
@ -2895,13 +2889,7 @@ void PageView::slotRelayoutPages()
pageCount += nCols - 1;
// Here we find out column's width and row's height to compute a table
// so we can place widgets 'centered in virtual cells'.
int nRows;
// if ( Okular::Settings::viewMode() < 2 )
nRows = (int)ceil( (float)pageCount / (float)nCols );
// nRows=(int)ceil( (float)pageCount / (float) Okular::Settings::viewRows() );
// else
// nRows = Okular::Settings::viewRows();
int nRows = (int)ceil( (float)pageCount / (float)nCols );
int * colWidth = new int[ nCols ],
* rowHeight = new int[ nRows ],

View file

@ -166,7 +166,6 @@ Q_OBJECT
void updateCursor( const QPoint &p );
int viewColumns() const;
int viewRows() const;
void center(int cx, int cy);