aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-fm-dev/TrayUI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/desktop-utils/lumina-fm-dev/TrayUI.cpp')
-rw-r--r--src-qt5/desktop-utils/lumina-fm-dev/TrayUI.cpp93
1 files changed, 0 insertions, 93 deletions
diff --git a/src-qt5/desktop-utils/lumina-fm-dev/TrayUI.cpp b/src-qt5/desktop-utils/lumina-fm-dev/TrayUI.cpp
deleted file mode 100644
index fda3f3b7..00000000
--- a/src-qt5/desktop-utils/lumina-fm-dev/TrayUI.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-//===========================================
-// Lumina-DE source code
-// Copyright (c) 2016, Ken Moore
-// Available under the 3-clause BSD license
-// See the LICENSE file for full details
-//===========================================
-#include "TrayUI.h"
-
-#include <LuminaXDG.h>
-#include<QUuid>
-
-TrayUI::TrayUI(QObject *parent) : QSystemTrayIcon(parent){
- this->setContextMenu( new QMenu() );
- this->setIcon(LXDG::findIcon("Insight-FileManager",""));
- connect(this, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(TrayActivated()));
-}
-
-TrayUI::~TrayUI(){
- this->contextMenu()->deleteLater();
-}
-
-void TrayUI::StartOperation( FILEOP op, QStringList oldF, QStringList newF){
- createOP(op, oldF, newF);
- QTimer::singleShot(1000, this, SLOT(checkJobs()));
-}
-
-void TrayUI::createOP( FILEOP type, QStringList oldF, QStringList newF){
- OPWidget *OP = new OPWidget();
- if(type==MOVE){ OP->setupOperation("move", oldF, newF); }
- else if(type==COPY){ OP->setupOperation("copy", oldF, newF); }
- else if(type==DELETE){ OP->setupOperation("delete",oldF, QStringList()); }
- else{ OP->deleteLater(); return; } //invalid type of operation
- OP->setWhatsThis( QUuid::createUuid().toString() );
- this->contextMenu()->addAction(OP->widgetAction());
- OPS << OP;
- connect(OP, SIGNAL(starting(QString)), this, SLOT(OperationStarted(QString)) );
- connect(OP, SIGNAL(finished(QString)), this, SLOT(OperationFinished(QString)) );
- connect(OP, SIGNAL(closed(QString)), this, SLOT(OperationClosed(QString)) );
- QTimer::singleShot(0, OP, SLOT(startOperation()) );
-}
-
-void TrayUI::TrayActivated(){
- this->contextMenu()->popup( this->geometry().center() );
-}
-
-//Operation Widget Responses
-void TrayUI::OperationClosed(QString ID){
- for(int i=0; i<OPS.length(); i++){
- if(OPS[i]->whatsThis()==ID){
- //qDebug() << "Removing OPWidget:" << ID;
- //this->contextMenu()->removeAction(OPS[i]->widgetAction());
- OPS.takeAt(i)->deleteLater();
- break;
- }
- }
- QTimer::singleShot(1000, this, SLOT(checkJobs()) );
-}
-
-void TrayUI::OperationStarted(QString ID){
- for(int i=0; i<OPS.length(); i++){
- if(OPS[i]->whatsThis()==ID){
- //NOTHING FOR NOW - ENABLE POPUPS LATER (if desired - they can get annoying for short operations)
- }
- }
-}
-
-void TrayUI::OperationFinished(QString ID){
- //qDebug() << "Op Finished:" << ID;
- for(int i=0; i<OPS.length(); i++){
- if(OPS[i]->whatsThis()!=ID){ continue; }
- //qDebug() << " - found widget";
- bool err = OPS[i]->hasErrors();
- //qDebug() << " -- Errors:" << err << "Duration:" << OPS[i]->duration();
- //Assemble the notification (if more than 1 second to perform operation)
- if(OPS[i]->duration()>1){
- this->showMessage( tr("Finished"), err ? tr("Errors during operation. Click to view details") : "", err ? QSystemTrayIcon::Warning : QSystemTrayIcon::Information);
- }
- //Close the widget if no errors
- if(!err){ OperationClosed(ID); }
- break;
- }
-}
-
-void TrayUI::checkJobs(){
- if(OPS.isEmpty()){
- emit JobsFinished();
- this->hide();
- }else{
- bool showNotify = !this->isVisible();
- this->show();
- if(showNotify){ this->showMessage(tr("New Tasks Running"),"",QSystemTrayIcon::NoIcon, 2000); }
- }
-}
bgstack15