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 <[email protected]>
This commit is contained in:
John Scipione
2019-11-22 23:27:53 +00:00
committed by waddlesplash
parent 354649f120
commit a70e506a80
+9 -5
View File
@@ -350,15 +350,18 @@ LocaleWindow::MessageReceived(BMessage* message)
if (message->FindInt32("drop_index", &dropIndex) != B_OK) if (message->FindInt32("drop_index", &dropIndex) != B_OK)
dropIndex = fPreferredListView->CountItems(); dropIndex = fPreferredListView->CountItems();
int32 index = 0; int32 i = 0;
for (int32 i = 0; message->FindInt32("index", i, &index) == B_OK; for (int32 index = 0;
i++) { message->FindInt32("index", i, &index) == B_OK; i++) {
LanguageListItem* item = static_cast<LanguageListItem*>( LanguageListItem* item = static_cast<LanguageListItem*>(
fLanguageListView->ItemAt(index)); fLanguageListView->ItemAt(index));
_InsertPreferredLanguage(item, dropIndex++); _InsertPreferredLanguage(item, dropIndex++);
} }
fPreferredListView->Select(dropIndex - i, dropIndex - 1);
break; break;
} }
case kMsgLanguageInvoked: case kMsgLanguageInvoked:
{ {
int32 index = 0; int32 index = 0;
@@ -381,8 +384,8 @@ LocaleWindow::MessageReceived(BMessage* message)
if (target == fPreferredListView) { if (target == fPreferredListView) {
// change ordering // change ordering
int32 dropIndex = message->FindInt32("drop_index"); int32 dropIndex = message->FindInt32("drop_index");
int32 index = 0; int32 i = 0;
for (int32 i = 0; for (int32 index = 0;
message->FindInt32("index", i, &index) == B_OK; message->FindInt32("index", i, &index) == B_OK;
i++, dropIndex++) { i++, dropIndex++) {
if (dropIndex > index) { if (dropIndex > index) {
@@ -393,6 +396,7 @@ LocaleWindow::MessageReceived(BMessage* message)
fPreferredListView->AddItem(item, dropIndex); fPreferredListView->AddItem(item, dropIndex);
} }
fPreferredListView->Select(dropIndex - i, dropIndex - 1);
_PreferredLanguagesChanged(); _PreferredLanguagesChanged();
break; break;
} }