diff options
| author | 2016-11-11 23:19:46 -0500 | |
|---|---|---|
| committer | 2016-11-11 23:19:46 -0500 | |
| commit | 60501807b361ced9f594ba9c58331857e2011834 (patch) | |
| tree | 412fb3e1619cb8e8937677d8f967c8017d2a4702 /src/modules/options/OptionsWidget_servers.cpp | |
| parent | Input History: Added skipping of input lines if consecutive lines are the same (diff) | |
| download | KVIrc-60501807b361ced9f594ba9c58331857e2011834.tar.gz KVIrc-60501807b361ced9f594ba9c58331857e2011834.tar.bz2 KVIrc-60501807b361ced9f594ba9c58331857e2011834.zip | |
KviIpEditor: Change to a QLineEdit and update code.
* Changes from a multi-QLineEdit box for each part of the IP address
to a single QLineEdit which allows pasting of IP addresses rather
than having to hand type them in.
* Uses Qt5's QHostAddress to proccess the input and validate the IPs
* Fixes the OptionsWidget_servers to enable/disable the KviIpEditor
depending on if the Cache IP checkbox is checked or not.
Diffstat (limited to 'src/modules/options/OptionsWidget_servers.cpp')
| -rw-r--r-- | src/modules/options/OptionsWidget_servers.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/modules/options/OptionsWidget_servers.cpp b/src/modules/options/OptionsWidget_servers.cpp index 6e3af5daf..f8eeac761 100644 --- a/src/modules/options/OptionsWidget_servers.cpp +++ b/src/modules/options/OptionsWidget_servers.cpp @@ -703,6 +703,8 @@ IrcServerDetailsWidget::IrcServerDetailsWidget(QWidget * par, KviIrcServer * s) "unreachable or you want to avoid the round-robin lookups.", "options")); m_pCacheIpCheck->setChecked(s->cacheIp()); + m_pIpEditor->setEnabled(m_pCacheIpCheck->isChecked()); + connect(m_pCacheIpCheck, SIGNAL(toggled(bool)), this, SLOT(useCacheIpCheckToggled(bool))); m_pUseAutoConnect = new QCheckBox(__tr2qs_ctx("Connect to this server at startup", "options"), tab); m_pUseAutoConnect->setChecked(s->autoConnect()); @@ -1014,6 +1016,11 @@ IrcServerDetailsWidget::~IrcServerDetailsWidget() KviScriptEditor::destroyInstance(m_pOnLoginEditor); } +void IrcServerDetailsWidget::useCacheIpCheckToggled(bool) +{ + m_pIpEditor->setEnabled(m_pCacheIpCheck->isChecked()); +} + void IrcServerDetailsWidget::useIPV6CheckToggled(bool) { #ifdef COMPILE_IPV6_SUPPORT @@ -1148,14 +1155,13 @@ void IrcServerDetailsWidget::fillData(KviIrcServer * s) if(m_pIpEditor) { - QString tmpAddr = m_pIpEditor->address(); - - if(!m_pIpEditor->hasEmptyFields()) + if(m_pIpEditor->isValid()) { + QString tmpAddr = m_pIpEditor->address(); #ifdef COMPILE_IPV6_SUPPORT if(s->isIPv6()) { - if((!KviQString::equalCI(tmpAddr, "0:0:0:0:0:0:0:0")) && KviNetUtils::isValidStringIp(tmpAddr)) + if(tmpAddr != "::" && KviNetUtils::isValidStringIp(tmpAddr)) { s->setIp(tmpAddr); } @@ -1168,7 +1174,7 @@ void IrcServerDetailsWidget::fillData(KviIrcServer * s) else { #endif - if((!KviQString::equalCI(tmpAddr, "0.0.0.0")) && KviNetUtils::isValidStringIp(tmpAddr)) + if(tmpAddr != "0.0.0.0" && KviNetUtils::isValidStringIp(tmpAddr)) { s->setIp(tmpAddr); } |
