aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/options/OptionsWidget_servers.cpp
diff options
context:
space:
mode:
authorGravatar Matt Ullman2015-11-04 02:40:47 -0500
committerGravatar Matt Ullman2015-11-04 04:09:05 -0500
commit115e0a937136dd619cde866910a62dfd7deb4950 (patch)
tree0d3d0aaef2b79f9b660346241ee640e320893117 /src/modules/options/OptionsWidget_servers.cpp
parentfavorites: Fix indentation (diff)
downloadKVIrc-115e0a937136dd619cde866910a62dfd7deb4950.tar.gz
KVIrc-115e0a937136dd619cde866910a62dfd7deb4950.tar.bz2
KVIrc-115e0a937136dd619cde866910a62dfd7deb4950.zip
favorites: Hide server when unfavorited
Have the menu option labeled 'Unfavorite Server' when it is currently favorited.
Diffstat (limited to 'src/modules/options/OptionsWidget_servers.cpp')
-rw-r--r--src/modules/options/OptionsWidget_servers.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/modules/options/OptionsWidget_servers.cpp b/src/modules/options/OptionsWidget_servers.cpp
index b61540015..ba1631a3f 100644
--- a/src/modules/options/OptionsWidget_servers.cpp
+++ b/src/modules/options/OptionsWidget_servers.cpp
@@ -1475,6 +1475,8 @@ OptionsWidget_servers::OptionsWidget_servers(QWidget * parent)
m_pClipboard = 0;
+ m_bShowingFavoritesOnly = KVI_OPTION_BOOL(KviOption_boolShowFavoriteServersOnly);
+
fillServerList();
updateFavoritesFilter(KVI_OPTION_BOOL(KviOption_boolShowFavoriteServersOnly));
@@ -1844,6 +1846,7 @@ void OptionsWidget_servers::customContextMenuRequested(const QPoint &pnt)
{
QTreeWidgetItem *it = static_cast<QTreeWidgetItem *>(m_pTreeWidget->itemAt(pnt));
bool bServer = (it && static_cast<IrcServerOptionsTreeWidgetItem *>(it)->m_pServerData);
+ bool bFavorite = (bServer && static_cast<IrcServerOptionsTreeWidgetItem *>(it)->m_pServerData->favorite());
m_pContextPopup->clear();
m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::World)),__tr2qs_ctx("New Network","options"),this,SLOT(newNetwork()));
m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Cut)),__tr2qs_ctx("Remove Network","options"),this,SLOT(removeCurrent()))
@@ -1863,7 +1866,8 @@ void OptionsWidget_servers::customContextMenuRequested(const QPoint &pnt)
m_pContextPopup->addAction(__tr2qs_ctx("Import List","options"))->setMenu(m_pImportPopup);
m_pContextPopup->popup(QCursor::pos());
m_pContextPopup->addSeparator();
- m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::ServerFavorite)),__tr2qs_ctx("Favorite Server","options"),this,SLOT(favoriteServer()));
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::ServerFavorite)),
+ __tr2qs_ctx(bFavorite?"Unfavorite Server":"Favorite Server","options"),this,SLOT(favoriteServer()));
m_pContextPopup->setEnabled(bServer);
}
@@ -2022,11 +2026,15 @@ void OptionsWidget_servers::favoriteServer()
unsigned icon = m_pLastEditedItem->m_pServerData->favorite() ? KviIconManager::ServerFavorite : KviIconManager::Server;
m_pLastEditedItem->setIcon(0,*(g_pIconManager->getSmallIcon(icon)));
+
+ if(m_bShowingFavoritesOnly)
+ updateFavoritesFilter(true);
}
}
void OptionsWidget_servers::updateFavoritesFilter(bool bSet)
{
+ m_bShowingFavoritesOnly = bSet;
IrcServerOptionsTreeWidgetItem * network;
for(unsigned i = 0; i < m_pTreeWidget->topLevelItemCount(); i++)
{