diff options
Diffstat (limited to 'notebookview.cc')
-rw-r--r-- | notebookview.cc | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/notebookview.cc b/notebookview.cc index 833f8e8..f8394c0 100644 --- a/notebookview.cc +++ b/notebookview.cc @@ -18,6 +18,7 @@ #include <QtCore/QDebug> #include <QtGui/QResizeEvent> +#include "stfexporter.h" #include "notebookview.h" #define VIEW_MARGIN 2 @@ -69,6 +70,16 @@ QString NotebookView::paperReplay() const return _replayPath; } +void NotebookView::setPenUserTime(quint64 userTime) +{ + _penUserTime = userTime; +} + +quint64 NotebookView::penUserTime() const +{ + return _penUserTime; +} + QList<int> NotebookView::pageNumbers() const { return _pages.keys(); @@ -121,7 +132,7 @@ QRect NotebookView::getCurPageTrim() const return _nb->getPageTrim(_curPage); } -QImage NotebookView::exportPage(int pageNum) const +QImage NotebookView::exportPageAsImage(int pageNum) const { const QRect pageTrim = _nb->getPageTrim(pageNum); QImage image(pageTrim.width() / 4, pageTrim.height() / 4, QImage::Format_RGB32); @@ -139,6 +150,18 @@ void NotebookView::renderPage(QPainter *painter, int pageNum, const QRectF &targ scene.render(painter, target, source, Qt::KeepAspectRatio); } +void NotebookView::exportPageAsTXYP(QIODevice *device, int pageNum, bool relativeTime) +{ + StfExporter writer(_nb); + writer.exportToTXYP(device, pageNum, relativeTime); +} + +void NotebookView::exportPageAsInkML(QIODevice *device, int pageNum) +{ + StfExporter writer(_nb); + writer.exportToInkML(device, pageNum); +} + void NotebookView::requestPaperReplay(const QString &file, qint64 time) { emit paperReplayRequested(file, time); @@ -224,7 +247,7 @@ bool NotebookView::createPages() if (pens.isEmpty()) return false; // Failure to open paperreplay data is not fatal - bool haveReplay = _replay->open(_replayPath, _nb->guid()); + bool haveReplay = _replay->open(_replayPath, _nb->guid(), _penUserTime); QList<int> pagesWithStrokes = _nb->pagesWithStrokes(pens.first()); Q_ASSERT(_pages.isEmpty()); @@ -277,7 +300,8 @@ void NotebookView::calculateScale() void NotebookView::layoutPages() { - const int numRows = (_pages.size() + 1) / _numColumns; + const int numRows = _pages.size() / _numColumns + + (_pages.size() % _numColumns > 0 ? 1 : 0); const QSizeF pageSpace( _maxPageSize.width() + PAGE_SEPARATION, _maxPageSize.height() + PAGE_SEPARATION); |