Skip to content

Commit 6548e04

Browse files
committed
Replace the Favorites window Update button by standard OK Cancel buttons
Cancel also restores the favorites when opening the Favorites window again.
1 parent d4157e4 commit 6548e04

File tree

5 files changed

+28
-5
lines changed

5 files changed

+28
-5
lines changed

favoriteswindow.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ FavoritesWindow::FavoritesWindow(QWidget *parent) :
1414
streamList = new FavoritesList(this);
1515
ui->filesTab->layout()->addWidget(fileList);
1616
ui->streamsTab->layout()->addWidget(streamList);
17-
connect(ui->update, &QPushButton::clicked,
18-
this, &FavoritesWindow::updateFavoriteTracks);
1917
}
2018

2119
FavoritesWindow::~FavoritesWindow()
@@ -54,6 +52,17 @@ void FavoritesWindow::on_remove_clicked()
5452
delete i;
5553
}
5654

55+
void FavoritesWindow::on_buttonBox_clicked(QAbstractButton *button)
56+
{
57+
QDialogButtonBox::ButtonRole buttonRole;
58+
buttonRole = ui->buttonBox->buttonRole(button);
59+
if (buttonRole == QDialogButtonBox::AcceptRole)
60+
updateFavoriteTracks();
61+
if (buttonRole == QDialogButtonBox::RejectRole)
62+
emit favoriteTracksCancel();
63+
close();
64+
}
65+
5766
//---------------------------------------------------------------------------
5867

5968
FavoritesList::FavoritesList(QWidget *parent)

favoriteswindow.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#ifndef FAVORITESWINDOW_H
22
#define FAVORITESWINDOW_H
33

4+
#include <QAbstractButton>
45
#include <QListWidget>
56
#include <QStyledItemDelegate>
67
#include <QWidget>
@@ -24,13 +25,16 @@ class FavoritesWindow : public QWidget
2425

2526
signals:
2627
void favoriteTracks(QList<TrackInfo> files, QList<TrackInfo> streams);
28+
void favoriteTracksCancel();
2729

2830
public slots:
2931
void setFiles(const QList<TrackInfo> &tracks);
3032
void setStreams(const QList<TrackInfo> &tracks);
3133
void addTrack(const TrackInfo &track);
3234
void updateFavoriteTracks();
3335

36+
void on_buttonBox_clicked(QAbstractButton *button);
37+
3438
private slots:
3539
void on_remove_clicked();
3640

favoriteswindow.ui

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@
5454
</spacer>
5555
</item>
5656
<item row="1" column="2">
57-
<widget class="QPushButton" name="update">
58-
<property name="text">
59-
<string>&amp;Update</string>
57+
<widget class="QDialogButtonBox" name="buttonBox">
58+
<property name="standardButtons">
59+
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
6060
</property>
6161
</widget>
6262
</item>

main.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -829,6 +829,8 @@ void Flow::setupFlowConnections()
829829
// favorites -> this.favorite*
830830
connect(favoritesWindow, &FavoritesWindow::favoriteTracks,
831831
this, &Flow::favoriteswindow_favoriteTracks);
832+
connect(favoritesWindow, &FavoritesWindow::favoriteTracksCancel,
833+
this, &Flow::favoriteswindow_favoriteTracksCancel);
832834

833835
// this.screensaver -> this
834836
connect(screenSaver, &ScreenSaver::systemShutdown,
@@ -1430,6 +1432,13 @@ void Flow::favoriteswindow_favoriteTracks(const QList<TrackInfo> &files, const Q
14301432
favoriteStreams = streams;
14311433
}
14321434

1435+
void Flow::favoriteswindow_favoriteTracksCancel()
1436+
{
1437+
// Reset the favoritesWindow files and stream to previous ones
1438+
favoritesWindow->setFiles(favoriteFiles);
1439+
favoritesWindow->setStreams(favoriteStreams);
1440+
}
1441+
14331442
// Update the position of the current file
14341443
void Flow::updateRecentPosition(bool resetPosition)
14351444
{

main.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ private slots:
9494
void settingswindow_encodeTemplate(const QString &fmt);
9595
void settingswindow_screenshotFormat(const QString &fmt);
9696
void favoriteswindow_favoriteTracks(const QList<TrackInfo> &files, const QList<TrackInfo> &streams);
97+
void favoriteswindow_favoriteTracksCancel();
9798

9899
void endProgram();
99100
void importPlaylist(QString fname);

0 commit comments

Comments
 (0)