Fixes for Qt5 and Linux compile

rigcreator
M0VSE 2023-04-27 19:56:25 +01:00
rodzic abc29d6caa
commit 17e18a926a
9 zmienionych plików z 57 dodań i 37 usunięć

Wyświetl plik

@ -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!"

Wyświetl plik

@ -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;
} }

Wyświetl plik

@ -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);

Wyświetl plik

@ -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())
{ {

Wyświetl plik

@ -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)
{ {

Wyświetl plik

@ -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)));

Wyświetl plik

@ -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;

Wyświetl plik

@ -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:

Wyświetl plik

@ -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;
}; };