From 1809ff87c16dfca0c2b7584b750fe231b6d393bd Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 26 Apr 2013 16:23:18 +0000 Subject: [PATCH] 1. Diasble any irrelevant widgets on Configuration screen. 2. Rationalize tab-order on main window. 3. Tweak the GUI appearance around DxCall, DxGrid. (Hope it's still OK in Linux! 4. Add helpful displays of Keyboard Shortcuts (F3) and Special Mouse Commands (F4). 5. Bump version number to 0.95. 6. Update the Windows packaging script. 7. Update ChangeLog in preparation for possible release of v0.95 r3226. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3226 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- devsetup.cpp | 16 +++++++ mainwindow.cpp | 66 +++++++++++++++++++-------- mainwindow.h | 2 - mainwindow.ui | 107 +++++++++++++++++++++++++++++++++++--------- wsjtx.iss | 5 ++- wsjtx_changelog.txt | 43 ++++++++++-------- 6 files changed, 179 insertions(+), 60 deletions(-) diff --git a/devsetup.cpp b/devsetup.cpp index 7bc1f2921..a3043244d 100644 --- a/devsetup.cpp +++ b/devsetup.cpp @@ -155,6 +155,12 @@ void DevSetup::initDlg() ui.dataBitsComboBox->setEnabled(m_catEnabled); ui.stopBitsComboBox->setEnabled(m_catEnabled); ui.handshakeComboBox->setEnabled(m_catEnabled); + ui.testCATButton->setEnabled(m_catEnabled); + ui.cbDTRoff->setEnabled(m_catEnabled); + ui.rbData->setEnabled(m_catEnabled); + ui.rbMic->setEnabled(m_catEnabled); + bool b=m_pttMethodIndex==1 or m_pttMethodIndex==2 or m_catEnabled; + ui.testPTTButton->setEnabled(b); ui.rigComboBox->setCurrentIndex(m_rigIndex); ui.catPortComboBox->setCurrentIndex(m_catPortIndex); ui.serialRateComboBox->setCurrentIndex(m_serialRateIndex); @@ -332,6 +338,9 @@ void DevSetup::on_cbPSKReporter_clicked(bool b) void DevSetup::on_pttMethodComboBox_activated(int index) { m_pttMethodIndex=index; + bool b=m_pttMethodIndex==1 or m_pttMethodIndex==2 or + (m_catEnabled and m_pttMethodIndex==0); + ui.testPTTButton->setEnabled(b); } void DevSetup::on_catPortComboBox_activated(int index) @@ -349,6 +358,13 @@ void DevSetup::on_cbEnableCAT_toggled(bool b) ui.dataBitsComboBox->setEnabled(b); ui.stopBitsComboBox->setEnabled(b); ui.handshakeComboBox->setEnabled(b); + ui.testCATButton->setEnabled(b); + ui.cbDTRoff->setEnabled(b); + ui.rbData->setEnabled(b); + ui.rbMic->setEnabled(b); + bool b2=(m_pttMethodIndex==1 or m_pttMethodIndex==2 or m_catEnabled) and + !(m_pttMethodIndex==3); + ui.testPTTButton->setEnabled(b2); } void DevSetup::on_serialRateComboBox_activated(int index) diff --git a/mainwindow.cpp b/mainwindow.cpp index 71cee4148..89d78e90a 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -25,7 +25,7 @@ WideGraph* g_pWideGraph = NULL; Rig* rig = NULL; QString rev="$Rev$"; -QString Program_Title_Version=" WSJT-X v0.9, r" + rev.mid(6,4) + +QString Program_Title_Version=" WSJT-X v0.95, r" + rev.mid(6,4) + " by K1JT"; //-------------------------------------------------- MainWindow constructor @@ -233,7 +233,6 @@ MainWindow::MainWindow(QSharedMemory *shdmem, QWidget *parent) : if(m_mode=="JT9-5") on_actionJT9_5_triggered(); if(m_mode=="JT9-10") on_actionJT9_10_triggered(); if(m_mode=="JT9-30") on_actionJT9_30_triggered(); - //g_pWideGraph->setRxRange(m_fMin,m_fMax); future1 = new QFuture; watcher1 = new QFutureWatcher; connect(watcher1, SIGNAL(finished()),this,SLOT(diskDat())); @@ -957,11 +956,6 @@ void MainWindow::msgBox(QString t) //msgBox msgBox0.exec(); } -void MainWindow::stub() //stub() -{ - msgBox("Not yet implemented."); -} - void MainWindow::on_actionOnline_Users_Guide_triggered() //Display manual { QDesktopServices::openUrl(QUrl( @@ -1087,11 +1081,6 @@ void MainWindow::on_actionF4_sets_Tx6_triggered() //F4 sets Tx6 m_kb8rq = !m_kb8rq; } -void MainWindow::on_actionNo_shorthands_if_Tx1_triggered() -{ - stub(); -} - void MainWindow::on_actionNone_triggered() //Save None { m_saveSynced=false; @@ -1126,16 +1115,57 @@ void MainWindow::on_actionSave_all_triggered() //Save All void MainWindow::on_actionKeyboard_shortcuts_triggered() { - stub(); //Display list of keyboard shortcuts + QTextEdit* pShortcuts; + pShortcuts = new QTextEdit(0); + pShortcuts->setReadOnly(true); + pShortcuts->setFontPointSize(10); + pShortcuts->setWindowTitle("Keyboard Shortcuts"); +// pShortcuts->setGeometry(m_wideGraphGeom); + pShortcuts->setGeometry(QRect(45,50,430,420)); + Qt::WindowFlags flags = Qt::WindowCloseButtonHint | + Qt::WindowMinimizeButtonHint; + pShortcuts->setWindowFlags(flags); + QString shortcuts = m_appDir + "/shortcuts.txt"; + QFile f(shortcuts); + if(!f.open(QIODevice::ReadOnly | QIODevice::Text)) { + msgBox("Cannot open " + shortcuts); + return; + } + QTextStream s(&f); + QString t; + for(int i=0; i<100; i++) { + t=s.readLine(); + pShortcuts->append(t); + if(s.atEnd()) break; + } + pShortcuts->show(); } void MainWindow::on_actionSpecial_mouse_commands_triggered() { - stub(); //Display list of mouse commands -} -void MainWindow::on_actionAvailable_suffixes_and_add_on_prefixes_triggered() -{ - stub(); //Display list of Add-On pfx/sfx + QTextEdit* pMouseCmnds; + pMouseCmnds = new QTextEdit(0); + pMouseCmnds->setReadOnly(true); + pMouseCmnds->setFontPointSize(10); + pMouseCmnds->setWindowTitle("Special Mouse Commands"); + pMouseCmnds->setGeometry(QRect(45,50,440,300)); + Qt::WindowFlags flags = Qt::WindowCloseButtonHint | + Qt::WindowMinimizeButtonHint; + pMouseCmnds->setWindowFlags(flags); + QString mouseCmnds = m_appDir + "/mouse_commands.txt"; + QFile f(mouseCmnds); + if(!f.open(QIODevice::ReadOnly | QIODevice::Text)) { + msgBox("Cannot open " + mouseCmnds); + return; + } + QTextStream s(&f); + QString t; + for(int i=0; i<100; i++) { + t=s.readLine(); + pMouseCmnds->append(t); + if(s.atEnd()) break; + } + pMouseCmnds->show(); } void MainWindow::on_DecodeButton_clicked() //Decode request diff --git a/mainwindow.h b/mainwindow.h index 872f22033..d58638678 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -69,12 +69,10 @@ private slots: void on_actionDecode_remaining_files_in_directory_triggered(); void on_actionDelete_all_wav_files_in_SaveDir_triggered(); void on_actionF4_sets_Tx6_triggered(); - void on_actionNo_shorthands_if_Tx1_triggered(); void on_actionNone_triggered(); void on_actionSave_all_triggered(); void on_actionKeyboard_shortcuts_triggered(); void on_actionSpecial_mouse_commands_triggered(); - void on_actionAvailable_suffixes_and_add_on_prefixes_triggered(); void on_DecodeButton_clicked(); void decode(); void decodeBusy(bool b); diff --git a/mainwindow.ui b/mainwindow.ui index 8479ea491..ec96e3ea8 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -7,7 +7,7 @@ 0 0 711 - 702 + 475 @@ -613,7 +613,7 @@ p, li { white-space: pre-wrap; } - Dial Frequency + 14.078 Qt::AlignCenter @@ -654,7 +654,7 @@ p, li { white-space: pre-wrap; } QTabWidget::Triangular - 1 + 0 @@ -724,7 +724,7 @@ p, li { white-space: pre-wrap; } - buttonGroup + buttonGroup @@ -755,7 +755,7 @@ p, li { white-space: pre-wrap; } true - buttonGroup + buttonGroup @@ -783,7 +783,7 @@ p, li { white-space: pre-wrap; } - buttonGroup + buttonGroup @@ -933,7 +933,7 @@ p, li { white-space: pre-wrap; } - buttonGroup + buttonGroup @@ -1066,7 +1066,7 @@ p, li { white-space: pre-wrap; } - buttonGroup + buttonGroup @@ -1094,7 +1094,7 @@ p, li { white-space: pre-wrap; } - buttonGroup + buttonGroup @@ -1330,7 +1330,7 @@ p, li { white-space: pre-wrap; } - + 0 @@ -1343,19 +1343,19 @@ p, li { white-space: pre-wrap; } 180 - + 1 - + 60.000000000000000 - + 0.000000000000000 - + 8 - + 0.000000000000000 @@ -1775,11 +1775,14 @@ p, li { white-space: pre-wrap; } true - QFrame::NoFrame + QFrame::HLine QFrame::Raised + + 2 + 0 @@ -1821,7 +1824,7 @@ p, li { white-space: pre-wrap; } - 0 + 70 27 @@ -1932,11 +1935,14 @@ p, li { white-space: pre-wrap; } true - QFrame::NoFrame + QFrame::HLine QFrame::Raised + + 2 + 0 @@ -1984,7 +1990,7 @@ p, li { white-space: pre-wrap; } - 0 + 70 27 @@ -2155,7 +2161,7 @@ p, li { white-space: pre-wrap; } 0 0 711 - 25 + 21 @@ -2477,11 +2483,17 @@ p, li { white-space: pre-wrap; } Keyboard shortcuts + + F3 + Special mouse commands + + F4 + @@ -2779,6 +2791,61 @@ p, li { white-space: pre-wrap; }
displaytext.h
+ + logQSOButton + stopButton + monitorButton + DecodeButton + EraseButton + tuneButton + autoButton + stopTxButton + bandComboBox + dxCallEntry + dxGridEntry + lookupButton + addButton + txFirstCheckBox + TxFreqSpinBox + pbR2T + pbT2R + rptSpinBox + pbCallCQ + pbAnswerCaller + pbSendRRR + pbSend73 + genMsg + freeTextMsg + pbAnswerCQ + pbSendReport + rbGenMsg + rbFreeText + genStdMsgsPushButton + tx1 + tx2 + tx3 + tx4 + tx5 + tx6 + txrb1 + txrb2 + txrb3 + txrb4 + txrb5 + txrb6 + txb1 + txb2 + txb3 + txb4 + txb5 + txb6 + tabWidget + inGain + decodedTextBrowser2 + decodedTextBrowser + NBcheckBox + NBslider + diff --git a/wsjtx.iss b/wsjtx.iss index 86e3e7ff7..a4d2b7553 100644 --- a/wsjtx.iss +++ b/wsjtx.iss @@ -1,6 +1,6 @@ [Setup] AppName=wsjtx -AppVerName=wsjtx Version 0.9 r3195 +AppVerName=wsjtx Version 0.95 r3226 AppCopyright=Copyright (C) 2001-2013 by Joe Taylor, K1JT DefaultDirName=c:\wsjtx DefaultGroupName=wsjtx @@ -14,6 +14,9 @@ Source: "c:\Users\joe\wsjt\wsjtx_install\afmhot.dat"; DestDir: "{app}"; Source: "c:\Users\joe\wsjt\wsjtx_install\blue.dat"; DestDir: "{app}"; Source: "c:\Users\joe\wsjt\wsjtx_install\CALL3.TXT"; DestDir: "{app}"; Flags: onlyifdoesntexist Source: "c:\Users\joe\wsjt\QtSupport\*.dll"; DestDir: "{app}"; Flags: onlyifdoesntexist +Source: "c:\Users\joe\wsjt\wsjtx_install\shortcuts.txt"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt\wsjtx_install\mouse_commands.txt"; DestDir: "{app}" + Source: "c:\Users\joe\wsjt\wsjtx_install\save\Samples\130228_2158.wav"; DestDir: "{app}\save\Samples"; [Icons] diff --git a/wsjtx_changelog.txt b/wsjtx_changelog.txt index a0e03cc65..8031a221f 100644 --- a/wsjtx_changelog.txt +++ b/wsjtx_changelog.txt @@ -1,46 +1,51 @@ WSJT-X ChangeLog ------------------------------------------------------------------ -WSJT-X is in an active stage of development. It's likely that in -coming weeks there will be frequent updates with new features as well -as bug fixes. User input is greatly appreciated. The best place for -suggestions, bug reports, and requests for help is -wsjtgroup@yahoogroups.com, which you are welcome to join. +We are getting close to a stable "Version 1.0" release of WSJT-X. At +that point program features will be frozen temporarily while we +concentrate on any necessary bug fixes. If you have bug reports on +version 0.95 r3226, or very important feature requests, send them to +wsjtgroup@yahoogroups.com now! -April 25, 2013: v0.9, r3219 ---------------------------- +April 25, 2013: v0.95, r3226 +---------------------------- 1. Bi-directionsl CAT control re-established using calls to hamlib functions. Display dial frequency highlighted with red background if frequency differs from nominal for the selected band by more than 10 -kHz. (Is there a more useful or logical condition to flag?) CAT -control diagnostics are presently rather rudimentary, we're still -working on this. +kHz. (Is there a more useful or logical condition to flag?) Mode is +set to USB when rig is opened in main window. (Note: CAT control +diagnostics are presently rather rudimentary, we're still working on +this. Feedback is welcome!) -2. Three new controls on Setup | Configuration screen: +2. New controls on Setup | Configuration screen: - RTS/DTR OFF -- needed by K2 and maybe other radios + - Data / Mic -- select CAT-control PTT type - Test CAT Control -- try settings before returning to main screen - Test PTT -- try settings for toggling PTT On/Off -3. Option "Setup | Advanced | Allow multiple instances" enables the +3. Help menu now provides displays of Keyboard Shortcuts (quick access + via F3) and Special Mouse Commands (F4). + +4. Option "Setup | Advanced | Allow multiple instances" enables the use of more than one instance of WSJT-X. (The program must be copied and run from different directories.) -4. Posts to PSK Reporter are suppressed if band was changed during the +5. Posts to PSK Reporter are suppressed if band was changed during the reception period. -5. Tune button On/Off action was improved. +6. Tune button On/Off action was improved. -6. Improved inter-process communication between WSJT-X and JT-Alert-X. +7. Improved inter-process communication between WSJT-X and JT-Alert-X. -7. Better interaction between "Report" spinner control and Tx messages. +8. Better interaction between "Report" spinner control and Tx messages. -8. Removed the NB checkbox and slider. (Has anyone found these useful?) +9. Removed the NB checkbox and slider. (Has anyone found these useful?) -9. New buttons on main window: "Tx=Rx" sets Tx frequency to current Rx +10. New buttons on main window: "Tx=Rx" sets Tx frequency to current Rx frequency; "Rx=Tx" does the opposite. -10. Finally: a bug causing occasional, seemingly unpredictable program +11. Finally: a bug causing occasional, seemingly unpredictable program crashes has been fixed. April 17, 2013: v0.9, r3195