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 | |
| 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')
| -rw-r--r-- | src/modules/options/OptionsWidget_proxy.cpp | 13 | ||||
| -rw-r--r-- | src/modules/options/OptionsWidget_servers.cpp | 16 | ||||
| -rw-r--r-- | src/modules/options/OptionsWidget_servers.h | 1 |
3 files changed, 16 insertions, 14 deletions
diff --git a/src/modules/options/OptionsWidget_proxy.cpp b/src/modules/options/OptionsWidget_proxy.cpp index ad3d29c11..f05012f33 100644 --- a/src/modules/options/OptionsWidget_proxy.cpp +++ b/src/modules/options/OptionsWidget_proxy.cpp @@ -268,25 +268,20 @@ void OptionsWidget_proxy::saveLastItem() #endif m_pLastEditedItem->m_pProxyData->m_szIp = ""; - QString tmpAddr = m_pIpEditor->address(); - - if(!m_pIpEditor->hasEmptyFields()) + if(m_pIpEditor->isValid()) { + QString tmpAddr = m_pIpEditor->address(); #ifdef COMPILE_IPV6_SUPPORT if(m_pIPv6Check->isChecked()) { - if((!KviQString::equalCI(tmpAddr, "0:0:0:0:0:0:0:0")) && KviNetUtils::isValidStringIPv6(tmpAddr)) - { + if(tmpAddr != "::" && KviNetUtils::isValidStringIPv6(tmpAddr)) m_pLastEditedItem->m_pProxyData->m_szIp = tmpAddr; - } } else { #endif - if((!KviQString::equalCI(tmpAddr, "0.0.0.0")) && KviNetUtils::isValidStringIp(tmpAddr)) - { + if(tmpAddr != "0.0.0.0" && KviNetUtils::isValidStringIp(tmpAddr)) m_pLastEditedItem->m_pProxyData->m_szIp = tmpAddr; - } #ifdef COMPILE_IPV6_SUPPORT } #endif 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); } diff --git a/src/modules/options/OptionsWidget_servers.h b/src/modules/options/OptionsWidget_servers.h index 9744b271a..b6a2fdb68 100644 --- a/src/modules/options/OptionsWidget_servers.h +++ b/src/modules/options/OptionsWidget_servers.h @@ -159,6 +159,7 @@ protected: protected slots: void useDefaultInitUModeToggled(bool); void portEditorTextChanged(const QString &); + void useCacheIpCheckToggled(bool); void useIPV6CheckToggled(bool); void useSSLCheckToggled(bool); |
