aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core
diff options
context:
space:
mode:
authorKen Moore <ken@ixsystems.com>2017-10-31 09:55:21 -0400
committerKen Moore <ken@ixsystems.com>2017-10-31 09:55:21 -0400
commit91134ecb1e450464acf6e9b99b17fdec26452d76 (patch)
tree02f4daf9a819144ebc0de60dc6ced8ba092d0da1 /src-qt5/core
parentFinish up the theme engine migration path (works fine now - after some testing). (diff)
downloadlumina-91134ecb1e450464acf6e9b99b17fdec26452d76.tar.gz
lumina-91134ecb1e450464acf6e9b99b17fdec26452d76.tar.bz2
lumina-91134ecb1e450464acf6e9b99b17fdec26452d76.zip
Ensure the mouse cursor "busy" icon is used for 3 seconds when launching an external process.
Diffstat (limited to 'src-qt5/core')
-rw-r--r--src-qt5/core/libLumina/ExternalProcess.h7
-rw-r--r--src-qt5/core/lumina-desktop/LSession.cpp8
2 files changed, 10 insertions, 5 deletions
diff --git a/src-qt5/core/libLumina/ExternalProcess.h b/src-qt5/core/libLumina/ExternalProcess.h
index ce8ff6f5..2a6f4949 100644
--- a/src-qt5/core/libLumina/ExternalProcess.h
+++ b/src-qt5/core/libLumina/ExternalProcess.h
@@ -15,6 +15,7 @@
#include <QString>
#include <QTimer>
#include <QApplication>
+#include <QDebug>
class ExternalProcess : public QProcess{
Q_OBJECT
@@ -23,18 +24,21 @@ private:
private slots:
void resetCursor(){
+ //qDebug() << "External Process: Reset Mouse Cursor =" << !cursorRestored;
if(!cursorRestored){
QApplication::restoreOverrideCursor();
cursorRestored = true;
}
}
void processStarting(){
+ //qDebug() << "Starting External Process: Mouse Notification =" << !cursorRestored;
if(!cursorRestored){
- QApplication::setOverrideCursor( QCursor(Qt::WaitCursor) );
+ QApplication::setOverrideCursor( QCursor(Qt::BusyCursor) );
QTimer::singleShot(3000, this, SLOT(resetCursor()) );
}
}
void processFinished(){
+ //qDebug() << "External Process Finished: Reset Mouse Cursor =" << !cursorRestored;
if(!cursorRestored){
QApplication::restoreOverrideCursor();
cursorRestored = true;
@@ -53,6 +57,7 @@ public:
this->setStandardOutputFile(logfile);
}
//Setup the connection for automatic cleanup
+ connect(this, SIGNAL(started()), this, SLOT(processStarting()) );
connect(this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(processFinished()) );
}
diff --git a/src-qt5/core/lumina-desktop/LSession.cpp b/src-qt5/core/lumina-desktop/LSession.cpp
index 6fceff1b..dab30f01 100644
--- a/src-qt5/core/lumina-desktop/LSession.cpp
+++ b/src-qt5/core/lumina-desktop/LSession.cpp
@@ -294,7 +294,7 @@ void LSession::launchStartupApps(){
qDebug() << " - - Screen Brightness:" << QString::number(tmp)+"%";
}
//QProcess::startDetached("nice lumina-open -autostart-apps");
- ExternalProcess::launch("nice lumina-open -autostart-apps");
+ ExternalProcess::launch("lumina-open", QStringList() << "-autostart-apps", false);
//Re-load the screen brightness and volume settings from the previous session
// Wait until after the XDG-autostart functions, since the audio system might be started that way
@@ -589,7 +589,7 @@ void LSession::SessionEnding(){
//===============
void LSession::LaunchApplication(QString cmd){
//LSession::setOverrideCursor(QCursor(Qt::BusyCursor));
- ExternalProcess::launch(cmd);
+ ExternalProcess::launch(cmd, QStringList(), true);
//QProcess::startDetached(cmd);
}
@@ -690,7 +690,7 @@ void LSession::WindowPropertyEvent(){
if(RunningApps.length() < newapps.length()){
//New Window found
//qDebug() << "New window found";
- LSession::restoreOverrideCursor(); //restore the mouse cursor back to normal (new window opened?)
+ //LSession::restoreOverrideCursor(); //restore the mouse cursor back to normal (new window opened?)
//Perform sanity checks on any new window geometries
for(int i=0; i<newapps.length() && !TrayStopping; i++){
if(!RunningApps.contains(newapps[i])){
@@ -842,7 +842,7 @@ void LSession::attachTrayWindow(WId win){
if(RunningTrayApps.contains(win)){ return; } //already managed
qDebug() << "Session Tray: Window Added";
RunningTrayApps << win;
- LSession::restoreOverrideCursor();
+ //LSession::restoreOverrideCursor();
if(DEBUG){ qDebug() << "Tray List Changed"; }
emit TrayListChanged();
}
bgstack15