Source Code (Use browser search to find items of interest.)
Class Index
kcontrol'KProxyOptions (./kdebase/kcontrol/kio/kproxydlg.h:23)
class KProxyOptions : public KCModule
{
Q_OBJECT
public:
KProxyOptions(QWidget *parent = 0L, const char *name = 0L);
~KProxyOptions();
virtual void load();
virtual void save();
virtual void defaults();
private:
// a little information for the user
QLabel *lb_info;
// ftp proxy fields
QLabel *lb_ftp_url; // label ftp url
QLineEdit *le_ftp_url; // lineedit ftp url
QLabel *lb_ftp_port; // and so on :)
QLineEdit *le_ftp_port;
// http proxy fields
QLabel *lb_http_url;
QLineEdit *le_http_url;
QLabel *lb_http_port;
QLineEdit *le_http_port;
// "no proxy for" fields
QLabel *lb_no_prx;
QLineEdit *le_no_prx;
// Maximum Cache Size
QLabel *lb_max_cache_size;
QLineEdit *le_max_cache_size;
// Maximum Cache Age
QLabel *lb_max_cache_age;
QLineEdit *le_max_cache_age;
// copy down butto
QPushButton *cp_down;
// use proxy checker
QCheckBox *cb_useProxy;
// use cache checker
QCheckBox *cb_useCache;
void setProxy();
void setCache();
void readOptions();
private slots:
void changed();
public slots:
void copyDown(); // use the http setting for all services
void changeProxy();
void changeCache();
void updateGUI(QString httpProxy, QString ftpProxy, bool bUseProxy,
QString noProxyFor);
};
kcontrol'KProxyOptions::KProxyOptions() (./kdebase/kcontrol/kio/kproxydlg.cpp:25)
KProxyOptions::KProxyOptions(QWidget *parent, const char *name)
: KCModule(parent, name)
{
QGridLayout *lay = new QGridLayout(this,11,8,10,5);
lay->addRowSpacing(4,20);
lay->addRowSpacing(6,20);
lay->addColSpacing(0,10);
lay->addColSpacing(3,10);
lay->addColSpacing(7,10);
lay->setRowStretch(0,1);
lay->setRowStretch(1,0); // USEPROXY
lay->setRowStretch(2,0); // HTTP
lay->setRowStretch(3,0); // FTP
lay->setRowStretch(4,2);
lay->setRowStretch(5,0); // NOPROXY
lay->setRowStretch(6,2);
lay->setRowStretch(7,0); // USECACHE
lay->setRowStretch(8,0); // MAX CACHE SIZE
lay->setRowStretch(9,0); // MAX CACHE AGE
lay->setRowStretch(10,20);
lay->setColStretch(0,0);
lay->setColStretch(1,0);
lay->setColStretch(2,1);
lay->setColStretch(3,1);
lay->setColStretch(4,0);
lay->setColStretch(5,1);
lay->setColStretch(6,1);
lay->setColStretch(7,0);
cb_useProxy = new QCheckBox( i18n("Use &Proxy"), this );
lay->addMultiCellWidget(cb_useProxy,ROW_USEPROXY,ROW_USEPROXY,1,6);
connect( cb_useProxy, SIGNAL( clicked() ), SLOT( changeProxy() ) );
connect( cb_useProxy, SIGNAL( clicked() ), this, SLOT( changed() ) );
le_http_url = new QLineEdit(this);
lay->addWidget(le_http_url,ROW_HTTP,2);
connect(le_http_url, SIGNAL(textChanged(const QString&)), this, SLOT(changed()));
lb_http_url = new QLabel( le_http_url, i18n("&HTTP Proxy:"), this);
lb_http_url->setAlignment(AlignVCenter);
lay->addWidget(lb_http_url,ROW_HTTP,1);
le_http_port = new QLineEdit(this);
le_http_port->setGeometry(280, 110, 55, 30);
lay->addWidget(le_http_port,ROW_HTTP,5);
connect(le_http_port, SIGNAL(textChanged(const QString&)), this, SLOT(changed()));
lb_http_port = new QLabel( le_http_port, i18n("Port:"), this);
lb_http_port->setAlignment(AlignVCenter);
lay->addWidget(lb_http_port,ROW_HTTP,4);
le_ftp_url = new QLineEdit(this);
lay->addWidget(le_ftp_url,ROW_FTP,2);
connect(le_ftp_url, SIGNAL(textChanged(const QString&)), this, SLOT(changed()));
lb_ftp_url = new QLabel( le_ftp_url, i18n("&FTP Proxy:"), this);
lb_ftp_url->setAlignment(AlignVCenter);
lay->addWidget(lb_ftp_url,ROW_FTP,1);
le_ftp_port = new QLineEdit(this);
lay->addWidget(le_ftp_port,ROW_FTP,5);
connect(le_ftp_port, SIGNAL(textChanged(const QString&)), this, SLOT(changed()));
lb_ftp_port = new QLabel( le_ftp_port, i18n("Port:"), this);
lb_ftp_port->setAlignment(AlignVCenter);
lay->addWidget(lb_ftp_port,ROW_FTP,4);
le_no_prx = new QLineEdit(this);
lay->addMultiCellWidget(le_no_prx,ROW_NOPROXY,ROW_NOPROXY,2,5);
connect(le_no_prx, SIGNAL(textChanged(const QString&)), this, SLOT(changed()));
lb_no_prx = new QLabel(le_no_prx, i18n("&No Proxy for:"), this);
lb_no_prx->setAlignment(AlignVCenter);
lay->addWidget(lb_no_prx,ROW_NOPROXY,1);
cb_useCache = new QCheckBox( i18n("Use &Cache"), this );
lay->addMultiCellWidget(cb_useCache,ROW_USECACHE,ROW_USECACHE,1,6);
connect( cb_useCache, SIGNAL( clicked() ), SLOT( changeCache() ) );
connect( cb_useCache, SIGNAL( clicked() ), this, SLOT( changed() ) );
le_max_cache_size = new QLineEdit(this);
lay->addWidget(le_max_cache_size,ROW_MAXCACHESIZE,2);
connect(le_max_cache_size, SIGNAL(textChanged(const QString&)), this, SLOT(changed()));
lb_max_cache_size = new QLabel( le_max_cache_size, i18n("Maximum Cache &Size:"), this);
lb_max_cache_size->setAlignment(AlignVCenter);
lay->addWidget(lb_max_cache_size,ROW_MAXCACHESIZE,1);
le_max_cache_age = new QLineEdit(this);
lay->addWidget(le_max_cache_age,ROW_MAXCACHEAGE,2);
connect(le_max_cache_age, SIGNAL(textChanged(const QString&)), this, SLOT(changed()));
lb_max_cache_age = new QLabel( le_max_cache_age,
i18n("Maximum Cache &Age:"), this);
lb_max_cache_age->setAlignment(AlignVCenter);
lay->addWidget(lb_max_cache_age,ROW_MAXCACHEAGE,1);
QString path;
cp_down = new QPushButton( this );
cp_down->setPixmap( BarIcon("down") );
cp_down->setFixedSize(20,20);
lay->addWidget(cp_down,ROW_HTTP,6);
lay->activate();
connect( cp_down, SIGNAL( clicked() ), SLOT( copyDown() ) );
connect( cp_down, SIGNAL( clicked() ), SLOT( changed() ) );
// finally read the options
load();
}
kcontrol'KProxyOptions::~KProxyOptions() (./kdebase/kcontrol/kio/kproxydlg.cpp:142)
KProxyOptions::~KProxyOptions()
{
// now delete everything we allocated before
// delete lb_info;
delete lb_http_url;
delete le_http_url;
delete lb_http_port;
delete le_http_port;
delete lb_ftp_url;
delete le_ftp_url;
delete lb_ftp_port;
delete le_ftp_port;
delete cp_down;
delete cb_useProxy;
// time to say goodbye ...
}
kcontrol'KProxyOptions::load() (./kdebase/kcontrol/kio/kproxydlg.cpp:159)
void KProxyOptions::load()
{
KConfig *g_pConfig = new KConfig("kioslaverc");
g_pConfig->setGroup( "Proxy Settings" );
updateGUI (
g_pConfig->readEntry( "HttpProxy" ),
g_pConfig->readEntry( "FtpProxy" ),
g_pConfig->readBoolEntry( "UseProxy" ),
g_pConfig->readEntry( "NoProxyFor" )
);
g_pConfig->setGroup( "Cache Settings" );
cb_useCache->setChecked( g_pConfig->readBoolEntry( "UseCache", true ));
le_max_cache_size->setText( g_pConfig->readEntry( "MaxCacheSize", "5000" ));
le_max_cache_age->setText( "Not yet implemented."); // MaxCacheAge
delete g_pConfig;
setProxy();
setCache();
}
kcontrol'KProxyOptions::defaults() (./kdebase/kcontrol/kio/kproxydlg.cpp:182)
void KProxyOptions::defaults() {
cb_useProxy->setChecked(false);
le_http_url->setText("");
le_http_port->setText("");
le_ftp_url->setText("");
le_ftp_port->setText("");
le_no_prx->setText("");
setProxy();
}
kcontrol'KProxyOptions::updateGUI() (./kdebase/kcontrol/kio/kproxydlg.cpp:192)
void KProxyOptions::updateGUI(QString httpProxy, QString ftpProxy, bool bUseProxy,
QString noProxyFor)
{
KURL url;
if( !httpProxy.isEmpty() ) {
url = httpProxy;
le_http_url->setText( url.host() );
le_http_port->setText( QString::number( url.port() ) );
}
if( !ftpProxy.isEmpty() ) {
url = ftpProxy;
le_ftp_url->setText( url.host() );
le_ftp_port->setText( QString::number( url.port() ) );
}
cb_useProxy->setChecked(bUseProxy);
setProxy();
le_no_prx->setText( noProxyFor );
}
kcontrol'KProxyOptions::save() (./kdebase/kcontrol/kio/kproxydlg.cpp:216)
void KProxyOptions::save()
{
KConfig *g_pConfig = new KConfig("kioslaverc");
QString url;
g_pConfig->setGroup( "Proxy Settings" );
url = le_http_url->text();
if( !url.isEmpty() ) {
if ( url.left( 7 ) != "http://" )
url.prepend( "http://" );
url += ":";
url += le_http_port->text(); // port
}
g_pConfig->writeEntry( "HttpProxy", url );
url = le_ftp_url->text();
if( !url.isEmpty() ) {
if ( url.left( 6 ) != "ftp://" )
url.prepend( "ftp://" );
url += ":";
url += le_ftp_port->text(); // port
}
g_pConfig->writeEntry( "FtpProxy", url );
g_pConfig->writeEntry( "UseProxy", cb_useProxy->isChecked() );
g_pConfig->writeEntry( "NoProxyFor", le_no_prx->text() );
g_pConfig->setGroup( "Cache Settings" );
g_pConfig->writeEntry( "UseCache", cb_useCache->isChecked() );
g_pConfig->writeEntry( "MaxCacheSize", le_max_cache_size->text() );
// Not yet implemented:
// g_pConfig->writeEntry( "MaxCacheAge", le_max_cache_age->text() );
g_pConfig->sync();
delete g_pConfig;
}
kcontrol'KProxyOptions::copyDown() (./kdebase/kcontrol/kio/kproxydlg.cpp:258)
void KProxyOptions::copyDown()
{
le_ftp_url->setText( le_http_url->text() );
le_ftp_port->setText( le_http_port->text() );
}
kcontrol'KProxyOptions::setProxy() (./kdebase/kcontrol/kio/kproxydlg.cpp:264)
void KProxyOptions::setProxy()
{
bool useProxy = cb_useProxy->isChecked();
// now set all input fields
le_http_url->setEnabled( useProxy );
le_http_port->setEnabled( useProxy );
le_ftp_url->setEnabled( useProxy );
le_ftp_port->setEnabled( useProxy );
le_no_prx->setEnabled( useProxy );
cp_down->setEnabled( useProxy );
cb_useProxy->setChecked( useProxy );
}
kcontrol'KProxyOptions::setCache() (./kdebase/kcontrol/kio/kproxydlg.cpp:278)
void KProxyOptions::setCache()
{
bool useCache = cb_useCache->isChecked();
// now set all input fields
le_max_cache_size->setEnabled( useCache );
le_max_cache_age->setEnabled( useCache );
cb_useCache->setChecked( useCache );
}
kcontrol'KProxyOptions::changeProxy() (./kdebase/kcontrol/kio/kproxydlg.cpp:288)
void KProxyOptions::changeProxy()
{
setProxy();
}
kcontrol'KProxyOptions::changeCache() (./kdebase/kcontrol/kio/kproxydlg.cpp:293)
void KProxyOptions::changeCache()
{
setCache();
}
kcontrol'KProxyOptions::changed() (./kdebase/kcontrol/kio/kproxydlg.cpp:299)
void KProxyOptions::changed()
{
emit KCModule::changed(true);
}