mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-30 12:30:20 -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 name="text"> | ||||||
|  |         <string>Reverse order</string> | ||||||
|        </property> |        </property> | ||||||
|        <item> |  | ||||||
|         <property name="text"> |  | ||||||
|          <string>Left-to-right</string> |  | ||||||
|         </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