[developerteam getadooble] SF.net SVN: dooble:[1968] trunk/browser
Brought to you by:
textfield
|
From: <tex...@us...> - 2011-02-18 00:01:41
|
Revision: 1968
http://dooble.svn.sourceforge.net/dooble/?rev=1968&view=rev
Author: textfield
Date: 2011-02-18 00:01:34 +0000 (Fri, 18 Feb 2011)
Log Message:
-----------
Highlight the current selection on mouse-over events.
Modified Paths:
--------------
trunk/browser/Include/durlwidget.h
trunk/browser/Source/dsearchwidget.cc
trunk/browser/Source/durlwidget.cc
trunk/browser/Source/dview.cc
Modified: trunk/browser/Include/durlwidget.h
===================================================================
--- trunk/browser/Include/durlwidget.h 2011-02-17 18:09:42 UTC (rev 1967)
+++ trunk/browser/Include/durlwidget.h 2011-02-18 00:01:34 UTC (rev 1968)
@@ -60,6 +60,17 @@
#include <QAbstractItemView>
#include <QStandardItemModel>
+class durlcompleterview: public QTableView
+{
+ Q_OBJECT
+
+ public:
+ durlcompleterview(void);
+
+ private:
+ void mouseMoveEvent(QMouseEvent *event);
+};
+
class durlcompleter: public QCompleter
{
Q_OBJECT
@@ -71,11 +82,11 @@
void clear(void);
void setModel(QStandardItemModel *model);
void saveItemUrl(const QString &url);
- void setCompletion(const QString &completion, const bool showAll = false);
+ void setCompletion(const QString &completion);
private:
- QTableView *m_tableView;
QStringList m_allUrls;
+ durlcompleterview *m_tableView;
QStandardItemModel *m_model;
QList<QStandardItem *> m_purgedItems;
};
Modified: trunk/browser/Source/dsearchwidget.cc
===================================================================
--- trunk/browser/Source/dsearchwidget.cc 2011-02-17 18:09:42 UTC (rev 1967)
+++ trunk/browser/Source/dsearchwidget.cc 2011-02-18 00:01:34 UTC (rev 1968)
@@ -83,7 +83,10 @@
QMenu *menu = new QMenu(this);
m_type = "bing";
- menu->setStyleSheet("QMenu::separator {"
+ menu->setStyleSheet("QMenu {"
+ "selection-background-color: darkgray; "
+ "}"
+ "QMenu::separator {"
"height: 1px; "
"background: lightgray; "
"padding-bottom: 0px; "
@@ -146,9 +149,7 @@
if(!action)
return;
-#if QT_VERSION >= 0x040700
setPlaceholderText(action->text());
-#endif
m_type = action->text().toLower();
pulldownToolButton->setIcon(action->icon());
}
Modified: trunk/browser/Source/durlwidget.cc
===================================================================
--- trunk/browser/Source/durlwidget.cc 2011-02-17 18:09:42 UTC (rev 1967)
+++ trunk/browser/Source/durlwidget.cc 2011-02-18 00:01:34 UTC (rev 1968)
@@ -61,9 +61,30 @@
#include "dooble.h"
#include "durlwidget.h"
+durlcompleterview::durlcompleterview(void):QTableView()
+{
+ setMouseTracking(true);
+}
+
+void durlcompleterview::mouseMoveEvent(QMouseEvent *event)
+{
+ QModelIndex index(indexAt(event->pos()));
+
+ if(index.isValid())
+ {
+ selectionModel()->blockSignals(true);
+ selectionModel()->select(index,
+ QItemSelectionModel::Current |
+ QItemSelectionModel::ClearAndSelect);
+ selectionModel()->blockSignals(false);
+ }
+
+ QTableView::mouseMoveEvent(event);
+}
+
durlcompleter::durlcompleter(QWidget *parent):QCompleter(parent)
{
- m_tableView = new QTableView();
+ m_tableView = new durlcompleterview();
m_tableView->setSelectionMode(QAbstractItemView::SingleSelection);
m_tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
m_tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
@@ -73,7 +94,8 @@
setPopup(m_tableView);
m_tableView->setStyleSheet
("QTableView {"
- "background: darkgray; "
+ "background: lightgray; "
+ "selection-background-color: darkgray; "
"}");
}
@@ -108,18 +130,8 @@
}
void durlcompleter::setCompletion
-(const QString &completion, const bool showAll)
+(const QString &completion)
{
- /*
- ** Artificial filter.
- */
-
- if(!showAll && completion.trimmed().isEmpty())
- {
- popup()->setVisible(false);
- return;
- }
-
m_model->blockSignals(true);
while(!m_purgedItems.isEmpty())
@@ -194,6 +206,7 @@
m_tableView->setFixedHeight
(qMin(10, m_model->rowCount()) * m_tableView->rowHeight(0));
+
complete();
}
else
@@ -412,7 +425,7 @@
if(!m_completer)
return;
- m_completer->setCompletion("", true);
+ m_completer->setCompletion("");
/*
** I'm not sure why I need to do this. It appears
@@ -497,17 +510,7 @@
return;
}
else if(event->key() == Qt::Key_Up || event->key() == Qt::Key_Down)
- {
- slotPulldownClicked();
-
- if(text().trimmed().isEmpty())
- /*
- ** If we don't return here, the popup() will
- ** be displayed for a brief moment.
- */
-
- return;
- }
+ slotPulldownClicked();
else if(userKeys == QKeySequence(Qt::AltModifier + Qt::Key_Enter) ||
userKeys == QKeySequence(Qt::AltModifier + Qt::Key_Return))
emit openLinkInNewTab(QUrl::fromUserInput(text().trimmed()));
@@ -560,6 +563,9 @@
QLineEdit::keyPressEvent(event);
+ if(text().trimmed().isEmpty())
+ return;
+
if(event &&
event->key() != Qt::Key_Escape &&
event->modifiers() == Qt::NoModifier &&
Modified: trunk/browser/Source/dview.cc
===================================================================
--- trunk/browser/Source/dview.cc 2011-02-17 18:09:42 UTC (rev 1967)
+++ trunk/browser/Source/dview.cc 2011-02-18 00:01:34 UTC (rev 1968)
@@ -135,7 +135,8 @@
m_allowPopup = true;
else
{
- foreach(QWebElement element, frame->documentElement().findAll("*"))
+ foreach(QWebElement element, frame->documentElement().
+ findAll("*"))
if(element.geometry().contains(hit.pos()))
if(element.attribute("role").toLower() == "link" ||
element.attribute("method").toLower() == "post" ||
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|