summaryrefslogtreecommitdiffstats
path: root/mainwindow.cpp
diff options
context:
space:
mode:
authorRoopesh Chander <roop@forwardbias.in>2009-11-02 15:22:46 +0530
committerRoopesh Chander <roop@forwardbias.in>2009-11-02 15:22:46 +0530
commit6c4d9feb574a917a08452761dc86c8cd85d875d1 (patch)
tree499b6ddd141e1516cb62aeac4fe93348e18feab9 /mainwindow.cpp
parent201dbffd20cf877d236fb1f14545b57b5c6db754 (diff)
add a drop down list of current scraps
Diffstat (limited to 'mainwindow.cpp')
-rw-r--r--mainwindow.cpp23
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());
+ }
+ }
+ }
+}