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()));
}
Exemple #2
0
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();
    }
}
Exemple #3
0
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)));
}
Exemple #5
0
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();
}