Skip to content

Commit 11ae82d

Browse files
authored
Merge branch 'foldynl:master' into master
2 parents 46609df + 8f9c758 commit 11ae82d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+2838
-1819
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Bug Report
2+
description: File a bug report
3+
labels: ["bug", "triage"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Please reserve the issue tracker for reporting presumed bugs in QLog. If you have a question about usage or installation, please use the [QLog Discussions](https://github.com/foldynl/QLog/discussions)
9+
10+
- type: textarea
11+
id: what-happened
12+
attributes:
13+
label: What happened? How can it be reproduced? Provide as much information as possible.
14+
description: Also, what did you expect to happen?
15+
validations:
16+
required: true
17+
18+
- type: input
19+
id: specific-version
20+
attributes:
21+
label: QLog Version
22+
description: "Version reported in **Main Menu → Help → About**"
23+
value: "0.0.0"
24+
validations:
25+
required: true
26+
27+
- type: dropdown
28+
id: ostype
29+
attributes:
30+
label: Which OS are you using?
31+
options:
32+
- Linux
33+
- macOS
34+
- Windows
35+
validations:
36+
required: true
37+
38+
- type: dropdown
39+
id: osinstallation
40+
attributes:
41+
label: 'QLog Installation Method'
42+
description: 'Select the installation method'
43+
options:
44+
- DEB/RPM
45+
- Flatpak
46+
- EXE
47+
- DMG
48+
- Self-Compiled
49+
- I don't know
50+
validations:
51+
required: true
52+
53+
- type: textarea
54+
id: system-information
55+
attributes:
56+
label: Installation Details
57+
description: |
58+
If you're not familiar with the QLog Installation Method mentioned above, please attach a screenshot of Main Menu → Help → About or provide more details about your OS.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Feature Request
2+
description: Request a new feature or enhancement for QLog
3+
labels: ["enhancement"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Please describe the feature you would like to see and why it would be beneficial.
9+
10+
Before submitting a request, check if a similar feature has already been suggested in the [existing issues](https://github.com/foldynl/QLog/issues).
11+
12+
- type: textarea
13+
id: feature-description
14+
attributes:
15+
label: Feature Description
16+
description: Describe the feature or enhancement in detail. How should it work? Why is this feature useful?
17+
validations:
18+
required: true
19+

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: "📖 Find documentation"
4+
url: https://github.com/foldynl/QLog/wiki
5+
about: "Most documentation is on the QLog wiki"
6+
- name: "📨 Ask a question — Discussions"
7+
url: https://github.com/foldynl/QLog/discussions
8+
about: "Please use GitHub Discussions for general questions"

.github/workflows/c-cpp.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
name: Ubuntu CI QT5
1414
strategy:
1515
matrix:
16-
os: [ubuntu-20.04, ubuntu-22.04]
16+
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
1717

1818
runs-on: ${{ matrix.os }}
1919

@@ -35,7 +35,7 @@ jobs:
3535
name: Ubuntu CI QT6
3636
strategy:
3737
matrix:
38-
os: [ubuntu-22.04]
38+
os: [ubuntu-22.04, ubuntu-24.04]
3939

4040
runs-on: ${{ matrix.os }}
4141

AUTHORS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ CONTRIBUTORS:
1717
Alfredo IK1VQY
1818
Michael AA5SH
1919
Emilio EA7QL
20-
Kyle Boyle
20+
Kyle Boyle VE9KZ

Changelog

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
2025/04/04 - 0.43.0
2+
- [NEW] - Added support to receive QSOs from CSN SAT Device (PR #610 @aa5sh)
3+
- [NEW] - Bandmap - Multiple independent bandmap windows (PR #593 @kyleboyle @foldynl)
4+
- [NEW] - Winkey Keyer driver currently supports v1 and v2 hardware
5+
- [NEW] - QSO Detail - QSLs QSLr Msg is editable
6+
- [NEW] - Activity Manager - Added new dynamic field - QSL Message Send
7+
- [CHANGED] - HamlibDrv - Enabled Power, RIT, XIT, Morse for RIG Netctl
8+
- [CHANGED] - QSO Detail - QSLMSG replaced by QSLMSG_RCVD (issue #633)
9+
- [CHANGED] - eQSL Upload - Added an option to choose a QSLMsg field
10+
- [CHANGED] - eQSL Download - eQSL QSLMSG is stored to QLog QSLMSG_RCVD
11+
- [CHANGED] - eQSL Download - Added QSLMSG_RCVD merging - eQSL message is appended
12+
- Fixed Speed pot doesn't seem to work with a WinKeyer; double chars (issue #618)
13+
- Fixed BandMap Spots colour change after a QSO (issue #632)
14+
- Fixed Incorrect Field Mapping for Received eQSL Messages (issue #633)
15+
116
2025/03/07 - 0.42.2
217
- Fixed Logbook country translations (issue #608)
318
- Fixed Unexpected dialog when QSO after contest (issue #614)

QLog.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ greaterThan(QT_MAJOR_VERSION, 5): QT += widgets
1010

1111
TARGET = qlog
1212
TEMPLATE = app
13-
VERSION = 0.42.2
13+
VERSION = 0.43.0
1414

1515
DEFINES += VERSION=\\\"$$VERSION\\\"
1616

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ QLogs aims to be as simple as possible, but to provide everything the operator e
1818
- **Secure Password Storage** for all services with password or security token
1919
- **Online** and **Offline** map
2020
- Club Member lookup
21-
- CW Keyer Support - CWDaemon, FLDigi (all supported modes), Morse Over CAT, WinKey V2
21+
- CW Keyer Support - CWDaemon, FLDigi (all supported modes), Morse Over CAT, WinKey v1 or v2
2222
- Bandmap
2323
- CW Console
2424
- WSJT-X integration
@@ -48,7 +48,7 @@ QLogs aims to be as simple as possible, but to provide everything the operator e
4848
* [CWDaemon](https://cwdaemon.sourceforge.net/)
4949
* [FLDigi](http://www.w1hkj.com/)
5050
* Morse Over CAT
51-
* WinKey v2 compatible hardware
51+
* WinKey v1 or v2 compatible hardware
5252

5353
### Supported Secure Password Storage
5454
* Linux: LibSecretKeyring, GnomeKeyring, Kwallet4, Kwallet5

core/LogParam.cpp

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <QSqlQuery>
22
#include <QCache>
3+
#include <QSqlError>
34

45
#include "LogParam.h"
56
#include "debug.h"
@@ -124,6 +125,43 @@ void LogParam::removeParamGroup(const QString &paramGroup)
124125
return;
125126
}
126127

128+
QStringList LogParam::getKeys(const QString &group)
129+
{
130+
FCT_IDENTIFICATION;
131+
132+
qCDebug(function_parameters) << group;
133+
134+
PARAMMUTEXLOCKER;
135+
136+
QSet<QString> keys; // unique values;
137+
138+
QSqlQuery query;
139+
140+
if ( ! query.prepare("SELECT name FROM log_param WHERE name LIKE :group ") )
141+
{
142+
qWarning()<< "Cannot prepare select parameter statement for" << group << query.lastError().text();
143+
return QStringList();
144+
}
145+
146+
query.bindValue(":group", group + "%");
147+
148+
if ( ! query.exec() )
149+
qWarning() << "Cannot execute removeParamGroup statement for" << group;
150+
151+
while ( query.next() )
152+
{
153+
const QString &param = query.value(0).toString();
154+
QString subKey = param.mid(group.length()).section("/", 0, 0);
155+
if ( !subKey.isEmpty() )
156+
keys.insert(subKey);
157+
}
158+
#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0))
159+
return QStringList(keys.begin(), keys.end());
160+
#else
161+
return keys.toList();
162+
#endif
163+
}
164+
127165
QCache<QString, QVariant> LogParam::localCache(30);
128166

129167
QMutex LogParam::cacheMutex;

core/LogParam.h

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,13 +144,65 @@ class LogParam : public QObject
144144
removeParamGroup("dxc/trendContinent");
145145
}
146146

147+
static QStringList bandmapsWidgets()
148+
{
149+
return getKeys("bandmap/");
150+
}
151+
152+
static void removeBandmapWidgetGroup(const QString &group)
153+
{
154+
removeParamGroup("bandmap/" + group);
155+
}
156+
157+
static double getBandmapScrollFreq(const QString& widgetID, const QString &bandName)
158+
{
159+
return getParam("bandmap/" + widgetID + "/" + bandName + "/scrollfreq" , 0.0).toDouble();
160+
}
161+
162+
static bool setBandmapScrollFreq(const QString& widgetID, const QString &bandName, double scroll)
163+
{
164+
return setParam("bandmap/" + widgetID + "/" + bandName + "/scrollfreq", scroll);
165+
}
166+
167+
static QVariant getBandmapZoom(const QString& widgetID, const QString &bandName, const QVariant &defaultValue)
168+
{
169+
return getParam("bandmap/" + widgetID + "/" + bandName + "/zoom", defaultValue);
170+
}
171+
172+
static bool setBandmapZoom(const QString& widgetID, const QString &bandName, const QVariant &zoom)
173+
{
174+
return setParam("bandmap/" + widgetID + "/" + bandName + "/zoom", zoom);
175+
}
176+
177+
static bool setBandmapAging(const QString& widgetID, int aging)
178+
{
179+
return setParam("bandmap/" + widgetID + "/spotaging", aging);
180+
}
181+
182+
static int getBandmapAging(const QString& widgetID)
183+
{
184+
return getParam("bandmap/" + widgetID + "/spotaging", 0).toInt();
185+
}
186+
187+
static bool setBandmapCenterRX(const QString& widgetID, bool centerRX)
188+
{
189+
return setParam("bandmap/" + widgetID + "/centerrx", centerRX);
190+
}
191+
192+
static bool getBandmapCenterRX(const QString& widgetID)
193+
{
194+
return getParam("bandmap/" + widgetID + "/centerrx", true).toBool();
195+
}
196+
197+
147198
private:
148199
static QCache<QString, QVariant> localCache;
149200
static QMutex cacheMutex;
150201

151202
static bool setParam(const QString&, const QVariant &);
152203
static QVariant getParam(const QString&, const QVariant &defaultValue = QVariant());
153204
static void removeParamGroup(const QString&);
205+
static QStringList getKeys(const QString &);
154206
};
155207

156208
#endif // QLOG_CORE_LOGPARAM_H

0 commit comments

Comments
 (0)