ServerInfo* ServerGrp::AddServer(int32 nID, int32 nSocketID, SockAddr& laddr) { if( nID == -1 ) return NULL; ServerInfo* pInfo = GetServer(nID); if( pInfo != NULL ) return NULL; MyLog::message("->Server Manager Registry %s id=%d SocketID=%d\n", m_strSrvName.c_str(), nID, nSocketID); pInfo = CreateSrvInfo( m_nSrvType, nID, nSocketID, laddr); if(!pInfo) return NULL; pInfo->m_pParentGrp = this; m_SrvMap[nID] = pInfo; OnAddServer( pInfo ); m_pMgr->AddSrvInfo(pInfo); return pInfo; }
CP2PServers::CP2PServers(QWidget *parent) :QWidget(parent) { m_pServersSyncJob = NULL; m_pMainLayout = new QVBoxLayout(); m_pMainLayout->setMargin(1); m_pSplitter = new QSplitter(); m_pSplitter->setOrientation(Qt::Vertical); m_pServerWidget = new QWidget(); m_pServerLayout = new QVBoxLayout(); m_pServerLayout->setMargin(0); m_pServerTree = new QTreeWidget(); m_pServerTree->setHeaderLabels(tr("Url|Name|Version|Status|Users|Files|Description").split("|")); m_pServerTree->setContextMenuPolicy(Qt::CustomContextMenu); connect(m_pServerTree, SIGNAL(customContextMenuRequested( const QPoint& )), this, SLOT(OnMenuRequested(const QPoint &))); //connect(m_pServerTree, SIGNAL(itemClicked(QTreeWidgetItem*, int)), this, SLOT(OnItemClicked(QTreeWidgetItem*, int))); connect(m_pServerTree, SIGNAL(itemSelectionChanged()), this, SLOT(OnSelectionChanged())); m_pServerTree->setSortingEnabled(true); m_pMenu = new QMenu(); m_pCopyUrl = new QAction(tr("Copy Url"), m_pMenu); connect(m_pCopyUrl, SIGNAL(triggered()), this, SLOT(OnCopyUrl())); m_pMenu->addAction(m_pCopyUrl); m_pAddServer = new QAction(tr("Add Server"), m_pMenu); connect(m_pAddServer, SIGNAL(triggered()), this, SLOT(OnAddServer())); m_pMenu->addAction(m_pAddServer); m_pRemoveServer = new QAction(tr("Remove Server"), m_pMenu); connect(m_pRemoveServer, SIGNAL(triggered()), this, SLOT(OnRemoveServer())); m_pMenu->addAction(m_pRemoveServer); m_pMenu->addSeparator(); m_pConnectServer = new QAction(tr("Connect Server"), m_pMenu); connect(m_pConnectServer, SIGNAL(triggered()), this, SLOT(OnConnectServer())); m_pMenu->addAction(m_pConnectServer); m_pDisconnectServer = new QAction(tr("Disconnect Server"), m_pMenu); connect(m_pDisconnectServer, SIGNAL(triggered()), this, SLOT(OnDisconnectServer())); m_pMenu->addAction(m_pDisconnectServer); m_pMenu->addSeparator(); m_pSetStaticServer = new QAction(tr("Static Server"), m_pMenu); m_pSetStaticServer->setCheckable(true); connect(m_pSetStaticServer, SIGNAL(triggered()), this, SLOT(OnSetStaticServer())); m_pMenu->addAction(m_pSetStaticServer); m_pServerLayout->addWidget(m_pServerTree); m_pServerWidget->setLayout(m_pServerLayout); m_pSplitter->addWidget(m_pServerWidget); //m_pServerTabs = new QTabWidget(); //m_pSplitter->addWidget(m_pServerTabs); m_pMainLayout->addWidget(m_pSplitter); setLayout(m_pMainLayout); m_pSplitter->restoreState(theGUI->Cfg()->GetBlob("Gui/Widget_Servers_Spliter")); m_pServerTree->header()->restoreState(theGUI->Cfg()->GetBlob("Gui/Widget_Servers_Columns")); m_TimerId = startTimer(500); }