void GlaucaWebView::contextMenuEvent(QContextMenuEvent *event){ QWebHitTestResult result=page()->mainFrame()->hitTestContent(event->pos()); QMenu menu(this); if(result.isContentSelected()){ menu.addAction(pageAction(QWebPage::Copy)); menu.addAction("Search \""+this->selectedText()+"\"",this,SIGNAL(searchRequest(this->selectedText()))); menu.addAction("Add selected items to local wiki",this,SLOT(addSelectedToWiki())); menu.addSeparator(); } if(!result.linkUrl().isEmpty()){ menu.addAction("Open Link in new tab",this,SIGNAL(urlChanged(result.linkUrl()))); menu.addAction(pageAction(QWebPage::DownloadLinkToDisk)); menu.addAction(pageAction(QWebPage::CopyLinkToClipboard)); menu.addSeparator(); } if(!result.imageUrl().isEmpty()){ menu.addAction(pageAction(QWebPage::CopyImageToClipboard)); menu.addSeparator(); } menu.addAction(pageAction(QWebPage::Back)); menu.addAction(pageAction(QWebPage::Forward)); menu.addAction(pageAction(QWebPage::Reload)); menu.addAction(pageAction(QWebPage::Stop)); menu.addSeparator(); menu.addAction("Add page to local WIKI",this,SLOT(addPageToWiki())); menu.addAction("View Page Source",this,SLOT(viewPageSource())); menu.exec(mapToGlobal(event->pos())); }
void UserSearchController::handleDiscoServiceFound(const JID& jid, std::shared_ptr<DiscoInfo> info) { //bool isUserDirectory = false; bool supports55 = false; // TODO: Cleanup code for (const auto& identity : info->getIdentities()) { if ((identity.getCategory() == "directory" && identity.getType() == "user")) { //isUserDirectory = true; } } std::vector<std::string> features = info->getFeatures(); supports55 = std::find(features.begin(), features.end(), DiscoInfo::JabberSearchFeature) != features.end(); if (/*isUserDirectory && */supports55) { //FIXME: once M-Link correctly advertises directoryness. /* Abort further searches.*/ endDiscoWalker(); std::shared_ptr<GenericRequest<SearchPayload> > searchRequest(new GenericRequest<SearchPayload>(IQ::Get, jid, std::make_shared<SearchPayload>(), iqRouter_)); searchRequest->onResponse.connect(boost::bind(&UserSearchController::handleFormResponse, this, _1, _2)); searchRequest->send(); } }
static void dispatch_operation(struct session *session, DNDSMessage_t *msg) { dsop_PR operation; DSMessage_get_operation(msg, &operation); switch (operation) { case dsop_PR_nodeConnectInfo: nodeConnectInfo(session, msg); break; case dsop_PR_addRequest: addRequest(msg); break; case dsop_PR_delRequest: delRequest(session, msg); break; case dsop_PR_modifyRequest: modifyRequest(session, msg); break; case dsop_PR_searchRequest: searchRequest(session, msg); break; /* terminateRequest is a special case since * it has no Response message associated with it. * simply disconnect the client; */ case dsop_PR_NOTHING: default: jlog(L_WARNING, "not a valid DSM operation"); case dsop_PR_terminateRequest: terminate(session); break; } }
bool MapSearchProviderHere::startSearch(const QString &ASearchString, qreal ALatSouth, qreal ALngWest, qreal ALatNorth, qreal ALngEast, int AZoom, bool ALimitRange, int AMaxResults, bool AMore) { Q_UNUSED(AZoom) QUrl request = searchRequest(ASearchString, ALatSouth, ALngWest, ALatNorth, ALngEast, ALimitRange, AMaxResults, AMore); return FHttpRequester->request(request, "request", this, SLOT(onResultReceived(QByteArray,QString))); }
void UserSearchController::handleSearch(std::shared_ptr<SearchPayload> fields, const JID& jid) { addToSavedDirectories(jid); std::shared_ptr<GenericRequest<SearchPayload> > searchRequest(new GenericRequest<SearchPayload>(IQ::Set, jid, fields, iqRouter_)); searchRequest->onResponse.connect(boost::bind(&UserSearchController::handleSearchResponse, this, _1, _2)); searchRequest->send(); }