23 #include "cfgchatlogspage.h"
24 #include "ui_cfgchatlogspage.h"
26 #include "irc/configuration/chatlogscfg.h"
27 #include <QDesktopServices>
28 #include <QFileDialog>
30 #include <QMessageBox>
33 DClass<CfgChatLogsPage> :
public Ui::CfgChatLogsPage
46 CfgChatLogsPage::~CfgChatLogsPage()
50 void CfgChatLogsPage::browseStorageDirectory()
52 QString path = QFileDialog::getExistingDirectory(
this,
53 tr(
"Browse chat logs storage directory"), d->leDir->text());
56 d->leDir->setText(path);
60 bool CfgChatLogsPage::checkDir(
const QString &directory)
62 if (directory.trimmed().isEmpty())
64 QMessageBox::critical(
this, tr(
"Directory error"), tr(
"Directory not specified."));
68 QFileInfo dir(directory);
71 QMessageBox::critical(
this, tr(
"Directory error"), tr(
"Directory doesn't exist."));
76 QMessageBox::critical(
this, tr(
"Directory error"), tr(
"Specified path isn't a directory."));
82 void CfgChatLogsPage::exploreStorageDirectory()
84 if (checkDir(d->leDir->text()))
86 QString path = QDir::toNativeSeparators(d->leDir->text());
87 QDesktopServices::openUrl(QString(
"file:///%1").arg(path));
94 d->leDir->setText(cfg.chatLogsRootDir());
95 d->cbStoreLogs->setChecked(cfg.isStoreLogs());
96 d->cbRestoreLogs->setChecked(cfg.isRestoreChatFromLogs());
97 d->groupRemoveOldArchives->setChecked(cfg.isRemoveOldLogs());
98 d->spinLogRemovalAge->setValue(cfg.oldLogsRemovalDaysThreshold());
104 cfg.setChatLogsRootDir(d->leDir->text());
105 cfg.setStoreLogs(d->cbStoreLogs->isChecked());
106 cfg.setRestoreChatFromLogs(d->cbRestoreLogs->isChecked());
107 cfg.setRemoveOldLogs(d->groupRemoveOldArchives->isChecked());
108 cfg.setOldLogsRemovalDaysThreshold(d->spinLogRemovalAge->value());
void readSettings()
Reimplement this to read settings from config into widgets.
void saveSettings()
Reimplement this to write settings to config from widgets.
Base class for configuration pages.