diff --git a/SplashScreen.cpp b/SplashScreen.cpp index bc557c89a..727e0e852 100644 --- a/SplashScreen.cpp +++ b/SplashScreen.cpp @@ -8,6 +8,8 @@ #include "revision_utils.hpp" #include "pimpl_impl.hpp" +#include "moc_SplashScreen.cpp" + class SplashScreen::impl { public: diff --git a/SplashScreen.hpp b/SplashScreen.hpp index 6bf7712c6..2ec3238c1 100644 --- a/SplashScreen.hpp +++ b/SplashScreen.hpp @@ -8,7 +8,7 @@ class SplashScreen final : public QSplashScreen { - Q_OBJECT; + Q_OBJECT public: SplashScreen (); diff --git a/displaytext.cpp b/displaytext.cpp index 8cd763a56..6708705d1 100644 --- a/displaytext.cpp +++ b/displaytext.cpp @@ -3,8 +3,8 @@ #include #include #include -#include #include +#include #include "qt_helpers.hpp" @@ -13,25 +13,28 @@ DisplayText::DisplayText(QWidget *parent) : QTextEdit(parent) { - setReadOnly (true); - viewport ()->setCursor (Qt::ArrowCursor); - setWordWrapMode (QTextOption::NoWrap); - setStyleSheet (""); + setReadOnly (true); + viewport ()->setCursor (Qt::ArrowCursor); + setWordWrapMode (QTextOption::NoWrap); + document ()->setMaximumBlockCount (5000); // max lines to limit heap usage } void DisplayText::setContentFont(QFont const& font) { - setFont (font); - m_charFormat.setFont (font); + char_font_ = font; selectAll (); auto cursor = textCursor (); - cursor.mergeCharFormat (m_charFormat); + cursor.beginEditBlock (); + auto char_format = cursor.charFormat (); + char_format.setFont (char_font_); + cursor.mergeCharFormat (char_format); cursor.clearSelection (); cursor.movePosition (QTextCursor::End); // position so viewport scrolled to left cursor.movePosition (QTextCursor::Up); cursor.movePosition (QTextCursor::StartOfLine); + cursor.endEditBlock (); setTextCursor (cursor); ensureCursorVisible (); @@ -50,32 +53,38 @@ void DisplayText::insertLineSpacer(QString const& line) appendText (line, "#d3d3d3"); } -void DisplayText::appendText(QString const& text, QString const& bg) +void DisplayText::appendText(QString const& text, QColor bg) { - QString escaped {text.trimmed().replace('<',"<").replace('>',">").replace(' ', " ")}; - QString s = "
" + escaped + "
"; - auto cursor = textCursor (); - cursor.movePosition (QTextCursor::End); - auto pos = cursor.position (); - cursor.insertHtml (s); - cursor.setPosition (pos, QTextCursor::MoveAnchor); - cursor.movePosition (QTextCursor::End, QTextCursor::KeepAnchor); - cursor.mergeCharFormat (m_charFormat); - cursor.clearSelection (); + auto cursor = textCursor (); + cursor.movePosition (QTextCursor::End); + auto block_format = cursor.blockFormat (); + block_format.setBackground (bg); + if (0 == cursor.position ()) + { + cursor.setBlockFormat (block_format); + auto char_format = cursor.charFormat (); + char_format.setFont (char_font_); + cursor.setCharFormat (char_format); + } + else + { + cursor.insertBlock (block_format); + } + cursor.insertText (text); - // position so viewport scrolled to left - cursor.movePosition (QTextCursor::Up); - cursor.movePosition (QTextCursor::StartOfLine); - setTextCursor (cursor); - ensureCursorVisible (); + // position so viewport scrolled to left + cursor.movePosition (QTextCursor::Up); + cursor.movePosition (QTextCursor::StartOfLine); + setTextCursor (cursor); + ensureCursorVisible (); + document ()->setMaximumBlockCount (document ()->maximumBlockCount ()); } -QString DisplayText::_appendDXCCWorkedB4(QString message, QString const& callsign, QString * bg, - LogBook logBook, QColor color_CQ, - QColor color_DXCC, - QColor color_NewCall) +QString DisplayText::appendDXCCWorkedB4(QString message, QString const& callsign, QColor * bg, + LogBook logBook, QColor color_CQ, + QColor color_DXCC, + QColor color_NewCall) { QString call = callsign; QString countryName; @@ -110,18 +119,18 @@ QString DisplayText::_appendDXCCWorkedB4(QString message, QString const& callsig if (!countryWorkedBefore) // therefore not worked call either { message += "!"; - *bg = color_DXCC.name(); + *bg = color_DXCC; } else if (!callWorkedBefore) // but have worked the country { message += "~"; - *bg = color_NewCall.name(); + *bg = color_NewCall; } else { message += " "; // have worked this call before - *bg = color_CQ.name(); + *bg = color_CQ; } charsAvail -= 1; @@ -165,14 +174,14 @@ void DisplayText::displayDecodedText(DecodedText decodedText, QString myCall, QColor color_CQ, QColor color_MyCall, QColor color_DXCC, QColor color_NewCall) { - QString bg="white"; + QColor bg {Qt::white}; bool CQcall = false; if (decodedText.string ().contains (" CQ ") || decodedText.string ().contains (" CQDX ") || decodedText.string ().contains (" QRZ ")) { CQcall = true; - bg=color_CQ.name(); + bg = color_CQ; } if (myCall != "" and ( decodedText.indexOf (" " + myCall + " ") >= 0 @@ -180,14 +189,14 @@ void DisplayText::displayDecodedText(DecodedText decodedText, QString myCall, or decodedText.indexOf ("/" + myCall + " ") >= 0 or decodedText.indexOf ("<" + myCall + " ") >= 0 or decodedText.indexOf (" " + myCall + ">") >= 0)) { - bg=color_MyCall.name(); + bg = color_MyCall; } // if enabled add the DXCC entity and B4 status to the end of the // preformated text line t1 auto message = decodedText.string (); if (displayDXCCEntity && CQcall) - message = _appendDXCCWorkedB4 (message, decodedText.CQersCall (), &bg, logBook, color_CQ, - color_DXCC, color_NewCall); + message = appendDXCCWorkedB4 (message, decodedText.CQersCall (), &bg, logBook, color_CQ, + color_DXCC, color_NewCall); appendText (message, bg); } @@ -195,7 +204,6 @@ void DisplayText::displayDecodedText(DecodedText decodedText, QString myCall, void DisplayText::displayTransmittedText(QString text, QString modeTx, qint32 txFreq, QColor color_TxMsg, bool bFastMode) { - QString bg=color_TxMsg.name(); QString t1=" @ "; if(modeTx=="FT8") t1=" ~ "; if(modeTx=="JT4") t1=" $ "; @@ -211,12 +219,11 @@ void DisplayText::displayTransmittedText(QString text, QString modeTx, qint32 tx t = QDateTime::currentDateTimeUtc().toString("hhmm") + \ " Tx " + t2 + t1 + text; } - appendText(t,bg); + appendText (t, color_TxMsg); } void DisplayText::displayQSY(QString text) { QString t = QDateTime::currentDateTimeUtc().toString("hhmmss") + " " + text; - QString bg="hot pink"; - appendText(t,bg); + appendText (t, "hotpink"); } diff --git a/displaytext.h b/displaytext.h index 65e8bfbb5..b6c0dd01c 100644 --- a/displaytext.h +++ b/displaytext.h @@ -3,39 +3,39 @@ #define DISPLAYTEXT_H #include +#include + #include "logbook/logbook.h" #include "decodedtext.h" - -class DisplayText : public QTextEdit +class DisplayText + : public QTextEdit { - Q_OBJECT + Q_OBJECT public: - explicit DisplayText(QWidget *parent = 0); + explicit DisplayText(QWidget *parent = 0); - void setContentFont (QFont const&); - void insertLineSpacer(QString const&); - void displayDecodedText(DecodedText decodedText, QString myCall, bool displayDXCCEntity, - LogBook logBook, QColor color_CQ, QColor color_MyCall, - QColor color_DXCC, QColor color_NewCall); - void displayTransmittedText(QString text, QString modeTx, qint32 txFreq, - QColor color_TxMsg, bool bFastMode); - void displayQSY(QString text); + void setContentFont (QFont const&); + void insertLineSpacer(QString const&); + void displayDecodedText(DecodedText decodedText, QString myCall, bool displayDXCCEntity, + LogBook logBook, QColor color_CQ, QColor color_MyCall, + QColor color_DXCC, QColor color_NewCall); + void displayTransmittedText(QString text, QString modeTx, qint32 txFreq, + QColor color_TxMsg, bool bFastMode); + void displayQSY(QString text); -signals: - void selectCallsign(bool alt, bool ctrl); + Q_SIGNAL void selectCallsign (bool alt, bool ctrl); -public slots: - void appendText(QString const& text, QString const& bg = "white"); + Q_SLOT void appendText (QString const& text, QColor bg = Qt::white); protected: - void mouseDoubleClickEvent(QMouseEvent *e); + void mouseDoubleClickEvent(QMouseEvent *e); private: - QString _appendDXCCWorkedB4(QString message, QString const& callsign, QString * bg, LogBook logBook, - QColor color_CQ, QColor color_DXCC, QColor color_NewCall); + QString appendDXCCWorkedB4(QString message, QString const& callsign, QColor * bg, LogBook logBook, + QColor color_CQ, QColor color_DXCC, QColor color_NewCall); - QTextCharFormat m_charFormat; + QFont char_font_; }; #endif // DISPLAYTEXT_H diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 295a3e205..8ba6b20a9 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -22,6 +22,7 @@ set (UG_SRCS controls-functions-status-bar.adoc controls-functions-wide-graph.adoc cooperating-programs.adoc + decoder_notes.adoc faq.adoc font-sizes.adoc install-from-source.adoc @@ -29,11 +30,11 @@ set (UG_SRCS install-mac.adoc install-windows.adoc introduction.adoc + measurement_tools.adoc protocols.adoc logging.adoc make-qso.adoc new_features.adoc - odds_and_ends.adoc platform-dependencies.adoc protocols.adoc settings-advanced.adoc diff --git a/doc/user_guide/en/controls-functions-center.adoc b/doc/user_guide/en/controls-functions-center.adoc index 986465264..db437cb23 100644 --- a/doc/user_guide/en/controls-functions-center.adoc +++ b/doc/user_guide/en/controls-functions-center.adoc @@ -25,7 +25,7 @@ and audio Tx frequency. * Check the box *Lock Tx=Rx* to make the frequencies always track one another. -TIP: In general we do not recommend using *Lock Tx=Rx* since it +IMPORTANT: In general we do not recommend using *Lock Tx=Rx* since it encourages poor radio etiquette when running a frequency. With this box checked, your own Tx frequency will move around following your callers. diff --git a/doc/user_guide/en/odds_and_ends.adoc b/doc/user_guide/en/decoder_notes.adoc similarity index 89% rename from doc/user_guide/en/odds_and_ends.adoc rename to doc/user_guide/en/decoder_notes.adoc index dde0b90ae..8005646f3 100644 --- a/doc/user_guide/en/odds_and_ends.adoc +++ b/doc/user_guide/en/decoder_notes.adoc @@ -90,15 +90,3 @@ End of line information:: `R` - Return code from QRA64 decoder + `T` - Length of analyzed region (s) - - -=== Reference Spectrum - -WSJT-X provides a tool that can be used to determine the detailed -shape of your receiver's passband. Disconnect your antenna or tune to -a quiet frequency with no signals. With WSJT-X running in one of the -slow modes, select *Measure reference spectrum* from the *File* menu. -Wait for about a minute and then hit the *Stop* button. A file named -`refspec.dat` should appear in your log directory. - - [ ... more to come ...] diff --git a/doc/user_guide/en/images/FreqCal.png b/doc/user_guide/en/images/FreqCal.png new file mode 100644 index 000000000..46901fe71 Binary files /dev/null and b/doc/user_guide/en/images/FreqCal.png differ diff --git a/doc/user_guide/en/images/FreqCal_Graph.png b/doc/user_guide/en/images/FreqCal_Graph.png new file mode 100644 index 000000000..8f8c59172 Binary files /dev/null and b/doc/user_guide/en/images/FreqCal_Graph.png differ diff --git a/doc/user_guide/en/make-qso.adoc b/doc/user_guide/en/make-qso.adoc index fa8c053aa..1f52ad075 100644 --- a/doc/user_guide/en/make-qso.adoc +++ b/doc/user_guide/en/make-qso.adoc @@ -31,10 +31,10 @@ lie in the range –30 to –1 dB, and values are significantly compressed above about -10 dB. JT9 supports the extended range –50 to +49 dB and assigns more reliable numbers to relatively strong signals. -NOTE: Signals become visible on the waterfall around S/N = –26 dB -and audible (to someone with very good hearing) around –15 -dB. Thresholds for decodability are around -23 dB for JT4, –24 dB for -JT65, –26 dB for JT9. +NOTE: Signals become visible on the waterfall around S/N = –26 dB and +audible (to someone with very good hearing) around –15 dB. Thresholds +for decodability are around -20 dB for FT8, -23 dB for JT4, –25 dB for +JT65, –27 dB for JT9. === Free-Text Messages @@ -50,11 +50,11 @@ or rag-chewing. === Auto-Sequencing The slow modes JT4, JT9, JT65, and QRA64 allow nearly 10 seconds at -the end of each one-minute receiving sequence in which you can inspect -decoded messages and decide how to reply. With its 15-second T/R -cycles, FT8 allows only about two seconds for this task. For this -reason a basic auto-sequencing feature is offered. Check *Auto Seq* -on the main window to enable this feature: +the end of each one-minute receiving sequence -- enough time for you +to inspect decoded messages and decide how to reply. The 15-second +T/R cycles of FT8 allow only about two seconds for this task, which is +often not enough. For this reason a basic auto-sequencing feature is +offered. Check *Auto Seq* on the main window to enable this feature: image::auto-seq.png[align="center",alt="AutoSeq"] @@ -62,7 +62,7 @@ When calling CQ you may also choose to check the box *Call 1st*. _WSJT-X_ will then respond automatically to the first decoded responder to your CQ. -TIP: When *Auto-Seq* is enabled the program will de-activate *Enable +NOTE: When *Auto-Seq* is enabled the program de-activates *Enable Tx* at the end of each QSO. We do not want _WSJT-X_ to make fully automated QSOs. @@ -129,7 +129,7 @@ In each case, the compound callsign is treated as *Type 2* because the add-on prefix or suffix is _not_ one of those in the fixed list. Note that a second callsign is never permissible in these messages. -TIP: During a transmission your outgoing message is displayed in the +NOTE: During a transmission your outgoing message is displayed in the first label on the *Status Bar* and shown exactly as another station will receive it. You can check to see that you are actually transmitting the message you wish to send. diff --git a/doc/user_guide/en/measurement_tools.adoc b/doc/user_guide/en/measurement_tools.adoc new file mode 100644 index 000000000..7163fb996 --- /dev/null +++ b/doc/user_guide/en/measurement_tools.adoc @@ -0,0 +1,74 @@ +=== Frequency Calibration + +Many _WSJT-X_ capabilities depend on signal-detection bandwidths no +more than a few Hz. Frequency accuracy and stability are therefore +unusually important. We provide tools to enable accurate frequency +calibration of your radio, as well as precise frequency measurement of +on-the-air signals. The calibration procedure works by automatically +cycling your CAT-controlled radio through a series of preset +frequencies of carrier-based signals at reliably known frequencies, +measuring the error in dial frequency for each signal. + +You will probably find it convenient to define and use a special +<> dedicated to frequency calibration. +Then complete the following steps, as appropriate for your system. + +- Switch to FreqCal mode + +- In the _Working Frequencies_ box on the *Settings -> Frequencies* +tab, delete any default frequencies for *FreqCal* mode that are not +relevant for your location. You may want to replace some of them with +reliably known frequencies receivable at your location. + +TIP: We find major-city AM broadcast stations generally serve well as +frequency calibrators at the low frequency end of the spectrum. In +North America we also use the standard time-and-frequency broadcasts +of WWV at 2.500, 5.000, 10.000, 15.000, and 20.000 MHz, and CHU at +3.330, 7.850, and 14.670 MHz. Similar shortwave signals are available +in other parts of the world. + +- During the calibration procedure, the radio's USB dial frequency is +offset 1500 Hz below each *FreqCal* entry in the default frequencies +list. As shown in the ecreen shot below, detected signal carriers +therefore appear at about 1500 Hz in the WSJT-X waterfall. + +image::FreqCal.png[align="left",alt="FreqCal"] + +With modern synthesized radios, small measured offsets from 1500 Hz +will exhibit a straight-line dependence on frequency. You can +approximate the calibration of your radio by simply dividing the +measured frequency offset (in Hz) at the highest reliable frequency by +the nominal frequency itself (in MHz). For example, the 20 MHz +measurement for WWV shown above produced a measured tone offset of +24.6 Hz, displayed in the _WSJT-X_ decoded text window. The resulting +calibration constant is 24.6/20=1.23 parts per million. This number +may be entered as *Slope* on the *settings -> Frequencies* tab. + +A more precise calibration can be effected by fitting the intercept +and slope of a straight line to the whole sequence of calibration +measurements, as shown for these measurements in the graph plotted +below. Software tools for completing this task are included with the +_WSJT-X_ installation, and detailed instructions for their use are +available at https://physics.princeton.edu/pulsar/k1jt/FMT_User.pdf. +Using these tools and no specialized hardware beyond your +CAT-interfaced radio, you can calibrate the radio to better than 1 Hz +and compete very effectively in the ARRL's periodic Frequency +Measuring Tests. + +image::FreqCal_Graph.png[align="left",alt="FreqCal_Graph"] + +=== Reference Spectrum + +WSJT-X provides a tool that can be used to determine the detailed +shape of your receiver's passband. Disconnect your antenna or tune to +a quiet frequency with no signals. With WSJT-X running in one of the +slow modes, select *Measure reference spectrum* from the *Tools* menu. +Wait for about a minute and then hit the *Stop* button. A file named +`refspec.dat` will appear in your log directory. + + [ ... TBD ... ] + +=== Equalization + + [ ... TBD ... ] + diff --git a/doc/user_guide/en/new_features.adoc b/doc/user_guide/en/new_features.adoc index 664e763e8..d737ebb13 100644 --- a/doc/user_guide/en/new_features.adoc +++ b/doc/user_guide/en/new_features.adoc @@ -17,15 +17,15 @@ added to _WSJT-X_ since Version 1.7.0: windows - New set of suggested default frequencies specific to the three IARU -Regions. +regions - Enhanced scheme for managing table of suggested default operating frequencies - Improved CAT control for many radios, including those controlled -through Commander or OmniRig. +through Commander or OmniRig -- Bug fixes and tweaks to user interface +- Bug fixes and minor tweaks to user interface === Documentation Conventions diff --git a/doc/user_guide/en/settings-advanced.adoc b/doc/user_guide/en/settings-advanced.adoc index 55fc6412c..8a2eaa90e 100644 --- a/doc/user_guide/en/settings-advanced.adoc +++ b/doc/user_guide/en/settings-advanced.adoc @@ -11,10 +11,6 @@ purposes a good setting is 6 or 7. decodes using Deep Search. Higher numbers will display results with lower confidence levels. -- Check *FT8 and MSK144 Contest Mode* to enable generation and -auto-sequencing of MSK144 messages with four-character grid locators -in place of signal reports. - - Check *Two-pass decoding* to enable a second decoding pass after signals producing first-pass decodes have been subtracted from the received data stream. @@ -35,6 +31,10 @@ IMPORTANT: For the health of your T/R relays and external preamplifier, we strongly recommend using a hardware sequencer and testing to make sure that sequencing is correct. +- Check *FT8 and MSK144 Contest Mode* to enable generation and +auto-sequencing of MSK144 messages with four-character grid locators +in place of signal reports. + - Check *x 2 Tone spacing* to generate Tx audio with twice the normal tone spacing. This feature is intended for use with specialized LF/MF transmitters that divide the audio waveform by 2 before further diff --git a/doc/user_guide/en/settings-audio.adoc b/doc/user_guide/en/settings-audio.adoc index 1b142d707..00a6e19ef 100644 --- a/doc/user_guide/en/settings-audio.adoc +++ b/doc/user_guide/en/settings-audio.adoc @@ -37,5 +37,5 @@ window is displayed. - _Remember power settings by band_: Checking either of these will cause _WSJT-X_ to remember the *Pwr* slider setting for that operation on a band-by-band basis. For example, when *Tune* is checked here and -you click the *Tune* on the main window, the power slider will change -to the most recent setting used for *Tune* on the band in use. +you click the *Tune* button on the main window, the power slider will +change to the most recent setting used for *Tune* on the band in use. diff --git a/doc/user_guide/en/settings-general.adoc b/doc/user_guide/en/settings-general.adoc index d2dd16bbb..0a259dd70 100644 --- a/doc/user_guide/en/settings-general.adoc +++ b/doc/user_guide/en/settings-general.adoc @@ -17,6 +17,6 @@ NOTE: If you are using a callsign with an add-on prefix or suffix, or wish to work a station using such a call, be sure to read the section <>. -IMPORTANT: Enabling VHF/UHF/Microwave features necessarily disables -the wideband multi-decode capability of JT65. In most circumstances -you should turn this feature off when operating at HF. +NOTE: Enabling VHF/UHF/Microwave features necessarily disables the +wideband multi-decode capability of JT65. In most circumstances you +should turn this feature off when operating at HF. diff --git a/doc/user_guide/en/settings-radio.adoc b/doc/user_guide/en/settings-radio.adoc index 337939d03..0d8078793 100644 --- a/doc/user_guide/en/settings-radio.adoc +++ b/doc/user_guide/en/settings-radio.adoc @@ -2,9 +2,9 @@ image::RadioTab.png[align="center",alt="Radio Tab"] -_WSJT-X_ offers CAT (Computer Aided Transceiver) control of the -relevant features of most modern transceivers. To configure the -program for your radio, select the *Radio* tab. +_WSJT-X_ offers CAT (Computer Aided Transceiver) control of relevant +features of most modern transceivers. To configure the program for +your radio, select the *Radio* tab. - Select your radio type from the drop-down list labeled *Rig*, or *None* if you do not wish to use CAT control. diff --git a/doc/user_guide/en/system-requirements.adoc b/doc/user_guide/en/system-requirements.adoc index 93a0dede1..e7e61eb23 100644 --- a/doc/user_guide/en/system-requirements.adoc +++ b/doc/user_guide/en/system-requirements.adoc @@ -2,13 +2,13 @@ - SSB transceiver and antenna - Computer running Windows (XP or later), Linux, or OS X -- 1.5 GHz or faster CPU and 200 MB of available memory. (MSK144 -especially benefits from a multi-core CPU) +- 1.5 GHz or faster CPU and 200 MB of available memory; faster +machines are better - Monitor with at least 1024 x 780 resolution - Computer-to-radio interface using a serial port or equivalent USB device for T/R switching, or CAT control, or VOX, as required for your radio-to-computer connections - Audio input and output devices supported by the operating system and - configured for sample rate 48000 Hz. + configured for sample rate 48000 Hz, 16 bits - Audio or equivalent USB connections between transceiver and computer - A means for synchronizing the computer clock to UTC within ±1 second diff --git a/doc/user_guide/en/transceiver-setup.adoc b/doc/user_guide/en/transceiver-setup.adoc index 37d3acdef..060414c41 100644 --- a/doc/user_guide/en/transceiver-setup.adoc +++ b/doc/user_guide/en/transceiver-setup.adoc @@ -46,9 +46,9 @@ clicks or glitches. Make sure that this is true even when you simultaneously use the computer to do other tasks such as email, web browsing, etc. -* Adjust the *Pwr" slider (at the right edge of the main window) -downward from its maximum until the RF output from your transmitter -falls slightly. This is generally a good level for audio drive. +* Adjust the *Pwr* slider (at right edge of main window) downward from +its maximum until the RF output from your transmitter falls slightly. +This is generally a good level for audio drive. * Toggle the *Tune* button once more or click *Halt Tx* to stop your test transmission. diff --git a/doc/user_guide/en/tutorial-example3.adoc b/doc/user_guide/en/tutorial-example3.adoc index 32aae25c6..09875df2a 100644 --- a/doc/user_guide/en/tutorial-example3.adoc +++ b/doc/user_guide/en/tutorial-example3.adoc @@ -46,5 +46,5 @@ This behavior is desirable so that you will not inadvertently change your Tx frequency to that of a tail-ender who called you somewhere else in the FT8 subband. -IMPORTANT: When finished with this Tutorial, don’t forget to re-enter +IMPORTANT: When finished with this Tutorial, don't forget to re-enter your own callsign as *My Call* on the *Settings | General* tab. diff --git a/doc/user_guide/en/wsjtx-main.adoc b/doc/user_guide/en/wsjtx-main.adoc index 4ab4eb698..b19612261 100644 --- a/doc/user_guide/en/wsjtx-main.adoc +++ b/doc/user_guide/en/wsjtx-main.adoc @@ -68,7 +68,7 @@ include::install-from-source.adoc[] Select *Settings* from the *File* menu or by typing *F2*. (On Macintosh select *Preferences* from the _WSJT-X_ menu, or use the keyboard shortcut *Cmd+,*). The following sections describe setup -options available on each of seven tabs selectable near the top of the +options available on each of eight tabs selectable near the top of the window. [[GENERAL]] @@ -110,12 +110,12 @@ include::transceiver-setup.adoc[] [[TUTORIAL]] == Basic Operating Tutorial -<> through <> introduce basic user -controls and program behavior of _WSJT-X_. We suggest that new users -should go through the full HF-oriented tutorial, preferably while at -your radio. Subsequent sections cover additional details on -<>, <> and <>. +This section introduces the basic user controls and program behavior +of _WSJT-X_, with particular emphasis on the JT9, JT65, and FT8 modes. +We suggest that new users should go through the full HF-oriented +tutorial, preferably while at your radio. Subsequent sections cover +additional details on <>, <> +and <>. [[TUT_MAIN]] === Main Window Settings @@ -184,9 +184,13 @@ include::controls-functions-wide-graph.adoc[] == Logging include::logging.adoc[] -[[ODDS_AND_ENDS]] -== Odds and Ends -include::odds_and_ends.adoc[] +[[DECODER_NOTES]] +== Decoder Notes +include::decoder_notes.adoc[] + +[[MEASUREMENT_TOOLS]] +== Measurement Tools +include::measurement_tools.adoc[] [[COOP_PGMS]] == Cooperating Programs @@ -213,17 +217,6 @@ include::astro_data.adoc[] == Utility Programs include::utilities.adoc[] -//// -[[TXRX]] -== Implementation Details -include::implementation.adoc[] - -[[TROUBLE_SHOOTING]] -== Troubleshooting -To be added (?) ... - -//// - [[SUPPORT]] == Support include::support.adoc[] diff --git a/mainwindow.cpp b/mainwindow.cpp index 88fa53cbe..74ac14aac 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -2718,7 +2718,7 @@ void MainWindow::readFromStdout() //readFromStdout } DecodedText decodedtext; - decodedtext = t.replace(QChar::LineFeed,""); //t.replace(QChar::LineFeed,"").mid(0,t.length()-4); + decodedtext = QString::fromUtf8 (t.constData ()).remove (QRegularExpression {"\r|\n"}); //Left (Band activity) window if(!bAvgMsg) {