Confirmed. Thanks for adding that. I deleted Mem 50 from my radio and tried to Import Mem 50 from my ic2820.img file (created in 0.1.7b4). I was able to select the appropriate memory but when I pressed the go button chirpw crashed and the entry was not written to the radio. I've sent you the debug log separately and it is the last set of entries in the log.
Yeah, my guess is that you imported a non-DV channel, or there was a non-DV channel on either side of channel 50. The handhelds change behavior on their serial port when DV mode is enabled, which is very annoying.
MYCALL entries are now displaying correctly, which they weren't in previous versions. Although I can Add/Remove entries to the list, I can't Edit an existing entry.
Ah, yeah, I can fix that.
As soon as I make a change in the MYCALL field then CHIRP re-reads all 400 of the memories again, which can take a couple of minutes to complete in the background. If I make 2 changes then it re-reads the complete contents twice.
Right, this is because the 800 and the 2200 need to re-read their memories. However, I should make it only do that for those radios. You don't notice on the radios that read from a file, but the handhelds are different, of course.
So, I take this to mean that when you open up your handheld, the first thing you do is change the range to 0-400 and then go get coffee while it loads the entire radio onto the screen?
Yep, CHIRP inserted a new line and incremented all of the memories until it found a blank space at Mem 31. In this case I had 400 memories displayed on the IC92AD Band B and I inserted a new line at memory 29. What surprised me though was that it then re-read all of the memories eg: Mems 001 - 400 which took quite a lot of time. Given the content didn't change below Mem 31 (in this example) does CHIRP need to re-read all of the other memories? The same occurred when I deleted (and shift up) a memory. Functionally this works, but it is quite slow.
Well, it's instantaneous on all the other radios, and it would only take a few seconds if you didn't have your view set to 0-400 :)
The point of doing the re-sync after such an operation is to avoid the case where we modify the radio in some way, and potentially alter the state of the GUI in a slightly different way, but don't show you than until much later. The re-sync gives us a nice baseline, because shifting the memories in that way is a pretty complex operation, as you might imagine.
Try this on your 2820, and I'll see if I can come up with something I'm comfortable with to avoid the re-sync :)