mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
open replays on double-click in replays tab (#5323)
This commit is contained in:
parent
2b9d7538bf
commit
4c3ceae0e4
4 changed files with 26 additions and 1 deletions
|
|
@ -131,6 +131,13 @@ void TabReplays::retranslateUi()
|
||||||
aDeleteRemoteReplay->setText(tr("Delete"));
|
aDeleteRemoteReplay->setText(tr("Delete"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TabReplays::actLocalDoubleClick(const QModelIndex &curLeft)
|
||||||
|
{
|
||||||
|
if (!localDirModel->isDir(curLeft)) {
|
||||||
|
actOpenLocalReplay();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void TabReplays::actOpenLocalReplay()
|
void TabReplays::actOpenLocalReplay()
|
||||||
{
|
{
|
||||||
QModelIndexList curLefts = localDirView->selectionModel()->selectedRows();
|
QModelIndexList curLefts = localDirView->selectionModel()->selectedRows();
|
||||||
|
|
@ -192,6 +199,13 @@ void TabReplays::actDeleteLocalReplay()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TabReplays::actRemoteDoubleClick(const QModelIndex &curRight)
|
||||||
|
{
|
||||||
|
if (serverDirView->getReplay(curRight)) {
|
||||||
|
actOpenRemoteReplay();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void TabReplays::actOpenRemoteReplay()
|
void TabReplays::actOpenRemoteReplay()
|
||||||
{
|
{
|
||||||
auto const curRights = serverDirView->getSelectedReplays();
|
auto const curRights = serverDirView->getSelectedReplays();
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,12 @@ private:
|
||||||
QAction *aOpenLocalReplay, *aNewLocalFolder, *aDeleteLocalReplay;
|
QAction *aOpenLocalReplay, *aNewLocalFolder, *aDeleteLocalReplay;
|
||||||
QAction *aOpenRemoteReplay, *aDownload, *aKeep, *aDeleteRemoteReplay;
|
QAction *aOpenRemoteReplay, *aDownload, *aKeep, *aDeleteRemoteReplay;
|
||||||
private slots:
|
private slots:
|
||||||
|
void actLocalDoubleClick(const QModelIndex &curLeft);
|
||||||
void actOpenLocalReplay();
|
void actOpenLocalReplay();
|
||||||
void actNewLocalFolder();
|
void actNewLocalFolder();
|
||||||
void actDeleteLocalReplay();
|
void actDeleteLocalReplay();
|
||||||
|
|
||||||
|
void actRemoteDoubleClick(const QModelIndex &curLeft);
|
||||||
void actOpenRemoteReplay();
|
void actOpenRemoteReplay();
|
||||||
void openRemoteReplayFinished(const Response &r);
|
void openRemoteReplayFinished(const Response &r);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -309,6 +309,15 @@ RemoteReplayList_TreeWidget::RemoteReplayList_TreeWidget(AbstractClient *_client
|
||||||
setSelectionMode(QAbstractItemView::ExtendedSelection);
|
setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the replay at the given index
|
||||||
|
* @return The replay. Returns nullptr if there is no replay at the index.
|
||||||
|
*/
|
||||||
|
ServerInfo_Replay const *RemoteReplayList_TreeWidget::getReplay(const QModelIndex &ind) const
|
||||||
|
{
|
||||||
|
return treeModel->getReplay(proxyModel->mapToSource(ind));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets all currently selected replays.
|
* Gets all currently selected replays.
|
||||||
* Any selection that isn't a replay file (e.g. a folder) will appear as a nullptr in the list.
|
* Any selection that isn't a replay file (e.g. a folder) will appear as a nullptr in the list.
|
||||||
|
|
|
||||||
|
|
@ -107,10 +107,10 @@ class RemoteReplayList_TreeWidget : public QTreeView
|
||||||
private:
|
private:
|
||||||
RemoteReplayList_TreeModel *treeModel;
|
RemoteReplayList_TreeModel *treeModel;
|
||||||
QSortFilterProxyModel *proxyModel;
|
QSortFilterProxyModel *proxyModel;
|
||||||
ServerInfo_Replay const *getNode(const QModelIndex &ind) const;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RemoteReplayList_TreeWidget(AbstractClient *_client, QWidget *parent = nullptr);
|
RemoteReplayList_TreeWidget(AbstractClient *_client, QWidget *parent = nullptr);
|
||||||
|
ServerInfo_Replay const *getReplay(const QModelIndex &ind) const;
|
||||||
QList<ServerInfo_Replay const *> getSelectedReplays() const;
|
QList<ServerInfo_Replay const *> getSelectedReplays() const;
|
||||||
QSet<ServerInfo_ReplayMatch const *> getSelectedReplayMatches() const;
|
QSet<ServerInfo_ReplayMatch const *> getSelectedReplayMatches() const;
|
||||||
void refreshTree();
|
void refreshTree();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue