diff options
Diffstat (limited to 'kcontrol/kio/kenvvarproxydlg.cpp')
-rw-r--r-- | kcontrol/kio/kenvvarproxydlg.cpp | 303 |
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" |