Skip to content

Commit d6fe5ce

Browse files
Merge branch 'master' into linux-integration
2 parents 365ad2f + c0c278e commit d6fe5ce

File tree

2 files changed

+40
-11
lines changed

2 files changed

+40
-11
lines changed

src/courtroom.cpp

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1678,6 +1678,17 @@ void Courtroom::enter_courtroom()
16781678
// Todo: multithread this due to some servers having large as hell music list
16791679
void Courtroom::list_music()
16801680
{
1681+
// remember collapsed categories
1682+
QStringList collapsed_categories;
1683+
for (int i = 0; i < ui_music_list->topLevelItemCount(); ++i)
1684+
{
1685+
const auto pCategory = ui_music_list->topLevelItem(i);
1686+
if (!pCategory->isExpanded())
1687+
{
1688+
collapsed_categories.append(pCategory->text(0));
1689+
}
1690+
}
1691+
16811692
ui_music_list->clear();
16821693
// ui_music_search->setText("");
16831694

@@ -1767,9 +1778,23 @@ void Courtroom::list_music()
17671778
}
17681779
}
17691780

1770-
ui_music_list->expandAll(); // Needs to somehow remember which categories were
1771-
// expanded/collapsed if the music list didn't
1772-
// change since last time
1781+
ui_music_list->expandAll();
1782+
1783+
// restore expanded state from before the list was reset
1784+
// disable animations while we do this
1785+
bool was_animated = ui_music_list->isAnimated();
1786+
ui_music_list->setAnimated(false);
1787+
for (int i = 0; i < ui_music_list->topLevelItemCount(); ++i)
1788+
{
1789+
const auto pCategory = ui_music_list->topLevelItem(i);
1790+
if (collapsed_categories.contains(pCategory->text(0)))
1791+
{
1792+
pCategory->setExpanded(false);
1793+
}
1794+
}
1795+
// restore animated state
1796+
ui_music_list->setAnimated(was_animated);
1797+
17731798
if (ui_music_search->text() != "")
17741799
{
17751800
on_music_search_edited(ui_music_search->text());
@@ -5772,12 +5797,12 @@ void Courtroom::on_music_list_context_menu_requested(const QPoint &pos)
57725797
menu->addSeparator();
57735798

57745799
QTreeWidgetItem *current_song = ui_music_list->currentItem();
5775-
if (ui_music_list->currentItem()->text(2) == "1")
5800+
if (ui_music_list->currentItem() && ui_music_list->currentItem()->text(2) == "1")
57765801
{
57775802
menu->addAction(QString(tr("Remove Favorite")), this, [this, current_song] { Courtroom::remove_favorite_song(current_song); });
57785803
menu->addSeparator();
57795804
}
5780-
else
5805+
else if (ui_music_list->currentItem())
57815806
{
57825807
menu->addAction(QString(tr("Add Favorite")), this, [this, current_song] { Courtroom::add_favorite_song(current_song); });
57835808
menu->addSeparator();
@@ -5895,12 +5920,16 @@ void Courtroom::music_list_expand_all()
58955920
void Courtroom::music_list_collapse_all()
58965921
{
58975922
ui_music_list->collapseAll();
5898-
QTreeWidgetItem *current = ui_music_list->selectedItems()[0];
5899-
if (current->parent() != nullptr)
5923+
// If we had a selection, restore it, or select its parent
5924+
if (ui_music_list->selectedItems().size() > 0)
59005925
{
5901-
current = current->parent();
5926+
QTreeWidgetItem *current = ui_music_list->selectedItems()[0];
5927+
if (current->parent() != nullptr)
5928+
{
5929+
current = current->parent();
5930+
}
5931+
ui_music_list->setCurrentItem(current);
59025932
}
5903-
ui_music_list->setCurrentItem(current);
59045933
}
59055934

59065935
void Courtroom::music_stop(bool no_effects)

src/lobby.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,9 +275,9 @@ void Lobby::on_about_clicked()
275275
"https://github.com/AttorneyOnline/AO2-Client</a>"
276276
"<p><b>Major development:</b><br>"
277277
"OmniTroid, stonedDiscord, longbyte1, scatterflower, Cerapter, "
278-
"Crystalwarrior, Iamgoofball, in1tiate"
278+
"Crystalwarrior, Iamgoofball, in1tiate, Salanto"
279279
"<p><b>Client development:</b><br>"
280-
"Cents02, windrammer, skyedeving, TrickyLeifa, Salanto, lambdcalculus"
280+
"Cents02, windrammer, skyedeving, TrickyLeifa, lambdcalculus"
281281
"<p><b>QA testing:</b><br>"
282282
"CaseyCazy, CedricDewitt, Chewable Tablets, CrazyJC, Fantos, "
283283
"Fury McFlurry, Geck, Gin-Gi, Jamania, Minx, Pandae, "

0 commit comments

Comments
 (0)