#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include "notebookmodel.h" #include "paperreplaymodel.h" #include "smartpenmanager.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); public slots: void closeNotebook(); void openNotebook(const QString &pen, const QString ¬ebook); void exportCurrentPageAsPng(const QString &file); void exportCurrentPageAsSvg(const QString &file); void exportCurrentPaperReplayAsAac(const QString &file); private slots: void handleNotebookSelected(const QModelIndex &index); void handleNotebookRowsInserted(const QModelIndex &index, int start, int end); void handleCurPageChanged(); void handlePaperReplaySelected(const QModelIndex &index); void handlePaperReplayRequested(const QString &file, qint64 time); void handlePaperReplayPlay(); void handlePaperReplayPause(); void handleMediaStateChange(Phonon::State state); void handleMediaTotalTimeChanged(qint64 time); void handleMediaTick(qint64 time); void handlePensBeingSynchronizedChanged(); void handleExport(); void handleAbout(); private: QString formatDuration(qint64 time); private: Ui::MainWindow *ui; NotebookModel *_notebooks; SmartpenManager *_manager; Phonon::MediaObject *_media; Phonon::AudioOutput *_mediaOutput; qint64 _pendingSeek; QString _curPenName; QString _curNotebookName; PaperReplay *_replay; PaperReplayModel *_replayModel; QLabel *_statusLabel; }; #endif // MAINWINDOW_H