diff options
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/options/OptionsWidget_proxy.cpp | 21 | ||||
| -rw-r--r-- | src/modules/options/OptionsWidget_servers.cpp | 7 | ||||
| -rw-r--r-- | src/modules/proxydb/libkviproxydb.cpp | 12 |
3 files changed, 21 insertions, 19 deletions
diff --git a/src/modules/options/OptionsWidget_proxy.cpp b/src/modules/options/OptionsWidget_proxy.cpp index 8cc7fe108..52a8f63d1 100644 --- a/src/modules/options/OptionsWidget_proxy.cpp +++ b/src/modules/options/OptionsWidget_proxy.cpp @@ -43,6 +43,9 @@ #include <QToolButton> #include <QMenu> +#include <memory> +#include <vector> + ProxyOptionsTreeWidgetItem::ProxyOptionsTreeWidgetItem(QTreeWidget * parent, const QPixmap & pm, KviProxy * prx) : QTreeWidgetItem(parent) { @@ -161,12 +164,12 @@ void OptionsWidget_proxy::fillProxyList() { ProxyOptionsTreeWidgetItem * prx; - KviPointerList<KviProxy> * l = g_pProxyDataBase->proxyList(); + std::vector<std::unique_ptr<KviProxy>> & l = g_pProxyDataBase->proxyList(); - for(KviProxy * p = l->first(); p; p = l->next()) + for(auto & p : l) { - prx = new ProxyOptionsTreeWidgetItem(m_pTreeWidget, *(g_pIconManager->getSmallIcon(KviIconManager::Proxy)), p); - if(p == g_pProxyDataBase->currentProxy()) + prx = new ProxyOptionsTreeWidgetItem(m_pTreeWidget, *(g_pIconManager->getSmallIcon(KviIconManager::Proxy)), p.get()); + if(p.get() == g_pProxyDataBase->currentProxy()) { prx->setSelected(true); m_pTreeWidget->setCurrentItem(prx); @@ -316,16 +319,16 @@ void OptionsWidget_proxy::commit() QString tmp = it->text(0); if(!tmp.isEmpty()) { - KviProxy * prx = new KviProxy(*(it->m_pProxyData)); - g_pProxyDataBase->insertProxy(prx); + std::unique_ptr<KviProxy> prx(new KviProxy(*(it->m_pProxyData))); + g_pProxyDataBase->insertProxy(std::move(prx)); if(it == m_pLastEditedItem) - g_pProxyDataBase->setCurrentProxy(prx); + g_pProxyDataBase->setCurrentProxy(prx.get()); } } - if(!g_pProxyDataBase->currentProxy()) - g_pProxyDataBase->setCurrentProxy(g_pProxyDataBase->proxyList()->first()); + if(!g_pProxyDataBase->currentProxy() && !g_pProxyDataBase->proxyList().empty()) + g_pProxyDataBase->setCurrentProxy(g_pProxyDataBase->proxyList().front().get()); KviOptionsWidget::commit(); } diff --git a/src/modules/options/OptionsWidget_servers.cpp b/src/modules/options/OptionsWidget_servers.cpp index a00724c98..a1fb87aad 100644 --- a/src/modules/options/OptionsWidget_servers.cpp +++ b/src/modules/options/OptionsWidget_servers.cpp @@ -67,6 +67,9 @@ #include <QShortcut> #include <QMenu> +#include <memory> +#include <vector> + #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) || defined(COMPILE_ON_MAC) #include <QStyleFactory> #endif //COMPILE_ON_WINDOWS || COMPILE_ON_MINGW @@ -791,9 +794,9 @@ IrcServerDetailsWidget::IrcServerDetailsWidget(QWidget * par, KviIrcServer * s) m_pProxyEditor->addItem(__tr2qs_ctx("Default", "options")); m_pProxyEditor->addItem(__tr2qs_ctx("Direct Connection", "options")); - KviPointerList<KviProxy> * proxylist = g_pProxyDataBase->proxyList(); + std::vector<std::unique_ptr<KviProxy>> & proxylist = g_pProxyDataBase->proxyList(); - for(KviProxy * p = proxylist->first(); p; p = proxylist->next()) + for(auto & p : proxylist) { m_pProxyEditor->insertItem(m_pProxyEditor->count(), QString("%1:%2").arg(p->hostName()).arg(p->port())); } diff --git a/src/modules/proxydb/libkviproxydb.cpp b/src/modules/proxydb/libkviproxydb.cpp index 3dbd5c845..6ccfc7634 100644 --- a/src/modules/proxydb/libkviproxydb.cpp +++ b/src/modules/proxydb/libkviproxydb.cpp @@ -295,19 +295,16 @@ static bool proxydb_kvs_cmd_addProxy(KviKvsModuleCommandCall * c) return false; } - KviProxy * pProxy = new KviProxy(); + std::unique_ptr<KviProxy> pProxy(new KviProxy()); pProxy->setHostname(szProxy); - KviProxy * pRecord = g_pProxyDataBase->findProxy(pProxy, true); + KviProxy * pRecord = g_pProxyDataBase->findProxy(pProxy.get(), true); if(pRecord) { if(c->switches()->find('q', "quiet")) - { - delete pProxy; return true; - } + c->error(__tr2qs_ctx("The specified proxy already exists", "serverdb")); - delete pProxy; return false; } @@ -342,12 +339,11 @@ static bool proxydb_kvs_cmd_addProxy(KviKvsModuleCommandCall * c) else { c->error(__tr2qs_ctx("The specified protocol doesn't exist", "serverdb")); - delete pProxy; return false; } } - g_pProxyDataBase->insertProxy(pProxy); + g_pProxyDataBase->insertProxy(std::move(pProxy)); return true; } |
