Commit graph

89 commits

Author SHA1 Message Date
Rico Beier-Grunwald
48d6f22edd Regex now also addresses NEXT MSG ID [id] and +[CNT] 2026-08-10 07:46:58 -05:00
Rico Beier-Grunwald
5e2aa883c9 fix right spacing 2026-08-10 07:46:58 -05:00
Rico Beier-Grunwald
d12f522849 adding third action for direct reply to original sender 2026-08-10 07:46:58 -05:00
Rico Beier-Grunwald
2fedc6b1dc hide the tool dropdown arrow when no dropdown availble 2026-08-10 07:46:58 -05:00
Rico Beier-Grunwald
a13e388c52 styles.h: Add QToolButton to native styles
Update doxy comment block
2026-08-10 07:46:58 -05:00
Rico Beier-Grunwald
024fb4243f flexible reply button 2026-08-10 07:46:58 -05:00
Chris-AC9KH
ab73a3841b mainwindow.h: add m_inboxFilterEdit_ member for dockable message inbox filter bar
mainwindow.cpp: move ensureMessageDock() member function to its own file
MessagePanel.cpp: fix column width/sort ordering bugs in populateMessages()
UI_Constructor.cpp: build custom title bar once in ensureMessageDock()
                    after messageDock_ exists, instead of inside the toggled handler,
                    ensures dock is restored visible on startup
ensureMessageDock.cpp: new member function file that handles the Message Inbox
                       and turns it into a Qt::Window instead of a Qt::Tool when
                       it is in floating mode
CMakeLists.txt: add ensureMessageDock.cpp to compile object code for the member function
2026-08-04 07:40:06 -05:00
Chris-AC9KH
08b6419e87 UI_Constructor.cpp, mainwindow.cpp:
Fix stale Message Inbox after delivery to another station:
markMsgDelivered() and markGroupMsgDeliveredForCallsign() updated
the inbox database but never emitted messageAdded, so an already-open
message panel wouldn't refresh until closed/reopened

Both now emit messageAdded on success, reusing the existing
messageAdded -> MessagePanel::refresh connection that already handles
new incoming messages to refresh the message panel for a MSG delivery
2026-08-04 07:40:06 -05:00
Chris-AC9KH
40f3d7f896 MessagePanel: change column order so column 2 is From and column 3 is To 2026-08-04 07:40:06 -05:00
Chris-AC9KH
bc32797e1c OmniRig: was scheduled for deprecation if the program was never bought
up to modern 64-bit standards and supported by newer versions of Qt
- Remove OmniRig from source tree
2026-07-14 12:38:03 -05:00
Chris-AC9KH
fc9d13b510 - Replace Q_FOREACH with C++ for loops. Q_FOREACH is deprecated in Qt 6.11,
use the standard C++17 or later library utility std::as_const which replaces
qAsConst
- Configuration.cpp: the parameters, allow_monitors and show_monitors,
are only used on Linux in a preprocessor guard. Silence the compiler
spam for Mac and Windows which see them as declared but unused parameters
2026-06-21 16:21:31 -05:00
Chris-AC9KH
3c0542e7d3 Remove obsolete Qt version checks (floor is Qt 6.9.3) 2026-06-14 20:38:03 -05:00
Chris-AC9KH
ab0d8a8494 Add new files to JS8_UI 2026-06-13 15:55:08 -05:00
Chris-AC9KH
de418f5897 - install guards on import_palette() and export_palette() functions to
prevent std::terminate() → abort() if the file is invalid or contains
too many colors
- fix directory structure and move waterfall to JS8_UI
2026-06-13 15:55:08 -05:00
Chris-AC9KH
ff391f56fd Move ampersands for proper mnemonic navigation on Windows/Linux 2026-06-06 18:43:01 -05:00
Chris-AC9KH
120044fdb8 Revert "Waterfall cursor fix for split mode."
This reverts commit 3783bf7731.
2026-06-02 20:26:20 -05:00
Chris-AC9KH
3783bf7731 Waterfall cursor fix for split mode.
Explanation of issue:
When I added the frequency offset slider I had basically designed it
so the frequency offset slider controls the waterfall cursor.
At the same time, the waterfall cursor can also control the frequency
offset slider. I had hooked it up for HB's, but failed to hook it up
for split mode. This causes the frequency slider to display the correct
offset, but the waterfall cursor did not move.
2026-05-31 08:38:42 -05:00
Chris-AC9KH
c6dbcdb2c0 Force Rx pane scroll bar to the bottom on program
start and save the scroll bar position on settings reload
2026-05-29 21:11:51 -05:00
Chris-AC9KH
f03d69efa8 - Break confirmThenEnqueueMessage member function out of mainwindow.cpp
and place it in a separate member function file in JS8_Mainwindow
- Add UI hooks for Auto Reply confirmation back into the function
- Remove redundant member function declarations from mainwindow.cpp that
left over after moving the function to separate files, leaving only the
function call sites
- Move source file comments to the mainwindow header
2026-05-24 16:13:26 -05:00
Chris-AC9KH
1b9a2f8a11 Add right click context menu item to block a station
Add unicode red "x" to signify a blocked call or station
2026-05-15 21:36:11 -05:00
Chris-AC9KH
05b439fd9c Change audio notifications dialog so it uses live UI state aka MacOS
instead of committed state for Windows and linux.
2026-05-10 19:04:20 -05:00
Chris-AC9KH
3f1b548965 Add isNewLine to conditional statement to clear blocked offset in
the event the EOT character is never received while blocking the
continuation frames from a blocked callsign
2026-05-09 20:14:09 -05:00
Chris-AC9KH
7696e80b73 Add callsign blocking feature, settable in the UI 2026-05-09 20:14:09 -05:00
Chris-AC9KH
6a7d831263 Add UI setting to enable/disable automatic blacklisting of stations
that send more often than every 55 minutes
2026-05-05 07:03:41 -05:00
Chris-AC9KH
b0ba12d8cc Add automatic HB ACK rate limiting that adds a callsign to the blacklist
if that callsign transmits HB's at less than 55 minute intervals
2026-05-05 07:03:41 -05:00
Chris-AC9KH
a586f173a1 Replace UI lockup code that prevented a MSG from being composed with
a string that contains a word with mroe than 5 repeated characters with
    a warning popup message
2026-05-03 14:59:10 -05:00
Chris-AC9KH
7b02817902 Fix to show status of auto_reply when program is first started. 2026-05-02 21:18:51 -05:00
Chris-AC9KH
95c7e42b91 Apply offset frequency slider widget across all platforms and clean up code
in mainwindow.cpp
2026-04-21 21:34:31 -05:00
Chris-AC9KH
b682932f66 Lock appearance of slider widget so it doesn't accidentally get broken
with dark mode theming
2026-04-19 19:49:07 -05:00
Chris-AC9KH
99d073d937 Add inline comments for the Styles namespace for linux to better explain
what each item defines
2026-04-19 19:49:07 -05:00
Chris-AC9KH
e5c419f7d4 Replace Offset Frequency QLabel in header bar with a new QSlider (Mac only)
Remove uneeded code from CMakeLists.txt for old up/down.png arrow images
2026-04-19 19:49:07 -05:00
Chris Olson
c6d237ebab Set LogQSOButtonStyle differently from Tune button on Mac only 2026-04-18 18:12:56 -05:00
Chris Olson
9377eaedfa Set fixed 15px height for QPushButtons on Windows 2026-04-18 18:12:56 -05:00
Chris Olson
90172bad69 Override QPushButton style in header bar buttons on Mac and Windows
Change header bar background on Windows to light blue Win 11 color to provide contrast with Windows menu bar.
2026-04-18 18:12:56 -05:00
Wyatt Miler
936f7e8e26 Implement Linux styles for QPushButton 2026-04-18 18:12:56 -05:00
Chris-AC9KH
1f8dc932ad Make macro bar stretchable from 25 to 40 pixels in height to accomodate
different size buttons on linux
2026-04-18 11:27:48 -05:00
Chris-AC9KH
392fdc65ba Fix show/hide Frequency & Clock menu item (JS8Call header bar) 2026-04-16 20:08:56 -05:00
Chris-AC9KH
2c6a258b36 Move header bar styling out of mainwindow.ui and create a new Styles
namespace in styles.h to define the header bar styling on a per-
platform basis
2026-04-15 22:14:40 -05:00
Chris-AC9KH
8c2064bccf New, more modern header bar (frequency, clock and control buttons) design for JS8Call 3 2026-04-15 22:14:40 -05:00
Chris-AC9KH
9fd4895bd5 - Add platform-specific styles for QPushButton on Windows and Mac only, Linux uses default style
- Fully document styles.h with doxy
- Fix Windows 11 dark mode issue in the progress bar by eliminating use
of system palette colors and preventing Windows 11 from overriding it.
- remove QSS injection from the styles.h This will be up to linux developers to define
2026-04-12 19:48:25 -05:00
Chris-AC9KH
bb8aba12d4 Use preprocessor directives to apply platform-specific styles and allow QSS theme injection on linux
- remove color definitions from mainwindow.cpp that are now defined by the preprocessor in styles.h
- design new progress bar defined in styles.h that is a cross-platform unified design
- ddd doxy hooks to the new styles.h header definitions file
2026-04-12 09:39:09 -05:00
Chris-AC9KH
800bfd9919 Use hardcoded foreground color for status bar labels to ensure consisten
"look and feel" despite desktop environment theming
2026-04-09 19:08:19 -05:00
Chris-AC9KH
890f404ca3 Fix background color on last_tx and wpm labels so they have consistent
look and feel with the rest. This is also a fix for some linux systems
that will display white text on a white background in dark mode.
2026-04-08 18:42:26 -05:00
Chris-AC9KH
9cdb1080c1 - Replace static JS8 label in UI_Constructor::createStatusBar() function
with a switch to display the JS8 mode speed
- Add frequency widget to the Status Bar that shows actual transmit
frequency
- Add Auto Reply: On/Off status widget to Status Bar
- Fix bug in watchdog that didn't turn off Auto Reply until a Tx
event is attempted after the timer expires
- Add QStyle Fusion to progress bar for Windows
2026-04-08 12:22:55 -05:00
Wyatt Miler
7839e49bd8
Load Stylesheet (#243)
* Add a Load stylesheet button to Settings->UI
2026-04-06 10:47:14 -04:00
Chris-AC9KH
d37a71fd8b update logic in markMessageRead() function to not rely on a selection
change to clear the unread flag. This deals with an edge case where
there is only MSG in the inbox and it wouldn't clear the unread flag
until a second MSG came in
2026-04-06 07:52:01 -05:00
Chris-AC9KH
efe072f0e9 - Change logic of MessagePanel so the first row is not automatically
selected when the table refreshes.
- clear the callsign list unread flag when the MSG is selected in the
MSG table
- Make column 0 a NonSortableColumn to prevent unwanted UI anamoly that
would sent the selected row to the bottom of the unread rows
2026-04-06 07:52:01 -05:00
Chris-AC9KH
3692cd24fa clean up some legacy wsjtx code 2026-04-01 05:21:22 -07:00
Chris-AC9KH
5908c9c642 Change to CMakelists.txt versioning:
- deprecates the old WSJTX versioning system
- remove the CMake module, VersionCompute.cmake
- Versions.cmake is removed
- configuration header is renamed to js8call.h.in
- added build serial number via git hash, date compiled, and by who
2026-03-29 20:08:20 -07:00
Rico Beier-Grunwald
b036e48660 Visualize commands and routing as pills 2026-03-25 07:10:18 -05:00