aboutsummaryrefslogtreecommitdiff
path: root/lib/addressbar/urllineedit.h
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-05-01 15:54:49 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2018-05-01 15:54:49 +0200
commit1ee841364215042f1f284e692ae191ebf7a64156 (patch)
tree48c1f49e29fe6b13cef68cd73dd2cab039fea822 /lib/addressbar/urllineedit.h
parentWindow::session (diff)
downloadsmolbote-1ee841364215042f1f284e692ae191ebf7a64156.tar.xz
Split off addressbar into lib/
Diffstat (limited to 'lib/addressbar/urllineedit.h')
-rw-r--r--lib/addressbar/urllineedit.h51
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