From: Henrique Date: Sat, 16 May 2020 09:41:50 +0000 (+0200) Subject: BEE Backport bacula/src/qt-console/tray-monitor/respanel-ui-controller.cpp X-Git-Tag: Release-11.3.2~1519 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d513b3dfd0a18799d214b8b6a94477c0bfcd7fe;p=thirdparty%2Fbacula.git BEE Backport bacula/src/qt-console/tray-monitor/respanel-ui-controller.cpp This commit is the result of the squash of the following main commits: Author: Henrique Date: Fri Oct 11 13:33:39 2019 -0300 android: added Remote Client checkbox Author: Henrique Date: Tue Sep 3 14:20:10 2019 -0300 android: added popup to create / edit tray-monitor resources --- diff --git a/bacula/src/qt-console/tray-monitor/respanel-ui-controller.cpp b/bacula/src/qt-console/tray-monitor/respanel-ui-controller.cpp new file mode 100644 index 0000000000..9b57aa64ea --- /dev/null +++ b/bacula/src/qt-console/tray-monitor/respanel-ui-controller.cpp @@ -0,0 +1,58 @@ +/* + Bacula(R) - The Network Backup Solution + + Copyright (C) 2000-2020 Kern Sibbald + + The original author of Bacula is Kern Sibbald, with contributions + from many others, a complete list can be found in the file AUTHORS. + + You may use this file and others of this release according to the + license defined in the LICENSE file, which includes the Affero General + Public License, v3.0 ("AGPLv3") and some additional permissions and + terms pursuant to its AGPLv3 Section 7. + + This notice must be preserved when any source code is + conveyed and/or propagated. + + Bacula(R) is a registered trademark of Kern Sibbald. +*/ + +#include "respanel-ui-controller.h" + +ResPanelUiController::ResPanelUiController(QObject *parent): + QObject(parent) +{ + m_storage = &ConfigStorage::getInstance(); +} + +void ResPanelUiController::saveChanges() { + const char *error_msg = NULL; + QByteArray resNameBytes = m_resourceName.toUtf8(); + QByteArray resAddressBytes = m_resourceAddress.toUtf8(); + QByteArray resPasswordBytes = m_resourcePassword.toUtf8(); + + RESMON *newRes = new RESMON(); + newRes->code = m_resCode; + newRes->hdr.name = resNameBytes.data(); + newRes->address = resAddressBytes.data(); + newRes->password = resPasswordBytes.data(); + newRes->port = m_resourcePort.toUInt(); + newRes->use_remote = m_remoteClient; + + if(m_res == NULL) { + error_msg = m_storage->addResource(newRes, m_resCode); + } else { + error_msg = m_storage->editResource(m_res, newRes, m_resCode); + } + + if(error_msg == NULL) { + setSuccessMessage("Changes Saved"); + } else { + setErrorMessage(error_msg); + } + + m_res = m_storage->getResourceByName(newRes->code, newRes->hdr.name); + delete newRes; +} + +ResPanelUiController::~ResPanelUiController() {}