aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-desktop-unified/src-desktop/DesktopManager.h
blob: d4a0cf796813c3396819448fb3e56fc018742513 (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
46
47
48
49
50
//===========================================
//  Lumina-desktop source code
//  Copyright (c) 2017-2018, Ken Moore
//  Available under the 3-clause BSD license
//  See the LICENSE file for full details
//===========================================
// This is the main class that updates the interface objects
//    on-demand as settings files and other stuff changes
//===========================================
#ifndef _LUMINA_DESKTOP_OBJECT_MANAGER_H
#define _LUMINA_DESKTOP_OBJECT_MANAGER_H

#include <global-includes.h>

class DesktopManager : public QObject {
	Q_OBJECT
public:
	DesktopManager();
	~DesktopManager();

	void start();
	void stop();

private:
	void updateWallpaper(QString screen_id, int wkspace);
	void updatePanels(QString panel_id);
	void updatePlugins(QString plugin_id);

public slots:
	void workspaceChanged(int);
	void settingsChanged(DesktopSettings::File);

	void NewWindowAvailable(NativeWindowObject*);
	void NewTrayWindowAvailable(NativeWindowObject*);

	void syncWindowList();
	void syncTrayWindowList();

private slots:
	void updateDesktopSettings();
	void updatePanelSettings();
	void updatePluginSettings();
	void updateMenuSettings();
	void updateAnimationSettings();

signals:
	void PanelLocationsChanged(); //reserved screen space changed
};

#endif
bgstack15