aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core
diff options
context:
space:
mode:
authorWeblate <noreply@weblate.org>2017-08-02 20:51:49 +0000
committerWeblate <noreply@weblate.org>2017-08-02 20:51:49 +0000
commit0201dd4f85f96b43e57be244891685c04ac3b1bb (patch)
tree379cbf533de5a612ba4ec3d8a922fdf580d65b72 /src-qt5/core
parentTranslated using Weblate (Spanish) (diff)
parentMerge branch 'master' of github.com:trueos/lumina (diff)
downloadlumina-0201dd4f85f96b43e57be244891685c04ac3b1bb.tar.gz
lumina-0201dd4f85f96b43e57be244891685c04ac3b1bb.tar.bz2
lumina-0201dd4f85f96b43e57be244891685c04ac3b1bb.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'src-qt5/core')
-rw-r--r--src-qt5/core/libLumina/LuminaSingleApplication.cpp12
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.cpp12
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.cpp8
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.h8
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.cpp2
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/animations/Grav.h57
-rw-r--r--src-qt5/core/lumina-desktop/i18n/lumina-desktop_cs.ts10
-rw-r--r--src-qt5/core/lumina-desktop/i18n/lumina-desktop_en_AU.ts1736
-rw-r--r--src-qt5/core/lumina-desktop/i18n/lumina-desktop_en_GB.ts10
-rw-r--r--src-qt5/core/lumina-desktop/i18n/lumina-desktop_es.ts10
-rw-r--r--src-qt5/core/lumina-desktop/lumina-desktop.pro1
-rw-r--r--src-qt5/core/lumina-desktop/main.cpp1
-rw-r--r--src-qt5/core/lumina-info/i18n/lumina-info_cs.ts8
-rw-r--r--src-qt5/core/lumina-info/i18n/lumina-info_en_AU.ts97
-rw-r--r--src-qt5/core/lumina-info/lumina-info.pro1
-rw-r--r--src-qt5/core/lumina-open/i18n/lumina-open_cs.ts2
-rw-r--r--src-qt5/core/lumina-open/i18n/lumina-open_en_AU.ts212
-rw-r--r--src-qt5/core/lumina-open/lumina-open.pro1
-rw-r--r--src-qt5/core/lumina-session/session.cpp2
-rw-r--r--src-qt5/core/lumina-session/session.h16
-rw-r--r--src-qt5/core/lumina-theme-engine/lthemeengine.pri10
-rw-r--r--src-qt5/core/lumina-theme-engine/lthemeengine.pro8
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengine-qtplugin.pro4
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengineplatformtheme.cpp79
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/main.cpp7
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine-style/lthemeengineproxystyle.cpp12
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine-style/plugin.cpp14
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.cpp191
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/iconthemepage.cpp103
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/interfacepage.cpp63
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.cpp46
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/main.cpp12
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/mainwindow.cpp5
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/paletteeditdialog.cpp15
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/qsseditordialog.cpp8
-rw-r--r--src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.cpp94
36 files changed, 2410 insertions, 467 deletions
diff --git a/src-qt5/core/libLumina/LuminaSingleApplication.cpp b/src-qt5/core/libLumina/LuminaSingleApplication.cpp
index a97753c5..86248666 100644
--- a/src-qt5/core/libLumina/LuminaSingleApplication.cpp
+++ b/src-qt5/core/libLumina/LuminaSingleApplication.cpp
@@ -35,12 +35,12 @@ LSingleApplication::LSingleApplication(int &argc, char **argv, QString appname)
}else{
if(!path.startsWith("/") && !path.startsWith("-") ){ path.prepend(QDir::currentPath()+"/"); }
}
- inputlist << path;
+ inputlist << path;
}
isActive = isBypass = false;
lserver = 0;
//Now check for the manual CLI flag to bypass single-instance forwarding (if necessary)
- if(inputlist.contains("-new-instance")){
+ if(inputlist.contains("-new-instance")){
isBypass = true;
inputlist.removeAll("-new-instance");
}
@@ -48,16 +48,16 @@ LSingleApplication::LSingleApplication(int &argc, char **argv, QString appname)
}
LSingleApplication::~LSingleApplication(){
- if(lserver != 0 && lockfile->isLocked() ){
+ if(lserver != 0 && lockfile->isLocked() ){
//currently locked instance: remove the lock now
lserver->close();
QLocalServer::removeServer(cfile);
- lockfile->unlock();
+ lockfile->unlock();
}
}
bool LSingleApplication::isPrimaryProcess(){
- return (isActive || isBypass);
+ return (isActive || isBypass);
}
void LSingleApplication::PerformLockChecks(){
@@ -99,7 +99,7 @@ void LSingleApplication::PerformLockChecks(){
lockfile->unlock();
isActive = true;
}
-
+
}else if(!isBypass){
//forward the current inputs to the locked process for processing and exit
//Check the connection to the local server first
diff --git a/src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.cpp b/src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.cpp
index bfcfa54d..2c36af80 100644
--- a/src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.cpp
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.cpp
@@ -8,7 +8,7 @@
#include <QScreen>
#include <QApplication>
-#define DEBUG 0
+#define DEBUG 1
LScreenSaver::LScreenSaver() : QWidget(0,Qt::BypassWindowManagerHint | Qt::WindowStaysOnTopHint){
starttimer = new QTimer(this);
@@ -102,13 +102,14 @@ void LScreenSaver::ShowScreenSaver(){
//Now go through and create/show all the various widgets
QList<QScreen*> SCREENS = QApplication::screens();
QRect bounds;
- cBright = LOS::ScreenBrightness();
- if(cBright>0){ LOS::setScreenBrightness(cBright/2); } //cut to half while the screensaver is active
+ //cBright = LOS::ScreenBrightness();
+ //if(cBright>0){ LOS::setScreenBrightness(cBright/2); } //cut to half while the screensaver is active
for(int i=0; i<SCREENS.length(); i++){
bounds = bounds.united(SCREENS[i]->geometry());
if(DEBUG){ qDebug() << " - New SS Base:" << i; }
BASES << new SSBaseWidget(this, settings);
connect(BASES[i], SIGNAL(InputDetected()), this, SLOT(newInputEvent()) );
+
//Setup the geometry of the base to match the screen
BASES[i]->setGeometry(SCREENS[i]->geometry()); //match this screen geometry
BASES[i]->setPlugin(settings->value("screenplugin"+QString::number(i+1), settings->value("defaultscreenplugin","random").toString() ).toString() );
@@ -144,15 +145,16 @@ void LScreenSaver::HideScreenSaver(){
//QApplication::restoreOverrideCursor();
if(DEBUG){ qDebug() << "Hiding Screen Saver:" << QDateTime::currentDateTime().toString(); }
SSRunning = false;
- if(cBright>0){ LOS::setScreenBrightness(cBright); } //return to current brightness
+ //if(cBright>0){ LOS::setScreenBrightness(cBright); } //return to current brightness
if(!SSLocked){
this->hide();
emit ClosingScreenSaver();
emit LockStatusChanged(false);
}
for(int i=0; i<BASES.length(); i++){
- BASES[i]->hide();
+ qDebug() << "Stop ScreenSaver:" << i;
BASES[i]->stopPainting();
+ BASES[i]->hide();
}
UpdateTimers();
}
diff --git a/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.cpp b/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.cpp
index b31ef793..7854b597 100644
--- a/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.cpp
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.cpp
@@ -39,8 +39,7 @@ void SSBaseWidget::startPainting(){
cplug = plugType;
//free up any old animation instance
if(ANIM!=0){
- ANIM->stop(); ANIM->clear();
- delete ANIM; ANIM = 0;
+ stopPainting();
}
//If a random plugin - grab one of the known plugins
if(cplug=="random"){
@@ -76,9 +75,10 @@ void SSBaseWidget::startPainting(){
void SSBaseWidget::stopPainting(){
if(ANIM!=0){
+ qDebug() << "Stopping Animation!!";
ANIM->stop();
- ANIM->clear();
- delete ANIM;
+ //ANIM->clear();
+ ANIM->deleteLater();
ANIM = 0;
}
}
diff --git a/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.h b/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.h
index bdcefa24..9d987178 100644
--- a/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.h
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.h
@@ -14,10 +14,10 @@
class SSBaseWidget : public QWidget{
Q_OBJECT
-public:
+public:
SSBaseWidget(QWidget *parent, QSettings *set);
~SSBaseWidget();
-
+
void setPlugin(QString);
public slots:
@@ -30,7 +30,7 @@ private:
QSettings *settings;
private slots:
-
+
signals:
void InputDetected(); //just in case no event handling setup at the WM level
@@ -49,7 +49,7 @@ protected:
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}
-
+
};
#endif
diff --git a/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.cpp b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.cpp
index 017eaf9f..aaae8b41 100644
--- a/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.cpp
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.cpp
@@ -31,5 +31,5 @@ BaseAnimGroup* BaseAnimGroup::NewAnimation(QString type, QWidget *parent, QSetti
}
QStringList BaseAnimGroup::KnownAnimations(){
- return (QStringList() << "fireflies" << "grav" << "text");
+ return (QStringList() << "grav");
}
diff --git a/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/Grav.h b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/Grav.h
index ad1b1122..ec1de914 100644
--- a/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/Grav.h
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/Grav.h
@@ -14,6 +14,7 @@
#include "BaseAnimGroup.h"
#include <QParallelAnimationGroup>
#include <QtMath>
+#include <QMatrix>
class Grav: public QParallelAnimationGroup{
Q_OBJECT
@@ -21,11 +22,11 @@ private:
QWidget *planet;
QPropertyAnimation *orbit;
QSize range;
- QList<QPoint> path;
+ //QList<QPoint> path;
double radius;
void setupLoop(QPoint start, QPoint *ref){
- orbit->setStartValue(start);
+ //orbit->setStartValue(start);
//Used to find overall speed. Distance from the planet to the sun
radius = qSqrt( (qPow(start.x()-ref->x(),2) + qPow(start.y()-ref->y(),2) ));
@@ -39,9 +40,9 @@ private:
QPoint firstP = QPoint(ref->x() + xrand*start.x()*(qCos(0/step) -qSin(0/step)), ref->y() + yrand*start.y()*(qCos(0/step) -qSin(0/step)));
QPoint lastP = QPoint(ref->x() + xrand*start.x()*(qCos(PI/step) -qSin(PI/step)), ref->y() + yrand*start.y()*(qCos(PI/step) -qSin(PI/step)));
- //orbit->setKeyValueAt(0, firstP);
- //orbit->setKeyValueAt(1, lastP);
- path.push_back(firstP);
+ orbit->setKeyValueAt(0, firstP);
+ orbit->setKeyValueAt(1, lastP);
+ //path.push_back(firstP);
//Loops through all steps and creates all the points of the orbit
for(int i=1; i<step; i++) {
@@ -54,21 +55,20 @@ private:
//Creates a new point and creates a key as part of the animation
QPoint newLoc = QPoint(newX, newY);
- //orbit->setKeyValueAt(i/step, newLoc);
- path.push_back(newLoc);
- }
-
+ orbit->setKeyValueAt(i/step, newLoc);
+ //path.push_back(newLoc);
+ }
//Sets the time for a full orbit. Increasing makes the orbit slower.
- path.push_back(lastP);
+ //path.push_back(lastP);
}
private slots:
void LoopChanged(int loop){
//Adjust the orbit animation a bit
- if(loop >= 0) {
+ /*if(loop >= 0) {
orbit->setStartValue(orbit->endValue()); //start at the previous end point
orbit->setEndValue(path.at(loop%1000));
orbit->setDuration(10);
- }
+ }*/
}
void stopped(){ qDebug() << "Planet stopped"; planet->hide();}
@@ -79,7 +79,7 @@ public:
QPoint center = parent->geometry().center();
//Creates a random planet size. Between 12 and 45 pixels
- double planet_radius = 1.75* ((qrand()%20)+7);
+ int planet_radius = qRound(1.75* ((qrand()%20)+7) );
//Creates a random color in RGB, then creates a circular gradient
QString color = "rgba(" + QString::number(qrand() % 256) + ", " + QString::number(qrand() % 256) + ", " + QString::number(qrand() % 256);
@@ -93,24 +93,32 @@ public:
orbit->setTargetObject(planet);
//Creates the random position of the planet, making sure it isn't too close to the sun
- int randwidth = qrand()%(range.width()/2);
- if(randwidth < range.width() + 100 and randwidth > range.width() - 100) randwidth = 100;
- int randheight= qrand()%(range.height()/2);
- if(randheight < range.height() + 100 and randheight > range.height() - 100) randheight = 100;
+ QRect invalid = QRect(center+QPoint(-50,-50), center+QPoint(50,50));
+ QPoint tmp = center;
+ while(invalid.contains(tmp)){
+ int randwidth = qrand()%(range.width() - 2*planet_radius) + planet_radius;
+ int randheight= qrand()%(range.height()- 2*planet_radius) + planet_radius;
+ tmp = QPoint(randwidth, randheight);
+ }
+
+ /*double tmpDistance = qSqrt((qPow((tmp.x()-center.x()), 2) + qPow((tmp.y()-center.y()), 2)));
+ double theta = qAsin(qAbs(tmp.y()-center.y())/tmpDistance);
+ QMatrix rotation = QMatrix(qCos(theta), qSin(theta), -qSin(theta), qCos(theta), -center.x(), -center.y());*/
//Creates all frames for the animation
- setupLoop(QPoint(randwidth, randheight), &center);
+ setupLoop(tmp, &center);
this->addAnimation(orbit);
planet->show();
//Ensures the screensaver will not stop until the user wishes to login or it times out
- this->setLoopCount(2000); //number of orbits
- orbit->setEndValue(path.at(0));
- LoopChanged(0); //load initial values
+ this->setLoopCount(5); //number of orbits
+ orbit->setDuration( qrand() %1000 + 19000); //20 second orbits
+ //orbit->setEndValue(path.at(0));
+ //LoopChanged(0); //load initial values
//Sets the initial size and location of the planet
planet->setGeometry(QRect(orbit->startValue().toPoint(), QSize(planet_radius, planet_radius)));
- connect(this, SIGNAL(currentLoopChanged(int)), this, SLOT(LoopChanged(int)) );
+ //connect(this, SIGNAL(currentLoopChanged(int)), this, SLOT(LoopChanged(int)) );
connect(this, SIGNAL(finished()), this, SLOT(stopped()) );
}
~Grav(){}
@@ -171,14 +179,13 @@ public:
int number = settings->value("planets/number",10).toInt();
//Loops through all planets and sets up the animations, then adds them to the base group and vector, which
+ qDebug() << "Starting planets";
for(int i=0; i<number; i++){
- if(planets.length()>number){ continue; }
Grav *tmp = new Grav(canvas);
this->addAnimation(tmp);
- connect(tmp, SIGNAL(finished()), this, SLOT(checkFinished()));
+ connect(tmp, SIGNAL(finished()), this, SLOT(checkFinished()));
planets << tmp;
}
- while(planets.length()>number){planets.takeAt(number)->deleteLater(); }
}
};
diff --git a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_cs.ts b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_cs.ts
index d700dbbc..b22b1309 100644
--- a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_cs.ts
+++ b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_cs.ts
@@ -265,12 +265,12 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="65"/>
- <source>Don't expect to build up the weak by pulling down the strong.</source>
+ <source>Don&apos;t expect to build up the weak by pulling down the strong.</source>
<translation>Neočekávejte že povzbudíte slabé tím že stáhnete dolů silné.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="67"/>
- <source>You can't know too much, but you can say too much.</source>
+ <source>You can&apos;t know too much, but you can say too much.</source>
<translation>Nemůžete vědět příliš mnoho, ale můžete toho říct přespříliš.</translation>
</message>
<message>
@@ -350,7 +350,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="99"/>
- <source>Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.</source>
+ <source>Only two things are infinite, the universe and human stupidity, and I&apos;m not sure about the former.</source>
<translation>Jen dvě věci jsou nekonečné – vesmír a lidská hloupost. Tím prvním si vlastně nejsem tak úplně jistý.</translation>
</message>
<message>
@@ -360,7 +360,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="103"/>
- <source>Do, or do not. There is no 'try'.</source>
+ <source>Do, or do not. There is no &apos;try&apos;.</source>
<translation>Udělejte to, nebo to nedělejte vůbec. Nejde o to to jen zkoušet.</translation>
</message>
<message>
@@ -380,7 +380,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="111"/>
- <source>It's kind of fun to do the impossible.</source>
+ <source>It&apos;s kind of fun to do the impossible.</source>
<translation>Dělat nemožné je zábava.</translation>
</message>
<message>
diff --git a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_en_AU.ts b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_en_AU.ts
new file mode 100644
index 00000000..2b611add
--- /dev/null
+++ b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_en_AU.ts
@@ -0,0 +1,1736 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en_AU">
+<context>
+ <name>AppLaunchButtonPlugin</name>
+ <message>
+ <location filename="../panel-plugins/applauncher/AppLaunchButton.cpp" line="37"/>
+ <source>Click to assign an application</source>
+ <translation>Click to assign an application</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/applauncher/AppLaunchButton.cpp" line="42"/>
+ <source>Launch %1</source>
+ <translation>Launch %1</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/applauncher/AppLaunchButton.cpp" line="49"/>
+ <source>Open %1</source>
+ <translation>Open %1</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/applauncher/AppLaunchButton.cpp" line="67"/>
+ <source>Select Application</source>
+ <translation>Select Application</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/applauncher/AppLaunchButton.cpp" line="67"/>
+ <source>Name:</source>
+ <translation>Name:</translation>
+ </message>
+</context>
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="62"/>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="116"/>
+ <source>Click to Set</source>
+ <translation>Click to Set</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="73"/>
+ <source>Launch %1</source>
+ <translation type="unfinished">Starte %1</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="134"/>
+ <source>Open</source>
+ <translation type="unfinished">Open</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="136"/>
+ <source>Open With</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="139"/>
+ <source>View Properties</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="141"/>
+ <source>File Operations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="143"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="146"/>
+ <source>Copy</source>
+ <translation type="unfinished">Copy</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="149"/>
+ <source>Cut</source>
+ <translation type="unfinished">Cut</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="151"/>
+ <source>Delete</source>
+ <translation type="unfinished">Delete</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="212"/>
+ <source>Select Application</source>
+ <translation>Select Application</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="212"/>
+ <source>Name:</source>
+ <translation>Name:</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/applauncher/AppLauncherPlugin.cpp" line="298"/>
+ <source>New Filename</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <location filename="../AppMenu.cpp" line="48"/>
+ <source>Desktop</source>
+ <translation>Desktop</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="85"/>
+ <source>Manage Applications</source>
+ <translation>Manage Applications</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="90"/>
+ <source>Control Panel</source>
+ <translation>Control Panel</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="100"/>
+ <source>Multimedia</source>
+ <translation>Multimedia</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="101"/>
+ <source>Development</source>
+ <translation>Development</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="102"/>
+ <source>Education</source>
+ <translation>Education</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="103"/>
+ <source>Games</source>
+ <translation>Games</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="104"/>
+ <source>Graphics</source>
+ <translation>Graphics</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="105"/>
+ <source>Network</source>
+ <translation>Network</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="106"/>
+ <source>Office</source>
+ <translation>Office</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="107"/>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="108"/>
+ <source>Settings</source>
+ <translation>Settings</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="109"/>
+ <source>System</source>
+ <translation>System</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="110"/>
+ <source>Utility</source>
+ <translation>Utility</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="111"/>
+ <source>Wine</source>
+ <translation>Wine</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="112"/>
+ <source>Unsorted</source>
+ <translation>Unsorted</translation>
+ </message>
+ <message>
+ <location filename="../AppMenu.cpp" line="41"/>
+ <source>Applications</source>
+ <translation>Applications</translation>
+ </message>
+</context>
+<context>
+ <name>BootSplash</name>
+ <message>
+ <location filename="../BootSplash.ui" line="14"/>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.ui" line="94"/>
+ <source>Starting the Lumina Desktop...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="17"/>
+ <source>Version %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="41"/>
+ <source>This desktop is powered by coffee, coffee, and more coffee.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="43"/>
+ <source>Keep up with desktop news!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="45"/>
+ <source>There is a full handbook of information about the desktop available online.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="47"/>
+ <source>Want to change the interface? Everything is customizable in the desktop configuration!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="49"/>
+ <source>Lumina can easily reproduce the interface from most other desktop environments.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="51"/>
+ <source>This desktop is generously sponsored by iXsystems</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="53"/>
+ <source>I have never been hurt by what I have not said</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="55"/>
+ <source>Gotta have more cowbell!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="57"/>
+ <source>Everything has its beauty but not everyone sees it.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="59"/>
+ <source>Before God we are all equally wise - and equally foolish.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="61"/>
+ <source>We cannot do everything at once, but we can do something at once.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="63"/>
+ <source>One with the law is a majority.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="65"/>
+ <source>Don&apos;t expect to build up the weak by pulling down the strong.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="67"/>
+ <source>You can&apos;t know too much, but you can say too much.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="69"/>
+ <source>Duty is not collective; it is personal.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="71"/>
+ <source>Any society that would give up a little liberty to gain a little security will deserve neither and lose both.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="73"/>
+ <source>Never trust a computer you can’t throw out a window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="75"/>
+ <source>Study the past if you would define the future.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="77"/>
+ <source>The way to get started is to quit talking and begin doing.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="79"/>
+ <source>Ask and it will be given to you; search, and you will find; knock and the door will be opened for you.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="81"/>
+ <source>Start where you are. Use what you have. Do what you can.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="83"/>
+ <source>A person who never made a mistake never tried anything new.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="85"/>
+ <source>It does not matter how slowly you go as long as you do not stop.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="87"/>
+ <source>Do what you can, where you are, with what you have.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="89"/>
+ <source>Remember no one can make you feel inferior without your consent.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="91"/>
+ <source>It’s not the years in your life that count. It’s the life in your years.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="93"/>
+ <source>Either write something worth reading or do something worth writing.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="95"/>
+ <source>The only way to do great work is to love what you do.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="97"/>
+ <source>Political correctness is tyranny with manners.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="99"/>
+ <source>Only two things are infinite, the universe and human stupidity, and I&apos;m not sure about the former.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="101"/>
+ <source>I find that the harder I work, the more luck I seem to have.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="103"/>
+ <source>Do, or do not. There is no &apos;try&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="105"/>
+ <source>A mathematician is a device for turning coffee into theorems.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="107"/>
+ <source>Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="109"/>
+ <source>Black holes are where God divided by zero.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="111"/>
+ <source>It&apos;s kind of fun to do the impossible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="113"/>
+ <source>Knowledge speaks, but wisdom listens.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="115"/>
+ <source>A witty saying proves nothing.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="117"/>
+ <source>Success usually comes to those who are too busy to be looking for it.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="119"/>
+ <source>Well-timed silence hath more eloquence than speech.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="121"/>
+ <source>I have never let my schooling interfere with my education.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="123"/>
+ <source>The best way to predict the future is to invent it.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="125"/>
+ <source>Well done is better than well said.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="127"/>
+ <source>Sometimes it is not enough that we do our best; we must do what is required.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="129"/>
+ <source>The truth is more important than the facts.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="131"/>
+ <source>Better to remain silent and be thought a fool than to speak out and remove all doubt.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="142"/>
+ <source>Initializing Session …</source>
+ <translation>Initialising Session …</translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="145"/>
+ <source>Loading System Settings …</source>
+ <translation>Loading System Settings …</translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="148"/>
+ <source>Loading User Preferences …</source>
+ <translation>Loading User Preferences …</translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="151"/>
+ <source>Preparing System Tray …</source>
+ <translation>Preparing System Tray …</translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="154"/>
+ <source>Starting Window Manager …</source>
+ <translation>Starting Window Manager ...</translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="157"/>
+ <source>Detecting Applications …</source>
+ <translation>Detecting Applications ...</translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="160"/>
+ <source>Preparing Menus …</source>
+ <translation>Preparing Menus ...</translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="163"/>
+ <source>Preparing Workspace …</source>
+ <translation>Preparing Workspace ...</translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="166"/>
+ <source>Finalizing …</source>
+ <translation>Finalising ...</translation>
+ </message>
+ <message>
+ <location filename="../BootSplash.cpp" line="169"/>
+ <source>Starting App: %1</source>
+ <translation>Starting App: %1</translation>
+ </message>
+</context>
+<context>
+ <name>DesktopViewPlugin</name>
+ <message>
+ <location filename="../desktop-plugins/desktopview/DesktopViewPlugin.cpp" line="28"/>
+ <source>Open</source>
+ <translation>Open</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/desktopview/DesktopViewPlugin.cpp" line="30"/>
+ <source>Cut</source>
+ <translation>Cut</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/desktopview/DesktopViewPlugin.cpp" line="31"/>
+ <source>Copy</source>
+ <translation>Copy</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/desktopview/DesktopViewPlugin.cpp" line="33"/>
+ <source>Increase Icons</source>
+ <translation>Increase Icons</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/desktopview/DesktopViewPlugin.cpp" line="34"/>
+ <source>Decrease Icons</source>
+ <translation>Decrease Icons</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/desktopview/DesktopViewPlugin.cpp" line="36"/>
+ <source>Delete</source>
+ <translation>Delete</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/desktopview/DesktopViewPlugin.cpp" line="39"/>
+ <source>Properties</source>
+ <translation>Properties</translation>
+ </message>
+</context>
+<context>
+ <name>ItemWidget</name>
+ <message>
+ <location filename="../panel-plugins/systemstart/ItemWidget.cpp" line="44"/>
+ <source>Go Back</source>
+ <translation>Go Back</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/ItemWidget.cpp" line="190"/>
+ <source>Pin to Desktop</source>
+ <translation>Pin to Desktop</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/ItemWidget.cpp" line="195"/>
+ <source>Remove from Favorites</source>
+ <translation>Remove from Favourites</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/ItemWidget.cpp" line="199"/>
+ <source>Add to Favorites</source>
+ <translation>Add to Favourites</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/ItemWidget.cpp" line="204"/>
+ <source>Remove from Quicklaunch</source>
+ <translation>Remove from Quicklaunch</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/ItemWidget.cpp" line="208"/>
+ <source>Add to Quicklaunch</source>
+ <translation>Add to Quicklaunch</translation>
+ </message>
+</context>
+<context>
+ <name>JsonMenu</name>
+ <message>
+ <location filename="../JsonMenu.h" line="60"/>
+ <source>Error parsing script output: %1</source>
+ <translation>Error parsing script output: %1</translation>
+ </message>
+</context>
+<context>
+ <name>LAppMenuPlugin</name>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="37"/>
+ <source>Quickly launch applications or open files</source>
+ <translation>Quickly launch applications or open files</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="38"/>
+ <source>Applications</source>
+ <translation>Applications</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="68"/>
+ <source>Browse Files</source>
+ <translation>Browse Files</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="73"/>
+ <source>Install Applications</source>
+ <translation>Install Applications</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="79"/>
+ <source>Control Panel</source>
+ <translation>Control Panel</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="90"/>
+ <source>Multimedia</source>
+ <translation>Multimedia</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="91"/>
+ <source>Development</source>
+ <translation>Development</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="92"/>
+ <source>Education</source>
+ <translation>Education</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="93"/>
+ <source>Games</source>
+ <translation>Games</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="94"/>
+ <source>Graphics</source>
+ <translation>Graphics</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="95"/>
+ <source>Network</source>
+ <translation>Network</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="96"/>
+ <source>Office</source>
+ <translation>Office</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="97"/>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="98"/>
+ <source>Settings</source>
+ <translation>Settings</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="99"/>
+ <source>System</source>
+ <translation>System</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="100"/>
+ <source>Utility</source>
+ <translation>Utility</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="101"/>
+ <source>Wine</source>
+ <translation>Wine</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="102"/>
+ <source>Unsorted</source>
+ <translation>Unsorted</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/appmenu/LAppMenuPlugin.cpp" line="139"/>
+ <source>Leave</source>
+ <translation>Leave</translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <location filename="../panel-plugins/battery/LBattery.cpp" line="92"/>
+ <source>%1 % (Charging)</source>
+ <translation>%1 % (Charging)</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/battery/LBattery.cpp" line="93"/>
+ <source>%1 % (%2 Remaining)</source>
+ <translation>%1 % (%2 Remaining)</translation>
+ </message>
+</context>
+<context>
+ <name>LClock</name>
+ <message>
+ <location filename="../panel-plugins/clock/LClock.cpp" line="137"/>
+ <source>Time Zone (%1)</source>
+ <translation>Time Zone (%1)</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/clock/LClock.cpp" line="159"/>
+ <source>Use System Time</source>
+ <translation>Use System Time</translation>
+ </message>
+</context>
+<context>
+ <name>LDPlugin</name>
+ <message>
+ <location filename="../desktop-plugins/LDPlugin.cpp" line="37"/>
+ <source>Modify Item</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/LDPlugin.cpp" line="45"/>
+ <source>Start Moving Item</source>
+ <translation>Start Moving Item</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/LDPlugin.cpp" line="46"/>
+ <source>Start Resizing Item</source>
+ <translation>Start Resizing Item</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/LDPlugin.cpp" line="48"/>
+ <source>Increase Item Sizes</source>
+ <translation>Increase Item Sizes</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/LDPlugin.cpp" line="49"/>
+ <source>Decrease Item Sizes</source>
+ <translation>Decrease Item Sizes</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/LDPlugin.cpp" line="51"/>
+ <source>Remove Item</source>
+ <translation>Remove Item</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <location filename="../panel-plugins/desktopbar/LDeskBar.cpp" line="192"/>
+ <source>Favorite Applications</source>
+ <translation>Favourite Applications</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/desktopbar/LDeskBar.cpp" line="194"/>
+ <source>Favorite Folders</source>
+ <translation>Favourite Folders</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/desktopbar/LDeskBar.cpp" line="195"/>
+ <source>Audio</source>
+ <translation>Audio</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/desktopbar/LDeskBar.cpp" line="197"/>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/desktopbar/LDeskBar.cpp" line="199"/>
+ <source>Pictures</source>
+ <translation>Pictures</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/desktopbar/LDeskBar.cpp" line="201"/>
+ <source>Other Files</source>
+ <translation>Other Files</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/desktopbar/LDeskBar.cpp" line="203"/>
+ <source>Documents</source>
+ <translation>Documents</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/desktopbar/LDeskBar.cpp" line="206"/>
+ <source>Favorite Files</source>
+ <translation>Favourite Files</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <location filename="../LDesktop.cpp" line="214"/>
+ <source>Window List</source>
+ <translation>Window List</translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="255"/>
+ <source>Desktop Actions</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="257"/>
+ <location filename="../LDesktop.cpp" line="608"/>
+ <source>New Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="258"/>
+ <location filename="../LDesktop.cpp" line="628"/>
+ <source>New File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="259"/>
+ <source>Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="291"/>
+ <source>Lumina Desktop</source>
+ <translation>Lumina Desktop</translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="292"/>
+ <source>Workspace %1</source>
+ <translation>Workspace %1</translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="302"/>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="303"/>
+ <source>Lock Session</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="304"/>
+ <source>Browse Files</source>
+ <translation>Browse Files</translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="338"/>
+ <source>Leave</source>
+ <translation>Leave</translation>
+ </message>
+ <message>
+ <location filename="../LDesktop.cpp" line="614"/>
+ <location filename="../LDesktop.cpp" line="634"/>
+ <location filename="../LDesktop.cpp" line="655"/>
+ <source>Desktop</source>
+ <translation type="unfinished">Desktop</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <location filename="../panel-plugins/desktopswitcher/LDesktopSwitcher.cpp" line="135"/>
+ <location filename="../panel-plugins/desktopswitcher/LDesktopSwitcher.cpp" line="139"/>
+ <source>Workspace %1</source>
+ <translation>Workspace %1</translation>
+ </message>
+</context>
+<context>
+ <name>LQuickLaunchButton</name>
+ <message>
+ <location filename="../panel-plugins/systemstart/LStartButton.h" line="52"/>
+ <source>Remove from Quicklaunch</source>
+ <translation>Remove from Quicklaunch</translation>
+ </message>
+</context>
+<context>
+ <name>LSession</name>
+ <message>
+ <location filename="../LSession.cpp" line="163"/>
+ <location filename="../LSession.cpp" line="342"/>
+ <source>Desktop</source>
+ <translation>Desktop</translation>
+ </message>
+</context>
+<context>
+ <name>LSysDashboard</name>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/LSysDashboard.cpp" line="43"/>
+ <source>System Dashboard</source>
+ <translation>System Dashboard</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.ui" line="14"/>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.ui" line="50"/>
+ <source>Volume</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.ui" line="111"/>
+ <source>Launch Audio Mixer</source>
+ <translation>Launch Audio Mixer</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.ui" line="156"/>
+ <source>Screen Brightness</source>
+ <translation>Screen Brightness</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.ui" line="231"/>
+ <source>Battery Status</source>
+ <translation>Battery Status</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.ui" line="296"/>
+ <source>Workspace</source>
+ <translation>Workspace</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.ui" line="344"/>
+ <source>Locale</source>
+ <translation>Locale</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.ui" line="378"/>
+ <source>Log Out</source>
+ <translation>Log Out</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.cpp" line="102"/>
+ <source>connected</source>
+ <translation>connected</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.cpp" line="120"/>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.cpp" line="167"/>
+ <location filename="../panel-plugins/systemdashboard/SysMenuQuick.cpp" line="176"/>
+ <source>%1 of %2</source>
+ <translation>%1 of %2</translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <location filename="../panel-plugins/taskmanager/LTaskButton.cpp" line="147"/>
+ <source>Activate Window</source>
+ <translation>Activate Window</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/taskmanager/LTaskButton.cpp" line="150"/>
+ <source>Minimize Window</source>
+ <translation>Minimise Window</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/taskmanager/LTaskButton.cpp" line="152"/>
+ <source>Restore Window</source>
+ <translation>Restore Window</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/taskmanager/LTaskButton.cpp" line="154"/>
+ <source>Maximize Window</source>
+ <translation>Maximise Window</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/taskmanager/LTaskButton.cpp" line="157"/>
+ <source>Close Window</source>
+ <translation>Close Window</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/taskmanager/LTaskButton.cpp" line="160"/>
+ <source>Show All Windows</source>
+ <translation>Show All Windows</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/taskmanager/LTaskButton.cpp" line="161"/>
+ <source>Minimize All Windows</source>
+ <translation>Minimise All Windows</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/taskmanager/LTaskButton.cpp" line="162"/>
+ <source>Close All Windows</source>
+ <translation>Close All Windows</translation>
+ </message>
+</context>
+<context>
+ <name>LUserButtonPlugin</name>
+ <message>
+ <location filename="../panel-plugins/userbutton/LUserButton.cpp" line="41"/>
+ <source>Quickly launch applications or open files</source>
+ <translation>Quickly launch applications or open files</translation>
+ </message>
+</context>
+<context>
+ <name>MonitorWidget</name>
+ <message>
+ <location filename="../desktop-plugins/systemmonitor/MonitorWidget.ui" line="14"/>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/systemmonitor/MonitorWidget.ui" line="36"/>
+ <source>Summary</source>
+ <translation>Summary</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/systemmonitor/MonitorWidget.ui" line="42"/>
+ <source>CPU Temp:</source>
+ <translation>CPU Temp:</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/systemmonitor/MonitorWidget.ui" line="56"/>
+ <source>CPU Usage:</source>
+ <translation>CPU Usage:</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/systemmonitor/MonitorWidget.ui" line="70"/>
+ <source>Mem Usage:</source>
+ <translation>Mem Usage:</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/systemmonitor/MonitorWidget.ui" line="85"/>
+ <source>Disk I/O</source>
+ <translation>Disk I/O</translation>
+ </message>
+</context>
+<context>
+ <name>NotePadPlugin</name>
+ <message>
+ <location filename="../desktop-plugins/notepad/NotepadPlugin.cpp" line="100"/>
+ <source>Note Files (*.note)</source>
+ <translation>Note Files (*.note)</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/notepad/NotepadPlugin.cpp" line="100"/>
+ <source>Text Files (*)</source>
+ <translation>Text Files (*)</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/notepad/NotepadPlugin.cpp" line="101"/>
+ <source>Open a note file</source>
+ <translation>Open a note file</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/notepad/NotepadPlugin.cpp" line="138"/>
+ <source>Name:</source>
+ <translation>Name:</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/notepad/NotepadPlugin.cpp" line="140"/>
+ <source>Invalid Note Name: Try Again</source>
+ <translation>Invalid Note Name: Try Again</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/notepad/NotepadPlugin.cpp" line="141"/>
+ <source>Select a Note Name</source>
+ <translation>Select a Note Name</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/notepad/NotepadPlugin.cpp" line="168"/>
+ <source>Open Text File</source>
+ <translation>Open Text File</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/notepad/NotepadPlugin.cpp" line="169"/>
+ <source>Create a Note</source>
+ <translation>Create a Note</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/notepad/NotepadPlugin.cpp" line="172"/>
+ <source>Rename Note</source>
+ <translation>Rename Note</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/notepad/NotepadPlugin.cpp" line="173"/>
+ <source>Delete Note</source>
+ <translation>Delete Note</translation>
+ </message>
+</context>
+<context>
+ <name>PPlayerWidget</name>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.ui" line="14"/>
+ <source>Form</source>
+ <translation type="unfinished">Form</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="69"/>
+ <source>Clear Playlist</source>
+ <translation type="unfinished">Clear Playlist</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="70"/>
+ <source>Shuffle Playlist</source>
+ <translation type="unfinished">Shuffle Playlist</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="72"/>
+ <source>Add Files</source>
+ <translation type="unfinished">Add Files</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="73"/>
+ <source>Add Directory</source>
+ <translation type="unfinished">Add Directory</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="74"/>
+ <source>Add URL</source>
+ <translation type="unfinished">Add URL</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="102"/>
+ <source>Multimedia Files</source>
+ <translation type="unfinished">Multimedia Files</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="103"/>
+ <source>Select Multimedia Files</source>
+ <translation type="unfinished">Select Multimedia Files</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="130"/>
+ <source>Select Multimedia Directory</source>
+ <translation type="unfinished">Select Multimedia Directory</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="159"/>
+ <source>Enter a valid URL for a multimedia file or stream:</source>
+ <translation type="unfinished">Enter a valid URL for a multimedia file or stream:</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="161"/>
+ <source>Multimedia URL</source>
+ <translation type="unfinished">Multimedia URL</translation>
+ </message>
+</context>
+<context>
+ <name>PlayerWidget</name>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.ui" line="14"/>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.cpp" line="69"/>
+ <source>Clear Playlist</source>
+ <translation>Clear Playlist</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.cpp" line="70"/>
+ <source>Shuffle Playlist</source>
+ <translation>Shuffle Playlist</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.cpp" line="72"/>
+ <source>Add Files</source>
+ <translation>Add Files</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.cpp" line="73"/>
+ <source>Add Directory</source>
+ <translation>Add Directory</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.cpp" line="74"/>
+ <source>Add URL</source>
+ <translation>Add URL</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.cpp" line="102"/>
+ <source>Multimedia Files</source>
+ <translation>Multimedia Files</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.cpp" line="103"/>
+ <source>Select Multimedia Files</source>
+ <translation>Select Multimedia Files</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.cpp" line="130"/>
+ <source>Select Multimedia Directory</source>
+ <translation>Select Multimedia Directory</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.cpp" line="159"/>
+ <source>Enter a valid URL for a multimedia file or stream:</source>
+ <translation>Enter a valid URL for a multimedia file or stream:</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/audioplayer/PlayerWidget.cpp" line="161"/>
+ <source>Multimedia URL</source>
+ <translation>Multimedia URL</translation>
+ </message>
+</context>
+<context>
+ <name>RSSFeedPlugin</name>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="14"/>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="62"/>
+ <source>View Options</source>
+ <translation>View Options</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="89"/>
+ <source>Open Website</source>
+ <translation>Open Website</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="92"/>
+ <source>More</source>
+ <translation>More</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="154"/>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="245"/>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="391"/>
+ <source>Back to Feeds</source>
+ <translation>Back to Feeds</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="172"/>
+ <source>Feed Information</source>
+ <translation>Feed Information</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="212"/>
+ <source>Remove Feed</source>
+ <translation>Remove Feed</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="263"/>
+ <source>New Feed Subscription</source>
+ <translation>New Feed Subscription</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="287"/>
+ <source>RSS URL</source>
+ <translation>RSS URL</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="302"/>
+ <source>Load a preset RSS Feed</source>
+ <translation>Load a preset RSS Feed</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="332"/>
+ <source>Add to Feeds</source>
+ <translation>Add to Feeds</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="409"/>
+ <source>Feed Reader Settings</source>
+ <translation>Feed Reader Settings</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="430"/>
+ <source>Manual Sync Only</source>
+ <translation>Manual Sync Only</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="437"/>
+ <source>Some RSS feeds may request custom update intervals instead of using this setting</source>
+ <translation>Some RSS feeds may request custom update intervals instead of using this setting</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="440"/>
+ <source>Default Sync Interval</source>
+ <translation>Default Sync Interval</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="471"/>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="483"/>
+ <source>Hour(s)</source>
+ <translation>Hour(s)</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="478"/>
+ <source>Minutes</source>
+ <translation>Minutes</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.ui" line="522"/>
+ <source>Save Settings</source>
+ <translation>Save Settings</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="70"/>
+ <source>Add RSS Feed</source>
+ <translation>Add RSS Feed</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="71"/>
+ <source>View Feed Details</source>
+ <translation>View Feed Details</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="72"/>
+ <source>Settings</source>
+ <translation>Settings</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="74"/>
+ <source>Update Feeds Now</source>
+ <translation>Update Feeds Now</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="78"/>
+ <source>Lumina Desktop RSS</source>
+ <translation>Lumina Desktop RSS</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="143"/>
+ <source>Feed URL: %1</source>
+ <translation>Feed URL: %1</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="144"/>
+ <source>Title: %1</source>
+ <translation>Title: %1</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="145"/>
+ <source>Description: %1</source>
+ <translation>Description: %1</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="146"/>
+ <source>Website: %1</source>
+ <translation>Website: %1</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="147"/>
+ <source>Last Build Date: %1</source>
+ <translation>Last Build Date: %1</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="148"/>
+ <source>Last Sync: %1</source>
+ <translation>Last Sync: %1</translation>
+ </message>
+ <message>
+ <location filename="../desktop-plugins/rssreader/RSSFeedPlugin.cpp" line="149"/>
+ <source>Next Sync: %1</source>
+ <translation>Next Sync: %1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <location filename="../SettingsMenu.cpp" line="30"/>
+ <source>Screensaver</source>
+ <translation>Screensaver</translation>
+ </message>
+ <message>
+ <location filename="../SettingsMenu.cpp" line="26"/>
+ <source>Preferences</source>
+ <translation>Preferences</translation>
+ </message>
+ <message>
+ <location filename="../SettingsMenu.cpp" line="33"/>
+ <source>Wallpaper</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../SettingsMenu.cpp" line="36"/>
+ <source>Display</source>
+ <translation>Display</translation>
+ </message>
+ <message>
+ <location filename="../SettingsMenu.cpp" line="39"/>
+ <source>All Desktop Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../SettingsMenu.cpp" line="54"/>
+ <source>Control Panel</source>
+ <translation>Control Panel</translation>
+ </message>
+ <message>
+ <location filename="../SettingsMenu.cpp" line="59"/>
+ <source>About Lumina</source>
+ <translation>About Lumina</translation>
+ </message>
+</context>
+<context>
+ <name>StartMenu</name>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="14"/>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="38"/>
+ <source>Type to search</source>
+ <translation>Type to search</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="171"/>
+ <source>Browse Files</source>
+ <translation>Browse Files</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="199"/>
+ <source>Browse Applications</source>
+ <translation>Browse Applications</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="234"/>
+ <source>Control Panel</source>
+ <translation>Control Panel</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="305"/>
+ <source>Leave</source>
+ <translation>Leave</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="379"/>
+ <source>Manage Applications</source>
+ <translation>Manage Applications</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="408"/>
+ <source>Show Categories</source>
+ <translation>Show Categories</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="488"/>
+ <source>Configure Desktop</source>
+ <translation>Configure Desktop</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="924"/>
+ <source>Suspend</source>
+ <translation type="unfinished">Suspend</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="989"/>
+ <source>Restart</source>
+ <translation type="unfinished">Restart</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="1017"/>
+ <source>Power Off</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="1065"/>
+ <source>Log Out</source>
+ <translation type="unfinished">Log Out</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="262"/>
+ <source>Preferences</source>
+ <translation>Preferences</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="1036"/>
+ <source>(System Performing Updates)</source>
+ <translation>(System Performing Updates)</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.ui" line="1125"/>
+ <source>Back</source>
+ <translation>Back</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.cpp" line="292"/>
+ <source>Apply Updates?</source>
+ <translation>Apply Updates?</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.cpp" line="292"/>
+ <source>You have system updates waiting to be applied! Do you wish to install them now?</source>
+ <translation>You have system updates waiting to be applied! Do you wish to install them now?</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.cpp" line="500"/>
+ <source>%1% (Plugged In)</source>
+ <translation>%1% (Plugged In)</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.cpp" line="504"/>
+ <source>%1% (%2 Estimated)</source>
+ <translation>%1% (%2 Estimated)</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.cpp" line="505"/>
+ <source>%1% Remaining</source>
+ <translation>%1% Remaining</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/systemstart/StartMenu.cpp" line="521"/>
+ <location filename="../panel-plugins/systemstart/StartMenu.cpp" line="680"/>
+ <location filename="../panel-plugins/systemstart/StartMenu.cpp" line="691"/>
+ <source>Workspace %1/%2</source>
+ <translation>Workspace %1/%2</translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <location filename="../SystemWindow.ui" line="14"/>
+ <source>System Options</source>
+ <translation>System Options</translation>
+ </message>
+ <message>
+ <location filename="../SystemWindow.ui" line="55"/>
+ <source>Log Out</source>
+ <translation>Log Out</translation>
+ </message>
+ <message>
+ <location filename="../SystemWindow.ui" line="71"/>
+ <source>Restart</source>
+ <translation>Restart</translation>
+ </message>
+ <message>
+ <location filename="../SystemWindow.ui" line="87"/>
+ <source>Power Off</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../SystemWindow.ui" line="127"/>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+ <message>
+ <location filename="../SystemWindow.ui" line="156"/>
+ <source>Lock</source>
+ <translation>Lock</translation>
+ </message>
+ <message>
+ <location filename="../SystemWindow.ui" line="172"/>
+ <source>Suspend</source>
+ <translation>Suspend</translation>
+ </message>
+ <message>
+ <location filename="../SystemWindow.cpp" line="57"/>
+ <source>Apply Updates?</source>
+ <translation>Apply Updates?</translation>
+ </message>
+ <message>
+ <location filename="../SystemWindow.cpp" line="57"/>
+ <source>You have system updates waiting to be applied! Do you wish to install them now?</source>
+ <translation>You have system updates waiting to be applied! Do you wish to install them now?</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserItemWidget.cpp" line="33"/>
+ <source>Go Back</source>
+ <translation>Go Back</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserItemWidget.cpp" line="134"/>
+ <source>Remove Shortcut</source>
+ <translation>Remove Shortcut</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserItemWidget.cpp" line="139"/>
+ <source>Delete File</source>
+ <translation>Delete File</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserItemWidget.cpp" line="145"/>
+ <source>Create Shortcut</source>
+ <translation>Create Shortcut</translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="14"/>
+ <source>UserWidget</source>
+ <translation>UserWidget</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="24"/>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="27"/>
+ <source>Favorites</source>
+ <translation>Favourites</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="65"/>
+ <source>Favorite Applications</source>
+ <translation>Favourite Applications</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="68"/>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="187"/>
+ <source>Applications</source>
+ <translation>Applications</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="102"/>
+ <source>Favorite Directories</source>
+ <translation>Favourite Dirictories</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="105"/>
+ <source>Places</source>
+ <translation>Places</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="139"/>
+ <source>Favorite FIles</source>
+ <translation>Favourite Files</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="142"/>
+ <source>Files</source>
+ <translation>Files</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="184"/>
+ <source>Apps</source>
+ <translation>Apps</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="290"/>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="330"/>
+ <source>Home</source>
+ <translation>Home</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="293"/>
+ <source>Home Directory</source>
+ <translation>Home Directory</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="322"/>
+ <source>Search this Directory</source>
+ <translation>Search this Directory</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="375"/>
+ <source>Go back to home directory</source>
+ <translation>Go back to home directory</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="350"/>
+ <source>Open Directory</source>
+ <translation>Open Directory</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="458"/>
+ <source>Config</source>
+ <translation>Config</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="461"/>
+ <source>Desktop Preferences</source>
+ <translation>Desktop Preferences</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="473"/>
+ <source>Control Panel</source>
+ <translation>Control Panel</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="495"/>
+ <source>Desktop Appearance/Plugins</source>
+ <translation>Desktop Appearance/Plugins</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="517"/>
+ <source>Screen Configuration</source>
+ <translation>Screen Configuration</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="539"/>
+ <source>Screensaver Settings</source>
+ <translation>Screensaver Settings</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.ui" line="581"/>
+ <source>About the Lumina Desktop</source>
+ <translation>About the Lumina Desktop</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="289"/>
+ <source>All</source>
+ <translation>All</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="290"/>
+ <source>Multimedia</source>
+ <translation>Multimedia</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="291"/>
+ <source>Development</source>
+ <translation>Development</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="292"/>
+ <source>Education</source>
+ <translation>Education</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="293"/>
+ <source>Games</source>
+ <translation>Games</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="294"/>
+ <source>Graphics</source>
+ <translation>Graphics</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="295"/>
+ <source>Network</source>
+ <translation>Network</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="296"/>
+ <source>Office</source>
+ <translation>Office</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="297"/>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="298"/>
+ <source>Settings</source>
+ <translation>Settings</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="299"/>
+ <source>System</source>
+ <translation>System</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="300"/>
+ <source>Utilities</source>
+ <translation>Utilities</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="301"/>
+ <source>Wine</source>
+ <translation>Wine</translation>
+ </message>
+ <message>
+ <location filename="../panel-plugins/userbutton/UserWidget.cpp" line="302"/>
+ <source>Unsorted</source>
+ <translation>Unsorted</translation>
+ </message>
+</context>
+</TS>
diff --git a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_en_GB.ts b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_en_GB.ts
index bbc321e2..b89fb14b 100644
--- a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_en_GB.ts
+++ b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_en_GB.ts
@@ -265,12 +265,12 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="65"/>
- <source>Don't expect to build up the weak by pulling down the strong.</source>
+ <source>Don&apos;t expect to build up the weak by pulling down the strong.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="67"/>
- <source>You can't know too much, but you can say too much.</source>
+ <source>You can&apos;t know too much, but you can say too much.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -350,7 +350,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="99"/>
- <source>Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.</source>
+ <source>Only two things are infinite, the universe and human stupidity, and I&apos;m not sure about the former.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -360,7 +360,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="103"/>
- <source>Do, or do not. There is no 'try'.</source>
+ <source>Do, or do not. There is no &apos;try&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -380,7 +380,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="111"/>
- <source>It's kind of fun to do the impossible.</source>
+ <source>It&apos;s kind of fun to do the impossible.</source>
<translation type="unfinished"></translation>
</message>
<message>
diff --git a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_es.ts b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_es.ts
index ad5bcdff..d1289b1b 100644
--- a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_es.ts
+++ b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_es.ts
@@ -265,12 +265,12 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="65"/>
- <source>Don't expect to build up the weak by pulling down the strong.</source>
+ <source>Don&apos;t expect to build up the weak by pulling down the strong.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="67"/>
- <source>You can't know too much, but you can say too much.</source>
+ <source>You can&apos;t know too much, but you can say too much.</source>
<translation type="unfinished">No puedes saber demasiado, pero puedes decir demasiado.</translation>
</message>
<message>
@@ -350,7 +350,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="99"/>
- <source>Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.</source>
+ <source>Only two things are infinite, the universe and human stupidity, and I&apos;m not sure about the former.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -360,7 +360,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="103"/>
- <source>Do, or do not. There is no 'try'.</source>
+ <source>Do, or do not. There is no &apos;try&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -380,7 +380,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="111"/>
- <source>It's kind of fun to do the impossible.</source>
+ <source>It&apos;s kind of fun to do the impossible.</source>
<translation type="unfinished"></translation>
</message>
<message>
diff --git a/src-qt5/core/lumina-desktop/lumina-desktop.pro b/src-qt5/core/lumina-desktop/lumina-desktop.pro
index 4d0a78ec..d4e57c5c 100644
--- a/src-qt5/core/lumina-desktop/lumina-desktop.pro
+++ b/src-qt5/core/lumina-desktop/lumina-desktop.pro
@@ -128,6 +128,7 @@ TRANSLATIONS = i18n/lumina-desktop_af.ts \
i18n/lumina-desktop_da.ts \
i18n/lumina-desktop_de.ts \
i18n/lumina-desktop_el.ts \
+ i18n/lumina-desktop_en_AU.ts \
i18n/lumina-desktop_en_GB.ts \
i18n/lumina-desktop_en_ZA.ts \
i18n/lumina-desktop_es.ts \
diff --git a/src-qt5/core/lumina-desktop/main.cpp b/src-qt5/core/lumina-desktop/main.cpp
index 5eb58aa9..1b0e5e4d 100644
--- a/src-qt5/core/lumina-desktop/main.cpp
+++ b/src-qt5/core/lumina-desktop/main.cpp
@@ -73,6 +73,7 @@ int main(int argc, char ** argv)
setenv("DESKTOP_SESSION","Lumina",1);
setenv("XDG_CURRENT_DESKTOP","Lumina",1);
unsetenv("QT_QPA_PLATFORMTHEME"); //causes issues with Lumina themes - not many people have this by default...
+ //setenv("QT_QPA_PLATFORMTHEME", "lthemeengine");
unsetenv("QT_AUTO_SCREEN_SCALE_FACTOR"); //causes pixel-specific scaling issues with the desktop - turn this on after-the-fact for other apps
//Startup the session
LSession a(argc, argv);
diff --git a/src-qt5/core/lumina-info/i18n/lumina-info_cs.ts b/src-qt5/core/lumina-info/i18n/lumina-info_cs.ts
index 923e27a1..071addb4 100644
--- a/src-qt5/core/lumina-info/i18n/lumina-info_cs.ts
+++ b/src-qt5/core/lumina-info/i18n/lumina-info_cs.ts
@@ -70,8 +70,8 @@
</message>
<message>
<location filename="../MainUI.ui" line="340"/>
- <source>&lt;a href="https://github.com/beanpole135"&gt;Ken Moore&lt;/a&gt;</source>
- <translation>&lt;a href="https://github.com/beanpole135"&gt;Ken Moore&lt;/a&gt;</translation>
+ <source>&lt;a href=&quot;https://github.com/beanpole135&quot;&gt;Ken Moore&lt;/a&gt;</source>
+ <translation>&lt;a href=&quot;https://github.com/beanpole135&quot;&gt;Ken Moore&lt;/a&gt;</translation>
</message>
<message>
<location filename="../MainUI.ui" line="353"/>
@@ -85,8 +85,8 @@
</message>
<message>
<location filename="../MainUI.ui" line="428"/>
- <source>&lt;a href="https://github.com/pcbsd/lumina/graphs/contributors"&gt;Open in web browser&lt;a&gt;</source>
- <translation>&lt;a href="https://github.com/pcbsd/lumina/graphs/contributors"&gt;Otevřít v prohlížeči&lt;a&gt;</translation>
+ <source>&lt;a href=&quot;https://github.com/pcbsd/lumina/graphs/contributors&quot;&gt;Open in web browser&lt;a&gt;</source>
+ <translation>&lt;a href=&quot;https://github.com/pcbsd/lumina/graphs/contributors&quot;&gt;Otevřít v prohlížeči&lt;a&gt;</translation>
</message>
<message>
<location filename="../MainUI.ui" line="454"/>
diff --git a/src-qt5/core/lumina-info/i18n/lumina-info_en_AU.ts b/src-qt5/core/lumina-info/i18n/lumina-info_en_AU.ts
new file mode 100644
index 00000000..4f3f0706
--- /dev/null
+++ b/src-qt5/core/lumina-info/i18n/lumina-info_en_AU.ts
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en_AU">
+<context>
+ <name>MainUI</name>
+ <message>
+ <location filename="../MainUI.ui" line="14"/>
+ <source>Lumina Desktop Information</source>
+ <translation>Lumina Desktop Information</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="60"/>
+ <source>General</source>
+ <translation>General</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="89"/>
+ <source>Source Repository</source>
+ <translation>Source Repository</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="124"/>
+ <source>Lumina Website</source>
+ <translation>Lumina Website</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="152"/>
+ <source>Bug Reports</source>
+ <translation>Bug Reports</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="179"/>
+ <source>Desktop Version:</source>
+ <translation>Desktop Version:</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="202"/>
+ <source>OS Build:</source>
+ <translation>OS Build:</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="218"/>
+ <source>Qt Version:</source>
+ <translation>Qt Version:</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="276"/>
+ <source>Ask the Community</source>
+ <translation>Ask the Community</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="233"/>
+ <source>View Information</source>
+ <translation>View Information</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="298"/>
+ <source>License</source>
+ <translation>Licence</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="315"/>
+ <source>Acknowledgements</source>
+ <translation>Acknowledgements</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="333"/>
+ <source>Project Lead:</source>
+ <translation>Project Lead:</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="340"/>
+ <source>&lt;a href=&quot;https://github.com/beanpole135&quot;&gt;Ken Moore&lt;/a&gt;</source>
+ <translation>&lt;a href=&quot;https://github.com/beanpole135&quot;&gt;Ken Moore&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="353"/>
+ <source>Contributors:</source>
+ <translation>Contributors:</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="366"/>
+ <source>Sponsors:</source>
+ <translation>Sponsors:</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="428"/>
+ <source>&lt;a href=&quot;https://github.com/pcbsd/lumina/graphs/contributors&quot;&gt;Open in web browser&lt;a&gt;</source>
+ <translation>&lt;a href=&quot;https://github.com/pcbsd/lumina/graphs/contributors&quot;&gt;Open in web browser&lt;a&gt;</translation>
+ </message>
+ <message>
+ <location filename="../MainUI.ui" line="454"/>
+ <source>Close</source>
+ <translation>Close</translation>
+ </message>
+</context>
+</TS>
diff --git a/src-qt5/core/lumina-info/lumina-info.pro b/src-qt5/core/lumina-info/lumina-info.pro
index 3ba1f527..ec36e9af 100644
--- a/src-qt5/core/lumina-info/lumina-info.pro
+++ b/src-qt5/core/lumina-info/lumina-info.pro
@@ -41,6 +41,7 @@ TRANSLATIONS = i18n/lumina-info_af.ts \
i18n/lumina-info_el.ts \
i18n/lumina-info_en_GB.ts \
i18n/lumina-info_en_ZA.ts \
+ i18n/lumina-info_en_AU.ts \
i18n/lumina-info_es.ts \
i18n/lumina-info_et.ts \
i18n/lumina-info_eu.ts \
diff --git a/src-qt5/core/lumina-open/i18n/lumina-open_cs.ts b/src-qt5/core/lumina-open/i18n/lumina-open_cs.ts
index 6a32e742..3123825f 100644
--- a/src-qt5/core/lumina-open/i18n/lumina-open_cs.ts
+++ b/src-qt5/core/lumina-open/i18n/lumina-open_cs.ts
@@ -195,7 +195,7 @@
</message>
<message>
<location filename="../main.cpp" line="370"/>
- <source>Could not find "%1". Please ensure it is installed first.</source>
+ <source>Could not find &quot;%1&quot;. Please ensure it is installed first.</source>
<translation>Nepodařilo se najít „%1“. Nejprve zajistěte, aby bylo nainstalované.</translation>
</message>
<message>
diff --git a/src-qt5/core/lumina-open/i18n/lumina-open_en_AU.ts b/src-qt5/core/lumina-open/i18n/lumina-open_en_AU.ts
new file mode 100644
index 00000000..535b6209
--- /dev/null
+++ b/src-qt5/core/lumina-open/i18n/lumina-open_en_AU.ts
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en_AU">
+<context>
+ <name>LFileDialog</name>
+ <message>
+ <location filename="../LFileDialog.ui" line="14"/>
+ <source>Open With...</source>
+ <translation>Open With...</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.ui" line="68"/>
+ <source>Preferred</source>
+ <translation>Preferred</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.ui" line="75"/>
+ <source>Available</source>
+ <translation>Available</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.ui" line="82"/>
+ <source>Custom</source>
+ <translation>Custom</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.ui" line="131"/>
+ <source>Binary Location</source>
+ <translation>Binary Location</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.ui" line="138"/>
+ <source>Find</source>
+ <translation>Find</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.ui" line="199"/>
+ <source>Set this application as the default </source>
+ <translation>Set this application as the default </translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.ui" line="221"/>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.ui" line="235"/>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="40"/>
+ <source>(Email Link)</source>
+ <translation>(Email Link)</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="41"/>
+ <source>(Internet URL - %1)</source>
+ <translation>(Internet URL - %1)</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="114"/>
+ <source>Audio</source>
+ <translation>Audio</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="115"/>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="116"/>
+ <source>Multimedia</source>
+ <translation>Multimedia</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="117"/>
+ <source>Development</source>
+ <translation>Development</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="118"/>
+ <source>Education</source>
+ <translation>Education</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="119"/>
+ <source>Game</source>
+ <translation>Game</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="120"/>
+ <source>Graphics</source>
+ <translation>Graphics</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="121"/>
+ <source>Network</source>
+ <translation>Network</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="122"/>
+ <source>Office</source>
+ <translation>Office</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="123"/>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="124"/>
+ <source>Settings</source>
+ <translation>Settings</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="125"/>
+ <source>System</source>
+ <translation>System</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="126"/>
+ <source>Utilities</source>
+ <translation>Utilities</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="127"/>
+ <source>Other</source>
+ <translation>Other</translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="211"/>
+ <source>[default] </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../LFileDialog.cpp" line="278"/>
+ <source>Find Application Binary</source>
+ <translation>Find Application Binary</translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../main.cpp" line="53"/>
+ <source>File Error</source>
+ <translation>File Error</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="191"/>
+ <location filename="../main.cpp" line="197"/>
+ <source>Audio Volume %1%</source>
+ <translation>Audio Volume %1%</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="205"/>
+ <location filename="../main.cpp" line="214"/>
+ <source>Screen Brightness %1%</source>
+ <translation>Screen Brightness %1%</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="246"/>
+ <source>Invalid file or URL: %1</source>
+ <translation>Invalid file or URL: %1</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="267"/>
+ <source>Application entry is invalid: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="278"/>
+ <source>Application shortcut is missing the launching information (malformed shortcut): %1</source>
+ <translation>Application shortcut is missing the launch information (malformed shortcut): %1</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="291"/>
+ <source>URL shortcut is missing the URL: %1</source>
+ <translation>URL shortcut is missing the URL: %1</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="302"/>
+ <source>Directory shortcut is missing the path to the directory: %1</source>
+ <translation>Directory shortcut is missing the path to the directory: %1</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="307"/>
+ <source>Unknown type of shortcut : %1</source>
+ <translation>Unknown type of shortcut: %1</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="370"/>
+ <source>Binary Missing</source>
+ <translation>Binary Missing</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="370"/>
+ <source>Could not find &quot;%1&quot;. Please ensure it is installed first.</source>
+ <translation>Could not find &quot;%1&quot;. Please ensure it is installed first.</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="421"/>
+ <source>Application Error</source>
+ <translation>Application Error</translation>
+ </message>
+ <message>
+ <location filename="../main.cpp" line="421"/>
+ <source>The following application experienced an error and needed to close:</source>
+ <translation>The following application experienced an error and needed to close:</translation>
+ </message>
+</context>
+</TS>
diff --git a/src-qt5/core/lumina-open/lumina-open.pro b/src-qt5/core/lumina-open/lumina-open.pro
index 1110a2fa..b31c7a0e 100644
--- a/src-qt5/core/lumina-open/lumina-open.pro
+++ b/src-qt5/core/lumina-open/lumina-open.pro
@@ -36,6 +36,7 @@ TRANSLATIONS = i18n/lumina-open_af.ts \
i18n/lumina-open_el.ts \
i18n/lumina-open_en_GB.ts \
i18n/lumina-open_en_ZA.ts \
+ i18n/lumina-open_en_AU.ts \
i18n/lumina-open_es.ts \
i18n/lumina-open_et.ts \
i18n/lumina-open_eu.ts \
diff --git a/src-qt5/core/lumina-session/session.cpp b/src-qt5/core/lumina-session/session.cpp
index de9b86ee..48a25a8f 100644
--- a/src-qt5/core/lumina-session/session.cpp
+++ b/src-qt5/core/lumina-session/session.cpp
@@ -89,7 +89,7 @@ void LSession::start(bool unified){
QSettings sessionsettings("lumina-desktop","sessionsettings");
QString WM = sessionsettings.value("WindowManager", "fluxbox").toString();
//Window Manager First
- if(WM=="fluxbox"){
+ if(WM=="fluxbox" || WM.endsWith("/fluxbox") || WM.isEmpty() ){
// FLUXBOX BUG BYPASS: if the ~/.fluxbox dir does not exist, it will ignore the given config file
if( !LUtils::isValidBinary("fluxbox") ){
qDebug() << "[INCOMPLETE LUMINA INSTALLATION] fluxbox binary is missing - cannot continue";
diff --git a/src-qt5/core/lumina-session/session.h b/src-qt5/core/lumina-session/session.h
index 99127c07..caa61ad6 100644
--- a/src-qt5/core/lumina-session/session.h
+++ b/src-qt5/core/lumina-session/session.h
@@ -19,15 +19,15 @@ private:
QString id;
private slots:
void filechanged(QString path){
- qDebug() << "File Changed:" << path;
- qDebug() << " - Program:" << this->program();
+ //qDebug() << "File Changed:" << path;
+ //qDebug() << " - Program:" << this->program();
if(watcher==0){ return; } //just in case
if(this->state()==QProcess::Running){
- if(this->program().section(" ",0,0).section("/",-1) == "fluxbox" ){
- qDebug() << "Sending Fluxbox signal to reload configs...";
+ if(this->program().section(" ",0,0).section("/",-1) == "fluxbox" ){
+ // qDebug() << "Sending Fluxbox signal to reload configs...";
::kill(this->pid(), SIGUSR2); } //Fluxbox needs SIGUSR2 to reload it's configs
- else if(this->program().section(" ",0,0).section("/",-1) == "compton" ){
- qDebug() << "Sending Compton signal to reload configs...";
+ else if(this->program().section(" ",0,0).section("/",-1) == "compton" ){
+ //qDebug() << "Sending Compton signal to reload configs...";
::kill(this->pid(), SIGUSR1); } //Compton needs SIGUSR1 to reload it's configs
}
//Now make sure this file/dir was not removed from the watcher
@@ -40,7 +40,7 @@ public:
id=ID;
watcher = 0;
if(!watchfiles.isEmpty()){
- qDebug() << "Watch Files for changes:" << ID << watchfiles;
+ //qDebug() << "Watch Files for changes:" << ID << watchfiles;
watcher = new QFileSystemWatcher(this);
connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT(filechanged(QString)) );
connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(filechanged(QString)) );
@@ -74,5 +74,5 @@ public:
~LSession(){ }
void start(bool unified = false);
-
+
};
diff --git a/src-qt5/core/lumina-theme-engine/lthemeengine.pri b/src-qt5/core/lumina-theme-engine/lthemeengine.pri
index be67734b..aa8a58bb 100644
--- a/src-qt5/core/lumina-theme-engine/lthemeengine.pri
+++ b/src-qt5/core/lumina-theme-engine/lthemeengine.pri
@@ -8,18 +8,10 @@ QMAKE_DISTCLEAN += -r .build
CONFIG += c++11
-!isEqual (QT_MAJOR_VERSION, 5) {
- error("Use Qt 5.4.0 or higher.")
-}
-
-!greaterThan(QT_MINOR_VERSION, 3) {
- error("Use Qt 5.4.0 or higher.")
-}
-
#Install paths
unix {
isEmpty(PREFIX) {
- PREFIX = /usr
+ PREFIX = /usr/local/
}
isEmpty(PLUGINDIR) {
PLUGINDIR = $$[QT_INSTALL_PLUGINS]
diff --git a/src-qt5/core/lumina-theme-engine/lthemeengine.pro b/src-qt5/core/lumina-theme-engine/lthemeengine.pro
index d8ba709e..e3cb47b1 100644
--- a/src-qt5/core/lumina-theme-engine/lthemeengine.pro
+++ b/src-qt5/core/lumina-theme-engine/lthemeengine.pro
@@ -1,5 +1,7 @@
-QT += core gui
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets x11extras network
+QT += core gui widgets x11extras network
+!isEqual (QT_MAJOR_VERSION, 5) {
+ error("Use Qt 5.4.0 or higher.")
+}
QMAKE_DISTCLEAN += -r .build
@@ -11,7 +13,7 @@ desktop.path=$${L_SHAREDIR}/applications/
#Install paths
unix {
isEmpty(PREFIX) {
- PREFIX = /usr
+ PREFIX = /usr/local
}
isEmpty(PLUGINDIR) {
PLUGINDIR = $$[QT_INSTALL_PLUGINS]
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengine-qtplugin.pro b/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengine-qtplugin.pro
index 064c7642..a186cd49 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengine-qtplugin.pro
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengine-qtplugin.pro
@@ -19,10 +19,6 @@ SOURCES += \
lthemeengineplatformtheme.cpp \
../lthemeengine/lthemeengine.cpp
-!equals (DISABLE_WIDGETS,1) {
- QT += widgets
-}
-
OTHER_FILES += lthemeengine.json
INCLUDEPATH += ../
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengineplatformtheme.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengineplatformtheme.cpp
index dcede34c..9d6c9bea 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengineplatformtheme.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/lthemeengineplatformtheme.cpp
@@ -82,8 +82,7 @@ const QPalette *lthemeenginePlatformTheme::palette(QPlatformTheme::Palette type)
}
const QFont *lthemeenginePlatformTheme::font(QPlatformTheme::Font type) const{
- if(type == QPlatformTheme::FixedFont)
- return &m_fixedFont;
+ if(type == QPlatformTheme::FixedFont){ return &m_fixedFont; }
return &m_generalFont;
}
@@ -105,16 +104,15 @@ QVariant lthemeenginePlatformTheme::themeHint(QPlatformTheme::ThemeHint hint) co
}
void lthemeenginePlatformTheme::applySettings(){
- if(!QGuiApplication::desktopSettingsAware())
- return;
+ if(!QGuiApplication::desktopSettingsAware()){ return; }
#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
- if(!m_update){
- //do not override application palette
- if(QCoreApplication::testAttribute(Qt::AA_SetPalette)){
- m_usePalette = false;
- qCDebug(llthemeengine) << "palette support is disabled";
- }
- }
+ if(!m_update){
+ //do not override application palette
+ if(QCoreApplication::testAttribute(Qt::AA_SetPalette)){
+ m_usePalette = false;
+ qCDebug(llthemeengine) << "palette support is disabled";
+ }
+ }
#endif
#ifdef QT_WIDGETS_LIB
if(hasWidgets()){
@@ -127,36 +125,29 @@ void lthemeenginePlatformTheme::applySettings(){
#else
qApp->setWheelScrollLines(m_wheelScrollLines);
#endif
- if(m_update && qApp->style()->objectName() == "lthemeengine-style") //ignore application style
- qApp->setStyle("lthemeengine-style"); //recreate style object
- if(m_update && m_usePalette){
- if(m_customPalette)
- qApp->setPalette(*m_customPalette);
- else
- qApp->setPalette(qApp->style()->standardPalette());
- }
+ if(m_update && qApp->style()->objectName() == "lthemeengine-style") /* ignore application style */ { qApp->setStyle("lthemeengine-style"); } //recreate style object
+ if(m_update && m_usePalette){
+ if(m_customPalette){ qApp->setPalette(*m_customPalette); }
+ else{ qApp->setPalette(qApp->style()->standardPalette()); }
+ }
//do not override application style
- if(m_prevStyleSheet == qApp->styleSheet())
- qApp->setStyleSheet(m_userStyleSheet);
- else
- qCDebug(llthemeengine) << "custom style sheet is disabled";
- m_prevStyleSheet = m_userStyleSheet;
+ if(m_prevStyleSheet == qApp->styleSheet()){ qApp->setStyleSheet(m_userStyleSheet); }
+ else{ qCDebug(llthemeengine) << "custom style sheet is disabled";}
+ m_prevStyleSheet = m_userStyleSheet;
}
#endif
QGuiApplication::setFont(m_generalFont); //apply font
QIcon::setThemeName(m_iconTheme); //apply icons
- if(m_customPalette && m_usePalette)
- QGuiApplication::setPalette(*m_customPalette); //apply palette
+ if(m_customPalette && m_usePalette){ QGuiApplication::setPalette(*m_customPalette); } //apply palette
#ifdef QT_WIDGETS_LIB
- if(hasWidgets()){
- foreach (QWidget *w, qApp->allWidgets()){
+ if(hasWidgets()){
+ foreach (QWidget *w, qApp->allWidgets()){
QEvent e(QEvent::ThemeChange);
QApplication::sendEvent(w, &e);
}
}
#endif
- if(!m_update)
- m_update = true;
+ if(!m_update){ m_update = true; }
}
#ifdef QT_WIDGETS_LIB
@@ -210,20 +201,13 @@ void lthemeenginePlatformTheme::readSettings(){
if(settings.childKeys().contains("gui_effects")){
QStringList effectList = settings.value("gui_effects").toStringList();
m_uiEffects = 0;
- if(effectList.contains("General"))
- m_uiEffects |= QPlatformTheme::GeneralUiEffect;
- if(effectList.contains("AnimateMenu"))
- m_uiEffects |= QPlatformTheme::AnimateMenuUiEffect;
- if(effectList.contains("FadeMenu"))
- m_uiEffects |= QPlatformTheme::FadeMenuUiEffect;
- if(effectList.contains("AnimateCombo"))
- m_uiEffects |= QPlatformTheme::AnimateComboUiEffect;
- if(effectList.contains("AnimateTooltip"))
- m_uiEffects |= QPlatformTheme::AnimateTooltipUiEffect;
- if(effectList.contains("FadeTooltip"))
- m_uiEffects |= QPlatformTheme::FadeTooltipUiEffect;
- if(effectList.contains("AnimateToolBox"))
- m_uiEffects |= QPlatformTheme::AnimateToolBoxUiEffect;
+ if(effectList.contains("General")){ m_uiEffects |= QPlatformTheme::GeneralUiEffect; }
+ if(effectList.contains("AnimateMenu")){ m_uiEffects |= QPlatformTheme::AnimateMenuUiEffect; }
+ if(effectList.contains("FadeMenu")){ m_uiEffects |= QPlatformTheme::FadeMenuUiEffect; }
+ if(effectList.contains("AnimateCombo")){ m_uiEffects |= QPlatformTheme::AnimateComboUiEffect; }
+ if(effectList.contains("AnimateTooltip")){ m_uiEffects |= QPlatformTheme::AnimateTooltipUiEffect; }
+ if(effectList.contains("FadeTooltip")){ m_uiEffects |= QPlatformTheme::FadeTooltipUiEffect; }
+ if(effectList.contains("AnimateToolBox")){ m_uiEffects |= QPlatformTheme::AnimateToolBoxUiEffect; }
}
//load style sheets
#ifdef QT_WIDGETS_LIB
@@ -242,8 +226,7 @@ bool lthemeenginePlatformTheme::hasWidgets(){
QString lthemeenginePlatformTheme::loadStyleSheets(const QStringList &paths){
QString content;
foreach (QString path, paths){
- if(!QFile::exists(path))
- continue;
+ if(!QFile::exists(path)){ continue; }
QFile file(path);
file.open(QIODevice::ReadOnly);
content.append(file.readAll());
@@ -270,8 +253,6 @@ QPalette lthemeenginePlatformTheme::loadColorScheme(const QString &filePath){
customPalette.setColor(QPalette::Disabled, role, QColor(disabledColors.at(i)));
}
}
- else{
- customPalette = *QPlatformTheme::palette(SystemPalette); //load fallback palette
- }
+ else{ customPalette = *QPlatformTheme::palette(SystemPalette); } //load fallback palette
return customPalette;
}
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/main.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/main.cpp
index 12e4a581..28898890 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/main.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine-qtplugin/main.cpp
@@ -11,10 +11,9 @@ public:
};
QPlatformTheme *lthemeenginePlatformThemePlugin::create(const QString &key, const QStringList &params){
- Q_UNUSED(params);
- if (key.toLower() == "lthemeengine")
- return new lthemeenginePlatformTheme();
- return NULL;
+ Q_UNUSED(params);
+ if (key.toLower() == "lthemeengine") { return new lthemeenginePlatformTheme(); }
+ return NULL;
}
QT_END_NAMESPACE
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/lthemeengineproxystyle.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/lthemeengineproxystyle.cpp
index 2c66144f..a560a36a 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/lthemeengineproxystyle.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/lthemeengineproxystyle.cpp
@@ -14,16 +14,12 @@ lthemeengineProxyStyle::~lthemeengineProxyStyle(){
int lthemeengineProxyStyle::styleHint(QStyle::StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returnData) const{
if(hint == QStyle::SH_DialogButtonBox_ButtonsHaveIcons){
- if(m_dialogButtonsHaveIcons == Qt::Unchecked)
- return 0;
- else if(m_dialogButtonsHaveIcons == Qt::Checked)
- return 1;
+ if(m_dialogButtonsHaveIcons == Qt::Unchecked){ return 0; }
+ else if(m_dialogButtonsHaveIcons == Qt::Checked){ return 1; }
}
else if(hint == QStyle::QStyle::SH_ItemView_ActivateItemOnSingleClick){
- if(m_activateItemOnSingleClick == Qt::Unchecked)
- return 0;
- else if(m_activateItemOnSingleClick == Qt::Checked)
- return 1;
+ if(m_activateItemOnSingleClick == Qt::Unchecked){ return 0; }
+ else if(m_activateItemOnSingleClick == Qt::Checked){ return 1; }
}
return QProxyStyle::styleHint(hint, option, widget, returnData);
}
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/plugin.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/plugin.cpp
index fb9e5fb2..31c59a0c 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/plugin.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine-style/plugin.cpp
@@ -13,15 +13,13 @@ public:
};
QStyle *lthemeengineStylePlugin::create(const QString &key){
- if (key == "lthemeengine-style")
- {
- QSettings settings(lthemeengine::configFile(), QSettings::IniFormat);
- QString style = settings.value("Appearance/style", "Fusion").toString();
- if(key == style || !QStyleFactory::keys().contains(style))
- style = "Fusion";
- return new lthemeengineProxyStyle(style);
+ if (key == "lthemeengine-style"){
+ QSettings settings(lthemeengine::configFile(), QSettings::IniFormat);
+ QString style = settings.value("Appearance/style", "Fusion").toString();
+ if(key == style || !QStyleFactory::keys().contains(style)){ style = "Fusion"; }
+ return new lthemeengineProxyStyle(style);
}
- return 0;
+ return 0;
}
#include "plugin.moc"
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.cpp
index 95f2c9b7..4d585409 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/appearancepage.cpp
@@ -42,8 +42,7 @@ AppearancePage::AppearancePage(QWidget *parent) : TabPage(parent), m_ui(new Ui::
}
AppearancePage::~AppearancePage(){
- if(m_selectedStyle)
- delete m_selectedStyle;
+ if(m_selectedStyle){ delete m_selectedStyle; }
delete m_ui;
delete m_previewUi;
}
@@ -59,13 +58,11 @@ void AppearancePage::writeSettings(){
void AppearancePage::on_styleComboBox_activated(const QString &text){
QStyle *style = QStyleFactory::create(text);
- if(!style)
- return;
- setStyle(m_previewWidget, style);
- if(m_selectedStyle)
- delete m_selectedStyle;
- m_selectedStyle = style;
- updatePalette();
+ if(!style){ return; }
+ setStyle(m_previewWidget, style);
+ if(m_selectedStyle){ delete m_selectedStyle; }
+ m_selectedStyle = style;
+ updatePalette();
}
void AppearancePage::on_colorSchemeComboBox_activated(int){
@@ -75,94 +72,84 @@ void AppearancePage::on_colorSchemeComboBox_activated(int){
void AppearancePage::createColorScheme(){
QString name = QInputDialog::getText(this, tr("Enter Color Scheme Name"), tr("File name:"));
- if(name.isEmpty())
+ if(name.isEmpty()){ return; }
+ if(!name.endsWith(".conf", Qt::CaseInsensitive)){ name.append(".conf"); }
+ if(m_ui->colorSchemeComboBox->findText(name.section('.',0,0)) != -1){
+ QMessageBox::warning(this, tr("Error"), tr("The color scheme \"%1\" already exists").arg(name.section('.',0,0)));
return;
- if(!name.endsWith(".conf", Qt::CaseInsensitive))
- name.append(".conf");
- if(m_ui->colorSchemeComboBox->findText(name.section('.',0,0)) != -1){
- QMessageBox::warning(this, tr("Error"), tr("The color scheme \"%1\" already exists").arg(name.section('.',0,0)));
- return;
- }
- QString schemePath = lthemeengine::userColorSchemePath() + "/" + name;
- createColorScheme(schemePath, palette());
- m_ui->colorSchemeComboBox->addItem(name.section('.',0,0), schemePath);
+ }
+ QString schemePath = lthemeengine::userColorSchemePath() + "/" + name;
+ createColorScheme(schemePath, palette());
+ m_ui->colorSchemeComboBox->addItem(name.section('.',0,0), schemePath);
}
void AppearancePage::changeColorScheme(){
- if(m_ui->colorSchemeComboBox->currentIndex() < 0)
+ if(m_ui->colorSchemeComboBox->currentIndex() < 0){ return; }
+ if(!QFileInfo(m_ui->colorSchemeComboBox->currentData().toString()).isWritable()){
+ QMessageBox::information(this, tr("Warning"), tr("The color scheme \"%1\" is read only").arg(m_ui->colorSchemeComboBox->currentText()));
return;
- if(!QFileInfo(m_ui->colorSchemeComboBox->currentData().toString()).isWritable()){
- QMessageBox::information(this, tr("Warning"), tr("The color scheme \"%1\" is read only").arg(m_ui->colorSchemeComboBox->currentText()));
- return;
}
- PaletteEditDialog d(m_customPalette, m_selectedStyle, this);
- connect(&d, SIGNAL(paletteChanged(QPalette)), SLOT(setPreviewPalette(QPalette)));
- if(d.exec() == QDialog::Accepted){
- m_customPalette = d.selectedPalette();
- createColorScheme(m_ui->colorSchemeComboBox->currentData().toString(), m_customPalette);
+ PaletteEditDialog d(m_customPalette, m_selectedStyle, this);
+ connect(&d, SIGNAL(paletteChanged(QPalette)), SLOT(setPreviewPalette(QPalette)));
+ if(d.exec() == QDialog::Accepted){
+ m_customPalette = d.selectedPalette();
+ createColorScheme(m_ui->colorSchemeComboBox->currentData().toString(), m_customPalette);
}
- updatePalette();
+ updatePalette();
}
void AppearancePage::removeColorScheme(){
int index = m_ui->colorSchemeComboBox->currentIndex();
- if(index < 0 || m_ui->colorSchemeComboBox->count() <= 1)
+ if(index < 0 || m_ui->colorSchemeComboBox->count() <= 1){ return; }
+ if(!QFileInfo(m_ui->colorSchemeComboBox->currentData().toString()).isWritable()){
+ QMessageBox::information(this, tr("Warning"), tr("The color scheme \"%1\" is read only").arg(m_ui->colorSchemeComboBox->currentText()));
return;
- if(!QFileInfo(m_ui->colorSchemeComboBox->currentData().toString()).isWritable()){
- QMessageBox::information(this, tr("Warning"), tr("The color scheme \"%1\" is read only").arg(m_ui->colorSchemeComboBox->currentText()));
- return;
}
- int button = QMessageBox::question(this, tr("Confirm Remove"),tr("Are you sure you want to remove color scheme \"%1\"?").arg(m_ui->colorSchemeComboBox->currentText()), QMessageBox::Yes | QMessageBox::No);
- if(button != QMessageBox::Yes)
- return;
- if(QFile::remove(m_ui->colorSchemeComboBox->currentData().toString())){
- m_ui->colorSchemeComboBox->removeItem(index);
- on_colorSchemeComboBox_activated(0);
- }
+ int button = QMessageBox::question(this, tr("Confirm Remove"),tr("Are you sure you want to remove color scheme \"%1\"?").arg(m_ui->colorSchemeComboBox->currentText()), QMessageBox::Yes | QMessageBox::No);
+ if(button != QMessageBox::Yes){ return; }
+ if(QFile::remove(m_ui->colorSchemeComboBox->currentData().toString())){
+ m_ui->colorSchemeComboBox->removeItem(index);
+ on_colorSchemeComboBox_activated(0);
+ }
}
void AppearancePage::copyColorScheme(){
- if(m_ui->colorSchemeComboBox->currentIndex() < 0)
+ if(m_ui->colorSchemeComboBox->currentIndex() < 0) { return; }
+ QString name = QInputDialog::getText(this, tr("Enter Color Scheme Name"), tr("File name:"),QLineEdit::Normal, tr("%1 (copy)").arg(m_ui->colorSchemeComboBox->currentText()));
+ if(name.isEmpty() || name == m_ui->colorSchemeComboBox->currentText()){ return; }
+ if(!name.endsWith(".conf", Qt::CaseInsensitive)) { name.append(".conf"); }
+ if(m_ui->colorSchemeComboBox->findText(name.section('.',0,0)) != -1){
+ QMessageBox::warning(this, tr("Error"), tr("The color scheme \"%1\" already exists").arg(name.section('.',0,0)));
return;
- QString name = QInputDialog::getText(this, tr("Enter Color Scheme Name"), tr("File name:"),QLineEdit::Normal, tr("%1 (copy)").arg(m_ui->colorSchemeComboBox->currentText()));
- if(name.isEmpty() || name == m_ui->colorSchemeComboBox->currentText())
- return;
- if(!name.endsWith(".conf", Qt::CaseInsensitive))name.append(".conf");
- if(m_ui->colorSchemeComboBox->findText(name.section('.',0,0)) != -1){
- QMessageBox::warning(this, tr("Error"), tr("The color scheme \"%1\" already exists").arg(name.section('.',0,0)));
- return;
- }
- QString newPath = lthemeengine::userColorSchemePath() + "/" + name;
- QFile::copy(m_ui->colorSchemeComboBox->currentData().toString(), newPath);
- m_ui->colorSchemeComboBox->addItem(name.section('.',0,0), newPath);
+ }
+ QString newPath = lthemeengine::userColorSchemePath() + "/" + name;
+ QFile::copy(m_ui->colorSchemeComboBox->currentData().toString(), newPath);
+ m_ui->colorSchemeComboBox->addItem(name.section('.',0,0), newPath);
}
void AppearancePage::renameColorScheme(){
int index = m_ui->colorSchemeComboBox->currentIndex();
- if(index < 0)
- return;
- if(!QFileInfo(m_ui->colorSchemeComboBox->currentData().toString()).isWritable()){
- QMessageBox::information(this, tr("Warning"), tr("The color scheme \"%1\" is read only").arg(m_ui->colorSchemeComboBox->currentText()));
- return;
- }
- QString name = QInputDialog::getText(this, tr("Enter Color Scheme Name"), tr("File name:"), QLineEdit::Normal, m_ui->colorSchemeComboBox->currentText());
- if(name.isEmpty() || name == m_ui->colorSchemeComboBox->currentText())
- return;
- if(!name.endsWith(".conf", Qt::CaseInsensitive))name.append(".conf");
- if(m_ui->colorSchemeComboBox->findText(name.section('.',0,0)) != -1){
- QMessageBox::warning(this, tr("Error"), tr("The color scheme \"%1\" already exists").arg(name.section('.',0,0)));
- return;
- }
- QString newPath = lthemeengine::userColorSchemePath() + "/" + name;
- QFile::rename(m_ui->colorSchemeComboBox->currentData().toString(), newPath);
- m_ui->colorSchemeComboBox->setItemText(index, name.section('.',0,0));
- m_ui->colorSchemeComboBox->setItemData(index, newPath);
+ if(index < 0){ return; }
+ if(!QFileInfo(m_ui->colorSchemeComboBox->currentData().toString()).isWritable()){
+ QMessageBox::information(this, tr("Warning"), tr("The color scheme \"%1\" is read only").arg(m_ui->colorSchemeComboBox->currentText()));
+ return;
+ }
+ QString name = QInputDialog::getText(this, tr("Enter Color Scheme Name"), tr("File name:"), QLineEdit::Normal, m_ui->colorSchemeComboBox->currentText());
+ if(name.isEmpty() || name == m_ui->colorSchemeComboBox->currentText()){ return; }
+ if(!name.endsWith(".conf", Qt::CaseInsensitive)){ name.append(".conf"); }
+ if(m_ui->colorSchemeComboBox->findText(name.section('.',0,0)) != -1){
+ QMessageBox::warning(this, tr("Error"), tr("The color scheme \"%1\" already exists").arg(name.section('.',0,0)));
+ return;
+ }
+ QString newPath = lthemeengine::userColorSchemePath() + "/" + name;
+ QFile::rename(m_ui->colorSchemeComboBox->currentData().toString(), newPath);
+ m_ui->colorSchemeComboBox->setItemText(index, name.section('.',0,0));
+ m_ui->colorSchemeComboBox->setItemData(index, newPath);
}
void AppearancePage::updatePalette(){
- if(!m_selectedStyle)
- return;
- setPreviewPalette(m_ui->customPaletteButton->isChecked() ? m_customPalette : m_selectedStyle->standardPalette());
+ if(!m_selectedStyle){ return; }
+ setPreviewPalette(m_ui->customPaletteButton->isChecked() ? m_customPalette : m_selectedStyle->standardPalette());
}
void AppearancePage::setPreviewPalette(const QPalette &p){
@@ -171,15 +158,15 @@ void AppearancePage::setPreviewPalette(const QPalette &p){
if(m_ui->paletteComboBox->currentIndex() == 0){
colorGroup = QPalette::Active;
}
- else if(m_ui->paletteComboBox->currentIndex() == 1){
- colorGroup = QPalette::Inactive;
- }
- for (int i = 0; i < QPalette::NColorRoles; i++){
- QPalette::ColorRole role = QPalette::ColorRole(i);
- previewPalette.setColor(QPalette::Active, role, p.color(colorGroup, role));
- previewPalette.setColor(QPalette::Inactive, role, p.color(colorGroup, role));
- }
- setPalette(m_ui->mdiArea, previewPalette);
+ else if(m_ui->paletteComboBox->currentIndex() == 1){
+ colorGroup = QPalette::Inactive;
+ }
+ for (int i = 0; i < QPalette::NColorRoles; i++){
+ QPalette::ColorRole role = QPalette::ColorRole(i);
+ previewPalette.setColor(QPalette::Active, role, p.color(colorGroup, role));
+ previewPalette.setColor(QPalette::Inactive, role, p.color(colorGroup, role));
+ }
+ setPalette(m_ui->mdiArea, previewPalette);
}
void AppearancePage::updateActions(){
@@ -188,11 +175,11 @@ void AppearancePage::updateActions(){
m_renameColorSchemeAction->setVisible(false);
m_removeColorSchemeAction->setVisible(false);
}
- else{
- m_changeColorSchemeAction->setVisible(true);
- m_renameColorSchemeAction->setVisible(true);
- m_removeColorSchemeAction->setVisible(m_ui->colorSchemeComboBox->count() > 1);
- }
+ else{
+ m_changeColorSchemeAction->setVisible(true);
+ m_renameColorSchemeAction->setVisible(true);
+ m_removeColorSchemeAction->setVisible(m_ui->colorSchemeComboBox->count() > 1);
+ }
}
void AppearancePage::readSettings(){
@@ -208,22 +195,22 @@ void AppearancePage::readSettings(){
if(m_ui->colorSchemeComboBox->count() == 0){
m_customPalette = palette(); //load fallback palette
}
- else{
- int index = m_ui->colorSchemeComboBox->findData(colorSchemePath);
- if(index >= 0)
- m_ui->colorSchemeComboBox->setCurrentIndex(index);
- m_customPalette = loadColorScheme(m_ui->colorSchemeComboBox->currentData().toString());
- }
- on_styleComboBox_activated(m_ui->styleComboBox->currentText());
- settings.endGroup();
+ else{
+ int index = m_ui->colorSchemeComboBox->findData(colorSchemePath);
+ if(index >= 0)
+ m_ui->colorSchemeComboBox->setCurrentIndex(index);
+ m_customPalette = loadColorScheme(m_ui->colorSchemeComboBox->currentData().toString());
+ }
+ on_styleComboBox_activated(m_ui->styleComboBox->currentText());
+ settings.endGroup();
}
void AppearancePage::setStyle(QWidget *w, QStyle *s){
foreach (QObject *o, w->children()){
- if(o->isWidgetType()){
- setStyle(qobject_cast<QWidget *>(o), s);
+ if(o->isWidgetType()){
+ setStyle(qobject_cast<QWidget *>(o), s);
+ }
}
- }
w->setStyle(s);
}
@@ -261,10 +248,10 @@ QPalette AppearancePage::loadColorScheme(const QString &filePath){
customPalette.setColor(QPalette::Disabled, role, QColor(disabledColors.at(i)));
}
}
- else{
- customPalette = palette(); //load fallback palette
- }
- return customPalette;
+ else{
+ customPalette = palette(); //load fallback palette
+ }
+ return customPalette;
}
void AppearancePage::createColorScheme(const QString &name, const QPalette &palette){
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/iconthemepage.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/iconthemepage.cpp
index cfe002aa..1a09ac0d 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/iconthemepage.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/iconthemepage.cpp
@@ -22,22 +22,20 @@ IconThemePage::~IconThemePage(){
void IconThemePage::writeSettings(){
QSettings settings(lthemeengine::configFile(), QSettings::IniFormat);
QTreeWidgetItem *item = m_ui->treeWidget->currentItem();
- if(item)
- settings.setValue("Appearance/icon_theme", item->data(3, Qt::UserRole));
+ if(item){ settings.setValue("Appearance/icon_theme", item->data(3, Qt::UserRole)); }
}
void IconThemePage::readSettings(){
QSettings settings(lthemeengine::configFile(), QSettings::IniFormat);
QString name = settings.value("Appearance/icon_theme").toString();
- if(name.isEmpty())
- return;
- for(int i = 0; i < m_ui->treeWidget->topLevelItemCount(); ++i){
- QTreeWidgetItem *item = m_ui->treeWidget->topLevelItem(i);
- if(item->data(3, Qt::UserRole).toString() == name){
- m_ui->treeWidget->setCurrentItem(item);
- break;
- }
+ if(name.isEmpty()){ return; }
+ for(int i = 0; i < m_ui->treeWidget->topLevelItemCount(); ++i){
+ QTreeWidgetItem *item = m_ui->treeWidget->topLevelItem(i);
+ if(item->data(3, Qt::UserRole).toString() == name){
+ m_ui->treeWidget->setCurrentItem(item);
+ break;
}
+ }
}
void IconThemePage::loadThemes(){
@@ -61,39 +59,33 @@ void IconThemePage::loadTheme(const QString &path){
config.setIniCodec("UTF-8");
config.beginGroup("Icon Theme");
QStringList dirs = config.value("Directories").toStringList();
- if(dirs.isEmpty() || config.value("Hidden", false).toBool())
- return;
- QString name, comment;
- QString lang = QLocale::system().name();
- name = config.value(QString("Name[%1]").arg(lang)).toString();
- comment = config.value(QString("Comment[%1]").arg(lang)).toString();
- if(lang.contains("_"))
- lang = lang.split("_").first();
- if(name.isEmpty())
- name = config.value(QString("Name[%1]").arg(lang)).toString();
- if(comment.isEmpty())
- comment = config.value(QString("Comment[%1]").arg(lang)).toString();
- if(name.isEmpty())
- name = config.value("Name").toString();
- if(comment.isEmpty())
- comment = config.value("Comment").toString();
- config.endGroup();
- QIcon icon1 = findIcon(path, 24, "document-save");
- QIcon icon2 = findIcon(path, 24, "document-print");
- QIcon icon3 = findIcon(path, 24, "media-playback-stop");
- QTreeWidgetItem *item = new QTreeWidgetItem();
- item->setIcon(0, icon1);
- item->setIcon(1, icon2);
- item->setIcon(2, icon3);
- item->setText(3, name);
- item->setData(3, Qt::UserRole, QFileInfo(path).path().section("/", -1));
- item->setToolTip(3, comment);
- item->setSizeHint(0, QSize(24,24));
- m_ui->treeWidget->addTopLevelItem(item);
- m_ui->treeWidget->resizeColumnToContents(0);
- m_ui->treeWidget->resizeColumnToContents(1);
- m_ui->treeWidget->resizeColumnToContents(2);
- m_ui->treeWidget->resizeColumnToContents(3);
+ if(dirs.isEmpty() || config.value("Hidden", false).toBool()){ return; }
+ QString name, comment;
+ QString lang = QLocale::system().name();
+ name = config.value(QString("Name[%1]").arg(lang)).toString();
+ comment = config.value(QString("Comment[%1]").arg(lang)).toString();
+ if(lang.contains("_")){ lang = lang.split("_").first(); }
+ if(name.isEmpty()){ name = config.value(QString("Name[%1]").arg(lang)).toString(); }
+ if(comment.isEmpty()){ comment = config.value(QString("Comment[%1]").arg(lang)).toString(); }
+ if(name.isEmpty()){ name = config.value("Name").toString(); }
+ if(comment.isEmpty()){ comment = config.value("Comment").toString(); }
+ config.endGroup();
+ QIcon icon1 = findIcon(path, 24, "document-save");
+ QIcon icon2 = findIcon(path, 24, "document-print");
+ QIcon icon3 = findIcon(path, 24, "media-playback-stop");
+ QTreeWidgetItem *item = new QTreeWidgetItem();
+ item->setIcon(0, icon1);
+ item->setIcon(1, icon2);
+ item->setIcon(2, icon3);
+ item->setText(3, name);
+ item->setData(3, Qt::UserRole, QFileInfo(path).path().section("/", -1));
+ item->setToolTip(3, comment);
+ item->setSizeHint(0, QSize(24,24));
+ m_ui->treeWidget->addTopLevelItem(item);
+ m_ui->treeWidget->resizeColumnToContents(0);
+ m_ui->treeWidget->resizeColumnToContents(1);
+ m_ui->treeWidget->resizeColumnToContents(2);
+ m_ui->treeWidget->resizeColumnToContents(3);
}
QIcon IconThemePage::findIcon(const QString &themePath, int size, const QString &name){
@@ -127,18 +119,15 @@ QIcon IconThemePage::findIcon(const QString &themePath, int size, const QString
}
config.endGroup();
}
- if (!haveInherits)
- return QIcon();
- parents.append("hicolor"); //add fallback themes
- parents.append("gnome");
- parents.removeDuplicates();
- foreach (QString parent, parents){
- QString parentThemePath = QDir(QFileInfo(themePath).path() + "/../" + parent).canonicalPath() + "/index.theme";
- if(!QFile::exists(parentThemePath) || parentThemePath == themePath)
- continue;
- QIcon icon = findIcon(parentThemePath, size, name);
- if(!icon.isNull())
- return icon;
- }
- return QIcon();
+ if (!haveInherits){ return QIcon(); }
+ parents.append("hicolor"); //add fallback themes
+ parents.append("gnome");
+ parents.removeDuplicates();
+ foreach (QString parent, parents){
+ QString parentThemePath = QDir(QFileInfo(themePath).path() + "/../" + parent).canonicalPath() + "/index.theme";
+ if(!QFile::exists(parentThemePath) || parentThemePath == themePath){ continue; }
+ QIcon icon = findIcon(parentThemePath, size, name);
+ if(!icon.isNull()){ return icon; }
+ }
+ return QIcon();
}
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/interfacepage.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/interfacepage.cpp
index a44e75e4..38f6ef8f 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/interfacepage.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/interfacepage.cpp
@@ -36,22 +36,15 @@ void InterfacePage::writeSettings(){
settings.setValue("toolbutton_style", m_ui->toolButtonStyleComboBox->currentData());
settings.setValue("wheel_scroll_lines", m_ui->wheelScrollLinesSpinBox->value());
QStringList effects;
- if(m_ui->guiEffectsCheckBox->isChecked())
- effects << "General";
- if(m_ui->menuEffectComboBox->currentIndex() == 1)
- effects << "AnimateMenu";
- else if(m_ui->menuEffectComboBox->currentIndex() == 2)
- effects << "FadeMenu";
- if(m_ui->comboBoxEffectComboBox->currentIndex() == 1)
- effects << "AnimateCombo";
- if(m_ui->toolTipEffectComboBox->currentIndex() == 1)
- effects << "AnimateTooltip";
- else if(m_ui->toolTipEffectComboBox->currentIndex() == 2)
- effects << "FadeTooltip";
- if(m_ui->toolBoxEffectComboBox->currentIndex() == 1)
- effects << "AnimateToolBox";
- settings.setValue("gui_effects", effects);
- settings.endGroup();
+ if(m_ui->guiEffectsCheckBox->isChecked()){ effects << "General";}
+ if(m_ui->menuEffectComboBox->currentIndex() == 1){ effects << "AnimateMenu"; }
+ else if(m_ui->menuEffectComboBox->currentIndex() == 2){ effects << "FadeMenu"; }
+ if(m_ui->comboBoxEffectComboBox->currentIndex() == 1){ effects << "AnimateCombo"; }
+ if(m_ui->toolTipEffectComboBox->currentIndex() == 1){ effects << "AnimateTooltip"; }
+ else if(m_ui->toolTipEffectComboBox->currentIndex() == 2){ effects << "FadeTooltip"; }
+ if(m_ui->toolBoxEffectComboBox->currentIndex() == 1){ effects << "AnimateToolBox"; }
+ settings.setValue("gui_effects", effects);
+ settings.endGroup();
}
void InterfacePage::readSettings(){
@@ -62,27 +55,19 @@ void InterfacePage::readSettings(){
m_ui->guiEffectsCheckBox->setChecked(qApp->isEffectEnabled(Qt::UI_General));
int layout = settings.value("buttonbox_layout", style()->styleHint(QStyle::SH_DialogButtonLayout)).toInt();
int index = m_ui->buttonLayoutComboBox->findData(layout);
- if(index >= 0)
- m_ui->buttonLayoutComboBox->setCurrentIndex(index);
- if(qApp->isEffectEnabled(Qt::UI_AnimateMenu))
- m_ui->menuEffectComboBox->setCurrentIndex(1);
- else if(qApp->isEffectEnabled(Qt::UI_FadeMenu))
- m_ui->menuEffectComboBox->setCurrentIndex(2);
- if(qApp->isEffectEnabled(Qt::UI_AnimateCombo))
- m_ui->comboBoxEffectComboBox->setCurrentIndex(1);
- if(qApp->isEffectEnabled(Qt::UI_AnimateTooltip))
- m_ui->toolTipEffectComboBox->setCurrentIndex(1);
- else if(qApp->isEffectEnabled(Qt::UI_FadeTooltip))
- m_ui->toolTipEffectComboBox->setCurrentIndex(2);
- if(qApp->isEffectEnabled(Qt::UI_AnimateToolBox))
- m_ui->toolBoxEffectComboBox->setCurrentIndex(1);
- m_ui->singleClickCheckBox->setCheckState((Qt::CheckState)settings.value("activate_item_on_single_click", Qt::PartiallyChecked).toInt());
- m_ui->dialogIconsCheckBox->setCheckState((Qt::CheckState)settings.value("dialog_buttons_have_icons", Qt::PartiallyChecked).toInt());
- m_ui->menuIconsCheckBox->setChecked(!qApp->testAttribute(Qt::AA_DontShowIconsInMenus));
- int toolbarStyle = settings.value("toolbutton_style", Qt::ToolButtonFollowStyle).toInt();
- index = m_ui->toolButtonStyleComboBox->findData(toolbarStyle);
- if(index >= 0)
- m_ui->toolButtonStyleComboBox->setCurrentIndex(index);
- m_ui->wheelScrollLinesSpinBox->setValue(settings.value("wheel_scroll_lines", 3).toInt());
- settings.endGroup();
+ if(index >= 0){ m_ui->buttonLayoutComboBox->setCurrentIndex(index); }
+ if(qApp->isEffectEnabled(Qt::UI_AnimateMenu)){ m_ui->menuEffectComboBox->setCurrentIndex(1); }
+ else if(qApp->isEffectEnabled(Qt::UI_FadeMenu)){ m_ui->menuEffectComboBox->setCurrentIndex(2); }
+ if(qApp->isEffectEnabled(Qt::UI_AnimateCombo)){ m_ui->comboBoxEffectComboBox->setCurrentIndex(1); }
+ if(qApp->isEffectEnabled(Qt::UI_AnimateTooltip)){ m_ui->toolTipEffectComboBox->setCurrentIndex(1); }
+ else if(qApp->isEffectEnabled(Qt::UI_FadeTooltip)){ m_ui->toolTipEffectComboBox->setCurrentIndex(2); }
+ if(qApp->isEffectEnabled(Qt::UI_AnimateToolBox)){ m_ui->toolBoxEffectComboBox->setCurrentIndex(1); }
+ m_ui->singleClickCheckBox->setCheckState((Qt::CheckState)settings.value("activate_item_on_single_click", Qt::PartiallyChecked).toInt());
+ m_ui->dialogIconsCheckBox->setCheckState((Qt::CheckState)settings.value("dialog_buttons_have_icons", Qt::PartiallyChecked).toInt());
+ m_ui->menuIconsCheckBox->setChecked(!qApp->testAttribute(Qt::AA_DontShowIconsInMenus));
+ int toolbarStyle = settings.value("toolbutton_style", Qt::ToolButtonFollowStyle).toInt();
+ index = m_ui->toolButtonStyleComboBox->findData(toolbarStyle);
+ if(index >= 0){ m_ui->toolButtonStyleComboBox->setCurrentIndex(index); }
+ m_ui->wheelScrollLinesSpinBox->setValue(settings.value("wheel_scroll_lines", 3).toInt());
+ settings.endGroup();
}
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.cpp
index 979c8c43..36b0c2fa 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/lthemeengine.cpp
@@ -25,19 +25,16 @@ QStringList lthemeengine::iconPaths(){
paths << "/usr/local/share/icons";
}
else{
- foreach (QString p, xdgDataDirs.split(":"))
- paths << QDir(p + "/icons/").absolutePath();
+ foreach (QString p, xdgDataDirs.split(":")){ paths << QDir(p + "/icons/").absolutePath(); }
+ }
+ if(xdgDataHome.isEmpty()){ xdgDataHome = QDir::homePath() + "/.local/share"; }
+ paths << "/usr/share/pixmaps";
+ paths << xdgDataHome + "/icons";
+ paths.removeDuplicates();
+ //remove invalid
+ foreach (QString p, paths){
+ if(!QDir(p).exists()){ paths.removeAll(p); }
}
- if(xdgDataHome.isEmpty())
- xdgDataHome = QDir::homePath() + "/.local/share";
- paths << "/usr/share/pixmaps";
- paths << xdgDataHome + "/icons";
- paths.removeDuplicates();
- //remove invalid
- foreach (QString p, paths){
- if(!QDir(p).exists())
- paths.removeAll(p);
- }
return paths;
}
@@ -49,12 +46,8 @@ QStringList lthemeengine::sharedStyleSheetPath(){
QStringList dirs;
dirs << QString(getenv("XDG_CONFIG_HOME"));
dirs << QString(getenv("XDG_CONFIG_DIRS")).split(":");
- for(int i=0; i<dirs.length(); i++){
- dirs[i].append("/lthemeengine/colors/");
- }
- if(dirs.isEmpty()){
- dirs << LTHEMEENGINE_DATADIR"/lthemeengine/qss/"; //no XDG settings - use the hardcoded path
- }
+ for(int i=0; i<dirs.length(); i++){ dirs[i].append("/lthemeengine/colors/"); }
+ if(dirs.isEmpty()){ dirs << LTHEMEENGINE_DATADIR"/lthemeengine/qss/"; } //no XDG settings - use the hardcoded path
return dirs;
}
@@ -66,24 +59,17 @@ QStringList lthemeengine::sharedColorSchemePath(){
QStringList dirs;
dirs << QString(getenv("XDG_CONFIG_HOME"));
dirs << QString(getenv("XDG_CONFIG_DIRS")).split(":");
- for(int i=0; i<dirs.length(); i++){
- dirs[i].append("/lthemeengine/colors/");
- }
- if(dirs.isEmpty()){
- dirs << LTHEMEENGINE_DATADIR"/lthemeengine/colors/"; //no XDG settings - use the hardcoded path
- }
+ for(int i=0; i<dirs.length(); i++){ dirs[i].append("/lthemeengine/colors/"); }
+ if(dirs.isEmpty()){ dirs << LTHEMEENGINE_DATADIR"/lthemeengine/colors/"; } //no XDG settings - use the hardcoded path
return dirs;
}
QString lthemeengine::systemLanguageID(){
#ifdef Q_OS_UNIX
QByteArray v = qgetenv ("LC_ALL");
- if (v.isEmpty())
- v = qgetenv ("LC_MESSAGES");
- if (v.isEmpty())
- v = qgetenv ("LANG");
- if (!v.isEmpty())
- return QLocale (v).name();
+ if (v.isEmpty()){ v = qgetenv ("LC_MESSAGES"); }
+ if (v.isEmpty()){ v = qgetenv ("LANG"); }
+ if (!v.isEmpty()){ return QLocale (v).name(); }
#endif
return QLocale::system().name();
}
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/main.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/main.cpp
index 55d0fc36..4c1b89fa 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/main.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/main.cpp
@@ -22,15 +22,9 @@ int main(int argc, char **argv){
//checking environment
QStringList errorMessages;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
- if(env.contains("QT_STYLE_OVERRIDE")){
- errorMessages << app.translate("main", "Please remove the <b>QT_STYLE_OVERRIDE</b> environment variable");
- }
- if(env.value("QT_QPA_PLATFORMTHEME") != "lthemeengine"){
- errorMessages << app.translate("main", "The <b>QT_QPA_PLATFORMTHEME</b> environment variable is not set correctly");
- }
- if(!QStyleFactory::keys().contains("lthemeengine-style")){
- errorMessages << app.translate("main", "Unable to find <b>liblthemeengine-style.so</b>");
- }
+ if(env.contains("QT_STYLE_OVERRIDE")){ errorMessages << app.translate("main", "Please remove the <b>QT_STYLE_OVERRIDE</b> environment variable"); }
+ if(env.value("QT_QPA_PLATFORMTHEME") != "lthemeengine"){ errorMessages << app.translate("main", "The <b>QT_QPA_PLATFORMTHEME</b> environment variable is not set correctly"); }
+ if(!QStyleFactory::keys().contains("lthemeengine-style")){ errorMessages << app.translate("main", "Unable to find <b>liblthemeengine-style.so</b>"); }
if(!errorMessages.isEmpty()){
QMessageBox::critical(0, app.translate("main", "Error"), errorMessages.join("<br><br>"));
return 0;
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/mainwindow.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/mainwindow.cpp
index c93b1052..719a0f49 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/mainwindow.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/mainwindow.cpp
@@ -38,9 +38,8 @@ void MainWindow::on_buttonBox_clicked(QAbstractButton *button){
if(id == QDialogButtonBox::Ok || id == QDialogButtonBox::Apply){
for(int i = 0; i < m_ui->tabWidget->count(); ++i){
TabPage *p = qobject_cast<TabPage*>(m_ui->tabWidget->widget(i));
- if(p)
- p->writeSettings();
- }
+ if(p) { p->writeSettings(); }
+ }
}
if(id == QDialogButtonBox::Ok || id == QDialogButtonBox::Cancel){
close();
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/paletteeditdialog.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/paletteeditdialog.cpp
index 8a8e86d0..9cce5a6e 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/paletteeditdialog.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/paletteeditdialog.cpp
@@ -37,15 +37,12 @@ QPalette PaletteEditDialog::selectedPalette() const{
void PaletteEditDialog::setPalette(const QPalette &palette){
for(int i = 0; i < QPalette::NColorRoles; i++){
- if(!m_ui->tableWidget->item(i,0))
- m_ui->tableWidget->setItem(i, 0, new QTableWidgetItem());
- if(!m_ui->tableWidget->item(i,1))
- m_ui->tableWidget->setItem(i, 1, new QTableWidgetItem());
- if(!m_ui->tableWidget->item(i,2))
- m_ui->tableWidget->setItem(i, 2, new QTableWidgetItem());
- m_ui->tableWidget->item(i,0)->setBackgroundColor(palette.color(QPalette::Active, QPalette::ColorRole(i)));
- m_ui->tableWidget->item(i,1)->setBackgroundColor(palette.color(QPalette::Inactive, QPalette::ColorRole(i)));
- m_ui->tableWidget->item(i,2)->setBackgroundColor(palette.color(QPalette::Disabled, QPalette::ColorRole(i)));
+ if(!m_ui->tableWidget->item(i,0)){ m_ui->tableWidget->setItem(i, 0, new QTableWidgetItem()); }
+ if(!m_ui->tableWidget->item(i,1)){ m_ui->tableWidget->setItem(i, 1, new QTableWidgetItem()); }
+ if(!m_ui->tableWidget->item(i,2)){ m_ui->tableWidget->setItem(i, 2, new QTableWidgetItem()); }
+ m_ui->tableWidget->item(i,0)->setBackgroundColor(palette.color(QPalette::Active, QPalette::ColorRole(i)));
+ m_ui->tableWidget->item(i,1)->setBackgroundColor(palette.color(QPalette::Inactive, QPalette::ColorRole(i)));
+ m_ui->tableWidget->item(i,2)->setBackgroundColor(palette.color(QPalette::Disabled, QPalette::ColorRole(i)));
}
QStringList labels;
labels << tr("Window text") << tr("Button background") << tr("Bright") << tr("Less bright") << tr("Dark") << tr("Less dark") << tr("Normal text") << tr("Bright text") << tr("Button text") << tr("Normal background") << tr("Window") << tr("Shadow") << tr("Highlight") << tr("Highlighted text") << tr("Link") << tr("Visited link") << tr("Alternate background") << tr("Default") << tr("Tooltip background") << tr("Tooltip text");
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsseditordialog.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsseditordialog.cpp
index aa4bb810..97d4ea1a 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsseditordialog.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsseditordialog.cpp
@@ -36,10 +36,6 @@ void QSSEditorDialog::on_buttonBox_clicked(QAbstractButton *button){
save();
accept();
}
- else if(id == QDialogButtonBox::Save){
- save();
- }
- else{
- reject();
- }
+ else if(id == QDialogButtonBox::Save){ save(); }
+ else{ reject(); }
}
diff --git a/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.cpp b/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.cpp
index c9bfc14a..d690ef5d 100644
--- a/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.cpp
+++ b/src-qt5/core/lumina-theme-engine/src/lthemeengine/qsspage.cpp
@@ -36,10 +36,9 @@ void QSSPage::writeSettings(){
QSettings settings(lthemeengine::configFile(), QSettings::IniFormat);
for(int i = 0; i < m_ui->qssListWidget->count(); ++i){
QListWidgetItem *item = m_ui->qssListWidget->item(i);
- if(item->checkState() == Qt::Checked)
- styleSheets << item->data(QSS_FULL_PATH_ROLE).toString();
- }
+ if(item->checkState() == Qt::Checked){ styleSheets << item->data(QSS_FULL_PATH_ROLE).toString(); }
settings.setValue("Interface/stylesheets", styleSheets);
+ }
}
void QSSPage::on_qssListWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *){
@@ -57,26 +56,24 @@ void QSSPage::on_qssListWidget_currentItemChanged(QListWidgetItem *current, QLis
void QSSPage::on_createButton_clicked(){
QString name = QInputDialog::getText(this, tr("Enter Style Sheet Name"), tr("File name:"));
- if(name.isEmpty())
+ if(name.isEmpty()){ return; }
+ if(!name.endsWith(".qss", Qt::CaseInsensitive)){ name.append(".qss"); }
+ QString filePath = lthemeengine::userStyleSheetPath() + name;
+ if(QFile::exists(filePath)){
+ QMessageBox::warning(this, tr("Error"), tr("The file \"%1\" already exists").arg(filePath));
return;
- if(!name.endsWith(".qss", Qt::CaseInsensitive))
- name.append(".qss");
- QString filePath = lthemeengine::userStyleSheetPath() + name;
- if(QFile::exists(filePath)){
- QMessageBox::warning(this, tr("Error"), tr("The file \"%1\" already exists").arg(filePath));
- return;
- }
- //creating empty file
- QFile file(filePath);
- file.open(QIODevice::WriteOnly);
- file.close();
- //creating item
- QFileInfo info(filePath);
- QListWidgetItem *item = new QListWidgetItem(info.fileName(), m_ui->qssListWidget);
- item->setToolTip(info.filePath());
- item->setData(QSS_FULL_PATH_ROLE, info.filePath());
- item->setData(QSS_WRITABLE_ROLE, info.isWritable());
- item->setCheckState(Qt::Unchecked);
+ }
+ //creating empty file
+ QFile file(filePath);
+ file.open(QIODevice::WriteOnly);
+ file.close();
+ //creating item
+ QFileInfo info(filePath);
+ QListWidgetItem *item = new QListWidgetItem(info.fileName(), m_ui->qssListWidget);
+ item->setToolTip(info.filePath());
+ item->setData(QSS_FULL_PATH_ROLE, info.filePath());
+ item->setData(QSS_WRITABLE_ROLE, info.isWritable());
+ item->setCheckState(Qt::Unchecked);
}
void QSSPage::on_editButton_clicked(){
@@ -89,13 +86,10 @@ void QSSPage::on_editButton_clicked(){
void QSSPage::on_removeButton_clicked(){
QListWidgetItem *item = m_ui->qssListWidget->currentItem();
- if(!item)
- return;
- int button = QMessageBox::question(this, tr("Confirm Remove"),tr("Are you sure you want to remove style sheet \"%1\"?").arg(item->text()), QMessageBox::Yes | QMessageBox::No);
- if(button == QMessageBox::Yes){
- QFile::remove(item->data(QSS_FULL_PATH_ROLE).toString());
- delete item;
- }
+ if(!item){ return; }
+ int button = QMessageBox::question(this, tr("Confirm Remove"),tr("Are you sure you want to remove style sheet \"%1\"?").arg(item->text()), QMessageBox::Yes | QMessageBox::No);
+ if(button == QMessageBox::Yes){ QFile::remove(item->data(QSS_FULL_PATH_ROLE).toString()); }
+ delete item;
}
void QSSPage::readSettings(){
@@ -107,10 +101,8 @@ void QSSPage::readSettings(){
QStringList styleSheets = settings.value("Interface/stylesheets").toStringList();
for(int i = 0; i < m_ui->qssListWidget->count(); ++i){
QListWidgetItem *item = m_ui->qssListWidget->item(i);
- if(styleSheets.contains(item->data(QSS_FULL_PATH_ROLE).toString()))
- item->setCheckState(Qt::Checked);
- else
- item->setCheckState(Qt::Unchecked);
+ if(styleSheets.contains(item->data(QSS_FULL_PATH_ROLE).toString())){ item->setCheckState(Qt::Checked); }
+ else { item->setCheckState(Qt::Unchecked); }
}
}
@@ -128,29 +120,25 @@ void QSSPage::findStyleSheets(const QString &path){
void QSSPage::on_renameButton_clicked(){
QListWidgetItem *item = m_ui->qssListWidget->currentItem();
- if(!item)
+ if(!item){ return; }
+ QString name = QInputDialog::getText(this, tr("Rename Style Sheet"), tr("Style sheet name:"), QLineEdit::Normal, item->text(), 0);
+ if(name.isEmpty()){ return; }
+ if(!m_ui->qssListWidget->findItems(name, Qt::MatchExactly).isEmpty()){
+ QMessageBox::warning(this, tr("Error"), tr("The style sheet \"%1\" already exists").arg(name));
return;
- QString name = QInputDialog::getText(this, tr("Rename Style Sheet"), tr("Style sheet name:"), QLineEdit::Normal, item->text(), 0);
- if(name.isEmpty())
- return;
- if(!m_ui->qssListWidget->findItems(name, Qt::MatchExactly).isEmpty()){
- QMessageBox::warning(this, tr("Error"), tr("The style sheet \"%1\" already exists").arg(name));
- return;
- }
- if(!name.endsWith(".qss", Qt::CaseInsensitive)) name.append(".qss");
- QString newPath = lthemeengine::userStyleSheetPath() + name;
- if(!QFile::rename(item->data(QSS_FULL_PATH_ROLE).toString(), newPath)){
- QMessageBox::warning(this, tr("Error"), tr("Unable to rename file"));
- return;
- }
- item->setText(name);
- item->setData(QSS_FULL_PATH_ROLE, newPath);
- item->setToolTip(newPath);
+ }
+ if(!name.endsWith(".qss", Qt::CaseInsensitive)){ name.append(".qss"); }
+ QString newPath = lthemeengine::userStyleSheetPath() + name;
+ if(!QFile::rename(item->data(QSS_FULL_PATH_ROLE).toString(), newPath)){
+ QMessageBox::warning(this, tr("Error"), tr("Unable to rename file"));
+ return;
+ }
+ item->setText(name);
+ item->setData(QSS_FULL_PATH_ROLE, newPath);
+ item->setToolTip(newPath);
}
void QSSPage::on_qssListWidget_customContextMenuRequested(const QPoint &pos){
QListWidgetItem *item = m_ui->qssListWidget->currentItem();
- if(item && item->data(QSS_WRITABLE_ROLE).toBool()){
- m_menu->exec(m_ui->qssListWidget->viewport()->mapToGlobal(pos));
- }
+ if(item && item->data(QSS_WRITABLE_ROLE).toBool()){ m_menu->exec(m_ui->qssListWidget->viewport()->mapToGlobal(pos)); }
}
bgstack15