Better breaking apart messages with newlines. Macros behavior
This commit is contained in:
parent
f9ab37530c
commit
2a7f38b187
@ -5262,20 +5262,24 @@ void MainWindow::on_extFreeTextMsgEdit_currentTextChanged (QString const& text)
|
|||||||
|
|
||||||
QStringList MainWindow::buildFT8MessageFrames(QString const& text){
|
QStringList MainWindow::buildFT8MessageFrames(QString const& text){
|
||||||
QStringList frames;
|
QStringList frames;
|
||||||
QString input = QString(text).replace("\n", " ").replace(" ", " ");
|
|
||||||
|
|
||||||
while(input.size() > 0){
|
//QString input = QString(text); //.replace("\n", " ").replace(" ", " ");
|
||||||
QString frame = parseFT8Message(input);
|
//.split(QRegExp("\\n"))
|
||||||
if(frame.isEmpty()){
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
frames.append(frame);
|
|
||||||
|
|
||||||
int sz = input.size();
|
foreach(QString input, text.split(QRegExp("[\\r\\n]"), QString::SkipEmptyParts)){
|
||||||
input = input.remove(QRegExp("^" + QRegExp::escape(frame))).trimmed();
|
while(input.size() > 0){
|
||||||
if(input.size() == sz){
|
QString frame = parseFT8Message(input);
|
||||||
break;
|
if(frame.isEmpty()){
|
||||||
}
|
break;
|
||||||
|
}
|
||||||
|
frames.append(frame);
|
||||||
|
|
||||||
|
int sz = input.size();
|
||||||
|
input = input.remove(QRegExp("^" + QRegExp::escape(frame))).trimmed();
|
||||||
|
if(input.size() == sz){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return frames;
|
return frames;
|
||||||
@ -5284,7 +5288,7 @@ QStringList MainWindow::buildFT8MessageFrames(QString const& text){
|
|||||||
QString MainWindow::parseFT8Message(QString input){
|
QString MainWindow::parseFT8Message(QString input){
|
||||||
char message[29];
|
char message[29];
|
||||||
char msgsent[29];
|
char msgsent[29];
|
||||||
char volatile ft8msgbits[75];
|
char volatile ft8msgbits[75 + 12];
|
||||||
int volatile itone[NUM_ISCAT_SYMBOLS];
|
int volatile itone[NUM_ISCAT_SYMBOLS];
|
||||||
|
|
||||||
QByteArray ba = input.toLocal8Bit();
|
QByteArray ba = input.toLocal8Bit();
|
||||||
@ -6616,17 +6620,27 @@ void MainWindow::on_snrMacroButton_clicked(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_macrosMacroButton_clicked(){
|
void MainWindow::on_macrosMacroButton_clicked(){
|
||||||
QMenu *menu = new QMenu(ui->macrosMacroButton);
|
if(m_config.macros()->stringList().isEmpty()){
|
||||||
|
on_actionSettings_triggered();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QMenu *menu = ui->macrosMacroButton->menu();
|
||||||
|
if(!menu){
|
||||||
|
menu = new QMenu(ui->macrosMacroButton);
|
||||||
|
}
|
||||||
|
menu->clear();
|
||||||
|
|
||||||
foreach(QString macro, m_config.macros()->stringList()){
|
foreach(QString macro, m_config.macros()->stringList()){
|
||||||
QAction *action = menu->addAction(macro);
|
QAction *action = menu->addAction(macro);
|
||||||
connect(action, &QAction::triggered, this, [this, macro](){ addMessageText(macro); });
|
connect(action, &QAction::triggered, this, [this, macro](){ addMessageText(macro); });
|
||||||
}
|
}
|
||||||
|
|
||||||
menu->addSeparator();
|
menu->addSeparator();
|
||||||
auto action = new QAction(QIcon::fromTheme("edit-edit"), QString("Edit"), menu);
|
auto action = new QAction(QIcon::fromTheme("edit-edit"), QString("Edit"), menu);
|
||||||
menu->addAction(action);
|
menu->addAction(action);
|
||||||
connect(action, &QAction::triggered, this, &MainWindow::on_actionSettings_triggered);
|
connect(action, &QAction::triggered, this, &MainWindow::on_actionSettings_triggered);
|
||||||
|
|
||||||
|
|
||||||
ui->macrosMacroButton->setMenu(menu);
|
ui->macrosMacroButton->setMenu(menu);
|
||||||
ui->macrosMacroButton->showMenu();
|
ui->macrosMacroButton->showMenu();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user