From 745244902758ee6cbc152f200f76cc7fd6046ecb Mon Sep 17 00:00:00 2001 From: dogmaphobic Date: Tue, 17 Feb 2015 15:50:40 -0500 Subject: [PATCH] Renamed classes and files away from the QGC prefix. Shrunk the Message drop down dialog a bit. Made the Message drop down dialog slightly transparent. --- qgroundcontrol.pro | 10 ++-- src/QGCApplication.cc | 6 +-- ...MessageHandler.cc => UASMessageHandler.cc} | 18 +++---- ...GCMessageHandler.h => UASMessageHandler.h} | 24 ++++----- src/ui/QGCTabbedInfoView.cpp | 2 +- src/ui/QGCTabbedInfoView.h | 4 +- src/ui/QGCToolBar.cc | 11 ++-- src/ui/QGCToolBar.h | 4 +- .../{QGCMessageView.cc => UASMessageView.cc} | 51 ++++++++++--------- .../{QGCMessageView.h => UASMessageView.h} | 30 +++++------ .../{QGCMessageView.ui => UASMessageView.ui} | 10 +++- 11 files changed, 89 insertions(+), 81 deletions(-) rename src/uas/{QGCMessageHandler.cc => UASMessageHandler.cc} (90%) rename src/uas/{QGCMessageHandler.h => UASMessageHandler.h} (85%) rename src/ui/uas/{QGCMessageView.cc => UASMessageView.cc} (77%) rename src/ui/uas/{QGCMessageView.h => UASMessageView.h} (72%) rename src/ui/uas/{QGCMessageView.ui => UASMessageView.ui} (83%) diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro index 77b2d6407..c586014d2 100644 --- a/qgroundcontrol.pro +++ b/qgroundcontrol.pro @@ -329,7 +329,7 @@ FORMS += \ src/ui/uas/UASQuickViewItemSelect.ui \ src/ui/QGCTabbedInfoView.ui \ src/ui/UASRawStatusView.ui \ - src/ui/uas/QGCMessageView.ui \ + src/ui/uas/UASMessageView.ui \ src/ui/JoystickButton.ui \ src/ui/JoystickAxis.ui \ src/ui/configuration/terminalconsole.ui \ @@ -458,7 +458,7 @@ HEADERS += \ src/ui/QGCTabbedInfoView.h \ src/ui/UASRawStatusView.h \ src/ui/PrimaryFlightDisplay.h \ - src/ui/uas/QGCMessageView.h \ + src/ui/uas/UASMessageView.h \ src/ui/JoystickButton.h \ src/ui/JoystickAxis.h \ src/ui/configuration/console.h \ @@ -495,7 +495,7 @@ HEADERS += \ src/comm/LinkConfiguration.h \ src/ui/QGCCommConfiguration.h \ src/ui/QGCUDPLinkConfiguration.h \ - src/uas/QGCMessageHandler.h + src/uas/UASMessageHandler.h SOURCES += \ src/main.cc \ @@ -605,7 +605,7 @@ SOURCES += \ src/ui/PrimaryFlightDisplay.cc \ src/ui/JoystickButton.cc \ src/ui/JoystickAxis.cc \ - src/ui/uas/QGCMessageView.cc \ + src/ui/uas/UASMessageView.cc \ src/ui/configuration/terminalconsole.cpp \ src/ui/configuration/console.cpp \ src/ui/configuration/SerialSettingsDialog.cc \ @@ -637,7 +637,7 @@ SOURCES += \ src/comm/LinkConfiguration.cc \ src/ui/QGCCommConfiguration.cc \ src/ui/QGCUDPLinkConfiguration.cc \ - src/uas/QGCMessageHandler.cc + src/uas/UASMessageHandler.cc # # Unit Test specific configuration goes here diff --git a/src/QGCApplication.cc b/src/QGCApplication.cc index 35ede7c6f..f9a6e81e8 100644 --- a/src/QGCApplication.cc +++ b/src/QGCApplication.cc @@ -54,7 +54,7 @@ #include "QGCSingleton.h" #include "LinkManager.h" #include "UASManager.h" -#include "QGCMessageHandler.h" +#include "UASMessageHandler.h" #include "AutoPilotPluginManager.h" #include "QGCTemporaryFile.h" #include "QGCFileDialog.h" @@ -428,7 +428,7 @@ void QGCApplication::_createSingletons(void) Q_ASSERT(pluginManager); // Need UASManager - QGCMessageHandler* messageHandler = QGCMessageHandler::_createSingleton(); + UASMessageHandler* messageHandler = UASMessageHandler::_createSingleton(); Q_UNUSED(messageHandler); Q_ASSERT(messageHandler); @@ -466,7 +466,7 @@ void QGCApplication::_destroySingletons(void) MAVLinkProtocol::_deleteSingleton(); FactSystem::_deleteSingleton(); - QGCMessageHandler::_deleteSingleton(); + UASMessageHandler::_deleteSingleton(); AutoPilotPluginManager::_deleteSingleton(); UASManager::_deleteSingleton(); LinkManager::_deleteSingleton(); diff --git a/src/uas/QGCMessageHandler.cc b/src/uas/UASMessageHandler.cc similarity index 90% rename from src/uas/QGCMessageHandler.cc rename to src/uas/UASMessageHandler.cc index 492a3ed07..1dc9b06cd 100644 --- a/src/uas/QGCMessageHandler.cc +++ b/src/uas/UASMessageHandler.cc @@ -28,19 +28,19 @@ This file is part of the QGROUNDCONTROL project */ #include "QGCApplication.h" -#include "QGCMessageHandler.h" +#include "UASMessageHandler.h" #include "UASManager.h" -QGCUasMessage::QGCUasMessage(int componentid, int severity, QString text) +UASMessage::UASMessage(int componentid, int severity, QString text) { _compId = componentid; _severity = severity; _text = text; } -IMPLEMENT_QGC_SINGLETON(QGCMessageHandler, QGCMessageHandler) +IMPLEMENT_QGC_SINGLETON(UASMessageHandler, UASMessageHandler) -QGCMessageHandler::QGCMessageHandler(QObject *parent) +UASMessageHandler::UASMessageHandler(QObject *parent) : QGCSingleton(parent) , _activeUAS(NULL) { @@ -48,12 +48,12 @@ QGCMessageHandler::QGCMessageHandler(QObject *parent) emit textMessageReceived(NULL); } -QGCMessageHandler::~QGCMessageHandler() +UASMessageHandler::~UASMessageHandler() { _clearMessages(); } -void QGCMessageHandler::_clearMessages() +void UASMessageHandler::_clearMessages() { _mutex.lock(); while(_messages.count()) { @@ -63,7 +63,7 @@ void QGCMessageHandler::_clearMessages() _mutex.unlock(); } -void QGCMessageHandler::setActiveUAS(UASInterface* uas) +void UASMessageHandler::setActiveUAS(UASInterface* uas) { // If we were already attached to an autopilot, disconnect it. if (_activeUAS && _activeUAS != uas) @@ -83,7 +83,7 @@ void QGCMessageHandler::setActiveUAS(UASInterface* uas) } } -void QGCMessageHandler::handleTextMessage(int uasid, int compId, int severity, QString text) +void UASMessageHandler::handleTextMessage(int uasid, int compId, int severity, QString text) { Q_UNUSED(uasid); @@ -147,7 +147,7 @@ void QGCMessageHandler::handleTextMessage(int uasid, int compId, int severity, Q // Finally preppend the properly-styled text with a timestamp. QString dateString = QDateTime::currentDateTime().toString("hh:mm:ss.zzz"); - QGCUasMessage* message = new QGCUasMessage(compId, severity, text); + UASMessage* message = new UASMessage(compId, severity, text); message->_setFormatedText(QString("

[%2 - COMP:%3]%4 %5

").arg(style).arg(dateString).arg(compId).arg(severityText).arg(text)); _mutex.lock(); _messages.append(message); diff --git a/src/uas/QGCMessageHandler.h b/src/uas/UASMessageHandler.h similarity index 85% rename from src/uas/QGCMessageHandler.h rename to src/uas/UASMessageHandler.h index e2e515114..d526e95b3 100644 --- a/src/uas/QGCMessageHandler.h +++ b/src/uas/UASMessageHandler.h @@ -37,15 +37,15 @@ This file is part of the QGROUNDCONTROL project #include "QGCSingleton.h" class UASInterface; -class QGCMessageHandler; +class UASMessageHandler; /*! - * @class QGCUasMessage + * @class UASMessage * @brief Message element */ -class QGCUasMessage +class UASMessage { - friend class QGCMessageHandler; + friend class UASMessageHandler; public: /** * @brief Get message source component ID @@ -64,7 +64,7 @@ public: */ QString getFormatedText() { return _formatedText; } private: - QGCUasMessage(int componentid, int severity, QString text); + UASMessage(int componentid, int severity, QString text); void _setFormatedText(const QString formatedText) { _formatedText = formatedText; } int _compId; int _severity; @@ -72,13 +72,13 @@ private: QString _formatedText; }; -class QGCMessageHandler : public QGCSingleton +class UASMessageHandler : public QGCSingleton { Q_OBJECT - DECLARE_QGC_SINGLETON(QGCMessageHandler, QGCMessageHandler) + DECLARE_QGC_SINGLETON(UASMessageHandler, UASMessageHandler) public: - explicit QGCMessageHandler(QObject *parent = 0); - ~QGCMessageHandler(); + explicit UASMessageHandler(QObject *parent = 0); + ~UASMessageHandler(); /** * @brief Locks access to the message list */ @@ -90,7 +90,7 @@ public: /** * @brief Access to the message list */ - const QVector& messages() { return _messages; } + const QVector& messages() { return _messages; } public slots: /** * @brief Set currently active UAS @@ -110,12 +110,12 @@ signals: * @brief Sent out when new message arrives * @param message A pointer to the message. NULL if resetting (new UAS assigned) */ - void textMessageReceived(QGCUasMessage* message); + void textMessageReceived(UASMessage* message); private: void _clearMessages(); // Stores the UAS that we're currently receiving messages from. UASInterface* _activeUAS; - QVector _messages; + QVector _messages; QMutex _mutex; }; diff --git a/src/ui/QGCTabbedInfoView.cpp b/src/ui/QGCTabbedInfoView.cpp index affa58297..6940111ee 100644 --- a/src/ui/QGCTabbedInfoView.cpp +++ b/src/ui/QGCTabbedInfoView.cpp @@ -3,7 +3,7 @@ QGCTabbedInfoView::QGCTabbedInfoView(QWidget *parent) : QWidget(parent) { ui.setupUi(this); - messageView = new QGCMessageViewWidget(this); + messageView = new UASMessageViewWidget(this); //actionsWidget = new UASActionsWidget(this); quickView = new UASQuickView(this); //rawView = new UASRawStatusView(this); diff --git a/src/ui/QGCTabbedInfoView.h b/src/ui/QGCTabbedInfoView.h index 3beeb2df8..57ea549f2 100644 --- a/src/ui/QGCTabbedInfoView.h +++ b/src/ui/QGCTabbedInfoView.h @@ -4,7 +4,7 @@ #include #include "ui_QGCTabbedInfoView.h" #include "MAVLinkDecoder.h" -#include "QGCMessageView.h" +#include "UASMessageView.h" #include "UASQuickView.h" #include "UASRawStatusView.h" class QGCTabbedInfoView : public QWidget @@ -18,7 +18,7 @@ public: private: MAVLinkDecoder *m_decoder; Ui::QGCTabbedInfoView ui; - QGCMessageViewWidget *messageView; + UASMessageViewWidget *messageView; UASQuickView *quickView; UASRawStatusView *rawView; }; diff --git a/src/ui/QGCToolBar.cc b/src/ui/QGCToolBar.cc index d475b8236..89cde7c99 100644 --- a/src/ui/QGCToolBar.cc +++ b/src/ui/QGCToolBar.cc @@ -31,8 +31,8 @@ This file is part of the QGROUNDCONTROL project #include "UASManager.h" #include "MainWindow.h" #include "QGCApplication.h" -#include "QGCMessageView.h" - +#include "UASMessageView.h" +#include "UASMessageHandler.h" // Label class that sends mouse hover events class QCGHoverLabel : public QLabel @@ -739,13 +739,14 @@ void QGCToolBar::_updateConfigurations() */ void QGCToolBar::enterMessageLabel() { - if(!_rollDownMessages) + // If not already there and messages are actually present + if(!_rollDownMessages && UASMessageHandler::instance()->messages().count()) { QPoint p = toolBarMessageLabel->mapToGlobal(QPoint(0,0)); - _rollDownMessages = new QGCMessageViewRollDown(MainWindow::instance(),this); + _rollDownMessages = new UASMessageViewRollDown(MainWindow::instance(),this); _rollDownMessages->setAttribute(Qt::WA_DeleteOnClose); _rollDownMessages->move(mapFromGlobal(p)); - _rollDownMessages->setMinimumSize(400,300); + _rollDownMessages->setMinimumSize(360,200); _rollDownMessages->show(); } } diff --git a/src/ui/QGCToolBar.h b/src/ui/QGCToolBar.h index 8540dd456..b51d346e6 100644 --- a/src/ui/QGCToolBar.h +++ b/src/ui/QGCToolBar.h @@ -37,7 +37,7 @@ This file is part of the QGROUNDCONTROL project #include "SerialLink.h" #include "LinkManager.h" -class QGCMessageViewRollDown; +class UASMessageViewRollDown; class QGCToolBar : public QToolBar { @@ -138,7 +138,7 @@ private: QComboBox* _linkCombo; QAction* _linkComboAction; - QGCMessageViewRollDown* _rollDownMessages; + UASMessageViewRollDown* _rollDownMessages; QPushButton* _connectButton; bool _linksConnected; diff --git a/src/ui/uas/QGCMessageView.cc b/src/ui/uas/UASMessageView.cc similarity index 77% rename from src/ui/uas/QGCMessageView.cc rename to src/ui/uas/UASMessageView.cc index 4ffcae030..e597f3d9c 100644 --- a/src/ui/uas/QGCMessageView.cc +++ b/src/ui/uas/UASMessageView.cc @@ -25,33 +25,33 @@ This file is part of the QGROUNDCONTROL project #include #include "QGCToolBar.h" -#include "QGCMessageView.h" +#include "UASMessageView.h" #include "QGCUnconnectedInfoWidget.h" -#include "QGCMessageHandler.h" -#include "ui_QGCMessageView.h" +#include "UASMessageHandler.h" +#include "ui_UASMessageView.h" /*------------------------------------------------------------------------------------- - QGCMessageView + UASMessageView -------------------------------------------------------------------------------------*/ -QGCMessageView::QGCMessageView(QWidget *parent) : +UASMessageView::UASMessageView(QWidget *parent) : QWidget(parent), - _ui(new Ui::QGCMessageView) + _ui(new Ui::UASMessageView) { _ui->setupUi(this); } -QGCMessageView::~QGCMessageView() +UASMessageView::~UASMessageView() { delete _ui; } /*------------------------------------------------------------------------------------- - QGCMessageViewWidget + UASMessageViewWidget -------------------------------------------------------------------------------------*/ -QGCMessageViewWidget::QGCMessageViewWidget(QWidget *parent) - : QGCMessageView(parent) +UASMessageViewWidget::UASMessageViewWidget(QWidget *parent) + : UASMessageView(parent) , _unconnectedWidget(NULL) { setStyleSheet("QPlainTextEdit { border: 0px }"); @@ -67,15 +67,15 @@ QGCMessageViewWidget::QGCMessageViewWidget(QWidget *parent) connect(clearAction, SIGNAL(triggered()), ui()->plainTextEdit, SLOT(clear())); ui()->plainTextEdit->addAction(clearAction); // Connect message handler - connect(QGCMessageHandler::instance(), SIGNAL(textMessageReceived(QGCUasMessage*)), this, SLOT(handleTextMessage(QGCUasMessage*))); + connect(UASMessageHandler::instance(), SIGNAL(textMessageReceived(UASMessage*)), this, SLOT(handleTextMessage(UASMessage*))); } -QGCMessageViewWidget::~QGCMessageViewWidget() +UASMessageViewWidget::~UASMessageViewWidget() { } -void QGCMessageViewWidget::handleTextMessage(QGCUasMessage *message) +void UASMessageViewWidget::handleTextMessage(UASMessage *message) { // Reset if(!message) { @@ -102,41 +102,42 @@ void QGCMessageViewWidget::handleTextMessage(QGCUasMessage *message) } /*------------------------------------------------------------------------------------- - QGCMessageViewRollDown + UASMessageViewRollDown -------------------------------------------------------------------------------------*/ -QGCMessageViewRollDown::QGCMessageViewRollDown(QWidget *parent, QGCToolBar *toolBar) - : QGCMessageView(parent) +UASMessageViewRollDown::UASMessageViewRollDown(QWidget *parent, QGCToolBar *toolBar) + : UASMessageView(parent) { _toolBar = toolBar; - setStyleSheet("QPlainTextEdit { border: 1px }"); + setAttribute(Qt::WA_TranslucentBackground); + setStyleSheet("background-color: rgba(0%,0%,0%,80%); border: 2px;"); QPlainTextEdit *msgWidget = ui()->plainTextEdit; QAction* clearAction = new QAction(tr("Clear Text"), this); connect(clearAction, SIGNAL(triggered()), msgWidget, SLOT(clear())); msgWidget->addAction(clearAction); // Init Messages - QGCMessageHandler::instance()->lockAccess(); + UASMessageHandler::instance()->lockAccess(); msgWidget->setUpdatesEnabled(false); - QVector messages = QGCMessageHandler::instance()->messages(); + QVector messages = UASMessageHandler::instance()->messages(); for(int i = 0; i < messages.count(); i++) { msgWidget->appendHtml(messages.at(i)->getFormatedText()); } QScrollBar *scroller = msgWidget->verticalScrollBar(); scroller->setValue(scroller->maximum()); msgWidget->setUpdatesEnabled(true); - connect(QGCMessageHandler::instance(), SIGNAL(textMessageReceived(QGCUasMessage*)), this, SLOT(handleTextMessage(QGCUasMessage*))); - QGCMessageHandler::instance()->unlockAccess(); + connect(UASMessageHandler::instance(), SIGNAL(textMessageReceived(UASMessage*)), this, SLOT(handleTextMessage(UASMessage*))); + UASMessageHandler::instance()->unlockAccess(); } -QGCMessageViewRollDown::~QGCMessageViewRollDown() +UASMessageViewRollDown::~UASMessageViewRollDown() { } -void QGCMessageViewRollDown::handleTextMessage(QGCUasMessage *message) +void UASMessageViewRollDown::handleTextMessage(UASMessage *message) { // Reset - if(message) { + if(!message) { ui()->plainTextEdit->clear(); } else { QPlainTextEdit *msgWidget = ui()->plainTextEdit; @@ -150,7 +151,7 @@ void QGCMessageViewRollDown::handleTextMessage(QGCUasMessage *message) } } -void QGCMessageViewRollDown::leaveEvent(QEvent * event) +void UASMessageViewRollDown::leaveEvent(QEvent * event) { Q_UNUSED(event); _toolBar->leaveMessageView(); diff --git a/src/ui/uas/QGCMessageView.h b/src/ui/uas/UASMessageView.h similarity index 72% rename from src/ui/uas/QGCMessageView.h rename to src/ui/uas/UASMessageView.h index 75b3548a2..2edbc12d0 100644 --- a/src/ui/uas/QGCMessageView.h +++ b/src/ui/uas/UASMessageView.h @@ -30,48 +30,48 @@ This file is part of the QGROUNDCONTROL project #include #include "QGCUnconnectedInfoWidget.h" -class QGCUasMessage; +class UASMessage; class QGCToolBar; namespace Ui { -class QGCMessageView; +class UASMessageView; } // Message View base class -class QGCMessageView : public QWidget +class UASMessageView : public QWidget { Q_OBJECT public: - explicit QGCMessageView(QWidget *parent = 0); - virtual ~QGCMessageView(); - Ui::QGCMessageView* ui() { return _ui; } + explicit UASMessageView(QWidget *parent = 0); + virtual ~UASMessageView(); + Ui::UASMessageView* ui() { return _ui; } private: - Ui::QGCMessageView* _ui; + Ui::UASMessageView* _ui; }; // Message View Widget (used in the Info View tabbed Widget) -class QGCMessageViewWidget : public QGCMessageView +class UASMessageViewWidget : public UASMessageView { Q_OBJECT public: - explicit QGCMessageViewWidget(QWidget *parent = 0); - ~QGCMessageViewWidget(); + explicit UASMessageViewWidget(QWidget *parent = 0); + ~UASMessageViewWidget(); public slots: - void handleTextMessage(QGCUasMessage* message); + void handleTextMessage(UASMessage* message); private: QGCUnconnectedInfoWidget* _unconnectedWidget; }; // Roll down Message View -class QGCMessageViewRollDown : public QGCMessageView +class UASMessageViewRollDown : public UASMessageView { Q_OBJECT public: - explicit QGCMessageViewRollDown(QWidget *parent, QGCToolBar* toolBar); - ~QGCMessageViewRollDown(); + explicit UASMessageViewRollDown(QWidget *parent, QGCToolBar* toolBar); + ~UASMessageViewRollDown(); public slots: - void handleTextMessage(QGCUasMessage* message); + void handleTextMessage(UASMessage* message); protected: void leaveEvent(QEvent* event); private: diff --git a/src/ui/uas/QGCMessageView.ui b/src/ui/uas/UASMessageView.ui similarity index 83% rename from src/ui/uas/QGCMessageView.ui rename to src/ui/uas/UASMessageView.ui index 257384e20..586cf25f4 100644 --- a/src/ui/uas/QGCMessageView.ui +++ b/src/ui/uas/UASMessageView.ui @@ -1,7 +1,7 @@ - QGCMessageView - + UASMessageView + 0 @@ -10,6 +10,12 @@ 249 + + + 0 + 0 + + Qt::NoContextMenu -- 2.22.0