1 /* This file is part of the KDE project
3 Copyright (C) 2008 Lukas Appelhans <l.appelhans@gmx.de>
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
10 #include "groupsettingsdialog.h"
12 #include "core/transfergrouphandler.h"
14 GroupSettingsDialog::GroupSettingsDialog(QWidget
*parent
, TransferGroupHandler
*group
)
18 setCaption(i18n("Group-Settings for %1", group
->name()));
19 showButtonSeparator(true);
20 QWidget
*widget
= new QWidget(this);
21 Ui::GroupSettingsDialog ui
;
23 setMainWidget(widget
);
24 m_downloadBox
= ui
.downloadBox
;
25 m_downloadBox
->setValue(group
->downloadLimit(Transfer::VisibleSpeedLimit
));
26 m_uploadBox
= ui
.uploadBox
;
27 m_uploadBox
->setValue(group
->uploadLimit(Transfer::VisibleSpeedLimit
));
28 m_downloadCheck
= ui
.downloadCheck
;
29 if (m_downloadBox
->value() != 0)
30 m_downloadCheck
->setChecked(true);
31 m_uploadCheck
= ui
.uploadCheck
;
32 if (m_uploadBox
->value() != 0)
33 m_uploadCheck
->setChecked(true);
34 m_defaultFolderRequester
= ui
.defaultFolderRequester
;
35 m_defaultFolderRequester
->setMode(KFile::Directory
);
36 m_defaultFolderRequester
->setPath(group
->defaultFolder());
37 connect(this, SIGNAL(accepted()), SLOT(save()));
40 GroupSettingsDialog::~GroupSettingsDialog()
44 void GroupSettingsDialog::save()
46 m_group
->setDefaultFolder(m_defaultFolderRequester
->url().path());
48 if (m_downloadCheck
->isChecked())
49 m_group
->setDownloadLimit(m_downloadBox
->value(), Transfer::VisibleSpeedLimit
);
51 m_group
->setDownloadLimit(0, Transfer::VisibleSpeedLimit
);
53 if (m_uploadCheck
->isChecked())
54 m_group
->setUploadLimit(m_uploadBox
->value(), Transfer::VisibleSpeedLimit
);
56 m_group
->setUploadLimit(0, Transfer::VisibleSpeedLimit
);
59 #include "groupsettingsdialog.moc"