Integrated help into the system. Most all the sub-screens that are actually complete

and working have integrated help now. Press F1 to bring up help for a given window.
This commit is contained in:
Collin Kidder
2017-11-30 21:02:16 -05:00
parent 3d5c4c55c6
commit 9302c18c33
39 changed files with 528 additions and 13 deletions
+21
View File
@@ -1,6 +1,7 @@
#include "discretestatewindow.h"
#include "ui_discretestatewindow.h"
#include "mainwindow.h"
#include "helpwindow.h"
DiscreteStateWindow::DiscreteStateWindow(const QVector<CANFrame> *frames, QWidget *parent) :
QDialog(parent),
@@ -55,10 +56,12 @@ DiscreteStateWindow::DiscreteStateWindow(const QVector<CANFrame> *frames, QWidge
});
refreshFilterList();
installEventFilter(this);
}
DiscreteStateWindow::~DiscreteStateWindow()
{
removeEventFilter(this);
timer->stop();
for (int i = 0; i < stateFrames.count(); i++)
@@ -71,6 +74,24 @@ DiscreteStateWindow::~DiscreteStateWindow()
delete ui;
}
bool DiscreteStateWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyRelease) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
switch (keyEvent->key())
{
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("discretestate.html");
break;
}
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
return false;
}
void DiscreteStateWindow::typeChanged()
{
if (ui->rbLogged->isChecked())
+1
View File
@@ -53,6 +53,7 @@ private:
void refreshFilterList();
void closeEvent(QCloseEvent *event);
bool eventFilter(QObject *obj, QEvent *event);
void readSettings();
void writeSettings();
void updateStateLabel();
+22 -1
View File
@@ -1,6 +1,6 @@
#include "filecomparatorwindow.h"
#include "ui_filecomparatorwindow.h"
#include "helpwindow.h"
#include <QSettings>
FileComparatorWindow::FileComparatorWindow(QWidget *parent) :
@@ -16,10 +16,13 @@ FileComparatorWindow::FileComparatorWindow(QWidget *parent) :
ui->lblFirstFile->setText("");
ui->lblRefFrames->setText("0");
installEventFilter(this);
}
FileComparatorWindow::~FileComparatorWindow()
{
removeEventFilter(this);
delete ui;
}
@@ -34,6 +37,24 @@ void FileComparatorWindow::closeEvent(QCloseEvent *event)
writeSettings();
}
bool FileComparatorWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyRelease) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
switch (keyEvent->key())
{
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("filecomparison.html");
break;
}
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
return false;
}
void FileComparatorWindow::readSettings()
{
QSettings settings;
+1
View File
@@ -43,6 +43,7 @@ private:
void calculateDetails();
void showEvent(QShowEvent *);
void closeEvent(QCloseEvent *event);
bool eventFilter(QObject *obj, QEvent *event);
void readSettings();
void writeSettings();
};
+4
View File
@@ -1,6 +1,7 @@
#include "flowviewwindow.h"
#include "ui_flowviewwindow.h"
#include "mainwindow.h"
#include "helpwindow.h"
const QColor FlowViewWindow::graphColors[8] = {Qt::blue, Qt::green, Qt::black, Qt::red, //0 1 2 3
Qt::gray, Qt::yellow, Qt::cyan, Qt::darkMagenta}; //4 5 6 7
@@ -193,6 +194,9 @@ bool FlowViewWindow::eventFilter(QObject *obj, QEvent *event)
case Qt::Key_Y:
btnFwdOneClick();
break;
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("flowview.html");
break;
}
return true;
} else {
+21
View File
@@ -1,6 +1,7 @@
#include "frameinfowindow.h"
#include "ui_frameinfowindow.h"
#include "mainwindow.h"
#include "helpwindow.h"
#include <QtDebug>
FrameInfoWindow::FrameInfoWindow(const QVector<CANFrame> *frames, QWidget *parent) :
@@ -42,6 +43,7 @@ FrameInfoWindow::FrameInfoWindow(const QVector<CANFrame> *frames, QWidget *paren
ui->graphHistogram->setAntialiasedElements(QCP::aeNone);
}
installEventFilter(this);
}
void FrameInfoWindow::showEvent(QShowEvent* event)
@@ -56,8 +58,27 @@ void FrameInfoWindow::showEvent(QShowEvent* event)
}
}
bool FrameInfoWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyRelease) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
switch (keyEvent->key())
{
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("framedetails.html");
break;
}
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
return false;
}
FrameInfoWindow::~FrameInfoWindow()
{
removeEventFilter(this);
delete ui;
}
+1
View File
@@ -36,6 +36,7 @@ private:
void refreshIDList();
void closeEvent(QCloseEvent *event);
bool eventFilter(QObject *obj, QEvent *event);
void readSettings();
void writeSettings();
void dumpNode(QTreeWidgetItem* item, QFile *file, int indent);
+21
View File
@@ -3,6 +3,7 @@
#include "utility.h"
#include <QDebug>
#include "mainwindow.h"
#include "helpwindow.h"
#include "connections/canconmanager.h"
FuzzingWindow::FuzzingWindow(const QVector<CANFrame> *frames, QWidget *parent) :
@@ -41,13 +42,33 @@ FuzzingWindow::FuzzingWindow(const QVector<CANFrame> *frames, QWidget *parent) :
for (int n = 0; n < numBuses; n++) ui->cbBuses->addItem(QString::number(n));
ui->cbBuses->addItem(tr("All"));
installEventFilter(this);
}
FuzzingWindow::~FuzzingWindow()
{
removeEventFilter(this);
delete ui;
}
bool FuzzingWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyRelease) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
switch (keyEvent->key())
{
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("fuzzingwindow.html");
break;
}
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
return false;
}
void FuzzingWindow::updatedFrames(int numFrames)
{
int id;
+1
View File
@@ -64,6 +64,7 @@ private:
void calcNextID();
void calcNextBitPattern();
void redrawGrid();
bool eventFilter(QObject *obj, QEvent *event);
};
#endif // FUZZINGWINDOW_H
+4
View File
@@ -2,6 +2,7 @@
#include "ui_graphingwindow.h"
#include "newgraphdialog.h"
#include "mainwindow.h"
#include "helpwindow.h"
#include <QDebug>
GraphingWindow::GraphingWindow(const QVector<CANFrame> *frames, QWidget *parent) :
@@ -397,6 +398,9 @@ bool GraphingWindow::eventFilter(QObject *obj, QEvent *event)
case Qt::Key_Minus:
zoomOut();
break;
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("graphwindow.html");
break;
}
return true;
} else if (event->type() == QEvent::TouchBegin)
+21
View File
@@ -1,6 +1,7 @@
#include "isotp_interpreterwindow.h"
#include "ui_isotp_interpreterwindow.h"
#include "mainwindow.h"
#include "helpwindow.h"
ISOTP_InterpreterWindow::ISOTP_InterpreterWindow(const QVector<CANFrame> *frames, QWidget *parent) :
QDialog(parent),
@@ -60,14 +61,34 @@ void ISOTP_InterpreterWindow::showEvent(QShowEvent* event)
QDialog::showEvent(event);
readSettings();
decoder->updatedFrames(-2);
installEventFilter(this);
}
void ISOTP_InterpreterWindow::closeEvent(QCloseEvent *event)
{
Q_UNUSED(event);
removeEventFilter(this);
writeSettings();
}
bool ISOTP_InterpreterWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyRelease) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
switch (keyEvent->key())
{
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("isotp_decoder.html");
break;
}
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
return false;
}
void ISOTP_InterpreterWindow::readSettings()
{
QSettings settings;
+1
View File
@@ -43,6 +43,7 @@ private:
QHash<int, bool> idFilters;
void closeEvent(QCloseEvent *event);
bool eventFilter(QObject *obj, QEvent *event);
void readSettings();
void writeSettings();
+22
View File
@@ -2,6 +2,7 @@
#include "ui_newgraphdialog.h"
#include <QColorDialog>
#include "utility.h"
#include "helpwindow.h"
NewGraphDialog::NewGraphDialog(DBCHandler *handler, QWidget *parent) :
QDialog(parent),
@@ -33,10 +34,13 @@ NewGraphDialog::NewGraphDialog(DBCHandler *handler, QWidget *parent) :
dataLen = 1;
loadMessages();
installEventFilter(this);
}
NewGraphDialog::~NewGraphDialog()
{
removeEventFilter(this);
delete ui;
}
@@ -48,6 +52,24 @@ void NewGraphDialog::showEvent(QShowEvent* event)
qDebug() << "S" << ui->gridData->geometry();
}
bool NewGraphDialog::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyRelease) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
switch (keyEvent->key())
{
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("graphsetup.html");
break;
}
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
return false;
}
void NewGraphDialog::addButtonClicked()
{
accept();
+2
View File
@@ -32,6 +32,8 @@ private slots:
void copySignalToParamsUI();
private:
bool eventFilter(QObject *obj, QEvent *event);
Ui::NewGraphDialog *ui;
DBCHandler *dbcHandler;
int startBit, dataLen;
+22
View File
@@ -2,6 +2,7 @@
#include "ui_rangestatewindow.h"
#include "mainwindow.h"
#include "utility.h"
#include "helpwindow.h"
RangeStateWindow::RangeStateWindow(const QVector<CANFrame> *frames, QWidget *parent) :
QDialog(parent),
@@ -88,14 +89,35 @@ void RangeStateWindow::showEvent(QShowEvent* event)
readSettings();
refreshFilterList();
installEventFilter(this);
}
void RangeStateWindow::closeEvent(QCloseEvent *event)
{
Q_UNUSED(event);
removeEventFilter(this);
writeSettings();
}
bool RangeStateWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyRelease) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
switch (keyEvent->key())
{
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("rangestate.html");
break;
}
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
return false;
}
void RangeStateWindow::readSettings()
{
QSettings settings;
+1
View File
@@ -36,6 +36,7 @@ private:
void signalsFactory();
bool processSignal(int startBit, int bitLength, int sensitivity, bool bigEndian, bool isSigned);
void createGraph(QVector<int> values);
bool eventFilter(QObject *obj, QEvent *event);
};
#endif // RANGESTATEWINDOW_H
+20 -1
View File
@@ -2,6 +2,7 @@
#include <QListWidgetItem>
#include "snifferwindow.h"
#include "ui_snifferwindow.h"
#include "helpwindow.h"
#include "connections/canconmanager.h"
SnifferWindow::SnifferWindow(QWidget *parent) :
@@ -50,7 +51,7 @@ void SnifferWindow::showEvent(QShowEvent* event)
QDialog::showEvent(event);
connect(CANConManager::getInstance(), &CANConManager::framesReceived, &mModel, &SnifferModel::update);
mTimer.start();
installEventFilter(this);
qDebug() << "show";
}
@@ -69,8 +70,26 @@ void SnifferWindow::closeEvent(QCloseEvent *event)
mMap.clear();
/* reset filtering */
mFilter = false;
removeEventFilter(this);
}
bool SnifferWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyRelease) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
switch (keyEvent->key())
{
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("sniffer.html");
break;
}
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
return false;
}
void SnifferWindow::update()
{
+1
View File
@@ -45,6 +45,7 @@ public slots:
private:
void filter(bool pFilter);
bool eventFilter(QObject *obj, QEvent *event);
Ui::snifferWindow* ui;
SnifferModel mModel;
+21
View File
@@ -4,6 +4,7 @@
#include "connections/canconmanager.h"
#include "bus_protocols/uds_handler.h"
#include "utility.h"
#include "helpwindow.h"
UDSScanWindow::UDSScanWindow(const QVector<CANFrame> *frames, QWidget *parent) :
QDialog(parent),
@@ -39,16 +40,36 @@ UDSScanWindow::UDSScanWindow(const QVector<CANFrame> *frames, QWidget *parent) :
int numBuses = CANConManager::getInstance()->getNumBuses();
for (int n = 0; n < numBuses; n++) ui->cbBuses->addItem(QString::number(n));
installEventFilter(this);
}
UDSScanWindow::~UDSScanWindow()
{
removeEventFilter(this);
delete ui;
waitTimer->stop();
delete waitTimer;
delete udsHandler;
}
bool UDSScanWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyRelease) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
switch (keyEvent->key())
{
case Qt::Key_F1:
HelpWindow::getRef()->showHelp("uds_scanner.html");
break;
}
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
return false;
}
void UDSScanWindow::adaptiveToggled()
{
if (ui->cbAllowAdaptiveOffset->isChecked()) ui->spinReplyOffset->setEnabled(false);
+1
View File
@@ -51,5 +51,6 @@ private:
void sendOnBuses(UDS_MESSAGE frame, int buses);
void setupNodes();
void dumpNode(QTreeWidgetItem* item, QFile *file, int indent);
bool eventFilter(QObject *obj, QEvent *event);
};
#endif // UDSSCANWINDOW_H