summaryrefslogtreecommitdiffstats
path: root/accounts/maildir/maildirsettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'accounts/maildir/maildirsettings.cpp')
-rw-r--r--accounts/maildir/maildirsettings.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/accounts/maildir/maildirsettings.cpp b/accounts/maildir/maildirsettings.cpp
index 58ff77fd..18abaebb 100644
--- a/accounts/maildir/maildirsettings.cpp
+++ b/accounts/maildir/maildirsettings.cpp
@@ -23,6 +23,7 @@
23#include <sink/store.h> 23#include <sink/store.h>
24#include <QDebug> 24#include <QDebug>
25#include <QUuid> 25#include <QUuid>
26#include <QDir>
26 27
27MaildirSettings::MaildirSettings(QObject *parent) 28MaildirSettings::MaildirSettings(QObject *parent)
28 : QObject(parent) 29 : QObject(parent)
@@ -77,8 +78,28 @@ QString MaildirSettings::path() const
77 return mPath; 78 return mPath;
78} 79}
79 80
81QValidator *MaildirSettings::pathValidator() const
82{
83 class PathValidator : public QValidator {
84 State validate(QString &input, int &pos) const {
85 Q_UNUSED(pos);
86 if (QDir(input).exists()) {
87 return Acceptable;
88 } else {
89 return Intermediate;
90 }
91 }
92 };
93 static PathValidator *pathValidator = new PathValidator;
94 return pathValidator;
95}
96
80void MaildirSettings::save() 97void MaildirSettings::save()
81{ 98{
99 if (!QDir(mPath).exists()) {
100 qWarning() << "The path doesn't exist: " << mPath;
101 return;
102 }
82 if (!mIdentifier.isEmpty()) { 103 if (!mIdentifier.isEmpty()) {
83 Sink::ApplicationDomain::SinkResource resource(mIdentifier); 104 Sink::ApplicationDomain::SinkResource resource(mIdentifier);
84 resource.setProperty("path", mPath); 105 resource.setProperty("path", mPath);