summaryrefslogtreecommitdiff
path: root/src/urlbar
diff options
context:
space:
mode:
Diffstat (limited to 'src/urlbar')
-rw-r--r--src/urlbar/stackedurlbar.cpp74
-rw-r--r--src/urlbar/stackedurlbar.h56
-rw-r--r--src/urlbar/urlbar.cpp11
3 files changed, 134 insertions, 7 deletions
diff --git a/src/urlbar/stackedurlbar.cpp b/src/urlbar/stackedurlbar.cpp
new file mode 100644
index 00000000..1882d98c
--- /dev/null
+++ b/src/urlbar/stackedurlbar.cpp
@@ -0,0 +1,74 @@
+/* ============================================================
+*
+* This file is a part of the rekonq project
+*
+* Copyright (C) 2010 by Andrea Diamantini <adjam7 at gmail dot com>
+*
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+* ============================================================ */
+
+
+// Self Includes
+#include "stackedurlbar.h"
+#include "stackedurlbar.moc"
+
+// Local Includes
+#include "application.h"
+#include "urlbar.h"
+
+
+StackedUrlBar::StackedUrlBar(QWidget *parent)
+ : QStackedWidget(parent)
+{
+ // cosmetic
+ setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
+ setMinimumWidth(200);
+ setMinimumHeight(26); // FIXME in Qt 4.7 we can probably move using MinimumWidth 20
+}
+
+
+StackedUrlBar::~StackedUrlBar()
+{
+}
+
+
+UrlBar *StackedUrlBar::currentUrlBar()
+{
+ return urlBar(currentIndex());
+}
+
+
+UrlBar *StackedUrlBar::urlBar(int index)
+{
+ UrlBar *urlBar = qobject_cast<UrlBar*>(QStackedWidget::widget(index));
+ if (!urlBar)
+ {
+ kWarning() << "URL bar with index" << index << "not found. Returning NULL. line:" << __LINE__;
+ }
+
+ return urlBar;
+}
+
+
+void StackedUrlBar::moveBar(int from, int to)
+{
+ QWidget *fromBar = widget(from);
+ removeWidget(fromBar);
+ insertWidget(to, fromBar);
+}
diff --git a/src/urlbar/stackedurlbar.h b/src/urlbar/stackedurlbar.h
new file mode 100644
index 00000000..d2c76c8a
--- /dev/null
+++ b/src/urlbar/stackedurlbar.h
@@ -0,0 +1,56 @@
+/* ============================================================
+*
+* This file is a part of the rekonq project
+*
+* Copyright (C) 2010 by Andrea Diamantini <adjam7 at gmail dot com>
+*
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+* ============================================================ */
+
+
+#ifndef STACKED_URLBAR_H
+#define STACKED_URLBAR_H
+
+
+// Rekonq Includes
+#include "rekonq_defines.h"
+
+// Qt Includes
+#include <QStackedWidget>
+
+// Forward Declarations
+class UrlBar;
+
+
+class REKONQ_TESTS_EXPORT StackedUrlBar : public QStackedWidget
+{
+ Q_OBJECT
+
+public:
+ StackedUrlBar(QWidget *parent = 0);
+ ~StackedUrlBar();
+
+ UrlBar *currentUrlBar();
+ UrlBar *urlBar(int index);
+
+private slots:
+ void moveBar(int, int);
+};
+
+#endif // STACKED_URLBAR_H
diff --git a/src/urlbar/urlbar.cpp b/src/urlbar/urlbar.cpp
index f11cfdeb..fb98076a 100644
--- a/src/urlbar/urlbar.cpp
+++ b/src/urlbar/urlbar.cpp
@@ -61,6 +61,7 @@ IconButton::IconButton(QWidget *parent)
setCursor(Qt::ArrowCursor);
}
+
void IconButton::mouseReleaseEvent(QMouseEvent* event)
{
emit clicked(event->globalPos());
@@ -80,11 +81,6 @@ UrlBar::UrlBar(QWidget *parent)
// initial style
setStyleSheet(QString("UrlBar { padding: 0 0 0 %1px;} ").arg(_icon->sizeHint().width()));
- // cosmetic
- setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
- setMinimumWidth(200);
- setMinimumHeight(26);
-
// doesn't show the clear button
setClearButtonShown(false);
@@ -363,7 +359,8 @@ IconButton *UrlBar::addRightIcon(UrlBar::icon ic)
_rightIconsList << rightIcon;
int iconsCount = _rightIconsList.count();
- rightIcon->move(width() - 23*iconsCount, 6);
+ int iconHeight = (height() - 18) / 2;
+ rightIcon->move(width() - 23*iconsCount, iconHeight);
rightIcon->show();
return rightIcon;
@@ -379,7 +376,7 @@ void UrlBar::clearRightIcons()
void UrlBar::resizeEvent(QResizeEvent *event)
{
- int newHeight = (height() - 19) / 2;
+ int newHeight = (height() - 18) / 2;
_icon->move(4, newHeight);
int iconsCount = _rightIconsList.count();