Source Code (Use browser search to find items of interest.)
Class Index
kppp'DNSWidget (./kdenetwork/kppp/edit.h:141)
class DNSWidget : public KGroupBox {
Q_OBJECT
public:
DNSWidget( QWidget *parent=0, bool isnewaccount = true, const char *name=0 );
~DNSWidget() {}
public slots:
void save();
protected slots:
void adddns();
void removedns();
void DNS_Edit_Changed(const QString &);
void DNS_Entry_Selected(int);
void DNS_Mode_Selected(int);
private:
QLabel *conf_label;
QButtonGroup *bg;
QRadioButton *autodns, *mandns;
QLabel *dns_label;
QLabel *servers_label;
IPLineEdit *dnsipaddr;
QPushButton *add;
QPushButton *remove;
QListBox *dnsservers;
QLineEdit *dnsdomain;
QLabel *dnsdomain_label;
QCheckBox *exdnsdisabled_toggle;
};
kppp'DNSWidget::DNSWidget() (./kdenetwork/kppp/edit.cpp:569)
DNSWidget::DNSWidget( QWidget *parent, bool isnewaccount, const char *name )
: KGroupBox(i18n("DNS Servers"), parent, name)
{
// box = new QGroupBox(peer());
QGridLayout *tl = new QGridLayout(peer(), 7, 2, 10, 10);
dnsdomain_label = new QLabel(i18n("Domain Name:"), peer());
tl->addWidget(dnsdomain_label, 0, 0);
dnsdomain = new QLineEdit(peer());
dnsdomain->setMaxLength(DOMAIN_SIZE);
tl->addWidget(dnsdomain, 0, 1);
QString tmp = i18n("If you enter a domain name here, this domain\n"
"name is used for your computer while you are\n"
"connected. When the connection is closed, the\n"
"original domain name of your computer is\n"
"restored.\n"
"\n"
"If you leave this field blank, no changes are\n"
"made to the domain name.");
QWhatsThis::add(dnsdomain_label,tmp);
QWhatsThis::add(dnsdomain,tmp);
conf_label = new QLabel(i18n("Configuration:"), peer());
tl->addWidget(conf_label, 1, 0);
bg = new QButtonGroup("Group", this);
connect(bg, SIGNAL(clicked(int)), SLOT(DNS_Mode_Selected(int)));
bg->hide();
autodns = new QRadioButton(i18n("Automatic"), peer());
bg->insert(autodns, 0);
tl->addWidget(autodns, 1, 1);
// no automatic DNS detection for pppd < 2.3.7
if(!gpppdata.pppdVersionMin(2, 3, 7))
autodns->setEnabled(false);
mandns = new QRadioButton(i18n("Manual"), peer());
bg->insert(mandns, 1);
tl->addWidget(mandns, 2, 1);
dns_label = new QLabel(i18n("DNS IP Address:"), peer());
tl->addWidget(dns_label, 3, 0);
QHBoxLayout *l2 = new QHBoxLayout;
tl->addLayout(l2, 3, 1);
dnsipaddr = new IPLineEdit(peer());
connect(dnsipaddr, SIGNAL(returnPressed()),
SLOT(adddns()));
connect(dnsipaddr, SIGNAL(textChanged(const QString &)),
SLOT(DNS_Edit_Changed(const QString &)));
l2->addWidget(dnsipaddr, 1);
l2->addStretch(1);
tmp = i18n("Allows you to specify a new DNS server to be\n"
"used while you are connected. When the\n"
"connection is closed, this DNS entry will be\n"
"removed again.\n"
"\n"
"To add a DNS server, type in the IP address of\n"
"of the DNS server here and click on <b>Add</b>");
QWhatsThis::add(dns_label, tmp);
QWhatsThis::add(dnsipaddr, tmp);
QHBoxLayout *l1 = new QHBoxLayout;
tl->addLayout(l1, 4, 1);
add = new QPushButton(i18n("Add"), peer());
connect(add, SIGNAL(clicked()), SLOT(adddns()));
int width = add->sizeHint().width();
width = QMAX(width,60);
add->setMinimumWidth(width);
l1->addWidget(add);
l1->addStretch(1);
QWhatsThis::add(add,
i18n("Click this button to add the DNS server\n"
"specified in the field above. The entry\n"
"will then be added to the list below"));
remove = new QPushButton(i18n("Remove"), peer());
connect(remove, SIGNAL(clicked()), SLOT(removedns()));
width = remove->sizeHint().width();
width = QMAX(width,60);
remove->setMinimumWidth(width);
l1->addWidget(remove);
QWhatsThis::add(remove,
i18n("Click this button to remove the selected DNS\n"
"server entry from the list below"));
servers_label = new QLabel(i18n("DNS Address List:"), peer());
servers_label->setAlignment(AlignTop|AlignLeft);
tl->addWidget(servers_label, 5, 0);
dnsservers = new QListBox(peer());
dnsservers->setMinimumSize(150, 80);
connect(dnsservers, SIGNAL(highlighted(int)),
SLOT(DNS_Entry_Selected(int)));
tl->addWidget(dnsservers, 5, 1);
tmp = i18n("This shows all defined DNS servers to use\n"
"while you are connected. Use the <b>Add</b> and\n"
"<b>Remove</b> buttons to modify the list");
QWhatsThis::add(servers_label,tmp);
QWhatsThis::add(dnsservers,tmp);
exdnsdisabled_toggle = new QCheckBox(i18n( \
"Disable existing DNS Servers during Connection"),
peer());
exdnsdisabled_toggle->setChecked(gpppdata.exDNSDisabled());
tl->addMultiCellWidget(exdnsdisabled_toggle, 6, 6, 0, 1, AlignCenter);
QWhatsThis::add(exdnsdisabled_toggle,
i18n("When this option is selected, all DNS\n"
"servers specified in <i>/etc/resolv.conf</i> are\n"
"temporary disabled while the dialup connection\n"
"is established. After the connection is\n"
"closed, the servers will be re-enabled\n"
"\n"
"Typically, there is no reason to use this\n"
"option, but it may become useful under \n"
"some circumstances"));
// restore data if editing
if(!isnewaccount) {
dnsservers->insertStrList(gpppdata.dns());
dnsdomain->setText(gpppdata.domain());
}
int mode = gpppdata.autoDNS() ? 0 : 1;
bg->setButton(mode);
DNS_Mode_Selected(mode);
tl->activate();
}
kppp'DNSWidget::DNS_Edit_Changed() (./kdenetwork/kppp/edit.cpp:704)
void DNSWidget::DNS_Edit_Changed(const QString &text) {
QRegExp r("[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+");
add->setEnabled(text.find(r) != -1);
}
kppp'DNSWidget::DNS_Entry_Selected() (./kdenetwork/kppp/edit.cpp:709)
void DNSWidget::DNS_Entry_Selected(int) {
remove->setEnabled(true);
}
kppp'DNSWidget::DNS_Mode_Selected() (./kdenetwork/kppp/edit.cpp:713)
void DNSWidget::DNS_Mode_Selected(int mode) {
bool on = (mode == 1);
dns_label->setEnabled(on);
servers_label->setEnabled(on);
dnsipaddr->setText("");
dnsipaddr->setEnabled(on);
add->setEnabled(false);
remove->setEnabled(false);
dnsservers->clearSelection();
dnsservers->setEnabled(on);
dnsservers->triggerUpdate(false);
}
kppp'DNSWidget::save() (./kdenetwork/kppp/edit.cpp:726)
void DNSWidget::save() {
gpppdata.setAutoDNS(bg->id(bg->selected()) == 0);
QStrList serverlist;
for(uint i=0; i < dnsservers->count(); i++)
serverlist.append(dnsservers->text(i));
gpppdata.setDns(serverlist);
// strip leading dot
QString s(dnsdomain->text());
if(s.left(1) == ".")
gpppdata.setDomain(s.mid(1));
else
gpppdata.setDomain(dnsdomain->text());
gpppdata.setExDNSDisabled(exdnsdisabled_toggle->isChecked());
}
kppp'DNSWidget::adddns() (./kdenetwork/kppp/edit.cpp:744)
void DNSWidget::adddns() {
if(dnsservers->count() < MAX_DNS_ENTRIES) {
dnsservers->insertItem(dnsipaddr->text());
dnsipaddr->setText("");
}
}
kppp'DNSWidget::removedns() (./kdenetwork/kppp/edit.cpp:752)
void DNSWidget::removedns() {
int i;
i = dnsservers->currentItem();
if(i != -1)
dnsservers->removeItem(i);
}
//
// GatewayWidget
//