void CBoxeeMediaSourceList::load() { m_sources.clear(); loadShares(*g_settings.GetSourcesFromType("video"), SOURCE_VIDEO); loadShares(*g_settings.GetSourcesFromType("music"), SOURCE_MUSIC); loadShares(*g_settings.GetSourcesFromType("pictures"), SOURCE_PICTURE); }
CBoxeeMediaSourceList::CBoxeeMediaSourceList(VECSOURCES& videoSources, VECSOURCES& musicSources, VECSOURCES& pictureSources) { m_sources.clear(); loadShares(videoSources, SOURCE_VIDEO); loadShares(musicSources, SOURCE_MUSIC); loadShares(pictureSources, SOURCE_PICTURE); }
void Controller::init () { QSettings settings; Model::Settings s; settings.beginGroup("im"); s.userId = sfString (settings.value("userId","@sflx.net").toString()); s.resource = sfString (settings.value("resource", qtString (sf::net::hostName())).toString()); s.password = sfString (settings.value("password").toString()); s.destinationDirectory = sfString (settings.value("destinationDirectory", QDir::homePath()).toString()); s.echoServerIp = sfString (settings.value("echoServerIp", "82.211.19.149").toString()); if (s.echoServerIp == "62.48.92.13"){ // sflx.net moved! // workaround s.echoServerIp = "82.211.19.149"; } s.echoServerPort = settings.value("echoServerPort", "1234").toInt (); s.useBosh = settings.value("useBosh", false).toBool(); s.autoConnect = settings.value("autoConnect", false).toBool(); settings.endGroup (); { SF_SCHNEE_LOCK; mModel->setSettings(s); mModel->init (); mModel->beacon()->connections().conDetailsChanged() = dMemFun (this, &Controller::onConDetailsChanged); mModel->listTracker()->trackingUpdate() = dMemFun (this, &Controller::onTrackingUpdate); mModel->listTracker()->lostTracking() = dMemFun (this, &Controller::onLostTracking); mModel->fileGetting()->gotListing() = dMemFun (this, &Controller::onUpdatedListing); mModel->fileGetting()->updatedTransfer() = dMemFun (this, &Controller::onUpdatedIncomingTransfer); mModel->fileSharing()->updatedTransfer() = dMemFun (this, &Controller::onUpdatedOutgoingTransfer); sf::InterplexBeacon * beacon = mModel->beacon(); beacon->presences().peersChanged().add (sf::dMemFun (this, &Controller::onPeersChanged)); beacon->presences().onlineStateChanged().add (sf::dMemFun (this, &Controller::onOnlineStateChanged)); beacon->presences().subscribeRequest() = sf::dMemFun (this, &Controller::onUserSubscribeRequest); beacon->presences().serverStreamErrorReceived().add (sf::dMemFun (this, &Controller::onServerStreamErrorReceived)); // Set own features and activating protocol filter { const sf::String schneeProtocol = "http://sflx.net/protocols/schnee"; std::vector<sf::String> ownFeatures; ownFeatures.push_back (schneeProtocol); sf::Error e = beacon->presences().setOwnFeature(sf::String ("schneeflocke ") + sf::schnee::version(), ownFeatures); if (e) { sf::Log (LogError) << LOGID << "Could not set own feature" << std::endl; } else { mUserList->setFeatureFilter(schneeProtocol); } } } mGUI->init (); mGUI->call (sf::bind (&UserList::rebuildList, mUserList)); loadShares(); if (s.autoConnect){ xcall (abind (dMemFun (this, &Controller::onChangeConnection), DS_CONNECT)); } }