]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
BEE Backport bacula/src/qt-console/tray-monitor/tray-ui.h
authorHenrique <henrique.faria@baculasystems.com>
Sat, 16 May 2020 09:42:18 +0000 (11:42 +0200)
committerEric Bollengier <eric@baculasystems.com>
Thu, 29 Apr 2021 08:44:19 +0000 (10:44 +0200)
This commit is the result of the squash of the following main commits:

Author: Eric Bollengier <eric@baculasystems.com>
Date:   Mon Jul 1 10:10:28 2019 +0200

    tray-monitor: Fix #5198 Update icon

Author: Henrique <henrique.faria@baculasystems.com>
Date:   Fri May 17 00:48:08 2019 -0300

    tray-monitor: fixed creation of cdp spool directory

Author: Henrique <henrique.faria@baculasystems.com>
Date:   Mon May 6 14:45:37 2019 -0300

    tray-monitor: fixed spooldir parameter

Author: Alain Spineux <alain@baculasystems.com>
Date:   Tue Apr 9 11:13:50 2019 +0200

    PSK: Add PSK to QT's applications

    - add "TLS PSK Enable" to resources
    - update hello messages
    - rename authenticatebase.c to .cc and add the file to the QT tools
      because of a RTTI compilation problem.
      I use .cc because it works best with both bacula's CORE and QT
      to be compiled as C++ and not C
    - call init_crypto() and init_signals() in tray-monitor

Author: Eric Bollengier <eric@baculasystems.com>
Date:   Mon Feb 29 13:38:03 2016 +0100

    Add new tray monitor

bacula/src/qt-console/tray-monitor/tray-ui.h

index 07becbf889c092a9f2223693434be058846bbf08..025f8edec408b836a4f72aa0922644b9360e963e 100644 (file)
@@ -50,6 +50,9 @@
 #include "conf.h"
 #include "runjob.h"
 #include "restorewizard.h"
+#include "desktop-gui/cdp-main-ui.h"
+#include "backupservice.h"
+#include "cdp.h"
 
 void display_error(const char *fmt, ...);
 
@@ -70,6 +73,12 @@ public:
     bool    have_systray;
     RestoreWizard *restorewiz;
 
+    POOLMEM *spool_dir;
+    POOLMEM *journal_path;
+    Journal *journal;
+    BackupService *bservice;
+    CdpUi *cdpUi;
+
     TrayUI():
     QMainWindow(),
        tabWidget(NULL),
@@ -84,6 +93,7 @@ public:
 
     ~TrayUI() {
     }
+
     void addTab(RESMON *r)
     {
        QWidget *tab;
@@ -105,6 +115,9 @@ public:
              display_error(_("Failed to initialize TLS context for \"%s\".\n"), r->hdr.name);
           }
        }
+       if (r->tls_psk_enable) {
+          r->psk_ctx = new_psk_context(NULL /*r->password*/);
+       }
        switch(r->type) {
        case R_CLIENT:
           tab = new FDStatus(r);
@@ -147,12 +160,13 @@ public:
         timer = NULL;
         if (TrayMonitor->objectName().isEmpty())
             TrayMonitor->setObjectName(QString::fromUtf8("TrayMonitor"));
-        TrayMonitor->setWindowIcon(QIcon(":/images/cartridge1.png")); 
+        TrayMonitor->setWindowIcon(QIcon(":/images/tray-monitor-logo.png")); 
         TrayMonitor->resize(789, 595);
         centralwidget = new QWidget(TrayMonitor);
         centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
         QVBoxLayout *verticalLayout = new QVBoxLayout(centralwidget);
         verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
+
         tabWidget = new QTabWidget(centralwidget);
         tabWidget->setObjectName(QString::fromUtf8("tabWidget"));
         tabWidget->setTabPosition(QTabWidget::North);
@@ -209,6 +223,8 @@ public:
                                "Run...", 0),TrayMonitor);
         QAction* actRes = new QAction(QApplication::translate("TrayMonitor",
                               "Restore...", 0),TrayMonitor);
+        QAction* actCDP = new QAction(QApplication::translate("TrayMonitor",
+                               "Watch...", 0),TrayMonitor);
 
         QAction* actConf = new QAction(QApplication::translate("TrayMonitor",
                                "Configure...", 0),TrayMonitor);
@@ -226,8 +242,11 @@ public:
                                "Run...",
                                 0, QApplication::UnicodeUTF8),TrayMonitor);
         QAction* actRes = new QAction(QApplication::translate("TrayMonitor",
-                              "Restore...",
-                               0, QApplication::UnicodeUTF8),TrayMonitor);
+                               "Restore...",
+                                0, QApplication::UnicodeUTF8),TrayMonitor);
+        QAction* actCDP = new QAction(QApplication::translate("TrayMonitor",
+                               "Watch...",
+                                0, QApplication::UnicodeUTF8),TrayMonitor);
 
         QAction* actConf = new QAction(QApplication::translate("TrayMonitor",
                                "Configure...",
@@ -236,6 +255,7 @@ public:
         stmenu->addAction(actShow);
         stmenu->addAction(actRun);
         stmenu->addAction(actRes);
+        stmenu->addAction(actCDP);
         stmenu->addSeparator();
         stmenu->addAction(actConf);
         stmenu->addSeparator();
@@ -247,6 +267,7 @@ public:
         connect(actShow, SIGNAL(triggered()), this, SLOT(cb_show()));
         connect(actConf, SIGNAL(triggered()), this, SLOT(cb_conf()));
         connect(actRes, SIGNAL(triggered()), this, SLOT(cb_restore()));
+        connect(actCDP, SIGNAL(triggered()), this, SLOT(cb_cdp()));
         connect(actQuit, SIGNAL(triggered()), this, SLOT(cb_quit()));
         connect(actAbout, SIGNAL(triggered()), this, SLOT(cb_about()));
         connect(spinRefresh, SIGNAL(valueChanged(int)), this, SLOT(cb_refresh(int)));
@@ -254,7 +275,7 @@ public:
                 this, SLOT(cb_trayIconActivated(QSystemTrayIcon::ActivationReason)));
         tray->setContextMenu(stmenu);
 
-        QIcon icon(":/images/cartridge1.png");
+        QIcon icon(":/images/tray-monitor-logo.png");
         tray->setIcon(icon);
         tray->setToolTip(QString("Bacula Tray Monitor"));
         tray->show();
@@ -268,6 +289,15 @@ public:
            menubp->setMenu(stmenu);
            TrayMonitor->show();
         }
+
+        spool_dir = CDP::spoolDir();
+        mkdir(spool_dir, 0750);
+        journal_path = CDP::journalPath(JOURNAL_CLI_FNAME);
+        journal = new Journal();
+        bservice = new BackupService();
+        journal->setJournalPath(journal_path, spool_dir);
+        bservice->start(spool_dir, journal);
+        cdpUi = new CdpUi(bservice);
     } // setupUi
 
     void retranslateUi(QMainWindow *TrayMonitor)
@@ -293,9 +323,9 @@ private slots:
 
     void cb_about() {
        QMessageBox::about(this, "Bacula Tray Monitor", "Bacula Tray Monitor\n"
-                          "For more information, see: www.bacula.org\n"
-                          "Copyright (C) 2000-2018, Kern Sibbald\n"
-                          "License: AGPLv3");
+                          "For more information, see: www.baculasystems.com\n"
+                          "Copyright (C) 1999-2016, Bacula Systems(R) SA.\n"
+                          "All rights reserved.");
     }
     RESMON *get_director() {
        QStringList dirs;
@@ -354,6 +384,11 @@ private slots:
        t->init(dir, TASK_RESOURCES);
        dir->wrk->queue(t);
     }
+
+    void cb_cdp() {
+        cdpUi->show();
+    }
+
     void refresh_item() {
        /* Probably do only the first one */
        int oldnbjobs = 0;