aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-desktop/panel-plugins/systemstart/StartMenu.h
blob: af7bd1365a3c9adace6d36be9ff3136aaffeccff (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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
//===========================================
//  Lumina-DE source code
//  Copyright (c) 2015, Ken Moore
//  Available under the 3-clause BSD license
//  See the LICENSE file for full details
//===========================================
#ifndef _LUMINA_DESKTOP_SYSTEM_START_PANEL_PLUGIN_H
#define _LUMINA_DESKTOP_SYSTEM_START_PANEL_PLUGIN_H

#include <QWidget>
#include <QScrollArea>
#include <QMouseEvent>

#include <LuminaXDG.h>

namespace Ui{
	class StartMenu;
};

class StartMenu : public QWidget{
	Q_OBJECT
public:
	StartMenu(QWidget *parent = 0);
	~StartMenu();

public slots:
	void UpdateAll(); //for re-translation/icon changes
	void UpdateMenu(bool forceall = false); //for item changes

	void ReLoadQuickLaunch();
	void UpdateQuickLaunch(QString, bool);

private:
	Ui::StartMenu *ui;
	QStringList favs;
	QString CCat, CSearch, topsearch; //current category/search
	QTimer *searchTimer;        

	//Simple utility functions
	void deleteChildren(QObject *obj); //recursive function
	void ClearScrollArea(QScrollArea *area);
	void SortScrollArea(QScrollArea *area);
	void do_search(QString search, bool force);	

	bool promptAboutUpdates(bool &skip);

private slots:
	void LaunchItem(QString path, bool fix = true);

	//Application/Favorite Listings
	void ChangeCategory(QString cat);
	void UpdateApps();
	void UpdateFavs();

	// Page update routines
	void on_stackedWidget_currentChanged(int); //page changed
	void catViewChanged(); //application categorization view mode changed

	//Page Change Buttons
	void on_tool_goto_apps_clicked();
	void on_tool_goto_settings_clicked();
	void on_tool_goto_logout_clicked();
	void on_tool_back_clicked();

	//Launch Buttons
	void on_tool_launch_controlpanel_clicked();
	void on_tool_launch_fm_clicked();
	void on_tool_launch_store_clicked();
	void on_tool_launch_desksettings_clicked();
	void on_tool_launch_deskinfo_clicked();

	//Logout Buttons
	void on_tool_lock_clicked();
	void on_tool_logout_clicked();
	void on_tool_restart_clicked();
	void on_tool_shutdown_clicked();
	void on_tool_suspend_clicked();

	//Audio Volume
	void on_slider_volume_valueChanged(int);
	void on_tool_launch_mixer_clicked();
	void on_tool_mute_audio_clicked();
	
	//Screen Brightness
	void on_slider_bright_valueChanged(int);
	
	//Workspace
	void on_tool_set_nextwkspace_clicked();
	void on_tool_set_prevwkspace_clicked();
	
	//Locale
	void on_combo_locale_currentIndexChanged(int);
	
	//Search
	void on_line_search_textEdited(QString);
        void startSearch();
	void on_line_search_returnPressed();

signals:
	void CloseMenu();
	void UpdateQuickLaunch(QStringList);
	
};

#endif
bgstack15