From a69e97943539a8abc4d2762638c169dc19c88516 Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 7 Jun 2015 21:22:45 +0200 Subject: initial import --- mainwindow.cc | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 mainwindow.cc (limited to 'mainwindow.cc') diff --git a/mainwindow.cc b/mainwindow.cc new file mode 100644 index 0000000..793a722 --- /dev/null +++ b/mainwindow.cc @@ -0,0 +1,66 @@ +#include +#include "mainwindow.h" +#include "ui_mainwindow.h" + +MainWindow::MainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow), + _notebooks(new NotebookModel(this)), + _manager(new SmartpenManager(this)) +{ + ui->setupUi(this); + ui->notebookTree->setModel(_notebooks); + ui->notebookTree->header()->setResizeMode(0, QHeaderView::Stretch); + ui->notebookTree->header()->setResizeMode(1, QHeaderView::Fixed); + ui->notebookTree->header()->setResizeMode(2, QHeaderView::Fixed); + ui->notebookTree->expandAll(); +} + +MainWindow::~MainWindow() +{ + delete ui; +} + +void MainWindow::closeNotebook() +{ + _curPenName.clear(); + _curNotebookName.clear(); + ui->notebookView->setNotebook(QString()); +} + +void MainWindow::openNotebook(const QString &pen, const QString ¬ebook) +{ + if (_curPenName == pen && _curNotebookName == notebook) return; + + _curPenName = pen; + _curNotebookName = notebook; + + QString nbDir = _notebooks->notebookDirectory(_curPenName, _curNotebookName); + + qDebug() << "Opening notebook" << _curPenName << _curNotebookName << nbDir; + + ui->notebookView->setNotebook(nbDir); +} + +void MainWindow::handleNotebookSelected(const QModelIndex &index) +{ + if (!index.isValid()) { + closeNotebook(); + return; + } + QModelIndex parent = index.parent(); + if (!parent.isValid()) { + closeNotebook(); + return; + } + + QModelIndex child = parent.child(index.row(), 0); + + openNotebook(_notebooks->data(parent, Qt::DisplayRole).toString(), + _notebooks->data(child, Qt::DisplayRole).toString()); +} + +void MainWindow::handleCurPageChanged() +{ + ui->pageEdit->setText(QString::number(ui->notebookView->curPage() + 1)); +} -- cgit v1.2.3