diff options
Diffstat (limited to 'ksystemlog/src/samba/sambaOptions.cpp')
-rw-r--r-- | ksystemlog/src/samba/sambaOptions.cpp | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/ksystemlog/src/samba/sambaOptions.cpp b/ksystemlog/src/samba/sambaOptions.cpp new file mode 100644 index 0000000..5e56fda --- /dev/null +++ b/ksystemlog/src/samba/sambaOptions.cpp @@ -0,0 +1,104 @@ +/*************************************************************************** + * Copyright (C) 2005 by Nicolas Ternisien * + * nicolas.ternisien@gmail.com * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +//Qt includes +#include <qlayout.h> +#include <qvgroupbox.h> +#include <qbuttongroup.h> +#include <qlabel.h> +#include <qpushbutton.h> +#include <qvbox.h> +#include <qhbox.h> + +//KDE includes +#include <klocale.h> +#include <kactioncollection.h> +#include <kbuttonbox.h> +#include <klistbox.h> +#include <kfiledialog.h> +#include <kurl.h> +#include <kmessagebox.h> +#include <kiconloader.h> +#include <kdebug.h> + +//Project includes +#include "sambaOptions.h" +#include "ksystemlogConfig.h" + +SambaOptions::SambaOptions(QWidget *parent) : + QWidget(parent) + { + + QHBoxLayout *layout = new QHBoxLayout(this); + layout->setAutoAdd(true); + + QString description= i18n("<qt><p>These files will be analyzed to display <b>Samba log</b>. This list also determines the order in which the files are read.</p></qt>"); + fileList=new FileList(this, description); + + connect(fileList, SIGNAL(fileListChanged(int)), this, SLOT(slotFileListChanged(int))); + + readConfig(); + + +} + +SambaOptions::~SambaOptions() { + +} + +bool SambaOptions::isValid() { + if (fileList->count()>0) + return(true); + else + return(false); +} + +void SambaOptions::slotFileListChanged(int itemLeft) { + if (itemLeft==0) + emit optionsChanged(false); + else + emit optionsChanged(true); +} + +void SambaOptions::saveConfig() { + kdDebug() << "Save config from SambaOptions" << endl; + + QStringList list; + + int count=fileList->count(); + + for (int i=0; i<count; i++) { + list.push_back(fileList->getText(i)); + } + + KSystemLogConfig::setSambaPaths(list); +} + +void SambaOptions::readConfig() { + QStringList files(KSystemLogConfig::sambaPaths()); + + QStringList::iterator it; + for(it=files.begin(); it!=files.end(); ++it) { + fileList->insertItem(*it); + } + +} + +#include "sambaOptions.moc" |