File indexing completed on 2024-12-01 07:38:56
0001 /* This file is part of the KDE project 0002 0003 Copyright (C) 2008 Lukas Appelhans <l.appelhans@gmx.de> 0004 Copyright (C) 2009 Matthias Fuchs <mat69@gmx.net> 0005 0006 This program is free software; you can redistribute it and/or 0007 modify it under the terms of the GNU General Public 0008 License as published by the Free Software Foundation; either 0009 version 2 of the License, or (at your option) any later version. 0010 */ 0011 #include "groupsettingsdialog.h" 0012 0013 #include "core/transfergrouphandler.h" 0014 0015 GroupSettingsDialog::GroupSettingsDialog(QWidget *parent, TransferGroupHandler *group) 0016 : KGetSaveSizeDialog("GroupSettingsDialog", parent) 0017 , m_group(group) 0018 { 0019 setWindowTitle(i18n("Group Settings for %1", group->name())); 0020 0021 ui.setupUi(this); 0022 0023 ui.downloadBox->setValue(group->downloadLimit(Transfer::VisibleSpeedLimit)); 0024 ui.uploadBox->setValue(group->uploadLimit(Transfer::VisibleSpeedLimit)); 0025 0026 ui.defaultFolderRequester->setMode(KFile::Directory); 0027 QString path = group->defaultFolder(); 0028 ui.defaultFolderRequester->setUrl(QUrl::fromLocalFile(path)); 0029 ui.defaultFolderRequester->setStartDir(QUrl(KGet::generalDestDir(true))); 0030 0031 ui.regExpEdit->setText(group->regExp().pattern()); 0032 0033 ui.nepomukWidget->hide(); 0034 0035 connect(ui.buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); 0036 connect(ui.buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); 0037 connect(this, &GroupSettingsDialog::accepted, this, &GroupSettingsDialog::save); 0038 } 0039 0040 GroupSettingsDialog::~GroupSettingsDialog() 0041 { 0042 } 0043 0044 QSize GroupSettingsDialog::sizeHint() const 0045 { 0046 QSize sh = QDialog::sizeHint(); 0047 sh.setWidth(sh.width() * 1.4); 0048 return sh; 0049 } 0050 0051 void GroupSettingsDialog::save() 0052 { 0053 // check needed, otherwise "/" would be added as folder if the line was empty! 0054 if (ui.defaultFolderRequester->text().isEmpty()) { 0055 m_group->setDefaultFolder(QString()); 0056 } else { 0057 m_group->setDefaultFolder(ui.defaultFolderRequester->url().toLocalFile()); 0058 } 0059 0060 m_group->setDownloadLimit(ui.downloadBox->value(), Transfer::VisibleSpeedLimit); 0061 m_group->setUploadLimit(ui.uploadBox->value(), Transfer::VisibleSpeedLimit); 0062 0063 QRegularExpression regExp; 0064 regExp.setPattern(ui.regExpEdit->text()); 0065 m_group->setRegExp(regExp); 0066 } 0067 0068 #include "moc_groupsettingsdialog.cpp"