summaryrefslogtreecommitdiffstats
path: root/kcontrol/kio/kenvvarproxydlg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kcontrol/kio/kenvvarproxydlg.cpp')
-rw-r--r--kcontrol/kio/kenvvarproxydlg.cpp303
1 files changed, 0 insertions, 303 deletions
diff --git a/kcontrol/kio/kenvvarproxydlg.cpp b/kcontrol/kio/kenvvarproxydlg.cpp
deleted file mode 100644
index 22accb4e9..000000000
--- a/kcontrol/kio/kenvvarproxydlg.cpp
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- kenvvarproxydlg.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 <stdlib.h>
-
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqcheckbox.h>
-#include <tqwhatsthis.h>
-#include <tqpushbutton.h>
-
-#include <kdebug.h>
-#include <klocale.h>
-#include <klineedit.h>
-#include <kmessagebox.h>
-
-#include "envvarproxy_ui.h"
-#include "kenvvarproxydlg.h"
-
-
-#define ENV_FTP_PROXY "FTP_PROXY,ftp_proxy,FTPPROXY,ftpproxy,PROXY,proxy"
-#define ENV_HTTP_PROXY "HTTP_PROXY,http_proxy,HTTPPROXY,httpproxy,PROXY,proxy"
-#define ENV_HTTPS_PROXY "HTTPS_PROXY,https_proxy,HTTPSPROXY,httpsproxy,PROXY,proxy"
-#define NO_PROXY "NO_PROXY,no_proxy"
-
-
-static TQString getProxyEnv(const TQString& var)
-{
- return TQString::fromLocal8Bit(::getenv(var.local8Bit().data()));
-}
-
-static bool autoDetectProxySetting(const TQString& type, TQString& proxyEnv)
-{
- TQStringList list = TQStringList::split( ',', type);
- TQStringList::ConstIterator it = list.begin();
- TQStringList::ConstIterator end = list.end();
-
- for(; it != end; ++it)
- {
- if(!getProxyEnv(*it).isEmpty())
- {
- proxyEnv = *it;
- return true;
- }
- }
-
- return false;
-}
-
-KEnvVarProxyDlg::KEnvVarProxyDlg( TQWidget* parent, const char* name )
- :KProxyDialogBase( parent, name, true,
- i18n( "Variable Proxy Configuration" ) )
-{
- mDlg = new EnvVarProxyDlgUI( this );
- setMainWidget( mDlg );
- mDlg->leHttp->setMinimumWidth( mDlg->leHttp->fontMetrics().maxWidth() * 20 );
- init();
-}
-
-KEnvVarProxyDlg::~KEnvVarProxyDlg ()
-{
-}
-
-void KEnvVarProxyDlg::init()
-{
- m_bHasValidData = false;
-
- connect( mDlg->cbShowValue, TQT_SIGNAL( clicked() ), TQT_SLOT( showValuePressed() ) );
- connect( mDlg->pbVerify, TQT_SIGNAL( clicked() ), TQT_SLOT( verifyPressed() ) );
- connect( mDlg->pbDetect, TQT_SIGNAL( clicked() ), TQT_SLOT( autoDetectPressed() ) );
-}
-
-void KEnvVarProxyDlg::setProxyData( const KProxyData& data )
-{
- // Setup HTTP Proxy...
- if (!getProxyEnv(data.proxyList["http"]).isEmpty())
- mEnvVarsMap["http"] = data.proxyList["http"];
-
- // Setup HTTPS Proxy...
- if (!getProxyEnv(data.proxyList["https"]).isEmpty())
- mEnvVarsMap["https"] = data.proxyList["https"];
-
- // Setup FTP Proxy...
- if (!getProxyEnv(data.proxyList["ftp"]).isEmpty())
- mEnvVarsMap["ftp"] = data.proxyList["ftp"];
-
- // Setup NO Proxy For...
- TQString noProxyFor = data.noProxyFor.join("");
- if (!getProxyEnv(noProxyFor).isEmpty())
- mEnvVarsMap["noProxy"] = noProxyFor;
-
- mDlg->cbShowValue->setChecked( data.showEnvVarValue );
- showValue();
-}
-
-const KProxyData KEnvVarProxyDlg::data() const
-{
- KProxyData data;
-
- if (m_bHasValidData)
- {
- data.proxyList["http"] = mEnvVarsMap["http"];
- data.proxyList["https"] = mEnvVarsMap["https"];
- data.proxyList["ftp"] = mEnvVarsMap["ftp"];
- data.noProxyFor = mEnvVarsMap["noProxy"];
- data.type = KProtocolManager::EnvVarProxy;
- data.showEnvVarValue = mDlg->cbShowValue->isChecked();
- }
-
- return data;
-}
-
-
-void KEnvVarProxyDlg::verifyPressed()
-{
- if ( !validate() )
- {
- TQString msg = i18n("You must specify at least one valid proxy "
- "environment variable.");
-
- TQString details = i18n("<qt>Make sure you entered the actual environment "
- "variable name rather than its value. For "
- "example, if the environment variable is <br><b>"
- "HTTP_PROXY=http://localhost:3128</b><br> you need "
- "to enter <b>HTTP_PROXY</b> here instead of the "
- "actual value http://localhost:3128.</qt>");
-
- KMessageBox::detailedSorry( this, msg, details,
- i18n("Invalid Proxy Setup") );
- }
- else
- {
- KMessageBox::information( this, i18n("Successfully verified."),
- i18n("Proxy Setup") );
- }
-}
-
-void KEnvVarProxyDlg::autoDetectPressed()
-{
- bool found = false;
-
- setHighLight (mDlg->lbHttp, false);
- setHighLight (mDlg->lbHttps, false);
- setHighLight (mDlg->lbFtp, false);
- setHighLight (mDlg->lbNoProxy, false);
-
- // Detect HTTP proxy settings...
- found |= autoDetectProxySetting (TQString::fromLatin1(ENV_HTTP_PROXY), mEnvVarsMap["http"]);
-
- // Detect HTTPS proxy settings...
- found |= autoDetectProxySetting (TQString::fromLatin1(ENV_HTTPS_PROXY), mEnvVarsMap["https"]);
-
- // Detect FTP proxy settings...
- found |= autoDetectProxySetting (TQString::fromLatin1(ENV_FTP_PROXY), mEnvVarsMap["ftp"]);
-
- // Detect the NO_PROXY settings...
- found |= autoDetectProxySetting (TQString::fromLatin1(NO_PROXY), mEnvVarsMap["noProxy"]);
-
- if ( !found )
- {
- TQString msg = i18n("Did not detect any environment variables "
- "commonly used to set system wide proxy "
- "information.");
-
- TQString details = i18n("<qt>To learn about the variable names the "
- "automatic detection process searches for, "
- "press OK, click on the quick help button "
- "on the window title bar of the "
- "previous dialog and then click on the "
- "\"<b>Auto Detect</b>\" button.</qt>");
-
- KMessageBox::detailedSorry( this, msg, details,
- i18n("Automatic Proxy Variable Detection") );
- return;
- }
-
- showValue();
-}
-
-void KEnvVarProxyDlg::updateVariables()
-{
- TQString text = mDlg->leHttp->text();
- if (mEnvVarsMap["http"] != text)
- mEnvVarsMap["http"] = text;
-
- text = mDlg->leHttps->text();
- if (mEnvVarsMap["https"] != text)
- mEnvVarsMap["https"] = text;
-
- text = mDlg->leFtp->text();
- if (mEnvVarsMap["ftp"] != text)
- mEnvVarsMap["ftp"] = text;
-
- text = mDlg->leNoProxy->text();
- if (mEnvVarsMap["noProxy"] != text)
- mEnvVarsMap["noProxy"] = text;
-}
-
-void KEnvVarProxyDlg::showValuePressed()
-{
- // Only update the variables whenever
- if (mDlg->cbShowValue->isChecked())
- updateVariables();
-
- showValue();
-}
-
-void KEnvVarProxyDlg::showValue()
-{
- bool enable = mDlg->cbShowValue->isChecked();
-
- mDlg->leHttp->setReadOnly (enable);
- mDlg->leHttps->setReadOnly (enable);
- mDlg->leFtp->setReadOnly (enable);
- mDlg->leNoProxy->setReadOnly (enable);
-
- if (enable)
- {
- mDlg->leHttp->setText(getProxyEnv(mEnvVarsMap["http"]));
- mDlg->leHttps->setText(getProxyEnv(mEnvVarsMap["https"]));
- mDlg->leFtp->setText(getProxyEnv(mEnvVarsMap["ftp"]));
- mDlg->leNoProxy->setText(getProxyEnv(mEnvVarsMap["noProxy"]));
- }
- else
- {
- mDlg->leHttp->setText(mEnvVarsMap["http"]);
- mDlg->leHttps->setText(mEnvVarsMap["https"]);
- mDlg->leFtp->setText(mEnvVarsMap["ftp"]);
- mDlg->leNoProxy->setText(mEnvVarsMap["noProxy"]);
- }
-}
-
-bool KEnvVarProxyDlg::validate(bool erase)
-{
- m_bHasValidData = false;
-
- if(!mDlg->cbShowValue->isChecked())
- updateVariables();
-
- bool notFound = getProxyEnv(mEnvVarsMap["http"]).isEmpty();
- m_bHasValidData |= !notFound;
- setHighLight (mDlg->lbHttp, notFound);
- if(notFound && erase) mEnvVarsMap["http"] = TQString::null;
-
- notFound = getProxyEnv(mEnvVarsMap["https"]).isEmpty();
- m_bHasValidData |= !notFound;
- setHighLight (mDlg->lbHttps, notFound);
- if(notFound && erase) mEnvVarsMap["https"] = TQString::null;
-
- notFound = getProxyEnv(mEnvVarsMap["ftp"]).isEmpty();
- m_bHasValidData |= !notFound;
- setHighLight (mDlg->lbFtp, notFound);
- if(notFound && erase) mEnvVarsMap["ftp"] = TQString::null;
-
- notFound = getProxyEnv(mEnvVarsMap["noProxy"]).isEmpty();
- m_bHasValidData |= !notFound;
- setHighLight (mDlg->lbNoProxy, notFound);
- if(notFound && erase) mEnvVarsMap["noProxy"] = TQString::null;
-
- return m_bHasValidData;
-}
-
-void KEnvVarProxyDlg::slotOk()
-{
- if(!validate(true))
- {
- TQString msg = i18n("You must specify at least one valid proxy "
- "environment variable.");
-
- TQString details = i18n("<qt>Make sure you entered the actual environment "
- "variable name rather than its value. For "
- "example, if the environment variable is <br><b>"
- "HTTP_PROXY=http://localhost:3128</b><br> you need "
- "to enter <b>HTTP_PROXY</b> here instead of the "
- "actual value http://localhost:3128.</qt>");
-
- KMessageBox::detailedError( this, msg, details,
- i18n("Invalid Proxy Setup") );
- return;
- }
-
- KDialogBase::slotOk ();
-}
-
-#include "kenvvarproxydlg.moc"