| 143 | }; |
| 144 | |
| 145 | bool buildMemoryFieldUpdate(int col, const QTableWidgetItem* item, |
| 146 | QString& commandSuffix, QMap<QString, QString>& kvs) |
| 147 | { |
| 148 | if (!item) |
| 149 | return false; |
| 150 | |
| 151 | const QString value = item->text(); |
| 152 | switch (col) { |
| 153 | case 0: { |
| 154 | const QString encoded = AetherSDR::encodeMemoryText(value); |
| 155 | commandSuffix = "group=" + encoded; |
| 156 | kvs["group"] = encoded; |
| 157 | return true; |
| 158 | } |
| 159 | case 1: { |
| 160 | const QString encoded = AetherSDR::encodeMemoryText(value); |
| 161 | commandSuffix = "owner=" + encoded; |
| 162 | kvs["owner"] = encoded; |
| 163 | return true; |
| 164 | } |
| 165 | case 2: |
| 166 | commandSuffix = "freq=" + value; |
| 167 | kvs["freq"] = value; |
| 168 | return true; |
| 169 | case 3: { |
| 170 | const QString encoded = AetherSDR::encodeMemoryText(value); |
| 171 | commandSuffix = "name=" + encoded; |
| 172 | kvs["name"] = encoded; |
| 173 | return true; |
| 174 | } |
| 175 | case 4: { |
| 176 | const QString mode = MemoryFields::modeToWire(value); |
| 177 | commandSuffix = "mode=" + mode; |
| 178 | kvs["mode"] = mode; |
| 179 | return true; |
| 180 | } |
| 181 | case 5: |
| 182 | commandSuffix = "step=" + value; |
| 183 | kvs["step"] = value; |
| 184 | return true; |
| 185 | case 6: { |
| 186 | const QString dir = MemoryFields::offsetDirToWire(value); |
| 187 | commandSuffix = "repeater=" + dir; |
| 188 | kvs["repeater"] = dir; |
| 189 | return true; |
| 190 | } |
| 191 | case 7: |
| 192 | commandSuffix = "repeater_offset=" + value; |
| 193 | kvs["repeater_offset"] = value; |
| 194 | return true; |
| 195 | case 8: { |
| 196 | const QString toneMode = MemoryFields::toneModeToWire(value); |
| 197 | commandSuffix = "tone_mode=" + toneMode; |
| 198 | kvs["tone_mode"] = toneMode; |
| 199 | return true; |
| 200 | } |
| 201 | case 9: |
| 202 | commandSuffix = "tone_value=" + value; |
no test coverage detected