aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/options/OptionsWidget_servers.cpp
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/options/OptionsWidget_servers.cpp
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/options/OptionsWidget_servers.cpp')
-rw-r--r--src/modules/options/OptionsWidget_servers.cpp16
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);
}