本文整理汇总了C++中QWebHistory::currentItem方法的典型用法代码示例。如果您正苦于以下问题:C++ QWebHistory::currentItem方法的具体用法?C++ QWebHistory::currentItem怎么用?C++ QWebHistory::currentItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QWebHistory
的用法示例。
在下文中一共展示了QWebHistory::currentItem方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: displayViewActions
void MainWindow::displayViewActions()
{
ui->actionBack->setEnabled(ui->webView->canGoBack());
ui->backButton->setEnabled(ui->webView->canGoBack());
ui->actionForward->setEnabled(ui->webView->canGoForward());
ui->forwardButton->setEnabled(ui->webView->canGoForward());
ui->menuView->clear();
ui->menuView->addAction(ui->actionBack);
ui->menuView->addAction(ui->actionForward);
ui->menuView->addSeparator();
m_backMenu->clear();
m_forwardMenu->clear();
QWebHistory *history = ui->webView->page()->history();
for (const QWebHistoryItem &item: history->backItems(10))
m_backMenu->addAction(addHistoryAction(history, item));
if (history->count() > 0)
addHistoryAction(history, history->currentItem())->setEnabled(false);
for (const QWebHistoryItem &item: history->forwardItems(10))
m_forwardMenu->addAction(addHistoryAction(history, item));
displayTabs();
}
示例2: dumpBackForwardList
QString DumpRenderTree::dumpBackForwardList(QWebPage* page)
{
QWebHistory* history = page->history();
QString result;
result.append(QLatin1String("\n============== Back Forward List ==============\n"));
// FORMAT:
// " (file test):fast/loader/resources/click-fragment-link.html **nav target**"
// "curr-> (file test):fast/loader/resources/click-fragment-link.html#testfragment **nav target**"
int maxItems = history->maximumItemCount();
foreach (const QWebHistoryItem item, history->backItems(maxItems)) {
if (!item.isValid())
continue;
result.append(dumpHistoryItem(item, 8, false));
}
QWebHistoryItem item = history->currentItem();
if (item.isValid())
result.append(dumpHistoryItem(item, 8, true));
foreach (const QWebHistoryItem item, history->forwardItems(maxItems)) {
if (!item.isValid())
continue;
result.append(dumpHistoryItem(item, 8, false));
}
result.append(QLatin1String("===============================================\n"));
return result;
}
示例3: openPrevious
void MainWindow::openPrevious(Qt::MouseButtons mouseButtons, Qt::KeyboardModifiers keyboardModifiers)
{
QWebHistory *history = currentTab()->view()->history();
QWebHistoryItem *item = 0;
if (currentTab()->page()->isOnRekonqPage())
{
item = new QWebHistoryItem(history->currentItem());
}
else
{
if (history->canGoBack())
{
item = new QWebHistoryItem(history->backItem());
}
}
if(!item)
return;
if (mouseButtons == Qt::MidButton || keyboardModifiers == Qt::ControlModifier)
{
Application::instance()->loadUrl(item->url(), Rekonq::NewTab);
}
else
{
history->goToItem(*item);
}
updateActions();
}
示例4: saveState
void WebKitBrowserExtension::saveState(QDataStream &stream)
{
// TODO: Save information such as form data from the current page.
QWebHistory* history = (view() ? view()->history() : 0);
const int historyIndex = (history ? history->currentItemIndex() : -1);
const KUrl historyUrl = (history ? KUrl(history->currentItem().url()) : m_part->url());
stream << historyUrl
<< static_cast<qint32>(xOffset())
<< static_cast<qint32>(yOffset())
<< historyIndex
<< m_historyData;
}
示例5: slotRestoreFrameState
void KWebKitPart::slotRestoreFrameState(QWebFrame *frame)
{
QWebPage* page = (frame ? frame->page() : 0);
QWebHistory* history = (page ? page->history() : 0);
// No history item...
if (!history || history->count() < 1)
return;
QWebHistoryItem currentHistoryItem (history->currentItem());
// Update the scroll position if needed. See comment in slotSaveFrameState above.
if (frame->baseUrl().resolved(frame->url()) == currentHistoryItem.url()) {
const QPoint currentPos (frame->scrollPosition());
const QPoint desiredPos (currentHistoryItem.userData().toPoint());
if (currentPos.isNull() && !desiredPos.isNull()) {
frame->setScrollPosition(desiredPos);
}
}
}
示例6: restoreState
void WebKitBrowserExtension::restoreState(QDataStream &stream)
{
KUrl u;
QByteArray historyData;
qint32 xOfs = -1, yOfs = -1, historyItemIndex = -1;
stream >> u >> xOfs >> yOfs >> historyItemIndex >> historyData;
QWebHistory* history = (view() ? view()->page()->history() : 0);
if (history) {
bool success = false;
if (history->count() == 0) { // Handle restoration: crash recovery, tab close undo, session restore
if (!historyData.isEmpty()) {
historyData = qUncompress(historyData); // uncompress the history data...
QBuffer buffer (&historyData);
if (buffer.open(QIODevice::ReadOnly)) {
QDataStream stream (&buffer);
view()->page()->setProperty("HistoryNavigationLocked", true);
stream >> *history;
QWebHistoryItem currentItem (history->currentItem());
if (currentItem.isValid()) {
if (currentItem.userData().isNull() && (xOfs != -1 || yOfs != -1)) {
const QPoint scrollPos (xOfs, yOfs);
currentItem.setUserData(scrollPos);
}
// NOTE 1: The following Konqueror specific workaround is necessary
// because Konqueror only preserves information for the last visited
// page. However, we save the entire history content in saveState and
// and hence need to elimiate all but the current item here.
// NOTE 2: This condition only applies when Konqueror is restored from
// abnormal termination ; a crash and/or a session restoration.
if (QCoreApplication::applicationName() == QLatin1String("konqueror")) {
history->clear();
}
//kDebug() << "Restoring URL:" << currentItem.url();
m_part->setProperty("NoEmitOpenUrlNotification", true);
history->goToItem(currentItem);
}
}
}
success = (history->count() > 0);
} else { // Handle navigation: back and forward button navigation.
示例7: moveContent
void MyTextBrowser::moveContent(int pos)
{
if(pos >= '\t' || pos < 0)
{
activateWindow();
char text[16];
text[0] = pos & 0x0ff;
text[1] = '\0';
int modifiers = pos & 0x07fffff00;
int key = pos & 0x0ff;
if ((pos & 0x0ff) == '\t') key = Qt::Key_Tab;
else if((pos & 0x0ff) == 0x0d) key = Qt::Key_Return;
QKeyEvent pressEvent( QEvent::KeyPress, (Qt::Key) key, (Qt::KeyboardModifiers) modifiers, text);
QKeyEvent releaseEvent(QEvent::KeyRelease, (Qt::Key) key, (Qt::KeyboardModifiers) modifiers, text);
if((pos & 0x0ff) == '\t') QWidget::setFocus(Qt::TabFocusReason);
keyPressEvent(&pressEvent);
keyReleaseEvent(&releaseEvent);
return;
}
#ifdef NO_WEBKIT
char buf[MAX_PRINTF_LENGTH];
QString myurl;
if(opt.arg_debug) printf("moveContent(%d)\n", pos);
if (pos == 0 && homeIsSet)
{
myurl = home;
setSource(QUrl(home));
}
else if(pos == 1)
{
forward();
myurl = source().path();
}
else if(pos == 2)
{
backward();
myurl = source().path();
}
else if(pos == 3)
{
reload();
myurl = source().path();
}
#else
char buf[MAX_PRINTF_LENGTH];
QString myurl;
QWebHistory *hist;
if(opt.arg_debug) printf("moveContent(%d)\n", pos);
if (pos == 0 && homeIsSet)
{
myurl = home;
load(home);
}
else if(pos == 1)
{
hist = history();
if(hist != NULL && hist->canGoForward()) myurl = hist->forwardItem().url().toString();
forward();
}
else if(pos == 2)
{
hist = history();
if(hist != NULL && hist->canGoBack()) myurl = hist->backItem().url().toString();
back();
}
else if(pos == 3)
{
hist = history();
if(hist != NULL) myurl = hist->currentItem().url().toString();
reload();
}
#endif
if(myurl.isEmpty()) return;
if(opt.arg_debug) printf("moveContent(%s)\n", (const char *) myurl.toUtf8());
if(myurl.length()+40 > MAX_PRINTF_LENGTH) return;
sprintf(buf,"text(%d,\"%s\")\n", id,decode(myurl));
tcp_send(s,buf,strlen(buf));
}