diff options
| author | 2016-08-06 21:08:24 -0400 | |
|---|---|---|
| committer | 2016-08-07 23:12:47 -0400 | |
| commit | 2ceba3c866356522ab72ef0e9bea363e7b801385 (patch) | |
| tree | 351640564483aa0da9635f2766c2e41a70d37067 /src/modules/options | |
| parent | KviIrcConnectionAsyncData: Move to std::set (diff) | |
| download | KVIrc-2ceba3c866356522ab72ef0e9bea363e7b801385.tar.gz KVIrc-2ceba3c866356522ab72ef0e9bea363e7b801385.tar.bz2 KVIrc-2ceba3c866356522ab72ef0e9bea363e7b801385.zip | |
KviProxyDatabase: Move to vector and unique pointers
Diffstat (limited to 'src/modules/options')
| -rw-r--r-- | src/modules/options/OptionsWidget_proxy.cpp | 21 | ||||
| -rw-r--r-- | src/modules/options/OptionsWidget_servers.cpp | 7 |
2 files changed, 17 insertions, 11 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())); } |
