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()