Creating QActions on the fly for history
-
Like I said, follow the Recent File Example, it shows how to handle that
-
You're code doesn't reflect the example, you are creating each time numRecentHistory actions.
The best way to see where the problem lies is to run your application through the debugger
-
As in use the button with a little bug on it with a debug build of your application
-
Okay now if I click on one one of the historyActions, nothing happens. It doesn't load the page, crash, or anything.
Code:
@void browseTab::addToHistory()
{
QString url = webView->url().toString();QString historyEntry = url; QString title = webView->title(); QIcon icon = webView->icon(); int numRecentHistory = 1; for (int i = 0; i < numRecentHistory; ++i) { QString text = tr("&%1").arg(title); historyAction = new QAction(this); historyAction->setText(text); historyAction->setData(historyEntry); historyAction->setIcon(webView->icon()); historyAction->setIconVisibleInMenu(true); HistoryMenu->addAction(historyAction); connect(historyAction, SIGNAL(triggered()), SLOT(goToHistoryURL())); }
}
//determines which historyAction has been clicked, calls loadHistory().
void browseTab::goToHistoryURL()
{
QAction *action = qobject_cast<QAction *>(sender());
if (action)
loadHistory(action->data().toString());
}//sets the webView to the historyAction's url, called by goToHistoryURL().
void browseTab::loadHistory(const QString &name)
{
webView->setUrl(QUrl(QString(name)));
}
@