From 1028c9a4ad8dadf6abf45a5352328c0c60e869c6 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Sun, 22 Oct 2017 11:21:36 +0800 Subject: [PATCH] bug-fix: prompt for new notebook after mainwindow is shown --- src/main.cpp | 2 ++ src/vmainwindow.cpp | 7 +++++++ src/vmainwindow.h | 3 +++ src/vnotebookselector.cpp | 10 +++++++++- 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index dced62e3..5bae6076 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -168,5 +168,7 @@ int main(int argc, char *argv[]) w.openFiles(filePaths); + w.promptNewNotebookIfEmpty(); + return app.exec(); } diff --git a/src/vmainwindow.cpp b/src/vmainwindow.cpp index 48c3ca74..068c2440 100644 --- a/src/vmainwindow.cpp +++ b/src/vmainwindow.cpp @@ -2623,3 +2623,10 @@ void VMainWindow::flushLogFileByCaptain(void *p_target, void *p_data) g_logFile.flush(); #endif } + +void VMainWindow::promptNewNotebookIfEmpty() +{ + if (vnote->getNotebooks().isEmpty()) { + notebookSelector->newNotebook(); + } +} diff --git a/src/vmainwindow.h b/src/vmainwindow.h index 4039f659..799eb0a6 100644 --- a/src/vmainwindow.h +++ b/src/vmainwindow.h @@ -83,6 +83,9 @@ public: VCaptain *getCaptain() const; + // Prompt user for new notebook if there is no notebook. + void promptNewNotebookIfEmpty(); + private slots: void importNoteFromFile(); void viewSettings(); diff --git a/src/vnotebookselector.cpp b/src/vnotebookselector.cpp index b6ca308c..0a0696e4 100644 --- a/src/vnotebookselector.cpp +++ b/src/vnotebookselector.cpp @@ -243,7 +243,9 @@ void VNotebookSelector::handleCurIndexChanged(int p_index) setCurrentIndex(m_lastValidIndex); } - newNotebook(); + if (!m_notebooks.isEmpty()) { + newNotebook(); + } return; } @@ -382,6 +384,12 @@ void VNotebookSelector::deleteNotebook(VNotebook *p_notebook, bool p_deleteFiles QDesktopServices::openUrl(url); } } + + if (m_notebooks.isEmpty()) { + m_muted = true; + setCurrentIndex(0); + m_muted = false; + } } void VNotebookSelector::editNotebookInfo()