diff options
Diffstat (limited to 'lib/addressbar/urllineedit.h')
-rw-r--r-- | lib/addressbar/urllineedit.h | 51 |
1 files changed, 51 insertions, 0 deletions
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 <QAction> +#include <QLineEdit> +#include <QTextLayout> + +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 |