diff options
author | Roopesh Chander <roop@forwardbias.in> | 2009-11-02 15:22:46 +0530 |
---|---|---|
committer | Roopesh Chander <roop@forwardbias.in> | 2009-11-02 15:22:46 +0530 |
commit | 6c4d9feb574a917a08452761dc86c8cd85d875d1 (patch) | |
tree | 499b6ddd141e1516cb62aeac4fe93348e18feab9 /mainwindow.cpp | |
parent | 201dbffd20cf877d236fb1f14545b57b5c6db754 (diff) |
add a drop down list of current scraps
Diffstat (limited to 'mainwindow.cpp')
-rw-r--r-- | mainwindow.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/mainwindow.cpp b/mainwindow.cpp index 970d93f..09442bd 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -5,6 +5,7 @@ #include <QParallelAnimationGroup> #include <QGraphicsRotation> #include <QDebug> +#include <QWebFrame> #include "mainwindow.h" #include "ui_mainwindow.h" #include "webview.h" @@ -61,9 +62,11 @@ void MainWindow::addScrap(QUrl url, QRect scrapRect, QPoint position) { WebScrapContainer *container = new WebScrapContainer(webscrap, m_graphicsView->scene()); container->setPos(position - webscrap->pos()); container->setData(0, container->pos()); - m_scraps << container; connect(container, SIGNAL(frameClicked()), SLOT(bubbleUpSenderScrap())); connect(container, SIGNAL(removeSelf()), SLOT(removeSenderScrap())); + m_dropDownList->addItem(QWebSettings::iconForUrl(url), url.toString(), qVariantFromValue(container)); + connect(webscrap, SIGNAL(loadFinished(bool)), SLOT(updateDropDownList())); + m_scraps << container; } void MainWindow::initBrowser() { @@ -82,6 +85,8 @@ void MainWindow::initBrowser() { void MainWindow::createScrapsToolbar(QGraphicsScene *scene) { m_scrapsToolbar = new GraphicsToolBar(scene); + m_dropDownList = new QComboBox; + m_dropDownList->setMinimumContentsLength(25); m_searchBar = new SearchLineEdit; m_searchBar->setText(QString()); m_gotoBrowserButton = new QToolButton; @@ -89,6 +94,7 @@ void MainWindow::createScrapsToolbar(QGraphicsScene *scene) { m_gotoBrowserButton->setText(tr("Go to browser")); m_gotoBrowserButton->setToolTip(tr("Go to browser")); + m_scrapsToolbar->addWidget(m_dropDownList); m_scrapsToolbar->addWidget(m_searchBar); m_scrapsToolbar->addWidget(m_gotoBrowserButton); m_scrapsToolbar->setPos(600, 50); @@ -291,3 +297,18 @@ void MainWindow::removeSenderScrap() { } adjustTitle(); } + +void MainWindow::updateDropDownList() { + WebScrap *scrap = 0; + if (sender()) + scrap = qobject_cast<WebScrap*>(sender()); + if (scrap) { + for (int i = 0; i < m_dropDownList->count(); i++) { + WebScrapContainer *container = m_dropDownList->itemData(i).value<WebScrapContainer*>(); + if (container->webScrap() == scrap) { + m_dropDownList->setItemText(i, scrap->title()); + m_dropDownList->setItemIcon(i, scrap->page()->mainFrame()->icon()); + } + } + } +} |