From e82ecb48b8fe7fc07f8a07aceeb9be2658962201 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Mon, 29 Jul 2024 16:17:46 +0200 Subject: [PATCH] PlaylistTabBar: Don't use `QTabBar::tabText` Fixes #1499 --- src/playlist/playlisttabbar.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/playlist/playlisttabbar.cpp b/src/playlist/playlisttabbar.cpp index e9f6a4c2..c3e09ee6 100644 --- a/src/playlist/playlisttabbar.cpp +++ b/src/playlist/playlisttabbar.cpp @@ -159,10 +159,8 @@ void PlaylistTabBar::mouseDoubleClickEvent(QMouseEvent *e) { } else { menu_index_ = index; - QString new_text = tabText(index); - new_text = new_text.replace(QLatin1String("&&"), QLatin1String("&")); rename_editor_->setGeometry(tabRect(index)); - rename_editor_->setText(new_text); + rename_editor_->setText(manager_->GetPlaylistName(tabData(index).toInt())); rename_editor_->setVisible(true); rename_editor_->setFocus(); } @@ -176,13 +174,13 @@ void PlaylistTabBar::RenameSlot() { if (menu_index_ == -1) return; - QString name = tabText(menu_index_); - name = name.replace(QLatin1String("&&"), QLatin1String("&")); - QString new_name = QInputDialog::getText(this, tr("Rename playlist"), tr("Enter a new name for this playlist"), QLineEdit::Normal, name); + const int playlist_id = tabData(menu_index_).toInt(); + const QString old_name = manager_->GetPlaylistName(playlist_id); + const QString new_name = QInputDialog::getText(this, tr("Rename playlist"), tr("Enter a new name for this playlist"), QLineEdit::Normal, old_name); - if (new_name.isEmpty()) return; + if (new_name.isEmpty() || new_name == old_name) return; - emit Rename(tabData(menu_index_).toInt(), new_name); + emit Rename(playlist_id, new_name); }