aboutsummaryrefslogtreecommitdiff
path: root/lumina-config/LPlugins.h
blob: 7077d0ad676e3407ec7667f655b5c2793ae65b06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//===========================================
//  Lumina-DE source code
//  Copyright (c) 2014, Ken Moore
//  Available under the 3-clause BSD license
//  See the LICENSE file for full details
//===========================================
#ifndef _LUMINA_DESKTOP_CONFIG_PLUGINS_H
#define _LUMINA_DESKTOP_CONFIG_PLUGINS_H

#include <QHash>
#include <QString>
#include <QStringList>

// Lumina Plugin Info class 
class LPI{
  public:
    QString name, ID, description, icon;
    int width, height; //only used for desktop plugins
    LPI(){
      width=0; height=0;
    }
    ~LPI(){}
};

// Utility class for getting information
class LPlugins{
public:
	LPlugins();
	~LPlugins();
	//Total lists of plugins
	QStringList panelPlugins();
	QStringList desktopPlugins();
	QStringList menuPlugins();
	//Information on individual plugins
	LPI panelPluginInfo(QString);
	LPI desktopPluginInfo(QString);
	LPI menuPluginInfo(QString);

private:
	QHash<QString, LPI> PANEL, DESKTOP, MENU;
	void LoadPanelPlugins();
	void LoadDesktopPlugins();
	void LoadMenuPlugins();
};
#endif
bgstack15