[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/work/kviewshell-0.7/ligature/shell
From: Stefan Kebekus <kebekus () kde ! org>
Date: 2006-11-15 14:26:02
Message-ID: 1163600762.831810.17697.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 605131 by kebekus:
guess good view mode when opening files for the first time
M +3 -2 dataModel.h
M +3 -0 ligature.kcfg
M +26 -14 ligaturepart.cpp
M +1 -1 ligaturepart.h
M +1 -0 ligaturepart.rc
--- branches/work/kviewshell-0.7/ligature/shell/dataModel.h #605130:605131
@@ -87,8 +87,6 @@
double resolution() const { return resolutionInDPI; }
void setResolution(double resolution);
- void setViewMode(int viewmode);
-
/** @brief delete pages from the document
This method should be called whenever pages have been removed from
@@ -202,6 +200,9 @@
*/
QColor paperColor() const;
+public slots:
+ void setViewMode(int viewmode);
+
signals:
void currentPageNumberChanged();
--- branches/work/kviewshell-0.7/ligature/shell/ligature.kcfg #605130:605131
@@ -23,6 +23,9 @@
<entry key="UseDocumentSpecifiedSize" type="Bool">
<default>true</default>
</entry>
+ <entry key="GuessViewMode" type="Bool">
+ <default>true</default>
+ </entry>
<entry key="ViewMode" type="Enum">
<default>Continuous</default>
<choices>
--- branches/work/kviewshell-0.7/ligature/shell/ligaturepart.cpp #605130:605131
@@ -262,7 +262,7 @@
viewModeAction = new KSelectAction (i18n("View Mode"), 0, 0, 0, \
actionCollection(), "viewmode"); viewModeAction->setItems(viewModes);
viewModeAction->setCurrentItem(dataModel->preferences()->viewMode());
- connect(viewModeAction, SIGNAL(activated (int)), this, \
SLOT(slotSetViewMode(int))); + connect(viewModeAction, SIGNAL(activated (int)), \
dataModel, SLOT(setViewMode(int)));
QStringList items = userRequestedPaperSize.pageSizeNames();
items.prepend(i18n("Custom Size..."));
@@ -279,6 +279,8 @@
useDocumentSpecifiedSize = new KToggleAction(i18n("&Use Document Specified Paper \
Size"), 0, this, SLOT(slotShowSidebar()),
actionCollection(), \
"view_use_document_specified_size"); + guessViewMode = new \
KToggleAction(i18n("&Guess View Mode When Opening A New File"), 0, this, \
SLOT(slotShowSidebar()), + \
actionCollection(), "view_guess_viewmode");
zoomInAct = KStdAction::zoomIn (this, SLOT(zoomIn()), actionCollection());
zoomOutAct = KStdAction::zoomOut(this, SLOT(zoomOut()), actionCollection());
@@ -941,8 +943,6 @@
readSettings();
}
- // Set the multipage to the current viewmode.
- slotSetViewMode(dataModel->preferences()->viewMode());
// Load the URL
dataModel->deselectText();
@@ -952,9 +952,21 @@
emit setStatusBarText(i18n("Loading file %1").arg(m_file));
bool r = multiPage->openURL(m_file, m_url);
- if (r)
+ if (r) {
dataModel->setCurrentPageNumber(Anchor(1));
+ if (guessViewMode->isChecked()) {
+ // Guess suitable view mode
+ if ((multiPage->getRenderer()->totalPages() < 3) ||
+ (multiPage->getRenderer()->sizeOfPage(1).isPortrait() != true))
+ dataModel->setViewMode(KVSPrefs::EnumViewMode::Continuous);
+ else
+ dataModel->setViewMode(KVSPrefs::EnumViewMode::ContinuousFacing);
+ } else
+ // Set the multipage to the current viewmode.
+ dataModel->setViewMode(dataModel->preferences()->viewMode());
+ }
+
// Clear Statusbar
emit setStatusBarText(QString::null);
@@ -1456,9 +1468,14 @@
// Check if document specified paper sizes should be shown. We do
// not need to take any action here, because this method is called
- // only in the constructor of the LigaturePart when no document is loaded.
+ // only in the constructor of the LigaturePart when no document is
+ // loaded.
useDocumentSpecifiedSize->setChecked(dataModel->preferences()->useDocumentSpecifiedSize());
+ // Check if ligature should guess a good viewmode when opening a new
+ // document
+ guessViewMode->setChecked(dataModel->preferences()->guessViewMode());
+
if (!multiPage.isNull())
multiPage->readSettings();
}
@@ -1487,6 +1504,7 @@
dataModel->preferences()->setPaperFormat(userRequestedPaperSize.serialize());
dataModel->preferences()->setScrollbars(scrollbarHandling->isChecked());
dataModel->preferences()->setUseDocumentSpecifiedSize(useDocumentSpecifiedSize->isChecked());
+ dataModel->preferences()->setGuessViewMode(guessViewMode->isChecked());
if (fitPageAct->isChecked())
dataModel->preferences()->setFitToPage(KVSPrefs::EnumFitToPage::FitToPage);
@@ -1564,7 +1582,7 @@
renderModeChanged();
if (multiPage)
multiPage->preferencesChanged();
- slotSetViewMode(dataModel->preferences()->viewMode());
+ dataModel->setViewMode(dataModel->preferences()->viewMode());
}
void LigaturePart::partActivateEvent( KParts::PartActivateEvent *ev )
@@ -1640,12 +1658,6 @@
}
-void LigaturePart::slotSetViewMode(int mode)
-{
- dataModel->setViewMode(mode);
-}
-
-
void LigaturePart::slotNextViewMode()
{
int viewmode = dataModel->preferences()->viewMode();
@@ -1666,7 +1678,7 @@
newmode = KVSPrefs::EnumViewMode::SinglePage;
break;
}
- slotSetViewMode(newmode);
+ dataModel->setViewMode(newmode);
}
@@ -1690,7 +1702,7 @@
newmode = KVSPrefs::EnumViewMode::ContinuousFacing;
break;
}
- slotSetViewMode(newmode);
+ dataModel->setViewMode(newmode);
}
--- branches/work/kviewshell-0.7/ligature/shell/ligaturepart.h #605130:605131
@@ -178,7 +178,6 @@
void slotEnableRectSelectionTool();
void slotEnableRulerTool();
- void slotSetViewMode(int mode);
void slotNextViewMode();
void slotPreviousViewMode();
@@ -243,6 +242,7 @@
KToggleAction* watchAct;
KToggleAction* useDocumentSpecifiedSize;
+ KToggleAction* guessViewMode;
KToggleAction* fitPageAct;
KToggleAction* fitHeightAct;
KToggleAction* fitWidthAct;
--- branches/work/kviewshell-0.7/ligature/shell/ligaturepart.rc #605130:605131
@@ -28,6 +28,7 @@
</Menu>
<Menu name="view"><text>&View</text>
<Action name="viewmode"/>
+ <Action name="view_guess_viewmode"/>
<Merge/>
<Separator/>
<Action name="view_media"/>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic