diff --git a/src/bookmarks/bookmarkicon.cpp b/src/bookmarks/bookmarkicon.cpp
index 07d362ae2..aa06aea12 100644
--- a/src/bookmarks/bookmarkicon.cpp
+++ b/src/bookmarks/bookmarkicon.cpp
@@ -95,3 +95,11 @@ void BookmarkIcon::setBookmarkDisabled()
style()->polish(this);
setToolTip(tr("Bookmark this Page"));
}
+
+void BookmarkIcon::mousePressEvent(QMouseEvent *ev)
+{
+ ClickableLabel::mousePressEvent(ev);
+
+ // Prevent propagating to LocationBar
+ ev->accept();
+}
diff --git a/src/bookmarks/bookmarkicon.h b/src/bookmarks/bookmarkicon.h
index 01c16a03c..75ddbb9ca 100644
--- a/src/bookmarks/bookmarkicon.h
+++ b/src/bookmarks/bookmarkicon.h
@@ -41,6 +41,8 @@ private slots:
void bookmarkDeleted(const BookmarksModel::Bookmark &bookmark);
private:
+ void mousePressEvent(QMouseEvent *ev);
+
void setBookmarkSaved();
void setBookmarkDisabled();
diff --git a/src/navigation/downicon.cpp b/src/navigation/downicon.cpp
new file mode 100644
index 000000000..3f20f8963
--- /dev/null
+++ b/src/navigation/downicon.cpp
@@ -0,0 +1,16 @@
+#include "downicon.h"
+
+DownIcon::DownIcon(QWidget *parent)
+ : ClickableLabel(parent)
+{
+ setObjectName("locationbar-down-icon");
+ setCursor(Qt::ArrowCursor);
+}
+
+void DownIcon::mousePressEvent(QMouseEvent *ev)
+{
+ ClickableLabel::mousePressEvent(ev);
+
+ // Prevent propagating to LocationBar
+ ev->accept();
+}
diff --git a/src/navigation/downicon.h b/src/navigation/downicon.h
new file mode 100644
index 000000000..8114e6c2b
--- /dev/null
+++ b/src/navigation/downicon.h
@@ -0,0 +1,17 @@
+#ifndef DOWNICON_H
+#define DOWNICON_H
+
+#include "clickablelabel.h"
+
+class DownIcon : public ClickableLabel
+{
+ Q_OBJECT
+public:
+ explicit DownIcon(QWidget* parent = 0);
+
+private:
+ void mousePressEvent(QMouseEvent *ev);
+
+};
+
+#endif // DOWNICON_H
diff --git a/src/navigation/goicon.cpp b/src/navigation/goicon.cpp
new file mode 100644
index 000000000..d39e94069
--- /dev/null
+++ b/src/navigation/goicon.cpp
@@ -0,0 +1,17 @@
+#include "goicon.h"
+
+GoIcon::GoIcon(QWidget *parent)
+ : ClickableLabel(parent)
+{
+ setObjectName("locationbar-goicon");
+ setCursor(Qt::PointingHandCursor);
+ setHidden(true);
+}
+
+void GoIcon::mousePressEvent(QMouseEvent *ev)
+{
+ ClickableLabel::mousePressEvent(ev);
+
+ // Prevent propagating to LocationBar
+ ev->accept();
+}
diff --git a/src/navigation/goicon.h b/src/navigation/goicon.h
new file mode 100644
index 000000000..6ae5f3a60
--- /dev/null
+++ b/src/navigation/goicon.h
@@ -0,0 +1,21 @@
+#ifndef GOICON_H
+#define GOICON_H
+
+#include "clickablelabel.h"
+
+class GoIcon : public ClickableLabel
+{
+ Q_OBJECT
+public:
+ explicit GoIcon(QWidget *parent = 0);
+
+signals:
+
+public slots:
+
+private:
+ void mousePressEvent(QMouseEvent *ev);
+
+};
+
+#endif // GOICON_H
diff --git a/src/navigation/locationbar.cpp b/src/navigation/locationbar.cpp
index 34c1576b2..fdd0ff7d9 100644
--- a/src/navigation/locationbar.cpp
+++ b/src/navigation/locationbar.cpp
@@ -32,6 +32,9 @@
#include "toolbutton.h"
#include "searchenginesmanager.h"
#include "siteicon.h"
+#include "goicon.h"
+#include "rssicon.h"
+#include "downicon.h"
LocationBar::LocationBar(QupZilla* mainClass)
: LineEdit()
@@ -40,29 +43,17 @@ LocationBar::LocationBar(QupZilla* mainClass)
, m_locationBarSettings(LocationBarSettings::instance())
{
setObjectName("locationbar");
- m_siteIcon = new SiteIcon(this);
-
- m_rssIcon = new ClickableLabel(this);
- m_rssIcon->setObjectName("locationbar-rss-icon");
- m_rssIcon->setCursor(Qt::PointingHandCursor);
- m_rssIcon->setToolTip(tr("Add RSS from this page..."));
- m_rssIcon->setFocusPolicy(Qt::ClickFocus);
- m_rssIcon->setVisible(false);
-
- m_goButton = new ClickableLabel(this);
- m_goButton->setObjectName("locationbar-goicon");
- m_goButton->setCursor(Qt::PointingHandCursor);
- m_goButton->setHidden(true);
m_bookmarkIcon = new BookmarkIcon(p_QupZilla);
-
- ClickableLabel* down = new ClickableLabel(this);
- down->setObjectName("locationbar-down-icon");
- down->setCursor(Qt::ArrowCursor);
+ m_goIcon = new GoIcon(this);
+ m_rssIcon = new RssIcon(this);
+ m_rssIcon->setToolTip(tr("Add RSS from this page..."));
+ m_siteIcon = new SiteIcon(this);
+ DownIcon* down = new DownIcon(this);
addWidget(down, LineEdit::RightSide);
addWidget(m_bookmarkIcon, LineEdit::RightSide);
- addWidget(m_goButton, LineEdit::RightSide);
+ addWidget(m_goIcon, LineEdit::RightSide);
addWidget(m_rssIcon, LineEdit::RightSide);
setWidgetSpacing(0);
@@ -77,7 +68,7 @@ LocationBar::LocationBar(QupZilla* mainClass)
connect(this, SIGNAL(textEdited(QString)), m_locationCompleter, SLOT(refreshCompleter(QString)));
connect(m_locationCompleter->popup(), SIGNAL(clicked(QModelIndex)), p_QupZilla, SLOT(urlEnter()));
connect(m_siteIcon, SIGNAL(clicked()), this, SLOT(showSiteInfo()));
- connect(m_goButton, SIGNAL(clicked(QPoint)), this, SLOT(urlEnter()));
+ connect(m_goIcon, SIGNAL(clicked(QPoint)), this, SLOT(urlEnter()));
connect(m_rssIcon, SIGNAL(clicked(QPoint)), this, SLOT(rssIconClicked()));
connect(down, SIGNAL(clicked(QPoint)), this, SLOT(showMostVisited()));
connect(mApp->searchEnginesManager(), SIGNAL(activeEngineChanged()), this, SLOT(updatePlaceHolderText()));
@@ -135,7 +126,7 @@ void LocationBar::textEdit()
void LocationBar::showGoButton()
{
- if (m_goButton->isVisible()) {
+ if (m_goIcon->isVisible()) {
return;
}
@@ -143,18 +134,18 @@ void LocationBar::showGoButton()
m_bookmarkIcon->hide();
m_rssIcon->hide();
- m_goButton->show();
+ m_goIcon->show();
}
void LocationBar::hideGoButton()
{
- if (!m_goButton->isVisible()) {
+ if (!m_goIcon->isVisible()) {
return;
}
m_rssIcon->setVisible(m_rssIconVisible);
m_bookmarkIcon->show();
- m_goButton->hide();
+ m_goIcon->hide();
}
void LocationBar::showMostVisited()
diff --git a/src/navigation/locationbar.h b/src/navigation/locationbar.h
index c04220c64..f5db305f6 100644
--- a/src/navigation/locationbar.h
+++ b/src/navigation/locationbar.h
@@ -42,6 +42,8 @@ class BookmarkIcon;
class WebView;
class LocationBarSettings;
class SiteIcon;
+class GoIcon;
+class RssIcon;
class LocationBar : public LineEdit
{
Q_OBJECT
@@ -87,8 +89,8 @@ private:
void hideGoButton();
BookmarkIcon* m_bookmarkIcon;
- ClickableLabel* m_goButton;
- ClickableLabel* m_rssIcon;
+ GoIcon* m_goIcon;
+ RssIcon* m_rssIcon;
SiteIcon* m_siteIcon;
QupZilla* p_QupZilla;
diff --git a/src/navigation/siteicon.cpp b/src/navigation/siteicon.cpp
index ea82a80ff..c78b8724c 100644
--- a/src/navigation/siteicon.cpp
+++ b/src/navigation/siteicon.cpp
@@ -37,12 +37,15 @@ void SiteIcon::mousePressEvent(QMouseEvent* e)
}
ToolButton::mousePressEvent(e);
+
+ // Prevent propagating to LocationBar
+ e->accept();
}
void SiteIcon::mouseMoveEvent(QMouseEvent* e)
{
int manhattanLength = (e->pos() - m_dragStartPosition).manhattanLength();
- if (manhattanLength > QApplication::startDragDistance()) {
+ if (manhattanLength <= QApplication::startDragDistance()) {
ToolButton::mouseMoveEvent(e);
return;
}
diff --git a/src/rss/rssicon.cpp b/src/rss/rssicon.cpp
new file mode 100644
index 000000000..40eb31331
--- /dev/null
+++ b/src/rss/rssicon.cpp
@@ -0,0 +1,18 @@
+#include "rssicon.h"
+
+RssIcon::RssIcon(QWidget *parent)
+ : ClickableLabel(parent)
+{
+ setObjectName("locationbar-rss-icon");
+ setCursor(Qt::PointingHandCursor);
+ setFocusPolicy(Qt::ClickFocus);
+ setVisible(false);
+}
+
+void RssIcon::mousePressEvent(QMouseEvent *ev)
+{
+ ClickableLabel::mousePressEvent(ev);
+
+ // Prevent propagating to LocationBar
+ ev->accept();
+}
diff --git a/src/rss/rssicon.h b/src/rss/rssicon.h
new file mode 100644
index 000000000..3b595d441
--- /dev/null
+++ b/src/rss/rssicon.h
@@ -0,0 +1,20 @@
+#ifndef RSSICON_H
+#define RSSICON_H
+
+#include "clickablelabel.h"
+
+class RssIcon : public ClickableLabel
+{
+ Q_OBJECT
+public:
+ explicit RssIcon(QWidget *parent = 0);
+
+signals:
+
+public slots:
+
+private:
+ void mousePressEvent(QMouseEvent *ev);
+};
+
+#endif // RSSICON_H
diff --git a/src/src.pro b/src/src.pro
index 4d7bc16a4..4d7181c20 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -181,7 +181,10 @@ SOURCES += main.cpp\
other/databasewriter.cpp \
bookmarksimport/htmlimporter.cpp \
tools/enhancedmenu.cpp \
- navigation/siteicon.cpp
+ navigation/siteicon.cpp \
+ navigation/goicon.cpp \
+ rss/rssicon.cpp \
+ navigation/downicon.cpp
HEADERS += \
3rdparty/qtwin.h \
@@ -301,7 +304,10 @@ HEADERS += \
other/databasewriter.h \
bookmarksimport/htmlimporter.h \
tools/enhancedmenu.h \
- navigation/siteicon.h
+ navigation/siteicon.h \
+ navigation/goicon.h \
+ rss/rssicon.h \
+ navigation/downicon.h
FORMS += \
preferences/autofillmanager.ui \
diff --git a/src/webview/siteinfowidget.cpp b/src/webview/siteinfowidget.cpp
index 62714afc4..bc9c9fa6b 100644
--- a/src/webview/siteinfowidget.cpp
+++ b/src/webview/siteinfowidget.cpp
@@ -72,6 +72,7 @@ SiteInfoWidget::SiteInfoWidget(QupZilla* mainClass, QWidget* parent)
}
connect(ui->pushButton, SIGNAL(clicked()), p_QupZilla, SLOT(showPageInfo()));
+ // Use light color for QLabels even with Ubuntu Ambiance theme
QPalette pal = palette();
pal.setColor(QPalette::WindowText, QToolTip::palette().color(QPalette::ToolTipText));
ui->historyLabel->setPalette(pal);
diff --git a/translations/cs_CZ.ts b/translations/cs_CZ.ts
index f5cf63f44..ffbf6f8f4 100644
--- a/translations/cs_CZ.ts
+++ b/translations/cs_CZ.ts
@@ -1694,17 +1694,17 @@ nebyl nalezen!
Zobrazit informace o stránce
-
+
Přidat RSS kanál ...
-
+
Zadejte internetovou adresu nebo vyhledávejte na %1
-
+
Append domain name on ALT + Enter = Should be different for every country
.cz
@@ -3498,12 +3498,12 @@ Prosím přidejte si nějaký kliknutím na RSS ikonku v navigačním řádku.
Přidat RSS kanál z této stránky
-
+
Kanál bez názvu
-
+
Přidat
diff --git a/translations/de_DE.ts b/translations/de_DE.ts
index 0cef342c7..b08d17a87 100644
--- a/translations/de_DE.ts
+++ b/translations/de_DE.ts
@@ -1686,17 +1686,17 @@
Seiteninformationen anzeigen
-
+
RSS Feed von dieser Seite hinzufügen...
-
+
URL eingeben oder auf %1 suchen
-
+
Append domain name on ALT + Enter = Should be different for every country
.de
@@ -3490,12 +3490,12 @@ Bitte fügen Sie Feeds über das RSS Symbol in der Navigationsleiste hinzu.RSS Feed von dieser Seite hinzufügen
-
+
-
+
Hinzufügen
diff --git a/translations/el_GR.ts b/translations/el_GR.ts
index a62ab9a62..de6be4e4c 100644
--- a/translations/el_GR.ts
+++ b/translations/el_GR.ts
@@ -1630,17 +1630,17 @@
LocationBar
-
+
Προσθήκη RSS από αυτή τη σελίδα...
-
+
Εισαγωγή διεύθυνσης URL ή αναζήτηση στο %1
-
+
Append domain name on ALT + Enter = Should be different for every country
.gr
@@ -3408,12 +3408,12 @@ Please add some with RSS icon in navigation bar on site which offers feeds.Προσθήκη ροής RSS από αυτή τη σελίδα
-
+
Ροή χωρίς τίτλο
-
+
Προσθήκη
diff --git a/translations/empty.ts b/translations/empty.ts
index 754623313..f24c7f302 100644
--- a/translations/empty.ts
+++ b/translations/empty.ts
@@ -1627,17 +1627,17 @@
LocationBar
-
+
-
+
-
+
Append domain name on ALT + Enter = Should be different for every country
@@ -3399,12 +3399,12 @@ Please add some with RSS icon in navigation bar on site which offers feeds.
-
+
-
+
diff --git a/translations/es_ES.ts b/translations/es_ES.ts
index f22abb1d0..8623594ef 100644
--- a/translations/es_ES.ts
+++ b/translations/es_ES.ts
@@ -1685,17 +1685,17 @@
Ver información de la página
-
+
Añadir RSS desde esta página...
-
+
Introducir la dirección URL o buscar en %1
-
+
Append domain name on ALT + Enter = Should be different for every country
.co.uk
@@ -3487,12 +3487,12 @@ Por favor, añada alguno con el icono RSS de la barra de navegación en sitios q
Añadir canales RSS desde este sitio
-
+
Canal sin título
-
+
Añadir
diff --git a/translations/fr_FR.ts b/translations/fr_FR.ts
index 4518e8dbe..72859ecb5 100644
--- a/translations/fr_FR.ts
+++ b/translations/fr_FR.ts
@@ -1680,17 +1680,17 @@ n'a pas été trouvé!
Montrer les informations de cette page
-
+
Ajouter un flux RSS depuis cette page...
-
+
Entrer une adresse URL ou chercher sur %1
-
+
Append domain name on ALT + Enter = Should be different for every country
.fr
@@ -3471,12 +3471,12 @@ Vous pouvez en ajouter grâce à l'icône RSS dans la barre de navigation s
Ajouter un flux RSS depuis ce site
-
+
-
+
Ajouter
diff --git a/translations/it_IT.ts b/translations/it_IT.ts
index 17d827795..034acb522 100644
--- a/translations/it_IT.ts
+++ b/translations/it_IT.ts
@@ -1677,17 +1677,17 @@
Mostra informazioni sulla pagina
-
+
Aggiungi RSS da questa pagina...
-
+
-
+
Append domain name on ALT + Enter = Should be different for every country
.it
@@ -3482,12 +3482,12 @@ Si prega di aggiungere l'icona RSS nella barra di navigazione su un sito ch
Aggiungi fonte RSS da questo sito
-
+
-
+
Aggiungi
diff --git a/translations/nl_NL.ts b/translations/nl_NL.ts
index 82630847d..cd9f1c5ae 100644
--- a/translations/nl_NL.ts
+++ b/translations/nl_NL.ts
@@ -1686,17 +1686,17 @@ werd niet gevonden!
Toon informatie over deze pagina
-
+
Voeg RSS toe van deze pagina...
-
+
Voer URL-adres in of zoek op %1
-
+
Append domain name on ALT + Enter = Should be different for every country
.nl
@@ -3490,12 +3490,12 @@ Voeg enkele toe via het RSS-icoon op de navigatiewerkbalk op een site die feeds
Voeg RSS-feeds toe van deze site
-
+
-
+
Voeg toe
diff --git a/translations/pl_PL.ts b/translations/pl_PL.ts
index fa004a613..415539610 100644
--- a/translations/pl_PL.ts
+++ b/translations/pl_PL.ts
@@ -1737,17 +1737,17 @@ p, li { white-space: pre-wrap; }
Pokaż informacje o tej stronie
-
+
Dodaj kanał RSS...
-
+
-
+
Append domain name on ALT + Enter = Should be different for every country
.pl
@@ -3634,12 +3634,12 @@ Dodawaj kanały klikając na ikonę RSS pasku nawigacyjnym.
Dodaj kanał RSS z tej strony
-
+
-
+
Dodaj
diff --git a/translations/zh_CN.ts b/translations/zh_CN.ts
index 825ce08b3..70ed7d507 100644
--- a/translations/zh_CN.ts
+++ b/translations/zh_CN.ts
@@ -1683,17 +1683,17 @@
显示网页信息
-
+
从网页添加RSS...
-
+
输入URL地址或在%1上搜索
-
+
Append domain name on ALT + Enter = Should be different for every country
.co.uk
@@ -3484,12 +3484,12 @@ Please add some with RSS icon in navigation bar on site which offers feeds.从这个网站添加RSS订阅
-
+
-
+
添加