kopia lustrzana https://gitlab.com/eliggett/wfview
Fixes for Qt5 and Linux compile
rodzic
abc29d6caa
commit
17e18a926a
|
@ -33,7 +33,7 @@ cp wfview.desktop /usr/share/applications/
|
||||||
cp wfview.png /usr/share/pixmaps/
|
cp wfview.png /usr/share/pixmaps/
|
||||||
mkdir -p /usr/share/wfview/stylesheets
|
mkdir -p /usr/share/wfview/stylesheets
|
||||||
cp -r qdarkstyle /usr/share/wfview/stylesheets/
|
cp -r qdarkstyle /usr/share/wfview/stylesheets/
|
||||||
|
cp -r rigs /usr/share/wfview/
|
||||||
echo ""
|
echo ""
|
||||||
echo "Done!"
|
echo "Done!"
|
||||||
|
|
||||||
|
|
|
@ -539,7 +539,7 @@ void rigCommander::setScopeSpan(char span)
|
||||||
{
|
{
|
||||||
double freq = double(s.freq/1000000.0);
|
double freq = double(s.freq/1000000.0);
|
||||||
payload.append(makeFreqPayload(freq));
|
payload.append(makeFreqPayload(freq));
|
||||||
//qDebug(logRig()) << "Set Span for" << freq << "MHz" << "cmd:" << payload.toHex();
|
//qDebug(logRig()) << "Set Span for" << freq << "MHz" << "cmd:";
|
||||||
prepDataAndSend(payload);
|
prepDataAndSend(payload);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1754,6 +1754,7 @@ void rigCommander::parseCommand()
|
||||||
case funcNRLevel:
|
case funcNRLevel:
|
||||||
emit haveNRLevel(bcdHexToUChar(payloadIn[2],payloadIn[3]));
|
emit haveNRLevel(bcdHexToUChar(payloadIn[2],payloadIn[3]));
|
||||||
state.set(NR, bcdHexToUChar(payloadIn[2],payloadIn[3]), false);
|
state.set(NR, bcdHexToUChar(payloadIn[2],payloadIn[3]), false);
|
||||||
|
break;
|
||||||
case funcPBTInner:
|
case funcPBTInner:
|
||||||
emit haveTPBFInner(bcdHexToUChar(payloadIn[2],payloadIn[3]));
|
emit haveTPBFInner(bcdHexToUChar(payloadIn[2],payloadIn[3]));
|
||||||
state.set(PBTIN, bcdHexToUChar(payloadIn[2],payloadIn[3]), false);
|
state.set(PBTIN, bcdHexToUChar(payloadIn[2],payloadIn[3]), false);
|
||||||
|
@ -1881,6 +1882,7 @@ void rigCommander::parseCommand()
|
||||||
}
|
}
|
||||||
emit haveRptAccessMode(ra);
|
emit haveRptAccessMode(ra);
|
||||||
state.set(TONEFUNC, payloadIn.at(2) != 0, false);
|
state.set(TONEFUNC, payloadIn.at(2) != 0, false);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case funcRepeaterTSQL:
|
case funcRepeaterTSQL:
|
||||||
{
|
{
|
||||||
|
@ -1892,8 +1894,8 @@ void rigCommander::parseCommand()
|
||||||
ra = ratrTSQLoff;
|
ra = ratrTSQLoff;
|
||||||
}
|
}
|
||||||
emit haveRptAccessMode(ra);
|
emit haveRptAccessMode(ra);
|
||||||
break;
|
|
||||||
state.set(TSQLFUNC, payloadIn.at(2) != 0, false);
|
state.set(TSQLFUNC, payloadIn.at(2) != 0, false);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case funcRepeaterDTCS:
|
case funcRepeaterDTCS:
|
||||||
case funcRepeaterCSQL:
|
case funcRepeaterCSQL:
|
||||||
|
@ -2014,7 +2016,7 @@ void rigCommander::parseCommand()
|
||||||
break;
|
break;
|
||||||
case funcDashRatio:
|
case funcDashRatio:
|
||||||
emit haveDashRatio(bcdHexToUChar(payloadIn[4]));
|
emit haveDashRatio(bcdHexToUChar(payloadIn[4]));
|
||||||
|
break;
|
||||||
// 0x1b register
|
// 0x1b register
|
||||||
case funcToneFreq:
|
case funcToneFreq:
|
||||||
emit haveTone(decodeTone(payloadIn));
|
emit haveTone(decodeTone(payloadIn));
|
||||||
|
@ -3244,7 +3246,7 @@ void rigCommander::setTime(timekind t)
|
||||||
payload.append(convertNumberToHex(t.hours));
|
payload.append(convertNumberToHex(t.hours));
|
||||||
payload.append(convertNumberToHex(t.minutes));
|
payload.append(convertNumberToHex(t.minutes));
|
||||||
prepDataAndSend(payload);
|
prepDataAndSend(payload);
|
||||||
qInfo(logRig()) << QString("Setting Time: %0:%1 (%3)").arg(t.hours).arg(t.minutes).arg(payload.toHex());
|
qInfo(logRig()) << QString("Setting Time: %0:%1").arg(t.hours).arg(t.minutes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -3293,7 +3295,7 @@ void rigCommander::setDate(datekind d)
|
||||||
payload.append(convertNumberToHex(d.month));
|
payload.append(convertNumberToHex(d.month));
|
||||||
payload.append(convertNumberToHex(d.day));
|
payload.append(convertNumberToHex(d.day));
|
||||||
prepDataAndSend(payload);
|
prepDataAndSend(payload);
|
||||||
qInfo(logRig()) << QString("Setting Date: %0-%1-%2 (%3)").arg(d.year).arg(d.month).arg(d.day).arg(payload.toHex());
|
qInfo(logRig()) << QString("Setting Date: %0-%1-%2").arg(d.year).arg(d.month).arg(d.day);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -3337,7 +3339,7 @@ void rigCommander::setUTCOffset(timekind t)
|
||||||
payload.append(convertNumberToHex(t.minutes));
|
payload.append(convertNumberToHex(t.minutes));
|
||||||
payload.append(static_cast<unsigned char>(t.isMinus));
|
payload.append(static_cast<unsigned char>(t.isMinus));
|
||||||
prepDataAndSend(payload);
|
prepDataAndSend(payload);
|
||||||
qInfo(logRig()) << QString("Setting UTC Offset: %0%1:%2 (%3)").arg((t.isMinus)?"-":"+").arg(t.hours).arg(t.minutes).arg(payload.toHex());
|
qInfo(logRig()) << QString("Setting UTC Offset: %0%1:%2").arg((t.isMinus)?"-":"+").arg(t.hours).arg(t.minutes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -3384,7 +3386,7 @@ unsigned char rigCommander::convertNumberToHex(unsigned char num)
|
||||||
unsigned char result = 0;
|
unsigned char result = 0;
|
||||||
result = (num/10) << 4;
|
result = (num/10) << 4;
|
||||||
result |= (num - 10*(num/10));
|
result |= (num - 10*(num/10));
|
||||||
qDebug(logRig()) << "Converting number: " << num << " to hex: " + QString("0x%1").arg(result, 2, 16, QChar('0'));
|
//qDebug(logRig()) << "Converting number: " << num << " to hex: " + QString("0x%1").arg(result, 2, 16, QChar('0');
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
|
|
||||||
//#define DEBUG_PARSE // Enable to output Info messages every 10s with command parse timing.
|
//#define DEBUG_PARSE // Enable to output Info messages every 10s with command parse timing.
|
||||||
|
|
||||||
|
typedef QHash<unsigned char, QString> rigTypedef;
|
||||||
|
|
||||||
class rigCommander : public QObject
|
class rigCommander : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -41,8 +43,8 @@ public:
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void process();
|
void process();
|
||||||
void commSetup(QHash<unsigned char,QString> rigList, unsigned char rigCivAddr, QString rigSerialPort, quint32 rigBaudRate, QString vsp, quint16 tcp, quint8 wf);
|
void commSetup(rigTypedef rigList, unsigned char rigCivAddr, QString rigSerialPort, quint32 rigBaudRate, QString vsp, quint16 tcp, quint8 wf);
|
||||||
void commSetup(QHash<unsigned char,QString> rigList, unsigned char rigCivAddr, udpPreferences prefs, audioSetup rxSetup, audioSetup txSetup, QString vsp, quint16 tcp);
|
void commSetup(rigTypedef rigList, unsigned char rigCivAddr, udpPreferences prefs, audioSetup rxSetup, audioSetup txSetup, QString vsp, quint16 tcp);
|
||||||
void closeComm();
|
void closeComm();
|
||||||
void stateUpdated();
|
void stateUpdated();
|
||||||
void setRTSforPTT(bool enabled);
|
void setRTSforPTT(bool enabled);
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
#include <QDebug>
|
||||||
|
#include "logcategories.h"
|
||||||
|
|
||||||
#include "rigcreator.h"
|
#include "rigcreator.h"
|
||||||
#include "ui_rigcreator.h"
|
#include "ui_rigcreator.h"
|
||||||
|
|
||||||
|
@ -24,29 +27,26 @@ rigCreator::~rigCreator()
|
||||||
void rigCreator::on_defaultRigs_clicked(bool clicked)
|
void rigCreator::on_defaultRigs_clicked(bool clicked)
|
||||||
{
|
{
|
||||||
Q_UNUSED(clicked)
|
Q_UNUSED(clicked)
|
||||||
QString appdata = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
|
|
||||||
QDir dir(appdata);
|
|
||||||
if (!dir.exists()) {
|
|
||||||
dir.mkpath(appdata);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!dir.exists("rigs")) {
|
#ifdef Q_OS_LINUX
|
||||||
dir.mkdir("rigs");
|
QString appdata = "/usr/local/share/wfview/rigs";
|
||||||
}
|
QString file = QFileDialog::getOpenFileName(this,"Select Rig Filename",appdata,"Rig Files (*.rig)",nullptr,QFileDialog::DontUseNativeDialog);
|
||||||
|
#else
|
||||||
|
QString appdata = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)+"/rigs";
|
||||||
|
QString file = QFileDialog::getOpenFileName(this,"Select Rig Filename",appdata,"Rig Files (*.rig)");
|
||||||
|
#endif
|
||||||
|
|
||||||
QString file = QFileDialog::getOpenFileName(this,"Select Rig Filename",appdata+"/rigs","Rig Files (*.rig)");
|
|
||||||
if (!file.isEmpty())
|
if (!file.isEmpty())
|
||||||
{
|
{
|
||||||
loadRigFile(file);
|
loadRigFile(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void rigCreator::on_loadFile_clicked(bool clicked)
|
void rigCreator::on_loadFile_clicked(bool clicked)
|
||||||
{
|
{
|
||||||
Q_UNUSED(clicked)
|
Q_UNUSED(clicked)
|
||||||
#ifdef DEVMODE
|
#ifdef DEVMODE
|
||||||
QString appdata = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
|
QString appdata = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
|
||||||
#else
|
#else
|
||||||
QString appdata = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)+"/wfview";
|
QString appdata = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)+"/wfview";
|
||||||
#endif
|
#endif
|
||||||
|
@ -59,7 +59,12 @@ void rigCreator::on_loadFile_clicked(bool clicked)
|
||||||
dir.mkdir("rigs");
|
dir.mkdir("rigs");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef Q_OS_LINUX
|
||||||
|
QString file = QFileDialog::getOpenFileName(this,"Select Rig Filename",appdata+"/rigs","Rig Files (*.rig)",nullptr,QFileDialog::DontUseNativeDialog);
|
||||||
|
#else
|
||||||
QString file = QFileDialog::getOpenFileName(this,"Select Rig Filename",appdata+"/rigs","Rig Files (*.rig)");
|
QString file = QFileDialog::getOpenFileName(this,"Select Rig Filename",appdata+"/rigs","Rig Files (*.rig)");
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!file.isEmpty())
|
if (!file.isEmpty())
|
||||||
{
|
{
|
||||||
loadRigFile(file);
|
loadRigFile(file);
|
||||||
|
@ -281,7 +286,7 @@ void rigCreator::on_saveFile_clicked(bool clicked)
|
||||||
{
|
{
|
||||||
Q_UNUSED(clicked)
|
Q_UNUSED(clicked)
|
||||||
#ifdef DEVMODE
|
#ifdef DEVMODE
|
||||||
QString appdata = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
|
QString appdata = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
|
||||||
#else
|
#else
|
||||||
QString appdata = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)+"/wfview";
|
QString appdata = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)+"/wfview";
|
||||||
#endif
|
#endif
|
||||||
|
@ -296,7 +301,11 @@ void rigCreator::on_saveFile_clicked(bool clicked)
|
||||||
}
|
}
|
||||||
|
|
||||||
QFileInfo fileInfo(currentFile);
|
QFileInfo fileInfo(currentFile);
|
||||||
|
#ifdef Q_OS_LINUX
|
||||||
|
QString file = QFileDialog::getSaveFileName(this,"Select Rig Filename",appdata+"/rigs/"+fileInfo.fileName(),"Rig Files (*.rig)",nullptr,QFileDialog::DontUseNativeDialog);
|
||||||
|
#else
|
||||||
QString file = QFileDialog::getSaveFileName(this,"Select Rig Filename",appdata+"/rigs/"+fileInfo.fileName(),"Rig Files (*.rig)");
|
QString file = QFileDialog::getSaveFileName(this,"Select Rig Filename",appdata+"/rigs/"+fileInfo.fileName(),"Rig Files (*.rig)");
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!file.isEmpty())
|
if (!file.isEmpty())
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#include <QDebug>
|
||||||
|
#include "logcategories.h"
|
||||||
|
|
||||||
#include "tablewidget.h"
|
#include "tablewidget.h"
|
||||||
|
|
||||||
|
@ -15,7 +17,12 @@ void tableWidget::mouseReleaseEvent(QMouseEvent *event)
|
||||||
QAction *insert= menu.addAction("Insert Item");
|
QAction *insert= menu.addAction("Insert Item");
|
||||||
QAction *add= menu.addAction("Add Item");
|
QAction *add= menu.addAction("Add Item");
|
||||||
QAction *del = menu.addAction("Delete Item");
|
QAction *del = menu.addAction("Delete Item");
|
||||||
|
#if (QT_VERSION < QT_VERSION_CHECK(6,0,0))
|
||||||
|
QAction *selectedAction = menu.exec(event->globalPos());
|
||||||
|
#else
|
||||||
QAction *selectedAction = menu.exec(event->globalPosition().toPoint());
|
QAction *selectedAction = menu.exec(event->globalPosition().toPoint());
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
if(selectedAction == insert)
|
if(selectedAction == insert)
|
||||||
{
|
{
|
||||||
|
|
10
wfmain.cpp
10
wfmain.cpp
|
@ -87,11 +87,17 @@ wfmain::wfmain(const QString settingsFile, const QString logFile, bool debugMode
|
||||||
qRegisterMetaType<errorType>();
|
qRegisterMetaType<errorType>();
|
||||||
qRegisterMetaType<usbFeatureType>();
|
qRegisterMetaType<usbFeatureType>();
|
||||||
qRegisterMetaType<cmds>();
|
qRegisterMetaType<cmds>();
|
||||||
|
qRegisterMetaType<rigTypedef>();
|
||||||
|
|
||||||
haveRigCaps = false;
|
haveRigCaps = false;
|
||||||
|
|
||||||
// We need to populate the last of rigs as early as possible so do it now
|
// We need to populate the last of rigs as early as possible so do it now
|
||||||
|
#ifdef Q_OS_LINUX
|
||||||
|
QString appdata = "/usr/local/share/wfview/rigs";
|
||||||
|
#else
|
||||||
QString appdata = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)+"/rigs";
|
QString appdata = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)+"/rigs";
|
||||||
|
#endif
|
||||||
|
|
||||||
QDir rigsDir(appdata);
|
QDir rigsDir(appdata);
|
||||||
|
|
||||||
if (!rigsDir.exists()) {
|
if (!rigsDir.exists()) {
|
||||||
|
@ -727,8 +733,8 @@ void wfmain::makeRig()
|
||||||
connect(rig, SIGNAL(setRadioUsage(quint8, quint8, QString, QString)), selRad, SLOT(setInUse(quint8, quint8, QString, QString)));
|
connect(rig, SIGNAL(setRadioUsage(quint8, quint8, QString, QString)), selRad, SLOT(setInUse(quint8, quint8, QString, QString)));
|
||||||
connect(selRad, SIGNAL(selectedRadio(quint8)), rig, SLOT(setCurrentRadio(quint8)));
|
connect(selRad, SIGNAL(selectedRadio(quint8)), rig, SLOT(setCurrentRadio(quint8)));
|
||||||
// Rig comm setup:
|
// Rig comm setup:
|
||||||
connect(this, SIGNAL(sendCommSetup(QHash<unsigned char,QString>,unsigned char, udpPreferences, audioSetup, audioSetup, QString, quint16)), rig, SLOT(commSetup(QHash<unsigned char,QString>,unsigned char, udpPreferences, audioSetup, audioSetup, QString, quint16)));
|
connect(this, SIGNAL(sendCommSetup(rigTypedef,unsigned char, udpPreferences, audioSetup, audioSetup, QString, quint16)), rig, SLOT(commSetup(rigTypedef,unsigned char, udpPreferences, audioSetup, audioSetup, QString, quint16)));
|
||||||
connect(this, SIGNAL(sendCommSetup(QHash<unsigned char,QString>,unsigned char, QString, quint32,QString, quint16,quint8)), rig, SLOT(commSetup(QHash<unsigned char,QString>,unsigned char, QString, quint32,QString, quint16,quint8)));
|
connect(this, SIGNAL(sendCommSetup(rigTypedef,unsigned char, QString, quint32,QString, quint16,quint8)), rig, SLOT(commSetup(rigTypedef,unsigned char, QString, quint32,QString, quint16,quint8)));
|
||||||
connect(this, SIGNAL(setRTSforPTT(bool)), rig, SLOT(setRTSforPTT(bool)));
|
connect(this, SIGNAL(setRTSforPTT(bool)), rig, SLOT(setRTSforPTT(bool)));
|
||||||
|
|
||||||
connect(rig, SIGNAL(haveBaudRate(quint32)), this, SLOT(receiveBaudRate(quint32)));
|
connect(rig, SIGNAL(haveBaudRate(quint32)), this, SLOT(receiveBaudRate(quint32)));
|
||||||
|
|
5
wfmain.h
5
wfmain.h
|
@ -267,8 +267,8 @@ signals:
|
||||||
void sayFrequency();
|
void sayFrequency();
|
||||||
void sayMode();
|
void sayMode();
|
||||||
void sayAll();
|
void sayAll();
|
||||||
void sendCommSetup(QHash<unsigned char,QString> rigList, unsigned char rigCivAddr, QString rigSerialPort, quint32 rigBaudRate,QString vsp, quint16 tcp, quint8 wf);
|
void sendCommSetup(rigTypedef rigList, unsigned char rigCivAddr, QString rigSerialPort, quint32 rigBaudRate,QString vsp, quint16 tcp, quint8 wf);
|
||||||
void sendCommSetup(QHash<unsigned char,QString> rigList, unsigned char rigCivAddr, udpPreferences prefs, audioSetup rxSetup, audioSetup txSetup, QString vsp, quint16 tcp);
|
void sendCommSetup(rigTypedef rigList, unsigned char rigCivAddr, udpPreferences prefs, audioSetup rxSetup, audioSetup txSetup, QString vsp, quint16 tcp);
|
||||||
void sendCloseComm();
|
void sendCloseComm();
|
||||||
void sendChangeLatency(quint16 latency);
|
void sendChangeLatency(quint16 latency);
|
||||||
void initServer();
|
void initServer();
|
||||||
|
@ -1265,6 +1265,7 @@ Q_DECLARE_METATYPE(struct rptrTone_t)
|
||||||
Q_DECLARE_METATYPE(struct rptrAccessData_t)
|
Q_DECLARE_METATYPE(struct rptrAccessData_t)
|
||||||
Q_DECLARE_METATYPE(enum usbFeatureType)
|
Q_DECLARE_METATYPE(enum usbFeatureType)
|
||||||
Q_DECLARE_METATYPE(enum cmds)
|
Q_DECLARE_METATYPE(enum cmds)
|
||||||
|
Q_DECLARE_METATYPE(rigTypedef)
|
||||||
|
|
||||||
//void (*wfmain::logthistext)(QString text) = NULL;
|
//void (*wfmain::logthistext)(QString text) = NULL;
|
||||||
|
|
||||||
|
|
|
@ -132,6 +132,10 @@ unix:stylesheets.files = qdarkstyle
|
||||||
unix:stylesheets.path = $$PREFIX/share/wfview
|
unix:stylesheets.path = $$PREFIX/share/wfview
|
||||||
INSTALLS += stylesheets
|
INSTALLS += stylesheets
|
||||||
|
|
||||||
|
unix:rigs.files = rigs/*
|
||||||
|
unix:rigs.path = $$PREFIX/share/wfview/rigs
|
||||||
|
INSTALLS += rigs
|
||||||
|
|
||||||
macx:LIBS += -framework CoreAudio -framework CoreFoundation -lpthread -lopus
|
macx:LIBS += -framework CoreAudio -framework CoreFoundation -lpthread -lopus
|
||||||
|
|
||||||
# Do not do this, it will hang on start:
|
# Do not do this, it will hang on start:
|
||||||
|
|
|
@ -275,19 +275,8 @@ struct funcType {
|
||||||
int maxVal;
|
int maxVal;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum argType {
|
|
||||||
argNone,
|
|
||||||
argChar,
|
|
||||||
argInt,
|
|
||||||
argByteArray,
|
|
||||||
argDouble,
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
struct commandtype {
|
struct commandtype {
|
||||||
cmds cmd;
|
cmds cmd;
|
||||||
funcs func;
|
|
||||||
|
|
||||||
std::shared_ptr<void> data;
|
std::shared_ptr<void> data;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue