From 1ee841364215042f1f284e692ae191ebf7a64156 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Tue, 1 May 2018 15:54:49 +0200 Subject: Split off addressbar into lib/ --- lib/addressbar/urllineedit.h | 51 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 lib/addressbar/urllineedit.h (limited to 'lib/addressbar/urllineedit.h') diff --git a/lib/addressbar/urllineedit.h b/lib/addressbar/urllineedit.h new file mode 100644 index 0000000..f27addc --- /dev/null +++ b/lib/addressbar/urllineedit.h @@ -0,0 +1,51 @@ +/* + * This file is part of smolbote. It's copyrighted by the contributors recorded + * in the version control history of the file, available from its original + * location: https://neueland.iserlohn-fortress.net/smolbote.hg + * + * SPDX-License-Identifier: GPL-3.0 + */ + +#ifndef SMOLBOTE_URLLINEEDIT_H +#define SMOLBOTE_URLLINEEDIT_H + +#include "completer.h" +#include +#include +#include + +class QMenu; +class WebView; +class UrlLineEdit : public QLineEdit +{ + Q_OBJECT +public: + explicit UrlLineEdit(QWidget *parent = nullptr); + +public slots: + void setUrl(const QUrl &url); + + void updateCompleter(const QStringList &l); + +public: + // pageMenu action: zoom, print + QAction *pageMenu_action = nullptr; + // devMenu action: scripts, etc + QAction *toolsMenu_action = nullptr; + +protected: + void focusInEvent(QFocusEvent *event) override; + void focusOutEvent(QFocusEvent *event) override; + void keyPressEvent(QKeyEvent *event) override; + +private: + void setTextFormat(const QTextLayout::FormatRange &format); + void clearTextFormat(); + + QTextLayout::FormatRange m_hostFormat; + + // completer + Completer *m_listView; +}; + +#endif // SMOLBOTE_URLLINEEDIT_H -- cgit v1.2.1