void ExplorerTreeView::closeServerConnection() { QModelIndex sel = selectedIndex(); if(!sel.isValid()){ return; } ExplorerServerItem* snode = common::utils_qt::item<ExplorerServerItem*>(sel); if(snode){ IServerSPtr server = snode->server(); if(server){ removeServer(server); } return; } ExplorerClusterItem* cnode = common::utils_qt::item<ExplorerClusterItem*>(sel); if(cnode && cnode->type() == IExplorerTreeItem::eCluster){ IClusterSPtr server = cnode->cluster(); if(server){ removeCluster(server); } return; } }
ExplorerClusterItem* ExplorerTreeModel::findClusterItem(IClusterSPtr cl) { fasto::qt::gui::TreeItem *parent = dynamic_cast<fasto::qt::gui::TreeItem*>(root_); DCHECK(parent); if(!parent){ return NULL; } for(int i = 0; i < parent->childrenCount() ; ++i){ ExplorerClusterItem *item = dynamic_cast<ExplorerClusterItem*>(parent->child(i)); if(item && item->cluster() == cl){ return item; } } return NULL; }