kopia lustrzana https://gitlab.com/eliggett/wfview
Merge branch 'creator-widgets' of gitlab.com:eliggett/wfview into creator-widgets
commit
64929b549a
|
@ -120,7 +120,7 @@ void cachingQueue::add(queuePriority prio ,queueItem item)
|
|||
if (item.command != funcNone)
|
||||
{
|
||||
QMutexLocker locker(&mutex);
|
||||
if (!item.recurring || isRecurring(item.command) != prio)
|
||||
if (!item.recurring || isRecurring(item.command,item.vfo) != prio)
|
||||
{
|
||||
if (item.recurring && prio == queuePriority::priorityImmediate) {
|
||||
qWarning() << "Warning, cannot add recurring command with immediate priority!" << funcString[item.command];
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
#!/bin/bash
|
||||
echo "This script copies the following items into your system:"
|
||||
echo ""
|
||||
echo "icon: wfview.png to /usr/share/pixmaps/"
|
||||
echo "icon: unix_icons/wfview.png to /usr/share/icons/hicolor/256x256/apps/"
|
||||
echo "wfview application to /usr/local/bin/"
|
||||
echo "wfview.desktop to /usr/share/applications/"
|
||||
echo "qdarkstyle stylesheet to /usr/share/wfview/stylesheets"
|
||||
echo "org.wfview.wfview.metainfo.xml metadata file to /usr/share/metainfo/"
|
||||
echo "qdarkstyle stylesheet to /usr/share/wfview/stylesheets/"
|
||||
|
||||
echo ""
|
||||
echo "This script MUST be run from the build directory. Do not run it from the source directory!"
|
||||
|
@ -30,7 +31,8 @@ echo ""
|
|||
|
||||
cp wfview /usr/local/bin/wfview
|
||||
cp wfview.desktop /usr/share/applications/
|
||||
cp wfview.png /usr/share/pixmaps/
|
||||
cp unix_icons/wfview.png /usr/share/icons/hicolor/256x256/apps/
|
||||
cp org.wfview.wfview.metainfo.xml /usr/share/metainfo/
|
||||
mkdir -p /usr/share/wfview/stylesheets
|
||||
cp -r qdarkstyle /usr/share/wfview/stylesheets/
|
||||
cp -r rigs /usr/share/wfview/
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>org.wfview.wfview</id>
|
||||
<launchable type="desktop-id">wfview.desktop</launchable>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0-or-later</project_license>
|
||||
<name>wfview</name>
|
||||
<developer_name>Elliott H. Liggett</developer_name>
|
||||
<summary>Open Source interface for Icom transceivers</summary>
|
||||
<description>
|
||||
<p>
|
||||
wfview is a program developed by amateur radio enthusiasts to control modern Icom ham radios. It provides the user with controls
|
||||
that may be comfortably operated from a keyboard, mouse, or touch screen interface. wfview is free and open source software.
|
||||
</p>
|
||||
<p>
|
||||
wfview has been developed with an eye towards compatibility. Even though our target platform consists of modern-era transceivers,
|
||||
wfview’s command dictionary is focused on commands with the most compatibility. Many of Icom’s transceivers from the last 20 years
|
||||
will work to some degree with wfview, and we are always adding more.
|
||||
</p>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image type="source">https://wfview.org/wp-content/uploads/2021/11/7300-remote-screenshot.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<url type="homepage">https://wfview.org</url>
|
||||
<url type="bugtracker">https://gitlab.com/eliggett/wfview/-/issues</url>
|
||||
<content_rating type="oars-1.1"/>
|
||||
</component>
|
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 53 KiB |
|
@ -797,7 +797,7 @@ Periodic\27\Command=Tuner/ATU Status
|
|||
Periodic\27\VFO=0
|
||||
Periodic\28\Priority=Medium Low
|
||||
Periodic\28\Command=Tuning Step
|
||||
Periodic\28\VFO=-1
|
||||
Periodic\28\VFO=0
|
||||
Periodic\29\Priority=Medium
|
||||
Periodic\29\Command=Unselected Freq
|
||||
Periodic\29\VFO=1
|
||||
|
|
|
@ -1499,6 +1499,7 @@ void spectrumScope::receivePassband(quint16 pass)
|
|||
|
||||
void spectrumScope::selected(bool en)
|
||||
{
|
||||
isActive = en;
|
||||
if (en)
|
||||
this->setStyleSheet("QGroupBox { border:1px solid red;}");
|
||||
else
|
||||
|
@ -1636,21 +1637,53 @@ void spectrumScope::wfTheme(int num)
|
|||
configTheme->setCurrentIndex(configTheme->findData(currentTheme));
|
||||
}
|
||||
|
||||
void spectrumScope::setPBTInner (double hz) {
|
||||
PBTInner = hz;
|
||||
double pbFreq = ((double)(this->PBTInner) / this->passbandWidth) * 127.0;
|
||||
qint16 newFreq = pbFreq + 128;
|
||||
if (newFreq >= 0 && newFreq <= 255) {
|
||||
configPbtInner->setValue(newFreq);
|
||||
void spectrumScope::setPBTInner (uchar val) {
|
||||
qint16 shift = (qint16)(val - 128);
|
||||
double tempVar = ceil((shift / 127.0) * passbandWidth * 20000.0) / 20000.0;
|
||||
// tempVar now contains value to the nearest 50Hz If CW mode, add/remove the cwPitch.
|
||||
double pitch = 0.0;
|
||||
if ((this->mode.mk == modeCW || this->mode.mk == modeCW_R) && this->passbandWidth > 0.0006)
|
||||
{
|
||||
pitch = (600.0 - cwPitch) / 1000000.0;
|
||||
}
|
||||
|
||||
double newPBT = round((tempVar + pitch) * 200000.0) / 200000.0; // Nearest 5Hz.
|
||||
|
||||
if (newPBT != this->PBTInner) {
|
||||
this->PBTInner = newPBT;
|
||||
qInfo(logSystem()) << "New PBT Inner value received" << this->PBTInner << "CW Pitch" << this->cwPitch << "Passband" << this->passbandWidth;
|
||||
double pbFreq = ((double)(this->PBTInner) / this->passbandWidth) * 127.0;
|
||||
qint16 newFreq = pbFreq + 128;
|
||||
if (newFreq >= 0 && newFreq <= 255) {
|
||||
configPbtInner->blockSignals(true);
|
||||
configPbtInner->setValue(newFreq);
|
||||
configPbtInner->blockSignals(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void spectrumScope::setPBTOuter (double hz) {
|
||||
PBTOuter = hz;
|
||||
double pbFreq = ((double)(this->PBTOuter) / this->passbandWidth) * 127.0;
|
||||
qint16 newFreq = pbFreq + 128;
|
||||
if (newFreq >= 0 && newFreq <= 255) {
|
||||
configPbtOuter->setValue(newFreq);
|
||||
void spectrumScope::setPBTOuter (uchar val) {
|
||||
qint16 shift = (qint16)(val - 128);
|
||||
double tempVar = ceil((shift / 127.0) * this->passbandWidth * 20000.0) / 20000.0;
|
||||
// tempVar now contains value to the nearest 50Hz If CW mode, add/remove the cwPitch.
|
||||
double pitch = 0.0;
|
||||
if ((this->mode.mk == modeCW || this->mode.mk == modeCW_R) && this->passbandWidth > 0.0006)
|
||||
{
|
||||
pitch = (600.0 - cwPitch) / 1000000.0;
|
||||
}
|
||||
|
||||
double newPBT = round((tempVar + pitch) * 200000.0) / 200000.0; // Nearest 5Hz.
|
||||
|
||||
if (newPBT != this->PBTOuter) {
|
||||
this->PBTOuter = newPBT;
|
||||
qInfo(logSystem()) << "New PBT Outer value received" << this->PBTOuter << "CW Pitch" << this->cwPitch << "Passband" << this->passbandWidth;
|
||||
double pbFreq = ((double)(this->PBTOuter) / this->passbandWidth) * 127.0;
|
||||
qint16 newFreq = pbFreq + 128;
|
||||
if (newFreq >= 0 && newFreq <= 255) {
|
||||
configPbtOuter->blockSignals(true);
|
||||
configPbtOuter->setValue(newFreq);
|
||||
configPbtOuter->blockSignals(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -64,10 +64,10 @@ public:
|
|||
void receivePassband(quint16 pass);
|
||||
|
||||
double getPBTInner () { return PBTInner;}
|
||||
void setPBTInner (double hz);
|
||||
void setPBTInner (uchar val);
|
||||
|
||||
double getPBTOuter () { return PBTOuter;}
|
||||
void setPBTOuter (double hz);
|
||||
void setPBTOuter (uchar val);
|
||||
|
||||
quint16 getStepSize () { return stepSize;}
|
||||
void setStepSize (quint16 hz) { stepSize = hz;}
|
||||
|
@ -88,6 +88,7 @@ public:
|
|||
void addFilter(QString text, QVariant data) {filterCombo->blockSignals(true); filterCombo->addItem(text,data); filterCombo->blockSignals(false);}
|
||||
|
||||
void selected(bool);
|
||||
bool isSelected() {return isActive;}
|
||||
void setHold(bool h);
|
||||
void setSpeed(uchar s);
|
||||
void displaySettings(int NumDigits, qint64 Minf, qint64 Maxf, int MinStep,FctlUnit unit,std::vector<bandType>* bands = Q_NULLPTR);
|
||||
|
@ -269,6 +270,7 @@ private:
|
|||
// Assorted settings
|
||||
bool tuningFloorZeros=false;
|
||||
bool clickDragTuning=false;
|
||||
bool isActive;
|
||||
};
|
||||
|
||||
#endif // SPECTRUMSCOPE_H
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
|
||||
in order to be able to autostart wfserver, this simple unitfile made by
|
||||
Mick VK3ADD, will help you.
|
||||
|
||||
path and suggested name of the file:
|
||||
|
||||
|
||||
/etc/systemd/system/wfserver.service
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=WF Server
|
||||
After=network.target
|
||||
StartLimitIntervalSec=0
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=1
|
||||
User=pi
|
||||
ExecStart=/usr/local/bin/wfserver
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
115
wfmain.cpp
115
wfmain.cpp
|
@ -3962,14 +3962,15 @@ void wfmain::initPeriodicCommands()
|
|||
queue->clear();
|
||||
|
||||
foreach (auto cap, rigCaps.periodic) {
|
||||
qDebug(logRig()) << "Inserting command" << funcString[cap.func] << "priority" << cap.priority << "on VFO" << QString::number(cap.vfo);
|
||||
if (cap.vfo == -1) {
|
||||
for (uchar v=0;v<rigCaps.numVFO;v++)
|
||||
{
|
||||
qDebug(logSystem()) << "Inserting command" << funcString[cap.func] << "priority" << cap.priority << "on VFO" << QString::number(v);
|
||||
queue->add(queuePriority(cap.prioVal),cap.func,true,v);
|
||||
}
|
||||
}
|
||||
else {
|
||||
qDebug(logSystem()) << "Inserting command" << funcString[cap.func] << "priority" << cap.priority << "on VFO" << QString::number(cap.vfo);
|
||||
queue->add(queuePriority(cap.prioVal),cap.func,true,cap.vfo);
|
||||
}
|
||||
}
|
||||
|
@ -4661,8 +4662,12 @@ void wfmain::receiveTuningStep(unsigned char step)
|
|||
}
|
||||
}
|
||||
|
||||
void wfmain::receiveMeter(meter_t inMeter, unsigned char level)
|
||||
void wfmain::receiveMeter(meter_t inMeter, unsigned char level,unsigned char vfo)
|
||||
{
|
||||
// Currently do nothing with meters from second VFO
|
||||
if (vfo)
|
||||
return;
|
||||
|
||||
switch(inMeter)
|
||||
{
|
||||
// These first two meters, S and Power,
|
||||
|
@ -4822,20 +4827,26 @@ void wfmain::on_rxAntennaCheck_clicked(bool value)
|
|||
queue->add(priorityImmediate,queueItem(funcAntenna,QVariant::fromValue<antennaInfo>(ant),false));
|
||||
}
|
||||
|
||||
void wfmain::receivePreamp(unsigned char pre)
|
||||
void wfmain::receivePreamp(unsigned char pre, uchar vfo)
|
||||
{
|
||||
ui->preampSelCombo->setCurrentIndex(ui->preampSelCombo->findData(pre));
|
||||
if (!vfo) {
|
||||
ui->preampSelCombo->setCurrentIndex(ui->preampSelCombo->findData(pre));
|
||||
}
|
||||
}
|
||||
|
||||
void wfmain::receiveAttenuator(unsigned char att)
|
||||
void wfmain::receiveAttenuator(unsigned char att, uchar vfo)
|
||||
{
|
||||
ui->attSelCombo->setCurrentIndex(ui->attSelCombo->findData(att));
|
||||
if (!vfo) {
|
||||
ui->attSelCombo->setCurrentIndex(ui->attSelCombo->findData(att));
|
||||
}
|
||||
}
|
||||
|
||||
void wfmain::receiveAntennaSel(unsigned char ant, bool rx)
|
||||
void wfmain::receiveAntennaSel(unsigned char ant, bool rx, uchar vfo)
|
||||
{
|
||||
ui->antennaSelCombo->setCurrentIndex(ant);
|
||||
ui->rxAntennaCheck->setChecked(rx);
|
||||
if (!vfo) {
|
||||
ui->antennaSelCombo->setCurrentIndex(ant);
|
||||
ui->rxAntennaCheck->setChecked(rx);
|
||||
}
|
||||
}
|
||||
|
||||
void wfmain::calculateTimingParameters()
|
||||
|
@ -5446,23 +5457,26 @@ void wfmain::receiveValue(cacheItem val){
|
|||
}
|
||||
switch (val.command)
|
||||
{
|
||||
case funcFreqGet:
|
||||
case funcFreqTR:
|
||||
// If current VFO (0) isn't selected, then send this to other VFO
|
||||
if (!vfos[val.vfo]->isSelected()){
|
||||
val.vfo=!bool(val.vfo);
|
||||
}
|
||||
vfos[val.vfo]->setFrequency(val.value.value<freqt>());
|
||||
break;
|
||||
|
||||
#if defined __GNUC__
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
|
||||
#endif
|
||||
|
||||
case funcUnselectedFreq:
|
||||
val.vfo=1;
|
||||
case funcFreqGet:
|
||||
case funcFreqTR:
|
||||
case funcSelectedFreq:
|
||||
{
|
||||
freqt f = val.value.value<freqt>();
|
||||
|
||||
vfos[val.vfo]->setFrequency(f);
|
||||
vfos[val.vfo]->setFrequency(val.value.value<freqt>());
|
||||
}
|
||||
#if defined __GNUC__
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
case funcReadTXFreq:
|
||||
break;
|
||||
case funcVFODualWatch:
|
||||
|
@ -5470,20 +5484,24 @@ void wfmain::receiveValue(cacheItem val){
|
|||
break;
|
||||
case funcModeGet:
|
||||
case funcModeTR:
|
||||
case funcSelectedMode:
|
||||
if (vfos.size()) {
|
||||
vfos[0]->receiveMode(val.value.value<modeInfo>());
|
||||
finputbtns->updateCurrentMode(val.value.value<modeInfo>().mk);
|
||||
finputbtns->updateFilterSelection(val.value.value<modeInfo>().filter);
|
||||
rpt->handleUpdateCurrentMainMode(val.value.value<modeInfo>());
|
||||
cw->handleCurrentModeUpdate(val.value.value<modeInfo>().mk);
|
||||
// If current VFO (0) isn't selected, then send this to other VFO
|
||||
if (!vfos[val.vfo]->isSelected()){
|
||||
val.vfo=!bool(val.vfo);
|
||||
}
|
||||
case funcSelectedMode:
|
||||
vfos[val.vfo]->receiveMode(val.value.value<modeInfo>());
|
||||
finputbtns->updateCurrentMode(val.value.value<modeInfo>().mk);
|
||||
finputbtns->updateFilterSelection(val.value.value<modeInfo>().filter);
|
||||
rpt->handleUpdateCurrentMainMode(val.value.value<modeInfo>());
|
||||
cw->handleCurrentModeUpdate(val.value.value<modeInfo>().mk);
|
||||
break;
|
||||
case funcUnselectedMode:
|
||||
val.vfo=1;
|
||||
if (vfos.size()>1)
|
||||
vfos[1]->receiveMode(val.value.value<modeInfo>());
|
||||
vfos[val.vfo]->receiveMode(val.value.value<modeInfo>());
|
||||
break;
|
||||
#if defined __GNUC__
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
case funcVFOBandMS:
|
||||
break;
|
||||
case funcSatelliteMemory:
|
||||
|
@ -5506,31 +5524,17 @@ void wfmain::receiveValue(cacheItem val){
|
|||
receiveTuningStep(val.value.value<uchar>());
|
||||
break;
|
||||
case funcAttenuator:
|
||||
receiveAttenuator(val.value.value<uchar>());
|
||||
receiveAttenuator(val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcAntenna:
|
||||
receiveAntennaSel(val.value.value<antennaInfo>().antenna,val.value.value<antennaInfo>().rx);
|
||||
receiveAntennaSel(val.value.value<antennaInfo>().antenna,val.value.value<antennaInfo>().rx,val.vfo);
|
||||
break;
|
||||
case funcPBTOuter:
|
||||
vfos[val.vfo]->setPBTOuter(val.value.value<uchar>());
|
||||
break;
|
||||
case funcPBTInner:
|
||||
{
|
||||
uchar level = val.value.value<uchar>();
|
||||
qint16 shift = (qint16)(level - 128);
|
||||
double tempVar = ceil((shift / 127.0) * vfos[val.vfo]->getPassbandWidth() * 20000.0) / 20000.0;
|
||||
// tempVar now contains value to the nearest 50Hz If CW mode, add/remove the cwPitch.
|
||||
double pitch = 0.0;
|
||||
modeInfo mode = vfos[val.vfo]->currentMode();
|
||||
if ((mode.mk == modeCW || mode.mk == modeCW_R) && vfos[val.vfo]->getPassbandWidth() > 0.0006)
|
||||
{
|
||||
pitch = (600.0 - cwPitch) / 1000000.0;
|
||||
}
|
||||
double newVal = round((tempVar + pitch) * 200000.0) / 200000.0; // Nearest 5Hz.
|
||||
|
||||
if (val.command == funcPBTInner) {
|
||||
vfos[val.vfo]->setPBTInner(newVal);
|
||||
} else {
|
||||
vfos[val.vfo]->setPBTOuter(newVal);
|
||||
}
|
||||
vfos[val.vfo]->setPBTInner(val.value.value<uchar>());
|
||||
break;
|
||||
}
|
||||
case funcIFShift:
|
||||
|
@ -5547,6 +5551,7 @@ void wfmain::receiveValue(cacheItem val){
|
|||
foreach (auto vfo, vfos) {
|
||||
vfo->receiveCwPitch(val.value.value<uchar>());
|
||||
}
|
||||
// Also send to CW window
|
||||
cw->handlePitch(val.value.value<uchar>());
|
||||
break;
|
||||
case funcMicGain:
|
||||
|
@ -5595,7 +5600,7 @@ void wfmain::receiveValue(cacheItem val){
|
|||
case funcSMeterSqlStatus:
|
||||
break;
|
||||
case funcSMeter:
|
||||
receiveMeter(meter_t::meterS,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterS,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcVariousSql:
|
||||
break;
|
||||
|
@ -5605,29 +5610,29 @@ void wfmain::receiveValue(cacheItem val){
|
|||
}
|
||||
break;
|
||||
case funcCenterMeter:
|
||||
receiveMeter(meter_t::meterCenter,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterCenter,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcPowerMeter:
|
||||
receiveMeter(meter_t::meterPower,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterPower,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcSWRMeter:
|
||||
receiveMeter(meter_t::meterSWR,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterSWR,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcALCMeter:
|
||||
receiveMeter(meter_t::meterALC,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterALC,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcCompMeter:
|
||||
receiveMeter(meter_t::meterComp,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterComp,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcVdMeter:
|
||||
receiveMeter(meter_t::meterVoltage,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterVoltage,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcIdMeter:
|
||||
receiveMeter(meter_t::meterCurrent,val.value.value<uchar>());
|
||||
receiveMeter(meter_t::meterCurrent,val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
// 0x16 enable/disable functions:
|
||||
case funcPreamp:
|
||||
receivePreamp(val.value.value<uchar>());
|
||||
receivePreamp(val.value.value<uchar>(),val.vfo);
|
||||
break;
|
||||
case funcAGCTime:
|
||||
break;
|
||||
|
@ -5824,7 +5829,7 @@ void wfmain::receiveValue(cacheItem val){
|
|||
vfos[0]->selected(!subScope);
|
||||
vfos[1]->selected(subScope);
|
||||
} else {
|
||||
vfos[0]->selected(false);
|
||||
vfos[0]->selected(true);
|
||||
vfos[1]->selected(false);
|
||||
}
|
||||
}
|
||||
|
|
8
wfmain.h
8
wfmain.h
|
@ -395,7 +395,7 @@ private slots:
|
|||
void receiveIFShift(unsigned char level);
|
||||
|
||||
// Meters:
|
||||
void receiveMeter(meter_t meter, unsigned char level);
|
||||
void receiveMeter(meter_t meter, unsigned char level, unsigned char vfo=0);
|
||||
// void receiveSMeter(unsigned char level);
|
||||
// void receivePowerMeter(unsigned char level);
|
||||
// void receiveALCMeter(unsigned char level);
|
||||
|
@ -403,9 +403,9 @@ private slots:
|
|||
|
||||
|
||||
void receiveATUStatus(unsigned char atustatus);
|
||||
void receivePreamp(unsigned char pre);
|
||||
void receiveAttenuator(unsigned char att);
|
||||
void receiveAntennaSel(unsigned char ant, bool rx);
|
||||
void receivePreamp(unsigned char pre, uchar vfo);
|
||||
void receiveAttenuator(unsigned char att, uchar vfo);
|
||||
void receiveAntennaSel(unsigned char ant, bool rx,uchar vfo);
|
||||
void receiveRigID(rigCapabilities rigCaps);
|
||||
void receiveFoundRigID(rigCapabilities rigCaps);
|
||||
void receivePortError(errorType err);
|
||||
|
|
13
wfview.pro
13
wfview.pro
|
@ -115,17 +115,22 @@ unix:target.path = $$PREFIX/bin
|
|||
INSTALLS += target
|
||||
|
||||
# Why doesn't this seem to do anything?
|
||||
unix:DISTFILES += resources/wfview.png \
|
||||
unix:DISTFILES += resources/unix_icons/wfview.png \
|
||||
resources/install.sh
|
||||
unix:DISTFILES += resources/wfview.desktop
|
||||
unix:DISTFILES += resources/org.wfview.wfview.metainfo.xml
|
||||
|
||||
unix:applications.files = resources/wfview.desktop
|
||||
unix:applications.path = $$PREFIX/share/applications
|
||||
INSTALLS += applications
|
||||
|
||||
unix:pixmaps.files = resources/wfview.png
|
||||
unix:pixmaps.path = $$PREFIX/share/pixmaps
|
||||
INSTALLS += pixmaps
|
||||
unix:icons.files = resources/unix_icons/wfview.png
|
||||
unix:icons.path = $$PREFIX/share/icons/hicolor/256x256/apps
|
||||
INSTALLS += icons
|
||||
|
||||
unix:metainfo.files = resources/org.wfview.wfview.metainfo.xml
|
||||
unix:metainfo.path = $$PREFIX/share/metainfo
|
||||
INSTALLS += metainfo
|
||||
|
||||
unix:stylesheets.files = qdarkstyle
|
||||
unix:stylesheets.path = $$PREFIX/share/wfview
|
||||
|
|
|
@ -209,7 +209,7 @@ cmdLCDWaterfall, cmdLCDSpectrum, cmdLCDNothing, cmdSeparator
|
|||
|
||||
|
||||
// funcs and funcString MUST match exactly (and NUMFUNCS must be updated)
|
||||
#define NUMFUNCS 212
|
||||
#define NUMFUNCS 244
|
||||
|
||||
enum funcs { funcNone,
|
||||
funcFreqTR, funcModeTR, funcBandEdgeFreq, funcFreqGet, funcModeGet, funcFreqSet, // \x00
|
||||
|
@ -244,6 +244,12 @@ funcScopeMainSub, funcScopeSingleDual, funcScopeMainMode, funcSco
|
|||
funcScopeMainEdge, funcScopeSubEdge, funcScopeMainHold, funcScopeSubHold, funcScopeMainRef, funcScopeSubRef,
|
||||
funcScopeMainSpeed, funcScopeSubSpeed, funcScopeMainVBW, funcScopeSubVBW, funcScopeMainRBW, funcScopeSubRBW,
|
||||
funcScopeDuringTX, funcScopeCenterType, funcScopeFixedEdgeFreq, funcVoiceTX, funcMainSubPrefix, funcAFCSetting,
|
||||
funcSSBRXHPFLPF, funcSSBRXBass, funcSSBRXTreble, FuncAMRXHPFLPF, funcAMRXBass, funcAMRXTreble,
|
||||
funcFMRXHPFLPF, funcFMRXBass, funcFMRXTreble, FuncCWRXHPFLPF, funcCWRXTreble, funcCWRXBass,
|
||||
funcSSBTXHLPLPF, funcSSBTXBass, funcSSBTXTreble, FuncAMTXHPFLPF, funcAMTXBass, funcAMTXTreble,
|
||||
funcFMTXHPFLPF, funcFMTXBass, funcFMTXTreble, funcBeepLevel, funcBeepLevelLimit, funcBeepConfirmation,
|
||||
funcBandEdgeBeep, funcBeepMain, funcBeepSub, funcRFSQLControl, funcTXDelayHF, funcTXDelay50m,
|
||||
funcTimeOutTimer, funcTimeOutCIV,
|
||||
funcGPSTXMode, funcSatelliteMemory, funcGPSPosition, funcMemoryGroup, funcSelectVFO, funcSeparator,
|
||||
funcLCDWaterfall, funcLCDSpectrum, funcLCDNothing, funcPageUp, funcPageDown, funcVFOFrequency,
|
||||
funcVFOMode, funcRigctlFunction, funcRigctlLevel, funcRigctlParam, funcRXAudio, funcTXAudio,
|
||||
|
@ -285,6 +291,12 @@ static QString funcString[] { "None",
|
|||
"Scope Main Edge", "Scope Sub Edge", "Scope Main Hold", "Scope Sub Hold", "Scope Main Ref", "Scope Sub Ref",
|
||||
"Scope Main Speed", "Scope Sub Speed", "Scope Main VBW", "Scope Sub VBW", "Scope Main RBW", "Scope Sub RBW",
|
||||
"Scope During TX", "Scope Center Type", "Scope Fixed Edge Freq", "Voice TX", "Main/Sub Prefix", "AFC Function",
|
||||
"SSB RX HPFLPF", "SSB RX Bass", "SSB RX Treble", "AM RX HPFLPF", "AM RX Bass", "AM RX Treble",
|
||||
"FM RX HPFLPF", "FM RX Bass", "FM RX Treble", "CW RX HPFLPF", "CW RX Bass", "CW RX Treble",
|
||||
"SSB TX HPFLPF", "SSB TX Bass", "SSB TX Treble", "AM TX HPFLPF", "AM TX Bass", "AM TX Treble",
|
||||
"FM TX HPFLPF", "FM TX Bass", "FM TX Treble", "Beep Level", "Beep Level Limit", "Beep Confirmation",
|
||||
"Band Edge Beep", "Beep Main Band", "Beep Sub Band", "RF SQL Control", "TX Delay HF", "TX Delay 50m",
|
||||
"Timeout Timer", "Timeout C-IV",
|
||||
"GPS TX Mode", "Satellite Memory", "GPS Position", "Memory Group", "-Select VFO", "-Seperator",
|
||||
"-LCD Waterfall", "-LCD Spectrum", "-LCD Nothing", "-Page Up", "-Page Down", "-VFO Frequency",
|
||||
"-VFO Mode", "-Rigctl Function", "-Rigctl Level", "-Rigctl Param", "-RX Audio Data", "-TX Audio Data",
|
||||
|
|
Ładowanie…
Reference in New Issue