Locale prefs: Select items after drag and drop

in the Preferred Languages ListView.

Change-Id: I423263ba0c6753a278f70e479eb2b711ca1d7670
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1959
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This commit is contained in:
John Scipione 2019-11-16 01:57:13 -05:00 committed by waddlesplash
parent 354649f120
commit a70e506a80

View File

@ -350,15 +350,18 @@ LocaleWindow::MessageReceived(BMessage* message)
if (message->FindInt32("drop_index", &dropIndex) != B_OK)
dropIndex = fPreferredListView->CountItems();
int32 index = 0;
for (int32 i = 0; message->FindInt32("index", i, &index) == B_OK;
i++) {
int32 i = 0;
for (int32 index = 0;
message->FindInt32("index", i, &index) == B_OK; i++) {
LanguageListItem* item = static_cast<LanguageListItem*>(
fLanguageListView->ItemAt(index));
_InsertPreferredLanguage(item, dropIndex++);
}
fPreferredListView->Select(dropIndex - i, dropIndex - 1);
break;
}
case kMsgLanguageInvoked:
{
int32 index = 0;
@ -381,8 +384,8 @@ LocaleWindow::MessageReceived(BMessage* message)
if (target == fPreferredListView) {
// change ordering
int32 dropIndex = message->FindInt32("drop_index");
int32 index = 0;
for (int32 i = 0;
int32 i = 0;
for (int32 index = 0;
message->FindInt32("index", i, &index) == B_OK;
i++, dropIndex++) {
if (dropIndex > index) {
@ -393,6 +396,7 @@ LocaleWindow::MessageReceived(BMessage* message)
fPreferredListView->AddItem(item, dropIndex);
}
fPreferredListView->Select(dropIndex - i, dropIndex - 1);
_PreferredLanguagesChanged();
break;
}