Make F2 edit the first playlist column again after the cursor has been moved. Fixes issue #939
This commit is contained in:
parent
96a45bb0ca
commit
59875c9708
@ -164,6 +164,7 @@ void PlaylistContainer::SetViewModel(Playlist* playlist) {
|
|||||||
|
|
||||||
connect(view()->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
|
connect(view()->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
|
||||||
this, SLOT(SelectionChanged()));
|
this, SLOT(SelectionChanged()));
|
||||||
|
emit ViewSelectionModelChanged();
|
||||||
|
|
||||||
// Update filter
|
// Update filter
|
||||||
filter_->setText(playlist->proxy()->filterRegExp().pattern());
|
filter_->setText(playlist->proxy()->filterRegExp().pattern());
|
||||||
|
@ -52,6 +52,7 @@ signals:
|
|||||||
void Remove(int id);
|
void Remove(int id);
|
||||||
|
|
||||||
void UndoRedoActionsChanged(QAction* undo, QAction* redo);
|
void UndoRedoActionsChanged(QAction* undo, QAction* redo);
|
||||||
|
void ViewSelectionModelChanged();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// QWidget
|
// QWidget
|
||||||
|
@ -217,6 +217,7 @@ MainWindow::MainWindow(Engine::Type engine, QWidget *parent)
|
|||||||
library_sort_model_->setDynamicSortFilter(true);
|
library_sort_model_->setDynamicSortFilter(true);
|
||||||
library_sort_model_->sort(0);
|
library_sort_model_->sort(0);
|
||||||
|
|
||||||
|
connect(ui_->playlist, SIGNAL(ViewSelectionModelChanged()), SLOT(PlaylistViewSelectionModelChanged()));
|
||||||
ui_->playlist->SetManager(playlists_);
|
ui_->playlist->SetManager(playlists_);
|
||||||
|
|
||||||
library_view_->view()->setModel(library_sort_model_);
|
library_view_->view()->setModel(library_sort_model_);
|
||||||
@ -1665,3 +1666,19 @@ void MainWindow::ConnectInfoView(SongInfoBase* view) {
|
|||||||
void MainWindow::ShowSongInfoConfig() {
|
void MainWindow::ShowSongInfoConfig() {
|
||||||
OpenSettingsDialogAtPage(SettingsDialog::Page_SongInformation);
|
OpenSettingsDialogAtPage(SettingsDialog::Page_SongInformation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::PlaylistViewSelectionModelChanged() {
|
||||||
|
connect(ui_->playlist->view()->selectionModel(),
|
||||||
|
SIGNAL(currentChanged(QModelIndex,QModelIndex)),
|
||||||
|
SLOT(PlaylistCurrentChanged(QModelIndex)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::PlaylistCurrentChanged(const QModelIndex& proxy_current) {
|
||||||
|
const QModelIndex source_current =
|
||||||
|
playlists_->current()->proxy()->mapToSource(proxy_current);
|
||||||
|
|
||||||
|
// If the user moves the current index using the keyboard and then presses
|
||||||
|
// F2, we don't want that editing the last column that was right clicked on.
|
||||||
|
if (source_current != playlist_menu_index_)
|
||||||
|
playlist_menu_index_ = QModelIndex();
|
||||||
|
}
|
||||||
|
@ -109,6 +109,8 @@ class MainWindow : public QMainWindow, public PlatformInterface {
|
|||||||
void ForceShowOSD(const Song& song);
|
void ForceShowOSD(const Song& song);
|
||||||
|
|
||||||
void PlaylistRightClick(const QPoint& global_pos, const QModelIndex& index);
|
void PlaylistRightClick(const QPoint& global_pos, const QModelIndex& index);
|
||||||
|
void PlaylistCurrentChanged(const QModelIndex& current);
|
||||||
|
void PlaylistViewSelectionModelChanged();
|
||||||
void PlaylistPlay();
|
void PlaylistPlay();
|
||||||
void PlaylistStopAfter();
|
void PlaylistStopAfter();
|
||||||
void PlaylistQueue();
|
void PlaylistQueue();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user