forked from quickshell/quickshell
service/tray: mostly complete StatusNotifierItem implementation
Notably missing dbusmenu which makes it actually useful.
This commit is contained in:
parent
d47a7f2cff
commit
6214ac1002
25 changed files with 1321 additions and 4 deletions
|
@ -33,6 +33,8 @@ EngineGeneration::EngineGeneration(QmlScanner scanner)
|
|||
this->engine.setIncubationController(&this->delayedIncubationController);
|
||||
|
||||
this->engine.addImageProvider("icon", new IconImageProvider());
|
||||
|
||||
QuickshellPlugin::runConstructGeneration(*this);
|
||||
}
|
||||
|
||||
EngineGeneration::~EngineGeneration() {
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
#include "iconimageprovider.hpp"
|
||||
|
||||
#include <qicon.h>
|
||||
#include <qlogging.h>
|
||||
#include <qpixmap.h>
|
||||
#include <qsize.h>
|
||||
#include <qstring.h>
|
||||
|
||||
QPixmap
|
||||
IconImageProvider::requestPixmap(const QString& id, QSize* size, const QSize& requestedSize) {
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
#include <qvector.h> // NOLINT (what??)
|
||||
|
||||
#include "generation.hpp"
|
||||
|
||||
static QVector<QuickshellPlugin*> plugins; // NOLINT
|
||||
|
||||
void QuickshellPlugin::registerPlugin(QuickshellPlugin& plugin) { plugins.push_back(&plugin); }
|
||||
|
@ -26,6 +28,12 @@ void QuickshellPlugin::initPlugins() {
|
|||
}
|
||||
}
|
||||
|
||||
void QuickshellPlugin::runConstructGeneration(EngineGeneration& generation) {
|
||||
for (QuickshellPlugin* plugin: plugins) {
|
||||
plugin->constructGeneration(generation);
|
||||
}
|
||||
}
|
||||
|
||||
void QuickshellPlugin::runOnReload() {
|
||||
for (QuickshellPlugin* plugin: plugins) {
|
||||
plugin->onReload();
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
#include <qcontainerfwd.h>
|
||||
#include <qfunctionpointer.h>
|
||||
|
||||
class EngineGeneration;
|
||||
|
||||
class QuickshellPlugin {
|
||||
public:
|
||||
QuickshellPlugin() = default;
|
||||
|
@ -15,10 +17,12 @@ public:
|
|||
virtual bool applies() { return true; }
|
||||
virtual void init() {}
|
||||
virtual void registerTypes() {}
|
||||
virtual void constructGeneration(EngineGeneration& generation) {} // NOLINT
|
||||
virtual void onReload() {}
|
||||
|
||||
static void registerPlugin(QuickshellPlugin& plugin);
|
||||
static void initPlugins();
|
||||
static void runConstructGeneration(EngineGeneration& generation);
|
||||
static void runOnReload();
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue