diff options
author | Weblate <noreply@weblate.org> | 2017-08-02 21:00:16 +0000 |
---|---|---|
committer | Weblate <noreply@weblate.org> | 2017-08-02 21:00:16 +0000 |
commit | 3d511a0f8285088eba24cb22b15cda039d27f6a0 (patch) | |
tree | 2eccf8b44a5e9862e6733880c37d57a9af74b41a /src-qt5/core | |
parent | Translated using Weblate (Spanish) (diff) | |
parent | Fix up the screensaver animation crashes *again*. (diff) | |
download | lumina-3d511a0f8285088eba24cb22b15cda039d27f6a0.tar.gz lumina-3d511a0f8285088eba24cb22b15cda039d27f6a0.tar.bz2 lumina-3d511a0f8285088eba24cb22b15cda039d27f6a0.zip |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'src-qt5/core')
36 files changed, 2408 insertions, 465 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..0ac8aaeb 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,8 +102,8 @@ 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; } @@ -144,15 +144,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..9ef0c491 100644 --- a/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.cpp +++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.cpp @@ -76,9 +76,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), ¢er); + setupLoop(tmp, ¢er); 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'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'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'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 'try'.</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'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'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> + <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'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 'try'.</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'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'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'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'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 'try'.</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'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'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'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'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 'try'.</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'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><a href="https://github.com/beanpole135">Ken Moore</a></source> - <translation><a href="https://github.com/beanpole135">Ken Moore</a></translation> + <source><a href="https://github.com/beanpole135">Ken Moore</a></source> + <translation><a href="https://github.com/beanpole135">Ken Moore</a></translation> </message> <message> <location filename="../MainUI.ui" line="353"/> @@ -85,8 +85,8 @@ </message> <message> <location filename="../MainUI.ui" line="428"/> - <source><a href="https://github.com/pcbsd/lumina/graphs/contributors">Open in web browser<a></source> - <translation><a href="https://github.com/pcbsd/lumina/graphs/contributors">Otevřít v prohlížeči<a></translation> + <source><a href="https://github.com/pcbsd/lumina/graphs/contributors">Open in web browser<a></source> + <translation><a href="https://github.com/pcbsd/lumina/graphs/contributors">Otevřít v prohlížeči<a></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><a href="https://github.com/beanpole135">Ken Moore</a></source> + <translation><a href="https://github.com/beanpole135">Ken Moore</a></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><a href="https://github.com/pcbsd/lumina/graphs/contributors">Open in web browser<a></source> + <translation><a href="https://github.com/pcbsd/lumina/graphs/contributors">Open in web browser<a></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 "%1". 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 "%1". Please ensure it is installed first.</source> + <translation>Could not find "%1". 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 ¶ms){ - 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)); } } |