diff options
Diffstat (limited to 'src/mainwindow/widgets/urllineedit.h')
-rw-r--r-- | src/mainwindow/widgets/urllineedit.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/mainwindow/widgets/urllineedit.h b/src/mainwindow/widgets/urllineedit.h new file mode 100644 index 0000000..88780a1 --- /dev/null +++ b/src/mainwindow/widgets/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/gitea/aqua/smolbote + * + * SPDX-License-Identifier: GPL-3.0 + */ + +#ifndef SMOLBOTE_URLLINEEDIT_H +#define SMOLBOTE_URLLINEEDIT_H + +#include "completer.h" +#include <QAction> +#include <QLineEdit> +#include <QTextLayout> + +class AddressBar; +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: + QAction *menuAction = 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(); + + QList<QAction *> actions; + + QTextLayout::FormatRange m_hostFormat; + + // completer + Completer *m_listView; + AddressBar *addressbar; +}; + +#endif // SMOLBOTE_URLLINEEDIT_H |