23 #include "logdirectorypicker.h"
24 #include "ui_logdirectorypicker.h"
26 #include "configuration/doomseekerconfig.h"
29 #include <QFileDialog>
31 DClass<LogDirectoryPicker> :
public Ui::LogDirectoryPicker
45 d->loggingEnabled = gConfig.doomseeker.bLogCreatedServer;
46 d->dialogDir = gConfig.doomseeker.previousCreateServerLogDir;
48 d->cbLoggingEnabled->setChecked(d->loggingEnabled);
49 setPathAndUpdate(d->dialogDir);
52 LogDirectoryPicker::~LogDirectoryPicker()
56 void LogDirectoryPicker::cbLoggingEnabledChecked(
bool isChecked)
58 d->loggingEnabled = isChecked;
59 gConfig.doomseeker.bLogCreatedServer = d->loggingEnabled;
62 void LogDirectoryPicker::textEdited()
64 d->dialogDir = d->pathTextBox->text();
65 updateLoggingStatus(d->dialogDir);
68 void LogDirectoryPicker::browse()
70 QString strPath = QFileDialog::getExistingDirectory(
this,
71 tr(
"Doomseeker - select Log path"), d->dialogDir);
72 if (!strPath.isEmpty())
76 void LogDirectoryPicker::updateLoggingStatus(
const QString &path)
80 bool exists = QDir(path).exists();
81 d->pathNotFound->setVisible(!exists);
82 d->cbLoggingEnabled->setEnabled(exists);
84 setLoggingEnabled(
false);
88 d->pathNotFound->hide();
89 d->cbLoggingEnabled->setEnabled(
true);
91 gConfig.doomseeker.previousCreateServerLogDir = d->dialogDir;
97 d->pathTextBox->setText(path);
98 updateLoggingStatus(path);
101 void LogDirectoryPicker::setLoggingEnabled(
const bool &enabled)
103 d->loggingEnabled = enabled;
104 gConfig.doomseeker.bLogCreatedServer = d->loggingEnabled;
105 d->cbLoggingEnabled->setChecked(d->loggingEnabled);
108 const bool &LogDirectoryPicker::isLoggingEnabled()
const
110 return d->loggingEnabled;
113 const QString &LogDirectoryPicker::currentPath()
const
120 if (!d->loggingEnabled || !QDir(d->dialogDir).exists())
123 return QDir(d->dialogDir).absolutePath();