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
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
Allow message inbox to dock into the main UI
Enable column sorting in the message table
Rework mark-as-read signals to trigger on row deselection
Add SemiSortableHeader subclass of QHeaderView
Move OmniRig to deprecated group, scheduled for deprecation due
to being no longer supported by Windows 11 and Qt6.9.3
Schedule OmniRig to removed from the code in July 2026
Noted in the doxy file description
rename remaining files that didn't match their class definitions
relocate the explicit UI_Constructor member function to JS8_MainWindow
relocate the processBufferedActivity member function to JS8_MainWindow
format affected files with LLVM clang-format
Set default APRS inbound relay to off
Fix layout of General->Networking & Autoreply tab in Settings