From ecae524c77a84b5855fa6390b7e0166c17349c18 Mon Sep 17 00:00:00 2001 From: Thomas Klausner Date: Mon, 7 Nov 2016 10:07:05 +0100 Subject: Fix unportable test(1) operator. Only bash supports "==", the standard is "=". --- src-qt5/core/menu-scripts/ls.json.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src-qt5/core') diff --git a/src-qt5/core/menu-scripts/ls.json.sh b/src-qt5/core/menu-scripts/ls.json.sh index 43b0ead6..754a10d4 100755 --- a/src-qt5/core/menu-scripts/ls.json.sh +++ b/src-qt5/core/menu-scripts/ls.json.sh @@ -1,6 +1,6 @@ #!/bin/sh DIR=${1} -if [ "$1" == "" ] ; then +if [ "$1" = "" ] ; then DIR=`pwd` fi -- cgit From 7ab900e41f5f15adccd573d459a80fe60cf6a044 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Mon, 7 Nov 2016 13:52:20 -0500 Subject: LARGE UPDATE: 1) Dismantle the Lumina library completely. 2) Setup lots of small subproject files (.pri) for the individual classes within the old library. 3) Move all the Lumina binaries to use the new subproject files 4) Split up the LuminaUtils class/files into LUtils and LDesktopUtils (generic utilities, and desktop-specific utilities) --- src-qt5/core/colors/Black.qss.colors | 13 + src-qt5/core/colors/Blue-Light.qss.colors | 13 + src-qt5/core/colors/Grey-Dark.qss.colors | 13 + src-qt5/core/colors/Lumina-Glass.qss.colors | 13 + src-qt5/core/colors/Lumina-Gold.qss.colors | 13 + src-qt5/core/colors/Lumina-Green.qss.colors | 13 + src-qt5/core/colors/Lumina-Purple.qss.colors | 13 + src-qt5/core/colors/Lumina-Red.qss.colors | 13 + src-qt5/core/colors/PCBSD10-Default.qss.colors | 13 + src-qt5/core/colors/Solarized-Dark.qss.colors | 16 + src-qt5/core/colors/Solarized-Light.qss.colors | 16 + src-qt5/core/core.pro | 28 +- src-qt5/core/libLumina/LDesktopUtils.cpp | 550 ++++++++++ src-qt5/core/libLumina/LDesktopUtils.h | 49 + src-qt5/core/libLumina/LDesktopUtils.pri | 7 + src-qt5/core/libLumina/LUtils.cpp | 436 ++++++++ src-qt5/core/libLumina/LUtils.h | 78 ++ src-qt5/core/libLumina/LUtils.pri | 34 + src-qt5/core/libLumina/LuminaOS.h | 4 +- src-qt5/core/libLumina/LuminaSingleApplication.h | 2 +- src-qt5/core/libLumina/LuminaSingleApplication.pri | 12 + src-qt5/core/libLumina/LuminaThemes.cpp | 2 +- src-qt5/core/libLumina/LuminaThemes.pri | 10 + src-qt5/core/libLumina/LuminaUtils.cpp | 1063 -------------------- src-qt5/core/libLumina/LuminaUtils.h | 131 --- src-qt5/core/libLumina/LuminaX11.pri | 13 + src-qt5/core/libLumina/LuminaXDG.cpp | 2 +- src-qt5/core/libLumina/LuminaXDG.pri | 10 + src-qt5/core/libLumina/colors/Black.qss.colors | 13 - .../core/libLumina/colors/Blue-Light.qss.colors | 13 - src-qt5/core/libLumina/colors/Grey-Dark.qss.colors | 13 - .../core/libLumina/colors/Lumina-Glass.qss.colors | 13 - .../core/libLumina/colors/Lumina-Gold.qss.colors | 13 - .../core/libLumina/colors/Lumina-Green.qss.colors | 13 - .../core/libLumina/colors/Lumina-Purple.qss.colors | 13 - .../core/libLumina/colors/Lumina-Red.qss.colors | 13 - .../libLumina/colors/PCBSD10-Default.qss.colors | 13 - .../libLumina/colors/Solarized-Dark.qss.colors | 16 - .../libLumina/colors/Solarized-Light.qss.colors | 16 - src-qt5/core/libLumina/libLumina.pro | 86 +- .../core/libLumina/quickplugins/quick-sample.qml | 12 - src-qt5/core/libLumina/themes/Glass.qss.template | 539 ---------- .../libLumina/themes/Lumina-default.qss.template | 494 --------- src-qt5/core/libLumina/themes/None.qss.template | 118 --- src-qt5/core/libLumina/xtrafiles/globs2 | 991 ------------------ src-qt5/core/lumina-desktop/Globals.h | 3 +- src-qt5/core/lumina-desktop/JsonMenu.h | 2 +- src-qt5/core/lumina-desktop/LSession.cpp | 6 +- .../desktop-plugins/notepad/NotepadPlugin.cpp | 2 +- .../desktop-plugins/quickcontainer/QuickDPlugin.h | 2 +- .../desktop-plugins/rssreader/RSSFeedPlugin.cpp | 2 +- src-qt5/core/lumina-desktop/lumina-desktop.pro | 15 +- src-qt5/core/lumina-desktop/main.cpp | 5 +- .../panel-plugins/battery/LBattery.h | 2 +- .../lumina-desktop/panel-plugins/battery/NOTES | 2 +- .../panel-plugins/desktopbar/LDeskBar.cpp | 2 +- .../desktopswitcher/LDesktopSwitcher.h | 2 +- .../panel-plugins/quickcontainer/QuickPPlugin.h | 2 +- .../panel-plugins/systemstart/ItemWidget.cpp | 12 +- .../panel-plugins/systemstart/LStartButton.cpp | 2 +- .../panel-plugins/systemstart/LStartButton.h | 2 +- .../panel-plugins/systemstart/StartMenu.cpp | 2 +- .../panel-plugins/userbutton/UserItemWidget.cpp | 11 +- .../panel-plugins/userbutton/UserWidget.cpp | 2 +- src-qt5/core/lumina-info/MainUI.cpp | 5 +- src-qt5/core/lumina-info/lumina-info.pro | 10 +- src-qt5/core/lumina-info/main.cpp | 2 +- src-qt5/core/lumina-open/LFileDialog.h | 2 +- src-qt5/core/lumina-open/lumina-open.pro | 7 +- src-qt5/core/lumina-open/main.cpp | 2 +- src-qt5/core/lumina-session/lumina-session.pro | 6 +- src-qt5/core/lumina-session/main.cpp | 5 +- src-qt5/core/lumina-session/session.cpp | 2 +- src-qt5/core/quickplugins/quick-sample.qml | 12 + src-qt5/core/themes/Glass.qss.template | 539 ++++++++++ src-qt5/core/themes/Lumina-default.qss.template | 494 +++++++++ src-qt5/core/themes/None.qss.template | 118 +++ src-qt5/core/xtrafiles/globs2 | 991 ++++++++++++++++++ 78 files changed, 3635 insertions(+), 3607 deletions(-) create mode 100644 src-qt5/core/colors/Black.qss.colors create mode 100644 src-qt5/core/colors/Blue-Light.qss.colors create mode 100644 src-qt5/core/colors/Grey-Dark.qss.colors create mode 100644 src-qt5/core/colors/Lumina-Glass.qss.colors create mode 100644 src-qt5/core/colors/Lumina-Gold.qss.colors create mode 100644 src-qt5/core/colors/Lumina-Green.qss.colors create mode 100644 src-qt5/core/colors/Lumina-Purple.qss.colors create mode 100644 src-qt5/core/colors/Lumina-Red.qss.colors create mode 100644 src-qt5/core/colors/PCBSD10-Default.qss.colors create mode 100644 src-qt5/core/colors/Solarized-Dark.qss.colors create mode 100644 src-qt5/core/colors/Solarized-Light.qss.colors create mode 100644 src-qt5/core/libLumina/LDesktopUtils.cpp create mode 100644 src-qt5/core/libLumina/LDesktopUtils.h create mode 100644 src-qt5/core/libLumina/LDesktopUtils.pri create mode 100644 src-qt5/core/libLumina/LUtils.cpp create mode 100644 src-qt5/core/libLumina/LUtils.h create mode 100644 src-qt5/core/libLumina/LUtils.pri create mode 100644 src-qt5/core/libLumina/LuminaSingleApplication.pri create mode 100644 src-qt5/core/libLumina/LuminaThemes.pri delete mode 100644 src-qt5/core/libLumina/LuminaUtils.cpp delete mode 100644 src-qt5/core/libLumina/LuminaUtils.h create mode 100644 src-qt5/core/libLumina/LuminaX11.pri create mode 100644 src-qt5/core/libLumina/LuminaXDG.pri delete mode 100644 src-qt5/core/libLumina/colors/Black.qss.colors delete mode 100644 src-qt5/core/libLumina/colors/Blue-Light.qss.colors delete mode 100644 src-qt5/core/libLumina/colors/Grey-Dark.qss.colors delete mode 100644 src-qt5/core/libLumina/colors/Lumina-Glass.qss.colors delete mode 100644 src-qt5/core/libLumina/colors/Lumina-Gold.qss.colors delete mode 100644 src-qt5/core/libLumina/colors/Lumina-Green.qss.colors delete mode 100644 src-qt5/core/libLumina/colors/Lumina-Purple.qss.colors delete mode 100644 src-qt5/core/libLumina/colors/Lumina-Red.qss.colors delete mode 100644 src-qt5/core/libLumina/colors/PCBSD10-Default.qss.colors delete mode 100644 src-qt5/core/libLumina/colors/Solarized-Dark.qss.colors delete mode 100644 src-qt5/core/libLumina/colors/Solarized-Light.qss.colors delete mode 100644 src-qt5/core/libLumina/quickplugins/quick-sample.qml delete mode 100644 src-qt5/core/libLumina/themes/Glass.qss.template delete mode 100644 src-qt5/core/libLumina/themes/Lumina-default.qss.template delete mode 100644 src-qt5/core/libLumina/themes/None.qss.template delete mode 100644 src-qt5/core/libLumina/xtrafiles/globs2 create mode 100644 src-qt5/core/quickplugins/quick-sample.qml create mode 100644 src-qt5/core/themes/Glass.qss.template create mode 100644 src-qt5/core/themes/Lumina-default.qss.template create mode 100644 src-qt5/core/themes/None.qss.template create mode 100644 src-qt5/core/xtrafiles/globs2 (limited to 'src-qt5/core') diff --git a/src-qt5/core/colors/Black.qss.colors b/src-qt5/core/colors/Black.qss.colors new file mode 100644 index 00000000..b6269188 --- /dev/null +++ b/src-qt5/core/colors/Black.qss.colors @@ -0,0 +1,13 @@ +ACCENTCOLOR=rgba(204,204,204,200) +ACCENTDISABLECOLOR=rgba(204,204,204,100) +ALTBASECOLOR=rgb(37,37,37) +BASECOLOR=rgb(36,36,36) +HIGHLIGHTCOLOR=rgba(218,222,226,170) +HIGHLIGHTDISABLECOLOR=rgba(218,222,226,160) +PRIMARYCOLOR=rgba(0,0,4,250) +PRIMARYDISABLECOLOR=rgba(0,0,0,180) +SECONDARYCOLOR=rgba(192,192,192,200) +SECONDARYDISABLECOLOR=rgba(192,192,192,100) +TEXTCOLOR=white +TEXTDISABLECOLOR=darkgrey +TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/colors/Blue-Light.qss.colors b/src-qt5/core/colors/Blue-Light.qss.colors new file mode 100644 index 00000000..5bcb85f6 --- /dev/null +++ b/src-qt5/core/colors/Blue-Light.qss.colors @@ -0,0 +1,13 @@ +ACCENTCOLOR=rgba(157,161,165,200) +ACCENTDISABLECOLOR=rgba(156,156,157,200) +ALTBASECOLOR=rgb(239,247,255) +BASECOLOR=rgb(165,210,255) +HIGHLIGHTCOLOR=rgb(110,158,208) +HIGHLIGHTDISABLECOLOR=rgba(110,158,208,150) +PRIMARYCOLOR=rgba(181,212,238,200) +PRIMARYDISABLECOLOR=rgba(234,237,238,100) +SECONDARYCOLOR=rgba(200,222,243,200) +SECONDARYDISABLECOLOR=rgba(200,222,243,100) +TEXTCOLOR=black +TEXTDISABLECOLOR=grey +TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/colors/Grey-Dark.qss.colors b/src-qt5/core/colors/Grey-Dark.qss.colors new file mode 100644 index 00000000..207edd04 --- /dev/null +++ b/src-qt5/core/colors/Grey-Dark.qss.colors @@ -0,0 +1,13 @@ +ACCENTCOLOR=rgba(43,43,45,200) +ACCENTDISABLECOLOR=rgba(43,43,45,100) +ALTBASECOLOR=rgb(63,61,61) +BASECOLOR=rgb(93,92,92) +HIGHLIGHTCOLOR=rgba(218,222,226,170) +HIGHLIGHTDISABLECOLOR=rgba(218,222,226,160) +PRIMARYCOLOR=rgba(75,77,80,240) +PRIMARYDISABLECOLOR=rgba(75,77,80,180) +SECONDARYCOLOR=rgba(144,140,142,200) +SECONDARYDISABLECOLOR=rgba(144,140,142,100) +TEXTCOLOR=white +TEXTDISABLECOLOR=darkgrey +TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/colors/Lumina-Glass.qss.colors b/src-qt5/core/colors/Lumina-Glass.qss.colors new file mode 100644 index 00000000..89534aaa --- /dev/null +++ b/src-qt5/core/colors/Lumina-Glass.qss.colors @@ -0,0 +1,13 @@ +ACCENTCOLOR=rgba(255,252,234,100) +ACCENTDISABLECOLOR=rgba(0,0,0,100) +ALTBASECOLOR=rgba(255,255,255,125) +BASECOLOR=rgb(247,246,244) +HIGHLIGHTCOLOR=rgba(212,212,212,170) +HIGHLIGHTDISABLECOLOR=rgba(184,184,184,100) +PRIMARYCOLOR=rgba(235,242,242,200) +PRIMARYDISABLECOLOR=rgba(214,220,220,200) +SECONDARYCOLOR=rgba(100,100,100,200) +SECONDARYDISABLECOLOR=rgba(100,100,100,100) +TEXTCOLOR=black +TEXTDISABLECOLOR=grey +TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/colors/Lumina-Gold.qss.colors b/src-qt5/core/colors/Lumina-Gold.qss.colors new file mode 100644 index 00000000..cfad7069 --- /dev/null +++ b/src-qt5/core/colors/Lumina-Gold.qss.colors @@ -0,0 +1,13 @@ +ACCENTCOLOR=rgba(149,144,122,200) +ACCENTDISABLECOLOR=rgba(74,71,60,200) +ALTBASECOLOR=rgb(230,227,204) +BASECOLOR=rgb(247,247,240) +HIGHLIGHTCOLOR=rgba(252,237,149,170) +HIGHLIGHTDISABLECOLOR=rgba(252,237,149,100) +PRIMARYCOLOR=rgba(238,234,226,200) +PRIMARYDISABLECOLOR=rgba(238,235,224,100) +SECONDARYCOLOR=rgba(247,209,112,200) +SECONDARYDISABLECOLOR=rgba(234,198,106,150) +TEXTCOLOR=black +TEXTDISABLECOLOR=grey +TEXTHIGHLIGHTCOLOR=black \ No newline at end of file diff --git a/src-qt5/core/colors/Lumina-Green.qss.colors b/src-qt5/core/colors/Lumina-Green.qss.colors new file mode 100644 index 00000000..99f16acb --- /dev/null +++ b/src-qt5/core/colors/Lumina-Green.qss.colors @@ -0,0 +1,13 @@ +ACCENTCOLOR=rgba(149,144,122,200) +ACCENTDISABLECOLOR=rgba(74,71,60,200) +ALTBASECOLOR=rgb(230,230,230) +BASECOLOR=rgb(247,246,244) +HIGHLIGHTCOLOR=rgba(66,153,76,170) +HIGHLIGHTDISABLECOLOR=rgba(66,153,76,100) +PRIMARYCOLOR=rgba(229,231,238,200) +PRIMARYDISABLECOLOR=rgba(229,231,238,100) +SECONDARYCOLOR=rgba(76,197,84,200) +SECONDARYDISABLECOLOR=rgba(76,197,84,150) +TEXTCOLOR=black +TEXTDISABLECOLOR=grey +TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/colors/Lumina-Purple.qss.colors b/src-qt5/core/colors/Lumina-Purple.qss.colors new file mode 100644 index 00000000..f2ba7e05 --- /dev/null +++ b/src-qt5/core/colors/Lumina-Purple.qss.colors @@ -0,0 +1,13 @@ +ACCENTCOLOR=rgba(247,231,255,200) +ACCENTDISABLECOLOR=rgba(167,166,166,200) +ALTBASECOLOR=rgb(63,61,61) +BASECOLOR=rgb(93,92,92) +HIGHLIGHTCOLOR=rgba(76,38,171,170) +HIGHLIGHTDISABLECOLOR=rgba(57,19,139,170) +PRIMARYCOLOR=rgba(65,67,80,240) +PRIMARYDISABLECOLOR=rgba(65,67,80,180) +SECONDARYCOLOR=rgba(74,65,120,200) +SECONDARYDISABLECOLOR=rgba(71,65,120,100) +TEXTCOLOR=white +TEXTDISABLECOLOR=darkgrey +TEXTHIGHLIGHTCOLOR=white \ No newline at end of file diff --git a/src-qt5/core/colors/Lumina-Red.qss.colors b/src-qt5/core/colors/Lumina-Red.qss.colors new file mode 100644 index 00000000..f73bdb75 --- /dev/null +++ b/src-qt5/core/colors/Lumina-Red.qss.colors @@ -0,0 +1,13 @@ +ACCENTCOLOR=rgba(255,244,245,200) +ACCENTDISABLECOLOR=rgba(167,166,166,200) +ALTBASECOLOR=rgb(63,61,61) +BASECOLOR=rgb(93,92,92) +HIGHLIGHTCOLOR=rgba(175,9,9,170) +HIGHLIGHTDISABLECOLOR=rgba(154,20,20,170) +PRIMARYCOLOR=rgba(80,66,66,240) +PRIMARYDISABLECOLOR=rgba(80,66,66,180) +SECONDARYCOLOR=rgba(120,22,23,200) +SECONDARYDISABLECOLOR=rgba(120,22,23,100) +TEXTCOLOR=white +TEXTDISABLECOLOR=darkgrey +TEXTHIGHLIGHTCOLOR=white \ No newline at end of file diff --git a/src-qt5/core/colors/PCBSD10-Default.qss.colors b/src-qt5/core/colors/PCBSD10-Default.qss.colors new file mode 100644 index 00000000..efcea51d --- /dev/null +++ b/src-qt5/core/colors/PCBSD10-Default.qss.colors @@ -0,0 +1,13 @@ +ACCENTCOLOR=rgba(182,186,191,200) +ACCENTDISABLECOLOR=rgba(190,190,191,200) +ALTBASECOLOR=rgb(241,241,241) +BASECOLOR=rgb(247,246,244) +HIGHLIGHTCOLOR=rgb(129,184,243) +HIGHLIGHTDISABLECOLOR=rgba(129,184,243,150) +PRIMARYCOLOR=rgba(224,236,238,200) +PRIMARYDISABLECOLOR=rgba(234,237,238,100) +SECONDARYCOLOR=rgba(200,222,243,200) +SECONDARYDISABLECOLOR=rgba(200,222,243,100) +TEXTCOLOR=black +TEXTDISABLECOLOR=grey +TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/colors/Solarized-Dark.qss.colors b/src-qt5/core/colors/Solarized-Dark.qss.colors new file mode 100644 index 00000000..d4f0f1c9 --- /dev/null +++ b/src-qt5/core/colors/Solarized-Dark.qss.colors @@ -0,0 +1,16 @@ +# Solarized is a theme created by Ethan Schoonover +# See the project site at http://ethanschoonover.com/solarized +# Or see the source at https://github.com/altercation/solarized +ACCENTCOLOR=rgb(181,137,0) +ACCENTDISABLECOLOR=rgb(181,137,0) +ALTBASECOLOR=rgb(0,43,54) +BASECOLOR=rgb(0,43,54) +HIGHLIGHTCOLOR=rgb(7,54,66) +HIGHLIGHTDISABLECOLOR=rgb(7,53,66) +PRIMARYCOLOR=rgb(0,43,54) +PRIMARYDISABLECOLOR=rgb(7,54,66) +SECONDARYCOLOR=rgb(0,43,54) +SECONDARYDISABLECOLOR=rgb(7,54,66) +TEXTCOLOR=rgb(131,148,150) +TEXTDISABLECOLOR=rgb(88,110,117) +TEXTHIGHLIGHTCOLOR=rgb(147,161,161) diff --git a/src-qt5/core/colors/Solarized-Light.qss.colors b/src-qt5/core/colors/Solarized-Light.qss.colors new file mode 100644 index 00000000..fead1915 --- /dev/null +++ b/src-qt5/core/colors/Solarized-Light.qss.colors @@ -0,0 +1,16 @@ +# Solarized is a theme created by Ethan Schoonover +# See the project site at http://ethanschoonover.com/solarized +# Or see the source at https://github.com/altercation/solarized +ACCENTCOLOR=rgb(38,139,210) +ACCENTDISABLECOLOR=rgb(38,139,210) +ALTBASECOLOR=rgb(253,246,227) +BASECOLOR=rgb(253,246,227) +HIGHLIGHTCOLOR=rgb(238,232,213) +HIGHLIGHTDISABLECOLOR=rgb(238,232,213) +PRIMARYCOLOR=rgb(253,246,227) +PRIMARYDISABLECOLOR=rgb(238,232,213) +SECONDARYCOLOR=rgb(253,246,227) +SECONDARYDISABLECOLOR=rgb(238,232,213) +TEXTCOLOR=rgb(131,148,150) +TEXTDISABLECOLOR=rgb(147,161,161) +TEXTHIGHLIGHTCOLOR=rgb(88,110,117) diff --git a/src-qt5/core/core.pro b/src-qt5/core/core.pro index a0d0db3e..27aff3a2 100644 --- a/src-qt5/core/core.pro +++ b/src-qt5/core/core.pro @@ -4,23 +4,31 @@ include("../OS-detect.pri") TEMPLATE = subdirs CONFIG += recursive -SUBDIRS+= libLumina \ - lumina-desktop \ +SUBDIRS+= lumina-desktop \ lumina-session \ lumina-open \ lumina-info # lumina-wm-INCOMPLETE \ # lumina-checkpass - -#Make sure to list libLumina as a requirement for the others (for parallellized builds) -lumina-desktop.depends = libLumina -lumina-session.depends = libLumina -lumina-open.depends = libLumina -lumina-info.depends = libLumina - #Also install any special menu scripts scripts.path = $${L_SHAREDIR}/lumina-desktop/menu-scripts scripts.files = menu-scripts/* -INSTALLS+=scripts +#Color themes +colors.path=$${L_SHAREDIR}/lumina-desktop/colors +colors.files=colors/*.qss.colors + +#Theme templates +themes.path=$${L_SHAREDIR}/lumina-desktop/themes/ +themes.files=themes/*.qss.template + +#QtQuick plugins +#quickplugins.path=$${L_SHAREDIR}/lumina-desktop/quickplugins/ +#quickplugins.files=quickplugins/* + +#Mimetype globs +globs.path=$${L_SHAREDIR}/lumina-desktop +globs.files=xtrafiles/globs2 + +INSTALLS+=scripts colors themes globs diff --git a/src-qt5/core/libLumina/LDesktopUtils.cpp b/src-qt5/core/libLumina/LDesktopUtils.cpp new file mode 100644 index 00000000..4f8d94ef --- /dev/null +++ b/src-qt5/core/libLumina/LDesktopUtils.cpp @@ -0,0 +1,550 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2012-2016, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#include "LDesktopUtils.h" + +#include +#include +#include + +#include "LuminaThemes.h" + +static QStringList fav; + +QString LDesktopUtils::LuminaDesktopVersion(){ + QString ver = "1.1.1"; + #ifdef GIT_VERSION + ver.append( QString(" (Git Revision: %1)").arg(GIT_VERSION) ); + #endif + return ver; +} + +QString LDesktopUtils::LuminaDesktopBuildDate(){ + #ifdef BUILD_DATE + return BUILD_DATE; + #endif + return ""; +} + +//Various function for finding valid QtQuick plugins on the system +bool LDesktopUtils::validQuickPlugin(QString ID){ + return ( !LDesktopUtils::findQuickPluginFile(ID).isEmpty() ); +} + +QString LDesktopUtils::findQuickPluginFile(QString ID){ + if(ID.startsWith("quick-")){ ID = ID.section("-",1,50); } //just in case + //Give preference to any user-supplied plugins (overwrites for system plugins) + QString path = QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/quickplugins/quick-"+ID+".qml"; + if( QFile::exists(path) ){return path; } + path = LOS::LuminaShare()+"quickplugins/quick-"+ID+".qml"; + if( QFile::exists(path) ){return path; } + return ""; //could not be found +} + +QStringList LDesktopUtils::listQuickPlugins(){ + QDir dir(QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/quickplugins"); + QStringList files = dir.entryList(QStringList() << "quick-*.qml", QDir::Files | QDir::NoDotAndDotDot, QDir::Name); + dir.cd(LOS::LuminaShare()+"quickplugins"); + files << dir.entryList(QStringList() << "quick-*.qml", QDir::Files | QDir::NoDotAndDotDot, QDir::Name); + for(int i=0; i, sym-links in the ~/.lumina/favorites dir} + //Include 0.8.4-devel versions in this upgrade (need to distinguish b/w devel and release versions later somehow) + QDir favdir(QDir::homePath()+"/.lumina/favorites"); + QFileInfoList symlinks = favdir.entryInfoList(QDir::Files | QDir::Dirs | QDir::System | QDir::NoDotAndDotDot); + QStringList favfile = LDesktopUtils::listFavorites(); //just in case some already exist + bool newentry = false; + for(int i=0; iscreenCount(); i++){ + if(desk->screenGeometry(i).x()==0){ + screen = QString::number(i); + screenGeom = desk->screenGeometry(i); + break; + } + } + //Now setup the default "desktopsettings.conf" and "sessionsettings.conf" files + QStringList deskset, sesset;//, lopenset; + + // -- SESSION SETTINGS -- + QStringList tmp = sysDefaults.filter("session_"); + if(tmp.isEmpty()){ tmp = sysDefaults.filter("session."); }//for backwards compat + sesset << "[General]"; //everything is in this section + sesset << "DesktopVersion="+LDesktopUtils::LuminaDesktopVersion(); + for(int i=0; i 1000000], [1.2.3 -> 1002003], [0.6.1 -> 6001] + //returns true if something changed + int oldversion = LDesktopUtils::VersionStringToNumber(lastversion); + int nversion = LDesktopUtils::VersionStringToNumber(QApplication::applicationVersion()); + bool newversion = ( oldversion < nversion ); //increasing version number + bool newrelease = ( lastversion.contains("-devel", Qt::CaseInsensitive) && QApplication::applicationVersion().contains("-release", Qt::CaseInsensitive) ); //Moving from devel to release + + QString confdir = QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/"; + //Check for the desktop settings file + QString dset = confdir+"desktopsettings.conf"; + bool firstrun = false; + if(!QFile::exists(dset) || oldversion < 5000){ + if( oldversion < 100000 && nversion>=100000 ){ system("rm -rf ~/.lumina"); qDebug() << "Current desktop settings obsolete: Re-implementing defaults"; } + else{ firstrun = true; } + LDesktopUtils::LoadSystemDefaults(); + } + //Convert the favorites framework as necessary (change occured with 0.8.4) + if(newversion || newrelease){ + LDesktopUtils::upgradeFavorites(oldversion); + } + //Convert from the old desktop numbering system to the new one (change occured with 1.0.1) + if(oldversion<=1000001){ + QStringList DS = LUtils::readFile(dset); + QList screens = QApplication::screens(); + for(int i=0; i=0 && ok && num< screens.length()){ + //This one needs to be converted + DS[i] = "[desktop-"+screens[num]->name()+"]"; + } + }else if(DS[i].startsWith("[panel")){ + bool ok = false; + int num = DS[i].section("panel",-1).section(".",0,0).toInt(&ok); + if(num>=0 && ok && num< screens.length()){ + //This one needs to be converted + QString rest = DS[i].section(".",1,-1); //everything after the desktop number in the current setting + DS[i] = "[panel_"+screens[num]->name()+"."+rest; + } + } + } + LUtils::writeFile(dset, DS, true); + } + + //Check the fluxbox configuration files + dset = QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/"; + if(!QFile::exists(dset+"fluxbox-init")){ + firstrun = true; + } + bool fluxcopy = false; + if(!QFile::exists(dset+"fluxbox-init")){ fluxcopy=true; } + else if(!QFile::exists(dset+"fluxbox-keys")){fluxcopy=true; } + else if(oldversion < 60){ fluxcopy=true; qDebug() << "Current fluxbox settings obsolete: Re-implementing defaults"; } + if(fluxcopy){ + qDebug() << "Copying default fluxbox configuration files"; + if(QFile::exists(dset+"fluxbox-init")){ QFile::remove(dset+"fluxbox-init"); } + if(QFile::exists(dset+"fluxbox-keys")){ QFile::remove(dset+"fluxbox-keys"); } + QString finit = LUtils::readFile(LOS::LuminaShare()+"fluxbox-init-rc").join("\n"); + finit.replace("${XDG_CONFIG_HOME}", QString(getenv("XDG_CONFIG_HOME"))); + LUtils::writeFile(dset+"fluxbox-init", finit.split("\n")); + QFile::copy(LOS::LuminaShare()+"fluxbox-keys", dset+"fluxbox-keys"); + QFile::setPermissions(dset+"fluxbox-init", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup); + QFile::setPermissions(dset+"fluxbox-keys", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup); + } + + if(firstrun){ qDebug() << "First time using Lumina!!"; } + return (firstrun || newversion || newrelease); +} + +int LDesktopUtils::VersionStringToNumber(QString version){ + version = version.section("-",0,0); //trim any extra labels off the end + int maj, mid, min; //major/middle/minor version numbers (..) + maj = mid = min = 0; + bool ok = true; + maj = version.section(".",0,0).toInt(&ok); + if(ok){ mid = version.section(".",1,1).toInt(&ok); }else{ maj = 0; } + if(ok){ min = version.section(".",2,2).toInt(&ok); }else{ mid = 0; } + if(!ok){ min = 0; } + //Now assemble the number + //NOTE: This format allows numbers to be anywhere from 0->999 without conflict + return (maj*1000000 + mid*1000 + min); +} diff --git a/src-qt5/core/libLumina/LDesktopUtils.h b/src-qt5/core/libLumina/LDesktopUtils.h new file mode 100644 index 00000000..dbad8757 --- /dev/null +++ b/src-qt5/core/libLumina/LDesktopUtils.h @@ -0,0 +1,49 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2012-2016, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#ifndef _LUMINA_LIBRARY_DESKTOP_UTILS_H +#define _LUMINA_LIBRARY_DESKTOP_UTILS_H + +#include +#include +#include +#include +#include + +//Other classes needed +#include +#include +#include + +class LDesktopUtils{ +public: + //Get the current version/build of the Lumina desktop + static QString LuminaDesktopVersion(); + static QString LuminaDesktopBuildDate(); + + //Various function for finding valid QtQuick plugins on the system + static bool validQuickPlugin(QString ID); + static QString findQuickPluginFile(QString ID); + static QStringList listQuickPlugins(); //List of valid ID's + static QStringList infoQuickPlugin(QString ID); //Returns: [Name, Description, Icon] + + //Various functions for the favorites sub-system + // Formatting Note: "::::[dir/app/]::::" + // the field might not be used for "app" flagged entries + static QStringList listFavorites(); + static bool saveFavorites(QStringList); + static bool isFavorite(QString path); + static bool addFavorite(QString path, QString name = ""); + static void removeFavorite(QString path); + static void upgradeFavorites(int fromoldversionnumber); + + //Load the default setup for the system + static void LoadSystemDefaults(bool skipOS = false); + static bool checkUserFiles(QString lastversion); //returns true if something changed + static int VersionStringToNumber(QString version); //convert the lumina version string to a number for comparisons +}; + +#endif diff --git a/src-qt5/core/libLumina/LDesktopUtils.pri b/src-qt5/core/libLumina/LDesktopUtils.pri new file mode 100644 index 00000000..80bbcfa8 --- /dev/null +++ b/src-qt5/core/libLumina/LDesktopUtils.pri @@ -0,0 +1,7 @@ +SOURCES *= $${PWD}/LDesktopUtils.cpp +HEADERS *= $${PWD}/LDesktopUtils.h + +INCLUDEPATH *= ${PWD} + +#Now the other dependendies of it +include(LUtils.pri) diff --git a/src-qt5/core/libLumina/LUtils.cpp b/src-qt5/core/libLumina/LUtils.cpp new file mode 100644 index 00000000..78831231 --- /dev/null +++ b/src-qt5/core/libLumina/LUtils.cpp @@ -0,0 +1,436 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2013-2016, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#include "LUtils.h" + +#include "LuminaOS.h" +#include "LuminaXDG.h" + +#include +#include + +inline QStringList ProcessRun(QString cmd, QStringList args){ + //Assemble outputs + QStringList out; out << "1" << ""; //error code, string output + QProcess proc; + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + env.insert("LANG", "C"); + env.insert("LC_MESSAGES", "C"); + proc.setProcessEnvironment(env); + proc.setProcessChannelMode(QProcess::MergedChannels); + if(args.isEmpty()){ + proc.start(cmd, QIODevice::ReadOnly); + }else{ + proc.start(cmd,args ,QIODevice::ReadOnly); + } + QString info; + while(!proc.waitForFinished(1000)){ + if(proc.state() == QProcess::NotRunning){ break; } //somehow missed the finished signal + QString tmp = proc.readAllStandardOutput(); + if(tmp.isEmpty()){ proc.terminate(); } + else{ info.append(tmp); } + } + out[0] = QString::number(proc.exitCode()); + out[1] = info+QString(proc.readAllStandardOutput()); + return out; +} +//============= +// LUtils Functions +//============= +int LUtils::runCmd(QString cmd, QStringList args){ + /*QProcess proc; + proc.setProcessChannelMode(QProcess::MergedChannels); + if(args.isEmpty()){ + proc.start(cmd); + }else{ + proc.start(cmd, args); + } + //if(!proc.waitForStarted(30000)){ return 1; } //process never started - max wait of 30 seconds + while(!proc.waitForFinished(300)){ + if(proc.state() == QProcess::NotRunning){ break; } //somehow missed the finished signal + QCoreApplication::processEvents(); + } + int ret = proc.exitCode(); + return ret;*/ + QFuture future = QtConcurrent::run(ProcessRun, cmd, args); + return future.result()[0].toInt(); //turn it back into an integer return code + +} + +QStringList LUtils::getCmdOutput(QString cmd, QStringList args){ + /*QProcess proc; + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + env.insert("LANG", "C"); + env.insert("LC_MESSAGES", "C"); + proc.setProcessEnvironment(env); + proc.setProcessChannelMode(QProcess::MergedChannels); + if(args.isEmpty()){ + proc.start(cmd); + }else{ + proc.start(cmd,args); + } + //if(!proc.waitForStarted(30000)){ return QStringList(); } //process never started - max wait of 30 seconds + while(!proc.waitForFinished(300)){ + if(proc.state() == QProcess::NotRunning){ break; } //somehow missed the finished signal + QCoreApplication::processEvents(); + } + QStringList out = QString(proc.readAllStandardOutput()).split("\n"); + return out;*/ + QFuture future = QtConcurrent::run(ProcessRun, cmd, args); + return future.result()[1].split("\n"); //Split the return message into lines +} + +QStringList LUtils::readFile(QString filepath){ + QStringList out; + QFile file(filepath); + if(file.open(QIODevice::Text | QIODevice::ReadOnly)){ + QTextStream in(&file); + while(!in.atEnd()){ + out << in.readLine(); + } + file.close(); + } + return out; +} + +bool LUtils::writeFile(QString filepath, QStringList contents, bool overwrite){ + QFile file(filepath); + if(file.exists() && !overwrite){ return false; } + bool ok = false; + if(contents.isEmpty()){ contents << "\n"; } + if( file.open(QIODevice::WriteOnly | QIODevice::Truncate) ){ + QTextStream out(&file); + out << contents.join("\n"); + if(!contents.last().isEmpty()){ out << "\n"; } //always end with a new line + file.close(); + ok = true; + } + return ok; +} + +bool LUtils::isValidBinary(QString& bin){ + if(!bin.startsWith("/")){ + //Relative path: search for it on the current "PATH" settings + QStringList paths = QString(qgetenv("PATH")).split(":"); + for(int i=0; i fmt = QImageReader::supportedImageFormats(); + for(int i=0; iremoveTranslator(cTrans); } + //Setup the translator + cTrans = new QTranslator(); + //Use the shortened locale code if specific code does not have a corresponding file + if(!QFile::exists(LOS::LuminaShare()+"i18n/"+appname+"_" + langCode + ".qm") && langCode!="en_US" ){ + langCode.truncate( langCode.indexOf("_") ); + } + QString filename = appname+"_"+langCode+".qm"; + //qDebug() << "FileName:" << filename << "Dir:" << LOS::LuminaShare()+"i18n/"; + if( cTrans->load( filename, LOS::LuminaShare()+"i18n/" ) ){ + app->installTranslator( cTrans ); + }else{ + //Translator could not be loaded for some reason + cTrans = 0; + if(langCode!="en_US"){ + qWarning() << " - Could not load Locale:" << langCode; + } + } + }else{ + //Only going to set the encoding since no application given + qDebug() << "Loading System Encoding:" << langEnc; + } + //Load current encoding for this locale + QTextCodec::setCodecForLocale( QTextCodec::codecForName(langEnc.toUtf8()) ); + return cTrans; +} + +QStringList LUtils::knownLocales(){ + QDir i18n = QDir(LOS::LuminaShare()+"i18n"); + if( !i18n.exists() ){ return QStringList(); } + QStringList files = i18n.entryList(QStringList() << "lumina-desktop_*.qm", QDir::Files, QDir::Name); + if(files.isEmpty()){ return QStringList(); } + //Now strip off the filename and just leave the locale tag + for(int i=0; i=1000 && c=100){ + //No decimel places + num = QString::number(qRound(bytes)); + }else if(bytes>=10){ + //need 1 decimel place + num = QString::number( (qRound(bytes*10)/10.0) ); + }else if(bytes>=1){ + //need 2 decimel places + num = QString::number( (qRound(bytes*100)/100.0) ); + }else{ + //Fully decimel (3 places) + num = "0."+QString::number(qRound(bytes*1000)); + } + //qDebug() << "Bytes to Human-readable:" << bytes << c << num << labs[c]; + return (num+labs[c]); +} + +QString LUtils::SecondsToDisplay(int secs){ + if(secs < 0){ return "??"; } + QString rem; //remaining + if(secs > 3600){ + int hours = secs/3600; + rem.append( QString::number(hours)+"h "); + secs = secs - (hours*3600); + } + if(secs > 60){ + int min = secs/60; + rem.append( QString::number(min)+"m "); + secs = secs - (min*60); + } + if(secs > 0){ + rem.append( QString::number(secs)+"s"); + }else{ + rem.append( "0s" ); + } + return rem; +} diff --git a/src-qt5/core/libLumina/LUtils.h b/src-qt5/core/libLumina/LUtils.h new file mode 100644 index 00000000..459fca60 --- /dev/null +++ b/src-qt5/core/libLumina/LUtils.h @@ -0,0 +1,78 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2012-2016, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#ifndef _LUMINA_LIBRARY_UTILS_H +#define _LUMINA_LIBRARY_UTILS_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class LUtils{ +public: + + //Run an external command and return the exit code + static int runCmd(QString cmd, QStringList args = QStringList()); + //Run an external command and return any text output (one line per entry) + static QStringList getCmdOutput(QString cmd, QStringList args = QStringList()); + + //Read a text file + static QStringList readFile(QString filepath); + //Write a text file + static bool writeFile(QString filepath, QStringList contents, bool overwrite=false); + + //Check whether a file/path is a valid binary + static bool isValidBinary(QString& bin); //full path or name only + static bool isValidBinary(const char *bin){ + QString bins(bin); + return isValidBinary(bins); //overload for a "junk" binary variable input + } + + //Return all the dirs on the system which contain .desktop files + static QStringList systemApplicationDirs(); + + //Create the exec string to open a terminal in a particular directory + static QString GenerateOpenTerminalExec(QString term, QString dirpath); + + //List all the sub-directories of a parent dir (recursive) + static QStringList listSubDirectories(QString dir, bool recursive = true); + + //Convert an input file/dir path to an absolute file path + static QString PathToAbsolute(QString path); //This is primarily for CLI usage (relative paths) + static QString AppToAbsolute(QString path); //This is for looking up a binary/ *.desktop path + + //Get the list of all file extensions which Qt can read (lowercase) + static QStringList imageExtensions(bool wildcards = false); + + //Load a translation file for a Lumina Project + static QTranslator* LoadTranslation(QApplication *app, QString appname, QString locale = "", QTranslator *cTrans = 0); + //Other localization shortcuts + static QStringList knownLocales(); //Note: This only lists locales known to Lumina (so the i18n files need to be installed) + static void setLocaleEnv(QString lang, QString msg="", QString time="", QString num="" ,QString money="",QString collate="", QString ctype=""); + static QString currentLocale(); + + //Number format conversions + static double DisplaySizeToBytes(QString num); //Turn a display size (like 50M or 50KB) into a double for calculations (bytes) + static QString BytesToDisplaySize(qint64 bytes); //convert into a readable size (like 50M or 50KB) + + static QString SecondsToDisplay(int secs); //convert into a readable time +}; +#endif diff --git a/src-qt5/core/libLumina/LUtils.pri b/src-qt5/core/libLumina/LUtils.pri new file mode 100644 index 00000000..d5941a41 --- /dev/null +++ b/src-qt5/core/libLumina/LUtils.pri @@ -0,0 +1,34 @@ +#since this is the most common of the include files - make sure it only gets added once +!contains( HEADERS, $${PWD}/LUtils.h ){ + +include("$${PWD}/../../OS-detect.pri") + +QT *= concurrent + +#Setup any special defines (qmake -> C++) +GIT_VERSION=$$system(git describe --always) +!isEmpty(GIT_VERSION){ + DEFINES += GIT_VERSION='"\\\"$${GIT_VERSION}\\\""' +} +#Note: Saving the build date will break reproducible builds (time stamp always different) +# Disable this by default, but leave it possible to re-enable this as needed by user +#DEFINES += BUILD_DATE='"\\\"$$system(date)\\\""' + +#LuminaOS files +HEADERS *= $${PWD}/LuminaOS.h +# LuminaOS support functions (or fall back to generic one) +exists($${PWD}/LuminaOS-$${LINUX_DISTRO}.cpp){ + SOURCES *= $${PWD}/LuminaOS-$${LINUX_DISTRO}.cpp +}else:exists($${PWD}/LuminaOS-$${OS}.cpp){ + SOURCES *= $${PWD}/LuminaOS-$${OS}.cpp +}else{ + SOURCES *= $${PWD}/LuminaOS-template.cpp +} + +#LUtils Files +SOURCES *= $${PWD}/LUtils.cpp +HEADERS *= $${PWD}/LUtils.h + +INCLUDEPATH *= ${PWD} + +} diff --git a/src-qt5/core/libLumina/LuminaOS.h b/src-qt5/core/libLumina/LuminaOS.h index 50d6baec..96a587a8 100644 --- a/src-qt5/core/libLumina/LuminaOS.h +++ b/src-qt5/core/libLumina/LuminaOS.h @@ -1,6 +1,6 @@ //=========================================== // Lumina-DE source code -// Copyright (c) 2014-15, Ken Moore +// Copyright (c) 2014-16, Ken Moore // Available under the 3-clause BSD license // See the LICENSE file for full details //=========================================== @@ -18,7 +18,7 @@ #include #include -#include "LuminaUtils.h" +#include "LUtils.h" class LOS{ public: diff --git a/src-qt5/core/libLumina/LuminaSingleApplication.h b/src-qt5/core/libLumina/LuminaSingleApplication.h index 725d8e40..bacf5640 100644 --- a/src-qt5/core/libLumina/LuminaSingleApplication.h +++ b/src-qt5/core/libLumina/LuminaSingleApplication.h @@ -25,7 +25,7 @@ #include #include -#include +#include //NOTE: This application type will automatically load the proper translation file(s) // if the application name is set properly diff --git a/src-qt5/core/libLumina/LuminaSingleApplication.pri b/src-qt5/core/libLumina/LuminaSingleApplication.pri new file mode 100644 index 00000000..88ab7726 --- /dev/null +++ b/src-qt5/core/libLumina/LuminaSingleApplication.pri @@ -0,0 +1,12 @@ +include("$${PWD}/../../OS-detect.pri") + +QT *= network x11extras + +#LUtils Files +SOURCES *= $${PWD}/LuminaSingleApplication.cpp +HEADERS *= $${PWD}/LuminaSingleApplication.h + +INCLUDEPATH *= ${PWD} + +#include LUtils and LuminaOS +include(LUtils.pri) diff --git a/src-qt5/core/libLumina/LuminaThemes.cpp b/src-qt5/core/libLumina/LuminaThemes.cpp index 03dfb771..70cd221d 100644 --- a/src-qt5/core/libLumina/LuminaThemes.cpp +++ b/src-qt5/core/libLumina/LuminaThemes.cpp @@ -6,7 +6,7 @@ //=========================================== #include "LuminaThemes.h" -#include "LuminaUtils.h" +#include "LUtils.h" #include "LuminaOS.h" #include #include diff --git a/src-qt5/core/libLumina/LuminaThemes.pri b/src-qt5/core/libLumina/LuminaThemes.pri new file mode 100644 index 00000000..0fe35b79 --- /dev/null +++ b/src-qt5/core/libLumina/LuminaThemes.pri @@ -0,0 +1,10 @@ +include("$${PWD}/../../OS-detect.pri") + +#LUtils Files +SOURCES *= $${PWD}/LuminaThemes.cpp +HEADERS *= $${PWD}/LuminaThemes.h + +INCLUDEPATH *= ${PWD} + +#include LUtils and LuminaOS +include(LUtils.pri) diff --git a/src-qt5/core/libLumina/LuminaUtils.cpp b/src-qt5/core/libLumina/LuminaUtils.cpp deleted file mode 100644 index 0d808d1d..00000000 --- a/src-qt5/core/libLumina/LuminaUtils.cpp +++ /dev/null @@ -1,1063 +0,0 @@ -//=========================================== -// Lumina-DE source code -// Copyright (c) 2013-2015, Ken Moore -// Available under the 3-clause BSD license -// See the LICENSE file for full details -//=========================================== -#include "LuminaUtils.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -static QStringList fav; - -inline QStringList ProcessRun(QString cmd, QStringList args){ - //Assemble outputs - QStringList out; out << "1" << ""; //error code, string output - QProcess proc; - QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); - env.insert("LANG", "C"); - env.insert("LC_MESSAGES", "C"); - proc.setProcessEnvironment(env); - proc.setProcessChannelMode(QProcess::MergedChannels); - if(args.isEmpty()){ - proc.start(cmd, QIODevice::ReadOnly); - }else{ - proc.start(cmd,args ,QIODevice::ReadOnly); - } - QString info; - while(!proc.waitForFinished(1000)){ - if(proc.state() == QProcess::NotRunning){ break; } //somehow missed the finished signal - QString tmp = proc.readAllStandardOutput(); - if(tmp.isEmpty()){ proc.terminate(); } - else{ info.append(tmp); } - } - out[0] = QString::number(proc.exitCode()); - out[1] = info+QString(proc.readAllStandardOutput()); - return out; -} -//============= -// LUtils Functions -//============= -QString LUtils::LuminaDesktopVersion(){ - QString ver = "1.1.1"; - #ifdef GIT_VERSION - ver.append( QString(" (Git Revision: %1)").arg(GIT_VERSION) ); - #endif - return ver; -} - -QString LUtils::LuminaDesktopBuildDate(){ - #ifdef BUILD_DATE - return BUILD_DATE; - #endif - return ""; -} - -int LUtils::runCmd(QString cmd, QStringList args){ - /*QProcess proc; - proc.setProcessChannelMode(QProcess::MergedChannels); - if(args.isEmpty()){ - proc.start(cmd); - }else{ - proc.start(cmd, args); - } - //if(!proc.waitForStarted(30000)){ return 1; } //process never started - max wait of 30 seconds - while(!proc.waitForFinished(300)){ - if(proc.state() == QProcess::NotRunning){ break; } //somehow missed the finished signal - QCoreApplication::processEvents(); - } - int ret = proc.exitCode(); - return ret;*/ - QFuture future = QtConcurrent::run(ProcessRun, cmd, args); - return future.result()[0].toInt(); //turn it back into an integer return code - -} - -QStringList LUtils::getCmdOutput(QString cmd, QStringList args){ - /*QProcess proc; - QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); - env.insert("LANG", "C"); - env.insert("LC_MESSAGES", "C"); - proc.setProcessEnvironment(env); - proc.setProcessChannelMode(QProcess::MergedChannels); - if(args.isEmpty()){ - proc.start(cmd); - }else{ - proc.start(cmd,args); - } - //if(!proc.waitForStarted(30000)){ return QStringList(); } //process never started - max wait of 30 seconds - while(!proc.waitForFinished(300)){ - if(proc.state() == QProcess::NotRunning){ break; } //somehow missed the finished signal - QCoreApplication::processEvents(); - } - QStringList out = QString(proc.readAllStandardOutput()).split("\n"); - return out;*/ - QFuture future = QtConcurrent::run(ProcessRun, cmd, args); - return future.result()[1].split("\n"); //Split the return message into lines -} - -QStringList LUtils::readFile(QString filepath){ - QStringList out; - QFile file(filepath); - if(file.open(QIODevice::Text | QIODevice::ReadOnly)){ - QTextStream in(&file); - while(!in.atEnd()){ - out << in.readLine(); - } - file.close(); - } - return out; -} - -bool LUtils::writeFile(QString filepath, QStringList contents, bool overwrite){ - QFile file(filepath); - if(file.exists() && !overwrite){ return false; } - bool ok = false; - if(contents.isEmpty()){ contents << "\n"; } - if( file.open(QIODevice::WriteOnly | QIODevice::Truncate) ){ - QTextStream out(&file); - out << contents.join("\n"); - if(!contents.last().isEmpty()){ out << "\n"; } //always end with a new line - file.close(); - ok = true; - } - return ok; -} - -bool LUtils::isValidBinary(QString& bin){ - if(!bin.startsWith("/")){ - //Relative path: search for it on the current "PATH" settings - QStringList paths = QString(qgetenv("PATH")).split(":"); - for(int i=0; i fmt = QImageReader::supportedImageFormats(); - for(int i=0; iremoveTranslator(cTrans); } - //Setup the translator - cTrans = new QTranslator(); - //Use the shortened locale code if specific code does not have a corresponding file - if(!QFile::exists(LOS::LuminaShare()+"i18n/"+appname+"_" + langCode + ".qm") && langCode!="en_US" ){ - langCode.truncate( langCode.indexOf("_") ); - } - QString filename = appname+"_"+langCode+".qm"; - //qDebug() << "FileName:" << filename << "Dir:" << LOS::LuminaShare()+"i18n/"; - if( cTrans->load( filename, LOS::LuminaShare()+"i18n/" ) ){ - app->installTranslator( cTrans ); - }else{ - //Translator could not be loaded for some reason - cTrans = 0; - if(langCode!="en_US"){ - qWarning() << " - Could not load Locale:" << langCode; - } - } - }else{ - //Only going to set the encoding since no application given - qDebug() << "Loading System Encoding:" << langEnc; - } - //Load current encoding for this locale - QTextCodec::setCodecForLocale( QTextCodec::codecForName(langEnc.toUtf8()) ); - return cTrans; -} - -QStringList LUtils::knownLocales(){ - QDir i18n = QDir(LOS::LuminaShare()+"i18n"); - if( !i18n.exists() ){ return QStringList(); } - QStringList files = i18n.entryList(QStringList() << "lumina-desktop_*.qm", QDir::Files, QDir::Name); - if(files.isEmpty()){ return QStringList(); } - //Now strip off the filename and just leave the locale tag - for(int i=0; i=1000 && c=100){ - //No decimel places - num = QString::number(qRound(bytes)); - }else if(bytes>=10){ - //need 1 decimel place - num = QString::number( (qRound(bytes*10)/10.0) ); - }else if(bytes>=1){ - //need 2 decimel places - num = QString::number( (qRound(bytes*100)/100.0) ); - }else{ - //Fully decimel (3 places) - num = "0."+QString::number(qRound(bytes*1000)); - } - //qDebug() << "Bytes to Human-readable:" << bytes << c << num << labs[c]; - return (num+labs[c]); -} - -QString LUtils::SecondsToDisplay(int secs){ - if(secs < 0){ return "??"; } - QString rem; //remaining - if(secs > 3600){ - int hours = secs/3600; - rem.append( QString::number(hours)+"h "); - secs = secs - (hours*3600); - } - if(secs > 60){ - int min = secs/60; - rem.append( QString::number(min)+"m "); - secs = secs - (min*60); - } - if(secs > 0){ - rem.append( QString::number(secs)+"s"); - }else{ - rem.append( "0s" ); - } - return rem; -} - -//Various function for finding valid QtQuick plugins on the system -bool LUtils::validQuickPlugin(QString ID){ - return ( !LUtils::findQuickPluginFile(ID).isEmpty() ); -} - -QString LUtils::findQuickPluginFile(QString ID){ - if(ID.startsWith("quick-")){ ID = ID.section("-",1,50); } //just in case - //Give preference to any user-supplied plugins (overwrites for system plugins) - QString path = QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/quickplugins/quick-"+ID+".qml"; - if( QFile::exists(path) ){return path; } - path = LOS::LuminaShare()+"quickplugins/quick-"+ID+".qml"; - if( QFile::exists(path) ){return path; } - return ""; //could not be found -} - -QStringList LUtils::listQuickPlugins(){ - QDir dir(QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/quickplugins"); - QStringList files = dir.entryList(QStringList() << "quick-*.qml", QDir::Files | QDir::NoDotAndDotDot, QDir::Name); - dir.cd(LOS::LuminaShare()+"quickplugins"); - files << dir.entryList(QStringList() << "quick-*.qml", QDir::Files | QDir::NoDotAndDotDot, QDir::Name); - for(int i=0; i, sym-links in the ~/.lumina/favorites dir} - //Include 0.8.4-devel versions in this upgrade (need to distinguish b/w devel and release versions later somehow) - QDir favdir(QDir::homePath()+"/.lumina/favorites"); - QFileInfoList symlinks = favdir.entryInfoList(QDir::Files | QDir::Dirs | QDir::System | QDir::NoDotAndDotDot); - QStringList favfile = LUtils::listFavorites(); //just in case some already exist - bool newentry = false; - for(int i=0; iscreenCount(); i++){ - if(desk->screenGeometry(i).x()==0){ - screen = QString::number(i); - screenGeom = desk->screenGeometry(i); - break; - } - } - //Now setup the default "desktopsettings.conf" and "sessionsettings.conf" files - QStringList deskset, sesset;//, lopenset; - - // -- SESSION SETTINGS -- - QStringList tmp = sysDefaults.filter("session_"); - if(tmp.isEmpty()){ tmp = sysDefaults.filter("session."); }//for backwards compat - sesset << "[General]"; //everything is in this section - sesset << "DesktopVersion="+LUtils::LuminaDesktopVersion(); - for(int i=0; i 1000000], [1.2.3 -> 1002003], [0.6.1 -> 6001] - //returns true if something changed - int oldversion = LUtils::VersionStringToNumber(lastversion); - int nversion = LUtils::VersionStringToNumber(QApplication::applicationVersion()); - bool newversion = ( oldversion < nversion ); //increasing version number - bool newrelease = ( lastversion.contains("-devel", Qt::CaseInsensitive) && QApplication::applicationVersion().contains("-release", Qt::CaseInsensitive) ); //Moving from devel to release - - QString confdir = QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/"; - //Check for the desktop settings file - QString dset = confdir+"desktopsettings.conf"; - bool firstrun = false; - if(!QFile::exists(dset) || oldversion < 5000){ - if( oldversion < 100000 && nversion>=100000 ){ system("rm -rf ~/.lumina"); qDebug() << "Current desktop settings obsolete: Re-implementing defaults"; } - else{ firstrun = true; } - LUtils::LoadSystemDefaults(); - } - //Convert the favorites framework as necessary (change occured with 0.8.4) - if(newversion || newrelease){ - LUtils::upgradeFavorites(oldversion); - } - //Convert from the old desktop numbering system to the new one (change occured with 1.0.1) - if(oldversion<=1000001){ - QStringList DS = LUtils::readFile(dset); - QList screens = QApplication::screens(); - for(int i=0; i=0 && ok && num< screens.length()){ - //This one needs to be converted - DS[i] = "[desktop-"+screens[num]->name()+"]"; - } - }else if(DS[i].startsWith("[panel")){ - bool ok = false; - int num = DS[i].section("panel",-1).section(".",0,0).toInt(&ok); - if(num>=0 && ok && num< screens.length()){ - //This one needs to be converted - QString rest = DS[i].section(".",1,-1); //everything after the desktop number in the current setting - DS[i] = "[panel_"+screens[num]->name()+"."+rest; - } - } - } - LUtils::writeFile(dset, DS, true); - } - - //Check the fluxbox configuration files - dset = QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/"; - if(!QFile::exists(dset+"fluxbox-init")){ - firstrun = true; - } - bool fluxcopy = false; - if(!QFile::exists(dset+"fluxbox-init")){ fluxcopy=true; } - else if(!QFile::exists(dset+"fluxbox-keys")){fluxcopy=true; } - else if(oldversion < 60){ fluxcopy=true; qDebug() << "Current fluxbox settings obsolete: Re-implementing defaults"; } - if(fluxcopy){ - qDebug() << "Copying default fluxbox configuration files"; - if(QFile::exists(dset+"fluxbox-init")){ QFile::remove(dset+"fluxbox-init"); } - if(QFile::exists(dset+"fluxbox-keys")){ QFile::remove(dset+"fluxbox-keys"); } - QString finit = LUtils::readFile(LOS::LuminaShare()+"fluxbox-init-rc").join("\n"); - finit.replace("${XDG_CONFIG_HOME}", QString(getenv("XDG_CONFIG_HOME"))); - LUtils::writeFile(dset+"fluxbox-init", finit.split("\n")); - QFile::copy(LOS::LuminaShare()+"fluxbox-keys", dset+"fluxbox-keys"); - QFile::setPermissions(dset+"fluxbox-init", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup); - QFile::setPermissions(dset+"fluxbox-keys", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup); - } - - if(firstrun){ qDebug() << "First time using Lumina!!"; } - return (firstrun || newversion || newrelease); -} - -int LUtils::VersionStringToNumber(QString version){ - version = version.section("-",0,0); //trim any extra labels off the end - int maj, mid, min; //major/middle/minor version numbers (..) - maj = mid = min = 0; - bool ok = true; - maj = version.section(".",0,0).toInt(&ok); - if(ok){ mid = version.section(".",1,1).toInt(&ok); }else{ maj = 0; } - if(ok){ min = version.section(".",2,2).toInt(&ok); }else{ mid = 0; } - if(!ok){ min = 0; } - //Now assemble the number - //NOTE: This format allows numbers to be anywhere from 0->999 without conflict - return (maj*1000000 + mid*1000 + min); -} - -// ======================= -// RESIZEMENU CLASS -// ======================= -/*ResizeMenu::ResizeMenu(QWidget *parent) : QMenu(parent){ - this->setContentsMargins(1,1,1,1); - this->setMouseTracking(true); - resizeSide = NONE; - cAct = new QWidgetAction(this); - contents = 0; - connect(this, SIGNAL(aboutToShow()), this, SLOT(clearFlags()) ); - connect(this, SIGNAL(aboutToHide()), this, SLOT(clearFlags()) ); - connect(cAct, SIGNAL(hovered()), this, SLOT(clearFlags()) ); -} - -ResizeMenu::~ResizeMenu(){ - -} - -void ResizeMenu::setContents(QWidget *con){ - this->clear(); - cAct->setDefaultWidget(con); - this->addAction(cAct); - contents = con; //save for later - contents->setCursor(Qt::ArrowCursor); -} - -void ResizeMenu::mouseMoveEvent(QMouseEvent *ev){ - QRect geom = this->geometry(); - //Note: The exact position does not matter as much as the size - // since the window will be moved again the next time it is shown - // The "-2" in the sizing below accounts for the menu margins - QPoint gpos = this->mapToGlobal(ev->pos()); - bool handled = false; - switch(resizeSide){ - case TOP: - if(gpos.y() >= geom.bottom()-1){ break; } - geom.setTop(gpos.y()); - this->setGeometry(geom); - if(contents!=0){ contents->setFixedSize(QSize(geom.width()-2, geom.height()-2));} - handled = true; - break; - case BOTTOM: - if(gpos.y() <= geom.top()+1){ break; } - geom.setBottom( gpos.y()); - this->setGeometry(geom); - if(contents!=0){ contents->setFixedSize(QSize(geom.width()-2, geom.height()-2));} - handled = true; - break; - case LEFT: - if(gpos.x() >= geom.right()-1){ break; } - geom.setLeft(gpos.x()); - this->setGeometry(geom); - if(contents!=0){ contents->setFixedSize(QSize(geom.width()-2, geom.height()-2));} - handled = true; - break; - case RIGHT: - if(gpos.x() <= geom.left()+1){ break; } - geom.setRight(gpos.x()); - this->setGeometry(geom); - if(contents!=0){ contents->setFixedSize(QSize(geom.width()-2, geom.height()-2));} - handled = true; - break; - default: //NONE - //qDebug() << " - Mouse At:" << ev->pos(); - //Just adjust the mouse cursor which is shown - if(ev->pos().x()<=1 && ev->pos().x() >= -1){ this->setCursor(Qt::SizeHorCursor); } - else if(ev->pos().x() >= this->width()-1 && ev->pos().x() <= this->width()+1){ this->setCursor(Qt::SizeHorCursor); } - else if(ev->pos().y()<=1 && ev->pos().y() >= -1){ this->setCursor(Qt::SizeVerCursor); } - else if(ev->pos().y() >= this->height()-1 && ev->pos().y() <= this->height()+1){ this->setCursor(Qt::SizeVerCursor); } - else{ this->setCursor(Qt::ArrowCursor); } - } - if(!handled){ QMenu::mouseMoveEvent(ev); } //do normal processing as well -} - -void ResizeMenu::mousePressEvent(QMouseEvent *ev){ - bool used = false; - if(ev->buttons().testFlag(Qt::LeftButton) && resizeSide==NONE){ - //qDebug() << "Mouse Press Event:" << ev->pos() << resizeSide; - if(ev->pos().x()<=1 && ev->pos().x() >= -1){resizeSide = LEFT; used = true;} - else if(ev->pos().x() >= this->width()-1 && ev->pos().x() <= this->width()+1){ resizeSide = RIGHT; used = true;} - else if(ev->pos().y()<=1 && ev->pos().y() >= -1){ resizeSide = TOP; used = true; } - else if(ev->pos().y() >= this->height()-1 && ev->pos().y() <= this->height()+1){ resizeSide = BOTTOM; used = true; } - } - if(used){ ev->accept(); this->grabMouse(); } - else{ QMenu::mousePressEvent(ev); } //do normal processing -} - -void ResizeMenu::mouseReleaseEvent(QMouseEvent *ev){ - this->releaseMouse(); - if(ev->button() == Qt::LeftButton && resizeSide!=NONE ){ - //qDebug() << "Mouse Release Event:" << ev->pos() << resizeSide; - resizeSide = NONE; - emit MenuResized(contents->size()); - ev->accept(); - }else{ - QMenu::mouseReleaseEvent(ev); //do normal processing - } -}*/ diff --git a/src-qt5/core/libLumina/LuminaUtils.h b/src-qt5/core/libLumina/LuminaUtils.h deleted file mode 100644 index 4a0a19af..00000000 --- a/src-qt5/core/libLumina/LuminaUtils.h +++ /dev/null @@ -1,131 +0,0 @@ -//=========================================== -// Lumina-DE source code -// Copyright (c) 2012-2015, Ken Moore -// Available under the 3-clause BSD license -// See the LICENSE file for full details -//=========================================== -#ifndef _LUMINA_LIBRARY_UTILS_H -#define _LUMINA_LIBRARY_UTILS_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#include -#include -#include -#include - -class LUtils{ -public: - //Get the current version/build of the Lumina desktop - static QString LuminaDesktopVersion(); - static QString LuminaDesktopBuildDate(); - - //Run an external command and return the exit code - static int runCmd(QString cmd, QStringList args = QStringList()); - //Run an external command and return any text output (one line per entry) - static QStringList getCmdOutput(QString cmd, QStringList args = QStringList()); - - //Read a text file - static QStringList readFile(QString filepath); - //Write a text file - static bool writeFile(QString filepath, QStringList contents, bool overwrite=false); - - //Check whether a file/path is a valid binary - static bool isValidBinary(QString& bin); //full path or name only - static bool isValidBinary(const char *bin){ - QString bins(bin); - return isValidBinary(bins); //overload for a "junk" binary variable input - } - - //Create the exec string to open a terminal in a particular directory - static QString GenerateOpenTerminalExec(QString term, QString dirpath); - - //List all the sub-directories of a parent dir (recursive) - static QStringList listSubDirectories(QString dir, bool recursive = true); - - //Convert an input file/dir path to an absolute file path - static QString PathToAbsolute(QString path); //This is primarily for CLI usage (relative paths) - static QString AppToAbsolute(QString path); //This is for looking up a binary/ *.desktop path - - //Get the list of all file extensions which Qt can read (lowercase) - static QStringList imageExtensions(bool wildcards = false); - - //Load a translation file for a Lumina Project - static QTranslator* LoadTranslation(QApplication *app, QString appname, QString locale = "", QTranslator *cTrans = 0); - //Other localization shortcuts - static QStringList knownLocales(); //Note: This only lists locales known to Lumina (so the i18n files need to be installed) - static void setLocaleEnv(QString lang, QString msg="", QString time="", QString num="" ,QString money="",QString collate="", QString ctype=""); - static QString currentLocale(); - - //Number format conversions - static double DisplaySizeToBytes(QString num); //Turn a display size (like 50M or 50KB) into a double for calculations (bytes) - static QString BytesToDisplaySize(qint64 bytes); //convert into a readable size (like 50M or 50KB) - - static QString SecondsToDisplay(int secs); //convert into a readable time - - //Various function for finding valid QtQuick plugins on the system - static bool validQuickPlugin(QString ID); - static QString findQuickPluginFile(QString ID); - static QStringList listQuickPlugins(); //List of valid ID's - static QStringList infoQuickPlugin(QString ID); //Returns: [Name, Description, Icon] - - //Various functions for the favorites sub-system - // Formatting Note: "::::[dir/app/]::::" - // the field might not be used for "app" flagged entries - static QStringList listFavorites(); - static bool saveFavorites(QStringList); - static bool isFavorite(QString path); - static bool addFavorite(QString path, QString name = ""); - static void removeFavorite(QString path); - static void upgradeFavorites(int fromoldversionnumber); - - //Load the default setup for the system - static void LoadSystemDefaults(bool skipOS = false); - static bool checkUserFiles(QString lastversion); //returns true if something changed - static int VersionStringToNumber(QString version); //convert the lumina version string to a number for comparisons - -}; - -//Special subclass for a menu which the user can grab the edges and resize as necessary -// Note: Make sure that you don't set 0pixel contents margins on this menu -// - it needs at least 1 pixel margins for the user to be able to grab it -/*class ResizeMenu : public QMenu{ - Q_OBJECT -public: - ResizeMenu(QWidget *parent = 0); - virtual ~ResizeMenu(); - - void setContents(QWidget *con); - -private: - enum SideFlag{NONE, TOP, BOTTOM, LEFT, RIGHT}; - SideFlag resizeSide; - QWidget *contents; - QWidgetAction *cAct; - -private slots: - void clearFlags(){ - resizeSide=NONE; - } - -protected: - virtual void mouseMoveEvent(QMouseEvent *ev); - virtual void mousePressEvent(QMouseEvent *ev); - virtual void mouseReleaseEvent(QMouseEvent *ev); - -signals: - void MenuResized(QSize); //Emitted when the menu is manually resized by the user - -};*/ - -#endif diff --git a/src-qt5/core/libLumina/LuminaX11.pri b/src-qt5/core/libLumina/LuminaX11.pri new file mode 100644 index 00000000..0e472dd4 --- /dev/null +++ b/src-qt5/core/libLumina/LuminaX11.pri @@ -0,0 +1,13 @@ + +QT *= x11extras + +LIBS *= -lc -lxcb -lxcb-ewmh -lxcb-icccm -lxcb-image -lxcb-composite -lxcb-damage -lxcb-util -lXdamage + +#LUtils Files +SOURCES *= $${PWD}/LuminaX11.cpp +HEADERS *= $${PWD}/LuminaX11.h + +INCLUDEPATH *= ${PWD} + +#include LUtils and LuminaOS +include(LUtils.pri) diff --git a/src-qt5/core/libLumina/LuminaXDG.cpp b/src-qt5/core/libLumina/LuminaXDG.cpp index b0d2edd9..d6342269 100644 --- a/src-qt5/core/libLumina/LuminaXDG.cpp +++ b/src-qt5/core/libLumina/LuminaXDG.cpp @@ -6,7 +6,7 @@ //=========================================== #include "LuminaXDG.h" #include "LuminaOS.h" -#include "LuminaUtils.h" +#include "LUtils.h" #include #include #include diff --git a/src-qt5/core/libLumina/LuminaXDG.pri b/src-qt5/core/libLumina/LuminaXDG.pri new file mode 100644 index 00000000..6f3a2b7c --- /dev/null +++ b/src-qt5/core/libLumina/LuminaXDG.pri @@ -0,0 +1,10 @@ +QT *= multimedia svg + +#LUtils Files +SOURCES *= $${PWD}/LuminaXDG.cpp +HEADERS *= $${PWD}/LuminaXDG.h + +INCLUDEPATH *= ${PWD} + +#include LUtils and LuminaOS +include(LUtils.pri) diff --git a/src-qt5/core/libLumina/colors/Black.qss.colors b/src-qt5/core/libLumina/colors/Black.qss.colors deleted file mode 100644 index b6269188..00000000 --- a/src-qt5/core/libLumina/colors/Black.qss.colors +++ /dev/null @@ -1,13 +0,0 @@ -ACCENTCOLOR=rgba(204,204,204,200) -ACCENTDISABLECOLOR=rgba(204,204,204,100) -ALTBASECOLOR=rgb(37,37,37) -BASECOLOR=rgb(36,36,36) -HIGHLIGHTCOLOR=rgba(218,222,226,170) -HIGHLIGHTDISABLECOLOR=rgba(218,222,226,160) -PRIMARYCOLOR=rgba(0,0,4,250) -PRIMARYDISABLECOLOR=rgba(0,0,0,180) -SECONDARYCOLOR=rgba(192,192,192,200) -SECONDARYDISABLECOLOR=rgba(192,192,192,100) -TEXTCOLOR=white -TEXTDISABLECOLOR=darkgrey -TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/libLumina/colors/Blue-Light.qss.colors b/src-qt5/core/libLumina/colors/Blue-Light.qss.colors deleted file mode 100644 index 5bcb85f6..00000000 --- a/src-qt5/core/libLumina/colors/Blue-Light.qss.colors +++ /dev/null @@ -1,13 +0,0 @@ -ACCENTCOLOR=rgba(157,161,165,200) -ACCENTDISABLECOLOR=rgba(156,156,157,200) -ALTBASECOLOR=rgb(239,247,255) -BASECOLOR=rgb(165,210,255) -HIGHLIGHTCOLOR=rgb(110,158,208) -HIGHLIGHTDISABLECOLOR=rgba(110,158,208,150) -PRIMARYCOLOR=rgba(181,212,238,200) -PRIMARYDISABLECOLOR=rgba(234,237,238,100) -SECONDARYCOLOR=rgba(200,222,243,200) -SECONDARYDISABLECOLOR=rgba(200,222,243,100) -TEXTCOLOR=black -TEXTDISABLECOLOR=grey -TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/libLumina/colors/Grey-Dark.qss.colors b/src-qt5/core/libLumina/colors/Grey-Dark.qss.colors deleted file mode 100644 index 207edd04..00000000 --- a/src-qt5/core/libLumina/colors/Grey-Dark.qss.colors +++ /dev/null @@ -1,13 +0,0 @@ -ACCENTCOLOR=rgba(43,43,45,200) -ACCENTDISABLECOLOR=rgba(43,43,45,100) -ALTBASECOLOR=rgb(63,61,61) -BASECOLOR=rgb(93,92,92) -HIGHLIGHTCOLOR=rgba(218,222,226,170) -HIGHLIGHTDISABLECOLOR=rgba(218,222,226,160) -PRIMARYCOLOR=rgba(75,77,80,240) -PRIMARYDISABLECOLOR=rgba(75,77,80,180) -SECONDARYCOLOR=rgba(144,140,142,200) -SECONDARYDISABLECOLOR=rgba(144,140,142,100) -TEXTCOLOR=white -TEXTDISABLECOLOR=darkgrey -TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/libLumina/colors/Lumina-Glass.qss.colors b/src-qt5/core/libLumina/colors/Lumina-Glass.qss.colors deleted file mode 100644 index 89534aaa..00000000 --- a/src-qt5/core/libLumina/colors/Lumina-Glass.qss.colors +++ /dev/null @@ -1,13 +0,0 @@ -ACCENTCOLOR=rgba(255,252,234,100) -ACCENTDISABLECOLOR=rgba(0,0,0,100) -ALTBASECOLOR=rgba(255,255,255,125) -BASECOLOR=rgb(247,246,244) -HIGHLIGHTCOLOR=rgba(212,212,212,170) -HIGHLIGHTDISABLECOLOR=rgba(184,184,184,100) -PRIMARYCOLOR=rgba(235,242,242,200) -PRIMARYDISABLECOLOR=rgba(214,220,220,200) -SECONDARYCOLOR=rgba(100,100,100,200) -SECONDARYDISABLECOLOR=rgba(100,100,100,100) -TEXTCOLOR=black -TEXTDISABLECOLOR=grey -TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/libLumina/colors/Lumina-Gold.qss.colors b/src-qt5/core/libLumina/colors/Lumina-Gold.qss.colors deleted file mode 100644 index cfad7069..00000000 --- a/src-qt5/core/libLumina/colors/Lumina-Gold.qss.colors +++ /dev/null @@ -1,13 +0,0 @@ -ACCENTCOLOR=rgba(149,144,122,200) -ACCENTDISABLECOLOR=rgba(74,71,60,200) -ALTBASECOLOR=rgb(230,227,204) -BASECOLOR=rgb(247,247,240) -HIGHLIGHTCOLOR=rgba(252,237,149,170) -HIGHLIGHTDISABLECOLOR=rgba(252,237,149,100) -PRIMARYCOLOR=rgba(238,234,226,200) -PRIMARYDISABLECOLOR=rgba(238,235,224,100) -SECONDARYCOLOR=rgba(247,209,112,200) -SECONDARYDISABLECOLOR=rgba(234,198,106,150) -TEXTCOLOR=black -TEXTDISABLECOLOR=grey -TEXTHIGHLIGHTCOLOR=black \ No newline at end of file diff --git a/src-qt5/core/libLumina/colors/Lumina-Green.qss.colors b/src-qt5/core/libLumina/colors/Lumina-Green.qss.colors deleted file mode 100644 index 99f16acb..00000000 --- a/src-qt5/core/libLumina/colors/Lumina-Green.qss.colors +++ /dev/null @@ -1,13 +0,0 @@ -ACCENTCOLOR=rgba(149,144,122,200) -ACCENTDISABLECOLOR=rgba(74,71,60,200) -ALTBASECOLOR=rgb(230,230,230) -BASECOLOR=rgb(247,246,244) -HIGHLIGHTCOLOR=rgba(66,153,76,170) -HIGHLIGHTDISABLECOLOR=rgba(66,153,76,100) -PRIMARYCOLOR=rgba(229,231,238,200) -PRIMARYDISABLECOLOR=rgba(229,231,238,100) -SECONDARYCOLOR=rgba(76,197,84,200) -SECONDARYDISABLECOLOR=rgba(76,197,84,150) -TEXTCOLOR=black -TEXTDISABLECOLOR=grey -TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/libLumina/colors/Lumina-Purple.qss.colors b/src-qt5/core/libLumina/colors/Lumina-Purple.qss.colors deleted file mode 100644 index f2ba7e05..00000000 --- a/src-qt5/core/libLumina/colors/Lumina-Purple.qss.colors +++ /dev/null @@ -1,13 +0,0 @@ -ACCENTCOLOR=rgba(247,231,255,200) -ACCENTDISABLECOLOR=rgba(167,166,166,200) -ALTBASECOLOR=rgb(63,61,61) -BASECOLOR=rgb(93,92,92) -HIGHLIGHTCOLOR=rgba(76,38,171,170) -HIGHLIGHTDISABLECOLOR=rgba(57,19,139,170) -PRIMARYCOLOR=rgba(65,67,80,240) -PRIMARYDISABLECOLOR=rgba(65,67,80,180) -SECONDARYCOLOR=rgba(74,65,120,200) -SECONDARYDISABLECOLOR=rgba(71,65,120,100) -TEXTCOLOR=white -TEXTDISABLECOLOR=darkgrey -TEXTHIGHLIGHTCOLOR=white \ No newline at end of file diff --git a/src-qt5/core/libLumina/colors/Lumina-Red.qss.colors b/src-qt5/core/libLumina/colors/Lumina-Red.qss.colors deleted file mode 100644 index f73bdb75..00000000 --- a/src-qt5/core/libLumina/colors/Lumina-Red.qss.colors +++ /dev/null @@ -1,13 +0,0 @@ -ACCENTCOLOR=rgba(255,244,245,200) -ACCENTDISABLECOLOR=rgba(167,166,166,200) -ALTBASECOLOR=rgb(63,61,61) -BASECOLOR=rgb(93,92,92) -HIGHLIGHTCOLOR=rgba(175,9,9,170) -HIGHLIGHTDISABLECOLOR=rgba(154,20,20,170) -PRIMARYCOLOR=rgba(80,66,66,240) -PRIMARYDISABLECOLOR=rgba(80,66,66,180) -SECONDARYCOLOR=rgba(120,22,23,200) -SECONDARYDISABLECOLOR=rgba(120,22,23,100) -TEXTCOLOR=white -TEXTDISABLECOLOR=darkgrey -TEXTHIGHLIGHTCOLOR=white \ No newline at end of file diff --git a/src-qt5/core/libLumina/colors/PCBSD10-Default.qss.colors b/src-qt5/core/libLumina/colors/PCBSD10-Default.qss.colors deleted file mode 100644 index efcea51d..00000000 --- a/src-qt5/core/libLumina/colors/PCBSD10-Default.qss.colors +++ /dev/null @@ -1,13 +0,0 @@ -ACCENTCOLOR=rgba(182,186,191,200) -ACCENTDISABLECOLOR=rgba(190,190,191,200) -ALTBASECOLOR=rgb(241,241,241) -BASECOLOR=rgb(247,246,244) -HIGHLIGHTCOLOR=rgb(129,184,243) -HIGHLIGHTDISABLECOLOR=rgba(129,184,243,150) -PRIMARYCOLOR=rgba(224,236,238,200) -PRIMARYDISABLECOLOR=rgba(234,237,238,100) -SECONDARYCOLOR=rgba(200,222,243,200) -SECONDARYDISABLECOLOR=rgba(200,222,243,100) -TEXTCOLOR=black -TEXTDISABLECOLOR=grey -TEXTHIGHLIGHTCOLOR=black diff --git a/src-qt5/core/libLumina/colors/Solarized-Dark.qss.colors b/src-qt5/core/libLumina/colors/Solarized-Dark.qss.colors deleted file mode 100644 index d4f0f1c9..00000000 --- a/src-qt5/core/libLumina/colors/Solarized-Dark.qss.colors +++ /dev/null @@ -1,16 +0,0 @@ -# Solarized is a theme created by Ethan Schoonover -# See the project site at http://ethanschoonover.com/solarized -# Or see the source at https://github.com/altercation/solarized -ACCENTCOLOR=rgb(181,137,0) -ACCENTDISABLECOLOR=rgb(181,137,0) -ALTBASECOLOR=rgb(0,43,54) -BASECOLOR=rgb(0,43,54) -HIGHLIGHTCOLOR=rgb(7,54,66) -HIGHLIGHTDISABLECOLOR=rgb(7,53,66) -PRIMARYCOLOR=rgb(0,43,54) -PRIMARYDISABLECOLOR=rgb(7,54,66) -SECONDARYCOLOR=rgb(0,43,54) -SECONDARYDISABLECOLOR=rgb(7,54,66) -TEXTCOLOR=rgb(131,148,150) -TEXTDISABLECOLOR=rgb(88,110,117) -TEXTHIGHLIGHTCOLOR=rgb(147,161,161) diff --git a/src-qt5/core/libLumina/colors/Solarized-Light.qss.colors b/src-qt5/core/libLumina/colors/Solarized-Light.qss.colors deleted file mode 100644 index fead1915..00000000 --- a/src-qt5/core/libLumina/colors/Solarized-Light.qss.colors +++ /dev/null @@ -1,16 +0,0 @@ -# Solarized is a theme created by Ethan Schoonover -# See the project site at http://ethanschoonover.com/solarized -# Or see the source at https://github.com/altercation/solarized -ACCENTCOLOR=rgb(38,139,210) -ACCENTDISABLECOLOR=rgb(38,139,210) -ALTBASECOLOR=rgb(253,246,227) -BASECOLOR=rgb(253,246,227) -HIGHLIGHTCOLOR=rgb(238,232,213) -HIGHLIGHTDISABLECOLOR=rgb(238,232,213) -PRIMARYCOLOR=rgb(253,246,227) -PRIMARYDISABLECOLOR=rgb(238,232,213) -SECONDARYCOLOR=rgb(253,246,227) -SECONDARYDISABLECOLOR=rgb(238,232,213) -TEXTCOLOR=rgb(131,148,150) -TEXTDISABLECOLOR=rgb(147,161,161) -TEXTHIGHLIGHTCOLOR=rgb(88,110,117) diff --git a/src-qt5/core/libLumina/libLumina.pro b/src-qt5/core/libLumina/libLumina.pro index 2786b875..a7dc160a 100644 --- a/src-qt5/core/libLumina/libLumina.pro +++ b/src-qt5/core/libLumina/libLumina.pro @@ -1,57 +1,57 @@ -include("$${PWD}/../../OS-detect.pri") +#include("$${PWD}/../../OS-detect.pri") -QT += core network widgets x11extras multimedia concurrent svg +#QT += core network widgets x11extras multimedia concurrent svg -define +#define #Setup any special defines (qmake -> C++) -GIT_VERSION=$$system(git describe --always) -!isEmpty(GIT_VERSION){ - DEFINES += GIT_VERSION='"\\\"$${GIT_VERSION}\\\""' -} -DEFINES += BUILD_DATE='"\\\"$$system(date)\\\""' +#GIT_VERSION=$$system(git describe --always) +#!isEmpty(GIT_VERSION){ +# DEFINES += GIT_VERSION='"\\\"$${GIT_VERSION}\\\""' +#} +#DEFINES += BUILD_DATE='"\\\"$$system(date)\\\""' -TARGET=LuminaUtils +#TARGET=LuminaUtils -target.path = $${L_LIBDIR} +#target.path = $${L_LIBDIR} -DESTDIR= $$_PRO_FILE_PWD_/ +#DESTDIR= $$_PRO_FILE_PWD_/ -TEMPLATE = lib -LANGUAGE = C++ -VERSION = 1 +#TEMPLATE = lib +#LANGUAGE = C++ +#VERSION = 1 -HEADERS += LuminaXDG.h \ - LuminaUtils.h \ - LuminaX11.h \ - LuminaThemes.h \ - LuminaOS.h \ - LuminaSingleApplication.h +#HEADERS += LuminaXDG.h \ +# LuminaUtils.h \ +# LuminaX11.h \ +# LuminaThemes.h \ +# LuminaOS.h \ +# LuminaSingleApplication.h -SOURCES += LuminaXDG.cpp \ - LuminaUtils.cpp \ - LuminaX11.cpp \ - LuminaThemes.cpp \ - LuminaSingleApplication.cpp +#SOURCES += LuminaXDG.cpp \ +# LuminaUtils.cpp \ +# LuminaX11.cpp \ +# LuminaThemes.cpp \ +# LuminaSingleApplication.cpp # Also load the OS template as available for # LuminaOS support functions (or fall back to generic one) -exists($${PWD}/LuminaOS-$${LINUX_DISTRO}.cpp){ - SOURCES += LuminaOS-$${LINUX_DISTRO}.cpp -}else:exists($${PWD}/LuminaOS-$${OS}.cpp){ - SOURCES += LuminaOS-$${OS}.cpp -}else{ - SOURCES += LuminaOS-template.cpp -} - -LIBS += -lc -lxcb -lxcb-ewmh -lxcb-icccm -lxcb-image -lxcb-composite -lxcb-damage -lxcb-util -lXdamage - -include.path=$${L_INCLUDEDIR} -include.files=LuminaXDG.h \ - LuminaUtils.h \ - LuminaX11.h \ - LuminaThemes.h \ - LuminaOS.h \ - LuminaSingleApplication.h +#exists($${PWD}/LuminaOS-$${LINUX_DISTRO}.cpp){ +# SOURCES += LuminaOS-$${LINUX_DISTRO}.cpp +#}else:exists($${PWD}/LuminaOS-$${OS}.cpp){ +# SOURCES += LuminaOS-$${OS}.cpp +#}else{ +# SOURCES += LuminaOS-template.cpp +#} + +#LIBS += -lc -lxcb -lxcb-ewmh -lxcb-icccm -lxcb-image -lxcb-composite -lxcb-damage -lxcb-util -lXdamage + +#include.path=$${L_INCLUDEDIR} +#include.files=LuminaXDG.h \ +# LuminaUtils.h \ +# LuminaX11.h \ +# LuminaThemes.h \ +# LuminaOS.h \ +# LuminaSingleApplication.h colors.path=$${L_SHAREDIR}/lumina-desktop/colors colors.files=colors/*.qss.colors @@ -65,4 +65,4 @@ themes.files=themes/*.qss.template globs.path=$${L_SHAREDIR}/lumina-desktop globs.files=xtrafiles/globs2 -INSTALLS += target include colors themes globs +INSTALLS += colors themes globs diff --git a/src-qt5/core/libLumina/quickplugins/quick-sample.qml b/src-qt5/core/libLumina/quickplugins/quick-sample.qml deleted file mode 100644 index 18b10d77..00000000 --- a/src-qt5/core/libLumina/quickplugins/quick-sample.qml +++ /dev/null @@ -1,12 +0,0 @@ -// Plugin-Name=Sample -// Plugin-Description=A simple example for QtQuick/QML plugins -// Plugin-Icon=preferences-plugin -// Created: Ken Moore (ken@pcbsd.org) May 2015 - -import QtQuick.Controls 1.3 - -Label { - text: "Sample" - color: "blue" - font.bold: true -} \ No newline at end of file diff --git a/src-qt5/core/libLumina/themes/Glass.qss.template b/src-qt5/core/libLumina/themes/Glass.qss.template deleted file mode 100644 index d594d25e..00000000 --- a/src-qt5/core/libLumina/themes/Glass.qss.template +++ /dev/null @@ -1,539 +0,0 @@ -/* ALL THE TEMPLATE WIDGETS */ -INHERITS=None - -/* ALL THE WIDGETS WITH THE BASE COLOR */ -QMainWindow, QMenu, QDialog, QMessageBox{ - background: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 %%BASECOLOR%%, stop:1 %%ALTBASECOLOR%%); - color: %%TEXTCOLOR%%; - border: 1px solid %%ACCENTDISABLECOLOR%%; - border-radius: 3px; -} - -/* ALL THE WIDGETS WITH AN ALTERNATE BASE COLOR */ -QLineEdit, QTextEdit, QTextBrowser, QPlainTextEdit, QSpinBox, QDateEdit, QDateTimeEdit, QTimeEdit, QDoubleSpinBox{ - background: %%ALTBASECOLOR%%; - color: %%TEXTCOLOR%%; - border-color: %%ACCENTDISABLECOLOR%%; - selection-background-color: %%HIGHLIGHTCOLOR%%; - selection-color: %%TEXTHIGHLIGHTCOLOR%%; -} - -/* PAGES OF CONTAINER WIDGETS */ -QStackedWidget .QWidget{ - background: transparent; - color: %%TEXTCOLOR%%; - border: none; -} - -QToolBox::tab{ - color: %%TEXTCOLOR%%; -} - -/* MENU WIDGETS */ -QMenuBar, QMenuBar::item,QToolBar{ - background: transparent; - border: none; - color: %%TEXTCOLOR%%; -} - -QStatusBar{ - background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 transparent, stop: 0.5 %%SECONDARYCOLOR%%); - border: none; - color: %%TEXTCOLOR%%; -} -QToolBar:top{ - border-bottom: 1px solid %%ACCENTCOLOR%%; -} -QToolBar:bottom{ - border-top: 1px solid %%ACCENTCOLOR%%; -} -QToolBar:left{ - border-right: 1px solid %%ACCENTCOLOR%%; -} -QToolBar:right{ - border-left: 1px solid %%ACCENTCOLOR%%; -} - -QMenuBar::item{ - background: transparent; /*Use the menu bar color*/ - padding-left: 4px; - padding-right: 2px; -} - -QMenuBar::item:selected, QMenuBar::item:pressed, QMenu::item:selected{ -background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); -color: %%TEXTHIGHLIGHTCOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -} -QMenuBar::item:disabled{ - color: %%TEXTDISABLECOLOR%%; -} - -/*QMenu::item{ - border: 2px solid #808080; -}*/ - -QMenu::item{ - background: transparent; - border: 1px solid transparent; - color: %%TEXTCOLOR%%; - padding: 4px 30px 4px 20px; - margin-left: 3px; - margin-right: 3px; -} - -/* TAB WIDGETS */ -/*QTabBar{ - Custom Font settings need to be here and NOT in the ::tab fields, - otherwise it will break auto-scaling of the tab sizes to fit the text -}*/ -/* Transparency does not work on main pages within tabwidgets*/ -QTabWidget QStackedWidget .QWidget{ - background: rgb(230,230,230); - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} -QTabWidget{ - color: black; - border: none; -} -QTabWidget QLabel{ - color: black; -} -QTabBar::tab { - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%SECONDARYDISABLECOLOR%%, stop: 1 %%ALTBASECOLOR%%); - border: 1px solid %%ACCENTCOLOR%%; - padding: 2px; - color: %%TEXTCOLOR%%; -} -QTabBar::tab:top{ - border-top-left-radius: 4px; - border-top-right-radius: 4px; - max-width: 100em; - min-width: 0em; -} -QTabBar::tab:bottom{ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - max-width: 100em; - min-width: 0em; -} -/* left/right tab indicators appear to be reversed in Qt*/ -QTabBar::tab:right{ - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - max-height: 100em; - min-height: 0em; -} -QTabBar::tab:left{ - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - max-height: 100em; - min-height: 0em; -} -QTabBar::tab:selected{ - background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 rgb(230,230,230)); - border-bottom: none; -} -QTabBar::tab:hover { - background: %%HIGHLIGHTCOLOR%%; - border: 1px solid %%ACCENTDISABLECOLOR%%; - } - -QTabBar::tab:!selected:top { - margin-top: 4px; -} -QTabBar::tab:!selected:bottom{ - margin-bottom: 4px; -} -QTabBar::tab:!selected:right{ - margin-left: 4px; -} -QTabBar::tab:!selected:left{ - margin-right: 4px; -} - -/* FRAME WIDGETS */ -QToolTip{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%BASECOLOR%%, stop: 1 %%ALTBASECOLOR%%); - border-radius: 3px; - border: 1px solid %%ACCENTCOLOR%%; - padding: 1px; - color: %%TEXTCOLOR%%; -} - -QLabel{ - background: transparent; - border: none; - color: %%TEXTCOLOR%%; -} -QAbstractButton::disabled{ - color: %%TEXTDISABLECOLOR%%; -} - -/* GROUP BOX */ -QGroupBox{ - background-color: transparent; - border-color: %%ACCENTCOLOR%%; - border-radius: 5px; - margin-top: 2ex; - font-weight: bold; -} -QGroupBox::title{ - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 0 3px; - background: transparent; - /*border: none;*/ - color: %%TEXTCOLOR%%; -} - -/* COMBO BOX */ -QComboBox{ - /*border: 1px solid %%ACCENTCOLOR%%; - border-radius: 3px; - padding: 1px 18px 1px 3px;*/ - color: %%TEXTCOLOR%%; - background: %%ALTBASECOLOR%%; - selection-background-color: %%HIGHLIGHTCOLOR%%; - } - - -/* VIEW WIDGETS */ -QTreeView, QListView{ - background: %%ALTBASECOLOR%%; - alternate-background-color: %%BASECOLOR%%; - /*selection-background-color: %%SECONDARYCOLOR%%;*/ - border: 1px solid %%ACCENTCOLOR%%; - border-radius: 3px; - /*show-decoration-selected: 1;*/ - color: %%TEXTCOLOR%%; - selection-color: %%TEXTCOLOR%%; -} - -QTreeView:focus, QListView:focus{ - border: 1px solid %%HIGHLIGHTDISABLECOLOR%%; -} - -/* -QTreeView::item and QListView::item unneccessary: -Already set though parentage and causes usage errors if set manually -*/ - -/*QTreeView::item:selected, QListView::item:selected{ - background: %%SECONDARYDISABLECOLOR%%; - border-color: %%ACCENTCOLOR%%; - color: %%TEXTCOLOR%%; -}*/ - -QTreeView::item:hover, QListView::item:hover{ - background: %%HIGHLIGHTDISABLECOLOR%%; -} -QTreeView::item:selected:hover, QListView::item:selected:hover{ - background: %%HIGHLIGHTDISABLECOLOR%%; -} -QTreeView::item:selected, QListView::item:selected{ - background: %%SECONDARYDISABLECOLOR%%; -} -QTreeView::item:selected:focus, QListView::item:selected:focus{ - background: %%SECONDARYCOLOR%%; -} -QHeaderView{ - background: %%HIGHLIGHTDISABLECOLOR%%; - color: %%TEXTHIGHLIGHTCOLOR%%; - border: none; - border-top-left-radius: 3px; /*match the list/tree view widgets*/ - border-top-right-radius: 3px; /*match the list/tree view widgets*/ -} -QHeaderView::section{ - background: %%HIGHLIGHTDISABLECOLOR%%; /*QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%PRIMARYDISABLECOLOR%%, stop: 1 %%PRIMARYCOLOR%%);*/ - color: %%TEXTHIGHLIGHTCOLOR%%; - border-color: %%ACCENTCOLOR%%; - padding: 1px; - padding-left: 4px; -} -QHeaderView::section:hover{ - background: %%PRIMARYCOLOR%%; - border-color: %%ACCENTDISABLECOLOR%%; - color: %%TEXTCOLOR%%; -} - -/* SCROLLBARS (NOTE: Changing 1 subcontrol means you have to change all of them)*/ -QScrollBar{ - background:%%ALTBASECOLOR%%; -} -QScrollBar:horizontal{ - margin: 0px 0px 0px 0px; -} -QScrollBar:vertical{ - margin: 0px 0px 0px 0px; -} -QScrollBar::handle{ - background: %%SECONDARYCOLOR%%; - border: 1px solid transparent; - border-radius: 7px; -} -QScrollBar::handle:hover, QScrollBar::add-line:hover, QScrollBar::sub-line:hover{ - background: %%SECONDARYDISABLECOLOR%%; -} -QScrollBar::add-line{ -subcontrol-origin: none; -} -QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical{ -height: 0px; -} -QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal{ -width: 0px; -} -QScrollBar::sub-line{ -subcontrol-origin: none; -} - -/* SLIDERS */ -QSlider::groove:horizontal { -border: 1px solid %%ACCENTCOLOR%%; -background: %%ALTBASECOLOR%%; -height: 10px; -border-radius: 3px; -} -QSlider::groove:vertical { -border: 1px solid %%ACCENTCOLOR%%; -background: %%ALTBASECOLOR%%; -width: 10px; -border-radius: 3px; -} -QSlider::sub-page:horizontal { -background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, - stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); -border: 1px solid %%ACCENTCOLOR%%; -height: 10px; -border-radius: 3px; -} -QSlider::sub-page:vertical { -background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, - stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); -border: 1px solid %%ACCENTCOLOR%%; -width: 10px; -border-radius: 3px; -} -QSlider::add-page:horizontal{ -background: %%ALTBASECOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -height: 10px; -border-radius: 3px; -} -QSlider::add-page:vertical{ -background: %%ALTBASECOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -width: 10px; -border-radius: 3px; -} -QSlider::handle:horizontal{ -background: %%ALTBASECOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -width: 13px; -border-radius: 4px; -} -QSlider::handle:vertical{ -background: %%ALTBASECOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -height: 13px; -border-radius: 4px; -} -QSlider::handle:horizontal:hover, QSlider::handle:vertical:hover{ -border: 1px solid %%ACCENTDISABLECOLOR%%; -/*background: %%HIGHLIGHTCOLOR%%;*/ -} - -QSlider::sub-page:horizontal:disabled { -background: %%ACCENTDISABLECOLOR%%; -border-color: %%ACCENTCOLOR%%; -} - -QSlider::add-page:horizontal:disabled { -background: %%ACCENTDISABLECOLOR%%; -border-color: %%ACCENTCOLOR%%; -} - -QSlider::handle:horizontal:disabled { -background: %%ALTBASECOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -} - -/* BUTTONS */ -QPushButton{ - border: 1px solid %%ACCENTCOLOR%%; - border-radius: 3px; - background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%SECONDARYDISABLECOLOR%%, stop: 1 %%SECONDARYCOLOR%%); - padding: 2px; - padding-right: 4px; - color: %%TEXTCOLOR%%; - } - -QToolButton{ /* Assume a flat button for every toolbutton by default*/ - color: %%TEXTCOLOR%%; - border: 1px solid transparent; - border-radius: 3px; - background-color: transparent; - padding: 1px; -} - - QPushButton:pressed, QPushButton:open, QPushButton:selected, QPushButton:checked, QPushButton:on, QToolButton:pressed, QToolButton:open, QToolButton:selected, QToolButton:checked, QToolButton:on{ - background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); - margin-top: 2px; - } - -QPushButton:flat, QToolButton:flat{ - background-color: transparent; - border: 1px solid transparent; /* no border for a flat button */ -} - -QPushButton:hover, QToolButton:hover{ - border: 1px solid %%ACCENTCOLOR%%; - background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); - color: %%TEXTHIGHLIGHTCOLOR%%; -} -QRadioButton, QCheckBox{ - padding: 2px; - border: 1px solid transparent; - border-radius: 3px; - color: %%TEXTCOLOR%%; -} -QRadioButton::hover, QCheckBox:hover{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); - border: 1px solid %%ACCENTCOLOR%%; - color: %%TEXTHIGHLIGHTCOLOR%%; -} -QRadioButton::indicator, QCheckBox::indicator, QGroupBox::indicator{ - border: 1px solid %%TEXTCOLOR%%; -} -QRadioButton::indicator{ - border-radius: 7px; -} -QRadioButton::indicator:checked{ - background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:1, fx:0.5, fy:0.5, stop:0 %%TEXTCOLOR%%, stop:0.25 %%TEXTCOLOR%%, stop:0.25001 transparent); -} -QCheckBox::indicator:checked, QGroupBox::indicator:checked{ - padding: 1px; - background-origin: content; - background-clip: content; - background: %%TEXTCOLOR%%; -} -QCheckBox::indicator:indeterminate, QGroupBox::indicator:indeterminate{ - padding: 1px; - background-origin: content; - background-clip: content; - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0.49 transparent, stop: 0.5 %%TEXTCOLOR%%); -} - -/* PROGRESSBAR */ -QProgressBar{ - background-color: %%ALTBASECOLOR%%; - border: 1px solid %%ACCENTCOLOR%%; - border-radius: 5px; - color: %%TEXTCOLOR%%; - text-align: center; - padding: 1px; -} - QProgressBar::chunk { - background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); - /*border: 1px solid %%ACCENTDISABLECOLOR%%;*/ - border-radius: 5px; - } -QProgressBar::chunk:vertical{ - margin-left: 2px; - margin-right: 2px; -} -QProgressBar::chunk:horizontal{ - margin-top: 2px; - margin-bottom: 2px; -} - -QWidget#LuminaBootSplash{ - background: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 rgba(234, 236, 243, 30), stop:1 rgba(229, 229, 229, 70)); - border-radius: 5px; -} - -LDPlugin#applauncher{ - background-color: transparent; - border: none; -} -LDPlugin#applauncher QToolButton, LDPlugin, LDPlugin#desktopview QListWidget::item{ - background-color: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 rgba(234, 236, 243, 30), stop:1 rgba(229, 229, 229, 70)); - border-width: 3px; - border-style: solid; - border-radius: 5px; - border-top-color: qradialgradient(spread:pad, cx:0.5, cy:1, radius:0.5, fx:0.5, fy:1, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - border-bottom-color: qradialgradient(spread:pad, cx:0.5, cy:0, radius:0.5, fx:0.5, fy:0, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - border-left-color: qradialgradient(spread:pad, cx:1, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - border-right-color: qradialgradient(spread:pad, cx:0, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - color: white; -} - -LDPlugin#applauncher QToolButton:hover, LDPlugin#desktopview QListWidget::item:hover{ - background-color: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 rgba(234, 236, 243, 100), stop:1 rgba(229, 229, 229, 150)); - border-width: 3px; - border-style: solid; - border-radius: 5px; - border-top-color: qradialgradient(spread:pad, cx:0.5, cy:1, radius:0.5, fx:0.5, fy:1, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - border-bottom-color: qradialgradient(spread:pad, cx:0.5, cy:0, radius:0.5, fx:0.5, fy:0, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - border-left-color: qradialgradient(spread:pad, cx:1, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - border-right-color: qradialgradient(spread:pad, cx:0, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - color: %%TEXTHIGHLIGHTCOLOR%%; -} -QWidget#LuminaPanelColor{ - background: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 rgba(234, 236, 243, 60), stop:1 rgba(229, 229, 229, 110)); - border-radius: 3px; -} -/*Special taskmanager window buttons: based on window state*/ -LTBWidget{ - border: 1px solid transparent; - border-radius: 3px; -} -LTBWidget::menu-indicator{ image: none; } /*disable the menu arrow*/ -LTBWidget#WindowVisible{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.1 %%PRIMARYCOLOR%%, stop: 1 transparent); -} -LTBWidget#WindowInvisible{ - background: transparent; -} -LTBWidget#WindowActive{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.1 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 transparent); -} -LTBWidget#WindowAttention{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.1 %%HIGHLIGHTCOLOR%%, stop: 1 transparent); -} -LTBWidget:hover, LTBWidget#WindowVisible:hover, LTBWidget#WindowInvisible:hover, LTBWidget#WindowActive:hover, LTBWidget#WindowAttention:hover, QToolButton:hover{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.1 %%HIGHLIGHTCOLOR%%, stop: 1 transparent); - color: %%TEXTHIGHLIGHTCOLOR%%; - border-width: 1px; - border-style: solid; - border-top-color: qradialgradient(spread:pad, cx:0.5, cy:1, radius:0.5, fx:0.5, fy:1, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - border-bottom-color: qradialgradient(spread:pad, cx:0.5, cy:0, radius:0.5, fx:0.5, fy:0, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - border-left-color: qradialgradient(spread:pad, cx:1, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); - border-right-color: qradialgradient(spread:pad, cx:0, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); -} -/* CALENDER WIDGET */ - /* (This is a special hack since there is no official support for stylesheets for this widget) */ - QCalendarWidget QWidget#qt_calendar_navigationbar{ - background-color: %%ALTBASECOLOR%%; - } -QCalendarWidget QWidget{ - background-color: %%BASECOLOR%%; - alternate-background-color: rgba(255, 255, 255, 50); - color: %%TEXTCOLOR%%; -} -QCalendarWidget QAbstractButton{ - background-color: transparent; -} -QCalendarWidget QAbstractButton::menu-indicator{ - image: none; -} -QCalendarWidget QAbstractItemView{ - selection-background-color: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 rgba(234, 236, 243, 20), stop:1 rgba(229, 229, 229, 100)); - selection-color: %%TEXTHIGHLIGHTCOLOR%%; -} -QCalendarWidget QWidget#qt_calendar_calendarview{ - background-color: rgb(220,220,220); - border: none; -} diff --git a/src-qt5/core/libLumina/themes/Lumina-default.qss.template b/src-qt5/core/libLumina/themes/Lumina-default.qss.template deleted file mode 100644 index 9f03d4ae..00000000 --- a/src-qt5/core/libLumina/themes/Lumina-default.qss.template +++ /dev/null @@ -1,494 +0,0 @@ -/* ALL THE TEMPLATE WIDGETS */ -INHERITS=None - -/* ALL THE WIDGETS WITH THE BASE COLOR */ -QMainWindow, QMenu, QDialog, QMessageBox{ - background: %%BASECOLOR%%; - color: %%TEXTCOLOR%%; -} - -/* ALL THE WIDGETS WITH AN ALTERNATE BASE COLOR */ -QLineEdit, QTextEdit, QTextBrowser, QPlainTextEdit, QSpinBox, QDateEdit, QDateTimeEdit, QTimeEdit, QDoubleSpinBox{ - background: %%ALTBASECOLOR%%; - color: %%TEXTCOLOR%%; - border-color: %%ACCENTDISABLECOLOR%%; - selection-background-color: %%HIGHLIGHTCOLOR%%; - selection-color: %%TEXTHIGHLIGHTCOLOR%%; - -} - -/* PAGES OF CONTAINER WIDGETS */ -QStackedWidget .QWidget, QTabWidget .QWidget{ - background: %%ALTBASECOLOR%%; - color: %%TEXTCOLOR%%; - border: none; -} -QToolBox::tab{ - color: %%TEXTCOLOR%%; -} - -/* MENU WIDGETS */ -QMenuBar, QMenuBar::item,QToolBar{ - background: %%SECONDARYCOLOR%%; - border: none; - color: %%TEXTCOLOR%%; -} - -QStatusBar{ - background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 transparent, stop: 0.5 %%SECONDARYCOLOR%%); - border: none; - color: %%TEXTCOLOR%%; -} -QToolBar:top{ - border-bottom: 1px solid %%ACCENTCOLOR%%; -} -QToolBar:bottom{ - border-top: 1px solid %%ACCENTCOLOR%%; -} -QToolBar:left{ - border-right: 1px solid %%ACCENTCOLOR%%; -} -QToolBar:right{ - border-left: 1px solid %%ACCENTCOLOR%%; -} - -QMenuBar::item{ - background: transparent; /*Use the menu bar color*/ - padding-left: 4px; - padding-right: 2px; -} - -QMenuBar::item:selected, QMenuBar::item:pressed, QMenu::item:selected{ -background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); -color: %%TEXTHIGHLIGHTCOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -} -QMenuBar::item:disabled{ - color: %%TEXTDISABLECOLOR%%; -} - -QMenu::item{ - border: 2px solid #808080; -} - -QMenu::item{ - background: transparent; - border: 1px solid transparent; - color: %%TEXTCOLOR%%; - padding: 4px 30px 4px 20px; - margin-left: 3px; - margin-right: 3px; -} - -/* TAB WIDGETS */ -/*QTabBar{ - Custom Font settings need to be here and NOT in the ::tab fields, - otherwise it will break auto-scaling of the tab sizes to fit the text -}*/ -QTabBar::tab { - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%SECONDARYDISABLECOLOR%%, stop: 1 %%SECONDARYCOLOR%%); - border: 1px solid %%ACCENTCOLOR%%; - padding: 2px; - color: %%TEXTCOLOR%%; -} -QTabBar::tab:top{ - border-top-left-radius: 4px; - border-top-right-radius: 4px; - max-width: 100em; - min-width: 0em; -} -QTabBar::tab:bottom{ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - max-width: 100em; - min-width: 0em; -} -/* left/right tab indicators appear to be reversed in Qt*/ -QTabBar::tab:right{ - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - max-height: 100em; - min-height: 0em; -} -QTabBar::tab:left{ - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - max-height: 100em; - min-height: 0em; -} -QTabBar::tab:selected{ - background: %%HIGHLIGHTDISABLECOLOR%%; -} -QTabBar::tab:hover { - background: %%HIGHLIGHTCOLOR%%; - border: 1px solid %%ACCENTDISABLECOLOR%%; - } - -QTabBar::tab:!selected:top { - margin-top: 4px; -} -QTabBar::tab:!selected:bottom{ - margin-bottom: 4px; -} -QTabBar::tab:!selected:right{ - margin-left: 4px; -} -QTabBar::tab:!selected:left{ - margin-right: 4px; -} - -/* FRAME WIDGETS */ -QToolTip{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%BASECOLOR%%, stop: 1 %%ALTBASECOLOR%%); - border-radius: 3px; - border: 1px solid %%ACCENTCOLOR%%; - padding: 1px; - color: %%TEXTCOLOR%%; -} - -QLabel{ - background: transparent; - border: none; - color: %%TEXTCOLOR%%; -} -QAbstractButton::disabled{ - color: %%TEXTDISABLECOLOR%%; -} - -/* GROUP BOX */ -QGroupBox{ - background-color: transparent; - border-color: %%ACCENTCOLOR%%; - border-radius: 5px; - margin-top: 2ex; - font-weight: bold; -} -QGroupBox::title{ - subcontrol-origin: margin; - subcontrol-position: top center; - padding: 0 3px; - background: transparent; - /*border: none;*/ - color: %%TEXTCOLOR%%; -} - -/* COMBO BOX */ -QComboBox{ - /*border: 1px solid %%ACCENTCOLOR%%; - border-radius: 3px; - padding: 1px 18px 1px 3px;*/ - color: %%TEXTCOLOR%%; - background: %%ALTBASECOLOR%%; - selection-background-color: %%HIGHLIGHTCOLOR%%; - } - - -/* VIEW WIDGETS */ -QTreeView, QListView{ - background: %%ALTBASECOLOR%%; - alternate-background-color: %%BASECOLOR%%; - /*selection-background-color: %%SECONDARYCOLOR%%;*/ - border: 1px solid %%ACCENTCOLOR%%; - border-radius: 3px; - /*show-decoration-selected: 1;*/ - color: %%TEXTCOLOR%%; - selection-color: %%TEXTCOLOR%%; -} - -QTreeView:focus, QListView:focus{ - border: 1px solid %%HIGHLIGHTDISABLECOLOR%%; -} - -/* -QTreeView::item and QListView::item unneccessary: -Already set though parentage and causes usage errors if set manually -*/ - -/*QTreeView::item:selected, QListView::item:selected{ - background: %%SECONDARYDISABLECOLOR%%; - border-color: %%ACCENTCOLOR%%; - color: %%TEXTCOLOR%%; -}*/ - -QTreeView::item:hover, QListView::item:hover{ - background: %%HIGHLIGHTDISABLECOLOR%%; -} -QTreeView::item:selected:hover, QListView::item:selected:hover{ - background: %%HIGHLIGHTDISABLECOLOR%%; -} -QTreeView::item:selected, QListView::item:selected{ - background: %%SECONDARYDISABLECOLOR%%; -} -QTreeView::item:selected:focus, QListView::item:selected:focus{ - background: %%SECONDARYCOLOR%%; -} -QHeaderView{ - background: %%HIGHLIGHTDISABLECOLOR%%; - color: %%TEXTHIGHLIGHTCOLOR%%; - border: none; - border-top-left-radius: 3px; /*match the list/tree view widgets*/ - border-top-right-radius: 3px; /*match the list/tree view widgets*/ -} -QHeaderView::section{ - background: %%HIGHLIGHTDISABLECOLOR%%; /*QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%PRIMARYDISABLECOLOR%%, stop: 1 %%PRIMARYCOLOR%%);*/ - color: %%TEXTHIGHLIGHTCOLOR%%; - border-color: %%ACCENTCOLOR%%; - padding: 1px; - padding-left: 4px; -} -QHeaderView::section:hover{ - background: %%PRIMARYCOLOR%%; - border-color: %%ACCENTDISABLECOLOR%%; - color: %%TEXTCOLOR%%; -} - -/* SCROLLBARS (NOTE: Changing 1 subcontrol means you have to change all of them)*/ -QScrollBar{ - background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %%SECONDARYCOLOR%%, stop: 1 %%SECONDARYDISABLECOLOR%%); - /*border: 1px solid %%ACCENTCOLOR%%;*/ -} -QScrollBar:horizontal{ - margin: 0px 20px 0px 20px; -} -QScrollBar:vertical{ - margin: 20px 0px 20px 0px; -} -QScrollBar::sub-page, QScrollBar::add-page{ - background: %%BASECOLOR%%; - border: 1px solid %%ACCENTCOLOR%%; -} -QScrollBar::sub-page:vertical{ - border-bottom: none; -} -QScrollBar::add-page:vertical{ - border-top: none; -} -QScrollBar::sub-page:horizontal{ - border-right: none; -} -QScrollBar::add-page:horizontal{ - border-left: none; -} -QScrollBar::handle{ - background: QLinearGradient(x1: 0, y1: -0.3, x2: 0, y2: 1.3, stop: 0 %%BASECOLOR%%, stop: 0.5 %%SECONDARYCOLOR%%, stop: 1 %%BASECOLOR%%); - border: 1px solid %%ACCENTCOLOR%%; -} -QScrollBar::handle:hover, QScrollBar::add-line:hover, QScrollBar::sub-line:hover{ - background: %%HIGHLIGHTCOLOR%%; -} -QScrollBar::add-line{ - background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %%SECONDARYDISABLECOLOR%%, stop: 1 %%SECONDARYCOLOR%%); - border: 1px solid %%ACCENTCOLOR%%; - border-radius: 3px; -subcontrol-position: bottom right; -subcontrol-origin: margin; -} -QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical{ -height: 20px; -} -QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal{ -width: 20px; -} -QScrollBar::sub-line{ - background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %%SECONDARYCOLOR%%, stop: 1 %%SECONDARYDISABLECOLOR%%); - border: 1px solid %%ACCENTCOLOR%%; - border-radius: 3px; -subcontrol-position: top left; -subcontrol-origin: margin; -height: 20px; -} -/* SLIDERS */ -QSlider::groove:horizontal { -border: 1px solid %%ACCENTCOLOR%%; -background: %%ALTBASECOLOR%%; -height: 10px; -border-radius: 3px; -} -QSlider::groove:vertical { -border: 1px solid %%ACCENTCOLOR%%; -background: %%ALTBASECOLOR%%; -width: 10px; -border-radius: 3px; -} -QSlider::sub-page:horizontal { -background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, - stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); -border: 1px solid %%ACCENTCOLOR%%; -height: 10px; -border-radius: 3px; -} -QSlider::sub-page:vertical { -background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, - stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); -border: 1px solid %%ACCENTCOLOR%%; -width: 10px; -border-radius: 3px; -} -QSlider::add-page:horizontal{ -background: %%ALTBASECOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -height: 10px; -border-radius: 3px; -} -QSlider::add-page:vertical{ -background: %%ALTBASECOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -width: 10px; -border-radius: 3px; -} -QSlider::handle:horizontal{ -background: %%ALTBASECOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -width: 13px; -border-radius: 4px; -} -QSlider::handle:vertical{ -background: %%ALTBASECOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -height: 13px; -border-radius: 4px; -} -QSlider::handle:horizontal:hover, QSlider::handle:vertical:hover{ -border: 1px solid %%ACCENTDISABLECOLOR%%; -/*background: %%HIGHLIGHTCOLOR%%;*/ -} - -QSlider::sub-page:horizontal:disabled { -background: %%ACCENTDISABLECOLOR%%; -border-color: %%ACCENTCOLOR%%; -} - -QSlider::add-page:horizontal:disabled { -background: %%ACCENTDISABLECOLOR%%; -border-color: %%ACCENTCOLOR%%; -} - -QSlider::handle:horizontal:disabled { -background: %%ALTBASECOLOR%%; -border: 1px solid %%ACCENTCOLOR%%; -} - -/* BUTTONS */ -QPushButton{ - border: 1px solid %%ACCENTCOLOR%%; - border-radius: 3px; - background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%SECONDARYDISABLECOLOR%%, stop: 1 %%SECONDARYCOLOR%%); - padding: 2px; - padding-right: 4px; - color: %%TEXTCOLOR%%; - } - -QToolButton{ /* Assume a flat button for every toolbutton by default*/ - color: %%TEXTCOLOR%%; - border: 1px solid transparent; - border-radius: 3px; - background-color: transparent; - padding: 1px; -} - - QPushButton:pressed, QPushButton:open, QPushButton:selected, QPushButton:checked, QPushButton:on, QToolButton:pressed, QToolButton:open, QToolButton:selected, QToolButton:checked, QToolButton:on{ - background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); - margin-top: 2px; - } - -QPushButton:flat, QToolButton:flat{ - background-color: transparent; - border: 1px solid transparent; /* no border for a flat button */ -} - -QPushButton:hover, QToolButton:hover{ - border: 1px solid %%ACCENTCOLOR%%; - background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); - color: %%TEXTHIGHLIGHTCOLOR%%; -} -QRadioButton, QCheckBox{ - padding: 2px; - border: 1px solid transparent; - border-radius: 3px; - color: %%TEXTCOLOR%%; -} -QRadioButton::hover, QCheckBox:hover{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); - border: 1px solid %%ACCENTCOLOR%%; - color: %%TEXTHIGHLIGHTCOLOR%%; -} -QRadioButton::indicator, QCheckBox::indicator, QGroupBox::indicator{ - border: 1px solid %%TEXTCOLOR%%; -} -QRadioButton::indicator{ - border-radius: 7px; -} -QRadioButton::indicator:checked{ - background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:1, fx:0.5, fy:0.5, stop:0 %%TEXTCOLOR%%, stop:0.25 %%TEXTCOLOR%%, stop:0.25001 transparent); -} -QCheckBox::indicator:checked, QGroupBox::indicator:checked{ - padding: 1px; - background-origin: content; - background-clip: content; - background: %%TEXTCOLOR%%; -} -QCheckBox::indicator:indeterminate, QGroupBox::indicator:indeterminate{ - padding: 1px; - background-origin: content; - background-clip: content; - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0.49 transparent, stop: 0.5 %%TEXTCOLOR%%); -} - -/* PROGRESSBAR */ -QProgressBar{ - background-color: %%ALTBASECOLOR%%; - border: 1px solid %%ACCENTCOLOR%%; - border-radius: 5px; - color: %%TEXTCOLOR%%; - text-align: center; - padding: 1px; -} - QProgressBar::chunk { - background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); - /*border: 1px solid %%ACCENTDISABLECOLOR%%;*/ - border-radius: 5px; - } -QProgressBar::chunk:vertical{ - margin-left: 2px; - margin-right: 2px; -} -QProgressBar::chunk:horizontal{ - margin-top: 2px; - margin-bottom: 2px; -} - - /* SPINBOX */ -/*QAbstractSpinBox{ - background-color: %%ALTBASECOLOR%%; - border: 1px solid %%ACCENTCOLOR%%; - border-radius: 3px; -} -QAbstractSpinBox:disabled{ - color: %%ACCENTDISABLECOLOR%%; -}*/ -/*QAbstractSpinBox::down-button{ - subcontrol-origin: border; - subcontrol-position: left; - width: 16px; - border-width: 1px; -} -QAbstractSpinBox::up-button{ - subcontrol-origin: border; - subcontrol-position: right; - width: 16px; - border-width: 1px; -}*/ -/* -QAbstractSpinBox::down-arrow{ - border-image: url(":/trolltech/styles/commonstyle/images/left-16.png"); - width: 16px; - height: 16px; -} -QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::down-arrow:off, QAbstractSpinBox::up-arrow:off{ - border-image: url(:/none); -} -QAbstractSpinBox::up-arrow{ - border-image: url(":/trolltech/styles/commonstyle/images/right-16.png"); - width: 16px; - height: 16px; -}*/ diff --git a/src-qt5/core/libLumina/themes/None.qss.template b/src-qt5/core/libLumina/themes/None.qss.template deleted file mode 100644 index 7d923b1e..00000000 --- a/src-qt5/core/libLumina/themes/None.qss.template +++ /dev/null @@ -1,118 +0,0 @@ -/* This is a blank stylesheet to disable the Lumina Themes almost entirely*/ -QWidget{ - font-family: %%FONT%%; - font-size: %%FONTSIZE%%; -} -/* Set the panel appearance for this theme (unless manually customized) */ -QWidget#LuminaPanelColor{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%PRIMARYCOLOR%%, stop: 1 %%PRIMARYDISABLECOLOR%%); - border-radius: 5px; -} -QWidget#LuminaBootSplash{ - background: %%BASECOLOR%%; - border-radius: 5px; -} - -/* Set the default canvas appearance for Lumina desktop plugins*/ -/* Default to a non-transparent background for all desktop plugins*/ -LDPlugin{ - background: %%BASECOLOR%%; - border-radius: 5px; -} -/* Now specify which plugins should have a transparent background */ -LDPlugin#applauncher, LDPlugin#desktopview{ - background: transparent; - border-radius: 5px; -} - -LDPlugin#applauncher QToolButton{ -background: transparent; - border: none; - border-radius: 5px; - color: white; -} -LDPlugin#applauncher QToolButton:hover{ - background: %%PRIMARYDISABLECOLOR%%; - border: none; - border-radius: 5px; - color: %%TEXTHIGHLIGHTCOLOR%%; -} - -LDPlugin#desktopview QListWidget{ - background: transparent; - border: 1px solid transparent; -} -LDPlugin#desktopview QListWidget::item{ - background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 transparent, - stop: 0.7 transparent, - stop: 1.0 %%PRIMARYDISABLECOLOR%%); - border-radius: 5px; - color: %%TEXTCOLOR%%; -} - -LDPlugin#desktopview QListWidget::item:hover{ - background: %%PRIMARYDISABLECOLOR%%; - border-radius: 5px; - color: %%TEXTHIGHLIGHTCOLOR%%; -} -/*For the special widgets on the user button*/ -UserItemWidget, ItemWidget{ - background: transparent; - border-radius: 3px; -} -UserItemWidget:hover, ItemWidget:hover{ - background: %%HIGHLIGHTCOLOR%%; - color: %%TEXTHIGHLIGHTCOLOR%%; -} - -/*Special taskmanager window buttons: based on window state*/ -LTBWidget{ - border: 1px solid transparent; - border-radius: 3px; -} -LTBWidget::menu-indicator{ image: none; } /*disable the menu arrow*/ -LTBWidget#WindowVisible{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.3 %%SECONDARYCOLOR%%, stop: 1 transparent); -} -LTBWidget#WindowInvisible{ - /* Primary color is used for the panel appearance, so use that to make it disappear*/ - background: transparent; -} -LTBWidget#WindowActive{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.3 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 transparent); -} -LTBWidget#WindowAttention{ - background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.3 %%HIGHLIGHTCOLOR%%, stop: 1 transparent); -} -LTBWidget:hover, LTBWidget#WindowVisible:hover, LTBWidget#WindowInvisible:hover, LTBWidget#WindowActive:hover, LTBWidget#WindowAttention:hover{ - background: %%HIGHLIGHTCOLOR%%; - color: %%TEXTHIGHLIGHTCOLOR%%; - border: 1px solid %%ACCENTCOLOR%%; -} - -/* CALENDER WIDGET */ - /* (This is a special hack since there is no official support for stylesheets for this widget) */ - QCalendarWidget QWidget#qt_calendar_navigationbar{ - background-color: %%ALTBASECOLOR%%; - } -QCalendarWidget QWidget{ - background-color: %%BASECOLOR%%; - alternate-background-color: %%HIGHLIGHTDISABLECOLOR%%; - color: %%TEXTCOLOR%%; -} -QCalendarWidget QAbstractButton{ - background-color: transparent; -} -QCalendarWidget QAbstractButton::menu-indicator{ - image: none; -} -QCalendarWidget QAbstractItemView{ - background-color: %%SECONDARYCOLOR%%; - selection-background-color: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%);; - selection-color: %%TEXTHIGHLIGHTCOLOR%%; -} -QCalendarWidget QWidget#qt_calendar_calendarview{ - background-color: %%ALTBASECOLOR%%; - border: none; -} \ No newline at end of file diff --git a/src-qt5/core/libLumina/xtrafiles/globs2 b/src-qt5/core/libLumina/xtrafiles/globs2 deleted file mode 100644 index 0a783316..00000000 --- a/src-qt5/core/libLumina/xtrafiles/globs2 +++ /dev/null @@ -1,991 +0,0 @@ -# Fallback "globs2" file from the FreeDesktop mimetype database (9/23/16) -# This is only used if the official database cannot be found on the system -80:application/x-cd-image:*.iso -80:application/x-doom-wad:*.wad -50:text/x-vala:*.vala -50:application/x-nes-rom:*.nez -50:audio/ac3:*.ac3 -50:application/x-mswrite:*.wri -50:application/smil+xml:*.smil -50:text/x-verilog:*.v -50:application/x-qpress:*.qp -50:image/x-exr:*.exr -50:application/x-compress:*.z -50:image/x-jng:*.jng -50:application/oda:*.oda -50:application/vnd.oasis.opendocument.database:*.odb -50:application/vnd.sun.xml.base:*.odb -50:application/vnd.oasis.opendocument.chart:*.odc -50:text/vtt:*.vtt -50:application/x-xz-compressed-tar:*.txz -50:application/vnd.oasis.opendocument.formula:*.odf -50:application/vnd.oasis.opendocument.formula:*.odf -50:application/vnd.oasis.opendocument.graphics:*.odg -50:application/vnd.oasis.opendocument.graphics:*.odg -50:text/x-ldif:*.ldif -50:application/vnd.oasis.opendocument.image:*.odi -50:image/jp2:*.jp2 -50:application/x-oleo:*.oleo -50:application/oxps:*.xps -50:application/vnd.oasis.opendocument.text-master:*.odm -50:application/vnd.oasis.opendocument.text-master:*.odm -50:application/x-ruby:*.rb -50:audio/vnd.rn-realaudio:*.ra -50:application/x-mimearchive:*.mht -50:application/vnd.oasis.opendocument.presentation:*.odp -50:application/vnd.oasis.opendocument.presentation:*.odp -50:application/x-raw-disk-image-xz-compressed:*.raw-disk-image.xz -50:application/vnd.oasis.opendocument.spreadsheet:*.ods -50:application/vnd.oasis.opendocument.spreadsheet:*.ods -50:application/vnd.oasis.opendocument.text:*.odt -50:application/vnd.oasis.opendocument.text:*.odt -50:image/x-portable-bitmap:*.pbm -50:application/x-egon:*.egon -50:application/x-font-pcf:*.pcf.z -50:application/x-xliff:*.xliff -50:application/vnd.rn-realmedia:*.rm -50:application/x-abiword:*.abw -50:image/vnd.rn-realpix:*.rp -50:image/x-sigma-x3f:*.x3f -50:video/webm:*.webm -50:text/rust:*.rs -50:text/vnd.rn-realtext:*.rt -50:image/webp:*.webp -50:application/x-cpio:*.cpio -50:audio/midi:*.mid -50:application/x-mif:*.mif -50:video/vnd.rn-realvideo:*.rv -50:application/vnd.google-earth.kml+xml:*.kml -50:image/x-3ds:*.3ds -50:image/x-photo-cd:*.pcd -50:application/x-pc-engine-rom:*.pce -50:application/x-font-pcf:*.pcf -50:application/x-cisco-vpn-settings:*.pcf -50:model/vrml:*.wrl -50:text/x-fortran:*.f95 -50:text/plain:*.txt -50:image/x-xpixmap:*.xpm -50:application/vnd.hp-pcl:*.pcl -50:application/x-trash:*.bak -50:application/vnd.openxmlformats-officedocument.presentationml.template:*.potx -50:application/vnd.openxmlformats-officedocument.presentationml.template:*.potx -50:application/x-sms-rom:*.sg -50:application/x-shellscript:*.sh -50:model/vrml:*.vrml -50:text/vcard:*.vcard -50:image/x-skencil:*.sk -50:image/x-pict:*.pct -50:video/3gpp2:*.3g2 -50:text/x-vala:*.vapi -50:application/x-sharedlib:*.so -50:application/x-tzo:*.tzo -50:video/x-javafx:*.fxm -50:image/jpeg:*.jpe -50:audio/x-aifc:*.aifc -50:application/x-lzma-compressed-tar:*.tar.lzma -50:x-epoc/x-sisx-app:*.sisx -50:audio/x-aiff:*.aiff -50:audio/x-aifc:*.aiffc -50:image/jp2:*.jpf -50:application/x-hdf:*.hdf4 -50:application/x-hdf:*.hdf5 -50:application/x-aportisdoc:*.pdb -50:application/vnd.palm:*.pdb -50:application/x-aportisdoc:*.pdc -50:application/x-profile:gmon.out -50:application/x-jbuilder-project:*.jpr -50:application/pdf:*.pdf -50:application/x-bzpdf:*.pdf.bz2 -50:application/x-theme:*.theme -50:image/jpeg:*.jpg -50:application/x-raw-disk-image-xz-compressed:*.img.xz -50:application/x-jbuilder-project:*.jpx -50:image/jp2:*.jpx -50:text/x-svsrc:*.sv -50:image/x-quicktime:*.qtif -50:image/x-kodak-k25:*.k25 -50:text/x-scheme:*.ss -50:application/vnd.openxmlformats-officedocument.presentationml.presentation:*.pptx -50:application/vnd.openxmlformats-officedocument.presentationml.presentation:*.pptx -50:application/x-ace:*.ace -50:image/vnd.zbrush.pcx:*.pcx -50:text/x-adasrc:*.ads -50:text/x-tcl:*.tk -50:text/x-changelog:changelog -50:audio/flac:*.flac -50:text/x-adasrc:*.adb -50:text/html:*.htm -50:text/x-google-video-pointer:*.gvp -50:text/troff:*.tr -50:audio/x-matroska:*.mka -50:text/vnd.trolltech.linguist:*.ts -50:video/mp2t:*.ts -50:application/x-cb7:*.cb7 -50:text/x-vhdl:*.vhdl -50:audio/ogg:*.oga -50:audio/x-vorbis+ogg:*.oga -50:audio/x-flac+ogg:*.oga -50:audio/x-speex+ogg:*.oga -50:application/xslt+xml:*.xsl -50:application/x-saturn-rom:*.iso -50:application/x-wii-rom:*.iso -50:application/x-gamecube-rom:*.iso -50:application/atom+xml:*.atom -50:video/3gpp:*.3ga -50:application/x-kontour:*.kon -50:audio/ogg:*.ogg -50:video/ogg:*.ogg -50:audio/x-vorbis+ogg:*.ogg -50:audio/x-flac+ogg:*.ogg -50:audio/x-speex+ogg:*.ogg -50:video/x-theora+ogg:*.ogg -50:image/x-pentax-pef:*.pef -50:application/vnd.ms-cab-compressed:*.cab -50:text/markdown:*.mkd -50:application/rdf+xml:*.rdfs -50:application/x-zoo:*.zoo -50:video/x-ogm+ogg:*.ogm -50:text/x-rpm-spec:*.spec -50:application/x-x509-ca-cert:*.pem -50:video/3gpp2:*.3gp2 -50:application/x-xpinstall:*.xpi -50:video/x-matroska:*.mkv -50:application/ram:*.ram -50:application/x-designer:*.ui -50:application/x-gtk-builder:*.ui -50:audio/x-wavpack-correction:*.wvc -50:video/ogg:*.ogv -50:application/vnd.tcpdump.pcap:*.cap -50:application/ogg:*.ogx -50:application/x-rar:*.rar -50:application/x-xbel:*.xbel -50:application/jrd+json:*.jrd -50:application/vnd.ms-tnef:*.tnef -50:image/x-panasonic-raw:*.raw -50:video/3gpp:*.3gp -50:audio/vnd.rn-realaudio:*.rax -50:text/x-python:*.wsgi -50:application/x-7z-compressed:*.7z -50:audio/x-wavpack:*.wvp -50:image/x-cmu-raster:*.ras -50:application/x-font-type1:*.pfa -50:application/x-font-type1:*.pfb -50:application/x-kpovmodeler:*.kpm -50:text/x-ocaml:*.mli -50:image/x-fuji-raf:*.raf -50:application/ld+json:*.jsonld -50:audio/x-ms-asx:*.wvx -50:application/x-kpresenter:*.kpr -50:application/x-font-bdf:*.bdf -50:application/x-cd-image:*.iso9660 -50:application/x-kpresenter:*.kpt -50:text/x-eiffel:*.e -50:application/x-font-afm:*.afm -50:text/x-nfo:*.nfo -50:image/x-compressed-xcf:*.xcf.bz2 -50:text/x-cobol:*.cbl -50:video/mp2t:*.bdm -50:video/quicktime:*.moov -50:text/x-texinfo:*.texi -50:application/x-wwf:*.wwf -50:application/x-cbr:*.cbr -50:application/pkcs12:*.pfx -50:application/metalink+xml:*.metalink -50:application/x-cbt:*.cbt -50:video/mpeg:[0-9][0-9][0-9].vdr -50:application/x-perl:*.perl -50:application/vnd.mozilla.xul+xml:*.xul -50:application/x-cbz:*.cbz -50:text/x-log:*.log -50:application/x-smaf:*.mmf -50:application/javascript:*.jsm -50:text/x-meson:meson_options.txt -50:application/x-gba-rom:*.agb -50:application/x-hwt:*.hwt -50:text/x-iptables:*.iptables -50:application/mathml+xml:*.mml -50:application/oxps:*.oxps -50:video/mp2t:*.bdmv -50:video/3gpp:*.3gpp -50:application/x-docbook+xml:*.docbook -50:audio/x-mod:*.m15 -50:application/x-chess-pgn:*.pgn -50:audio/x-mo3:*.mo3 -50:application/x-bcpio:*.bcpio -50:application/pgp-encrypted:*.pgp -50:application/pgp-keys:*.pgp -50:application/pgp-signature:*.pgp -50:application/x-bzip-compressed-tar:*.tar.bz -50:application/x-amipro:*.sam -50:application/vnd.google-earth.kmz:*.kmz -50:video/quicktime:*.qt -50:image/x-portable-graymap:*.pgm -50:application/x-krita:*.kra -50:application/x-dar:*.dar -50:application/vnd.wordperfect:*.wp -50:image/vnd.wap.wbmp:*.wbmp -50:application/x-spss-sav:*.sav -50:text/x-scons:sconstruct -50:video/x-msvideo:*.divx -50:audio/x-wavpack:*.wv -50:application/xhtml+xml:*.xhtml -50:video/x-mng:*.mng -50:text/x-uuencode:*.uue -50:image/x-pict:*.pict1 -50:image/x-pict:*.pict2 -50:image/x-bzeps:*.eps.bz2 -50:application/x-n64-rom:*.z64 -50:audio/x-musepack:*.mp+ -50:text/x-c++hdr:*.hxx -50:application/rdf+xml:*.rdf -50:application/x-netcdf:*.cdf -50:application/vnd.rn-realmedia:*.rmvb -50:application/x-dbf:*.dbf -50:audio/mp2:*.mp2 -50:video/mpeg:*.mp2 -50:application/vnd.lotus-1-2-3:*.123 -50:application/x-php:*.php -50:application/x-font-pcf:*.pcf.gz -50:audio/mpeg:*.mp3 -50:video/mp4:*.mp4 -50:text/x-python:*.py -50:audio/x-minipsf:*.minipsf -50:audio/x-xm:*.xm -50:application/vnd.corel-draw:*.cdr -50:audio/x-xi:*.xi -50:image/x-xwindowdump:*.xwd -50:application/x-desktop:*.desktop -50:application/x-bzip-compressed-tar:*.tb2 -50:text/x-tex:*.latex -50:text/x-moc:*.moc -50:audio/x-mod:*.mod -50:application/vnd.openxmlformats-officedocument.presentationml.slideshow:*.ppsx -50:application/x-docbook+xml:*.dbk -50:text/x-mof:*.mof -50:application/x-xz:*.xz -50:application/vnd.ms-excel.sheet.binary.macroEnabled.12:*.xlsb -50:application/vnd.ms-excel.sheet.binary.macroenabled.12:*.xlsb -50:application/x-kspread:*.ksp -50:audio/x-aiff:*.aif -50:text/markdown:*.markdown -50:text/vcard:*.gcrd -50:application/x-php:*.php3 -50:application/x-php:*.php4 -50:application/x-php:*.php5 -50:text/x-reject:*.rej -50:application/vnd.ms-excel.sheet.macroEnabled.12:*.xlsm -50:application/vnd.ms-excel.sheet.macroenabled.12:*.xlsm -50:video/mp2t:*.m2ts -50:text/x-ms-regedit:*.reg -50:application/vnd.openxmlformats-officedocument.wordprocessingml.document:*.docx -50:application/vnd.openxmlformats-officedocument.wordprocessingml.document:*.docx -50:text/x-dcl:*.dcl -50:application/dicom:*.dcm -50:video/vnd.mpegurl:*.m1u -50:text/x-scheme:*.scm -50:application/x-qtiplot:*.qti.gz -50:application/pkix-cert:*.cer -50:image/x-kodak-dcr:*.dcr -50:application/x-tar:*.tar -50:text/x-patch:*.patch -50:text/x-scala:*.scala -50:image/vnd.djvu:*.djvu -50:audio/x-musepack:*.mpc -50:video/quicktime:*.mov -50:video/mpeg:*.mpe -50:application/x-tarz:*.taz -50:application/x-trash:*.old -50:video/mpeg:*.mpg -50:video/mp2t:*.mpl -50:application/vnd.stardivision.draw:*.sda -50:application/vnd.stardivision.calc:*.sdc -50:text/x-mrml:*.mrml -50:application/vnd.stardivision.impress:*.sdd -50:audio/x-musepack:*.mpp -50:application/vnd.ms-excel.template.macroEnabled.12:*.xltm -50:application/vnd.ms-excel.template.macroenabled.12:*.xltm -50:video/mp4:*.lrv -50:video/mp2t:*.m2t -50:image/x-gzeps:*.epsf.gz -50:application/x-lrzip:*.lrz -50:video/3gpp2:*.3gpp2 -50:image/jpeg:*.jpeg -50:application/mbox:*.mbox -50:application/vnd.stardivision.impress:*.sdp -50:application/sdp:*.sdp -50:audio/x-mpegurl:*.m3u8 -50:application/vnd.apple.mpegurl:*.m3u8 -50:application/vnd.stardivision.chart:*.sds -50:image/x-dds:*.dds -50:application/x-kugar:*.kud -50:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:*.xlsx -50:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:*.xlsx -50:application/vnd.stardivision.writer:*.sdw -50:application/x-fictionbook+xml:*.fb2 -50:application/x-xzpdf:*.pdf.xz -50:text/x-copying:copying -50:application/x-bzip-compressed-tar:*.tbz -50:application/zlib:*.zz -50:application/x-lrzip-compressed-tar:*.tar.lrz -50:text/x-bibtex:*.bib -50:image/x-rgb:*.rgb -50:application/x-gzpostscript:*.ps.gz -50:application/x-gameboy-rom:*.cgb -50:application/x-php:*.phps -50:application/vnd.debian.binary-package:*.deb -50:application/x-qw:*.qif -50:image/x-quicktime:*.qif -50:audio/x-mpegurl:*.m3u -50:application/vnd.apple.mpegurl:*.m3u -50:application/vnd.openxmlformats-officedocument.spreadsheetml.template:*.xltx -50:application/vnd.openxmlformats-officedocument.spreadsheetml.template:*.xltx -50:text/x-c++src:*.c++ -50:application/x-ccmx:*.ccmx -50:application/vnd.coffeescript:*.coffee -50:application/octet-stream:*.bin -50:application/x-saturn-rom:*.bin -50:application/smil+xml:*.kino -50:application/pgp-keys:*.pkr -50:application/vnd.ms-visio.stencil.macroEnabled.main+xml:*.vssm -50:image/cgm:*.cgm -50:text/x-mup:*.not -50:text/x-tcl:*.tcl -50:audio/mp4:*.m4a -50:application/x-x509-ca-cert:*.der -50:audio/x-m4b:*.m4b -50:application/x-pagemaker:*.pm6 -50:text/x-meson:meson.build -50:application/x-sami:*.sami -50:application/vnd.ms-visio.stencil.main+xml:*.vssx -50:audio/x-iriver-pla:*.pla -50:text/x-mrml:*.mrl -50:application/vnd.nintendo.snes.rom:*.sfc -50:application/xml:*.xsd -50:video/mp4:*.m4v -50:video/mp2t:*.mpls -50:application/x-planperfect:*.pln -50:text/x-tex:*.ltx -50:image/x-minolta-mrw:*.mrw -50:application/metalink4+xml:*.meta4 -50:application/vnd.ms-powerpoint.addin.macroEnabled.12:*.ppam -50:application/vnd.ms-visio.template.macroEnabled.main+xml:*.vstm -50:application/x-compressed-tar:*.tar.gz -50:audio/x-scpls:*.pls -50:application/vnd.ms-htmlhelp:*.chm -50:application/x-hwp:*.hwp -50:application/x-abiword:*.abw.gz -50:application/x-alz:*.alz -50:application/x-kword:*.kwd -50:text/x-lua:*.lua -50:application/vnd.ms-visio.template.main+xml:*.vstx -50:video/vnd.mpegurl:*.m4u -50:text/x-ooc:*.ooc -50:application/x-msi:*.msi -50:application/x-kexiproject-sqlite2:*.kexi -50:application/x-kexiproject-sqlite3:*.kexi -50:video/x-anim:*.anim[1-9j] -50:application/x-pagemaker:*.pmd -50:application/x-abiword:*.zabw -50:application/x-gameboy-rom:*.sgb -50:application/x-kword:*.kwt -50:application/x-go-sgf:*.sgf -50:application/pkcs10:*.p10 -50:image/x-sgi:*.sgi -50:application/pkcs12:*.p12 -50:application/x-blender:*.blender -50:application/vnd.stardivision.writer:*.sgl -50:application/x-msx-rom:*.msx -50:application/x-dia-shape:*.shape -50:application/x-blender:*.blend -50:application/x-blender:*.blend -50:application/x-mimearchive:*.mhtml -50:audio/midi:*.midi -50:application/x-java-jnlp-file:*.jnlp -50:text/x-cmake:cmakelists.txt -50:audio/x-amzxml:*.amz -50:image/x-tga:*.tpic -50:audio/AMR:*.amr -50:text/x-makefile:makefile -50:text/x-scons:sconscript.* -50:text/x-tex:*.tex -50:application/vnd.oasis.opendocument.graphics-flat-xml:*.fodg -50:application/vnd.oasis.opendocument.graphics-flat-xml:*.fodg -50:text/sgml:*.sgm -50:application/x-amiga-disk-format:*.adf -50:image/x-msod:*.msod -50:audio/x-mod:*.mtm -50:image/png:*.png -50:application/vnd.oasis.opendocument.presentation-flat-xml:*.fodp -50:application/vnd.oasis.opendocument.presentation-flat-xml:*.fodp -50:application/x-navi-animation:*.ani -50:application/vnd.oasis.opendocument.spreadsheet-flat-xml:*.fods -50:application/vnd.oasis.opendocument.spreadsheet-flat-xml:*.fods -50:application/vnd.oasis.opendocument.text-flat-xml:*.fodt -50:application/vnd.oasis.opendocument.text-flat-xml:*.fodt -50:application/x-n64-rom:*.n64 -50:application/x-ustar:*.ustar -50:application/x-gameboy-rom:*.gbc -50:application/x-gba-rom:*.gba -50:application/x-java-pack200:*.pack -50:application/dicom:dicomdir -50:application/x-shar:*.shar -50:application/x-shorten:*.shn -50:application/x-genesis-rom:*.32x -50:image/x-portable-anymap:*.pnm -50:application/x-gzdvi:*.dvi.gz -50:application/annodex:*.anx -50:text/html:*.html -50:video/mp2t:*.mts -50:text/x-authors:authors -50:text/x-install:install -50:application/x-quattropro:*.wb1 -50:application/x-quattropro:*.wb2 -50:application/x-quattropro:*.wb3 -50:application/x-gnucash:*.gnucash -50:application/x-perl:*.pod -50:application/x-source-rpm:*.src.rpm -50:image/x-lwo:*.lwo -50:application/x-dia-diagram:*.dia -50:application/vnd.lotus-wordpro:*.lwp -50:application/x-lrzip-compressed-tar:*.tlrz -50:application/x-partial-download:*.wkdownload -50:application/x-glade:*.glade -50:application/pgp-signature:*.sig -50:text/x-qml:*.qml -50:image/x-tga:*.tga -50:audio/prs.sid:*.sid -50:application/x-trash:*.sik -50:application/x-spss-por:*.por -50:application/x-wii-wad:*.wad -50:application/vnd.ms-powerpoint:*.pot -50:text/x-gettext-translation-template:*.pot -50:image/x-lws:*.lws -50:application/x-zip-compressed-fb2:*.fb2.zip -50:text/vcard:*.vcf -50:application/vnd.symbian.install:*.sis -50:application/x-stuffit:*.sit -50:application/x-e-theme:*.etheme -50:application/sieve:*.siv -50:image/bmp:*.bmp -50:application/x-nes-rom:*.unif -50:image/x-skencil:*.sk1 -50:image/openraster:*.ora -50:text/vcard:*.vct -50:application/x-compressed-tar:*.tgz -50:application/x-netshow-channel:*.nsc -50:audio/x-wav:*.wav -50:image/x-olympus-orf:*.orf -50:audio/x-ms-asx:*.wax -50:audio/x-ape:*.ape -50:image/x-lwo:*.lwob -50:text/calendar:*.vcs -50:image/rle:*.rle -50:application/x-siag:*.siag -50:application/vnd.android.package-archive:*.apk -50:image/x-portable-pixmap:*.ppm -50:application/x-lz4:*.lz4 -50:image/x-applix-graphics:*.ag -50:application/illustrator:*.ai -50:application/vnd.ms-powerpoint:*.pps -50:application/vnd.ms-powerpoint:*.ppt -50:application/vnd.ms-powerpoint:*.ppt -50:video/x-nsv:*.nsv -50:application/x-perl:*.al -50:image/x-tga:*.vda -50:text/x-tex:*.cls -50:application/x-archive:*.ar -50:application/vnd.ms-powerpoint:*.ppz -50:application/x-applix-spreadsheet:*.as -50:application/vnd.tcpdump.pcap:*.pcap -50:audio/basic:*.au -50:application/x-applix-word:*.aw -50:image/vnd.djvu:*.djv -50:application/vnd.palm:*.pqa -50:application/xslt+xml:*.xslt -50:application/x-bittorrent:*.torrent -50:image/x-bzeps:*.epsi.bz2 -50:video/quicktime:*.qtvr -50:text/x-mup:*.mup -50:application/x-t602:*.602 -50:application/vnd.rn-realmedia:*.rmj -50:image/tiff:*.tif -50:application/x-lyx:*.lyx -50:application/x-gedcom:*.ged -50:application/vnd.rn-realmedia:*.rmm -50:application/x-gnucash:*.xac -50:text/x-eiffel:*.eif -50:application/x-sv4cpio:*.sv4cpio -50:application/vnd.rn-realmedia:*.rms -50:application/pgp-keys:*.skr -50:application/x-tar:*.gem -50:application/x-genesis-rom:*.gen -50:application/vnd.ms-works:*.wcm -50:application/x-yaml:*.yaml -50:application/vnd.ms-word.template.macroEnabled.12:*.dotm -50:application/vnd.ms-word.template.macroenabled.12:*.dotm -50:application/x-lha:*.lzh -50:application/mxf:*.mxf -50:application/vnd.oasis.opendocument.chart-template:*.otc -50:application/x-mobipocket-ebook:*.prc -50:application/vnd.palm:*.prc -50:application/vnd.oasis.opendocument.formula-template:*.otf -50:application/x-font-otf:*.otf -50:application/vnd.oasis.opendocument.graphics-template:*.otg -50:application/vnd.oasis.opendocument.graphics-template:*.otg -50:application/vnd.oasis.opendocument.text-web:*.oth -50:application/vnd.oasis.opendocument.text-web:*.oth -50:application/relax-ng-compact-syntax:*.rnc -50:application/x-lzop:*.lzo -50:text/x-makefile:gnumakefile -50:application/x-bzip:*.bz -50:application/x-arj:*.arj -50:application/x-spss-sav:*.zsav -50:text/x-c++src:*.cc -50:application/vnd.oasis.opendocument.presentation-template:*.otp -50:application/vnd.oasis.opendocument.presentation-template:*.otp -50:image/fits:*.fits -50:application/vnd.ms-works:*.wdb -50:application/vnd.oasis.opendocument.spreadsheet-template:*.ots -50:application/vnd.oasis.opendocument.spreadsheet-template:*.ots -50:application/vnd.oasis.opendocument.text-template:*.ott -50:application/vnd.oasis.opendocument.text-template:*.ott -50:application/x-partial-download:*.crdownload -50:application/x-tzo:*.tar.lzo -50:application/x-hdf:*.hdf -50:application/x-tarz:*.tar.z -50:application/vnd.rn-realmedia:*.rmx -50:image/x-sony-arw:*.arw -50:image/svg+xml-compressed:*.svgz -50:text/x-csharp:*.cs -50:text/spreadsheet:*.slk -50:image/x-icns:*.icns -50:image/x-xbitmap:*.xbm -50:video/vnd.mpegurl:*.mxu -50:application/xml:*.xbl -50:application/xml:*.rng -50:application/x-pagemaker:*.p65 -50:text/x-opml+xml:*.opml -50:text/plain:*.asc -50:image/vnd.adobe.photoshop:*.psd -50:application/x-font-linux-psf:*.psf -50:audio/x-psf:*.psf -50:text/x-cobol:*.cob -50:application/vnd.ms-asf:*.asf -50:application/vnd.nintendo.snes.rom:*.smc -50:application/vnd.stardivision.mail:*.smd -50:application/x-genesis-rom:*.smd -50:application/x-dc-rom:*.dc -50:application/vnd.stardivision.math:*.smf -50:application/x-apple-diskimage:*.dmg -50:application/smil+xml:*.smi -50:application/x-sami:*.smi -50:text/x-dsrc:*.di -50:application/x-asp:*.asp -50:application/x-gedcom:*.gedcom -50:application/smil+xml:*.sml -50:text/x-ssa:*.ass -50:image/x-xfig:*.fig -50:image/x-tga:*.icb -50:application/vnd.tcpdump.pcap:*.dmp -50:application/x-pocket-word:*.psw -50:application/x-sms-rom:*.sms -50:audio/x-ms-asx:*.asx -50:image/x-xcf:*.xcf -50:text/vnd.sun.j2me.app-descriptor:*.jad -50:video/dv:*.dv -50:application/vnd.openxmlformats-officedocument.wordprocessingml.template:*.dotx -50:application/vnd.openxmlformats-officedocument.wordprocessingml.template:*.dotx -50:image/vnd.microsoft.icon:*.ico -50:application/x-ica:*.ica -50:application/vnd.iccprofile:*.icc -50:text/calendar:*.ics -50:application/x-java-archive:*.jar -50:application/x-gnumeric:*.gnumeric -50:application/vnd.iccprofile:*.icm -50:application/x-sv4crc:*.sv4crc -50:audio/basic:*.snd -50:application/x-lzma:*.lzma -50:application/x-x509-ca-cert:*.cert -50:image/x-adobe-dng:*.dng -50:video/mp2t:*.cpi -50:text/x-vhdl:*.vhd -50:application/x-rpm:*.rpm -50:application/x-bzpostscript:*.ps.bz2 -50:text/x-emacs-lisp:*.el -50:application/xspf+xml:*.xspf -50:text/x-c++src:*.cpp -50:application/vnd.oasis.opendocument.text-master-template:*.otm -50:image/x-canon-cr2:*.cr2 -50:application/x-gnuplot:*.gnuplot -50:application/ecmascript:*.es -50:image/fax-g3:*.g3 -50:text/x-idl:*.idl -50:application/x-pkcs7-certificates:*.p7b -50:application/pkcs7-mime:*.p7c -50:application/andrew-inset:*.ez -50:application/x-desktop:*.kdelnk -50:application/x-lzma-compressed-tar:*.tlz -50:application/vnd.ms-publisher:*.pub -50:text/x-xslfo:*.xslfo -50:application/x-core:core:cs -50:application/x-core:core -50:application/x-trig:*.trig -50:application/pkcs7-mime:*.p7m -50:application/msword:*.doc -50:application/msword:*.doc -50:application/vnd.ms-word:*.doc -50:application/rdf+xml:*.owl -50:text/cache-manifest:*.manifest -50:application/pkcs7-signature:*.p7s -50:image/x-emf:*.emf -50:application/x-fluid:*.fl -50:image/gif:*.gif -50:message/rfc822:*.eml -50:application/owl+xml:*.owx -50:image/ief:*.ief -50:text/x-c++hdr:*.h++ -50:text/x-xslfo:*.fo -50:application/vnd.emusic-emusic_package:*.emp -50:application/msword-template:*.dot -50:text/vnd.graphviz:*.dot -50:application/x-hdf:*.h4 -50:application/x-hdf:*.h5 -50:application/x-nzb:*.nzb -50:text/x-uil:*.uil -50:video/vnd.vivo:*.viv -50:application/vnd.debian.binary-package:*.udeb -50:audio/midi:*.kar -50:video/x-msvideo:*.avf -50:text/csv-schema:*.csvs -50:application/x-pkcs7-certificates:*.spc -50:application/x-font-speedo:*.spd -50:application/x-qtiplot:*.qti -50:application/vnd.ms-excel.addin.macroEnabled.12:*.xlam -50:application/x-tex-gf:*.gf -50:application/vnd.ms-tnef:*.tnf -50:application/x-quicktime-media-link:*.qtl -50:text/x-patch:*.diff -50:application/pkix-crl:*.crl -50:application/vnd.openofficeorg.extension:*.oxt -50:application/vnd.openofficeorg.extension:*.oxt -50:application/x-source-rpm:*.spm -50:application/x-sms-rom:*.gg -50:application/vnd.adobe.flash.movie:*.spl -50:application/x-bzdvi:*.dvi.bz2 -50:application/x-gnuplot:*.gp -50:application/x-gameboy-rom:*.gb -50:application/x-x509-ca-cert:*.crt -50:image/x-sony-sr2:*.sr2 -50:application/x-gz-font-linux-psf:*.psf.gz -50:image/x-canon-crw:*.crw -50:image/x-ilbm:*.iff -50:audio/x-speex:*.spx -50:audio/x-mod:*.ult -50:audio/x-mod:*.669 -50:video/x-flv:*.flv -50:application/x-kivio:*.flw -50:text/vnd.graphviz:*.gv -50:application/gzip:*.gz -50:application/pkix-pkipath:*.pkipath -50:application/vnd.palm:*.oprc -50:audio/AMR-WB:*.awb -50:text/x-genie:*.gs:cs -50:text/x-genie:*.gs -50:video/x-flic:*.flc -50:text/x-go:*.go -50:application/x-cdrdao-toc:*.toc -50:application/x-awk:*.awk -50:application/x-csh:*.csh -50:audio/x-s3m:*.s3m -50:text/x-c++hdr:*.hh -50:application/xml-external-parsed-entity:*.ent -50:application/sql:*.sql -50:image/x-gzeps:*.eps.gz -50:text/x-texinfo:*.texinfo -50:video/x-msvideo:*.avi -50:application/rss+xml:*.rss -50:application/x-ufraw:*.ufraw -50:text/css:*.css -50:text/x-c++hdr:*.hp -50:application/x-ms-wim:*.wim -50:text/csv:*.csv -50:text/x-haskell:*.hs -50:application/x-mobipocket-ebook:*.mobi -50:application/vnd.lotus-1-2-3:*.wk1 -50:audio/annodex:*.axa -50:application/vnd.lotus-1-2-3:*.wk3 -50:application/vnd.lotus-1-2-3:*.wk4 -50:application/x-wais-source:*.src -50:application/rtf:*.rtf -50:image/x-sony-srf:*.srf -50:image/x-ilbm:*.ilbm -50:audio/x-mpegurl:*.vlc -50:application/x-nes-rom:*.unf -50:application/x-smaf:*.smaf -50:audio/x-mod:*.uni -50:video/x-flic:*.fli -50:text/sgml:*.sgml -50:video/annodex:*.axv -50:image/x-kodak-kdc:*.kdc -50:text/x-txt2tags:*.t2t -50:application/x-subrip:*.srt -50:audio/x-it:*.it -50:image/x-eps:*.eps -50:application/x-gzpdf:*.pdf.gz -50:image/x-eps:*.epsf -50:text/richtext:*.rtx -50:image/x-eps:*.epsi -50:application/x-java-jce-keystore:*.jceks -50:application/x-python-bytecode:*.pyc -50:image/x-ilbm:*.lbm -50:video/vnd.vivo:*.vivo -50:text/x-ssa:*.ssa -50:application/x-cue:*.cue -50:audio/vnd.dts.hd:*.dtshd -50:application/x-python-bytecode:*.pyo -50:application/x-windows-themepack:*.themepack -50:video/x-sgi-movie:*.movie -50:text/x-cmake:*.cmake -50:text/x-dsl:*.dsl -50:application/x-trash:*% -50:application/vnd.ms-powerpoint.slide.macroEnabled.12:*.sldm -50:image/x-panasonic-raw2:*.rw2 -50:application/gml+xml:*.gml -50:application/javascript:*.js -50:application/x-markaby:*.mab -50:application/x-gettext-translation:*.gmo -50:image/x-win-bitmap:*.cur -50:text/x-fortran:*.for -50:application/vnd.lotus-1-2-3:*.wks -50:application/vnd.ms-works:*.wks -50:text/x-python:*.pyx -50:application/vnd.openxmlformats-officedocument.presentationml.slide:*.sldx -50:text/x-makefile:*.mak -50:application/x-troff-man:*.man -50:message/x-gnu-rmail:rmail -50:application/vnd.sun.xml.calc.template:*.stc -50:application/vnd.sun.xml.calc.template:*.stc -50:application/vnd.sun.xml.draw.template:*.std -50:application/vnd.sun.xml.draw.template:*.std -50:application/xml-dtd:*.dtd -50:application/x-iwork-keynote-sffkey:*.key -50:application/vnd.sun.xml.impress.template:*.sti -50:application/vnd.sun.xml.impress.template:*.sti -50:application/x-gnucash:*.gnc -50:application/x-abiword:*.abw.crashed -50:application/x-kchart:*.chrt -50:audio/prs.sid:*.psid -50:application/gnunet-directory:*.gnd -50:audio/ogg:*.opus -50:audio/x-opus+ogg:*.opus -50:audio/x-stm:*.stm -50:application/x-bzip:*.bz2 -50:text/x-erlang:*.erl -50:application/epub+zip:*.epub -50:application/x-java-keystore:*.ks -50:video/vnd.rn-realvideo:*.rvx -50:application/x-m4:*.m4 -50:application/vnd.sun.xml.writer.template:*.stw -50:application/vnd.sun.xml.writer.template:*.stw -50:text/x-tex:*.sty -50:audio/vnd.dts:*.dts -50:application/json:*.json -50:text/x-tex:*.dtx -50:application/x-kformula:*.kfo -50:application/json-patch+json:*.json-patch -50:application/x-bzip-compressed-tar:*.tar.bz2 -50:application/x-java:*.class -50:application/x-shared-library-la:*.la -50:text/x-microdvd:*.sub -50:text/x-mpsub:*.sub -50:text/x-subviewer:*.sub -50:application/font-woff:*.woff -50:image/x-macpaint:*.pntg -50:application/winhlp:*.hlp -50:image/tiff:*.tiff -50:audio/x-ms-wma:*.wma -50:text/x-qml:*.qmlproject -50:video/mpeg:*.vob -50:application/vnd.ms-visio.drawing.macroEnabled.main+xml:*.vsdm -50:text/troff:*.roff -50:image/x-sun-raster:*.sun -50:audio/x-voc:*.voc -50:image/x-wmf:*.wmf -50:text/x-scons:sconscript -50:application/x-tar:*.gtar -50:text/vnd.wap.wml:*.wml -50:application/x-par2:*.par2 -50:application/x-par2:*.par2 -50:application/x-cpio-compressed:*.cpio.gz -50:application/vnd.ms-visio.drawing.main+xml:*.vsdx -50:application/vnd.stardivision.writer:*.vor -50:image/x-compressed-xcf:*.xcf.gz -50:text/x-lilypond:*.ly -50:application/x-lzip:*.lz -50:audio/x-psflib:*.psflib -50:video/x-ms-wmv:*.wmv -50:audio/x-ms-asx:*.wmx -50:application/x-it87:*.it87 -50:text/tab-separated-values:*.tsv -50:audio/mp4:*.f4a -50:audio/x-m4b:*.f4b -50:audio/x-tta:*.tta -50:application/x-trash:*~ -50:application/x-font-ttf:*.ttc -50:image/svg+xml:*.svg -50:application/x-kexi-connectiondata:*.kexic -50:application/x-font-ttf:*.ttf -50:application/x-dvi:*.dvi -50:application/vnd.ms-excel:*.xla -50:text/x-java:*.java -50:application/vnd.ms-excel:*.xlc -50:application/vnd.ms-excel:*.xld -50:application/pgp-encrypted:*.gpg -50:application/pgp-keys:*.gpg -50:application/pgp-signature:*.gpg -50:application/x-xliff:*.xlf -50:application/x-gettext-translation:*.mo -50:text/x-modelica:*.mo -50:text/x-svhdr:*.svh -50:application/x-mswinurl:*.url -50:image/x-gzeps:*.epsi.gz -50:application/vnd.ms-access:*.mdb -50:application/vnd.ms-excel:*.xll -50:application/vnd.ms-excel:*.xlm -50:application/vnd.ms-tnef:winmail.dat -50:application/x-kexiproject-shortcut:*.kexis -50:application/x-font-ttx:*.ttx -50:application/x-raw-disk-image:*.raw-disk-image -50:application/vnd.ms-works:*.xlr -50:application/vnd.ms-excel:*.xls -50:application/vnd.ms-excel:*.xls -50:application/vnd.wordperfect:*.wp4 -50:application/vnd.wordperfect:*.wp5 -50:application/vnd.wordperfect:*.wp6 -50:application/vnd.ms-excel:*.xlt -50:application/vnd.ms-excel:*.xlw -50:text/turtle:*.ttl -50:application/mathematica:*.nb -50:application/x-netcdf:*.nc -50:video/mp4:*.f4v -50:application/vnd.adobe.flash.movie:*.swf -50:text/x-makefile:*.mk -50:image/vnd.dwg:*.dwg -50:text/x-setext:*.etx -50:application/x-genesis-rom:*.mdx -50:application/vnd.ms-powerpoint.template.macroEnabled.12:*.potm -50:application/vnd.ms-powerpoint.template.macroenabled.12:*.potm -50:application/x-xz-compressed-tar:*.tar.xz -50:application/x-ms-wim:*.swm -50:video/mpeg:*.mpeg -50:text/x-credits:credits -50:text/x-iMelody:*.ime -50:audio/x-xmf:*.xmf -50:application/x-raw-disk-image:*.img -50:text/x-xmi:*.xmi -50:text/spreadsheet:*.sylk -50:application/x-partial-download:*.part -50:application/xml:*.xml -50:audio/x-mod:*.med -50:text/vnd.wap.wmlscript:*.wmls -50:image/x-bzeps:*.epsf.bz2 -50:application/x-killustrator:*.kil -50:application/pkcs8:*.p8 -50:application/zip:*.zip -50:image/vnd.ms-modi:*.mdi -50:application/x-java-keystore:*.jks -50:text/x-c++src:*.cxx -50:text/x-iMelody:*.imy -50:application/vnd.sun.xml.calc:*.sxc -50:application/vnd.sun.xml.calc:*.sxc -50:application/vnd.sun.xml.draw:*.sxd -50:application/vnd.sun.xml.draw:*.sxd -50:application/x-java-keystore:cacerts -50:application/vnd.sun.xml.writer.global:*.sxg -50:application/vnd.sun.xml.writer.global:*.sxg -50:application/x-graphite:*.gra -50:application/vnd.sun.xml.impress:*.sxi -50:application/vnd.sun.xml.impress:*.sxi -50:video/x-matroska-3d:*.mk3d -50:application/vnd.wordperfect:*.wpd -50:application/vnd.sun.xml.math:*.sxm -50:application/vnd.sun.xml.math:*.sxm -50:application/vnd.ms-powerpoint.slideshow.macroEnabled.12:*.ppsm -50:application/x-wpg:*.wpg -50:application/x-gnuplot:*.gplt -50:image/vnd.dxf:*.dxf -50:application/x-lha:*.lha -50:model/vrml:*.vrm -50:application/vnd.ms-wpl:*.wpl -50:audio/mpeg:*.mpga -50:application/vnd.sun.xml.writer:*.sxw -50:application/vnd.sun.xml.writer:*.sxw -50:application/vnd.wordperfect:*.wpp -50:application/x-n64-rom:*.v64 -50:text/x-c++hdr:*.hpp -50:application/vnd.ms-works:*.wps -50:text/plain:*,v -50:text/markdown:*.md -50:text/x-tex:*.ins -50:text/x-troff-ms:*.ms -50:application/x-tgif:*.obj -50:text/x-c++src:*.C:cs -50:text/x-c++src:*.C -50:text/x-literate-haskell:*.lhs -50:image/x-pict:*.pict -50:text/x-ocaml:*.ml -50:text/x-troff-mm:*.mm -50:application/x-nintendo-ds-rom:*.nds -50:application/x-bzip-compressed-tar:*.tbz2 -50:text/x-qml:*.qmltypes -50:application/x-lhz:*.lhz -50:application/vnd.visio:*.vsd -50:application/x-tex-pk:*.pk -50:application/x-font-type1:*.gsf -50:application/x-perl:*.pl -50:application/x-perl:*.pl -50:application/x-perl:*.pm -50:application/x-pagemaker:*.pm -50:application/vnd.ms-powerpoint.presentation.macroEnabled.12:*.pptm -50:application/vnd.ms-powerpoint.presentation.macroenabled.12:*.pptm -50:text/x-gettext-translation:*.po -50:application/vnd.hp-hpgl:*.hpgl -50:audio/x-gsm:*.gsm -50:application/postscript:*.ps -50:text/x-fortran:*.f90 -50:application/vnd.ms-word.document.macroEnabled.12:*.docm -50:application/vnd.ms-word.document.macroenabled.12:*.docm -50:application/x-yaml:*.yml -50:application/vnd.visio:*.vss -50:application/vnd.visio:*.vst -50:image/x-tga:*.vst -50:application/x-karbon:*.karbon -50:image/x-nikon-nef:*.nef -50:application/vnd.visio:*.vsw -50:application/x-archive:*.a -50:audio/aac:*.aac -50:text/x-csrc:*.c:cs -50:text/x-csrc:*.c -50:application/x-pw:*.pw -50:application/x-magicpoint:*.mgp -50:text/x-ocl:*.ocl -50:application/x-pak:*.pak -50:text/x-chdr:*.h -50:text/x-dsrc:*.d -50:application/x-nes-rom:*.nes -50:application/x-ms-dos-executable:*.exe -50:text/x-objcsrc:*.m -50:text/x-matlab:*.m -50:text/x-troff-me:*.me -50:application/x-object:*.o -50:text/x-fortran:*.f -50:text/x-pascal:*.p -50:text/x-pascal:*.pas -50:video/mp2t:*.clpi -10:application/x-perl:*.t -10:text/troff:*.t -10:text/x-readme:readme* -10:application/pgp-encrypted:*.asc -10:application/pgp-keys:*.asc -10:application/pgp-signature:*.asc -10:text/x-makefile:makefile.* diff --git a/src-qt5/core/lumina-desktop/Globals.h b/src-qt5/core/lumina-desktop/Globals.h index 479fe4ad..14dfd93f 100644 --- a/src-qt5/core/lumina-desktop/Globals.h +++ b/src-qt5/core/lumina-desktop/Globals.h @@ -7,7 +7,8 @@ #ifndef _LUMINA_DESKTOP_GLOBALS_H #define _LUMINA_DESKTOP_GLOBALS_H -#include +#include +#include //#include "../global.h" #include diff --git a/src-qt5/core/lumina-desktop/JsonMenu.h b/src-qt5/core/lumina-desktop/JsonMenu.h index 87377a73..5a6b2237 100644 --- a/src-qt5/core/lumina-desktop/JsonMenu.h +++ b/src-qt5/core/lumina-desktop/JsonMenu.h @@ -16,7 +16,7 @@ #include #include -#include +#include #include #include "LSession.h" diff --git a/src-qt5/core/lumina-desktop/LSession.cpp b/src-qt5/core/lumina-desktop/LSession.cpp index 87f270ea..f383c163 100644 --- a/src-qt5/core/lumina-desktop/LSession.cpp +++ b/src-qt5/core/lumina-desktop/LSession.cpp @@ -15,7 +15,7 @@ //LibLumina X11 class #include -#include +#include #include //for usleep() usage @@ -29,7 +29,7 @@ LSession::LSession(int &argc, char ** argv) : LSingleApplication(argc, argv, "lu if(this->isPrimaryProcess()){ connect(this, SIGNAL(InputsAvailable(QStringList)), this, SLOT(NewCommunication(QStringList)) ); this->setApplicationName("Lumina Desktop Environment"); - this->setApplicationVersion( LUtils::LuminaDesktopVersion() ); + this->setApplicationVersion( LDesktopUtils::LuminaDesktopVersion() ); this->setOrganizationName("LuminaDesktopEnvironment"); this->setQuitOnLastWindowClosed(false); //since the LDesktop's are not necessarily "window"s //Enabled a few of the simple effects by default @@ -372,7 +372,7 @@ void LSession::checkUserFiles(){ //internal version conversion examples: // [1.0.0 -> 1000000], [1.2.3 -> 1002003], [0.6.1 -> 6001] QString OVS = sessionsettings->value("DesktopVersion","0").toString(); //Old Version String - bool changed = LUtils::checkUserFiles(OVS); + bool changed = LDesktopUtils::checkUserFiles(OVS); if(changed){ //Save the current version of the session to the settings file (for next time) sessionsettings->setValue("DesktopVersion", this->applicationVersion()); diff --git a/src-qt5/core/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp b/src-qt5/core/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp index 435a57c2..a2549acf 100644 --- a/src-qt5/core/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp +++ b/src-qt5/core/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp @@ -2,7 +2,7 @@ #include #include "LSession.h" -#include +#include #include #include #include diff --git a/src-qt5/core/lumina-desktop/desktop-plugins/quickcontainer/QuickDPlugin.h b/src-qt5/core/lumina-desktop/desktop-plugins/quickcontainer/QuickDPlugin.h index 4ba74133..d6039ac0 100644 --- a/src-qt5/core/lumina-desktop/desktop-plugins/quickcontainer/QuickDPlugin.h +++ b/src-qt5/core/lumina-desktop/desktop-plugins/quickcontainer/QuickDPlugin.h @@ -13,7 +13,7 @@ #include #include "../LDPlugin.h" -#include +#include class QuickDPlugin : public LDPlugin{ Q_OBJECT diff --git a/src-qt5/core/lumina-desktop/desktop-plugins/rssreader/RSSFeedPlugin.cpp b/src-qt5/core/lumina-desktop/desktop-plugins/rssreader/RSSFeedPlugin.cpp index 23c1ca01..8dc58e0a 100644 --- a/src-qt5/core/lumina-desktop/desktop-plugins/rssreader/RSSFeedPlugin.cpp +++ b/src-qt5/core/lumina-desktop/desktop-plugins/rssreader/RSSFeedPlugin.cpp @@ -9,7 +9,7 @@ #include #include "LSession.h" -#include +#include #include #include #include diff --git a/src-qt5/core/lumina-desktop/lumina-desktop.pro b/src-qt5/core/lumina-desktop/lumina-desktop.pro index effa0508..4b725288 100644 --- a/src-qt5/core/lumina-desktop/lumina-desktop.pro +++ b/src-qt5/core/lumina-desktop/lumina-desktop.pro @@ -4,16 +4,23 @@ QT += core gui network greaterThan(QT_MAJOR_VERSION, 4): QT += widgets x11extras multimedia concurrent svg + TARGET = lumina-desktop target.path = $${L_BINDIR} +#include all the special classes from the Lumina tree +include(../libLumina/ResizeMenu.pri) +include(../libLumina/LDesktopUtils.pri) #includes LUtils and LOS +include(../libLumina/LuminaXDG.pri) +include(../libLumina/LuminaX11.pri) +include(../libLumina/LuminaSingleApplication.pri) +include(../libLumina/LuminaThemes.pri) -LIBS += -lLuminaUtils -lxcb -lxcb-damage -DEPENDPATH += ../libLumina +#LIBS += -lLuminaUtils -lxcb -lxcb-damage +#DEPENDPATH += ../libLumina TEMPLATE = app - SOURCES += main.cpp \ WMProcess.cpp \ LXcbEventFilter.cpp \ @@ -53,8 +60,6 @@ HEADERS += Globals.h \ FORMS += SystemWindow.ui \ BootSplash.ui -#include all the special classes from the Lumina tree -include(../libLumina/ResizeMenu.pri) #Now include all the files for the various plugins include(panel-plugins/panel-plugins.pri) diff --git a/src-qt5/core/lumina-desktop/main.cpp b/src-qt5/core/lumina-desktop/main.cpp index 35561073..b42a3816 100644 --- a/src-qt5/core/lumina-desktop/main.cpp +++ b/src-qt5/core/lumina-desktop/main.cpp @@ -22,7 +22,8 @@ #include //from libLuminaUtils #include #include -#include +#include +#include #define DEBUG 0 @@ -58,7 +59,7 @@ int main(int argc, char ** argv) { if (argc > 1) { if (QString(argv[1]) == QString("--version")){ - qDebug() << LUtils::LuminaDesktopVersion(); + qDebug() << LDesktopUtils::LuminaDesktopVersion(); return 0; } } diff --git a/src-qt5/core/lumina-desktop/panel-plugins/battery/LBattery.h b/src-qt5/core/lumina-desktop/panel-plugins/battery/LBattery.h index 3d31faad..29562d5d 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/battery/LBattery.h +++ b/src-qt5/core/lumina-desktop/panel-plugins/battery/LBattery.h @@ -12,7 +12,7 @@ #include #include -#include +#include #include #include diff --git a/src-qt5/core/lumina-desktop/panel-plugins/battery/NOTES b/src-qt5/core/lumina-desktop/panel-plugins/battery/NOTES index 3ea07778..3d93267e 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/battery/NOTES +++ b/src-qt5/core/lumina-desktop/panel-plugins/battery/NOTES @@ -22,7 +22,7 @@ apm -l apm -t Zeigt die verbleibende Zeit in Sekunden -Aufruf Systemfunktionen: LuminaUtils.h +Aufruf Systemfunktionen: LUtils.h mit der Methode: QStringList LUtils::getCmdOutput(QString cmd, QStringList args) diff --git a/src-qt5/core/lumina-desktop/panel-plugins/desktopbar/LDeskBar.cpp b/src-qt5/core/lumina-desktop/panel-plugins/desktopbar/LDeskBar.cpp index 9903d4fd..90d942de 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/desktopbar/LDeskBar.cpp +++ b/src-qt5/core/lumina-desktop/panel-plugins/desktopbar/LDeskBar.cpp @@ -102,7 +102,7 @@ void LDeskBarPlugin::filechanged(QString file){ } void LDeskBarPlugin::updateFiles(){ QFileInfoList homefiles = LSession::handle()->DesktopFiles(); - QStringList favitems = LUtils::listFavorites(); + QStringList favitems = LDesktopUtils::listFavorites(); //Remember for format for favorites: ::::[app/dir/]:::: for(int i=0; i #include -#include +#include #include #include diff --git a/src-qt5/core/lumina-desktop/panel-plugins/quickcontainer/QuickPPlugin.h b/src-qt5/core/lumina-desktop/panel-plugins/quickcontainer/QuickPPlugin.h index e160c2b3..6f61c4d5 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/quickcontainer/QuickPPlugin.h +++ b/src-qt5/core/lumina-desktop/panel-plugins/quickcontainer/QuickPPlugin.h @@ -13,7 +13,7 @@ #include #include "../LPPlugin.h" -#include +#include #include class QuickPPlugin : public LPPlugin{ diff --git a/src-qt5/core/lumina-desktop/panel-plugins/systemstart/ItemWidget.cpp b/src-qt5/core/lumina-desktop/panel-plugins/systemstart/ItemWidget.cpp index 15b9c72c..ea074a59 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/systemstart/ItemWidget.cpp +++ b/src-qt5/core/lumina-desktop/panel-plugins/systemstart/ItemWidget.cpp @@ -5,7 +5,7 @@ // See the LICENSE file for full details //=========================================== #include "ItemWidget.h" -#include +#include #include #include "../../LSession.h" @@ -73,7 +73,7 @@ ItemWidget::ItemWidget(QWidget *parent, QString itemPath, QString type, bool gob icon->setWhatsThis(itemPath); if(!goback){ this->setWhatsThis(name->text()); } isDirectory = (type=="dir"); //save this for later - if(LUtils::isFavorite(itemPath)){ + if(LDesktopUtils::isFavorite(itemPath)){ linkPath = itemPath; isShortcut=true; }else if( inHome ){//|| itemPath.section("/",0,-2)==QDir::homePath()+"/Desktop" ){ @@ -93,7 +93,7 @@ ItemWidget::ItemWidget(QWidget *parent, XDGDesktop *item) : QFrame(parent){ createWidget(); if(item==0){ gooditem = false; return; } isDirectory = false; - if(LUtils::isFavorite(item->filePath)){ + if(LDesktopUtils::isFavorite(item->filePath)){ linkPath = item->filePath; isShortcut=true; }else if( item->filePath.section("/",0,-2)==QDir::homePath()+"/Desktop" ){ @@ -177,7 +177,7 @@ void ItemWidget::setupContextMenu(){ contextMenu->addAction( LXDG::findIcon("preferences-desktop-icons",""), tr("Pin to Desktop"), this, SLOT(PinToDesktop()) ); } //Favorite Item - if( LUtils::isFavorite(icon->whatsThis()) ){ //Favorite Item - can always remove this + if( LDesktopUtils::isFavorite(icon->whatsThis()) ){ //Favorite Item - can always remove this contextMenu->addAction( LXDG::findIcon("edit-delete",""), tr("Remove from Favorites"), this, SLOT(RemoveFavorite()) ); }else{ //This file does not have a shortcut yet -- allow the user to add it @@ -242,13 +242,13 @@ void ItemWidget::PinToDesktop(){ } void ItemWidget::RemoveFavorite(){ - LUtils::removeFavorite(icon->whatsThis()); + LDesktopUtils::removeFavorite(icon->whatsThis()); linkPath.clear(); emit RemovedShortcut(); } void ItemWidget::AddFavorite(){ - if( LUtils::addFavorite(icon->whatsThis()) ){ + if( LDesktopUtils::addFavorite(icon->whatsThis()) ){ linkPath = icon->whatsThis(); emit NewShortcut(); } diff --git a/src-qt5/core/lumina-desktop/panel-plugins/systemstart/LStartButton.cpp b/src-qt5/core/lumina-desktop/panel-plugins/systemstart/LStartButton.cpp index 0a396464..f44add77 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/systemstart/LStartButton.cpp +++ b/src-qt5/core/lumina-desktop/panel-plugins/systemstart/LStartButton.cpp @@ -8,7 +8,7 @@ #include "../../LSession.h" #include -#include //This contains the "ResizeMenu" class +#include //This contains the "ResizeMenu" class LStartButtonPlugin::LStartButtonPlugin(QWidget *parent, QString id, bool horizontal) : LPPlugin(parent, id, horizontal){ button = new QToolButton(this); diff --git a/src-qt5/core/lumina-desktop/panel-plugins/systemstart/LStartButton.h b/src-qt5/core/lumina-desktop/panel-plugins/systemstart/LStartButton.h index 22742bc5..d46bb1be 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/systemstart/LStartButton.h +++ b/src-qt5/core/lumina-desktop/panel-plugins/systemstart/LStartButton.h @@ -24,7 +24,7 @@ // libLumina includes #include -#include +#include #include #include "StartMenu.h" diff --git a/src-qt5/core/lumina-desktop/panel-plugins/systemstart/StartMenu.cpp b/src-qt5/core/lumina-desktop/panel-plugins/systemstart/StartMenu.cpp index bfac46c0..260215ec 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/systemstart/StartMenu.cpp +++ b/src-qt5/core/lumina-desktop/panel-plugins/systemstart/StartMenu.cpp @@ -411,7 +411,7 @@ void StartMenu::UpdateApps(){ void StartMenu::UpdateFavs(){ //SYNTAX NOTE: (per-line) "::::[dir/app/]::::" - QStringList newfavs = LUtils::listFavorites(); + QStringList newfavs = LDesktopUtils::listFavorites(); if(favs == newfavs){ return; } //nothing to do - same as before favs = newfavs; ClearScrollArea(ui->scroll_favs); diff --git a/src-qt5/core/lumina-desktop/panel-plugins/userbutton/UserItemWidget.cpp b/src-qt5/core/lumina-desktop/panel-plugins/userbutton/UserItemWidget.cpp index a1dfe956..8d7dab7a 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/userbutton/UserItemWidget.cpp +++ b/src-qt5/core/lumina-desktop/panel-plugins/userbutton/UserItemWidget.cpp @@ -5,7 +5,8 @@ // See the LICENSE file for full details //=========================================== #include "UserItemWidget.h" -#include +#include +#include #include #define TEXTCUTOFF 165 @@ -50,7 +51,7 @@ UserItemWidget::UserItemWidget(QWidget *parent, QString itemPath, QString type, icon->setWhatsThis(itemPath); if(!goback){ this->setWhatsThis(name->text()); } isDirectory = (type=="dir"); //save this for later - if(LUtils::isFavorite(itemPath)){ + if(LDesktopUtils::isFavorite(itemPath)){ linkPath = itemPath; isShortcut=true; }else if( inHome ){//|| itemPath.section("/",0,-2)==QDir::homePath()+"/Desktop" ){ @@ -66,7 +67,7 @@ UserItemWidget::UserItemWidget(QWidget *parent, XDGDesktop *item) : QFrame(paren if(item==0){ return; } createWidget(); isDirectory = false; - if(LUtils::isFavorite(item->filePath)){ + if(LDesktopUtils::isFavorite(item->filePath)){ linkPath = item->filePath; isShortcut=true; }else if( item->filePath.section("/",0,-2)==QDir::homePath()+"/Desktop" ){ @@ -171,7 +172,7 @@ void UserItemWidget::setupActions(XDGDesktop *app){ void UserItemWidget::buttonClicked(){ button->setVisible(false); if(button->whatsThis()=="add"){ - LUtils::addFavorite(icon->whatsThis()); + LDesktopUtils::addFavorite(icon->whatsThis()); //QFile::link(icon->whatsThis(), QDir::homePath()+"/.lumina/favorites/"+icon->whatsThis().section("/",-1) ); emit NewShortcut(); }else if(button->whatsThis()=="remove"){ @@ -184,7 +185,7 @@ void UserItemWidget::buttonClicked(){ } //Don't emit the RemovedShortcut signal here - the automatic ~/Desktop watcher will see the change when finished }else{ - LUtils::removeFavorite(icon->whatsThis()); //This is a favorite + LDesktopUtils::removeFavorite(icon->whatsThis()); //This is a favorite emit RemovedShortcut(); } } diff --git a/src-qt5/core/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp b/src-qt5/core/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp index fb58c7f6..a0ba8996 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp +++ b/src-qt5/core/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp @@ -221,7 +221,7 @@ void UserWidget::updateFavItems(bool newfilter){ if(updatingfavs){ return; } updatingfavs = true; //qDebug() << "Updating User Favorite Items"; - QStringList newfavs = LUtils::listFavorites(); + QStringList newfavs = LDesktopUtils::listFavorites(); //qDebug() << "Favorites:" << newfavs; if(lastHomeUpdate.isNull() || (QFileInfo(QDir::homePath()+"/Desktop").lastModified() > lastHomeUpdate) || newfavs!=favs ){ favs = newfavs; diff --git a/src-qt5/core/lumina-info/MainUI.cpp b/src-qt5/core/lumina-info/MainUI.cpp index 98a4c160..7e6a3630 100644 --- a/src-qt5/core/lumina-info/MainUI.cpp +++ b/src-qt5/core/lumina-info/MainUI.cpp @@ -8,7 +8,8 @@ #include "ui_MainUI.h" #include -#include +#include +#include #include #include @@ -38,7 +39,7 @@ void MainUI::updateUI(){ ui->tool_website->setIcon( LXDG::findIcon("go-home","")); connect(ui->push_close, SIGNAL(clicked()), this, SLOT(close()) ); //General Tab - ui->label_version->setText( LUtils::LuminaDesktopVersion() ); + ui->label_version->setText( LDesktopUtils::LuminaDesktopVersion() ); ui->label_OS->setText( LOS::OSName() ); connect(ui->tool_aboutQt, SIGNAL(clicked()), this, SLOT(showQtInfo()) ); //License Tab diff --git a/src-qt5/core/lumina-info/lumina-info.pro b/src-qt5/core/lumina-info/lumina-info.pro index 9ced275b..3ba1f527 100644 --- a/src-qt5/core/lumina-info/lumina-info.pro +++ b/src-qt5/core/lumina-info/lumina-info.pro @@ -8,6 +8,12 @@ target.path = $${L_BINDIR} TEMPLATE = app +#include all the special classes from the Lumina tree +include(../libLumina/LDesktopUtils.pri) #includes LUtils +include(../libLumina/LuminaXDG.pri) +include(../libLumina/LuminaSingleApplication.pri) +include(../libLumina/LuminaThemes.pri) + SOURCES += main.cpp \ MainUI.cpp @@ -17,9 +23,9 @@ FORMS += MainUI.ui RESOURCES+= lumina-info.qrc -LIBS += -lLuminaUtils +#LIBS += -lLuminaUtils -DEPENDPATH += ../libLumina +#DEPENDPATH += ../libLumina TRANSLATIONS = i18n/lumina-info_af.ts \ i18n/lumina-info_ar.ts \ diff --git a/src-qt5/core/lumina-info/main.cpp b/src-qt5/core/lumina-info/main.cpp index 8fe6a183..e30911c5 100644 --- a/src-qt5/core/lumina-info/main.cpp +++ b/src-qt5/core/lumina-info/main.cpp @@ -6,7 +6,7 @@ #include "MainUI.h" #include #include -#include +#include #include int main(int argc, char ** argv) diff --git a/src-qt5/core/lumina-open/LFileDialog.h b/src-qt5/core/lumina-open/LFileDialog.h index 95e117fa..b81cde05 100644 --- a/src-qt5/core/lumina-open/LFileDialog.h +++ b/src-qt5/core/lumina-open/LFileDialog.h @@ -22,7 +22,7 @@ #include #include //From libLuminaUtils -#include +#include namespace Ui{ class LFileDialog; diff --git a/src-qt5/core/lumina-open/lumina-open.pro b/src-qt5/core/lumina-open/lumina-open.pro index 3240b2d3..96d879bd 100644 --- a/src-qt5/core/lumina-open/lumina-open.pro +++ b/src-qt5/core/lumina-open/lumina-open.pro @@ -9,6 +9,9 @@ target.path = $${L_BINDIR} TEMPLATE = app +include(../libLumina/LuminaXDG.pri) +include(../libLumina/LuminaThemes.pri) + SOURCES += main.cpp \ LFileDialog.cpp @@ -18,10 +21,6 @@ FORMS += LFileDialog.ui RESOURCES+= lumina-open.qrc -LIBS += -lLuminaUtils - -DEPENDPATH += ../libLumina - TRANSLATIONS = i18n/lumina-open_af.ts \ i18n/lumina-open_ar.ts \ diff --git a/src-qt5/core/lumina-open/main.cpp b/src-qt5/core/lumina-open/main.cpp index b411394c..279f7c1b 100644 --- a/src-qt5/core/lumina-open/main.cpp +++ b/src-qt5/core/lumina-open/main.cpp @@ -25,7 +25,7 @@ #include "LFileDialog.h" #include -#include +#include #include #include diff --git a/src-qt5/core/lumina-session/lumina-session.pro b/src-qt5/core/lumina-session/lumina-session.pro index 91a5f891..dc697a34 100644 --- a/src-qt5/core/lumina-session/lumina-session.pro +++ b/src-qt5/core/lumina-session/lumina-session.pro @@ -6,9 +6,9 @@ QT = core widgets TARGET = start-lumina-desktop target.path = $${L_BINDIR} - -LIBS += -lLuminaUtils -DEPENDPATH += ../libLumina +include(../libLumina/LDesktopUtils.pri) +include(../libLumina/LuminaXDG.pri) +include(../libLumina/LuminaThemes.pri) SOURCES += main.cpp \ session.cpp diff --git a/src-qt5/core/lumina-session/main.cpp b/src-qt5/core/lumina-session/main.cpp index 77e553d4..73af45f9 100644 --- a/src-qt5/core/lumina-session/main.cpp +++ b/src-qt5/core/lumina-session/main.cpp @@ -10,7 +10,8 @@ #include #include "session.h" -#include +#include +#include #include #include #include @@ -21,7 +22,7 @@ int main(int argc, char ** argv) { if (argc > 1) { if (QString(argv[1]) == QString("--version")){ - qDebug() << LUtils::LuminaDesktopVersion(); + qDebug() << LDesktopUtils::LuminaDesktopVersion(); return 0; } } diff --git a/src-qt5/core/lumina-session/session.cpp b/src-qt5/core/lumina-session/session.cpp index c689c9a3..10953f12 100644 --- a/src-qt5/core/lumina-session/session.cpp +++ b/src-qt5/core/lumina-session/session.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include void LSession::stopall(){ diff --git a/src-qt5/core/quickplugins/quick-sample.qml b/src-qt5/core/quickplugins/quick-sample.qml new file mode 100644 index 00000000..18b10d77 --- /dev/null +++ b/src-qt5/core/quickplugins/quick-sample.qml @@ -0,0 +1,12 @@ +// Plugin-Name=Sample +// Plugin-Description=A simple example for QtQuick/QML plugins +// Plugin-Icon=preferences-plugin +// Created: Ken Moore (ken@pcbsd.org) May 2015 + +import QtQuick.Controls 1.3 + +Label { + text: "Sample" + color: "blue" + font.bold: true +} \ No newline at end of file diff --git a/src-qt5/core/themes/Glass.qss.template b/src-qt5/core/themes/Glass.qss.template new file mode 100644 index 00000000..d594d25e --- /dev/null +++ b/src-qt5/core/themes/Glass.qss.template @@ -0,0 +1,539 @@ +/* ALL THE TEMPLATE WIDGETS */ +INHERITS=None + +/* ALL THE WIDGETS WITH THE BASE COLOR */ +QMainWindow, QMenu, QDialog, QMessageBox{ + background: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 %%BASECOLOR%%, stop:1 %%ALTBASECOLOR%%); + color: %%TEXTCOLOR%%; + border: 1px solid %%ACCENTDISABLECOLOR%%; + border-radius: 3px; +} + +/* ALL THE WIDGETS WITH AN ALTERNATE BASE COLOR */ +QLineEdit, QTextEdit, QTextBrowser, QPlainTextEdit, QSpinBox, QDateEdit, QDateTimeEdit, QTimeEdit, QDoubleSpinBox{ + background: %%ALTBASECOLOR%%; + color: %%TEXTCOLOR%%; + border-color: %%ACCENTDISABLECOLOR%%; + selection-background-color: %%HIGHLIGHTCOLOR%%; + selection-color: %%TEXTHIGHLIGHTCOLOR%%; +} + +/* PAGES OF CONTAINER WIDGETS */ +QStackedWidget .QWidget{ + background: transparent; + color: %%TEXTCOLOR%%; + border: none; +} + +QToolBox::tab{ + color: %%TEXTCOLOR%%; +} + +/* MENU WIDGETS */ +QMenuBar, QMenuBar::item,QToolBar{ + background: transparent; + border: none; + color: %%TEXTCOLOR%%; +} + +QStatusBar{ + background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 transparent, stop: 0.5 %%SECONDARYCOLOR%%); + border: none; + color: %%TEXTCOLOR%%; +} +QToolBar:top{ + border-bottom: 1px solid %%ACCENTCOLOR%%; +} +QToolBar:bottom{ + border-top: 1px solid %%ACCENTCOLOR%%; +} +QToolBar:left{ + border-right: 1px solid %%ACCENTCOLOR%%; +} +QToolBar:right{ + border-left: 1px solid %%ACCENTCOLOR%%; +} + +QMenuBar::item{ + background: transparent; /*Use the menu bar color*/ + padding-left: 4px; + padding-right: 2px; +} + +QMenuBar::item:selected, QMenuBar::item:pressed, QMenu::item:selected{ +background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); +color: %%TEXTHIGHLIGHTCOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +} +QMenuBar::item:disabled{ + color: %%TEXTDISABLECOLOR%%; +} + +/*QMenu::item{ + border: 2px solid #808080; +}*/ + +QMenu::item{ + background: transparent; + border: 1px solid transparent; + color: %%TEXTCOLOR%%; + padding: 4px 30px 4px 20px; + margin-left: 3px; + margin-right: 3px; +} + +/* TAB WIDGETS */ +/*QTabBar{ + Custom Font settings need to be here and NOT in the ::tab fields, + otherwise it will break auto-scaling of the tab sizes to fit the text +}*/ +/* Transparency does not work on main pages within tabwidgets*/ +QTabWidget QStackedWidget .QWidget{ + background: rgb(230,230,230); + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} +QTabWidget{ + color: black; + border: none; +} +QTabWidget QLabel{ + color: black; +} +QTabBar::tab { + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%SECONDARYDISABLECOLOR%%, stop: 1 %%ALTBASECOLOR%%); + border: 1px solid %%ACCENTCOLOR%%; + padding: 2px; + color: %%TEXTCOLOR%%; +} +QTabBar::tab:top{ + border-top-left-radius: 4px; + border-top-right-radius: 4px; + max-width: 100em; + min-width: 0em; +} +QTabBar::tab:bottom{ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + max-width: 100em; + min-width: 0em; +} +/* left/right tab indicators appear to be reversed in Qt*/ +QTabBar::tab:right{ + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + max-height: 100em; + min-height: 0em; +} +QTabBar::tab:left{ + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + max-height: 100em; + min-height: 0em; +} +QTabBar::tab:selected{ + background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 rgb(230,230,230)); + border-bottom: none; +} +QTabBar::tab:hover { + background: %%HIGHLIGHTCOLOR%%; + border: 1px solid %%ACCENTDISABLECOLOR%%; + } + +QTabBar::tab:!selected:top { + margin-top: 4px; +} +QTabBar::tab:!selected:bottom{ + margin-bottom: 4px; +} +QTabBar::tab:!selected:right{ + margin-left: 4px; +} +QTabBar::tab:!selected:left{ + margin-right: 4px; +} + +/* FRAME WIDGETS */ +QToolTip{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%BASECOLOR%%, stop: 1 %%ALTBASECOLOR%%); + border-radius: 3px; + border: 1px solid %%ACCENTCOLOR%%; + padding: 1px; + color: %%TEXTCOLOR%%; +} + +QLabel{ + background: transparent; + border: none; + color: %%TEXTCOLOR%%; +} +QAbstractButton::disabled{ + color: %%TEXTDISABLECOLOR%%; +} + +/* GROUP BOX */ +QGroupBox{ + background-color: transparent; + border-color: %%ACCENTCOLOR%%; + border-radius: 5px; + margin-top: 2ex; + font-weight: bold; +} +QGroupBox::title{ + subcontrol-origin: margin; + subcontrol-position: top center; + padding: 0 3px; + background: transparent; + /*border: none;*/ + color: %%TEXTCOLOR%%; +} + +/* COMBO BOX */ +QComboBox{ + /*border: 1px solid %%ACCENTCOLOR%%; + border-radius: 3px; + padding: 1px 18px 1px 3px;*/ + color: %%TEXTCOLOR%%; + background: %%ALTBASECOLOR%%; + selection-background-color: %%HIGHLIGHTCOLOR%%; + } + + +/* VIEW WIDGETS */ +QTreeView, QListView{ + background: %%ALTBASECOLOR%%; + alternate-background-color: %%BASECOLOR%%; + /*selection-background-color: %%SECONDARYCOLOR%%;*/ + border: 1px solid %%ACCENTCOLOR%%; + border-radius: 3px; + /*show-decoration-selected: 1;*/ + color: %%TEXTCOLOR%%; + selection-color: %%TEXTCOLOR%%; +} + +QTreeView:focus, QListView:focus{ + border: 1px solid %%HIGHLIGHTDISABLECOLOR%%; +} + +/* +QTreeView::item and QListView::item unneccessary: +Already set though parentage and causes usage errors if set manually +*/ + +/*QTreeView::item:selected, QListView::item:selected{ + background: %%SECONDARYDISABLECOLOR%%; + border-color: %%ACCENTCOLOR%%; + color: %%TEXTCOLOR%%; +}*/ + +QTreeView::item:hover, QListView::item:hover{ + background: %%HIGHLIGHTDISABLECOLOR%%; +} +QTreeView::item:selected:hover, QListView::item:selected:hover{ + background: %%HIGHLIGHTDISABLECOLOR%%; +} +QTreeView::item:selected, QListView::item:selected{ + background: %%SECONDARYDISABLECOLOR%%; +} +QTreeView::item:selected:focus, QListView::item:selected:focus{ + background: %%SECONDARYCOLOR%%; +} +QHeaderView{ + background: %%HIGHLIGHTDISABLECOLOR%%; + color: %%TEXTHIGHLIGHTCOLOR%%; + border: none; + border-top-left-radius: 3px; /*match the list/tree view widgets*/ + border-top-right-radius: 3px; /*match the list/tree view widgets*/ +} +QHeaderView::section{ + background: %%HIGHLIGHTDISABLECOLOR%%; /*QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%PRIMARYDISABLECOLOR%%, stop: 1 %%PRIMARYCOLOR%%);*/ + color: %%TEXTHIGHLIGHTCOLOR%%; + border-color: %%ACCENTCOLOR%%; + padding: 1px; + padding-left: 4px; +} +QHeaderView::section:hover{ + background: %%PRIMARYCOLOR%%; + border-color: %%ACCENTDISABLECOLOR%%; + color: %%TEXTCOLOR%%; +} + +/* SCROLLBARS (NOTE: Changing 1 subcontrol means you have to change all of them)*/ +QScrollBar{ + background:%%ALTBASECOLOR%%; +} +QScrollBar:horizontal{ + margin: 0px 0px 0px 0px; +} +QScrollBar:vertical{ + margin: 0px 0px 0px 0px; +} +QScrollBar::handle{ + background: %%SECONDARYCOLOR%%; + border: 1px solid transparent; + border-radius: 7px; +} +QScrollBar::handle:hover, QScrollBar::add-line:hover, QScrollBar::sub-line:hover{ + background: %%SECONDARYDISABLECOLOR%%; +} +QScrollBar::add-line{ +subcontrol-origin: none; +} +QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical{ +height: 0px; +} +QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal{ +width: 0px; +} +QScrollBar::sub-line{ +subcontrol-origin: none; +} + +/* SLIDERS */ +QSlider::groove:horizontal { +border: 1px solid %%ACCENTCOLOR%%; +background: %%ALTBASECOLOR%%; +height: 10px; +border-radius: 3px; +} +QSlider::groove:vertical { +border: 1px solid %%ACCENTCOLOR%%; +background: %%ALTBASECOLOR%%; +width: 10px; +border-radius: 3px; +} +QSlider::sub-page:horizontal { +background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, + stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); +border: 1px solid %%ACCENTCOLOR%%; +height: 10px; +border-radius: 3px; +} +QSlider::sub-page:vertical { +background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, + stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); +border: 1px solid %%ACCENTCOLOR%%; +width: 10px; +border-radius: 3px; +} +QSlider::add-page:horizontal{ +background: %%ALTBASECOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +height: 10px; +border-radius: 3px; +} +QSlider::add-page:vertical{ +background: %%ALTBASECOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +width: 10px; +border-radius: 3px; +} +QSlider::handle:horizontal{ +background: %%ALTBASECOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +width: 13px; +border-radius: 4px; +} +QSlider::handle:vertical{ +background: %%ALTBASECOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +height: 13px; +border-radius: 4px; +} +QSlider::handle:horizontal:hover, QSlider::handle:vertical:hover{ +border: 1px solid %%ACCENTDISABLECOLOR%%; +/*background: %%HIGHLIGHTCOLOR%%;*/ +} + +QSlider::sub-page:horizontal:disabled { +background: %%ACCENTDISABLECOLOR%%; +border-color: %%ACCENTCOLOR%%; +} + +QSlider::add-page:horizontal:disabled { +background: %%ACCENTDISABLECOLOR%%; +border-color: %%ACCENTCOLOR%%; +} + +QSlider::handle:horizontal:disabled { +background: %%ALTBASECOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +} + +/* BUTTONS */ +QPushButton{ + border: 1px solid %%ACCENTCOLOR%%; + border-radius: 3px; + background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%SECONDARYDISABLECOLOR%%, stop: 1 %%SECONDARYCOLOR%%); + padding: 2px; + padding-right: 4px; + color: %%TEXTCOLOR%%; + } + +QToolButton{ /* Assume a flat button for every toolbutton by default*/ + color: %%TEXTCOLOR%%; + border: 1px solid transparent; + border-radius: 3px; + background-color: transparent; + padding: 1px; +} + + QPushButton:pressed, QPushButton:open, QPushButton:selected, QPushButton:checked, QPushButton:on, QToolButton:pressed, QToolButton:open, QToolButton:selected, QToolButton:checked, QToolButton:on{ + background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); + margin-top: 2px; + } + +QPushButton:flat, QToolButton:flat{ + background-color: transparent; + border: 1px solid transparent; /* no border for a flat button */ +} + +QPushButton:hover, QToolButton:hover{ + border: 1px solid %%ACCENTCOLOR%%; + background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); + color: %%TEXTHIGHLIGHTCOLOR%%; +} +QRadioButton, QCheckBox{ + padding: 2px; + border: 1px solid transparent; + border-radius: 3px; + color: %%TEXTCOLOR%%; +} +QRadioButton::hover, QCheckBox:hover{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); + border: 1px solid %%ACCENTCOLOR%%; + color: %%TEXTHIGHLIGHTCOLOR%%; +} +QRadioButton::indicator, QCheckBox::indicator, QGroupBox::indicator{ + border: 1px solid %%TEXTCOLOR%%; +} +QRadioButton::indicator{ + border-radius: 7px; +} +QRadioButton::indicator:checked{ + background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:1, fx:0.5, fy:0.5, stop:0 %%TEXTCOLOR%%, stop:0.25 %%TEXTCOLOR%%, stop:0.25001 transparent); +} +QCheckBox::indicator:checked, QGroupBox::indicator:checked{ + padding: 1px; + background-origin: content; + background-clip: content; + background: %%TEXTCOLOR%%; +} +QCheckBox::indicator:indeterminate, QGroupBox::indicator:indeterminate{ + padding: 1px; + background-origin: content; + background-clip: content; + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0.49 transparent, stop: 0.5 %%TEXTCOLOR%%); +} + +/* PROGRESSBAR */ +QProgressBar{ + background-color: %%ALTBASECOLOR%%; + border: 1px solid %%ACCENTCOLOR%%; + border-radius: 5px; + color: %%TEXTCOLOR%%; + text-align: center; + padding: 1px; +} + QProgressBar::chunk { + background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); + /*border: 1px solid %%ACCENTDISABLECOLOR%%;*/ + border-radius: 5px; + } +QProgressBar::chunk:vertical{ + margin-left: 2px; + margin-right: 2px; +} +QProgressBar::chunk:horizontal{ + margin-top: 2px; + margin-bottom: 2px; +} + +QWidget#LuminaBootSplash{ + background: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 rgba(234, 236, 243, 30), stop:1 rgba(229, 229, 229, 70)); + border-radius: 5px; +} + +LDPlugin#applauncher{ + background-color: transparent; + border: none; +} +LDPlugin#applauncher QToolButton, LDPlugin, LDPlugin#desktopview QListWidget::item{ + background-color: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 rgba(234, 236, 243, 30), stop:1 rgba(229, 229, 229, 70)); + border-width: 3px; + border-style: solid; + border-radius: 5px; + border-top-color: qradialgradient(spread:pad, cx:0.5, cy:1, radius:0.5, fx:0.5, fy:1, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + border-bottom-color: qradialgradient(spread:pad, cx:0.5, cy:0, radius:0.5, fx:0.5, fy:0, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + border-left-color: qradialgradient(spread:pad, cx:1, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + border-right-color: qradialgradient(spread:pad, cx:0, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + color: white; +} + +LDPlugin#applauncher QToolButton:hover, LDPlugin#desktopview QListWidget::item:hover{ + background-color: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 rgba(234, 236, 243, 100), stop:1 rgba(229, 229, 229, 150)); + border-width: 3px; + border-style: solid; + border-radius: 5px; + border-top-color: qradialgradient(spread:pad, cx:0.5, cy:1, radius:0.5, fx:0.5, fy:1, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + border-bottom-color: qradialgradient(spread:pad, cx:0.5, cy:0, radius:0.5, fx:0.5, fy:0, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + border-left-color: qradialgradient(spread:pad, cx:1, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + border-right-color: qradialgradient(spread:pad, cx:0, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + color: %%TEXTHIGHLIGHTCOLOR%%; +} +QWidget#LuminaPanelColor{ + background: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 rgba(234, 236, 243, 60), stop:1 rgba(229, 229, 229, 110)); + border-radius: 3px; +} +/*Special taskmanager window buttons: based on window state*/ +LTBWidget{ + border: 1px solid transparent; + border-radius: 3px; +} +LTBWidget::menu-indicator{ image: none; } /*disable the menu arrow*/ +LTBWidget#WindowVisible{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.1 %%PRIMARYCOLOR%%, stop: 1 transparent); +} +LTBWidget#WindowInvisible{ + background: transparent; +} +LTBWidget#WindowActive{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.1 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 transparent); +} +LTBWidget#WindowAttention{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.1 %%HIGHLIGHTCOLOR%%, stop: 1 transparent); +} +LTBWidget:hover, LTBWidget#WindowVisible:hover, LTBWidget#WindowInvisible:hover, LTBWidget#WindowActive:hover, LTBWidget#WindowAttention:hover, QToolButton:hover{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.1 %%HIGHLIGHTCOLOR%%, stop: 1 transparent); + color: %%TEXTHIGHLIGHTCOLOR%%; + border-width: 1px; + border-style: solid; + border-top-color: qradialgradient(spread:pad, cx:0.5, cy:1, radius:0.5, fx:0.5, fy:1, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + border-bottom-color: qradialgradient(spread:pad, cx:0.5, cy:0, radius:0.5, fx:0.5, fy:0, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + border-left-color: qradialgradient(spread:pad, cx:1, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); + border-right-color: qradialgradient(spread:pad, cx:0, cy:0.5, radius:0.5, fx:1, fy:0.5, stop:0 rgba(255, 255, 255, 30), stop:0.724868 rgba(255, 255, 255, 60), stop:1 rgba(255, 255, 255, 10)); +} +/* CALENDER WIDGET */ + /* (This is a special hack since there is no official support for stylesheets for this widget) */ + QCalendarWidget QWidget#qt_calendar_navigationbar{ + background-color: %%ALTBASECOLOR%%; + } +QCalendarWidget QWidget{ + background-color: %%BASECOLOR%%; + alternate-background-color: rgba(255, 255, 255, 50); + color: %%TEXTCOLOR%%; +} +QCalendarWidget QAbstractButton{ + background-color: transparent; +} +QCalendarWidget QAbstractButton::menu-indicator{ + image: none; +} +QCalendarWidget QAbstractItemView{ + selection-background-color: qradialgradient(spread:reflect, cx:0.113757, cy:0.875, radius:0.7, fx:0.045, fy:0.954545, stop:0 rgba(234, 236, 243, 20), stop:1 rgba(229, 229, 229, 100)); + selection-color: %%TEXTHIGHLIGHTCOLOR%%; +} +QCalendarWidget QWidget#qt_calendar_calendarview{ + background-color: rgb(220,220,220); + border: none; +} diff --git a/src-qt5/core/themes/Lumina-default.qss.template b/src-qt5/core/themes/Lumina-default.qss.template new file mode 100644 index 00000000..9f03d4ae --- /dev/null +++ b/src-qt5/core/themes/Lumina-default.qss.template @@ -0,0 +1,494 @@ +/* ALL THE TEMPLATE WIDGETS */ +INHERITS=None + +/* ALL THE WIDGETS WITH THE BASE COLOR */ +QMainWindow, QMenu, QDialog, QMessageBox{ + background: %%BASECOLOR%%; + color: %%TEXTCOLOR%%; +} + +/* ALL THE WIDGETS WITH AN ALTERNATE BASE COLOR */ +QLineEdit, QTextEdit, QTextBrowser, QPlainTextEdit, QSpinBox, QDateEdit, QDateTimeEdit, QTimeEdit, QDoubleSpinBox{ + background: %%ALTBASECOLOR%%; + color: %%TEXTCOLOR%%; + border-color: %%ACCENTDISABLECOLOR%%; + selection-background-color: %%HIGHLIGHTCOLOR%%; + selection-color: %%TEXTHIGHLIGHTCOLOR%%; + +} + +/* PAGES OF CONTAINER WIDGETS */ +QStackedWidget .QWidget, QTabWidget .QWidget{ + background: %%ALTBASECOLOR%%; + color: %%TEXTCOLOR%%; + border: none; +} +QToolBox::tab{ + color: %%TEXTCOLOR%%; +} + +/* MENU WIDGETS */ +QMenuBar, QMenuBar::item,QToolBar{ + background: %%SECONDARYCOLOR%%; + border: none; + color: %%TEXTCOLOR%%; +} + +QStatusBar{ + background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 transparent, stop: 0.5 %%SECONDARYCOLOR%%); + border: none; + color: %%TEXTCOLOR%%; +} +QToolBar:top{ + border-bottom: 1px solid %%ACCENTCOLOR%%; +} +QToolBar:bottom{ + border-top: 1px solid %%ACCENTCOLOR%%; +} +QToolBar:left{ + border-right: 1px solid %%ACCENTCOLOR%%; +} +QToolBar:right{ + border-left: 1px solid %%ACCENTCOLOR%%; +} + +QMenuBar::item{ + background: transparent; /*Use the menu bar color*/ + padding-left: 4px; + padding-right: 2px; +} + +QMenuBar::item:selected, QMenuBar::item:pressed, QMenu::item:selected{ +background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); +color: %%TEXTHIGHLIGHTCOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +} +QMenuBar::item:disabled{ + color: %%TEXTDISABLECOLOR%%; +} + +QMenu::item{ + border: 2px solid #808080; +} + +QMenu::item{ + background: transparent; + border: 1px solid transparent; + color: %%TEXTCOLOR%%; + padding: 4px 30px 4px 20px; + margin-left: 3px; + margin-right: 3px; +} + +/* TAB WIDGETS */ +/*QTabBar{ + Custom Font settings need to be here and NOT in the ::tab fields, + otherwise it will break auto-scaling of the tab sizes to fit the text +}*/ +QTabBar::tab { + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%SECONDARYDISABLECOLOR%%, stop: 1 %%SECONDARYCOLOR%%); + border: 1px solid %%ACCENTCOLOR%%; + padding: 2px; + color: %%TEXTCOLOR%%; +} +QTabBar::tab:top{ + border-top-left-radius: 4px; + border-top-right-radius: 4px; + max-width: 100em; + min-width: 0em; +} +QTabBar::tab:bottom{ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + max-width: 100em; + min-width: 0em; +} +/* left/right tab indicators appear to be reversed in Qt*/ +QTabBar::tab:right{ + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + max-height: 100em; + min-height: 0em; +} +QTabBar::tab:left{ + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + max-height: 100em; + min-height: 0em; +} +QTabBar::tab:selected{ + background: %%HIGHLIGHTDISABLECOLOR%%; +} +QTabBar::tab:hover { + background: %%HIGHLIGHTCOLOR%%; + border: 1px solid %%ACCENTDISABLECOLOR%%; + } + +QTabBar::tab:!selected:top { + margin-top: 4px; +} +QTabBar::tab:!selected:bottom{ + margin-bottom: 4px; +} +QTabBar::tab:!selected:right{ + margin-left: 4px; +} +QTabBar::tab:!selected:left{ + margin-right: 4px; +} + +/* FRAME WIDGETS */ +QToolTip{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%BASECOLOR%%, stop: 1 %%ALTBASECOLOR%%); + border-radius: 3px; + border: 1px solid %%ACCENTCOLOR%%; + padding: 1px; + color: %%TEXTCOLOR%%; +} + +QLabel{ + background: transparent; + border: none; + color: %%TEXTCOLOR%%; +} +QAbstractButton::disabled{ + color: %%TEXTDISABLECOLOR%%; +} + +/* GROUP BOX */ +QGroupBox{ + background-color: transparent; + border-color: %%ACCENTCOLOR%%; + border-radius: 5px; + margin-top: 2ex; + font-weight: bold; +} +QGroupBox::title{ + subcontrol-origin: margin; + subcontrol-position: top center; + padding: 0 3px; + background: transparent; + /*border: none;*/ + color: %%TEXTCOLOR%%; +} + +/* COMBO BOX */ +QComboBox{ + /*border: 1px solid %%ACCENTCOLOR%%; + border-radius: 3px; + padding: 1px 18px 1px 3px;*/ + color: %%TEXTCOLOR%%; + background: %%ALTBASECOLOR%%; + selection-background-color: %%HIGHLIGHTCOLOR%%; + } + + +/* VIEW WIDGETS */ +QTreeView, QListView{ + background: %%ALTBASECOLOR%%; + alternate-background-color: %%BASECOLOR%%; + /*selection-background-color: %%SECONDARYCOLOR%%;*/ + border: 1px solid %%ACCENTCOLOR%%; + border-radius: 3px; + /*show-decoration-selected: 1;*/ + color: %%TEXTCOLOR%%; + selection-color: %%TEXTCOLOR%%; +} + +QTreeView:focus, QListView:focus{ + border: 1px solid %%HIGHLIGHTDISABLECOLOR%%; +} + +/* +QTreeView::item and QListView::item unneccessary: +Already set though parentage and causes usage errors if set manually +*/ + +/*QTreeView::item:selected, QListView::item:selected{ + background: %%SECONDARYDISABLECOLOR%%; + border-color: %%ACCENTCOLOR%%; + color: %%TEXTCOLOR%%; +}*/ + +QTreeView::item:hover, QListView::item:hover{ + background: %%HIGHLIGHTDISABLECOLOR%%; +} +QTreeView::item:selected:hover, QListView::item:selected:hover{ + background: %%HIGHLIGHTDISABLECOLOR%%; +} +QTreeView::item:selected, QListView::item:selected{ + background: %%SECONDARYDISABLECOLOR%%; +} +QTreeView::item:selected:focus, QListView::item:selected:focus{ + background: %%SECONDARYCOLOR%%; +} +QHeaderView{ + background: %%HIGHLIGHTDISABLECOLOR%%; + color: %%TEXTHIGHLIGHTCOLOR%%; + border: none; + border-top-left-radius: 3px; /*match the list/tree view widgets*/ + border-top-right-radius: 3px; /*match the list/tree view widgets*/ +} +QHeaderView::section{ + background: %%HIGHLIGHTDISABLECOLOR%%; /*QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%PRIMARYDISABLECOLOR%%, stop: 1 %%PRIMARYCOLOR%%);*/ + color: %%TEXTHIGHLIGHTCOLOR%%; + border-color: %%ACCENTCOLOR%%; + padding: 1px; + padding-left: 4px; +} +QHeaderView::section:hover{ + background: %%PRIMARYCOLOR%%; + border-color: %%ACCENTDISABLECOLOR%%; + color: %%TEXTCOLOR%%; +} + +/* SCROLLBARS (NOTE: Changing 1 subcontrol means you have to change all of them)*/ +QScrollBar{ + background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %%SECONDARYCOLOR%%, stop: 1 %%SECONDARYDISABLECOLOR%%); + /*border: 1px solid %%ACCENTCOLOR%%;*/ +} +QScrollBar:horizontal{ + margin: 0px 20px 0px 20px; +} +QScrollBar:vertical{ + margin: 20px 0px 20px 0px; +} +QScrollBar::sub-page, QScrollBar::add-page{ + background: %%BASECOLOR%%; + border: 1px solid %%ACCENTCOLOR%%; +} +QScrollBar::sub-page:vertical{ + border-bottom: none; +} +QScrollBar::add-page:vertical{ + border-top: none; +} +QScrollBar::sub-page:horizontal{ + border-right: none; +} +QScrollBar::add-page:horizontal{ + border-left: none; +} +QScrollBar::handle{ + background: QLinearGradient(x1: 0, y1: -0.3, x2: 0, y2: 1.3, stop: 0 %%BASECOLOR%%, stop: 0.5 %%SECONDARYCOLOR%%, stop: 1 %%BASECOLOR%%); + border: 1px solid %%ACCENTCOLOR%%; +} +QScrollBar::handle:hover, QScrollBar::add-line:hover, QScrollBar::sub-line:hover{ + background: %%HIGHLIGHTCOLOR%%; +} +QScrollBar::add-line{ + background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %%SECONDARYDISABLECOLOR%%, stop: 1 %%SECONDARYCOLOR%%); + border: 1px solid %%ACCENTCOLOR%%; + border-radius: 3px; +subcontrol-position: bottom right; +subcontrol-origin: margin; +} +QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical{ +height: 20px; +} +QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal{ +width: 20px; +} +QScrollBar::sub-line{ + background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %%SECONDARYCOLOR%%, stop: 1 %%SECONDARYDISABLECOLOR%%); + border: 1px solid %%ACCENTCOLOR%%; + border-radius: 3px; +subcontrol-position: top left; +subcontrol-origin: margin; +height: 20px; +} +/* SLIDERS */ +QSlider::groove:horizontal { +border: 1px solid %%ACCENTCOLOR%%; +background: %%ALTBASECOLOR%%; +height: 10px; +border-radius: 3px; +} +QSlider::groove:vertical { +border: 1px solid %%ACCENTCOLOR%%; +background: %%ALTBASECOLOR%%; +width: 10px; +border-radius: 3px; +} +QSlider::sub-page:horizontal { +background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, + stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); +border: 1px solid %%ACCENTCOLOR%%; +height: 10px; +border-radius: 3px; +} +QSlider::sub-page:vertical { +background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, + stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); +border: 1px solid %%ACCENTCOLOR%%; +width: 10px; +border-radius: 3px; +} +QSlider::add-page:horizontal{ +background: %%ALTBASECOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +height: 10px; +border-radius: 3px; +} +QSlider::add-page:vertical{ +background: %%ALTBASECOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +width: 10px; +border-radius: 3px; +} +QSlider::handle:horizontal{ +background: %%ALTBASECOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +width: 13px; +border-radius: 4px; +} +QSlider::handle:vertical{ +background: %%ALTBASECOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +height: 13px; +border-radius: 4px; +} +QSlider::handle:horizontal:hover, QSlider::handle:vertical:hover{ +border: 1px solid %%ACCENTDISABLECOLOR%%; +/*background: %%HIGHLIGHTCOLOR%%;*/ +} + +QSlider::sub-page:horizontal:disabled { +background: %%ACCENTDISABLECOLOR%%; +border-color: %%ACCENTCOLOR%%; +} + +QSlider::add-page:horizontal:disabled { +background: %%ACCENTDISABLECOLOR%%; +border-color: %%ACCENTCOLOR%%; +} + +QSlider::handle:horizontal:disabled { +background: %%ALTBASECOLOR%%; +border: 1px solid %%ACCENTCOLOR%%; +} + +/* BUTTONS */ +QPushButton{ + border: 1px solid %%ACCENTCOLOR%%; + border-radius: 3px; + background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%SECONDARYDISABLECOLOR%%, stop: 1 %%SECONDARYCOLOR%%); + padding: 2px; + padding-right: 4px; + color: %%TEXTCOLOR%%; + } + +QToolButton{ /* Assume a flat button for every toolbutton by default*/ + color: %%TEXTCOLOR%%; + border: 1px solid transparent; + border-radius: 3px; + background-color: transparent; + padding: 1px; +} + + QPushButton:pressed, QPushButton:open, QPushButton:selected, QPushButton:checked, QPushButton:on, QToolButton:pressed, QToolButton:open, QToolButton:selected, QToolButton:checked, QToolButton:on{ + background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); + margin-top: 2px; + } + +QPushButton:flat, QToolButton:flat{ + background-color: transparent; + border: 1px solid transparent; /* no border for a flat button */ +} + +QPushButton:hover, QToolButton:hover{ + border: 1px solid %%ACCENTCOLOR%%; + background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); + color: %%TEXTHIGHLIGHTCOLOR%%; +} +QRadioButton, QCheckBox{ + padding: 2px; + border: 1px solid transparent; + border-radius: 3px; + color: %%TEXTCOLOR%%; +} +QRadioButton::hover, QCheckBox:hover{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%); + border: 1px solid %%ACCENTCOLOR%%; + color: %%TEXTHIGHLIGHTCOLOR%%; +} +QRadioButton::indicator, QCheckBox::indicator, QGroupBox::indicator{ + border: 1px solid %%TEXTCOLOR%%; +} +QRadioButton::indicator{ + border-radius: 7px; +} +QRadioButton::indicator:checked{ + background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:1, fx:0.5, fy:0.5, stop:0 %%TEXTCOLOR%%, stop:0.25 %%TEXTCOLOR%%, stop:0.25001 transparent); +} +QCheckBox::indicator:checked, QGroupBox::indicator:checked{ + padding: 1px; + background-origin: content; + background-clip: content; + background: %%TEXTCOLOR%%; +} +QCheckBox::indicator:indeterminate, QGroupBox::indicator:indeterminate{ + padding: 1px; + background-origin: content; + background-clip: content; + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0.49 transparent, stop: 0.5 %%TEXTCOLOR%%); +} + +/* PROGRESSBAR */ +QProgressBar{ + background-color: %%ALTBASECOLOR%%; + border: 1px solid %%ACCENTCOLOR%%; + border-radius: 5px; + color: %%TEXTCOLOR%%; + text-align: center; + padding: 1px; +} + QProgressBar::chunk { + background-color: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%HIGHLIGHTCOLOR%%, stop: 1 %%HIGHLIGHTDISABLECOLOR%%); + /*border: 1px solid %%ACCENTDISABLECOLOR%%;*/ + border-radius: 5px; + } +QProgressBar::chunk:vertical{ + margin-left: 2px; + margin-right: 2px; +} +QProgressBar::chunk:horizontal{ + margin-top: 2px; + margin-bottom: 2px; +} + + /* SPINBOX */ +/*QAbstractSpinBox{ + background-color: %%ALTBASECOLOR%%; + border: 1px solid %%ACCENTCOLOR%%; + border-radius: 3px; +} +QAbstractSpinBox:disabled{ + color: %%ACCENTDISABLECOLOR%%; +}*/ +/*QAbstractSpinBox::down-button{ + subcontrol-origin: border; + subcontrol-position: left; + width: 16px; + border-width: 1px; +} +QAbstractSpinBox::up-button{ + subcontrol-origin: border; + subcontrol-position: right; + width: 16px; + border-width: 1px; +}*/ +/* +QAbstractSpinBox::down-arrow{ + border-image: url(":/trolltech/styles/commonstyle/images/left-16.png"); + width: 16px; + height: 16px; +} +QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::down-arrow:off, QAbstractSpinBox::up-arrow:off{ + border-image: url(:/none); +} +QAbstractSpinBox::up-arrow{ + border-image: url(":/trolltech/styles/commonstyle/images/right-16.png"); + width: 16px; + height: 16px; +}*/ diff --git a/src-qt5/core/themes/None.qss.template b/src-qt5/core/themes/None.qss.template new file mode 100644 index 00000000..7d923b1e --- /dev/null +++ b/src-qt5/core/themes/None.qss.template @@ -0,0 +1,118 @@ +/* This is a blank stylesheet to disable the Lumina Themes almost entirely*/ +QWidget{ + font-family: %%FONT%%; + font-size: %%FONTSIZE%%; +} +/* Set the panel appearance for this theme (unless manually customized) */ +QWidget#LuminaPanelColor{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 %%PRIMARYCOLOR%%, stop: 1 %%PRIMARYDISABLECOLOR%%); + border-radius: 5px; +} +QWidget#LuminaBootSplash{ + background: %%BASECOLOR%%; + border-radius: 5px; +} + +/* Set the default canvas appearance for Lumina desktop plugins*/ +/* Default to a non-transparent background for all desktop plugins*/ +LDPlugin{ + background: %%BASECOLOR%%; + border-radius: 5px; +} +/* Now specify which plugins should have a transparent background */ +LDPlugin#applauncher, LDPlugin#desktopview{ + background: transparent; + border-radius: 5px; +} + +LDPlugin#applauncher QToolButton{ +background: transparent; + border: none; + border-radius: 5px; + color: white; +} +LDPlugin#applauncher QToolButton:hover{ + background: %%PRIMARYDISABLECOLOR%%; + border: none; + border-radius: 5px; + color: %%TEXTHIGHLIGHTCOLOR%%; +} + +LDPlugin#desktopview QListWidget{ + background: transparent; + border: 1px solid transparent; +} +LDPlugin#desktopview QListWidget::item{ + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 transparent, + stop: 0.7 transparent, + stop: 1.0 %%PRIMARYDISABLECOLOR%%); + border-radius: 5px; + color: %%TEXTCOLOR%%; +} + +LDPlugin#desktopview QListWidget::item:hover{ + background: %%PRIMARYDISABLECOLOR%%; + border-radius: 5px; + color: %%TEXTHIGHLIGHTCOLOR%%; +} +/*For the special widgets on the user button*/ +UserItemWidget, ItemWidget{ + background: transparent; + border-radius: 3px; +} +UserItemWidget:hover, ItemWidget:hover{ + background: %%HIGHLIGHTCOLOR%%; + color: %%TEXTHIGHLIGHTCOLOR%%; +} + +/*Special taskmanager window buttons: based on window state*/ +LTBWidget{ + border: 1px solid transparent; + border-radius: 3px; +} +LTBWidget::menu-indicator{ image: none; } /*disable the menu arrow*/ +LTBWidget#WindowVisible{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.3 %%SECONDARYCOLOR%%, stop: 1 transparent); +} +LTBWidget#WindowInvisible{ + /* Primary color is used for the panel appearance, so use that to make it disappear*/ + background: transparent; +} +LTBWidget#WindowActive{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.3 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 transparent); +} +LTBWidget#WindowAttention{ + background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 1.1, stop: 0.3 %%HIGHLIGHTCOLOR%%, stop: 1 transparent); +} +LTBWidget:hover, LTBWidget#WindowVisible:hover, LTBWidget#WindowInvisible:hover, LTBWidget#WindowActive:hover, LTBWidget#WindowAttention:hover{ + background: %%HIGHLIGHTCOLOR%%; + color: %%TEXTHIGHLIGHTCOLOR%%; + border: 1px solid %%ACCENTCOLOR%%; +} + +/* CALENDER WIDGET */ + /* (This is a special hack since there is no official support for stylesheets for this widget) */ + QCalendarWidget QWidget#qt_calendar_navigationbar{ + background-color: %%ALTBASECOLOR%%; + } +QCalendarWidget QWidget{ + background-color: %%BASECOLOR%%; + alternate-background-color: %%HIGHLIGHTDISABLECOLOR%%; + color: %%TEXTCOLOR%%; +} +QCalendarWidget QAbstractButton{ + background-color: transparent; +} +QCalendarWidget QAbstractButton::menu-indicator{ + image: none; +} +QCalendarWidget QAbstractItemView{ + background-color: %%SECONDARYCOLOR%%; + selection-background-color: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %%HIGHLIGHTDISABLECOLOR%%, stop: 1 %%HIGHLIGHTCOLOR%%);; + selection-color: %%TEXTHIGHLIGHTCOLOR%%; +} +QCalendarWidget QWidget#qt_calendar_calendarview{ + background-color: %%ALTBASECOLOR%%; + border: none; +} \ No newline at end of file diff --git a/src-qt5/core/xtrafiles/globs2 b/src-qt5/core/xtrafiles/globs2 new file mode 100644 index 00000000..0a783316 --- /dev/null +++ b/src-qt5/core/xtrafiles/globs2 @@ -0,0 +1,991 @@ +# Fallback "globs2" file from the FreeDesktop mimetype database (9/23/16) +# This is only used if the official database cannot be found on the system +80:application/x-cd-image:*.iso +80:application/x-doom-wad:*.wad +50:text/x-vala:*.vala +50:application/x-nes-rom:*.nez +50:audio/ac3:*.ac3 +50:application/x-mswrite:*.wri +50:application/smil+xml:*.smil +50:text/x-verilog:*.v +50:application/x-qpress:*.qp +50:image/x-exr:*.exr +50:application/x-compress:*.z +50:image/x-jng:*.jng +50:application/oda:*.oda +50:application/vnd.oasis.opendocument.database:*.odb +50:application/vnd.sun.xml.base:*.odb +50:application/vnd.oasis.opendocument.chart:*.odc +50:text/vtt:*.vtt +50:application/x-xz-compressed-tar:*.txz +50:application/vnd.oasis.opendocument.formula:*.odf +50:application/vnd.oasis.opendocument.formula:*.odf +50:application/vnd.oasis.opendocument.graphics:*.odg +50:application/vnd.oasis.opendocument.graphics:*.odg +50:text/x-ldif:*.ldif +50:application/vnd.oasis.opendocument.image:*.odi +50:image/jp2:*.jp2 +50:application/x-oleo:*.oleo +50:application/oxps:*.xps +50:application/vnd.oasis.opendocument.text-master:*.odm +50:application/vnd.oasis.opendocument.text-master:*.odm +50:application/x-ruby:*.rb +50:audio/vnd.rn-realaudio:*.ra +50:application/x-mimearchive:*.mht +50:application/vnd.oasis.opendocument.presentation:*.odp +50:application/vnd.oasis.opendocument.presentation:*.odp +50:application/x-raw-disk-image-xz-compressed:*.raw-disk-image.xz +50:application/vnd.oasis.opendocument.spreadsheet:*.ods +50:application/vnd.oasis.opendocument.spreadsheet:*.ods +50:application/vnd.oasis.opendocument.text:*.odt +50:application/vnd.oasis.opendocument.text:*.odt +50:image/x-portable-bitmap:*.pbm +50:application/x-egon:*.egon +50:application/x-font-pcf:*.pcf.z +50:application/x-xliff:*.xliff +50:application/vnd.rn-realmedia:*.rm +50:application/x-abiword:*.abw +50:image/vnd.rn-realpix:*.rp +50:image/x-sigma-x3f:*.x3f +50:video/webm:*.webm +50:text/rust:*.rs +50:text/vnd.rn-realtext:*.rt +50:image/webp:*.webp +50:application/x-cpio:*.cpio +50:audio/midi:*.mid +50:application/x-mif:*.mif +50:video/vnd.rn-realvideo:*.rv +50:application/vnd.google-earth.kml+xml:*.kml +50:image/x-3ds:*.3ds +50:image/x-photo-cd:*.pcd +50:application/x-pc-engine-rom:*.pce +50:application/x-font-pcf:*.pcf +50:application/x-cisco-vpn-settings:*.pcf +50:model/vrml:*.wrl +50:text/x-fortran:*.f95 +50:text/plain:*.txt +50:image/x-xpixmap:*.xpm +50:application/vnd.hp-pcl:*.pcl +50:application/x-trash:*.bak +50:application/vnd.openxmlformats-officedocument.presentationml.template:*.potx +50:application/vnd.openxmlformats-officedocument.presentationml.template:*.potx +50:application/x-sms-rom:*.sg +50:application/x-shellscript:*.sh +50:model/vrml:*.vrml +50:text/vcard:*.vcard +50:image/x-skencil:*.sk +50:image/x-pict:*.pct +50:video/3gpp2:*.3g2 +50:text/x-vala:*.vapi +50:application/x-sharedlib:*.so +50:application/x-tzo:*.tzo +50:video/x-javafx:*.fxm +50:image/jpeg:*.jpe +50:audio/x-aifc:*.aifc +50:application/x-lzma-compressed-tar:*.tar.lzma +50:x-epoc/x-sisx-app:*.sisx +50:audio/x-aiff:*.aiff +50:audio/x-aifc:*.aiffc +50:image/jp2:*.jpf +50:application/x-hdf:*.hdf4 +50:application/x-hdf:*.hdf5 +50:application/x-aportisdoc:*.pdb +50:application/vnd.palm:*.pdb +50:application/x-aportisdoc:*.pdc +50:application/x-profile:gmon.out +50:application/x-jbuilder-project:*.jpr +50:application/pdf:*.pdf +50:application/x-bzpdf:*.pdf.bz2 +50:application/x-theme:*.theme +50:image/jpeg:*.jpg +50:application/x-raw-disk-image-xz-compressed:*.img.xz +50:application/x-jbuilder-project:*.jpx +50:image/jp2:*.jpx +50:text/x-svsrc:*.sv +50:image/x-quicktime:*.qtif +50:image/x-kodak-k25:*.k25 +50:text/x-scheme:*.ss +50:application/vnd.openxmlformats-officedocument.presentationml.presentation:*.pptx +50:application/vnd.openxmlformats-officedocument.presentationml.presentation:*.pptx +50:application/x-ace:*.ace +50:image/vnd.zbrush.pcx:*.pcx +50:text/x-adasrc:*.ads +50:text/x-tcl:*.tk +50:text/x-changelog:changelog +50:audio/flac:*.flac +50:text/x-adasrc:*.adb +50:text/html:*.htm +50:text/x-google-video-pointer:*.gvp +50:text/troff:*.tr +50:audio/x-matroska:*.mka +50:text/vnd.trolltech.linguist:*.ts +50:video/mp2t:*.ts +50:application/x-cb7:*.cb7 +50:text/x-vhdl:*.vhdl +50:audio/ogg:*.oga +50:audio/x-vorbis+ogg:*.oga +50:audio/x-flac+ogg:*.oga +50:audio/x-speex+ogg:*.oga +50:application/xslt+xml:*.xsl +50:application/x-saturn-rom:*.iso +50:application/x-wii-rom:*.iso +50:application/x-gamecube-rom:*.iso +50:application/atom+xml:*.atom +50:video/3gpp:*.3ga +50:application/x-kontour:*.kon +50:audio/ogg:*.ogg +50:video/ogg:*.ogg +50:audio/x-vorbis+ogg:*.ogg +50:audio/x-flac+ogg:*.ogg +50:audio/x-speex+ogg:*.ogg +50:video/x-theora+ogg:*.ogg +50:image/x-pentax-pef:*.pef +50:application/vnd.ms-cab-compressed:*.cab +50:text/markdown:*.mkd +50:application/rdf+xml:*.rdfs +50:application/x-zoo:*.zoo +50:video/x-ogm+ogg:*.ogm +50:text/x-rpm-spec:*.spec +50:application/x-x509-ca-cert:*.pem +50:video/3gpp2:*.3gp2 +50:application/x-xpinstall:*.xpi +50:video/x-matroska:*.mkv +50:application/ram:*.ram +50:application/x-designer:*.ui +50:application/x-gtk-builder:*.ui +50:audio/x-wavpack-correction:*.wvc +50:video/ogg:*.ogv +50:application/vnd.tcpdump.pcap:*.cap +50:application/ogg:*.ogx +50:application/x-rar:*.rar +50:application/x-xbel:*.xbel +50:application/jrd+json:*.jrd +50:application/vnd.ms-tnef:*.tnef +50:image/x-panasonic-raw:*.raw +50:video/3gpp:*.3gp +50:audio/vnd.rn-realaudio:*.rax +50:text/x-python:*.wsgi +50:application/x-7z-compressed:*.7z +50:audio/x-wavpack:*.wvp +50:image/x-cmu-raster:*.ras +50:application/x-font-type1:*.pfa +50:application/x-font-type1:*.pfb +50:application/x-kpovmodeler:*.kpm +50:text/x-ocaml:*.mli +50:image/x-fuji-raf:*.raf +50:application/ld+json:*.jsonld +50:audio/x-ms-asx:*.wvx +50:application/x-kpresenter:*.kpr +50:application/x-font-bdf:*.bdf +50:application/x-cd-image:*.iso9660 +50:application/x-kpresenter:*.kpt +50:text/x-eiffel:*.e +50:application/x-font-afm:*.afm +50:text/x-nfo:*.nfo +50:image/x-compressed-xcf:*.xcf.bz2 +50:text/x-cobol:*.cbl +50:video/mp2t:*.bdm +50:video/quicktime:*.moov +50:text/x-texinfo:*.texi +50:application/x-wwf:*.wwf +50:application/x-cbr:*.cbr +50:application/pkcs12:*.pfx +50:application/metalink+xml:*.metalink +50:application/x-cbt:*.cbt +50:video/mpeg:[0-9][0-9][0-9].vdr +50:application/x-perl:*.perl +50:application/vnd.mozilla.xul+xml:*.xul +50:application/x-cbz:*.cbz +50:text/x-log:*.log +50:application/x-smaf:*.mmf +50:application/javascript:*.jsm +50:text/x-meson:meson_options.txt +50:application/x-gba-rom:*.agb +50:application/x-hwt:*.hwt +50:text/x-iptables:*.iptables +50:application/mathml+xml:*.mml +50:application/oxps:*.oxps +50:video/mp2t:*.bdmv +50:video/3gpp:*.3gpp +50:application/x-docbook+xml:*.docbook +50:audio/x-mod:*.m15 +50:application/x-chess-pgn:*.pgn +50:audio/x-mo3:*.mo3 +50:application/x-bcpio:*.bcpio +50:application/pgp-encrypted:*.pgp +50:application/pgp-keys:*.pgp +50:application/pgp-signature:*.pgp +50:application/x-bzip-compressed-tar:*.tar.bz +50:application/x-amipro:*.sam +50:application/vnd.google-earth.kmz:*.kmz +50:video/quicktime:*.qt +50:image/x-portable-graymap:*.pgm +50:application/x-krita:*.kra +50:application/x-dar:*.dar +50:application/vnd.wordperfect:*.wp +50:image/vnd.wap.wbmp:*.wbmp +50:application/x-spss-sav:*.sav +50:text/x-scons:sconstruct +50:video/x-msvideo:*.divx +50:audio/x-wavpack:*.wv +50:application/xhtml+xml:*.xhtml +50:video/x-mng:*.mng +50:text/x-uuencode:*.uue +50:image/x-pict:*.pict1 +50:image/x-pict:*.pict2 +50:image/x-bzeps:*.eps.bz2 +50:application/x-n64-rom:*.z64 +50:audio/x-musepack:*.mp+ +50:text/x-c++hdr:*.hxx +50:application/rdf+xml:*.rdf +50:application/x-netcdf:*.cdf +50:application/vnd.rn-realmedia:*.rmvb +50:application/x-dbf:*.dbf +50:audio/mp2:*.mp2 +50:video/mpeg:*.mp2 +50:application/vnd.lotus-1-2-3:*.123 +50:application/x-php:*.php +50:application/x-font-pcf:*.pcf.gz +50:audio/mpeg:*.mp3 +50:video/mp4:*.mp4 +50:text/x-python:*.py +50:audio/x-minipsf:*.minipsf +50:audio/x-xm:*.xm +50:application/vnd.corel-draw:*.cdr +50:audio/x-xi:*.xi +50:image/x-xwindowdump:*.xwd +50:application/x-desktop:*.desktop +50:application/x-bzip-compressed-tar:*.tb2 +50:text/x-tex:*.latex +50:text/x-moc:*.moc +50:audio/x-mod:*.mod +50:application/vnd.openxmlformats-officedocument.presentationml.slideshow:*.ppsx +50:application/x-docbook+xml:*.dbk +50:text/x-mof:*.mof +50:application/x-xz:*.xz +50:application/vnd.ms-excel.sheet.binary.macroEnabled.12:*.xlsb +50:application/vnd.ms-excel.sheet.binary.macroenabled.12:*.xlsb +50:application/x-kspread:*.ksp +50:audio/x-aiff:*.aif +50:text/markdown:*.markdown +50:text/vcard:*.gcrd +50:application/x-php:*.php3 +50:application/x-php:*.php4 +50:application/x-php:*.php5 +50:text/x-reject:*.rej +50:application/vnd.ms-excel.sheet.macroEnabled.12:*.xlsm +50:application/vnd.ms-excel.sheet.macroenabled.12:*.xlsm +50:video/mp2t:*.m2ts +50:text/x-ms-regedit:*.reg +50:application/vnd.openxmlformats-officedocument.wordprocessingml.document:*.docx +50:application/vnd.openxmlformats-officedocument.wordprocessingml.document:*.docx +50:text/x-dcl:*.dcl +50:application/dicom:*.dcm +50:video/vnd.mpegurl:*.m1u +50:text/x-scheme:*.scm +50:application/x-qtiplot:*.qti.gz +50:application/pkix-cert:*.cer +50:image/x-kodak-dcr:*.dcr +50:application/x-tar:*.tar +50:text/x-patch:*.patch +50:text/x-scala:*.scala +50:image/vnd.djvu:*.djvu +50:audio/x-musepack:*.mpc +50:video/quicktime:*.mov +50:video/mpeg:*.mpe +50:application/x-tarz:*.taz +50:application/x-trash:*.old +50:video/mpeg:*.mpg +50:video/mp2t:*.mpl +50:application/vnd.stardivision.draw:*.sda +50:application/vnd.stardivision.calc:*.sdc +50:text/x-mrml:*.mrml +50:application/vnd.stardivision.impress:*.sdd +50:audio/x-musepack:*.mpp +50:application/vnd.ms-excel.template.macroEnabled.12:*.xltm +50:application/vnd.ms-excel.template.macroenabled.12:*.xltm +50:video/mp4:*.lrv +50:video/mp2t:*.m2t +50:image/x-gzeps:*.epsf.gz +50:application/x-lrzip:*.lrz +50:video/3gpp2:*.3gpp2 +50:image/jpeg:*.jpeg +50:application/mbox:*.mbox +50:application/vnd.stardivision.impress:*.sdp +50:application/sdp:*.sdp +50:audio/x-mpegurl:*.m3u8 +50:application/vnd.apple.mpegurl:*.m3u8 +50:application/vnd.stardivision.chart:*.sds +50:image/x-dds:*.dds +50:application/x-kugar:*.kud +50:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:*.xlsx +50:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:*.xlsx +50:application/vnd.stardivision.writer:*.sdw +50:application/x-fictionbook+xml:*.fb2 +50:application/x-xzpdf:*.pdf.xz +50:text/x-copying:copying +50:application/x-bzip-compressed-tar:*.tbz +50:application/zlib:*.zz +50:application/x-lrzip-compressed-tar:*.tar.lrz +50:text/x-bibtex:*.bib +50:image/x-rgb:*.rgb +50:application/x-gzpostscript:*.ps.gz +50:application/x-gameboy-rom:*.cgb +50:application/x-php:*.phps +50:application/vnd.debian.binary-package:*.deb +50:application/x-qw:*.qif +50:image/x-quicktime:*.qif +50:audio/x-mpegurl:*.m3u +50:application/vnd.apple.mpegurl:*.m3u +50:application/vnd.openxmlformats-officedocument.spreadsheetml.template:*.xltx +50:application/vnd.openxmlformats-officedocument.spreadsheetml.template:*.xltx +50:text/x-c++src:*.c++ +50:application/x-ccmx:*.ccmx +50:application/vnd.coffeescript:*.coffee +50:application/octet-stream:*.bin +50:application/x-saturn-rom:*.bin +50:application/smil+xml:*.kino +50:application/pgp-keys:*.pkr +50:application/vnd.ms-visio.stencil.macroEnabled.main+xml:*.vssm +50:image/cgm:*.cgm +50:text/x-mup:*.not +50:text/x-tcl:*.tcl +50:audio/mp4:*.m4a +50:application/x-x509-ca-cert:*.der +50:audio/x-m4b:*.m4b +50:application/x-pagemaker:*.pm6 +50:text/x-meson:meson.build +50:application/x-sami:*.sami +50:application/vnd.ms-visio.stencil.main+xml:*.vssx +50:audio/x-iriver-pla:*.pla +50:text/x-mrml:*.mrl +50:application/vnd.nintendo.snes.rom:*.sfc +50:application/xml:*.xsd +50:video/mp4:*.m4v +50:video/mp2t:*.mpls +50:application/x-planperfect:*.pln +50:text/x-tex:*.ltx +50:image/x-minolta-mrw:*.mrw +50:application/metalink4+xml:*.meta4 +50:application/vnd.ms-powerpoint.addin.macroEnabled.12:*.ppam +50:application/vnd.ms-visio.template.macroEnabled.main+xml:*.vstm +50:application/x-compressed-tar:*.tar.gz +50:audio/x-scpls:*.pls +50:application/vnd.ms-htmlhelp:*.chm +50:application/x-hwp:*.hwp +50:application/x-abiword:*.abw.gz +50:application/x-alz:*.alz +50:application/x-kword:*.kwd +50:text/x-lua:*.lua +50:application/vnd.ms-visio.template.main+xml:*.vstx +50:video/vnd.mpegurl:*.m4u +50:text/x-ooc:*.ooc +50:application/x-msi:*.msi +50:application/x-kexiproject-sqlite2:*.kexi +50:application/x-kexiproject-sqlite3:*.kexi +50:video/x-anim:*.anim[1-9j] +50:application/x-pagemaker:*.pmd +50:application/x-abiword:*.zabw +50:application/x-gameboy-rom:*.sgb +50:application/x-kword:*.kwt +50:application/x-go-sgf:*.sgf +50:application/pkcs10:*.p10 +50:image/x-sgi:*.sgi +50:application/pkcs12:*.p12 +50:application/x-blender:*.blender +50:application/vnd.stardivision.writer:*.sgl +50:application/x-msx-rom:*.msx +50:application/x-dia-shape:*.shape +50:application/x-blender:*.blend +50:application/x-blender:*.blend +50:application/x-mimearchive:*.mhtml +50:audio/midi:*.midi +50:application/x-java-jnlp-file:*.jnlp +50:text/x-cmake:cmakelists.txt +50:audio/x-amzxml:*.amz +50:image/x-tga:*.tpic +50:audio/AMR:*.amr +50:text/x-makefile:makefile +50:text/x-scons:sconscript.* +50:text/x-tex:*.tex +50:application/vnd.oasis.opendocument.graphics-flat-xml:*.fodg +50:application/vnd.oasis.opendocument.graphics-flat-xml:*.fodg +50:text/sgml:*.sgm +50:application/x-amiga-disk-format:*.adf +50:image/x-msod:*.msod +50:audio/x-mod:*.mtm +50:image/png:*.png +50:application/vnd.oasis.opendocument.presentation-flat-xml:*.fodp +50:application/vnd.oasis.opendocument.presentation-flat-xml:*.fodp +50:application/x-navi-animation:*.ani +50:application/vnd.oasis.opendocument.spreadsheet-flat-xml:*.fods +50:application/vnd.oasis.opendocument.spreadsheet-flat-xml:*.fods +50:application/vnd.oasis.opendocument.text-flat-xml:*.fodt +50:application/vnd.oasis.opendocument.text-flat-xml:*.fodt +50:application/x-n64-rom:*.n64 +50:application/x-ustar:*.ustar +50:application/x-gameboy-rom:*.gbc +50:application/x-gba-rom:*.gba +50:application/x-java-pack200:*.pack +50:application/dicom:dicomdir +50:application/x-shar:*.shar +50:application/x-shorten:*.shn +50:application/x-genesis-rom:*.32x +50:image/x-portable-anymap:*.pnm +50:application/x-gzdvi:*.dvi.gz +50:application/annodex:*.anx +50:text/html:*.html +50:video/mp2t:*.mts +50:text/x-authors:authors +50:text/x-install:install +50:application/x-quattropro:*.wb1 +50:application/x-quattropro:*.wb2 +50:application/x-quattropro:*.wb3 +50:application/x-gnucash:*.gnucash +50:application/x-perl:*.pod +50:application/x-source-rpm:*.src.rpm +50:image/x-lwo:*.lwo +50:application/x-dia-diagram:*.dia +50:application/vnd.lotus-wordpro:*.lwp +50:application/x-lrzip-compressed-tar:*.tlrz +50:application/x-partial-download:*.wkdownload +50:application/x-glade:*.glade +50:application/pgp-signature:*.sig +50:text/x-qml:*.qml +50:image/x-tga:*.tga +50:audio/prs.sid:*.sid +50:application/x-trash:*.sik +50:application/x-spss-por:*.por +50:application/x-wii-wad:*.wad +50:application/vnd.ms-powerpoint:*.pot +50:text/x-gettext-translation-template:*.pot +50:image/x-lws:*.lws +50:application/x-zip-compressed-fb2:*.fb2.zip +50:text/vcard:*.vcf +50:application/vnd.symbian.install:*.sis +50:application/x-stuffit:*.sit +50:application/x-e-theme:*.etheme +50:application/sieve:*.siv +50:image/bmp:*.bmp +50:application/x-nes-rom:*.unif +50:image/x-skencil:*.sk1 +50:image/openraster:*.ora +50:text/vcard:*.vct +50:application/x-compressed-tar:*.tgz +50:application/x-netshow-channel:*.nsc +50:audio/x-wav:*.wav +50:image/x-olympus-orf:*.orf +50:audio/x-ms-asx:*.wax +50:audio/x-ape:*.ape +50:image/x-lwo:*.lwob +50:text/calendar:*.vcs +50:image/rle:*.rle +50:application/x-siag:*.siag +50:application/vnd.android.package-archive:*.apk +50:image/x-portable-pixmap:*.ppm +50:application/x-lz4:*.lz4 +50:image/x-applix-graphics:*.ag +50:application/illustrator:*.ai +50:application/vnd.ms-powerpoint:*.pps +50:application/vnd.ms-powerpoint:*.ppt +50:application/vnd.ms-powerpoint:*.ppt +50:video/x-nsv:*.nsv +50:application/x-perl:*.al +50:image/x-tga:*.vda +50:text/x-tex:*.cls +50:application/x-archive:*.ar +50:application/vnd.ms-powerpoint:*.ppz +50:application/x-applix-spreadsheet:*.as +50:application/vnd.tcpdump.pcap:*.pcap +50:audio/basic:*.au +50:application/x-applix-word:*.aw +50:image/vnd.djvu:*.djv +50:application/vnd.palm:*.pqa +50:application/xslt+xml:*.xslt +50:application/x-bittorrent:*.torrent +50:image/x-bzeps:*.epsi.bz2 +50:video/quicktime:*.qtvr +50:text/x-mup:*.mup +50:application/x-t602:*.602 +50:application/vnd.rn-realmedia:*.rmj +50:image/tiff:*.tif +50:application/x-lyx:*.lyx +50:application/x-gedcom:*.ged +50:application/vnd.rn-realmedia:*.rmm +50:application/x-gnucash:*.xac +50:text/x-eiffel:*.eif +50:application/x-sv4cpio:*.sv4cpio +50:application/vnd.rn-realmedia:*.rms +50:application/pgp-keys:*.skr +50:application/x-tar:*.gem +50:application/x-genesis-rom:*.gen +50:application/vnd.ms-works:*.wcm +50:application/x-yaml:*.yaml +50:application/vnd.ms-word.template.macroEnabled.12:*.dotm +50:application/vnd.ms-word.template.macroenabled.12:*.dotm +50:application/x-lha:*.lzh +50:application/mxf:*.mxf +50:application/vnd.oasis.opendocument.chart-template:*.otc +50:application/x-mobipocket-ebook:*.prc +50:application/vnd.palm:*.prc +50:application/vnd.oasis.opendocument.formula-template:*.otf +50:application/x-font-otf:*.otf +50:application/vnd.oasis.opendocument.graphics-template:*.otg +50:application/vnd.oasis.opendocument.graphics-template:*.otg +50:application/vnd.oasis.opendocument.text-web:*.oth +50:application/vnd.oasis.opendocument.text-web:*.oth +50:application/relax-ng-compact-syntax:*.rnc +50:application/x-lzop:*.lzo +50:text/x-makefile:gnumakefile +50:application/x-bzip:*.bz +50:application/x-arj:*.arj +50:application/x-spss-sav:*.zsav +50:text/x-c++src:*.cc +50:application/vnd.oasis.opendocument.presentation-template:*.otp +50:application/vnd.oasis.opendocument.presentation-template:*.otp +50:image/fits:*.fits +50:application/vnd.ms-works:*.wdb +50:application/vnd.oasis.opendocument.spreadsheet-template:*.ots +50:application/vnd.oasis.opendocument.spreadsheet-template:*.ots +50:application/vnd.oasis.opendocument.text-template:*.ott +50:application/vnd.oasis.opendocument.text-template:*.ott +50:application/x-partial-download:*.crdownload +50:application/x-tzo:*.tar.lzo +50:application/x-hdf:*.hdf +50:application/x-tarz:*.tar.z +50:application/vnd.rn-realmedia:*.rmx +50:image/x-sony-arw:*.arw +50:image/svg+xml-compressed:*.svgz +50:text/x-csharp:*.cs +50:text/spreadsheet:*.slk +50:image/x-icns:*.icns +50:image/x-xbitmap:*.xbm +50:video/vnd.mpegurl:*.mxu +50:application/xml:*.xbl +50:application/xml:*.rng +50:application/x-pagemaker:*.p65 +50:text/x-opml+xml:*.opml +50:text/plain:*.asc +50:image/vnd.adobe.photoshop:*.psd +50:application/x-font-linux-psf:*.psf +50:audio/x-psf:*.psf +50:text/x-cobol:*.cob +50:application/vnd.ms-asf:*.asf +50:application/vnd.nintendo.snes.rom:*.smc +50:application/vnd.stardivision.mail:*.smd +50:application/x-genesis-rom:*.smd +50:application/x-dc-rom:*.dc +50:application/vnd.stardivision.math:*.smf +50:application/x-apple-diskimage:*.dmg +50:application/smil+xml:*.smi +50:application/x-sami:*.smi +50:text/x-dsrc:*.di +50:application/x-asp:*.asp +50:application/x-gedcom:*.gedcom +50:application/smil+xml:*.sml +50:text/x-ssa:*.ass +50:image/x-xfig:*.fig +50:image/x-tga:*.icb +50:application/vnd.tcpdump.pcap:*.dmp +50:application/x-pocket-word:*.psw +50:application/x-sms-rom:*.sms +50:audio/x-ms-asx:*.asx +50:image/x-xcf:*.xcf +50:text/vnd.sun.j2me.app-descriptor:*.jad +50:video/dv:*.dv +50:application/vnd.openxmlformats-officedocument.wordprocessingml.template:*.dotx +50:application/vnd.openxmlformats-officedocument.wordprocessingml.template:*.dotx +50:image/vnd.microsoft.icon:*.ico +50:application/x-ica:*.ica +50:application/vnd.iccprofile:*.icc +50:text/calendar:*.ics +50:application/x-java-archive:*.jar +50:application/x-gnumeric:*.gnumeric +50:application/vnd.iccprofile:*.icm +50:application/x-sv4crc:*.sv4crc +50:audio/basic:*.snd +50:application/x-lzma:*.lzma +50:application/x-x509-ca-cert:*.cert +50:image/x-adobe-dng:*.dng +50:video/mp2t:*.cpi +50:text/x-vhdl:*.vhd +50:application/x-rpm:*.rpm +50:application/x-bzpostscript:*.ps.bz2 +50:text/x-emacs-lisp:*.el +50:application/xspf+xml:*.xspf +50:text/x-c++src:*.cpp +50:application/vnd.oasis.opendocument.text-master-template:*.otm +50:image/x-canon-cr2:*.cr2 +50:application/x-gnuplot:*.gnuplot +50:application/ecmascript:*.es +50:image/fax-g3:*.g3 +50:text/x-idl:*.idl +50:application/x-pkcs7-certificates:*.p7b +50:application/pkcs7-mime:*.p7c +50:application/andrew-inset:*.ez +50:application/x-desktop:*.kdelnk +50:application/x-lzma-compressed-tar:*.tlz +50:application/vnd.ms-publisher:*.pub +50:text/x-xslfo:*.xslfo +50:application/x-core:core:cs +50:application/x-core:core +50:application/x-trig:*.trig +50:application/pkcs7-mime:*.p7m +50:application/msword:*.doc +50:application/msword:*.doc +50:application/vnd.ms-word:*.doc +50:application/rdf+xml:*.owl +50:text/cache-manifest:*.manifest +50:application/pkcs7-signature:*.p7s +50:image/x-emf:*.emf +50:application/x-fluid:*.fl +50:image/gif:*.gif +50:message/rfc822:*.eml +50:application/owl+xml:*.owx +50:image/ief:*.ief +50:text/x-c++hdr:*.h++ +50:text/x-xslfo:*.fo +50:application/vnd.emusic-emusic_package:*.emp +50:application/msword-template:*.dot +50:text/vnd.graphviz:*.dot +50:application/x-hdf:*.h4 +50:application/x-hdf:*.h5 +50:application/x-nzb:*.nzb +50:text/x-uil:*.uil +50:video/vnd.vivo:*.viv +50:application/vnd.debian.binary-package:*.udeb +50:audio/midi:*.kar +50:video/x-msvideo:*.avf +50:text/csv-schema:*.csvs +50:application/x-pkcs7-certificates:*.spc +50:application/x-font-speedo:*.spd +50:application/x-qtiplot:*.qti +50:application/vnd.ms-excel.addin.macroEnabled.12:*.xlam +50:application/x-tex-gf:*.gf +50:application/vnd.ms-tnef:*.tnf +50:application/x-quicktime-media-link:*.qtl +50:text/x-patch:*.diff +50:application/pkix-crl:*.crl +50:application/vnd.openofficeorg.extension:*.oxt +50:application/vnd.openofficeorg.extension:*.oxt +50:application/x-source-rpm:*.spm +50:application/x-sms-rom:*.gg +50:application/vnd.adobe.flash.movie:*.spl +50:application/x-bzdvi:*.dvi.bz2 +50:application/x-gnuplot:*.gp +50:application/x-gameboy-rom:*.gb +50:application/x-x509-ca-cert:*.crt +50:image/x-sony-sr2:*.sr2 +50:application/x-gz-font-linux-psf:*.psf.gz +50:image/x-canon-crw:*.crw +50:image/x-ilbm:*.iff +50:audio/x-speex:*.spx +50:audio/x-mod:*.ult +50:audio/x-mod:*.669 +50:video/x-flv:*.flv +50:application/x-kivio:*.flw +50:text/vnd.graphviz:*.gv +50:application/gzip:*.gz +50:application/pkix-pkipath:*.pkipath +50:application/vnd.palm:*.oprc +50:audio/AMR-WB:*.awb +50:text/x-genie:*.gs:cs +50:text/x-genie:*.gs +50:video/x-flic:*.flc +50:text/x-go:*.go +50:application/x-cdrdao-toc:*.toc +50:application/x-awk:*.awk +50:application/x-csh:*.csh +50:audio/x-s3m:*.s3m +50:text/x-c++hdr:*.hh +50:application/xml-external-parsed-entity:*.ent +50:application/sql:*.sql +50:image/x-gzeps:*.eps.gz +50:text/x-texinfo:*.texinfo +50:video/x-msvideo:*.avi +50:application/rss+xml:*.rss +50:application/x-ufraw:*.ufraw +50:text/css:*.css +50:text/x-c++hdr:*.hp +50:application/x-ms-wim:*.wim +50:text/csv:*.csv +50:text/x-haskell:*.hs +50:application/x-mobipocket-ebook:*.mobi +50:application/vnd.lotus-1-2-3:*.wk1 +50:audio/annodex:*.axa +50:application/vnd.lotus-1-2-3:*.wk3 +50:application/vnd.lotus-1-2-3:*.wk4 +50:application/x-wais-source:*.src +50:application/rtf:*.rtf +50:image/x-sony-srf:*.srf +50:image/x-ilbm:*.ilbm +50:audio/x-mpegurl:*.vlc +50:application/x-nes-rom:*.unf +50:application/x-smaf:*.smaf +50:audio/x-mod:*.uni +50:video/x-flic:*.fli +50:text/sgml:*.sgml +50:video/annodex:*.axv +50:image/x-kodak-kdc:*.kdc +50:text/x-txt2tags:*.t2t +50:application/x-subrip:*.srt +50:audio/x-it:*.it +50:image/x-eps:*.eps +50:application/x-gzpdf:*.pdf.gz +50:image/x-eps:*.epsf +50:text/richtext:*.rtx +50:image/x-eps:*.epsi +50:application/x-java-jce-keystore:*.jceks +50:application/x-python-bytecode:*.pyc +50:image/x-ilbm:*.lbm +50:video/vnd.vivo:*.vivo +50:text/x-ssa:*.ssa +50:application/x-cue:*.cue +50:audio/vnd.dts.hd:*.dtshd +50:application/x-python-bytecode:*.pyo +50:application/x-windows-themepack:*.themepack +50:video/x-sgi-movie:*.movie +50:text/x-cmake:*.cmake +50:text/x-dsl:*.dsl +50:application/x-trash:*% +50:application/vnd.ms-powerpoint.slide.macroEnabled.12:*.sldm +50:image/x-panasonic-raw2:*.rw2 +50:application/gml+xml:*.gml +50:application/javascript:*.js +50:application/x-markaby:*.mab +50:application/x-gettext-translation:*.gmo +50:image/x-win-bitmap:*.cur +50:text/x-fortran:*.for +50:application/vnd.lotus-1-2-3:*.wks +50:application/vnd.ms-works:*.wks +50:text/x-python:*.pyx +50:application/vnd.openxmlformats-officedocument.presentationml.slide:*.sldx +50:text/x-makefile:*.mak +50:application/x-troff-man:*.man +50:message/x-gnu-rmail:rmail +50:application/vnd.sun.xml.calc.template:*.stc +50:application/vnd.sun.xml.calc.template:*.stc +50:application/vnd.sun.xml.draw.template:*.std +50:application/vnd.sun.xml.draw.template:*.std +50:application/xml-dtd:*.dtd +50:application/x-iwork-keynote-sffkey:*.key +50:application/vnd.sun.xml.impress.template:*.sti +50:application/vnd.sun.xml.impress.template:*.sti +50:application/x-gnucash:*.gnc +50:application/x-abiword:*.abw.crashed +50:application/x-kchart:*.chrt +50:audio/prs.sid:*.psid +50:application/gnunet-directory:*.gnd +50:audio/ogg:*.opus +50:audio/x-opus+ogg:*.opus +50:audio/x-stm:*.stm +50:application/x-bzip:*.bz2 +50:text/x-erlang:*.erl +50:application/epub+zip:*.epub +50:application/x-java-keystore:*.ks +50:video/vnd.rn-realvideo:*.rvx +50:application/x-m4:*.m4 +50:application/vnd.sun.xml.writer.template:*.stw +50:application/vnd.sun.xml.writer.template:*.stw +50:text/x-tex:*.sty +50:audio/vnd.dts:*.dts +50:application/json:*.json +50:text/x-tex:*.dtx +50:application/x-kformula:*.kfo +50:application/json-patch+json:*.json-patch +50:application/x-bzip-compressed-tar:*.tar.bz2 +50:application/x-java:*.class +50:application/x-shared-library-la:*.la +50:text/x-microdvd:*.sub +50:text/x-mpsub:*.sub +50:text/x-subviewer:*.sub +50:application/font-woff:*.woff +50:image/x-macpaint:*.pntg +50:application/winhlp:*.hlp +50:image/tiff:*.tiff +50:audio/x-ms-wma:*.wma +50:text/x-qml:*.qmlproject +50:video/mpeg:*.vob +50:application/vnd.ms-visio.drawing.macroEnabled.main+xml:*.vsdm +50:text/troff:*.roff +50:image/x-sun-raster:*.sun +50:audio/x-voc:*.voc +50:image/x-wmf:*.wmf +50:text/x-scons:sconscript +50:application/x-tar:*.gtar +50:text/vnd.wap.wml:*.wml +50:application/x-par2:*.par2 +50:application/x-par2:*.par2 +50:application/x-cpio-compressed:*.cpio.gz +50:application/vnd.ms-visio.drawing.main+xml:*.vsdx +50:application/vnd.stardivision.writer:*.vor +50:image/x-compressed-xcf:*.xcf.gz +50:text/x-lilypond:*.ly +50:application/x-lzip:*.lz +50:audio/x-psflib:*.psflib +50:video/x-ms-wmv:*.wmv +50:audio/x-ms-asx:*.wmx +50:application/x-it87:*.it87 +50:text/tab-separated-values:*.tsv +50:audio/mp4:*.f4a +50:audio/x-m4b:*.f4b +50:audio/x-tta:*.tta +50:application/x-trash:*~ +50:application/x-font-ttf:*.ttc +50:image/svg+xml:*.svg +50:application/x-kexi-connectiondata:*.kexic +50:application/x-font-ttf:*.ttf +50:application/x-dvi:*.dvi +50:application/vnd.ms-excel:*.xla +50:text/x-java:*.java +50:application/vnd.ms-excel:*.xlc +50:application/vnd.ms-excel:*.xld +50:application/pgp-encrypted:*.gpg +50:application/pgp-keys:*.gpg +50:application/pgp-signature:*.gpg +50:application/x-xliff:*.xlf +50:application/x-gettext-translation:*.mo +50:text/x-modelica:*.mo +50:text/x-svhdr:*.svh +50:application/x-mswinurl:*.url +50:image/x-gzeps:*.epsi.gz +50:application/vnd.ms-access:*.mdb +50:application/vnd.ms-excel:*.xll +50:application/vnd.ms-excel:*.xlm +50:application/vnd.ms-tnef:winmail.dat +50:application/x-kexiproject-shortcut:*.kexis +50:application/x-font-ttx:*.ttx +50:application/x-raw-disk-image:*.raw-disk-image +50:application/vnd.ms-works:*.xlr +50:application/vnd.ms-excel:*.xls +50:application/vnd.ms-excel:*.xls +50:application/vnd.wordperfect:*.wp4 +50:application/vnd.wordperfect:*.wp5 +50:application/vnd.wordperfect:*.wp6 +50:application/vnd.ms-excel:*.xlt +50:application/vnd.ms-excel:*.xlw +50:text/turtle:*.ttl +50:application/mathematica:*.nb +50:application/x-netcdf:*.nc +50:video/mp4:*.f4v +50:application/vnd.adobe.flash.movie:*.swf +50:text/x-makefile:*.mk +50:image/vnd.dwg:*.dwg +50:text/x-setext:*.etx +50:application/x-genesis-rom:*.mdx +50:application/vnd.ms-powerpoint.template.macroEnabled.12:*.potm +50:application/vnd.ms-powerpoint.template.macroenabled.12:*.potm +50:application/x-xz-compressed-tar:*.tar.xz +50:application/x-ms-wim:*.swm +50:video/mpeg:*.mpeg +50:text/x-credits:credits +50:text/x-iMelody:*.ime +50:audio/x-xmf:*.xmf +50:application/x-raw-disk-image:*.img +50:text/x-xmi:*.xmi +50:text/spreadsheet:*.sylk +50:application/x-partial-download:*.part +50:application/xml:*.xml +50:audio/x-mod:*.med +50:text/vnd.wap.wmlscript:*.wmls +50:image/x-bzeps:*.epsf.bz2 +50:application/x-killustrator:*.kil +50:application/pkcs8:*.p8 +50:application/zip:*.zip +50:image/vnd.ms-modi:*.mdi +50:application/x-java-keystore:*.jks +50:text/x-c++src:*.cxx +50:text/x-iMelody:*.imy +50:application/vnd.sun.xml.calc:*.sxc +50:application/vnd.sun.xml.calc:*.sxc +50:application/vnd.sun.xml.draw:*.sxd +50:application/vnd.sun.xml.draw:*.sxd +50:application/x-java-keystore:cacerts +50:application/vnd.sun.xml.writer.global:*.sxg +50:application/vnd.sun.xml.writer.global:*.sxg +50:application/x-graphite:*.gra +50:application/vnd.sun.xml.impress:*.sxi +50:application/vnd.sun.xml.impress:*.sxi +50:video/x-matroska-3d:*.mk3d +50:application/vnd.wordperfect:*.wpd +50:application/vnd.sun.xml.math:*.sxm +50:application/vnd.sun.xml.math:*.sxm +50:application/vnd.ms-powerpoint.slideshow.macroEnabled.12:*.ppsm +50:application/x-wpg:*.wpg +50:application/x-gnuplot:*.gplt +50:image/vnd.dxf:*.dxf +50:application/x-lha:*.lha +50:model/vrml:*.vrm +50:application/vnd.ms-wpl:*.wpl +50:audio/mpeg:*.mpga +50:application/vnd.sun.xml.writer:*.sxw +50:application/vnd.sun.xml.writer:*.sxw +50:application/vnd.wordperfect:*.wpp +50:application/x-n64-rom:*.v64 +50:text/x-c++hdr:*.hpp +50:application/vnd.ms-works:*.wps +50:text/plain:*,v +50:text/markdown:*.md +50:text/x-tex:*.ins +50:text/x-troff-ms:*.ms +50:application/x-tgif:*.obj +50:text/x-c++src:*.C:cs +50:text/x-c++src:*.C +50:text/x-literate-haskell:*.lhs +50:image/x-pict:*.pict +50:text/x-ocaml:*.ml +50:text/x-troff-mm:*.mm +50:application/x-nintendo-ds-rom:*.nds +50:application/x-bzip-compressed-tar:*.tbz2 +50:text/x-qml:*.qmltypes +50:application/x-lhz:*.lhz +50:application/vnd.visio:*.vsd +50:application/x-tex-pk:*.pk +50:application/x-font-type1:*.gsf +50:application/x-perl:*.pl +50:application/x-perl:*.pl +50:application/x-perl:*.pm +50:application/x-pagemaker:*.pm +50:application/vnd.ms-powerpoint.presentation.macroEnabled.12:*.pptm +50:application/vnd.ms-powerpoint.presentation.macroenabled.12:*.pptm +50:text/x-gettext-translation:*.po +50:application/vnd.hp-hpgl:*.hpgl +50:audio/x-gsm:*.gsm +50:application/postscript:*.ps +50:text/x-fortran:*.f90 +50:application/vnd.ms-word.document.macroEnabled.12:*.docm +50:application/vnd.ms-word.document.macroenabled.12:*.docm +50:application/x-yaml:*.yml +50:application/vnd.visio:*.vss +50:application/vnd.visio:*.vst +50:image/x-tga:*.vst +50:application/x-karbon:*.karbon +50:image/x-nikon-nef:*.nef +50:application/vnd.visio:*.vsw +50:application/x-archive:*.a +50:audio/aac:*.aac +50:text/x-csrc:*.c:cs +50:text/x-csrc:*.c +50:application/x-pw:*.pw +50:application/x-magicpoint:*.mgp +50:text/x-ocl:*.ocl +50:application/x-pak:*.pak +50:text/x-chdr:*.h +50:text/x-dsrc:*.d +50:application/x-nes-rom:*.nes +50:application/x-ms-dos-executable:*.exe +50:text/x-objcsrc:*.m +50:text/x-matlab:*.m +50:text/x-troff-me:*.me +50:application/x-object:*.o +50:text/x-fortran:*.f +50:text/x-pascal:*.p +50:text/x-pascal:*.pas +50:video/mp2t:*.clpi +10:application/x-perl:*.t +10:text/troff:*.t +10:text/x-readme:readme* +10:application/pgp-encrypted:*.asc +10:application/pgp-keys:*.asc +10:application/pgp-signature:*.asc +10:text/x-makefile:makefile.* -- cgit