1 /* 2 KApacheLog, a apache log viewer tool 3 SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com> 4 5 SPDX-License-Identifier: GPL-2.0-or-later 6 */ 7 8 #include "authenticationConfigurationWidget.h" 9 AuthenticationConfigurationWidget()10AuthenticationConfigurationWidget::AuthenticationConfigurationWidget() 11 : LogModeConfigurationWidget(i18n("Authentication Log"), QStringLiteral(AUTHENTICATION_MODE_ICON), i18n("Authentication Log")) 12 { 13 auto layout = new QVBoxLayout(this); 14 15 mWarningBox = new KMessageWidget(this); 16 mWarningBox->setVisible(false); 17 mWarningBox->setMessageType(KMessageWidget::Warning); 18 mWarningBox->setText(i18n("Log file does not exist. Mode will be unavailable.")); 19 mWarningBox->setCloseButtonVisible(false); 20 mWarningBox->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); 21 22 // Authentication log file 23 auto authenticationBox = new QGroupBox(i18n("Authentication Log File")); 24 auto authenticationLayout = new QVBoxLayout(); 25 auto filePathLayout = new QHBoxLayout(); 26 authenticationBox->setLayout(authenticationLayout); 27 28 authenticationLayout->addWidget(mWarningBox); 29 authenticationLayout->addLayout(filePathLayout); 30 31 layout->addWidget(authenticationBox); 32 33 filePathLayout->addWidget(new QLabel(i18n("Authentication log file:"))); 34 35 mAuthenticationUrlRequester = new KUrlRequester(authenticationBox); 36 mAuthenticationUrlRequester->setMode(KFile::File); 37 38 mAuthenticationUrlRequester->setToolTip(i18n("You can type or choose the authentication log file (example: <i>/var/log/auth.log</i>).")); 39 mAuthenticationUrlRequester->setWhatsThis( 40 i18n("You can type or choose here the authentication log file. This file will be analyzed when you " 41 "select the <b>Authentication log</b> menu. Generally, its name is <i>/var/log/auth.log</i>")); 42 filePathLayout->addWidget(mAuthenticationUrlRequester); 43 44 connect(mAuthenticationUrlRequester, &KUrlRequester::textChanged, this, &LogModeConfigurationWidget::configurationChanged); 45 46 layout->addStretch(); 47 } 48 saveConfig()49void AuthenticationConfigurationWidget::saveConfig() 50 { 51 auto *authenticationConfiguration = 52 Globals::instance().findLogMode(QStringLiteral(AUTHENTICATION_LOG_MODE_ID))->logModeConfiguration<AuthenticationConfiguration *>(); 53 54 authenticationConfiguration->setAuthenticationPath(mAuthenticationUrlRequester->url().toLocalFile()); 55 } 56 readConfig()57void AuthenticationConfigurationWidget::readConfig() 58 { 59 auto *authenticationConfiguration = 60 Globals::instance().findLogMode(QStringLiteral(AUTHENTICATION_LOG_MODE_ID))->logModeConfiguration<AuthenticationConfiguration *>(); 61 62 const QString path = authenticationConfiguration->authenticationPath(); 63 const QFileInfo fileInfo(path); 64 mWarningBox->setVisible(!fileInfo.exists()); 65 66 mAuthenticationUrlRequester->setUrl(QUrl::fromLocalFile(path)); 67 } 68 defaultConfig()69void AuthenticationConfigurationWidget::defaultConfig() 70 { 71 // TODO Find a way to read the configuration per default 72 readConfig(); 73 } 74 isValid() const75bool AuthenticationConfigurationWidget::isValid() const 76 { 77 if (!mAuthenticationUrlRequester->url().toLocalFile().isEmpty()) { 78 return true; 79 } 80 81 return false; 82 } 83