aboutsummaryrefslogtreecommitdiff
path: root/lumina-config/LPlugins.cpp
diff options
context:
space:
mode:
authorKris Moore <kris@pcbsd.org>2014-09-04 11:42:13 -0400
committerKris Moore <kris@pcbsd.org>2014-09-04 11:42:13 -0400
commit71737f70949bd25f9aa8bc4e7d03039ba83c6cb1 (patch)
treeab29e864d1ae59d10cc6875af9541e3ad306b2fb /lumina-config/LPlugins.cpp
parentInitial commit (diff)
downloadlumina-71737f70949bd25f9aa8bc4e7d03039ba83c6cb1.tar.gz
lumina-71737f70949bd25f9aa8bc4e7d03039ba83c6cb1.tar.bz2
lumina-71737f70949bd25f9aa8bc4e7d03039ba83c6cb1.zip
Initial import of the lumina code from pcbsd git repo
Diffstat (limited to 'lumina-config/LPlugins.cpp')
-rw-r--r--lumina-config/LPlugins.cpp175
1 files changed, 175 insertions, 0 deletions
diff --git a/lumina-config/LPlugins.cpp b/lumina-config/LPlugins.cpp
new file mode 100644
index 00000000..9e34994e
--- /dev/null
+++ b/lumina-config/LPlugins.cpp
@@ -0,0 +1,175 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LPlugins.h"
+
+LPlugins::LPlugins(){
+ LoadPanelPlugins();
+ LoadDesktopPlugins();
+ LoadMenuPlugins();
+}
+
+LPlugins::~LPlugins(){
+}
+
+//Plugin lists
+QStringList LPlugins::panelPlugins(){
+ return PANEL.keys();
+}
+QStringList LPlugins::desktopPlugins(){
+ return DESKTOP.keys();
+}
+QStringList LPlugins::menuPlugins(){
+ return MENU.keys();
+}
+
+//Information on individual plugins
+LPI LPlugins::panelPluginInfo(QString plug){
+ if(PANEL.contains(plug)){ return PANEL[plug]; }
+ else{ return LPI(); }
+}
+LPI LPlugins::desktopPluginInfo(QString plug){
+ if(DESKTOP.contains(plug)){ return DESKTOP[plug]; }
+ else{ return LPI(); }
+}
+LPI LPlugins::menuPluginInfo(QString plug){
+ if(MENU.contains(plug)){ return MENU[plug]; }
+ else{ return LPI(); }
+}
+
+//===================
+// PLUGINS
+//===================
+void LPlugins::LoadPanelPlugins(){
+ PANEL.clear();
+ //User Button
+ LPI info;
+ info.name = QObject::tr("User Button");
+ info.description = QObject::tr("This is the main system access button for the user (applications, directories, settings, log out).");
+ info.ID = "userbutton";
+ info.icon = "user-identity";
+ PANEL.insert(info.ID, info);
+ //Desktop Bar
+ info = LPI(); //clear it
+ info.name = QObject::tr("Desktop Bar");
+ info.description = QObject::tr("This provides shortcuts to everything in the desktop folder - allowing easy access to all your favorite files/applications.");
+ info.ID = "desktopbar";
+ info.icon = "user-desktop";
+ PANEL.insert(info.ID, info);
+ //Spacer
+ info = LPI(); //clear it
+ info.name = QObject::tr("Spacer");
+ info.description = QObject::tr("Invisible spacer to separate plugins.");
+ info.ID = "spacer";
+ info.icon = "transform-move";
+ PANEL.insert(info.ID, info);
+ //Desktop Switcher
+ info = LPI(); //clear it
+ info.name = QObject::tr("Desktop Switcher");
+ info.description = QObject::tr("Controls for switching between the various virtual desktops.");
+ info.ID = "desktopswitcher";
+ info.icon = "preferences-desktop-display-color";
+ PANEL.insert(info.ID, info);
+ //Battery
+ info = LPI(); //clear it
+ info.name = QObject::tr("Battery Monitor");
+ info.description = QObject::tr("Keep track of your battery status.");
+ info.ID = "battery";
+ info.icon = "battery-charging";
+ PANEL.insert(info.ID, info);
+ //Clock
+ info = LPI(); //clear it
+ info.name = QObject::tr("Time/Date");
+ info.description = QObject::tr("View the current time and date.");
+ info.ID = "clock";
+ info.icon = "preferences-system-time";
+ PANEL.insert(info.ID, info);
+ //System Dachboard plugin
+ info = LPI(); //clear it
+ info.name = QObject::tr("System Dashboard");
+ info.description = QObject::tr("View or change system settings (audio volume, screen brightness, battery life, virtual desktops).");
+ info.ID = "systemdashboard";
+ info.icon = "dashboard-show";
+ PANEL.insert(info.ID, info);
+ //Task Manager
+ info = LPI(); //clear it
+ info.name = QObject::tr("Task Manager");
+ info.description = QObject::tr("View and control any running application windows");
+ info.ID = "taskmanager";
+ info.icon = "preferences-system-windows";
+ PANEL.insert(info.ID, info);
+ //System Tray
+ info = LPI(); //clear it
+ info.name = QObject::tr("System Tray");
+ info.description = QObject::tr("Display area for dockable system applications");
+ info.ID = "systemtray";
+ info.icon = "preferences-system-windows-actions";
+ PANEL.insert(info.ID, info);
+}
+
+void LPlugins::LoadDesktopPlugins(){
+ DESKTOP.clear();
+ //Calendar Plugin
+ LPI info;
+ info.name = QObject::tr("Calendar");
+ info.description = QObject::tr("Display a calendar on the desktop");
+ info.ID = "calendar";
+ info.icon = "view-calendar";
+ DESKTOP.insert(info.ID, info);
+ //Application Launcher Plugin
+ info = LPI(); //clear it
+ info.name = QObject::tr("Application Launcher");
+ info.description = QObject::tr("Desktop button for launching an application");
+ info.ID = "applauncher";
+ info.icon = "quickopen";
+ DESKTOP.insert(info.ID, info);
+}
+
+void LPlugins::LoadMenuPlugins(){
+ MENU.clear();
+ //Terminal
+ LPI info;
+ info.name = QObject::tr("Terminal");
+ info.description = QObject::tr("Start the default system terminal.");
+ info.ID = "terminal";
+ info.icon = "utilities-terminal";
+ MENU.insert(info.ID, info);
+ //File Manager
+ info = LPI(); //clear it
+ info.name = QObject::tr("File Manager");
+ info.description = QObject::tr("Browse the system with the default file manager.");
+ info.ID = "filemanager";
+ info.icon = "Insight-FileManager";
+ MENU.insert(info.ID, info);
+ //Applications
+ info = LPI(); //clear it
+ info.name = QObject::tr("Applications");
+ info.description = QObject::tr("Show the system applications menu.");
+ info.ID = "applications";
+ info.icon = "system-run";
+ MENU.insert(info.ID, info);
+ //Line seperator
+ info = LPI(); //clear it
+ info.name = QObject::tr("Separator");
+ info.description = QObject::tr("Static horizontal line.");
+ info.ID = "line";
+ info.icon = "insert-horizontal-rule";
+ MENU.insert(info.ID, info);
+ //Settings
+ info = LPI(); //clear it
+ info.name = QObject::tr("Settings");
+ info.description = QObject::tr("Show the desktop settings menu.");
+ info.ID = "settings";
+ info.icon = "configure";
+ MENU.insert(info.ID, info);
+ //Settings
+ info = LPI(); //clear it
+ info.name = QObject::tr("Custom App");
+ info.description = QObject::tr("Start a custom application");
+ info.ID = "app";
+ info.icon = "application-x-desktop";
+ MENU.insert(info.ID, info);
+} \ No newline at end of file
bgstack15