mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-05-24 03:02:29 -04:00
Pager: Add extra Hebrew charaters. Use reverse option, instead of right-to-left, as Hebrew appears to be transmitted last first
This commit is contained in:
parent
147e3881e6
commit
8e888ac9ae
@ -29,7 +29,7 @@ PagerDemodCharsetDialog::PagerDemodCharsetDialog(PagerDemodSettings *settings,
|
|||||||
if (settings->m_sevenbit.size() > 0) {
|
if (settings->m_sevenbit.size() > 0) {
|
||||||
ui->preset->setCurrentIndex(2); // User
|
ui->preset->setCurrentIndex(2); // User
|
||||||
}
|
}
|
||||||
ui->readingOrder->setCurrentIndex(settings->m_rightToLeft ? 1 : 0);
|
ui->reverse->setChecked(settings->m_reverse);
|
||||||
for (int i = 0; i < settings->m_sevenbit.size(); i++) {
|
for (int i = 0; i < settings->m_sevenbit.size(); i++) {
|
||||||
addRow(settings->m_sevenbit[i], settings->m_unicode[i]);
|
addRow(settings->m_sevenbit[i], settings->m_unicode[i]);
|
||||||
}
|
}
|
||||||
@ -52,7 +52,7 @@ void PagerDemodCharsetDialog::accept()
|
|||||||
m_settings->m_sevenbit.append(sevenbit);
|
m_settings->m_sevenbit.append(sevenbit);
|
||||||
m_settings->m_unicode.append(unicode);
|
m_settings->m_unicode.append(unicode);
|
||||||
}
|
}
|
||||||
m_settings->m_rightToLeft = ui->readingOrder->currentIndex() == 1;
|
m_settings->m_reverse = ui->reverse->isChecked();
|
||||||
QDialog::accept();
|
QDialog::accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,14 +74,15 @@ void PagerDemodCharsetDialog::on_remove_clicked()
|
|||||||
void PagerDemodCharsetDialog::on_preset_currentIndexChanged(int index)
|
void PagerDemodCharsetDialog::on_preset_currentIndexChanged(int index)
|
||||||
{
|
{
|
||||||
ui->table->setRowCount(0);
|
ui->table->setRowCount(0);
|
||||||
ui->readingOrder->setCurrentIndex(0);
|
ui->reverse->setChecked(false);
|
||||||
if (index == 1)
|
if (index == 1)
|
||||||
{
|
{
|
||||||
// Hebrew
|
// Hebrew
|
||||||
for (int i = 0; i < 22; i++) {
|
for (int i = 0; i < 22+5; i++) {
|
||||||
addRow(96 + i, 0x05D0 + i);
|
addRow(96 + i, 0x05D0 + i);
|
||||||
}
|
}
|
||||||
ui->readingOrder->setCurrentIndex(1);
|
// Even though Hebrew is right-to-left, it seems characters are
|
||||||
|
// transmitted last first, so no need to check reverse
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,33 +65,13 @@
|
|||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="readingOrderLabel">
|
<widget class="QCheckBox" name="reverse">
|
||||||
<property name="text">
|
|
||||||
<string>Reading Order</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="readingOrder">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>100</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Specify the order in which characters should be displayed</string>
|
<string>Reverse the order of the characters received</string>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Left-to-right</string>
|
<string>Reverse order</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Right-to-left</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
@ -52,7 +52,7 @@ void PagerDemodSettings::resetToDefaults()
|
|||||||
m_reverseAPIPort = 8888;
|
m_reverseAPIPort = 8888;
|
||||||
m_reverseAPIDeviceIndex = 0;
|
m_reverseAPIDeviceIndex = 0;
|
||||||
m_reverseAPIChannelIndex = 0;
|
m_reverseAPIChannelIndex = 0;
|
||||||
m_rightToLeft = 0;
|
m_reverse = false;
|
||||||
|
|
||||||
for (int i = 0; i < PAGERDEMOD_MESSAGE_COLUMNS; i++)
|
for (int i = 0; i < PAGERDEMOD_MESSAGE_COLUMNS; i++)
|
||||||
{
|
{
|
||||||
@ -88,7 +88,7 @@ QByteArray PagerDemodSettings::serialize() const
|
|||||||
s.writeU32(19, m_reverseAPIDeviceIndex);
|
s.writeU32(19, m_reverseAPIDeviceIndex);
|
||||||
s.writeU32(20, m_reverseAPIChannelIndex);
|
s.writeU32(20, m_reverseAPIChannelIndex);
|
||||||
s.writeBlob(21, m_scopeGUI->serialize());
|
s.writeBlob(21, m_scopeGUI->serialize());
|
||||||
s.writeBool(22, m_rightToLeft);
|
s.writeBool(22, m_reverse);
|
||||||
s.writeBlob(23, serializeIntList(m_sevenbit));
|
s.writeBlob(23, serializeIntList(m_sevenbit));
|
||||||
s.writeBlob(24, serializeIntList(m_unicode));
|
s.writeBlob(24, serializeIntList(m_unicode));
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ bool PagerDemodSettings::deserialize(const QByteArray& data)
|
|||||||
d.readBlob(21, &bytetmp);
|
d.readBlob(21, &bytetmp);
|
||||||
m_scopeGUI->deserialize(bytetmp);
|
m_scopeGUI->deserialize(bytetmp);
|
||||||
}
|
}
|
||||||
d.readBool(22, &m_rightToLeft, false);
|
d.readBool(22, &m_reverse, false);
|
||||||
d.readBlob(23, &blob);
|
d.readBlob(23, &blob);
|
||||||
deserializeIntList(blob, m_sevenbit);
|
deserializeIntList(blob, m_sevenbit);
|
||||||
d.readBlob(24, &blob);
|
d.readBlob(24, &blob);
|
||||||
|
@ -60,7 +60,7 @@ struct PagerDemodSettings
|
|||||||
uint16_t m_reverseAPIChannelIndex;
|
uint16_t m_reverseAPIChannelIndex;
|
||||||
Serializable *m_scopeGUI;
|
Serializable *m_scopeGUI;
|
||||||
|
|
||||||
bool m_rightToLeft; //!< Whether characters are right to left or left to right
|
bool m_reverse; //!< Whether characters should be reversed, for right-to-left reading order
|
||||||
QList<qint32> m_sevenbit;
|
QList<qint32> m_sevenbit;
|
||||||
QList<qint32> m_unicode;
|
QList<qint32> m_unicode;
|
||||||
|
|
||||||
|
@ -284,7 +284,7 @@ void PagerDemodSink::decodeBatch()
|
|||||||
m_alphaMessage[i] = c;
|
m_alphaMessage[i] = c;
|
||||||
}
|
}
|
||||||
// Reverse reading order, if required
|
// Reverse reading order, if required
|
||||||
if (m_settings.m_rightToLeft) {
|
if (m_settings.m_reverse) {
|
||||||
std::reverse(m_alphaMessage.begin(), m_alphaMessage.end());
|
std::reverse(m_alphaMessage.begin(), m_alphaMessage.end());
|
||||||
}
|
}
|
||||||
// Send to channel and GUI
|
// Send to channel and GUI
|
||||||
|
Loading…
x
Reference in New Issue
Block a user