mirror of
https://github.com/praktimarc/kst4contest.git
synced 2026-10-19 13:53:01 +02:00
Draw the whole interface in Compose
Etappen 3 to 6a of the migration (129 commits). Every window the operator sees is Compose; the JavaFX ones still exist beside them so the two could be compared against a live session, which is the only way the differences came to light. The toolchain first, then the settings window with its eleven tabs and 72 real preferences; then the multi-column table as a component, and with it the rules it needs -- stable row identity, a selection that survives a refresh, column order the operator can drag, and a repaint when the rows change rather than when the list instance does. Then the update and monitor windows, and the main window: 22 station columns, the filter bar, the selected-station panel, the message tabs, the priority bar, the sked controls, the status indicators and the timeline, assembled behind a splitter because Compose has none. The map stops being a WebView. A Compose canvas projects WebMercator tiles itself, with the clustering in core and an asynchronous fetcher in place of the local tile proxy; derive() becomes a pure Kotlin reimplementation instead of a reflection call into com.sun.javafx. Most of the volume here is parity the operator would notice rather than new behaviour: desktop density instead of Material's phone minimums, colours taken from the JavaFX stylesheets instead of Material's palette, row dividers, band columns, grid-square labels and their colours, the home marker and antenna beam, pinch-to-zoom under Wayland, and layouts that survive a window narrower than the chart they stack. Two lessons are worth more than the diff. A control bound to a value Compose cannot observe writes through and never redraws -- that one shipped repeatedly with a green build, because no test drew anything. And a layout that clips instead of wrapping is worse than one that is merely too narrow: half a word is the worst available outcome.
This commit is contained in:
173 files changed
+26500
-4305
No files matched your search
@@ -0,0 +1,72 @@
|
||||
setAirScout_asBandString
|
||||
setAirScout_asClientNameString
|
||||
setAirScout_asCommunicationPort
|
||||
setAirScout_asServerNameString
|
||||
setAirScout_asUDPListenerEnabled
|
||||
setAirScout_autoBandSelectionEnabled
|
||||
setBcn_beaconsEnabledMainCat
|
||||
setBcn_beaconsEnabledSecondCat
|
||||
setGUI_darkModeActiveByDefault
|
||||
setGuiOptions_defaultFilterNothing
|
||||
setGuiOptions_defaultFilterPmToMe
|
||||
setGuiOptions_defaultFilterPmToOther
|
||||
setGuiOptions_defaultFilterPublicMsgs
|
||||
setGuiOptions_showFreshCallHintInBandColumns
|
||||
setGuiOptions_showGrossFieldWorkedHintInBandColumns
|
||||
setLoginChatCategoryMain
|
||||
setLoginChatCategorySecond
|
||||
setLoginToSecondChatEnabled
|
||||
setLogsynch_fileBasedWkdCallInterpreterEnabled
|
||||
setLogsynch_fileBasedWkdCallInterpreterFileNameReadOnly
|
||||
setLogsynch_ucxUDPWkdCallListenerEnabled
|
||||
setLogsynch_ucxUDPWkdCallListenerPort
|
||||
setLogsynch_wintestNetworkBroadcastAddress
|
||||
setLogsynch_wintestNetworkListenerEnabled
|
||||
setLogsynch_wintestNetworkPort
|
||||
setLogsynch_wintestNetworkStationNameOfKST
|
||||
setLogsynch_wintestNetworkStationNameOfWintestClient1
|
||||
setLogsynch_wintestQrgSyncEnabled
|
||||
setLogsynch_wintestUsePassQrg
|
||||
setMessageHandling_autoAnswerEnabled
|
||||
setMessageHandling_autoAnswerEnabledSecondCat
|
||||
setMessageHandling_autoAnswerTextMainCat
|
||||
setMessageHandling_autoAnswerTextSecondCat
|
||||
setMessageHandling_autoAnswerToQRGRequestEnabled
|
||||
setNotify_bandUpgradeHintOnLogEnabled
|
||||
setNotify_bandUpgradePriorityBoostEnabled
|
||||
setNotify_dxClusterServerEnabled
|
||||
setNotify_dxclusterServerPort
|
||||
setNotify_DXCSrv_SpottersCallSign
|
||||
setNotify_optionalFrequencyPrefix
|
||||
setNotify_playCWCallsignsOnRxedPMs
|
||||
setNotify_playSimpleSounds
|
||||
setNotify_playVoiceCallsignsOnRxedPMs
|
||||
setStn_antennaBeamWidthDeg
|
||||
setStn_bandActive10G
|
||||
setStn_bandActive1240
|
||||
setStn_bandActive144
|
||||
setStn_bandActive2300
|
||||
setStn_bandActive3400
|
||||
setStn_bandActive432
|
||||
setStn_bandActive50
|
||||
setStn_bandActive5600
|
||||
setStn_bandActive70
|
||||
setStn_loginCallSign
|
||||
setStn_loginLocatorMainCat
|
||||
setStn_loginNameMainCat
|
||||
setStn_loginNameSecondCat
|
||||
setStn_loginPassword
|
||||
setStn_maxQRBDefault
|
||||
setStn_on4kstServersDns
|
||||
setStn_on4kstServersPort
|
||||
setStn_pathAnalysisDefaultTargetAntennaGainDbi
|
||||
setStn_pathAnalysisDefaultTargetTxPowerWatts
|
||||
setStn_pathAnalysisDemRootDirectory
|
||||
setStn_pathAnalysisOwnAntennaGainDbi
|
||||
setStn_pathAnalysisOwnAntennaHeightMeters
|
||||
setStn_pathAnalysisOwnTxPowerWatts
|
||||
setStn_pstRotatorEnabled
|
||||
setStn_pstRotatorHost
|
||||
setStn_pstRotatorPort
|
||||
setStn_qtfDefault
|
||||
setTrxSynch_ucxLogUDPListenerEnabled
|
||||
@@ -0,0 +1,5 @@
|
||||
setCallSign
|
||||
setChatCategoryMain
|
||||
setChatCategorySecondChat
|
||||
setFrequency
|
||||
setQra
|
||||
Reference in new issue
Block a user