summaryrefslogtreecommitdiffstats
path: root/kcontrol/kio/kproxydlg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kcontrol/kio/kproxydlg.cpp')
-rw-r--r--kcontrol/kio/kproxydlg.cpp375
1 files changed, 0 insertions, 375 deletions
diff --git a/kcontrol/kio/kproxydlg.cpp b/kcontrol/kio/kproxydlg.cpp
deleted file mode 100644
index f3cb65bff..000000000
--- a/kcontrol/kio/kproxydlg.cpp
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- kproxydlg.cpp - Proxy configuration dialog
-
- Copyright (C) 2001- Dawit Alemayehu <adawit@kde.org>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License (GPL) version 2 as published by the Free Software
- Foundation.
-
- This library 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqregexp.h>
-#include <tqcheckbox.h>
-#include <tqwhatsthis.h>
-#include <tqbuttongroup.h>
-#include <tqradiobutton.h>
-#include <tqtabwidget.h>
-
-#include <klocale.h>
-#include <klineedit.h>
-#include <kmessagebox.h>
-
-#include "ksaveioconfig.h"
-#include "kenvvarproxydlg.h"
-#include "kmanualproxydlg.h"
-
-#include "socks.h"
-#include "kproxydlg.h"
-#include "kproxydlg_ui.h"
-
-KProxyOptions::KProxyOptions (TQWidget* parent )
- :TDECModule (parent, "kcmkio")
-{
- TQVBoxLayout *layout = new TQVBoxLayout(this);
-
- mTab = new TQTabWidget(this);
- layout->addWidget(mTab);
-
- mProxy = new KProxyDialog(mTab);
- mSocks = new KSocksConfig(mTab);
-
- mTab->addTab(mProxy, i18n("&Proxy"));
- mTab->addTab(mSocks, i18n("&SOCKS"));
-
- connect(mProxy, TQT_SIGNAL(changed(bool)), TQT_SIGNAL(changed(bool)));
- connect(mSocks, TQT_SIGNAL(changed(bool)), TQT_SIGNAL(changed(bool)));
- connect(mTab, TQT_SIGNAL(currentChanged(TQWidget *)), TQT_SIGNAL(quickHelpChanged()));
-}
-
-KProxyOptions::~KProxyOptions()
-{
-}
-
-void KProxyOptions::load()
-{
- mProxy->load();
- mSocks->load();
-}
-
-void KProxyOptions::save()
-{
- mProxy->save();
- mSocks->save();
-}
-
-void KProxyOptions::defaults()
-{
- mProxy->defaults();
- mSocks->defaults();
-}
-
-TQString KProxyOptions::quickHelp() const
-{
- TQWidget *w = mTab->currentPage();
-
- if (w && w->inherits("TDECModule"))
- {
- TDECModule *m = static_cast<TDECModule *>(w);
- return m->quickHelp();
- }
-
- return TQString::null;
-}
-
-
-KProxyDialog::KProxyDialog( TQWidget* parent)
- :TDECModule( parent, "kcmkio" )
-{
- TQVBoxLayout* mainLayout = new TQVBoxLayout( this, KDialog::marginHint(),
- KDialog::spacingHint() );
-
- mDlg = new KProxyDialogUI( this );
- mainLayout->addWidget( mDlg );
- mainLayout->addStretch();
-
- // signals and slots connections
- connect( mDlg->rbNoProxy, TQT_SIGNAL( toggled(bool) ),
- TQT_SLOT( slotUseProxyChanged() ) );
-
- connect( mDlg->rbAutoDiscover, TQT_SIGNAL( toggled(bool) ),
- TQT_SLOT( slotChanged() ) );
- connect( mDlg->rbAutoScript, TQT_SIGNAL( toggled(bool) ),
- TQT_SLOT( slotChanged() ) );
-
- connect( mDlg->rbPrompt, TQT_SIGNAL( toggled(bool) ),
- TQT_SLOT( slotChanged() ) );
- connect( mDlg->rbPresetLogin, TQT_SIGNAL( toggled(bool) ),
- TQT_SLOT( slotChanged() ) );
-
- connect( mDlg->cbPersConn, TQT_SIGNAL( toggled(bool) ),
- TQT_SLOT( slotChanged() ) );
-
- connect( mDlg->location, TQT_SIGNAL( textChanged(const TQString&) ),
- TQT_SLOT( slotChanged() ) );
-
- connect( mDlg->pbEnvSetup, TQT_SIGNAL( clicked() ), TQT_SLOT( setupEnvProxy() ) );
- connect( mDlg->pbManSetup, TQT_SIGNAL( clicked() ), TQT_SLOT( setupManProxy() ) );
-
- load();
-}
-
-KProxyDialog::~KProxyDialog()
-{
- delete mData;
- mData = 0;
-}
-
-void KProxyDialog::load()
-{
- mDefaultData = false;
- mData = new KProxyData;
-
- KProtocolManager proto;
- bool useProxy = proto.useProxy();
- mData->type = proto.proxyType();
- mData->proxyList["http"] = proto.proxyFor( "http" );
- mData->proxyList["https"] = proto.proxyFor( "https" );
- mData->proxyList["ftp"] = proto.proxyFor( "ftp" );
- mData->proxyList["script"] = proto.proxyConfigScript();
- mData->useReverseProxy = proto.useReverseProxy();
- mData->noProxyFor = TQStringList::split( TQRegExp("[',''\t'' ']"),
- proto.noProxyForRaw() );
-
- mDlg->gbAuth->setEnabled( useProxy );
- mDlg->gbOptions->setEnabled( useProxy );
-
- mDlg->cbPersConn->setChecked( proto.persistentProxyConnection() );
-
- if ( !mData->proxyList["script"].isEmpty() )
- mDlg->location->lineEdit()->setText( mData->proxyList["script"] );
-
- switch ( mData->type )
- {
- case KProtocolManager::WPADProxy:
- mDlg->rbAutoDiscover->setChecked( true );
- break;
- case KProtocolManager::PACProxy:
- mDlg->rbAutoScript->setChecked( true );
- break;
- case KProtocolManager::ManualProxy:
- mDlg->rbManual->setChecked( true );
- break;
- case KProtocolManager::EnvVarProxy:
- mDlg->rbEnvVar->setChecked( true );
- break;
- case KProtocolManager::NoProxy:
- default:
- mDlg->rbNoProxy->setChecked( true );
- break;
- }
-
- switch( proto.proxyAuthMode() )
- {
- case KProtocolManager::Prompt:
- mDlg->rbPrompt->setChecked( true );
- break;
- case KProtocolManager::Automatic:
- mDlg->rbPresetLogin->setChecked( true );
- default:
- break;
- }
-}
-
-void KProxyDialog::save()
-{
- bool updateProxyScout = false;
-
- if (mDefaultData)
- mData->reset ();
-
- if ( mDlg->rbNoProxy->isChecked() )
- {
- KSaveIOConfig::setProxyType( KProtocolManager::NoProxy );
- }
- else
- {
- if ( mDlg->rbAutoDiscover->isChecked() )
- {
- KSaveIOConfig::setProxyType( KProtocolManager::WPADProxy );
- updateProxyScout = true;
- }
- else if ( mDlg->rbAutoScript->isChecked() )
- {
- KURL u( mDlg->location->lineEdit()->text() );
-
- if ( !u.isValid() )
- {
- showInvalidMessage( i18n("The address of the automatic proxy "
- "configuration script is invalid. Please "
- "correct this problem before proceeding. "
- "Otherwise, your changes you will be "
- "ignored.") );
- return;
- }
- else
- {
- KSaveIOConfig::setProxyType( KProtocolManager::PACProxy );
- mData->proxyList["script"] = u.url();
- updateProxyScout = true;
- }
- }
- else if ( mDlg->rbManual->isChecked() )
- {
- if ( mData->type != KProtocolManager::ManualProxy )
- {
- // Let's try a bit harder to determine if the previous
- // proxy setting was indeed a manual proxy
- KURL u ( mData->proxyList["http"] );
- bool validProxy = (u.isValid() && u.port() != 0);
- u= mData->proxyList["https"];
- validProxy |= (u.isValid() && u.port() != 0);
- u= mData->proxyList["ftp"];
- validProxy |= (u.isValid() && u.port() != 0);
-
- if (!validProxy)
- {
- showInvalidMessage();
- return;
- }
-
- mData->type = KProtocolManager::ManualProxy;
- }
-
- KSaveIOConfig::setProxyType( KProtocolManager::ManualProxy );
- }
- else if ( mDlg->rbEnvVar->isChecked() )
- {
- if ( mData->type != KProtocolManager::EnvVarProxy )
- {
- showInvalidMessage();
- return;
- }
-
- KSaveIOConfig::setProxyType( KProtocolManager::EnvVarProxy );
- }
-
- if ( mDlg->rbPrompt->isChecked() )
- KSaveIOConfig::setProxyAuthMode( KProtocolManager::Prompt );
- else if ( mDlg->rbPresetLogin->isChecked() )
- KSaveIOConfig::setProxyAuthMode( KProtocolManager::Automatic );
- }
-
- KSaveIOConfig::setPersistentProxyConnection( mDlg->cbPersConn->isChecked() );
-
- // Save the common proxy setting...
- KSaveIOConfig::setProxyFor( "ftp", mData->proxyList["ftp"] );
- KSaveIOConfig::setProxyFor( "http", mData->proxyList["http"] );
- KSaveIOConfig::setProxyFor( "https", mData->proxyList["https"] );
-
- KSaveIOConfig::setProxyConfigScript( mData->proxyList["script"] );
- KSaveIOConfig::setUseReverseProxy( mData->useReverseProxy );
- KSaveIOConfig::setNoProxyFor( mData->noProxyFor.join(",") );
-
-
- KSaveIOConfig::updateRunningIOSlaves (this);
- if ( updateProxyScout )
- KSaveIOConfig::updateProxyScout( this );
-
- emit changed( false );
-}
-
-void KProxyDialog::defaults()
-{
- mDefaultData = true;
- mDlg->rbNoProxy->setChecked( true );
- mDlg->location->lineEdit()->clear();
- mDlg->cbPersConn->setChecked( false );
- emit changed( true );
-}
-
-void KProxyDialog::setupManProxy()
-{
- KManualProxyDlg dlgManual( this );
-
- dlgManual.setProxyData( *mData );
-
- if ( dlgManual.exec() == TQDialog::Accepted )
- {
- *mData = dlgManual.data();
- mDlg->rbManual->setChecked(true);
- emit changed( true );
- }
-}
-
-void KProxyDialog::setupEnvProxy()
-{
- KEnvVarProxyDlg dlgEnv( this );
-
- dlgEnv.setProxyData( *mData );
-
- if ( dlgEnv.exec() == TQDialog::Accepted )
- {
- *mData = dlgEnv.data();
- mDlg->rbEnvVar->setChecked(true);
- emit changed( true );
- }
-}
-
-void KProxyDialog::slotChanged()
-{
- mDefaultData = false;
- emit changed( true );
-}
-
-void KProxyDialog::slotUseProxyChanged()
-{
- mDefaultData = false;
- bool useProxy = !(mDlg->rbNoProxy->isChecked());
- mDlg->gbAuth->setEnabled(useProxy);
- mDlg->gbOptions->setEnabled(useProxy);
- emit changed( true );
-}
-
-TQString KProxyDialog::quickHelp() const
-{
- return i18n( "<h1>Proxy</h1>"
- "<p>A proxy server is an intermediate program that sits between "
- "your machine and the Internet and provides services such as "
- "web page caching and/or filtering.</p>"
- "<p>Caching proxy servers give you faster access to sites you have "
- "already visited by locally storing or caching the content of those "
- "pages; filtering proxy servers, on the other hand, provide the "
- "ability to block out requests for ads, spam, or anything else you "
- "want to block.</p>"
- "<p><u>Note:</u> Some proxy servers provide both services.</p>" );
-}
-
-void KProxyDialog::showInvalidMessage( const TQString& _msg )
-{
- TQString msg;
-
- if( !_msg.isEmpty() )
- msg = _msg;
- else
- msg = i18n( "<qt>The proxy settings you specified are invalid."
- "<p>Please click on the <b>Setup...</b> "
- "button and correct the problem before proceeding; "
- "otherwise your changes will be ignored.</qt>" );
-
- KMessageBox::error( this, msg, i18n("Invalid Proxy Setup") );
-}
-
-#include "kproxydlg.moc"