From: Henrique Date: Sat, 16 May 2020 09:42:18 +0000 (+0200) Subject: BEE Backport bacula/src/qt-console/tray-monitor/tray-ui.h X-Git-Tag: Release-11.3.2~1514 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f64796294487de2e2f40cb51a157e4b347cc522;p=thirdparty%2Fbacula.git BEE Backport bacula/src/qt-console/tray-monitor/tray-ui.h This commit is the result of the squash of the following main commits: Author: Eric Bollengier Date: Mon Jul 1 10:10:28 2019 +0200 tray-monitor: Fix #5198 Update icon Author: Henrique Date: Fri May 17 00:48:08 2019 -0300 tray-monitor: fixed creation of cdp spool directory Author: Henrique Date: Mon May 6 14:45:37 2019 -0300 tray-monitor: fixed spooldir parameter Author: Alain Spineux 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 Date: Mon Feb 29 13:38:03 2016 +0100 Add new tray monitor --- diff --git a/bacula/src/qt-console/tray-monitor/tray-ui.h b/bacula/src/qt-console/tray-monitor/tray-ui.h index 07becbf889..025f8edec4 100644 --- a/bacula/src/qt-console/tray-monitor/tray-ui.h +++ b/bacula/src/qt-console/tray-monitor/tray-ui.h @@ -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;