Albert
Loading...
Searching...
No Matches
frontend.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2024 Manuel Schneider
2// SPDX-License-Identifier: MIT
3
4#pragma once
5#include <QObject>
6#include <QString>
7#include <albert/export.h>
9class QWidget;
10
11namespace albert
12{
13class Query;
14namespace detail
15{
16
20class ALBERT_EXPORT Frontend : public albert::PluginInstance
21{
22 Q_OBJECT
23
24public:
25
27 virtual bool isVisible() const = 0;
28
30 virtual void setVisible(bool visible) = 0;
31
33 virtual QString input() const = 0;
34
36 virtual void setInput(const QString&) = 0;
37
39 virtual unsigned long long winId() const = 0;
40
42 virtual QWidget *createFrontendConfigWidget() = 0;
43
45 virtual void setQuery(Query *query) = 0;
46
47signals:
48
49 void inputChanged(QString);
50 void visibleChanged(bool);
51
52protected:
53
54 ~Frontend() override;
55
56};
57
58}
59}
Abstract plugin instance class.
Definition plugininstance.h:26
Common query object.
Definition query.h:28
The interface for albert frontends.
Definition frontend.h:21
virtual void setVisible(bool visible)=0
Set the visibility state of the frontend.
virtual QWidget * createFrontendConfigWidget()=0
The config widget show in the window settings tab.
virtual bool isVisible() const =0
Visibility of the frontend.
virtual QString input() const =0
Input line text.
virtual unsigned long long winId() const =0
The native window id. Used to apply platform quirks.
virtual void setInput(const QString &)=0
Input line text setter.
void inputChanged(QString)
virtual void setQuery(Query *query)=0
The query setter.
Albert core interface namespace.
Definition albert.h:14