aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-desktop-unified/src-DE/SystemWindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/core/lumina-desktop-unified/src-DE/SystemWindow.cpp')
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-DE/SystemWindow.cpp104
1 files changed, 0 insertions, 104 deletions
diff --git a/src-qt5/core/lumina-desktop-unified/src-DE/SystemWindow.cpp b/src-qt5/core/lumina-desktop-unified/src-DE/SystemWindow.cpp
deleted file mode 100644
index 1c0b59a5..00000000
--- a/src-qt5/core/lumina-desktop-unified/src-DE/SystemWindow.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-#include "SystemWindow.h"
-#include "ui_SystemWindow.h"
-
-#include "LSession.h"
-#include <LuminaOS.h>
-#include <QPoint>
-#include <QCursor>
-#include <QDebug>
-#include <QProcess>
-#include <QDesktopWidget>
-#include <QMessageBox>
-
-SystemWindow::SystemWindow() : QDialog(), ui(new Ui::SystemWindow){
- ui->setupUi(this); //load the designer file
- //Setup the window flags
- this->setWindowFlags( Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
- //Setup the icons based on the current theme
- ui->tool_logout->setIcon( LXDG::findIcon("system-log-out","") );
- ui->tool_restart->setIcon( LXDG::findIcon("system-reboot","") );
- ui->tool_shutdown->setIcon( LXDG::findIcon("system-shutdown","") );
- ui->tool_suspend->setIcon( LXDG::findIcon("system-suspend","") );
- ui->push_cancel->setIcon( LXDG::findIcon("dialog-cancel","") );
- ui->push_lock->setIcon( LXDG::findIcon("system-lock-screen","") );
- //Connect the signals/slots
- connect(ui->tool_logout, SIGNAL(clicked()), this, SLOT(sysLogout()) );
- connect(ui->tool_restart, SIGNAL(clicked()), this, SLOT(sysRestart()) );
- connect(ui->tool_shutdown, SIGNAL(clicked()), this, SLOT(sysShutdown()) );
- connect(ui->tool_suspend, SIGNAL(clicked()), this, SLOT(sysSuspend()) );
- connect(ui->push_cancel, SIGNAL(clicked()), this, SLOT(sysCancel()) );
- connect(ui->push_lock, SIGNAL(clicked()), this, SLOT(sysLock()) );
- //Disable buttons if necessary
- updateWindow();
- ui->tool_suspend->setVisible(LOS::systemCanSuspend()); //does not change with time - just do a single check
- connect(QApplication::instance(), SIGNAL(LocaleChanged()), this, SLOT(updateWindow()) );
- connect(QApplication::instance(), SIGNAL(IconThemeChanged()), this, SLOT(updateWindow()) );
-}
-
-SystemWindow::~SystemWindow(){
-
-}
-
-void SystemWindow::updateWindow(){
- //Disable the shutdown/restart buttons if necessary
- ui->retranslateUi(this);
- bool ok = LOS::userHasShutdownAccess();
- ui->tool_restart->setEnabled(ok);
- ui->tool_shutdown->setEnabled(ok);
- //Center this window on the current screen
- QPoint center = QApplication::desktop()->screenGeometry(QCursor::pos()).center(); //get the center of the current screen
- this->move(center.x() - this->width()/2, center.y() - this->height()/2);
-}
-
-bool SystemWindow::promptAboutUpdates(bool &skip){
- QString pending = LOS::systemPendingUpdates();
- if(pending.isEmpty()){ skip = false; } //continue without skip
- else{
- QMessageBox dlg(QMessageBox::Question, tr("Apply Updates?"), tr("You have system updates waiting to be applied! Do you wish to install them now?"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, this);
- dlg.setDetailedText(pending);
- dlg.setDefaultButton(QMessageBox::Yes);
- dlg.show();
- int ret = dlg.exec();
- if(ret == QMessageBox::Cancel){ return false; } //do not continue
- else{ skip = (ret==QMessageBox::No); }
- }
- return true;
-}
-
-void SystemWindow::sysLogout(){
- this->close();
- LSession::processEvents();
- QTimer::singleShot(0, LSession::handle(), SLOT(StartLogout()) );
-}
-
-void SystemWindow::sysRestart(){
- bool skip = false;
- if(!promptAboutUpdates(skip)){ this->close(); return; } //cancelled
- this->close();
- LSession::processEvents();
- LSession::handle()->StartReboot(skip);
-}
-
-void SystemWindow::sysShutdown(){
- bool skip = false;
- if(!promptAboutUpdates(skip)){ this->close(); return; } //cancelled
- this->close();
- LSession::processEvents();
- LSession::handle()->StartShutdown(skip);
-}
-
-void SystemWindow::sysSuspend(){
- this->hide();
- LSession::processEvents();
- //Make sure to lock the system first (otherwise anybody can access it again)
- LUtils::runCmd("xscreensaver-command -lock");
- //Now suspend the system
- LOS::systemSuspend();
-}
-
-void SystemWindow::sysLock(){
- this->hide();
- LSession::processEvents();
- qDebug() << "Locking the desktop...";
- QProcess::startDetached("xscreensaver-command -lock");
-}
bgstack15