json RecentHubApi::serializeHub(const RecentHubEntryPtr& aHub) noexcept { return{ { "name", aHub->getName()}, { "description", aHub->getDescription() }, { "hub_url", aHub->getServer() } }; }
void FavoriteHubsFrame::openSelected() { if(!checkNick()) return; int i = -1; while( (i = ctrlHubs.GetNextItem(i, LVNI_SELECTED)) != -1) { FavoriteHubEntry* entry = (FavoriteHubEntry*)ctrlHubs.GetItemData(i); RecentHubEntryPtr r = new RecentHubEntry(entry->getServer()); r->setName(entry->getName()); r->setDescription(entry->getDescription()); ClientManager::getInstance()->createClient(r); // no multithreading because of disorder! } return; }
void PublicHubsFrame::connectHub(int pos, ProfileToken shareProfile) { if (pos == -1) return; if(!checkNick()) return; TCHAR buf[256]; ctrlHubs.GetItemText(pos, COLUMN_SERVER, buf, 256); RecentHubEntryPtr r = new RecentHubEntry(Text::fromT(buf)); ctrlHubs.GetItemText(pos, COLUMN_NAME, buf, 256); r->setName(Text::fromT(buf)); ctrlHubs.GetItemText(pos, COLUMN_DESCRIPTION, buf, 256); r->setDescription(Text::fromT(buf)); ctrlHubs.GetItemText(pos, COLUMN_USERS, buf, 256); r->setUsers(Text::fromT(buf)); ctrlHubs.GetItemText(pos, COLUMN_SHARED, buf, 256); r->setShared(Text::fromT(buf)); FavoriteManager::getInstance()->addRecent(r); WinUtil::connectHub(r, shareProfile); }