aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar IceN9ne2016-11-11 23:19:46 -0500
committerGravatar IceN9ne2016-11-11 23:19:46 -0500
commit60501807b361ced9f594ba9c58331857e2011834 (patch)
tree412fb3e1619cb8e8937677d8f967c8017d2a4702 /src/modules
parentInput History: Added skipping of input lines if consecutive lines are the same (diff)
downloadKVIrc-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.cpp13
-rw-r--r--src/modules/options/OptionsWidget_servers.cpp16
-rw-r--r--src/modules/options/OptionsWidget_servers.h1
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);