aboutsummaryrefslogtreecommitdiff
path: root/application/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'application/widgets')
-rw-r--r--application/widgets/PageContainer.cpp15
-rw-r--r--application/widgets/PageContainer.h1
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 &current)
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