|
|
|
/***************************************************************************
|
|
|
|
* Copyright (C) 2005 by Joris Guisson *
|
|
|
|
* joris.guisson@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. *
|
|
|
|
***************************************************************************/
|
|
|
|
#include <klocale.h>
|
|
|
|
#include <kstandarddirs.h>
|
|
|
|
#include <kactivelabel.h>
|
|
|
|
#include <kglobal.h>
|
|
|
|
#include <kcombobox.h>
|
|
|
|
#include <layout.h>
|
|
|
|
#include <tqlabel.h>
|
|
|
|
#include <tqcheckbox.h>
|
|
|
|
#include <knuminput.h>
|
|
|
|
#include <kurlrequester.h>
|
|
|
|
#include <kurl.h>
|
|
|
|
#include <kfiledialog.h>
|
|
|
|
#include <kmessagebox.h>
|
|
|
|
#include <klineedit.h>
|
|
|
|
#include <tqlistview.h>
|
|
|
|
#include <torrent/globals.h>
|
|
|
|
#include <util/functions.h>
|
|
|
|
#include <kglobal.h>
|
|
|
|
#include <kiconloader.h>
|
|
|
|
#include <tqdir.h>
|
|
|
|
#include <tqslider.h>
|
|
|
|
#include <kresolver.h>
|
|
|
|
|
|
|
|
#include "downloadpref.h"
|
|
|
|
#include "generalpref.h"
|
|
|
|
#include "pref.h"
|
|
|
|
#include "downloadpref.h"
|
|
|
|
#include "advancedpref.h"
|
|
|
|
#include "settings.h"
|
|
|
|
#include "ktorrent.h"
|
|
|
|
|
|
|
|
|
|
|
|
using namespace bt;
|
|
|
|
|
|
|
|
using namespace KNetwork;
|
|
|
|
|
|
|
|
|
|
|
|
KTorrentPreferences::KTorrentPreferences(KTorrent & ktor)
|
|
|
|
: KDialogBase(IconList, i18n("Preferences"), Ok | Apply | Cancel, Ok), ktor(ktor)
|
|
|
|
{
|
|
|
|
validation_err = false;
|
|
|
|
enableButtonSeparator(true);
|
|
|
|
|
|
|
|
page_one = new DownloadPrefPage();
|
|
|
|
page_two = new GeneralPrefPage();
|
|
|
|
page_three = new AdvancedPrefPage();
|
|
|
|
addPrefPage(page_one);
|
|
|
|
addPrefPage(page_two);
|
|
|
|
addPrefPage(page_three);
|
|
|
|
}
|
|
|
|
|
|
|
|
KTorrentPreferences::~KTorrentPreferences()
|
|
|
|
{
|
|
|
|
delete page_one;
|
|
|
|
delete page_two;
|
|
|
|
delete page_three;
|
|
|
|
}
|
|
|
|
|
|
|
|
void KTorrentPreferences::slotOk()
|
|
|
|
{
|
|
|
|
slotApply();
|
|
|
|
|
|
|
|
if (!validation_err)
|
|
|
|
accept();
|
|
|
|
}
|
|
|
|
|
|
|
|
void KTorrentPreferences::slotApply()
|
|
|
|
{
|
|
|
|
validation_err = false;
|
|
|
|
TQMap<kt::PrefPageInterface*, TQFrame*>::iterator i = pages.begin();
|
|
|
|
|
|
|
|
while (i != pages.end())
|
|
|
|
{
|
|
|
|
kt::PrefPageInterface* p = i.key();
|
|
|
|
|
|
|
|
if (!p->apply())
|
|
|
|
{
|
|
|
|
validation_err = true;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
|
|
|
|
Settings::writeConfig();
|
|
|
|
|
|
|
|
ktor.applySettings(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
void KTorrentPreferences::updateData()
|
|
|
|
{
|
|
|
|
TQMap<kt::PrefPageInterface*, TQFrame*>::iterator i = pages.begin();
|
|
|
|
|
|
|
|
while (i != pages.end())
|
|
|
|
{
|
|
|
|
kt::PrefPageInterface* p = i.key();
|
|
|
|
p->updateData();
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void KTorrentPreferences::addPrefPage(kt::PrefPageInterface* prefInterface)
|
|
|
|
{
|
|
|
|
TQFrame* frame = addPage(prefInterface->getItemName(), prefInterface->getHeader(), prefInterface->getPixmap());
|
|
|
|
TQVBoxLayout* vbox = new TQVBoxLayout(frame);
|
|
|
|
vbox->setAutoAdd(true);
|
|
|
|
prefInterface->createWidget(frame);
|
|
|
|
|
|
|
|
pages.insert(prefInterface, frame);
|
|
|
|
}
|
|
|
|
|
|
|
|
void KTorrentPreferences::removePrefPage(kt::PrefPageInterface* pp)
|
|
|
|
{
|
|
|
|
if (!pages.contains(pp))
|
|
|
|
return;
|
|
|
|
|
|
|
|
TQFrame* fr = pages[pp];
|
|
|
|
|
|
|
|
pages.remove(pp);
|
|
|
|
|
|
|
|
pp->deleteWidget();
|
|
|
|
|
|
|
|
delete fr;
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
DownloadPrefPage::DownloadPrefPage() : kt::PrefPageInterface(i18n("Downloads"), i18n("Download Options"), KGlobal::iconLoader()->loadIcon("down", KIcon::NoGroup)), dp(0)
|
|
|
|
{}
|
|
|
|
|
|
|
|
DownloadPrefPage::~ DownloadPrefPage()
|
|
|
|
{
|
|
|
|
delete dp;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DownloadPrefPage::createWidget(TQWidget* parent)
|
|
|
|
{
|
|
|
|
dp = new DownloadPref(parent);
|
|
|
|
updateData();
|
|
|
|
}
|
|
|
|
|
|
|
|
bool DownloadPrefPage::apply()
|
|
|
|
{
|
|
|
|
Settings::setMaxDownloads(dp->max_downloads->value());
|
|
|
|
Settings::setMaxSeeds(dp->max_seeds->value());
|
|
|
|
Settings::setStartDownloadsOnLowDiskSpace(dp->cmbDiskSpace->currentItem());
|
|
|
|
Settings::setMaxConnections(dp->max_conns->value());
|
|
|
|
Settings::setMaxTotalConnections(dp->max_total_conns->value());
|
|
|
|
Settings::setMaxUploadRate(dp->max_upload_rate->value());
|
|
|
|
Settings::setMaxDownloadRate(dp->max_download_rate->value());
|
|
|
|
Settings::setMaxRatio(dp->num_max_ratio->value());
|
|
|
|
Settings::setKeepSeeding(dp->keep_seeding->isChecked());
|
|
|
|
Settings::setPort(dp->port->value());
|
|
|
|
Settings::setNumUploadSlots(dp->num_upload_slots->value());
|
|
|
|
Settings::setMinDiskSpace(dp->intMinDiskSpace->value());
|
|
|
|
Settings::setMaxSeedTime(dp->max_seed_time->value());
|
|
|
|
|
|
|
|
if (Settings::dhtSupport() && dp->udp_tracker_port->value() == Settings::dhtPort())
|
|
|
|
{
|
|
|
|
TQString msg = i18n("The DHT port needs to be different from the UDP tracker port!");
|
|
|
|
KMessageBox::error(0, msg, i18n("Error"));
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
Settings::setUdpTrackerPort(dp->udp_tracker_port->value());
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DownloadPrefPage::updateData()
|
|
|
|
{
|
|
|
|
//setMinimumSize(400,400);
|
|
|
|
dp->max_downloads->setValue(Settings::maxDownloads());
|
|
|
|
dp->max_seeds->setValue(Settings::maxSeeds());
|
|
|
|
dp->cmbDiskSpace->setCurrentItem(Settings::startDownloadsOnLowDiskSpace());
|
|
|
|
dp->max_conns->setValue(Settings::maxConnections());
|
|
|
|
dp->max_total_conns->setValue(Settings::maxTotalConnections());
|
|
|
|
dp->max_upload_rate->setValue(Settings::maxUploadRate());
|
|
|
|
dp->max_download_rate->setValue(Settings::maxDownloadRate());
|
|
|
|
dp->num_max_ratio->setValue(Settings::maxRatio());
|
|
|
|
dp->keep_seeding->setChecked(Settings::keepSeeding());
|
|
|
|
dp->udp_tracker_port->setValue(Settings::udpTrackerPort());
|
|
|
|
dp->port->setValue(Settings::port());
|
|
|
|
dp->num_upload_slots->setValue(Settings::numUploadSlots());
|
|
|
|
dp->intMinDiskSpace->setValue(Settings::minDiskSpace());
|
|
|
|
dp->max_seed_time->setValue(Settings::maxSeedTime());
|
|
|
|
}
|
|
|
|
|
|
|
|
void DownloadPrefPage::deleteWidget()
|
|
|
|
{
|
|
|
|
delete dp;
|
|
|
|
dp = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
|
GeneralPrefPage::GeneralPrefPage() :
|
|
|
|
kt::PrefPageInterface(i18n("General"), i18n("General Options"),
|
|
|
|
KGlobal::iconLoader()->loadIcon("package_settings", KIcon::NoGroup)), gp(0)
|
|
|
|
{}
|
|
|
|
|
|
|
|
GeneralPrefPage::~GeneralPrefPage()
|
|
|
|
{
|
|
|
|
delete gp;
|
|
|
|
}
|
|
|
|
|
|
|
|
void GeneralPrefPage::createWidget(TQWidget* parent)
|
|
|
|
{
|
|
|
|
gp = new GeneralPref(parent);
|
|
|
|
updateData();
|
|
|
|
connect(gp->custom_ip_check, TQT_SIGNAL(toggled(bool)),
|
|
|
|
this, TQT_SLOT(customIPChecked(bool)));
|
|
|
|
connect(gp->use_dht, TQT_SIGNAL(toggled(bool)),
|
|
|
|
this, TQT_SLOT(dhtChecked(bool)));
|
|
|
|
connect(gp->use_encryption, TQT_SIGNAL(toggled(bool)),
|
|
|
|
this, TQT_SLOT(useEncryptionChecked(bool)));
|
|
|
|
}
|
|
|
|
|
|
|
|
bool GeneralPrefPage::apply()
|
|
|
|
{
|
|
|
|
Settings::setShowSystemTrayIcon(gp->show_systray_icon->isChecked());
|
|
|
|
Settings::setShowSpeedBarInTrayIcon(gp->show_speedbar->isChecked());
|
|
|
|
Settings::setDownloadBandwidth(gp->downloadBandwidth->value());
|
|
|
|
Settings::setUploadBandwidth(gp->uploadBandwidth->value());
|
|
|
|
Settings::setShowPopups(gp->show_popups->isChecked());
|
|
|
|
TQString ourl = Settings::tempDir();
|
|
|
|
|
|
|
|
KURLRequester* u = gp->temp_dir;
|
|
|
|
|
|
|
|
if (ourl != u->url())
|
|
|
|
{
|
|
|
|
Settings::setTempDir(u->url());
|
|
|
|
}
|
|
|
|
|
|
|
|
Settings::setSaveDir(gp->autosave_location->url());
|
|
|
|
|
|
|
|
bool useSaveDir = gp->autosave_downloads_check->isChecked();
|
|
|
|
Settings::setUseSaveDir(useSaveDir);
|
|
|
|
|
|
|
|
//check completed dir
|
|
|
|
Settings::setCompletedDir(gp->urlCompletedDir->url());
|
|
|
|
|
|
|
|
bool useCompletedDir = gp->checkCompletedDir->isChecked();
|
|
|
|
Settings::setUseCompletedDir(useCompletedDir);
|
|
|
|
|
|
|
|
//.torrent copy dir
|
|
|
|
bool useTorrentCopyDir = gp->checkTorrentDir->isChecked();
|
|
|
|
Settings::setUseTorrentCopyDir(useTorrentCopyDir);
|
|
|
|
Settings::setTorrentCopyDir(gp->urlTorrentDir->url());
|
|
|
|
|
|
|
|
bool useExternalIP = gp->custom_ip_check->isChecked();
|
|
|
|
|
|
|
|
Settings::setUseExternalIP(useExternalIP);
|
|
|
|
TQString externalIP = gp->custom_ip->text();
|
|
|
|
Settings::setExternalIP(externalIP);
|
|
|
|
|
|
|
|
if (useExternalIP)
|
|
|
|
{
|
|
|
|
|
|
|
|
KResolverResults res = KResolver::resolve(externalIP, TQString());
|
|
|
|
|
|
|
|
if (res.error())
|
|
|
|
{
|
|
|
|
TQString err = KResolver::errorString(res.error());
|
|
|
|
TQString msg = i18n("Cannot lookup %1: %2\n"
|
|
|
|
"Please provide a valid IP address or hostname.").arg(externalIP).arg(err);
|
|
|
|
KMessageBox::error(0, msg, i18n("Error"));
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (gp->use_dht->isChecked() && gp->dht_port->value() == Settings::udpTrackerPort())
|
|
|
|
{
|
|
|
|
TQString msg = i18n("The DHT port needs to be different from the UDP tracker port!");
|
|
|
|
KMessageBox::error(0, msg, i18n("Error"));
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
Settings::setDhtSupport(gp->use_dht->isChecked());
|
|
|
|
|
|
|
|
Settings::setDhtPort(gp->dht_port->value());
|
|
|
|
Settings::setUseEncryption(gp->use_encryption->isChecked());
|
|
|
|
Settings::setAllowUnencryptedConnections(gp->allow_unencrypted->isChecked());
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
void GeneralPrefPage::useEncryptionChecked(bool on)
|
|
|
|
{
|
|
|
|
gp->allow_unencrypted->setEnabled(on);
|
|
|
|
}
|
|
|
|
|
|
|
|
void GeneralPrefPage::autosaveChecked(bool on)
|
|
|
|
{
|
|
|
|
gp->autosave_location->setEnabled(on);
|
|
|
|
}
|
|
|
|
|
|
|
|
void GeneralPrefPage::customIPChecked(bool on)
|
|
|
|
{
|
|
|
|
gp->custom_ip->setEnabled(on);
|
|
|
|
gp->custom_ip_label->setEnabled(on);
|
|
|
|
}
|
|
|
|
|
|
|
|
void GeneralPrefPage::dhtChecked(bool on)
|
|
|
|
{
|
|
|
|
gp->dht_port->setEnabled(on);
|
|
|
|
gp->dht_port_label->setEnabled(on);
|
|
|
|
}
|
|
|
|
|
|
|
|
void GeneralPrefPage::updateData()
|
|
|
|
{
|
|
|
|
gp->show_systray_icon->setChecked(Settings::showSystemTrayIcon());
|
|
|
|
gp->show_speedbar->setChecked(Settings::showSpeedBarInTrayIcon());
|
|
|
|
gp->downloadBandwidth->setValue(Settings::downloadBandwidth());
|
|
|
|
gp->uploadBandwidth->setValue(Settings::uploadBandwidth());
|
|
|
|
gp->show_popups->setChecked(Settings::showPopups());
|
|
|
|
KURLRequester* u = gp->temp_dir;
|
|
|
|
u->fileDialog()->setMode(KFile::Directory);
|
|
|
|
|
|
|
|
if (Settings::tempDir() == TQString())
|
|
|
|
{
|
|
|
|
TQString data_dir = KGlobal::dirs()->saveLocation("data", "ktorrent");
|
|
|
|
|
|
|
|
if (!data_dir.endsWith(bt::DirSeparator()))
|
|
|
|
data_dir += bt::DirSeparator();
|
|
|
|
|
|
|
|
u->setURL(data_dir);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
u->setURL(Settings::tempDir());
|
|
|
|
}
|
|
|
|
|
|
|
|
u = gp->autosave_location;
|
|
|
|
|
|
|
|
u->fileDialog()->setMode(KFile::Directory);
|
|
|
|
|
|
|
|
bool useSaveDir = Settings::useSaveDir();
|
|
|
|
TQString saveDir = Settings::saveDir();
|
|
|
|
|
|
|
|
gp->autosave_downloads_check->setChecked(useSaveDir);
|
|
|
|
u->setEnabled(useSaveDir);
|
|
|
|
|
|
|
|
u->setURL(!saveDir.isEmpty() ? saveDir : TQDir::homeDirPath());
|
|
|
|
|
|
|
|
|
|
|
|
//completed dir
|
|
|
|
u = gp->urlCompletedDir;
|
|
|
|
u->fileDialog()->setMode(KFile::Directory);
|
|
|
|
bool useCompletedDir = Settings::useCompletedDir();
|
|
|
|
TQString completedDir = Settings::completedDir();
|
|
|
|
gp->checkCompletedDir->setChecked(useCompletedDir);
|
|
|
|
u->setEnabled(useCompletedDir);
|
|
|
|
u->setURL(!completedDir.isEmpty() ? completedDir : TQDir::homeDirPath());
|
|
|
|
|
|
|
|
//copy .torrent dir
|
|
|
|
u = gp->urlTorrentDir;
|
|
|
|
u->fileDialog()->setMode(KFile::Directory);
|
|
|
|
bool useTorrentDir = Settings::useTorrentCopyDir();
|
|
|
|
TQString torrentDir = Settings::torrentCopyDir();
|
|
|
|
gp->checkTorrentDir->setChecked(useTorrentDir);
|
|
|
|
u->setEnabled(useTorrentDir);
|
|
|
|
u->setURL(!torrentDir.isEmpty() ? torrentDir : TQDir::homeDirPath());
|
|
|
|
|
|
|
|
|
|
|
|
gp->custom_ip->setText(Settings::externalIP());
|
|
|
|
|
|
|
|
bool useExternalIP = Settings::useExternalIP();
|
|
|
|
gp->custom_ip_check->setChecked(useExternalIP);
|
|
|
|
gp->custom_ip->setEnabled(useExternalIP);
|
|
|
|
gp->custom_ip_label->setEnabled(useExternalIP);
|
|
|
|
|
|
|
|
gp->use_dht->setChecked(Settings::dhtSupport());
|
|
|
|
gp->dht_port->setValue(Settings::dhtPort());
|
|
|
|
gp->dht_port->setEnabled(Settings::dhtSupport());
|
|
|
|
gp->dht_port_label->setEnabled(Settings::dhtSupport());
|
|
|
|
|
|
|
|
gp->use_encryption->setChecked(Settings::useEncryption());
|
|
|
|
gp->allow_unencrypted->setChecked(Settings::allowUnencryptedConnections());
|
|
|
|
gp->allow_unencrypted->setEnabled(Settings::useEncryption());
|
|
|
|
}
|
|
|
|
|
|
|
|
void GeneralPrefPage::deleteWidget()
|
|
|
|
{
|
|
|
|
delete gp;
|
|
|
|
gp = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/////////////////////////////////
|
|
|
|
|
|
|
|
AdvancedPrefPage::AdvancedPrefPage() :
|
|
|
|
kt::PrefPageInterface(i18n("Advanced"), i18n("Advanced Options"),
|
|
|
|
KGlobal::iconLoader()->loadIcon("package_settings", KIcon::NoGroup)), ap(0)
|
|
|
|
{}
|
|
|
|
|
|
|
|
AdvancedPrefPage::~AdvancedPrefPage()
|
|
|
|
{
|
|
|
|
delete ap;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool AdvancedPrefPage::apply()
|
|
|
|
{
|
|
|
|
Settings::setMemoryUsage(ap->mem_usage->currentItem());
|
|
|
|
Settings::setGuiUpdateInterval(ap->gui_interval->currentItem());
|
|
|
|
Settings::setDSCP(ap->dscp->value());
|
|
|
|
Settings::setAllwaysDoUploadDataCheck(!ap->no_recheck->isChecked());
|
|
|
|
Settings::setMaxSizeForUploadDataCheck(ap->recheck_size->value());
|
|
|
|
Settings::setAutoRecheck(ap->auto_recheck->isChecked());
|
|
|
|
Settings::setMaxCorruptedBeforeRecheck(ap->num_corrupted->value());
|
|
|
|
Settings::setDoNotUseKDEProxy(ap->do_not_use_kde_proxy->isChecked());
|
|
|
|
Settings::setHttpTrackerProxy(ap->http_proxy->text());
|
|
|
|
Settings::setEta(ap->eta->currentItem());
|
|
|
|
Settings::setFullDiskPrealloc(ap->full_prealloc->isChecked());
|
|
|
|
Settings::setFullDiskPreallocMethod(ap->full_prealloc_method->currentItem());
|
|
|
|
Settings::setCpuUsage(ap->cpu_usage->value());
|
|
|
|
Settings::setDiskPrealloc(!ap->prealloc_disabled->isChecked());
|
|
|
|
Settings::setMaxConnectingSockets(ap->max_con_setups->value());
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
void AdvancedPrefPage::updateData()
|
|
|
|
{
|
|
|
|
ap->mem_usage->setCurrentItem(Settings::memoryUsage());
|
|
|
|
ap->gui_interval->setCurrentItem(Settings::guiUpdateInterval());
|
|
|
|
ap->dscp->setValue(Settings::dSCP());
|
|
|
|
ap->no_recheck->setChecked(!Settings::allwaysDoUploadDataCheck());
|
|
|
|
ap->recheck_size->setEnabled(!Settings::allwaysDoUploadDataCheck());
|
|
|
|
ap->recheck_size->setValue(Settings::maxSizeForUploadDataCheck());
|
|
|
|
ap->auto_recheck->setChecked(Settings::autoRecheck());
|
|
|
|
ap->num_corrupted->setValue(Settings::maxCorruptedBeforeRecheck());
|
|
|
|
ap->num_corrupted->setEnabled(Settings::autoRecheck());
|
|
|
|
ap->do_not_use_kde_proxy->setChecked(Settings::doNotUseKDEProxy());
|
|
|
|
ap->http_proxy->setText(Settings::httpTrackerProxy());
|
|
|
|
ap->http_proxy->setEnabled(Settings::doNotUseKDEProxy());
|
|
|
|
ap->eta->setCurrentItem(Settings::eta());
|
|
|
|
ap->full_prealloc->setChecked(Settings::fullDiskPrealloc());
|
|
|
|
ap->full_prealloc_method->setCurrentItem(Settings::fullDiskPreallocMethod());
|
|
|
|
ap->cpu_usage->setValue(Settings::cpuUsage());
|
|
|
|
ap->prealloc_disabled->setChecked(!Settings::diskPrealloc());
|
|
|
|
ap->max_con_setups->setValue(Settings::maxConnectingSockets());
|
|
|
|
}
|
|
|
|
|
|
|
|
void AdvancedPrefPage::createWidget(TQWidget* parent)
|
|
|
|
{
|
|
|
|
ap = new AdvancedPref(parent);
|
|
|
|
updateData();
|
|
|
|
connect(ap->no_recheck, TQT_SIGNAL(toggled(bool)),
|
|
|
|
this, TQT_SLOT(noDataCheckChecked(bool)));
|
|
|
|
connect(ap->auto_recheck, TQT_SIGNAL(toggled(bool)),
|
|
|
|
this, TQT_SLOT(autoRecheckChecked(bool)));
|
|
|
|
connect(ap->do_not_use_kde_proxy, TQT_SIGNAL(toggled(bool)),
|
|
|
|
this, TQT_SLOT(doNotUseKDEProxyChecked(bool)));
|
|
|
|
connect(ap->prealloc_disabled,TQT_SIGNAL(toggled(bool)),
|
|
|
|
this,TQT_SLOT(preallocDisabledChecked(bool)));
|
|
|
|
|
|
|
|
preallocDisabledChecked(ap->prealloc_disabled->isChecked());
|
|
|
|
}
|
|
|
|
|
|
|
|
void AdvancedPrefPage::deleteWidget()
|
|
|
|
{
|
|
|
|
delete ap;
|
|
|
|
ap = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void AdvancedPrefPage::noDataCheckChecked(bool on)
|
|
|
|
{
|
|
|
|
ap->recheck_size->setEnabled(on);
|
|
|
|
}
|
|
|
|
|
|
|
|
void AdvancedPrefPage::autoRecheckChecked(bool on)
|
|
|
|
{
|
|
|
|
ap->num_corrupted->setEnabled(on);
|
|
|
|
}
|
|
|
|
|
|
|
|
void AdvancedPrefPage::doNotUseKDEProxyChecked(bool on)
|
|
|
|
{
|
|
|
|
ap->http_proxy->setEnabled(on);
|
|
|
|
}
|
|
|
|
|
|
|
|
void AdvancedPrefPage::preallocDisabledChecked(bool on)
|
|
|
|
{
|
|
|
|
ap->full_prealloc->setEnabled(!on);
|
|
|
|
if (!on && ap->full_prealloc->isChecked())
|
|
|
|
ap->full_prealloc_method->setEnabled(true);
|
|
|
|
else
|
|
|
|
ap->full_prealloc_method->setEnabled(false);
|
|
|
|
}
|
|
|
|
|
|
|
|
#include "pref.moc"
|