parent
66115951f4
commit
a82e4c5b9a
@ -114,6 +114,7 @@ MainWindow::MainWindow(QNetworkAccessManager* network, QWidget *parent)
|
|||||||
connect(ui_.action_love, SIGNAL(triggered()), SLOT(Love()));
|
connect(ui_.action_love, SIGNAL(triggered()), SLOT(Love()));
|
||||||
connect(ui_.action_clear_playlist, SIGNAL(triggered()), playlist_, SLOT(Clear()));
|
connect(ui_.action_clear_playlist, SIGNAL(triggered()), playlist_, SLOT(Clear()));
|
||||||
connect(ui_.action_edit_track, SIGNAL(triggered()), SLOT(EditTracks()));
|
connect(ui_.action_edit_track, SIGNAL(triggered()), SLOT(EditTracks()));
|
||||||
|
connect(ui_.action_renumber_tracks, SIGNAL(triggered()), SLOT(RenumberTracks()));
|
||||||
connect(ui_.action_configure, SIGNAL(triggered()), settings_dialog_, SLOT(show()));
|
connect(ui_.action_configure, SIGNAL(triggered()), settings_dialog_, SLOT(show()));
|
||||||
connect(ui_.action_about, SIGNAL(triggered()), about_dialog_, SLOT(show()));
|
connect(ui_.action_about, SIGNAL(triggered()), about_dialog_, SLOT(show()));
|
||||||
connect(ui_.action_shuffle, SIGNAL(triggered()), playlist_, SLOT(Shuffle()));
|
connect(ui_.action_shuffle, SIGNAL(triggered()), playlist_, SLOT(Shuffle()));
|
||||||
@ -220,6 +221,7 @@ MainWindow::MainWindow(QNetworkAccessManager* network, QWidget *parent)
|
|||||||
playlist_menu_->addAction(ui_.action_stop);
|
playlist_menu_->addAction(ui_.action_stop);
|
||||||
playlist_stop_after_ = playlist_menu_->addAction(QIcon(":media-playback-stop.png"), tr("Stop after this track"), this, SLOT(PlaylistStopAfter()));
|
playlist_stop_after_ = playlist_menu_->addAction(QIcon(":media-playback-stop.png"), tr("Stop after this track"), this, SLOT(PlaylistStopAfter()));
|
||||||
playlist_menu_->addAction(ui_.action_edit_track);
|
playlist_menu_->addAction(ui_.action_edit_track);
|
||||||
|
playlist_menu_->addAction(ui_.action_renumber_tracks);
|
||||||
playlist_menu_->addSeparator();
|
playlist_menu_->addSeparator();
|
||||||
playlist_menu_->addAction(ui_.action_clear_playlist);
|
playlist_menu_->addAction(ui_.action_clear_playlist);
|
||||||
playlist_menu_->addAction(ui_.action_shuffle);
|
playlist_menu_->addAction(ui_.action_shuffle);
|
||||||
@ -561,6 +563,7 @@ void MainWindow::PlaylistRightClick(const QPoint& global_pos, const QModelIndex&
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
ui_.action_edit_track->setEnabled(editable);
|
ui_.action_edit_track->setEnabled(editable);
|
||||||
|
ui_.action_renumber_tracks->setEnabled(editable);
|
||||||
|
|
||||||
playlist_menu_->popup(global_pos);
|
playlist_menu_->popup(global_pos);
|
||||||
}
|
}
|
||||||
@ -600,6 +603,33 @@ void MainWindow::EditTracks() {
|
|||||||
playlist_->ReloadItems(rows);
|
playlist_->ReloadItems(rows);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::RenumberTracks() {
|
||||||
|
QModelIndexList indexes=ui_.playlist->selectionModel()->selection().indexes();
|
||||||
|
int track=1;
|
||||||
|
|
||||||
|
// if first selected song has a track number set, start from that offset
|
||||||
|
if (indexes.size()) {
|
||||||
|
Song first_song=playlist_->item_at(indexes[0].row())->Metadata();
|
||||||
|
if (int first_track = first_song.track())
|
||||||
|
track = first_track;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (const QModelIndex& index, indexes) {
|
||||||
|
if (index.column() != 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
int row = index.row();
|
||||||
|
Song song = playlist_->item_at(row)->Metadata();
|
||||||
|
|
||||||
|
if (song.IsEditable()) {
|
||||||
|
song.set_track(track);
|
||||||
|
song.Save();
|
||||||
|
playlist_->item_at(row)->Reload();
|
||||||
|
}
|
||||||
|
track++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::LibraryScanStarted() {
|
void MainWindow::LibraryScanStarted() {
|
||||||
multi_loading_indicator_->TaskStarted(MultiLoadingIndicator::UpdatingLibrary);
|
multi_loading_indicator_->TaskStarted(MultiLoadingIndicator::UpdatingLibrary);
|
||||||
}
|
}
|
||||||
|
@ -56,6 +56,7 @@ class MainWindow : public QMainWindow {
|
|||||||
void PlaylistPlay();
|
void PlaylistPlay();
|
||||||
void PlaylistStopAfter();
|
void PlaylistStopAfter();
|
||||||
void EditTracks();
|
void EditTracks();
|
||||||
|
void RenumberTracks();
|
||||||
|
|
||||||
void PlayIndex(const QModelIndex& index);
|
void PlayIndex(const QModelIndex& index);
|
||||||
void StopAfterCurrent();
|
void StopAfterCurrent();
|
||||||
|
@ -655,6 +655,15 @@
|
|||||||
<string>Edit track information...</string>
|
<string>Edit track information...</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="action_renumber_tracks">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../data/data.qrc">
|
||||||
|
<normaloff>:/edit-track.png</normaloff>:/edit-track.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Renumber tracks in this order...</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
<action name="action_configure">
|
<action name="action_configure">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../data/data.qrc">
|
<iconset resource="../data/data.qrc">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user