diff options
author | Ken Moore <ken@ixsystems.com> | 2016-11-07 13:52:20 -0500 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2016-11-07 13:52:20 -0500 |
commit | 7ab900e41f5f15adccd573d459a80fe60cf6a044 (patch) | |
tree | 6effe3593f7b9f942fe7aaf5626ebe039262af3b /src-qt5 | |
parent | Convert the ResizeMenu class into it's own files: (diff) | |
download | lumina-7ab900e41f5f15adccd573d459a80fe60cf6a044.tar.gz lumina-7ab900e41f5f15adccd573d459a80fe60cf6a044.tar.bz2 lumina-7ab900e41f5f15adccd573d459a80fe60cf6a044.zip |
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)
Diffstat (limited to 'src-qt5')
101 files changed, 852 insertions, 797 deletions
diff --git a/src-qt5/core-utils/lumina-config/ColorDialog.cpp b/src-qt5/core-utils/lumina-config/ColorDialog.cpp index 860f6069..9dfcc641 100644 --- a/src-qt5/core-utils/lumina-config/ColorDialog.cpp +++ b/src-qt5/core-utils/lumina-config/ColorDialog.cpp @@ -1,7 +1,7 @@ #include "ColorDialog.h" #include "ui_ColorDialog.h" -#include <LuminaUtils.h> +#include <LUtils.h> ColorDialog::ColorDialog(QWidget *parent, LPlugins *plugs, QString colorFilePath) : QDialog(parent), ui(new Ui::ColorDialog){ ui->setupUi(this); //load the designer file diff --git a/src-qt5/core-utils/lumina-config/LPlugins.cpp b/src-qt5/core-utils/lumina-config/LPlugins.cpp index cc19f8e8..e48910c7 100644 --- a/src-qt5/core-utils/lumina-config/LPlugins.cpp +++ b/src-qt5/core-utils/lumina-config/LPlugins.cpp @@ -6,7 +6,7 @@ //=========================================== #include "LPlugins.h" -#include <LuminaUtils.h> +#include <LUtils.h> LPlugins::LPlugins(){ LoadPanelPlugins(); diff --git a/src-qt5/core-utils/lumina-config/ThemeDialog.cpp b/src-qt5/core-utils/lumina-config/ThemeDialog.cpp index de17a3d8..75645448 100644 --- a/src-qt5/core-utils/lumina-config/ThemeDialog.cpp +++ b/src-qt5/core-utils/lumina-config/ThemeDialog.cpp @@ -1,7 +1,7 @@ #include "ThemeDialog.h" #include "ui_ThemeDialog.h" -#include <LuminaUtils.h> +#include <LUtils.h> ThemeDialog::ThemeDialog(QWidget *parent, LPlugins *plugs, QString themeFilePath) : QDialog(parent), ui(new Ui::ThemeDialog){ ui->setupUi(this); //load the designer file diff --git a/src-qt5/core-utils/lumina-config/globals.h b/src-qt5/core-utils/lumina-config/globals.h index 2a863bda..0f94785c 100644 --- a/src-qt5/core-utils/lumina-config/globals.h +++ b/src-qt5/core-utils/lumina-config/globals.h @@ -25,10 +25,12 @@ #include <QDialog> #include <QPoint> #include <QCursor> +#include <QMenu> //Now the Lumina Library classes #include <LuminaXDG.h> -#include <LuminaUtils.h> +#include <LUtils.h> +#include <LDesktopUtils.h> #include <LuminaX11.h> #include <LuminaOS.h> #include <LuminaThemes.h> diff --git a/src-qt5/core-utils/lumina-config/lumina-config.pro b/src-qt5/core-utils/lumina-config/lumina-config.pro index 5d6e8db9..fe5494de 100644 --- a/src-qt5/core-utils/lumina-config/lumina-config.pro +++ b/src-qt5/core-utils/lumina-config/lumina-config.pro @@ -10,6 +10,12 @@ target.path = $${L_BINDIR} TEMPLATE = app +#include all the special classes from the Lumina tree +include(../../core/libLumina/LDesktopUtils.pri) #includes LUtils +include(../../core/libLumina/LuminaXDG.pri) +include(../../core/libLumina/LuminaSingleApplication.pri) +include(../../core/libLumina/LuminaThemes.pri) + SOURCES += main.cpp \ mainWindow.cpp \ LPlugins.cpp \ @@ -38,13 +44,6 @@ FORMS += mainWindow.ui \ include("pages/pages.pri") -# RESOURCES+= lumina-config.qrc - -LIBS += -lLuminaUtils - - -DEPENDPATH += ../../core/libLumina - TRANSLATIONS = i18n/lumina-config_af.ts \ i18n/lumina-config_ar.ts \ i18n/lumina-config_az.ts \ diff --git a/src-qt5/core-utils/lumina-config/main.cpp b/src-qt5/core-utils/lumina-config/main.cpp index 8df7db48..b958c10e 100644 --- a/src-qt5/core-utils/lumina-config/main.cpp +++ b/src-qt5/core-utils/lumina-config/main.cpp @@ -7,7 +7,7 @@ #include "mainWindow.h" #include <LuminaOS.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaThemes.h> #include <LuminaSingleApplication.h> #include <LuminaXDG.h> diff --git a/src-qt5/core-utils/lumina-config/pages/page_session_options.cpp b/src-qt5/core-utils/lumina-config/pages/page_session_options.cpp index 91f3a0d0..333f9da8 100644 --- a/src-qt5/core-utils/lumina-config/pages/page_session_options.cpp +++ b/src-qt5/core-utils/lumina-config/pages/page_session_options.cpp @@ -122,12 +122,12 @@ void page_session_options::sessionChangeUserIcon(){ } void page_session_options::sessionResetSys(){ - LUtils::LoadSystemDefaults(); + LDesktopUtils::LoadSystemDefaults(); QTimer::singleShot(500,this, SLOT(LoadSettings()) ); } void page_session_options::sessionResetLumina(){ - LUtils::LoadSystemDefaults(true); //skip OS customizations + LDesktopUtils::LoadSystemDefaults(true); //skip OS customizations QTimer::singleShot(500,this, SLOT(LoadSettings()) ); } diff --git a/src-qt5/core-utils/lumina-search/Worker.cpp b/src-qt5/core-utils/lumina-search/Worker.cpp index 0d50d4b8..677d2b4b 100644 --- a/src-qt5/core-utils/lumina-search/Worker.cpp +++ b/src-qt5/core-utils/lumina-search/Worker.cpp @@ -2,7 +2,7 @@ #include <QTimer> #include <LuminaXDG.h> -#include <LuminaUtils.h> +#include <LUtils.h> Worker::Worker(QObject *parent) : QObject(parent){ //Get the list of all applications and save them in an easily-searchable form diff --git a/src-qt5/core-utils/lumina-search/lumina-search.pro b/src-qt5/core-utils/lumina-search/lumina-search.pro index e42142c6..c0186ce4 100644 --- a/src-qt5/core-utils/lumina-search/lumina-search.pro +++ b/src-qt5/core-utils/lumina-search/lumina-search.pro @@ -10,6 +10,12 @@ target.path = $${L_BINDIR} TEMPLATE = app +#include all the special classes from the Lumina tree +include(../../core/libLumina/LUtils.pri) #includes LUtils +include(../../core/libLumina/LuminaXDG.pri) +include(../../core/libLumina/LuminaSingleApplication.pri) +include(../../core/libLumina/LuminaThemes.pri) + SOURCES += main.cpp \ MainUI.cpp \ Worker.cpp \ @@ -22,10 +28,6 @@ HEADERS += MainUI.h \ FORMS += MainUI.ui \ ConfigUI.ui -LIBS += -lLuminaUtils - -DEPENDPATH += ../libLumina - TRANSLATIONS = i18n/lumina-search_af.ts \ i18n/lumina-search_ar.ts \ i18n/lumina-search_az.ts \ diff --git a/src-qt5/core-utils/lumina-search/main.cpp b/src-qt5/core-utils/lumina-search/main.cpp index 5b2b0479..5eee7c32 100644 --- a/src-qt5/core-utils/lumina-search/main.cpp +++ b/src-qt5/core-utils/lumina-search/main.cpp @@ -6,7 +6,7 @@ #include "MainUI.h" #include <LuminaOS.h> #include <LuminaThemes.h> -#include <LuminaUtils.h> +#include <LUtils.h> //==== INPUT FORMAT ==== // lumina-search [-no-excludes] [-dir [directory]] [-search <term>] diff --git a/src-qt5/core-utils/lumina-xconfig/MainUI.cpp b/src-qt5/core-utils/lumina-xconfig/MainUI.cpp index 2aed4d30..169302ca 100644 --- a/src-qt5/core-utils/lumina-xconfig/MainUI.cpp +++ b/src-qt5/core-utils/lumina-xconfig/MainUI.cpp @@ -8,7 +8,7 @@ #include "ui_MainUI.h" #include <LuminaXDG.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <QTimer> diff --git a/src-qt5/core-utils/lumina-xconfig/ScreenSettings.cpp b/src-qt5/core-utils/lumina-xconfig/ScreenSettings.cpp index 43584a1c..91e1f498 100644 --- a/src-qt5/core-utils/lumina-xconfig/ScreenSettings.cpp +++ b/src-qt5/core-utils/lumina-xconfig/ScreenSettings.cpp @@ -5,7 +5,7 @@ // See the LICENSE file for full details //=========================================== #include "ScreenSettings.h" -#include <LuminaUtils.h> +#include <LUtils.h> #include <QDebug> #include <QSettings> diff --git a/src-qt5/core-utils/lumina-xconfig/lumina-xconfig.pro b/src-qt5/core-utils/lumina-xconfig/lumina-xconfig.pro index a7a34fe9..2fb792d6 100644 --- a/src-qt5/core-utils/lumina-xconfig/lumina-xconfig.pro +++ b/src-qt5/core-utils/lumina-xconfig/lumina-xconfig.pro @@ -8,6 +8,12 @@ target.path = $${L_BINDIR} TEMPLATE = app +#include all the special classes from the Lumina tree +include(../../core/libLumina/LUtils.pri) #includes LUtils +include(../../core/libLumina/LuminaXDG.pri) +include(../../core/libLumina/LuminaSingleApplication.pri) +include(../../core/libLumina/LuminaThemes.pri) + SOURCES += main.cpp \ mainUI.cpp \ ScreenSettings.cpp @@ -17,12 +23,6 @@ HEADERS += mainUI.h \ FORMS += mainUI.ui -# RESOURCES+= lumina-config.qrc - - -LIBS += -lLuminaUtils - -DEPENDPATH += ../libLumina TRANSLATIONS = i18n/lumina-xconfig_af.ts \ i18n/lumina-xconfig_ar.ts \ diff --git a/src-qt5/core-utils/lumina-xconfig/main.cpp b/src-qt5/core-utils/lumina-xconfig/main.cpp index f30486f4..2596bf7a 100644 --- a/src-qt5/core-utils/lumina-xconfig/main.cpp +++ b/src-qt5/core-utils/lumina-xconfig/main.cpp @@ -6,7 +6,7 @@ #include "MainUI.h" #include <LuminaOS.h> #include <LuminaThemes.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaSingleApplication.h> #include "ScreenSettings.h" diff --git a/src-qt5/core/libLumina/colors/Black.qss.colors b/src-qt5/core/colors/Black.qss.colors index b6269188..b6269188 100644 --- a/src-qt5/core/libLumina/colors/Black.qss.colors +++ b/src-qt5/core/colors/Black.qss.colors diff --git a/src-qt5/core/libLumina/colors/Blue-Light.qss.colors b/src-qt5/core/colors/Blue-Light.qss.colors index 5bcb85f6..5bcb85f6 100644 --- a/src-qt5/core/libLumina/colors/Blue-Light.qss.colors +++ b/src-qt5/core/colors/Blue-Light.qss.colors diff --git a/src-qt5/core/libLumina/colors/Grey-Dark.qss.colors b/src-qt5/core/colors/Grey-Dark.qss.colors index 207edd04..207edd04 100644 --- a/src-qt5/core/libLumina/colors/Grey-Dark.qss.colors +++ b/src-qt5/core/colors/Grey-Dark.qss.colors diff --git a/src-qt5/core/libLumina/colors/Lumina-Glass.qss.colors b/src-qt5/core/colors/Lumina-Glass.qss.colors index 89534aaa..89534aaa 100644 --- a/src-qt5/core/libLumina/colors/Lumina-Glass.qss.colors +++ b/src-qt5/core/colors/Lumina-Glass.qss.colors diff --git a/src-qt5/core/libLumina/colors/Lumina-Gold.qss.colors b/src-qt5/core/colors/Lumina-Gold.qss.colors index cfad7069..cfad7069 100644 --- a/src-qt5/core/libLumina/colors/Lumina-Gold.qss.colors +++ b/src-qt5/core/colors/Lumina-Gold.qss.colors diff --git a/src-qt5/core/libLumina/colors/Lumina-Green.qss.colors b/src-qt5/core/colors/Lumina-Green.qss.colors index 99f16acb..99f16acb 100644 --- a/src-qt5/core/libLumina/colors/Lumina-Green.qss.colors +++ b/src-qt5/core/colors/Lumina-Green.qss.colors diff --git a/src-qt5/core/libLumina/colors/Lumina-Purple.qss.colors b/src-qt5/core/colors/Lumina-Purple.qss.colors index f2ba7e05..f2ba7e05 100644 --- a/src-qt5/core/libLumina/colors/Lumina-Purple.qss.colors +++ b/src-qt5/core/colors/Lumina-Purple.qss.colors diff --git a/src-qt5/core/libLumina/colors/Lumina-Red.qss.colors b/src-qt5/core/colors/Lumina-Red.qss.colors index f73bdb75..f73bdb75 100644 --- a/src-qt5/core/libLumina/colors/Lumina-Red.qss.colors +++ b/src-qt5/core/colors/Lumina-Red.qss.colors diff --git a/src-qt5/core/libLumina/colors/PCBSD10-Default.qss.colors b/src-qt5/core/colors/PCBSD10-Default.qss.colors index efcea51d..efcea51d 100644 --- a/src-qt5/core/libLumina/colors/PCBSD10-Default.qss.colors +++ b/src-qt5/core/colors/PCBSD10-Default.qss.colors diff --git a/src-qt5/core/libLumina/colors/Solarized-Dark.qss.colors b/src-qt5/core/colors/Solarized-Dark.qss.colors index d4f0f1c9..d4f0f1c9 100644 --- a/src-qt5/core/libLumina/colors/Solarized-Dark.qss.colors +++ b/src-qt5/core/colors/Solarized-Dark.qss.colors diff --git a/src-qt5/core/libLumina/colors/Solarized-Light.qss.colors b/src-qt5/core/colors/Solarized-Light.qss.colors index fead1915..fead1915 100644 --- a/src-qt5/core/libLumina/colors/Solarized-Light.qss.colors +++ b/src-qt5/core/colors/Solarized-Light.qss.colors 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/LuminaUtils.cpp b/src-qt5/core/libLumina/LDesktopUtils.cpp index 0d808d1d..4f8d94ef 100644 --- a/src-qt5/core/libLumina/LuminaUtils.cpp +++ b/src-qt5/core/libLumina/LDesktopUtils.cpp @@ -1,59 +1,20 @@ //=========================================== // Lumina-DE source code -// Copyright (c) 2013-2015, Ken Moore +// Copyright (c) 2012-2016, Ken Moore // Available under the 3-clause BSD license // See the LICENSE file for full details //=========================================== -#include "LuminaUtils.h" +#include "LDesktopUtils.h" -#include <QString> -#include <QFile> -#include <QStringList> -#include <QObject> -#include <QTextCodec> -#include <QDebug> #include <QDesktopWidget> -#include <QImageReader> -#include <QRegExp> -#include <QFuture> -#include <QtConcurrent> +#include <QApplication> #include <QScreen> -#include <LuminaOS.h> -#include <LuminaThemes.h> -#include <LuminaXDG.h> +#include "LuminaThemes.h" 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 LDesktopUtils::LuminaDesktopVersion(){ QString ver = "1.1.1"; #ifdef GIT_VERSION ver.append( QString(" (Git Revision: %1)").arg(GIT_VERSION) ); @@ -61,394 +22,19 @@ QString LUtils::LuminaDesktopVersion(){ return ver; } -QString LUtils::LuminaDesktopBuildDate(){ +QString LDesktopUtils::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<QStringList> 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<QStringList> 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<paths.length(); i++){ - if(QFile::exists(paths[i]+"/"+bin)){ bin = paths[i]+"/"+bin; break;} - } - } - //bin should be the full path by now - if(!bin.startsWith("/")){ return false; } - QFileInfo info(bin); - bool good = (info.exists() && info.isExecutable()); - if(good){ bin = info.absoluteFilePath(); } - return good; -} - -QString LUtils::GenerateOpenTerminalExec(QString term, QString dirpath){ - //Check the input terminal application (default/fallback - determined by calling application) - //if(!LUtils::isValidBinary(term)){ - if(term.endsWith(".desktop")){ - //Pull the binary name out of the shortcut - XDGDesktop DF(term); - if(DF.type == XDGDesktop::BAD){ term = "xterm"; } - else{ term= DF.exec.section(" ",0,0); } //only take the binary name - not any other flags - }else{ - term = "xterm"; //fallback - } - //} - //Now create the calling command for the designated terminal - // NOTE: While the "-e" routine is supposed to be universal, many terminals do not properly use it - // so add some special/known terminals here as necessary - QString exec; - qWarning() << " - Reached terminal initialization" << term; - if(term=="mate-terminal" || term=="lxterminal" || term=="gnome-terminal"){ - exec = term+" --working-directory=\""+dirpath+"\""; - }else if(term=="xfce4-terminal"){ - exec = term+" --default-working-directory=\""+dirpath+"\""; - }else if(term=="konsole" || term == "qterminal"){ - exec = term+" --workdir \""+dirpath+"\""; - }else{ - //-e is the parameter for most of the terminal appliction to execute an external command. - //In this case we start a shell in the selected directory - //Need the user's shell first - QString shell = QString(getenv("SHELL")); - if(!LUtils::isValidBinary(shell)){ shell = "/bin/sh"; } //universal fallback for a shell - exec = term + " -e \"cd " + dirpath + " && " + shell + " \" "; - } - qDebug() << exec; - return exec; -} - -QStringList LUtils::listSubDirectories(QString dir, bool recursive){ - //This is a recursive method for returning the full paths of all subdirectories (if recursive flag is enabled) - QDir maindir(dir); - QStringList out; - QStringList subs = maindir.entryList(QDir::NoDotAndDotDot | QDir::Dirs, QDir::Name); - for(int i=0; i<subs.length(); i++){ - out << maindir.absoluteFilePath(subs[i]); - if(recursive){ - out << LUtils::listSubDirectories(maindir.absoluteFilePath(subs[i]), recursive); - } - } - return out; -} - -QString LUtils::PathToAbsolute(QString path){ - //Convert an input path to an absolute path (this does not check existance ot anything) - if(path.startsWith("/")){ return path; } //already an absolute path - if(path.startsWith("~")){ path.replace(0,1,QDir::homePath()); } - if(!path.startsWith("/")){ - //Must be a relative path - if(path.startsWith("./")){ path = path.remove(2); } - path.prepend( QDir::currentPath()+"/"); - } - return path; -} - -QString LUtils::AppToAbsolute(QString path){ - if(path.startsWith("~/")){ path = path.replace("~/", QDir::homePath()+"/" ); } - if(path.startsWith("/") || QFile::exists(path)){ return path; } - if(path.endsWith(".desktop")){ - //Look in the XDG dirs - QStringList dirs = LXDG::systemApplicationDirs(); - for(int i=0; i<dirs.length(); i++){ - if(QFile::exists(dirs[i]+"/"+path)){ return (dirs[i]+"/"+path); } - } - }else{ - //Look on $PATH for the binary - QStringList paths = QString(getenv("PATH")).split(":"); - for(int i=0; i<paths.length(); i++){ - if(QFile::exists(paths[i]+"/"+path)){ return (paths[i]+"/"+path); } - } - } - return path; -} - -QStringList LUtils::imageExtensions(bool wildcards){ - //Note that all the image extensions are lowercase!! - static QStringList imgExtensions; - if(imgExtensions.isEmpty()){ - QList<QByteArray> fmt = QImageReader::supportedImageFormats(); - for(int i=0; i<fmt.length(); i++){ - if(wildcards){ imgExtensions << "*."+QString::fromLocal8Bit(fmt[i]); } - else{ imgExtensions << QString::fromLocal8Bit(fmt[i]); } - } - } - return imgExtensions; -} - - QTranslator* LUtils::LoadTranslation(QApplication *app, QString appname, QString locale, QTranslator *cTrans){ - //Get the current localization - QString langEnc = "UTF-8"; //default value - QString langCode = locale; //provided locale - if(langCode.isEmpty()){ langCode = getenv("LC_ALL"); } - if(langCode.isEmpty()){ langCode = getenv("LANG"); } - if(langCode.isEmpty()){ langCode = "en_US.UTF-8"; } //default to US english - //See if the encoding is included and strip it out as necessary - if(langCode.contains(".")){ - langEnc = langCode.section(".",-1); - langCode = langCode.section(".",0,0); - } - //Now verify the encoding for the locale - if(langCode =="C" || langCode=="POSIX" || langCode.isEmpty()){ - langEnc = "System"; //use the Qt system encoding - } - if(app !=0){ - qDebug() << "Loading Locale:" << appname << langCode << langEnc; - //If an existing translator was provided, remove it first (will be replaced) - if(cTrans!=0){ app->removeTranslator(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<files.length(); i++){ - files[i].chop(3); //remove the ".qm" on the end - files[i] = files[i].section("_",1,50).simplified(); - } - files << "en_US"; //default locale - files.sort(); - return files; -} - -void LUtils::setLocaleEnv(QString lang, QString msg, QString time, QString num,QString money,QString collate, QString ctype){ - //Adjust the current locale environment variables - bool all = false; - if(msg.isEmpty() && time.isEmpty() && num.isEmpty() && money.isEmpty() && collate.isEmpty() && ctype.isEmpty() ){ - if(lang.isEmpty()){ return; } //nothing to do - no changes requested - all = true; //set everything to the "lang" value - } - //If no lang given, but others are given, then use the current setting - if(lang.isEmpty()){ lang = getenv("LC_ALL"); } - if(lang.isEmpty()){ lang = getenv("LANG"); } - if(lang.isEmpty()){ lang = "en_US"; } - //Now go through and set/unset the environment variables - // - LANG & LC_ALL - if(!lang.contains(".")){ lang.append(".UTF-8"); } - setenv("LANG",lang.toUtf8() ,1); //overwrite setting (this is always required as the fallback) - if(all){ setenv("LC_ALL",lang.toUtf8() ,1); } - else{ unsetenv("LC_ALL"); } //make sure the custom settings are used - // - LC_MESSAGES - if(msg.isEmpty()){ unsetenv("LC_MESSAGES"); } - else{ - if(!msg.contains(".")){ msg.append(".UTF-8"); } - setenv("LC_MESSAGES",msg.toUtf8(),1); - } - // - LC_TIME - if(time.isEmpty()){ unsetenv("LC_TIME"); } - else{ - if(!time.contains(".")){ time.append(".UTF-8"); } - setenv("LC_TIME",time.toUtf8(),1); - } - // - LC_NUMERIC - if(num.isEmpty()){ unsetenv("LC_NUMERIC"); } - else{ - if(!num.contains(".")){ num.append(".UTF-8"); } - setenv("LC_NUMERIC",num.toUtf8(),1); - } - // - LC_MONETARY - if(money.isEmpty()){ unsetenv("LC_MONETARY"); } - else{ - if(!money.contains(".")){ money.append(".UTF-8"); } - setenv("LC_MONETARY",money.toUtf8(),1); - } - // - LC_COLLATE - if(collate.isEmpty()){ unsetenv("LC_COLLATE"); } - else{ - if(!collate.contains(".")){ collate.append(".UTF-8"); } - setenv("LC_COLLATE",collate.toUtf8(),1); - } - // - LC_CTYPE - if(ctype.isEmpty()){ unsetenv("LC_CTYPE"); } - else{ - if(!ctype.contains(".")){ ctype.append(".UTF-8"); } - setenv("LC_CTYPE",ctype.toUtf8(),1); - } -} - -QString LUtils::currentLocale(){ - QString curr = getenv("LC_ALL");// = QLocale::system(); - if(curr.isEmpty()){ curr = getenv("LANG"); } - if(curr.isEmpty()){ curr = "en_US"; } - curr = curr.section(".",0,0); //remove any encodings off the end - return curr; -} - -double LUtils::DisplaySizeToBytes(QString num){ - //qDebug() << "Convert Num to Bytes:" << num; - num = num.toLower().simplified(); - num = num.remove(" "); - if(num.isEmpty()){ return 0.0; } - if(num.endsWith("b")){ num.chop(1); } //remove the "bytes" marker (if there is one) - QString lab = "b"; - if(!num[num.size()-1].isNumber()){ - lab = num.right(1); num.chop(1); - } - double N = num.toDouble(); - QStringList labs; labs <<"b"<<"k"<<"m"<<"g"<<"t"<<"p"; //go up to petabytes for now - for(int i=0; i<labs.length(); i++){ - if(lab==labs[i]){ break; }//already at the right units - break out - N = N*1024.0; //Move to the next unit of measurement - } - //qDebug() << " - Done:" << QString::number(N) << lab << num; - return N; -} - -QString LUtils::BytesToDisplaySize(qint64 ibytes){ - static QStringList labs = QStringList(); - if(labs.isEmpty()){ labs << "B" << "K" << "M" << "G" << "T" << "P"; } - //Now get the dominant unit - int c=0; - double bytes = ibytes; //need to keep decimel places for calculations - while(bytes>=1000 && c<labs.length() ){ - bytes = bytes/1024; - c++; - } //labs[c] is the unit - //Bytes are now - //Now format the number (up to 3 digits, not including decimel places) - QString num; - if(bytes>=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() ); +bool LDesktopUtils::validQuickPlugin(QString ID){ + return ( !LDesktopUtils::findQuickPluginFile(ID).isEmpty() ); } -QString LUtils::findQuickPluginFile(QString ID){ +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"; @@ -458,7 +44,7 @@ QString LUtils::findQuickPluginFile(QString ID){ return ""; //could not be found } -QStringList LUtils::listQuickPlugins(){ +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"); @@ -471,7 +57,7 @@ QStringList LUtils::listQuickPlugins(){ return files; } -QStringList LUtils::infoQuickPlugin(QString ID){ //Returns: [Name, Description, Icon] +QStringList LDesktopUtils::infoQuickPlugin(QString ID){ //Returns: [Name, Description, Icon] //qDebug() << "Find Quick Info:" << ID; QString path = findQuickPluginFile(ID); //qDebug() << " - path:" << path; @@ -492,7 +78,7 @@ QStringList LUtils::infoQuickPlugin(QString ID){ //Returns: [Name, Description, return info; } -QStringList LUtils::listFavorites(){ +QStringList LDesktopUtils::listFavorites(){ static QDateTime lastRead; QDateTime cur = QDateTime::currentDateTime(); if(lastRead.isNull() || lastRead<QFileInfo( QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/favorites.list").lastModified()){ @@ -505,22 +91,22 @@ QStringList LUtils::listFavorites(){ return fav; } -bool LUtils::saveFavorites(QStringList list){ +bool LDesktopUtils::saveFavorites(QStringList list){ list.removeDuplicates(); bool ok = LUtils::writeFile(QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/favorites.list", list, true); if(ok){ fav = list; } //also save internally in case of rapid write/read of the file return ok; } -bool LUtils::isFavorite(QString path){ - QStringList fav = LUtils::listFavorites(); +bool LDesktopUtils::isFavorite(QString path){ + QStringList fav = LDesktopUtils::listFavorites(); for(int i=0; i<fav.length(); i++){ if(fav[i].endsWith("::::"+path)){ return true; } } return false; } -bool LUtils::addFavorite(QString path, QString name){ +bool LDesktopUtils::addFavorite(QString path, QString name){ //Generate the type of favorite this is QFileInfo info(path); QString type; @@ -530,30 +116,30 @@ bool LUtils::addFavorite(QString path, QString name){ //Assign a name if none given if(name.isEmpty()){ name = info.fileName(); } //Now add it to the list - QStringList favs = LUtils::listFavorites(); + QStringList favs = LDesktopUtils::listFavorites(); bool found = false; for(int i=0; i<favs.length(); i++){ if(favs[i].endsWith("::::"+path)){ favs[i] = name+"::::"+type+"::::"+path; } } if(!found){ favs << name+"::::"+type+"::::"+path; } - return LUtils::saveFavorites(favs); + return LDesktopUtils::saveFavorites(favs); } -void LUtils::removeFavorite(QString path){ - QStringList fav = LUtils::listFavorites(); +void LDesktopUtils::removeFavorite(QString path){ + QStringList fav = LDesktopUtils::listFavorites(); bool changed = false; for(int i=0; i<fav.length(); i++){ if(fav[i].endsWith("::::"+path)){ fav.removeAt(i); i--; changed=true;} } - if(changed){ LUtils::saveFavorites(fav); } + if(changed){ LDesktopUtils::saveFavorites(fav); } } -void LUtils::upgradeFavorites(int fromoldversionnumber){ +void LDesktopUtils::upgradeFavorites(int fromoldversionnumber){ /*if(fromoldversionnumber <= 8004){ // < pre-0.8.4>, 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 + QStringList favfile = LDesktopUtils::listFavorites(); //just in case some already exist bool newentry = false; for(int i=0; i<symlinks.length(); i++){ if(!symlinks[i].isSymLink()){ continue; } //not a symlink @@ -570,13 +156,13 @@ void LUtils::upgradeFavorites(int fromoldversionnumber){ newentry = true; } if(newentry){ - LUtils::saveFavorites(favfile); + LDesktopUtils::saveFavorites(favfile); } }*/ //end check for version <= 0.8.4 } -void LUtils::LoadSystemDefaults(bool skipOS){ +void LDesktopUtils::LoadSystemDefaults(bool skipOS){ //Will create the Lumina configuration files based on the current system template (if any) qDebug() << "Loading System Defaults"; QStringList sysDefaults; @@ -605,7 +191,7 @@ void LUtils::LoadSystemDefaults(bool skipOS){ 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(); + sesset << "DesktopVersion="+LDesktopUtils::LuminaDesktopVersion(); for(int i=0; i<tmp.length(); i++){ if(tmp[i].startsWith("#") || !tmp[i].contains("=") ){ continue; } QString var = tmp[i].section("=",0,0).toLower().simplified(); @@ -616,7 +202,7 @@ void LUtils::LoadSystemDefaults(bool skipOS){ if(var.contains(".")){ var.replace(".","_"); } //Now parse the variable and put the value in the proper file - if(var.contains("_default_")){ val = AppToAbsolute(val); } //got an application/binary + if(var.contains("_default_")){ val = LUtils::AppToAbsolute(val); } //got an application/binary //Special handling for values which need to exist first if(var.endsWith("_ifexists") ){ var = var.remove("_ifexists"); //remove this flag from the variable @@ -670,7 +256,7 @@ void LUtils::LoadSystemDefaults(bool skipOS){ //Change in 0.8.5 - use "_" instead of "." within variables names - need backwards compat for a little while if(var.contains(".")){ var.replace(".","_"); } //Now parse the variable and put the value in the proper file - val = AppToAbsolute(val); + val = LUtils::AppToAbsolute(val); //Special handling for values which need to exist first if(var.endsWith("_ifexists") ){ var = var.remove("_ifexists"); //remove this flag from the variable @@ -766,10 +352,10 @@ void LUtils::LoadSystemDefaults(bool skipOS){ if(var.contains(".")){ var.replace(".","_"); } //Now parse the variable and put the value in the proper file qDebug() << "Favorite entry:" << var << val; - val = AppToAbsolute(val); //turn any relative files into absolute - if(var=="favorites_add_ifexists" && QFile::exists(val)){ qDebug() << " - Exists/Adding:"; LUtils::addFavorite(val); } - else if(var=="favorites_add"){ qDebug() << " - Adding:"; LUtils::addFavorite(val); } - else if(var=="favorites_remove"){ qDebug() << " - Removing:"; LUtils::removeFavorite(val); } + val = LUtils::AppToAbsolute(val); //turn any relative files into absolute + if(var=="favorites_add_ifexists" && QFile::exists(val)){ qDebug() << " - Exists/Adding:"; LDesktopUtils::addFavorite(val); } + else if(var=="favorites_add"){ qDebug() << " - Adding:"; LDesktopUtils::addFavorite(val); } + else if(var=="favorites_remove"){ qDebug() << " - Removing:"; LDesktopUtils::removeFavorite(val); } } // -- QUICKLAUNCH -- @@ -783,7 +369,7 @@ void LUtils::LoadSystemDefaults(bool skipOS){ //Change in 0.8.5 - use "_" instead of "." within variables names - need backwards compat for a little while if(var.contains(".")){ var.replace(".","_"); } //Now parse the variable and put the value in the proper file - val = AppToAbsolute(val); //turn any relative files into absolute + val = LUtils::AppToAbsolute(val); //turn any relative files into absolute if(var=="quicklaunch_add_ifexists" && QFile::exists(val)){ quickL << val; } else if(var=="quicklaunch_add"){ quickL << val; } } @@ -876,12 +462,12 @@ void LUtils::LoadSystemDefaults(bool skipOS){ } -bool LUtils::checkUserFiles(QString lastversion){ +bool LDesktopUtils::checkUserFiles(QString lastversion){ //internal version conversion examples: // [1.0.0 -> 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()); + 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 @@ -892,11 +478,11 @@ bool LUtils::checkUserFiles(QString lastversion){ 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(); + LDesktopUtils::LoadSystemDefaults(); } //Convert the favorites framework as necessary (change occured with 0.8.4) if(newversion || newrelease){ - LUtils::upgradeFavorites(oldversion); + LDesktopUtils::upgradeFavorites(oldversion); } //Convert from the old desktop numbering system to the new one (change occured with 1.0.1) if(oldversion<=1000001){ @@ -949,7 +535,7 @@ bool LUtils::checkUserFiles(QString lastversion){ return (firstrun || newversion || newrelease); } -int LUtils::VersionStringToNumber(QString version){ +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 (<Major>.<Middle>.<Minor>) maj = mid = min = 0; @@ -962,102 +548,3 @@ int LUtils::VersionStringToNumber(QString version){ //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/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 <QString> +#include <QStringList> +#include <QFile> +#include <QDir> +#include <QDateTime> + +//Other classes needed +#include <LUtils.h> +#include <LuminaXDG.h> +#include <LuminaOS.h> + +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: "<name>::::[dir/app/<mimetype>]::::<path>" + // the <name> 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 <QApplication> +#include <QtConcurrent> + +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<QStringList> 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<QStringList> 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<paths.length(); i++){ + if(QFile::exists(paths[i]+"/"+bin)){ bin = paths[i]+"/"+bin; break;} + } + } + //bin should be the full path by now + if(!bin.startsWith("/")){ return false; } + QFileInfo info(bin); + bool good = (info.exists() && info.isExecutable()); + if(good){ bin = info.absoluteFilePath(); } + return good; +} + +QStringList LUtils::systemApplicationDirs(){ + //Returns a list of all the directories where *.desktop files can be found + QStringList appDirs = QString(getenv("XDG_DATA_HOME")).split(":"); + appDirs << QString(getenv("XDG_DATA_DIRS")).split(":"); + if(appDirs.isEmpty()){ appDirs << "/usr/local/share" << "/usr/share" << LOS::AppPrefix()+"/share" << LOS::SysPrefix()+"/share" << L_SHAREDIR; } + appDirs.removeDuplicates(); + //Now create a valid list + QStringList out; + for(int i=0; i<appDirs.length(); i++){ + if( QFile::exists(appDirs[i]+"/applications") ){ + out << appDirs[i]+"/applications"; + //Also check any subdirs within this directory + // (looking at you KDE - stick to the standards!!) + out << LUtils::listSubDirectories(appDirs[i]+"/applications"); + } + } + //qDebug() << "System Application Dirs:" << out; + return out; +} + +QString LUtils::GenerateOpenTerminalExec(QString term, QString dirpath){ + //Check the input terminal application (default/fallback - determined by calling application) + //if(!LUtils::isValidBinary(term)){ + if(term.endsWith(".desktop")){ + //Pull the binary name out of the shortcut + XDGDesktop DF(term); + if(DF.type == XDGDesktop::BAD){ term = "xterm"; } + else{ term= DF.exec.section(" ",0,0); } //only take the binary name - not any other flags + }else{ + term = "xterm"; //fallback + } + //} + //Now create the calling command for the designated terminal + // NOTE: While the "-e" routine is supposed to be universal, many terminals do not properly use it + // so add some special/known terminals here as necessary + QString exec; + qWarning() << " - Reached terminal initialization" << term; + if(term=="mate-terminal" || term=="lxterminal" || term=="gnome-terminal"){ + exec = term+" --working-directory=\""+dirpath+"\""; + }else if(term=="xfce4-terminal"){ + exec = term+" --default-working-directory=\""+dirpath+"\""; + }else if(term=="konsole" || term == "qterminal"){ + exec = term+" --workdir \""+dirpath+"\""; + }else{ + //-e is the parameter for most of the terminal appliction to execute an external command. + //In this case we start a shell in the selected directory + //Need the user's shell first + QString shell = QString(getenv("SHELL")); + if(!LUtils::isValidBinary(shell)){ shell = "/bin/sh"; } //universal fallback for a shell + exec = term + " -e \"cd " + dirpath + " && " + shell + " \" "; + } + qDebug() << exec; + return exec; +} + +QStringList LUtils::listSubDirectories(QString dir, bool recursive){ + //This is a recursive method for returning the full paths of all subdirectories (if recursive flag is enabled) + QDir maindir(dir); + QStringList out; + QStringList subs = maindir.entryList(QDir::NoDotAndDotDot | QDir::Dirs, QDir::Name); + for(int i=0; i<subs.length(); i++){ + out << maindir.absoluteFilePath(subs[i]); + if(recursive){ + out << LUtils::listSubDirectories(maindir.absoluteFilePath(subs[i]), recursive); + } + } + return out; +} + +QString LUtils::PathToAbsolute(QString path){ + //Convert an input path to an absolute path (this does not check existance ot anything) + if(path.startsWith("/")){ return path; } //already an absolute path + if(path.startsWith("~")){ path.replace(0,1,QDir::homePath()); } + if(!path.startsWith("/")){ + //Must be a relative path + if(path.startsWith("./")){ path = path.remove(2); } + path.prepend( QDir::currentPath()+"/"); + } + return path; +} + +QString LUtils::AppToAbsolute(QString path){ + if(path.startsWith("~/")){ path = path.replace("~/", QDir::homePath()+"/" ); } + if(path.startsWith("/") || QFile::exists(path)){ return path; } + if(path.endsWith(".desktop")){ + //Look in the XDG dirs + QStringList dirs = systemApplicationDirs(); + for(int i=0; i<dirs.length(); i++){ + if(QFile::exists(dirs[i]+"/"+path)){ return (dirs[i]+"/"+path); } + } + }else{ + //Look on $PATH for the binary + QStringList paths = QString(getenv("PATH")).split(":"); + for(int i=0; i<paths.length(); i++){ + if(QFile::exists(paths[i]+"/"+path)){ return (paths[i]+"/"+path); } + } + } + return path; +} + +QStringList LUtils::imageExtensions(bool wildcards){ + //Note that all the image extensions are lowercase!! + static QStringList imgExtensions; + if(imgExtensions.isEmpty()){ + QList<QByteArray> fmt = QImageReader::supportedImageFormats(); + for(int i=0; i<fmt.length(); i++){ + if(wildcards){ imgExtensions << "*."+QString::fromLocal8Bit(fmt[i]); } + else{ imgExtensions << QString::fromLocal8Bit(fmt[i]); } + } + } + return imgExtensions; +} + + QTranslator* LUtils::LoadTranslation(QApplication *app, QString appname, QString locale, QTranslator *cTrans){ + //Get the current localization + QString langEnc = "UTF-8"; //default value + QString langCode = locale; //provided locale + if(langCode.isEmpty()){ langCode = getenv("LC_ALL"); } + if(langCode.isEmpty()){ langCode = getenv("LANG"); } + if(langCode.isEmpty()){ langCode = "en_US.UTF-8"; } //default to US english + //See if the encoding is included and strip it out as necessary + if(langCode.contains(".")){ + langEnc = langCode.section(".",-1); + langCode = langCode.section(".",0,0); + } + //Now verify the encoding for the locale + if(langCode =="C" || langCode=="POSIX" || langCode.isEmpty()){ + langEnc = "System"; //use the Qt system encoding + } + if(app !=0){ + qDebug() << "Loading Locale:" << appname << langCode << langEnc; + //If an existing translator was provided, remove it first (will be replaced) + if(cTrans!=0){ app->removeTranslator(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<files.length(); i++){ + files[i].chop(3); //remove the ".qm" on the end + files[i] = files[i].section("_",1,50).simplified(); + } + files << "en_US"; //default locale + files.sort(); + return files; +} + +void LUtils::setLocaleEnv(QString lang, QString msg, QString time, QString num,QString money,QString collate, QString ctype){ + //Adjust the current locale environment variables + bool all = false; + if(msg.isEmpty() && time.isEmpty() && num.isEmpty() && money.isEmpty() && collate.isEmpty() && ctype.isEmpty() ){ + if(lang.isEmpty()){ return; } //nothing to do - no changes requested + all = true; //set everything to the "lang" value + } + //If no lang given, but others are given, then use the current setting + if(lang.isEmpty()){ lang = getenv("LC_ALL"); } + if(lang.isEmpty()){ lang = getenv("LANG"); } + if(lang.isEmpty()){ lang = "en_US"; } + //Now go through and set/unset the environment variables + // - LANG & LC_ALL + if(!lang.contains(".")){ lang.append(".UTF-8"); } + setenv("LANG",lang.toUtf8() ,1); //overwrite setting (this is always required as the fallback) + if(all){ setenv("LC_ALL",lang.toUtf8() ,1); } + else{ unsetenv("LC_ALL"); } //make sure the custom settings are used + // - LC_MESSAGES + if(msg.isEmpty()){ unsetenv("LC_MESSAGES"); } + else{ + if(!msg.contains(".")){ msg.append(".UTF-8"); } + setenv("LC_MESSAGES",msg.toUtf8(),1); + } + // - LC_TIME + if(time.isEmpty()){ unsetenv("LC_TIME"); } + else{ + if(!time.contains(".")){ time.append(".UTF-8"); } + setenv("LC_TIME",time.toUtf8(),1); + } + // - LC_NUMERIC + if(num.isEmpty()){ unsetenv("LC_NUMERIC"); } + else{ + if(!num.contains(".")){ num.append(".UTF-8"); } + setenv("LC_NUMERIC",num.toUtf8(),1); + } + // - LC_MONETARY + if(money.isEmpty()){ unsetenv("LC_MONETARY"); } + else{ + if(!money.contains(".")){ money.append(".UTF-8"); } + setenv("LC_MONETARY",money.toUtf8(),1); + } + // - LC_COLLATE + if(collate.isEmpty()){ unsetenv("LC_COLLATE"); } + else{ + if(!collate.contains(".")){ collate.append(".UTF-8"); } + setenv("LC_COLLATE",collate.toUtf8(),1); + } + // - LC_CTYPE + if(ctype.isEmpty()){ unsetenv("LC_CTYPE"); } + else{ + if(!ctype.contains(".")){ ctype.append(".UTF-8"); } + setenv("LC_CTYPE",ctype.toUtf8(),1); + } +} + +QString LUtils::currentLocale(){ + QString curr = getenv("LC_ALL");// = QLocale::system(); + if(curr.isEmpty()){ curr = getenv("LANG"); } + if(curr.isEmpty()){ curr = "en_US"; } + curr = curr.section(".",0,0); //remove any encodings off the end + return curr; +} + +double LUtils::DisplaySizeToBytes(QString num){ + //qDebug() << "Convert Num to Bytes:" << num; + num = num.toLower().simplified(); + num = num.remove(" "); + if(num.isEmpty()){ return 0.0; } + if(num.endsWith("b")){ num.chop(1); } //remove the "bytes" marker (if there is one) + QString lab = "b"; + if(!num[num.size()-1].isNumber()){ + lab = num.right(1); num.chop(1); + } + double N = num.toDouble(); + QStringList labs; labs <<"b"<<"k"<<"m"<<"g"<<"t"<<"p"; //go up to petabytes for now + for(int i=0; i<labs.length(); i++){ + if(lab==labs[i]){ break; }//already at the right units - break out + N = N*1024.0; //Move to the next unit of measurement + } + //qDebug() << " - Done:" << QString::number(N) << lab << num; + return N; +} + +QString LUtils::BytesToDisplaySize(qint64 ibytes){ + static QStringList labs = QStringList(); + if(labs.isEmpty()){ labs << "B" << "K" << "M" << "G" << "T" << "P"; } + //Now get the dominant unit + int c=0; + double bytes = ibytes; //need to keep decimel places for calculations + while(bytes>=1000 && c<labs.length() ){ + bytes = bytes/1024; + c++; + } //labs[c] is the unit + //Bytes are now + //Now format the number (up to 3 digits, not including decimel places) + QString num; + if(bytes>=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/LuminaUtils.h b/src-qt5/core/libLumina/LUtils.h index 4a0a19af..459fca60 100644 --- a/src-qt5/core/libLumina/LuminaUtils.h +++ b/src-qt5/core/libLumina/LUtils.h @@ -1,6 +1,6 @@ //=========================================== // Lumina-DE source code -// Copyright (c) 2012-2015, Ken Moore +// Copyright (c) 2012-2016, Ken Moore // Available under the 3-clause BSD license // See the LICENSE file for full details //=========================================== @@ -10,6 +10,7 @@ #include <QCoreApplication> #include <QProcess> #include <QTextStream> +#include <QTextCodec> #include <QFile> #include <QDir> #include <QString> @@ -18,17 +19,15 @@ #include <QFileInfo> #include <QObject> #include <QTranslator> -//#include <QApplication> -#include <QMenu> -#include <QMouseEvent> -#include <QSize> -#include <QWidgetAction> +#include <QDebug> +#include <QDesktopWidget> +#include <QImageReader> +#include <QRegExp> +#include <QFuture> +#include <QScreen> 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()); @@ -47,6 +46,9 @@ public: 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); @@ -72,60 +74,5 @@ public: 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: "<name>::::[dir/app/<mimetype>]::::<path>" - // the <name> 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/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 <QDir> #include <QObject> -#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 <QLockFile> #include <QApplication> -#include <LuminaUtils.h> +#include <LUtils.h> //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 <QIcon> #include <QFont> 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/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 <QObject> #include <QTimer> #include <QMediaPlayer> 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/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/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 <LuminaUtils.h> +#include <LUtils.h> +#include <LDesktopUtils.h> //#include "../global.h" #include <unistd.h> 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 <QJsonObject> #include <QJsonArray> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaXDG.h> #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 <LuminaX11.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <unistd.h> //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 <LuminaXDG.h> #include "LSession.h" -#include <LuminaUtils.h> +#include <LUtils.h> #include <QDir> #include <QFileDialog> #include <QInputDialog> 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 <QVBoxLayout> #include "../LDPlugin.h" -#include <LuminaUtils.h> +#include <LUtils.h> 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 <LuminaXDG.h> #include "LSession.h" -#include <LuminaUtils.h> +#include <LUtils.h> #include <QDir> #include <QFileDialog> #include <QInputDialog> 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 <LuminaXDG.h> //from libLuminaUtils #include <LuminaThemes.h> #include <LuminaOS.h> -#include <LuminaUtils.h> +#include <LUtils.h> +#include <LDesktopUtils.h> #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 <QString> #include <QLabel> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaXDG.h> #include <LuminaOS.h> 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: <name>::::[app/dir/<mimetype>]::::<full path> for(int i=0; i<homefiles.length(); i++){ if( !favitems.filter(homefiles[i].canonicalFilePath()).isEmpty() ){ continue; } //duplicate entry diff --git a/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h b/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h index 851d9e35..af9250b7 100644 --- a/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h +++ b/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h @@ -14,7 +14,7 @@ #include <QMenu> #include <QToolButton> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaXDG.h> #include <LuminaX11.h> 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 <QVBoxLayout> #include "../LPPlugin.h" -#include <LuminaUtils.h> +#include <LUtils.h> #include <QDebug> 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 <LuminaUtils.h> +#include <LUtils.h> #include <QMenu> #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 <LuminaXDG.h> -#include <LuminaUtils.h> //This contains the "ResizeMenu" class +#include <LUtils.h> //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 <LuminaXDG.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <ResizeMenu.h> #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) "<name>::::[dir/app/<mimetype>]::::<path>" - 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 <LuminaUtils.h> +#include <LUtils.h> +#include <LDesktopUtils.h> #include <QMenu> #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 <LuminaOS.h> -#include <LuminaUtils.h> +#include <LDesktopUtils.h> +#include <LUtils.h> #include <LuminaXDG.h> #include <QPixmap> @@ -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 <LuminaOS.h> #include <LuminaThemes.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaSingleApplication.h> 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 <QAction> #include <LuminaXDG.h> //From libLuminaUtils -#include <LuminaUtils.h> +#include <LUtils.h> 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 <LuminaXDG.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaOS.h> #include <LuminaThemes.h> 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 <QString> #include "session.h" -#include <LuminaUtils.h> +#include <LUtils.h> +#include <LDesktopUtils.h> #include <LuminaOS.h> #include <LuminaThemes.h> #include <LuminaXDG.h> @@ -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 <QSettings> #include <QDir> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaOS.h> void LSession::stopall(){ diff --git a/src-qt5/core/libLumina/quickplugins/quick-sample.qml b/src-qt5/core/quickplugins/quick-sample.qml index 18b10d77..18b10d77 100644 --- a/src-qt5/core/libLumina/quickplugins/quick-sample.qml +++ b/src-qt5/core/quickplugins/quick-sample.qml diff --git a/src-qt5/core/libLumina/themes/Glass.qss.template b/src-qt5/core/themes/Glass.qss.template index d594d25e..d594d25e 100644 --- a/src-qt5/core/libLumina/themes/Glass.qss.template +++ b/src-qt5/core/themes/Glass.qss.template diff --git a/src-qt5/core/libLumina/themes/Lumina-default.qss.template b/src-qt5/core/themes/Lumina-default.qss.template index 9f03d4ae..9f03d4ae 100644 --- a/src-qt5/core/libLumina/themes/Lumina-default.qss.template +++ b/src-qt5/core/themes/Lumina-default.qss.template diff --git a/src-qt5/core/libLumina/themes/None.qss.template b/src-qt5/core/themes/None.qss.template index 7d923b1e..7d923b1e 100644 --- a/src-qt5/core/libLumina/themes/None.qss.template +++ b/src-qt5/core/themes/None.qss.template diff --git a/src-qt5/core/libLumina/xtrafiles/globs2 b/src-qt5/core/xtrafiles/globs2 index 0a783316..0a783316 100644 --- a/src-qt5/core/libLumina/xtrafiles/globs2 +++ b/src-qt5/core/xtrafiles/globs2 diff --git a/src-qt5/desktop-utils/lumina-calculator/lumina-calculator.pro b/src-qt5/desktop-utils/lumina-calculator/lumina-calculator.pro index 38e22b37..efb9e68c 100644 --- a/src-qt5/desktop-utils/lumina-calculator/lumina-calculator.pro +++ b/src-qt5/desktop-utils/lumina-calculator/lumina-calculator.pro @@ -5,6 +5,12 @@ QT += core gui widgets TARGET = lumina-calculator target.path = $${L_BINDIR} +#include all the special classes from the Lumina tree +include(../../core/libLumina/LUtils.pri) #includes LUtils +include(../../core/libLumina/LuminaXDG.pri) +include(../../core/libLumina/LuminaSingleApplication.pri) +include(../../core/libLumina/LuminaThemes.pri) + HEADERS += mainUI.h \ EqValidator.h @@ -13,10 +19,6 @@ SOURCES += main.cpp \ FORMS += mainUI.ui -LIBS += -lLuminaUtils - -DEPENDPATH += ../../libLumina - TRANSLATIONS = i18n/l-calc_af.ts \ i18n/l-calc_ar.ts \ i18n/l-calc_az.ts \ diff --git a/src-qt5/desktop-utils/lumina-calculator/main.cpp b/src-qt5/desktop-utils/lumina-calculator/main.cpp index ea1ae60c..da57763a 100644 --- a/src-qt5/desktop-utils/lumina-calculator/main.cpp +++ b/src-qt5/desktop-utils/lumina-calculator/main.cpp @@ -8,7 +8,7 @@ #include <QDebug> #include <LuminaThemes.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include "mainUI.h" diff --git a/src-qt5/desktop-utils/lumina-calculator/mainUI.cpp b/src-qt5/desktop-utils/lumina-calculator/mainUI.cpp index 3da9ba6d..fcc39fd2 100644 --- a/src-qt5/desktop-utils/lumina-calculator/mainUI.cpp +++ b/src-qt5/desktop-utils/lumina-calculator/mainUI.cpp @@ -10,8 +10,9 @@ #include <QDebug> #include <QClipboard> #include <QFileDialog> +#include <QMenu> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaXDG.h> #include "EqValidator.h" diff --git a/src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp b/src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp index 8a16f03f..3e0150e2 100644 --- a/src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp +++ b/src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp @@ -11,7 +11,7 @@ #include <QFileDialog> #include <QMessageBox> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaOS.h> //LFileInfo INFO = LFileInfo(""); diff --git a/src-qt5/desktop-utils/lumina-fileinfo/lumina-fileinfo.pro b/src-qt5/desktop-utils/lumina-fileinfo/lumina-fileinfo.pro index 685b48a6..ee12b420 100644 --- a/src-qt5/desktop-utils/lumina-fileinfo/lumina-fileinfo.pro +++ b/src-qt5/desktop-utils/lumina-fileinfo/lumina-fileinfo.pro @@ -9,6 +9,12 @@ TEMPLATE = app target.path = $${L_BINDIR} +#include all the special classes from the Lumina tree +include(../../core/libLumina/LUtils.pri) #includes LUtils +include(../../core/libLumina/LuminaXDG.pri) +include(../../core/libLumina/LuminaSingleApplication.pri) +include(../../core/libLumina/LuminaThemes.pri) + SOURCES += main.cpp\ MainUI.cpp @@ -16,12 +22,6 @@ HEADERS += MainUI.h FORMS += MainUI.ui -#RESOURCES+= lumina-fileinfo.qrc - -LIBS += -lLuminaUtils - -DEPENDPATH += ../libLumina - TRANSLATIONS = i18n/l-fileinfo_af.ts \ i18n/l-fileinfo_ar.ts \ diff --git a/src-qt5/desktop-utils/lumina-fileinfo/main.cpp b/src-qt5/desktop-utils/lumina-fileinfo/main.cpp index ac3336bf..46f83831 100644 --- a/src-qt5/desktop-utils/lumina-fileinfo/main.cpp +++ b/src-qt5/desktop-utils/lumina-fileinfo/main.cpp @@ -4,7 +4,7 @@ #include <QFile> #include "MainUI.h" -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaThemes.h> int main(int argc, char ** argv) diff --git a/src-qt5/desktop-utils/lumina-fm/Browser.cpp b/src-qt5/desktop-utils/lumina-fm/Browser.cpp index 72920757..5b84e2e7 100644 --- a/src-qt5/desktop-utils/lumina-fm/Browser.cpp +++ b/src-qt5/desktop-utils/lumina-fm/Browser.cpp @@ -11,7 +11,7 @@ #include <QtConcurrent> #include <QDebug> -#include <LuminaUtils.h> +#include <LUtils.h> Browser::Browser(QObject *parent) : QObject(parent){ watcher = new QFileSystemWatcher(this); diff --git a/src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp b/src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp index da651cca..8db13718 100644 --- a/src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp +++ b/src-qt5/desktop-utils/lumina-fm/BrowserWidget.cpp @@ -10,7 +10,7 @@ #include <QTimer> #include <QSettings> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaOS.h> BrowserWidget::BrowserWidget(QString objID, QWidget *parent) : QWidget(parent){ diff --git a/src-qt5/desktop-utils/lumina-fm/DirData.h b/src-qt5/desktop-utils/lumina-fm/DirData.h index 546dd6c5..c887ed5c 100644 --- a/src-qt5/desktop-utils/lumina-fm/DirData.h +++ b/src-qt5/desktop-utils/lumina-fm/DirData.h @@ -16,7 +16,7 @@ #include <QDir> #include <LuminaXDG.h> -#include <LuminaUtils.h> +#include <LUtils.h> #define ZSNAPDIR QString("/.zfs/snapshot/") diff --git a/src-qt5/desktop-utils/lumina-fm/FODialog.h b/src-qt5/desktop-utils/lumina-fm/FODialog.h index a595b9f2..9b53a934 100644 --- a/src-qt5/desktop-utils/lumina-fm/FODialog.h +++ b/src-qt5/desktop-utils/lumina-fm/FODialog.h @@ -21,7 +21,7 @@ // libLumina includes #include <LuminaXDG.h> -#include <LuminaUtils.h> +#include <LUtils.h> class FOWorker : public QObject{ Q_OBJECT diff --git a/src-qt5/desktop-utils/lumina-fm/MainUI.cpp b/src-qt5/desktop-utils/lumina-fm/MainUI.cpp index 128c4cd5..0744ac84 100644 --- a/src-qt5/desktop-utils/lumina-fm/MainUI.cpp +++ b/src-qt5/desktop-utils/lumina-fm/MainUI.cpp @@ -7,10 +7,13 @@ #include "MainUI.h" #include "ui_MainUI.h" +#include <QMenu> #include <QFileInfo> #include "gitCompat.h" #include "gitWizard.h" +#include <LDesktopUtils.h> + #define DEBUG 0 MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI){ @@ -845,7 +848,7 @@ void MainUI::PasteFiles(QString dir, QStringList raw){ void MainUI::FavoriteFiles(QStringList list){ qDebug() << "Favorite Files:" << list; for(int i=0; i<list.length(); i++){ - LUtils::addFavorite(list[i]); + LDesktopUtils::addFavorite(list[i]); } //Might want to make this a "toggle" instead of an add later on... } diff --git a/src-qt5/desktop-utils/lumina-fm/OPWidget.h b/src-qt5/desktop-utils/lumina-fm/OPWidget.h index 13fb3cb3..4fdb7db8 100644 --- a/src-qt5/desktop-utils/lumina-fm/OPWidget.h +++ b/src-qt5/desktop-utils/lumina-fm/OPWidget.h @@ -11,6 +11,9 @@ #include "FODialog.h" #include "ScrollDialog.h" + +#include <QWidgetAction> + namespace Ui{ class OPWidget; }; diff --git a/src-qt5/desktop-utils/lumina-fm/gitCompat.h b/src-qt5/desktop-utils/lumina-fm/gitCompat.h index 3e6cb15e..4e63e780 100644 --- a/src-qt5/desktop-utils/lumina-fm/gitCompat.h +++ b/src-qt5/desktop-utils/lumina-fm/gitCompat.h @@ -14,7 +14,7 @@ #include <QProcessEnvironment> #include <QDebug> #include <QTemporaryFile> -#include <LuminaUtils.h> +#include <LUtils.h> #include <unistd.h> diff --git a/src-qt5/desktop-utils/lumina-fm/gitWizard.h b/src-qt5/desktop-utils/lumina-fm/gitWizard.h index 4a6ec2bc..e49f43aa 100644 --- a/src-qt5/desktop-utils/lumina-fm/gitWizard.h +++ b/src-qt5/desktop-utils/lumina-fm/gitWizard.h @@ -12,6 +12,7 @@ #include <QWizard> #include <QString> #include <QMessageBox> +#include <QCloseEvent> #include "gitCompat.h" diff --git a/src-qt5/desktop-utils/lumina-fm/lumina-fm.pro b/src-qt5/desktop-utils/lumina-fm/lumina-fm.pro index 92042ad7..a98161f0 100644 --- a/src-qt5/desktop-utils/lumina-fm/lumina-fm.pro +++ b/src-qt5/desktop-utils/lumina-fm/lumina-fm.pro @@ -9,6 +9,12 @@ target.path = $${L_BINDIR} TEMPLATE = app +#include all the special classes from the Lumina tree +include(../../core/libLumina/LDesktopUtils.pri) #includes LUtils +include(../../core/libLumina/LuminaXDG.pri) +include(../../core/libLumina/LuminaSingleApplication.pri) +include(../../core/libLumina/LuminaThemes.pri) + SOURCES += main.cpp \ MainUI.cpp \ FODialog.cpp \ @@ -51,7 +57,6 @@ FORMS += MainUI.ui \ icons.files = Insight-FileManager.png icons.path = $${L_SHAREDIR}/pixmaps -LIBS += -lLuminaUtils TRANSLATIONS = i18n/lumina-fm_af.ts \ i18n/lumina-fm_ar.ts \ diff --git a/src-qt5/desktop-utils/lumina-fm/main.cpp b/src-qt5/desktop-utils/lumina-fm/main.cpp index eaaf182c..c72f031e 100644 --- a/src-qt5/desktop-utils/lumina-fm/main.cpp +++ b/src-qt5/desktop-utils/lumina-fm/main.cpp @@ -6,7 +6,7 @@ #include "MainUI.h" #include <LuminaOS.h> #include <LuminaThemes.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaSingleApplication.h> #include "BrowserWidget.h" diff --git a/src-qt5/desktop-utils/lumina-fm/widgets/DDListWidgets.h b/src-qt5/desktop-utils/lumina-fm/widgets/DDListWidgets.h index 8049600e..48127efa 100644 --- a/src-qt5/desktop-utils/lumina-fm/widgets/DDListWidgets.h +++ b/src-qt5/desktop-utils/lumina-fm/widgets/DDListWidgets.h @@ -24,7 +24,7 @@ #include <QUrl> #include <QDir> -#include <LuminaUtils.h> +#include <LUtils.h> //============== // LIST WIDGET diff --git a/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.cpp b/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.cpp index 161225e4..29adf09d 100644 --- a/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.cpp +++ b/src-qt5/desktop-utils/lumina-fm/widgets/DirWidget2.cpp @@ -19,7 +19,7 @@ #include <LuminaOS.h> #include <LuminaXDG.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include "../ScrollDialog.h" diff --git a/src-qt5/desktop-utils/lumina-screenshot/MainUI.h b/src-qt5/desktop-utils/lumina-screenshot/MainUI.h index 853fb194..00b3f8ac 100644 --- a/src-qt5/desktop-utils/lumina-screenshot/MainUI.h +++ b/src-qt5/desktop-utils/lumina-screenshot/MainUI.h @@ -20,7 +20,7 @@ #include <QScreen> #include <LuminaXDG.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaX11.h> #include "ImageEditor.h" diff --git a/src-qt5/desktop-utils/lumina-screenshot/lumina-screenshot.pro b/src-qt5/desktop-utils/lumina-screenshot/lumina-screenshot.pro index a85b234c..cb2b9713 100644 --- a/src-qt5/desktop-utils/lumina-screenshot/lumina-screenshot.pro +++ b/src-qt5/desktop-utils/lumina-screenshot/lumina-screenshot.pro @@ -9,6 +9,13 @@ target.path = $${L_BINDIR} TEMPLATE = app +#include all the special classes from the Lumina tree +include(../../core/libLumina/LUtils.pri) #includes LUtils +include(../../core/libLumina/LuminaXDG.pri) +include(../../core/libLumina/LuminaSingleApplication.pri) +include(../../core/libLumina/LuminaThemes.pri) +include(../../core/libLumina/LuminaX11.pri) + SOURCES += main.cpp \ MainUI.cpp \ ImageEditor.cpp @@ -18,10 +25,6 @@ HEADERS += MainUI.h \ FORMS += MainUI.ui -LIBS += -lLuminaUtils - -DEPENDPATH += ../libLumina - TRANSLATIONS = i18n/l-screenshot_af.ts \ i18n/l-screenshot_ar.ts \ i18n/l-screenshot_az.ts \ diff --git a/src-qt5/desktop-utils/lumina-screenshot/main.cpp b/src-qt5/desktop-utils/lumina-screenshot/main.cpp index 27e1f2ff..a39d6851 100644 --- a/src-qt5/desktop-utils/lumina-screenshot/main.cpp +++ b/src-qt5/desktop-utils/lumina-screenshot/main.cpp @@ -6,7 +6,7 @@ #include "MainUI.h" #include <LuminaOS.h> #include <LuminaThemes.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <LuminaSingleApplication.h> int main(int argc, char ** argv) diff --git a/src-qt5/desktop-utils/lumina-terminal/TrayIcon.cpp b/src-qt5/desktop-utils/lumina-terminal/TrayIcon.cpp index ea970df9..52e15314 100644 --- a/src-qt5/desktop-utils/lumina-terminal/TrayIcon.cpp +++ b/src-qt5/desktop-utils/lumina-terminal/TrayIcon.cpp @@ -9,7 +9,7 @@ #include <QDir> #include <QDesktopWidget> -#include <LuminaUtils.h> +#include <LUtils.h> TrayIcon::TrayIcon() : QSystemTrayIcon(){ //Create the child widgets here @@ -169,4 +169,4 @@ void TrayIcon::TermHidden(){ void TrayIcon::TermVisible(){ termVisible = true; -}
\ No newline at end of file +} diff --git a/src-qt5/desktop-utils/lumina-terminal/lumina-terminal.pro b/src-qt5/desktop-utils/lumina-terminal/lumina-terminal.pro index ada7110b..4c623087 100644 --- a/src-qt5/desktop-utils/lumina-terminal/lumina-terminal.pro +++ b/src-qt5/desktop-utils/lumina-terminal/lumina-terminal.pro @@ -5,6 +5,12 @@ QT += core gui widgets network TARGET = lumina-terminal target.path = $${L_BINDIR} +#include all the special classes from the Lumina tree +include(../../core/libLumina/LUtils.pri) #includes LUtils +include(../../core/libLumina/LuminaXDG.pri) +include(../../core/libLumina/LuminaSingleApplication.pri) +include(../../core/libLumina/LuminaThemes.pri) + HEADERS += TrayIcon.h \ TermWindow.h \ TerminalWidget.h \ @@ -17,10 +23,8 @@ SOURCES += main.cpp \ TtyProcess.cpp -LIBS += -lLuminaUtils -lncurses - +LIBS += -lncurses -DEPENDPATH += ../../libLumina TRANSLATIONS = i18n/l-terminal_af.ts \ i18n/l-terminal_ar.ts \ diff --git a/src-qt5/desktop-utils/lumina-textedit/MainUI.cpp b/src-qt5/desktop-utils/lumina-textedit/MainUI.cpp index c4f4eaca..4a7fbabf 100644 --- a/src-qt5/desktop-utils/lumina-textedit/MainUI.cpp +++ b/src-qt5/desktop-utils/lumina-textedit/MainUI.cpp @@ -10,7 +10,7 @@ #include "syntaxSupport.h" #include <LuminaXDG.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include <QFileDialog> #include <QDir> diff --git a/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.cpp b/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.cpp index 99a0ed75..e8eaa007 100644 --- a/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.cpp +++ b/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.cpp @@ -14,7 +14,7 @@ #include <QApplication> #include <QMessageBox> -#include <LuminaUtils.h> +#include <LUtils.h> //============== // PUBLIC diff --git a/src-qt5/desktop-utils/lumina-textedit/lumina-textedit.pro b/src-qt5/desktop-utils/lumina-textedit/lumina-textedit.pro index 8b46f7b2..3da05dbc 100644 --- a/src-qt5/desktop-utils/lumina-textedit/lumina-textedit.pro +++ b/src-qt5/desktop-utils/lumina-textedit/lumina-textedit.pro @@ -5,6 +5,12 @@ QT += core gui widgets TARGET = lumina-textedit target.path = $${L_BINDIR} +#include all the special classes from the Lumina tree +include(../../core/libLumina/LUtils.pri) #includes LUtils +include(../../core/libLumina/LuminaXDG.pri) +include(../../core/libLumina/LuminaSingleApplication.pri) +include(../../core/libLumina/LuminaThemes.pri) + HEADERS += MainUI.h \ PlainTextEditor.h \ syntaxSupport.h \ @@ -18,10 +24,6 @@ SOURCES += main.cpp \ FORMS += MainUI.ui \ ColorDialog.ui -LIBS += -lLuminaUtils - - -DEPENDPATH += ../../libLumina TRANSLATIONS = i18n/l-te_af.ts \ i18n/l-te_ar.ts \ diff --git a/src-qt5/desktop-utils/lumina-textedit/main.cpp b/src-qt5/desktop-utils/lumina-textedit/main.cpp index f4ee02cf..346a6c44 100644 --- a/src-qt5/desktop-utils/lumina-textedit/main.cpp +++ b/src-qt5/desktop-utils/lumina-textedit/main.cpp @@ -8,7 +8,7 @@ #include <QDebug> #include <LuminaThemes.h> -#include <LuminaUtils.h> +#include <LUtils.h> #include "MainUI.h" |