mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-22 20:18:35 -04:00
Get rid of lots of unneeded "second process" stuff.
This commit is contained in:
parent
689d852a49
commit
4b3cc34fa5
@ -74,17 +74,6 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
connect(&soundInThread, SIGNAL(error(QString)), this, SLOT(showSoundInError(QString)));
|
||||
connect(&soundInThread, SIGNAL(status(QString)), this, SLOT(showStatusMessage(QString)));
|
||||
createStatusBar();
|
||||
|
||||
// connect(&proc_m65, SIGNAL(readyReadStandardOutput()), this, SLOT(readFromStdout()));
|
||||
connect(&proc_m65, &QProcess::errorOccurred, this, &MainWindow::m65_error);
|
||||
connect(&proc_m65, static_cast<void (QProcess::*) (int, QProcess::ExitStatus)> (&QProcess::finished),
|
||||
[this] (int exitCode, QProcess::ExitStatus status) {
|
||||
if (subProcessFailed (&proc_m65, exitCode, status))
|
||||
{
|
||||
QTimer::singleShot (0, this, SLOT (close ()));
|
||||
}
|
||||
});
|
||||
|
||||
connect(m_gui_timer, &QTimer::timeout, this, &MainWindow::guiUpdate);
|
||||
|
||||
m_waterfallAvg = 1;
|
||||
@ -146,11 +135,6 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
fftwf_import_wisdom_from_filename (QDir {m_appDir}.absoluteFilePath ("map65_wisdom.dat").toLocal8Bit ());
|
||||
|
||||
readSettings(); //Restore user's setup params
|
||||
QFile lockFile(m_appDir + "/.lock"); //Create .lock so m65 will wait
|
||||
lockFile.open(QIODevice::ReadWrite);
|
||||
QFile quitFile(m_appDir + "/.quit");
|
||||
quitFile.remove();
|
||||
proc_m65.start(QDir::toNativeSeparators(m_appDir + "/m65"), {"-s", });
|
||||
|
||||
m_pbdecoding_style1="QPushButton{background-color: cyan; \
|
||||
border-style: outset; border-width: 1px; border-radius: 5px; \
|
||||
@ -241,10 +225,6 @@ MainWindow::~MainWindow()
|
||||
soundInThread.wait(3000);
|
||||
}
|
||||
fftwf_export_wisdom_to_filename (QDir {m_appDir}.absoluteFilePath ("map65_wisdom.dat").toLocal8Bit ());
|
||||
if(!m_decoderBusy) {
|
||||
QFile lockFile(m_appDir + "/.lock");
|
||||
lockFile.remove();
|
||||
}
|
||||
delete ui;
|
||||
}
|
||||
|
||||
@ -724,25 +704,6 @@ void MainWindow::closeEvent (QCloseEvent * e)
|
||||
{
|
||||
if (m_gui_timer) m_gui_timer->stop ();
|
||||
m_wide_graph_window->saveSettings();
|
||||
QFile quitFile(m_appDir + "/.quit");
|
||||
quitFile.open(QIODevice::ReadWrite);
|
||||
QFile lockFile(m_appDir + "/.lock");
|
||||
lockFile.remove(); // Allow m65 to terminate
|
||||
|
||||
// close pipes
|
||||
proc_m65.closeReadChannel (QProcess::StandardOutput);
|
||||
proc_m65.closeReadChannel (QProcess::StandardError);
|
||||
|
||||
// flush all input
|
||||
proc_m65.setReadChannel (QProcess::StandardOutput);
|
||||
proc_m65.readAll ();
|
||||
proc_m65.setReadChannel (QProcess::StandardError);
|
||||
proc_m65.readAll ();
|
||||
|
||||
proc_m65.disconnect ();
|
||||
if (!proc_m65.waitForFinished (1000)) proc_m65.kill();
|
||||
quitFile.remove();
|
||||
mem_m65.detach();
|
||||
if (m_astro_window) m_astro_window->close ();
|
||||
if (m_wide_graph_window) m_wide_graph_window->close ();
|
||||
QMainWindow::closeEvent (e);
|
||||
@ -1035,9 +996,6 @@ void MainWindow::decode() //decode()
|
||||
m_map65RxLog=0;
|
||||
m_call3Modified=false;
|
||||
|
||||
// QFile lockFile(m_appDir + "/.lock"); // Allow m65 to start
|
||||
// lockFile.remove();
|
||||
|
||||
decodes_.ndecodes=0;
|
||||
decodes_.ncand=0;
|
||||
m_fetched=0;
|
||||
@ -1047,66 +1005,6 @@ void MainWindow::decode() //decode()
|
||||
decodeBusy(true);
|
||||
}
|
||||
|
||||
bool MainWindow::subProcessFailed (QProcess * process, int exit_code, QProcess::ExitStatus status)
|
||||
{
|
||||
if (exit_code || QProcess::NormalExit != status)
|
||||
{
|
||||
QStringList arguments;
|
||||
for (auto argument: process->arguments ())
|
||||
{
|
||||
if (argument.contains (' ')) argument = '"' + argument + '"';
|
||||
arguments << argument;
|
||||
}
|
||||
MessageBox::critical_message (this, tr ("Subprocess Error")
|
||||
, tr ("Subprocess failed with exit code %1")
|
||||
.arg (exit_code)
|
||||
, tr ("Running: %1\n%2")
|
||||
.arg (process->program () + ' ' + arguments.join (' '))
|
||||
.arg (QString {process->readAllStandardError()}));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void MainWindow::m65_error (QProcess::ProcessError)
|
||||
{
|
||||
msgBox("Error starting or running\n" + m_appDir + "/m65 -s\n\n"
|
||||
+ proc_m65.errorString ());
|
||||
QTimer::singleShot (0, this, SLOT (close ()));
|
||||
}
|
||||
|
||||
/*
|
||||
void MainWindow::readFromStdout() //readFromStdout
|
||||
{
|
||||
while(proc_m65.canReadLine())
|
||||
{
|
||||
QByteArray t=proc_m65.readLine();
|
||||
if(t.indexOf("<DecodeFinished>") >= 0) {
|
||||
QFile lockFile(m_appDir + "/.lock");
|
||||
lockFile.open(QIODevice::ReadWrite);
|
||||
QString t1=t.mid(16,8);
|
||||
lab5->setText(t1);
|
||||
m_map65RxLog=0;
|
||||
m_startAnother=m_loopall;
|
||||
ui->DecodeButton->setStyleSheet("");
|
||||
decodeBusy(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if(t.indexOf("~") >= 0) {
|
||||
int n=t.length();
|
||||
int m=2;
|
||||
#ifdef WIN32
|
||||
m=3;
|
||||
#endif
|
||||
if(n>=30 or t.indexOf("Best-fit")>=0) ui->decodedTextBrowser->append(t.mid(1,n-m).trimmed());
|
||||
n=ui->decodedTextBrowser->verticalScrollBar()->maximum();
|
||||
ui->decodedTextBrowser->verticalScrollBar()->setValue(n);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
void MainWindow::on_EraseButton_clicked()
|
||||
{
|
||||
qint64 ms=QDateTime::currentMSecsSinceEpoch();
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include <QLabel>
|
||||
#include <QDateTime>
|
||||
#include <QHash>
|
||||
#include <QProcess>
|
||||
#include "getfile.h"
|
||||
#include "soundin.h"
|
||||
#include "signalmeter.h"
|
||||
@ -44,8 +43,6 @@ public slots:
|
||||
void diskWriteFinished();
|
||||
void decoderFinished();
|
||||
void freezeDecode(int n);
|
||||
// void readFromStdout();
|
||||
void m65_error (QProcess::ProcessError);
|
||||
void guiUpdate();
|
||||
|
||||
private:
|
||||
@ -177,8 +174,6 @@ private:
|
||||
|
||||
QFutureWatcher<void> watcher3; //For decoder
|
||||
|
||||
QProcess proc_m65;
|
||||
|
||||
QString m_path;
|
||||
QString m_pbdecoding_style1;
|
||||
QString m_pbmonitor_style;
|
||||
@ -213,7 +208,6 @@ private:
|
||||
void msgBox(QString t);
|
||||
void lookup();
|
||||
bool isGrid4(QString g);
|
||||
bool subProcessFailed (QProcess *, int exit_code, QProcess::ExitStatus);
|
||||
};
|
||||
|
||||
extern void getfile(QString fname, bool xpol, int idInt);
|
||||
|
Loading…
Reference in New Issue
Block a user