diff options
author | aqua <aqua@iserlohn-fortress.net> | 2022-08-22 10:16:01 +0300 |
---|---|---|
committer | aqua <aqua@iserlohn-fortress.net> | 2022-09-05 23:07:41 +0300 |
commit | f7df477b1e8fa4528b6fe4f8b44c403f46e72d85 (patch) | |
tree | 0411b17b662b7668127da151aaabab8c716cac24 /src/urlbar/urlbar.h | |
parent | check_license.py: add BSD-3-Clause (diff) | |
download | rekonq-f7df477b1e8fa4528b6fe4f8b44c403f46e72d85.tar.xz |
Add UrlBar and TabBar
- move src/tabwindow/tabbar.* to src/tabbar/
Diffstat (limited to 'src/urlbar/urlbar.h')
-rw-r--r-- | src/urlbar/urlbar.h | 214 |
1 files changed, 83 insertions, 131 deletions
diff --git a/src/urlbar/urlbar.h b/src/urlbar/urlbar.h index 29531711..80aabedf 100644 --- a/src/urlbar/urlbar.h +++ b/src/urlbar/urlbar.h @@ -1,165 +1,117 @@ /* ============================================================ -* -* This file is a part of the rekonq project -* -* Copyright (C) 2008-2012 by Andrea Diamantini <adjam7 at gmail dot com> -* Copyright (C) 2009 by Domrachev Alexandr <alexandr.domrachev@gmail.com> -* Copyright (C) 2009 by Paweł Prażak <pawelprazak at gmail dot com> -* Copyright (C) 2009-2011 by Lionel Chauvin <megabigbug@yahoo.fr> -* -* -* 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 URLBAR_H -#define URLBAR_H - -// Rekonq Includes -#include "rekonq_defines.h" - -// KDE Includes -#include <KUrl> -#include <KLineEdit> - -// Qt Includes -#include <QWeakPointer> + * The rekonq project + * ============================================================ + * SPDX-License-Identifier: GPL-2.0-or-later + * Copyright (C) 2008-2012 by Andrea Diamantini <adjam7 at gmail dot com> + * Copyright (C) 2009 by Domrachev Alexandr <alexandr.domrachev@gmail.com> + * Copyright (C) 2009 by Paweł Prażak <pawelprazak at gmail dot com> + * Copyright (C) 2009-2011 by Lionel Chauvin <megabigbug@yahoo.fr> + * SPDX-License-Identifier: GPL-3.0-only + * Copyright (C) 2022 aqua <aqua@iserlohn-fortress.net> + * ============================================================ + * Description: URL Bar + * ============================================================ */ + +#pragma once + +#include "../rekonq.hpp" +#include <QLineEdit> #include <QToolButton> +#include <rview.hpp> -// Forward Declarations -class QWidget; -class CompletionWidget; -class WebTab; -class QTimer; - - -class IconButton : public QToolButton -{ - Q_OBJECT +class IconButton : public QToolButton { + Q_OBJECT public: - explicit IconButton(QWidget *parent = 0); + explicit IconButton(QWidget *parent = nullptr); -Q_SIGNALS: - void clicked(QPoint); +signals: + void clicked(QPoint); protected: - void mouseReleaseEvent(QMouseEvent *event); + void mouseReleaseEvent(QMouseEvent *event); }; - // Definitions +class QProgressBar; typedef QList<IconButton *> IconButtonPointerList; - -// ------------------------------------------------------------------------------------ - - -class REKONQ_TESTS_EXPORT UrlBar : public KLineEdit -{ - Q_OBJECT +class UrlBar : public QLineEdit { + Q_OBJECT public: + enum Icon { KGet = 0x00000001, RSS = 0x00000010, BK = 0x00001000, SearchEngine = 0x00010000, AdBlock = 0x01000000 }; - enum icon - { - KGet = 0x00000001, - RSS = 0x00000010, - BK = 0x00001000, - SearchEngine = 0x00010000, - AdBlock = 0x01000000 - }; - - explicit UrlBar(QWidget *parent = 0); - ~UrlBar(); + explicit UrlBar(QWidget *parent = nullptr); + ~UrlBar() override = default; -public Q_SLOTS: - void setQUrl(const QUrl &url); +public slots: + void setCurrentView(RekonqView *view) + { + m_currentView = view; + loadProgress(view->progress()); + setUrl(view->url()); + } - /** - * Let us add bookmarks as the major browsers do - * - */ - void manageBookmarks(); + void setUrl(const QUrl &url); - void clearUrlbar(); + /** + * Let us add bookmarks as the major browsers do + * + */ + // void manageBookmarks(); -private Q_SLOTS: - void loadRequestedUrl(const KUrl& url, Rekonq::OpenType = Rekonq::CurrentTab); + void clearUrlbar(); - void loadStarted(); - void loadFinished(); + void loadRequestedUrl(const QUrl &url, rekonq::OpenType = rekonq::CurrentTab); - void clearRightIcons(); - void updateRightIcons(); + void loadStarted(); + void loadProgress(int); + void loadFinished(); - void detectTypedString(const QString &); - void suggest(); + // void clearRightIcons(); + // void updateRightIcons(); - void manageStarred(QPoint); - void manageAdBlock(QPoint); + // void detectTypedString(const QString &); + // void suggest(); - void addToFavorites(); - void removeFromFavorites(); + // void manageStarred(QPoint); + // void manageAdBlock(QPoint); - void refreshFavicon(); + // void addToFavorites(); + // void removeFromFavorites(); - void pasteAndGo(); - void pasteAndSearch(); - void delSlot(); - bool isValidURL(QString url); + // void refreshFavicon(); - /** - * Load typed url - */ - void loadTypedUrl(); + // void pasteAndGo(); + // void pasteAndSearch(); + // void delSlot(); + // bool isValidURL(QString url); - void showRSSInfo(QPoint); - void showSSLInfo(QPoint); + // void showRSSInfo(QPoint); + // void showSSLInfo(QPoint); protected: - void paintEvent(QPaintEvent *event); - void keyReleaseEvent(QKeyEvent *event); - void focusInEvent(QFocusEvent *event); - void dropEvent(QDropEvent *event); - void mouseDoubleClickEvent(QMouseEvent *); - void contextMenuEvent(QContextMenuEvent *event); - void resizeEvent(QResizeEvent *); - -Q_SIGNALS: - void focusIn(); + void paintEvent(QPaintEvent *event); + void resizeEvent(QResizeEvent *); + /* + void keyReleaseEvent(QKeyEvent *event); + void dropEvent(QDropEvent *event); + void mouseDoubleClickEvent(QMouseEvent *); + void contextMenuEvent(QContextMenuEvent *event); + */ private: - /** - * Updates right icon position, given its number in the right icons list - * and considering rekonq window position/dimension - */ - void updateRightIconPosition(IconButton *, int); - IconButton *addRightIcon(UrlBar::icon); - - QWeakPointer<CompletionWidget> _box; - WebTab *_tab; - - IconButton *_icon; - IconButtonPointerList _rightIconsList; - - QTimer *_suggestionTimer; + /** + * Updates right icon position, given its number in the right icons list + * and considering rekonq window position/dimension + */ + // void updateRightIconPosition(IconButton *, int); + // IconButton *addRightIcon(UrlBar::icon); + + // QWeakPointer<CompletionWidget> _box; + RekonqView *m_currentView = nullptr; + + IconButton *_icon; + IconButtonPointerList _rightIconsList; }; - - -#endif |