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/
mkdir -p /usr/share/wfview/stylesheets
cp -r qdarkstyle /usr/share/wfview/stylesheets/
cp -r rigs /usr/share/wfview/
echo ""
echo "Done!"

Wyświetl plik

@ -539,7 +539,7 @@ void rigCommander::setScopeSpan(char span)
{
double freq = double(s.freq/1000000.0);
payload.append(makeFreqPayload(freq));
//qDebug(logRig()) << "Set Span for" << freq << "MHz" << "cmd:" << payload.toHex();
//qDebug(logRig()) << "Set Span for" << freq << "MHz" << "cmd:";
prepDataAndSend(payload);
break;
}
@ -1754,6 +1754,7 @@ void rigCommander::parseCommand()
case funcNRLevel:
emit haveNRLevel(bcdHexToUChar(payloadIn[2],payloadIn[3]));
state.set(NR, bcdHexToUChar(payloadIn[2],payloadIn[3]), false);
break;
case funcPBTInner:
emit haveTPBFInner(bcdHexToUChar(payloadIn[2],payloadIn[3]));
state.set(PBTIN, bcdHexToUChar(payloadIn[2],payloadIn[3]), false);
@ -1881,6 +1882,7 @@ void rigCommander::parseCommand()
}
emit haveRptAccessMode(ra);
state.set(TONEFUNC, payloadIn.at(2) != 0, false);
break;
}
case funcRepeaterTSQL:
{
@ -1892,8 +1894,8 @@ void rigCommander::parseCommand()
ra = ratrTSQLoff;
}
emit haveRptAccessMode(ra);
break;
state.set(TSQLFUNC, payloadIn.at(2) != 0, false);
break;
}
case funcRepeaterDTCS:
case funcRepeaterCSQL:
@ -2014,7 +2016,7 @@ void rigCommander::parseCommand()
break;
case funcDashRatio:
emit haveDashRatio(bcdHexToUChar(payloadIn[4]));
break;
// 0x1b register
case funcToneFreq:
emit haveTone(decodeTone(payloadIn));
@ -3244,7 +3246,7 @@ void rigCommander::setTime(timekind t)
payload.append(convertNumberToHex(t.hours));
payload.append(convertNumberToHex(t.minutes));
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.day));
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(static_cast<unsigned char>(t.isMinus));
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;
result = (num/10) << 4;
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;
}

Wyświetl plik

@ -26,6 +26,8 @@
//#define DEBUG_PARSE // Enable to output Info messages every 10s with command parse timing.
typedef QHash<unsigned char, QString> rigTypedef;
class rigCommander : public QObject
{
Q_OBJECT
@ -41,8 +43,8 @@ public:
public slots:
void process();
void commSetup(QHash<unsigned char,QString> 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, QString rigSerialPort, quint32 rigBaudRate, QString vsp, quint16 tcp, quint8 wf);
void commSetup(rigTypedef rigList, unsigned char rigCivAddr, udpPreferences prefs, audioSetup rxSetup, audioSetup txSetup, QString vsp, quint16 tcp);
void closeComm();
void stateUpdated();
void setRTSforPTT(bool enabled);

Wyświetl plik

@ -1,3 +1,6 @@
#include <QDebug>
#include "logcategories.h"
#include "rigcreator.h"
#include "ui_rigcreator.h"
@ -24,29 +27,26 @@ rigCreator::~rigCreator()
void rigCreator::on_defaultRigs_clicked(bool clicked)
{
Q_UNUSED(clicked)
QString appdata = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
QDir dir(appdata);
if (!dir.exists()) {
dir.mkpath(appdata);
}
if (!dir.exists("rigs")) {
dir.mkdir("rigs");
}
#ifdef Q_OS_LINUX
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())
{
loadRigFile(file);
}
}
void rigCreator::on_loadFile_clicked(bool clicked)
{
Q_UNUSED(clicked)
#ifdef DEVMODE
QString appdata = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
QString appdata = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
#else
QString appdata = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)+"/wfview";
#endif
@ -59,7 +59,12 @@ void rigCreator::on_loadFile_clicked(bool clicked)
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)");
#endif
if (!file.isEmpty())
{
loadRigFile(file);
@ -281,7 +286,7 @@ void rigCreator::on_saveFile_clicked(bool clicked)
{
Q_UNUSED(clicked)
#ifdef DEVMODE
QString appdata = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
QString appdata = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
#else
QString appdata = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)+"/wfview";
#endif
@ -296,7 +301,11 @@ void rigCreator::on_saveFile_clicked(bool clicked)
}
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)");
#endif
if (!file.isEmpty())
{

Wyświetl plik

@ -1,3 +1,5 @@
#include <QDebug>
#include "logcategories.h"
#include "tablewidget.h"
@ -15,7 +17,12 @@ void tableWidget::mouseReleaseEvent(QMouseEvent *event)
QAction *insert= menu.addAction("Insert Item");
QAction *add= menu.addAction("Add 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());
#endif
if(selectedAction == insert)
{

Wyświetl plik

@ -87,11 +87,17 @@ wfmain::wfmain(const QString settingsFile, const QString logFile, bool debugMode
qRegisterMetaType<errorType>();
qRegisterMetaType<usbFeatureType>();
qRegisterMetaType<cmds>();
qRegisterMetaType<rigTypedef>();
haveRigCaps = false;
// 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";
#endif
QDir rigsDir(appdata);
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(selRad, SIGNAL(selectedRadio(quint8)), rig, SLOT(setCurrentRadio(quint8)));
// 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(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, udpPreferences, audioSetup, audioSetup, QString, quint16)), rig, SLOT(commSetup(rigTypedef,unsigned char, udpPreferences, audioSetup, audioSetup, QString, quint16)));
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(rig, SIGNAL(haveBaudRate(quint32)), this, SLOT(receiveBaudRate(quint32)));

Wyświetl plik

@ -267,8 +267,8 @@ signals:
void sayFrequency();
void sayMode();
void sayAll();
void sendCommSetup(QHash<unsigned char,QString> 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, QString rigSerialPort, quint32 rigBaudRate,QString vsp, quint16 tcp, quint8 wf);
void sendCommSetup(rigTypedef rigList, unsigned char rigCivAddr, udpPreferences prefs, audioSetup rxSetup, audioSetup txSetup, QString vsp, quint16 tcp);
void sendCloseComm();
void sendChangeLatency(quint16 latency);
void initServer();
@ -1265,6 +1265,7 @@ Q_DECLARE_METATYPE(struct rptrTone_t)
Q_DECLARE_METATYPE(struct rptrAccessData_t)
Q_DECLARE_METATYPE(enum usbFeatureType)
Q_DECLARE_METATYPE(enum cmds)
Q_DECLARE_METATYPE(rigTypedef)
//void (*wfmain::logthistext)(QString text) = NULL;

Wyświetl plik

@ -132,6 +132,10 @@ unix:stylesheets.files = qdarkstyle
unix:stylesheets.path = $$PREFIX/share/wfview
INSTALLS += stylesheets
unix:rigs.files = rigs/*
unix:rigs.path = $$PREFIX/share/wfview/rigs
INSTALLS += rigs
macx:LIBS += -framework CoreAudio -framework CoreFoundation -lpthread -lopus
# Do not do this, it will hang on start:

Wyświetl plik

@ -275,19 +275,8 @@ struct funcType {
int maxVal;
};
enum argType {
argNone,
argChar,
argInt,
argByteArray,
argDouble,
};
struct commandtype {
cmds cmd;
funcs func;
std::shared_ptr<void> data;
};