本文整理汇总了C++中QWebHitTestResult::isContentEditable方法的典型用法代码示例。如果您正苦于以下问题:C++ QWebHitTestResult::isContentEditable方法的具体用法?C++ QWebHitTestResult::isContentEditable怎么用?C++ QWebHitTestResult::isContentEditable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QWebHitTestResult
的用法示例。
在下文中一共展示了QWebHitTestResult::isContentEditable方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onContextMenuRequest
void HelpBrowser::onContextMenuRequest( const QPoint & pos )
{
QMenu menu;
QWebHitTestResult hitTest = mWebView->page()->mainFrame()->hitTestContent( pos );
if (!hitTest.linkElement().isNull()) {
menu.addAction( mWebView->pageAction(QWebPage::CopyLinkToClipboard) );
}
menu.addSeparator();
if (hitTest.isContentEditable() || hitTest.isContentSelected())
menu.addAction( mWebView->pageAction(QWebPage::Copy) );
if (hitTest.isContentEditable())
menu.addAction( mWebView->pageAction(QWebPage::Paste) );
if (hitTest.isContentSelected())
menu.addAction( mActions[Evaluate] );
menu.addSeparator();
menu.addAction( mWebView->pageAction(QWebPage::Back) );
menu.addAction( mWebView->pageAction(QWebPage::Forward) );
menu.addAction( mWebView->pageAction(QWebPage::Reload) );
menu.addSeparator();
menu.addAction( mActions[ZoomIn] );
menu.addAction( mActions[ZoomOut] );
menu.addAction( mActions[ResetZoom] );
menu.exec( mWebView->mapToGlobal(pos) );
}
示例2: contextMenuEvent
void WebView::contextMenuEvent ( QContextMenuEvent * event )
{
QMenu menu;
QPoint pos = event->pos();
QWebHitTestResult hitTest = page()->mainFrame()->hitTestContent( pos );
if (!hitTest.linkElement().isNull()) {
menu.addAction( pageAction(QWebPage::CopyLinkToClipboard) );
menu.addSeparator();
}
if (hitTest.isContentEditable() || hitTest.isContentSelected()) {
menu.addAction( pageAction(QWebPage::Copy) );
if (hitTest.isContentEditable())
menu.addAction( pageAction(QWebPage::Paste) );
menu.addSeparator();
}
menu.addAction( pageAction(QWebPage::Back) );
menu.addAction( pageAction(QWebPage::Forward) );
menu.addAction( pageAction(QWebPage::Reload) );
menu.exec( event->globalPos() );
}
示例3: populateWebViewMenu
void CopyTitle::populateWebViewMenu(QMenu* menu, WebView* view, const QWebHitTestResult &r)
{
m_view = view;
if (!r.linkUrl().isEmpty() || r.isContentEditable()) {
return;
}
QString title;
if (!r.imageUrl().isEmpty()) {
QString m_userFileName = r.imageUrl().toString().trimmed();
int pos = m_userFileName.lastIndexOf(QLatin1Char('/'));
if (pos != -1) {
int size = m_userFileName.size();
title = m_userFileName.right(size - pos - 1);
}
else {
title += "image";
}
}
else {
title = view->title();
}
menu->addAction(QIcon::fromTheme("edit-copy"), !r.imageUrl().isEmpty() ? tr("Copy Image Name") : tr("Copy Page Title"), this, SLOT(copyPageTitle()))->setData(title);
}
示例4: contextMenu
void ChannelsView::contextMenu(QMenu *menu, const QWebHitTestResult &result)
{
menu->addSeparator();
const QUrl url = result.linkUrl();
if (url.scheme() == LS("chat") && url.host() == LS("channel"))
ChannelMenu::bind(menu, ChatUrls::channel(url), IChannelMenu::ChatViewScope);
menu->addSeparator();
if (!result.isContentEditable()) {
menu->removeAction(pageAction(QWebPage::SelectAll));
menu->addAction(pageAction(QWebPage::SelectAll));
}
}
示例5: mousePressEvent
void GraphicsWebView::mousePressEvent(QGraphicsSceneMouseEvent* event)
{
pressPoint = event->pos();
if (pressTime) {
pressTimer.start(pressTime, this);
parent->setKeepMouseGrab(false);
} else {
grabMouse();
parent->setKeepMouseGrab(true);
}
QGraphicsWebView::mousePressEvent(event);
QWebHitTestResult hit = page()->mainFrame()->hitTestContent(pressPoint.toPoint());
if (hit.isContentEditable())
parent->forceActiveFocus();
setFocus();
}
示例6: populateWebViewMenu
void TestPlugin::populateWebViewMenu(QMenu* menu, WebView* view, const QWebHitTestResult &r)
{
// Called from WebView when creating context menu
m_view = view;
QString title;
if (!r.imageUrl().isEmpty()) {
title += " on image";
}
if (!r.linkUrl().isEmpty()) {
title += " on link";
}
if (r.isContentEditable()) {
title += " on input";
}
menu->addAction(tr("My first plugin action") + title, this, SLOT(actionSlot()));
}
示例7: populateWebViewMenu
void PIM_Handler::populateWebViewMenu(QMenu* menu, WebView* view, const QWebHitTestResult &hitTest)
{
m_view = view;
m_element = hitTest.element();
if (!hitTest.isContentEditable()) {
return;
}
if (!m_loaded) {
loadSettings();
}
QMenu* pimMenu = new QMenu(tr("Insert Personal Information"));
pimMenu->setIcon(QIcon(":/PIM/data/PIM.png"));
if (!m_allInfo[PI_FirstName].isEmpty() && !m_allInfo[PI_LastName].isEmpty()) {
const QString fullname = m_allInfo[PI_FirstName] + " " + m_allInfo[PI_LastName];
QAction* action = pimMenu->addAction(fullname, this, SLOT(pimInsert()));
action->setData(fullname);
}
for (int i = 0; i < PI_Max; ++i) {
const QString info = m_allInfo[PI_Type(i)];
if (info.isEmpty()) {
continue;
}
QAction* action = pimMenu->addAction(info, this, SLOT(pimInsert()));
action->setData(info);
action->setStatusTip(m_translations[PI_Type(i)]);
}
pimMenu->addSeparator();
pimMenu->addAction(tr("Edit"), this, SLOT(showSettings()));
menu->addMenu(pimMenu);
menu->addSeparator();
}
示例8: contextMenu
void ChatView::contextMenu(QMenu *menu, const QWebHitTestResult &result)
{
menu->addSeparator();
const QUrl url = result.linkUrl();
if (url.scheme() == LS("chat") && url.host() == LS("channel"))
Hooks::ChannelMenu::bind(menu, ChatUrls::channel(url), Hooks::ChatViewScope);
else
Hooks::ChannelMenu::bind(menu, ChatClient::channels()->get(m_id), Hooks::ChatViewScope);
menu->addSeparator();
QMenu *display = menu->addMenu(SCHAT_ICON(Gear), tr("Display"));
display->addAction(m_seconds);
display->addAction(m_service);
developerMenu(display);
display->removeAction(pageAction(QWebPage::Reload));
menu->addAction(m_autoscroll);
menu->addSeparator();
ClientChannel channel = ChatClient::channels()->get(id());
if (channel && channel->data().value(LS("page")) == 1)
menu->addAction(m_reload);
else
menu->addAction(m_clear);
if (!result.isContentEditable()) {
menu->removeAction(pageAction(QWebPage::SelectAll));
menu->addAction(pageAction(QWebPage::SelectAll));
}
menu->removeAction(pageAction(QWebPage::Reload));
menu->removeAction(pageAction(QWebPage::InspectElement));
connect(menu, SIGNAL(triggered(QAction*)), SLOT(menuTriggered(QAction*)));
ChatViewHooks::contextMenu(this, menu, result);
}
示例9: editorContextMenuRequested
void MainWindow::editorContextMenuRequested ( const QPoint & pos ) {
QString guid = getCurrentNoteGuid();
if (guid == "main")
return;
QWebHitTestResult element = ui->editor->page()->mainFrame()->hitTestContent(pos);
if (element.isNull())
return;
QStringList classes = allClasses(element.element());
if (classes.contains("pdfarea"))
return;
QMenu * menu = new QMenu(ui->editor);
menu->addAction(ui->editor->pageAction(QWebPage::SelectAll));
if (element.isContentSelected()) {
if (!menu->isEmpty())
menu->addSeparator();
menu->addAction(ui->editor->pageAction(QWebPage::Copy));
if (element.isContentEditable()) {
menu->addAction(ui->editor->pageAction(QWebPage::Cut));
menu->addAction(ui->editor->pageAction(QWebPage::Paste));
menu->addSeparator();
menu->addAction(ui->editor->pageAction(QWebPage::ToggleBold));
menu->addAction(ui->editor->pageAction(QWebPage::ToggleItalic));
menu->addAction(ui->editor->pageAction(QWebPage::ToggleUnderline));
}
}
if(!element.imageUrl().isEmpty() && (element.imageUrl().scheme() != "qrc")) {
if (!menu->isEmpty())
menu->addSeparator();
menu->addAction(ui->editor->pageAction(QWebPage::DownloadImageToDisk));
menu->addAction(ui->editor->pageAction(QWebPage::CopyImageToClipboard));
if (element.imageUrl().scheme() == "http" || element.imageUrl().scheme() == "https")
menu->addAction(ui->editor->pageAction(QWebPage::CopyImageUrlToClipboard));
QAction * openImage = new QAction(this);
openImage->setText("Open Image");
openImage->setObjectName("openImage");
menu->addAction(openImage);
if (JS("editMode").toBool()) {
menu->addSeparator();
QAction * deleteImage = new QAction(this);
deleteImage->setText("Delete Image");
deleteImage->setObjectName("deleteImage");
deleteImage->setIcon(QIcon::fromTheme("edit-delete"));
menu->addAction(deleteImage);
if (element.imageUrl().scheme() != "resource") {
QAction * saveLocally = new QAction(this);
saveLocally->setText("Save Locally");
saveLocally->setObjectName("saveLocally");
menu->addAction(saveLocally);
}
}
}
if (!element.linkUrl().isEmpty()) {
if (!menu->isEmpty())
menu->addSeparator();
menu->addAction(ui->editor->pageAction(QWebPage::CopyLinkToClipboard));
if (element.isContentEditable()) {
QAction * deleteURL = new QAction(this);
deleteURL->setText("Remove Link");
deleteURL->setObjectName("deleteURL");
menu->addAction(deleteURL);
}
}
if (element.isContentEditable() && !element.isContentSelected() && element.imageUrl().isEmpty()) {
Speller *speller = Speller::GetInstance();
if (speller->initialized()) {
QHash<QString, QString> languages = speller->availableLanguages();
if (!languages.isEmpty()) {
if (!menu->isEmpty())
menu->addSeparator();
QAction* act = menu->addAction(tr("Check &Spelling"));
act->setCheckable(true);
act->setChecked(speller->isEnabled());
connect(act, SIGNAL(triggered(bool)), speller, SLOT(setEnabled(bool)));
if (speller->isEnabled()) {
//.........这里部分代码省略.........
示例10: contextMenuEvent
//.........这里部分代码省略.........
menu->addSeparator ();
if (!page ()->selectedText ().isEmpty ())
menu->addAction (pageAction (QWebPage::Copy));
menu->addAction (tr ("&Copy link"),
this, SLOT (copyLink ()));
if (page ()->settings ()->testAttribute (QWebSettings::DeveloperExtrasEnabled))
menu->addAction (pageAction (QWebPage::InspectElement));
}
else if (page ()->selectedText ().contains (UrlInText))
{
menu->addAction (tr ("Open as link"),
this, SLOT (openLinkInNewTab ()))->
setData (page ()->selectedText ());
}
emit hookWebViewContextMenu (proxy, this, e, r,
menu, WVSAfterLink);
if (!r.imageUrl ().isEmpty ())
{
if (!menu->isEmpty ())
menu->addSeparator ();
menu->addAction (tr ("Open image here"),
this, SLOT (openImageHere ()))->setData (r.imageUrl ());
menu->addAction (tr ("Open image in new tab"),
this, SLOT (openImageInNewTab ()));
menu->addSeparator ();
menu->addAction (tr ("Save image..."),
this, SLOT (saveImage ()));
QAction *spx = menu->addAction (tr ("Save pixmap..."),
this, SLOT (savePixmap ()));
spx->setToolTip (tr ("Saves the rendered pixmap without redownloading."));
spx->setProperty ("Poshuku/OrigPX", r.pixmap ());
spx->setProperty ("Poshuku/OrigURL", r.imageUrl ());
menu->addAction (tr ("Copy image"),
this, SLOT (copyImage ()));
menu->addAction (tr ("Copy image location"),
this, SLOT (copyImageLocation ()))->setData (r.imageUrl ());
}
emit hookWebViewContextMenu (proxy, this, e, r,
menu, WVSAfterImage);
bool hasSelected = !page ()->selectedText ().isEmpty ();
if (hasSelected)
{
if (!menu->isEmpty ())
menu->addSeparator ();
menu->addAction (pageAction (QWebPage::Copy));
}
if (r.isContentEditable ())
menu->addAction (pageAction (QWebPage::Paste));
if (hasSelected)
{
Browser_->Find_->setData (page ()->selectedText ());
menu->addAction (Browser_->Find_);
menu->addAction (tr ("Search..."),
this, SLOT (searchSelectedText ()));
}
emit hookWebViewContextMenu (proxy, this, e, r,
menu, WVSAfterSelectedText);
if (menu->isEmpty ())
menu = page ()->createStandardContextMenu ();
if (!menu->isEmpty ())
menu->addSeparator ();
menu->addAction (Browser_->Add2Favorites_);
menu->addSeparator ();
menu->addAction (Browser_->Print_);
menu->addAction (Browser_->PrintPreview_);
menu->addSeparator ();
menu->addAction (Browser_->ViewSources_);
menu->addAction (Browser_->SavePage_);
menu->addSeparator ();
menu->addAction (pageAction (QWebPage::ReloadAndBypassCache));
menu->addAction (Browser_->ReloadPeriodically_);
menu->addAction (Browser_->NotifyWhenFinished_);
menu->addSeparator ();
menu->addAction (Browser_->ChangeEncoding_->menuAction ());
emit hookWebViewContextMenu (proxy, this, e, r,
menu, WVSAfterFinish);
if (!menu->isEmpty ())
menu->exec (Browser_->GetGraphicsView ()->viewport ()->
mapToGlobal (e->pos ().toPoint ()));
else
QGraphicsWebView::contextMenuEvent (e);
if (menu)
delete menu;
}