diff options
Diffstat (limited to 'application/widgets')
-rw-r--r-- | application/widgets/PageContainer.cpp | 15 | ||||
-rw-r--r-- | application/widgets/PageContainer.h | 1 |
2 files changed, 13 insertions, 3 deletions
diff --git a/application/widgets/PageContainer.cpp b/application/widgets/PageContainer.cpp index 98de57e8..c8c2b57a 100644 --- a/application/widgets/PageContainer.cpp +++ b/application/widgets/PageContainer.cpp @@ -218,10 +218,9 @@ void PageContainer::currentChanged(const QModelIndex ¤t) bool PageContainer::prepareToClose() { - for (auto page : m_model->pages()) + if(!saveAll()) { - if (!page->apply()) - return false; + return false; } if (m_currentPage) { @@ -229,3 +228,13 @@ bool PageContainer::prepareToClose() } return true; } + +bool PageContainer::saveAll() +{ + for (auto page : m_model->pages()) + { + if (!page->apply()) + return false; + } + return true; +} diff --git a/application/widgets/PageContainer.h b/application/widgets/PageContainer.h index ea9f8ce1..a05e74c4 100644 --- a/application/widgets/PageContainer.h +++ b/application/widgets/PageContainer.h @@ -46,6 +46,7 @@ public: * @return true if everything can be saved, false if there is something that requires attention */ bool prepareToClose(); + bool saveAll(); /* request close - used by individual pages */ bool requestClose() override |