File indexing completed on 2024-05-12 05:48:40

0001 /*
0002     KApacheLog, a apache log viewer tool
0003     SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #include "sambaConfigurationWidget.h"
0009 
0010 SambaConfigurationWidget::SambaConfigurationWidget()
0011     : LogModeConfigurationWidget(i18n("Samba Log"), QStringLiteral(SAMBA_MODE_ICON), i18n("Samba Log"))
0012 {
0013     auto layout = new QHBoxLayout(this);
0014 
0015     mSambaFileList = new MultipleFileList(this,
0016                                           i18n("<p>These files will be analyzed to show <b>Samba log</b>, "
0017                                                "<b>Samba Access log</b> and <b>Netbios log</b>.</p>"));
0018 
0019     mSambaPathsId = mSambaFileList->addCategory(i18n("Samba Log Files"), i18n("Add Samba File..."));
0020     mSambaAccessPathsId = mSambaFileList->addCategory(i18n("Samba Access Log Files"), i18n("Add Samba Access File..."));
0021     mNetbiosPathsId = mSambaFileList->addCategory(i18n("Netbios Log Files"), i18n("Add Netbios File..."));
0022 
0023     connect(mSambaFileList, &MultipleFileList::fileListChanged, this, &LogModeConfigurationWidget::configurationChanged);
0024 
0025     layout->addWidget(mSambaFileList);
0026 }
0027 
0028 void SambaConfigurationWidget::saveConfig()
0029 {
0030     qCDebug(KSYSTEMLOG) << "Saving config from Samba Options...";
0031 
0032     auto *sambaConfiguration = Globals::instance().findLogMode(QStringLiteral(SAMBA_LOG_MODE_ID))->logModeConfiguration<SambaConfiguration *>();
0033     sambaConfiguration->setSambaPaths(mSambaFileList->paths(mSambaPathsId));
0034     sambaConfiguration->setSambaAccessPaths(mSambaFileList->paths(mSambaAccessPathsId));
0035     sambaConfiguration->setNetbiosPaths(mSambaFileList->paths(mNetbiosPathsId));
0036 }
0037 
0038 void SambaConfigurationWidget::defaultConfig()
0039 {
0040     // TODO Find a way to read the configuration per default
0041     readConfig();
0042 }
0043 
0044 void SambaConfigurationWidget::readConfig()
0045 {
0046     auto *sambaConfiguration = Globals::instance().findLogMode(QStringLiteral(SAMBA_LOG_MODE_ID))->logModeConfiguration<SambaConfiguration *>();
0047 
0048     mSambaFileList->removeAllItems();
0049 
0050     mSambaFileList->addPaths(mSambaPathsId, sambaConfiguration->sambaPaths());
0051     mSambaFileList->addPaths(mSambaAccessPathsId, sambaConfiguration->sambaAccessPaths());
0052     mSambaFileList->addPaths(mNetbiosPathsId, sambaConfiguration->netbiosPaths());
0053 }
0054 
0055 bool SambaConfigurationWidget::isValid() const
0056 {
0057     if (mSambaFileList->isOneOfCategoryEmpty()) {
0058         qCDebug(KSYSTEMLOG) << "Samba configuration not valid";
0059         return false;
0060     }
0061 
0062     qCDebug(KSYSTEMLOG) << "Samba configuration valid";
0063     return true;
0064 }
0065 
0066 #include "moc_sambaConfigurationWidget.cpp"