From 97afa2fcdcf7c99763db4eb2d8dabadd47a06e7f Mon Sep 17 00:00:00 2001 From: RickyRister Date: Fri, 27 Dec 2024 18:36:43 -0800 Subject: [PATCH] create button --- cockatrice/src/client/tabs/tab_replays.cpp | 13 +++++++++++++ cockatrice/src/client/tabs/tab_replays.h | 3 +++ 2 files changed, 16 insertions(+) diff --git a/cockatrice/src/client/tabs/tab_replays.cpp b/cockatrice/src/client/tabs/tab_replays.cpp index 5756595c8..de31846cd 100644 --- a/cockatrice/src/client/tabs/tab_replays.cpp +++ b/cockatrice/src/client/tabs/tab_replays.cpp @@ -15,6 +15,7 @@ #include #include +#include #include #include #include @@ -88,6 +89,10 @@ TabReplays::TabReplays(TabSupervisor *_tabSupervisor, AbstractClient *_client) : aDeleteLocalReplay->setIcon(QPixmap("theme:icons/remove_row")); connect(aDeleteLocalReplay, SIGNAL(triggered()), this, SLOT(actDeleteLocalReplay())); + aOpenReplaysFolder = new QAction(this); + aOpenReplaysFolder->setIcon(qApp->style()->standardIcon(QStyle::SP_DirOpenIcon)); + connect(aOpenReplaysFolder, &QAction::triggered, this, &TabReplays::actOpenReplaysFolder); + aOpenRemoteReplay = new QAction(this); aOpenRemoteReplay->setIcon(QPixmap("theme:icons/view")); connect(aOpenRemoteReplay, SIGNAL(triggered()), this, SLOT(actOpenRemoteReplay())); @@ -106,6 +111,7 @@ TabReplays::TabReplays(TabSupervisor *_tabSupervisor, AbstractClient *_client) : leftToolBar->addAction(aRenameLocal); leftToolBar->addAction(aNewLocalFolder); leftToolBar->addAction(aDeleteLocalReplay); + leftToolBar->addAction(aOpenReplaysFolder); rightToolBar->addAction(aOpenRemoteReplay); rightToolBar->addAction(aDownload); rightToolBar->addAction(aKeep); @@ -129,6 +135,7 @@ void TabReplays::retranslateUi() aOpenLocalReplay->setText(tr("Watch replay")); aNewLocalFolder->setText(tr("New folder")); aDeleteLocalReplay->setText(tr("Delete")); + aOpenReplaysFolder->setText(tr("Open replays folder")); aOpenRemoteReplay->setText(tr("Watch replay")); aDownload->setText(tr("Download replay")); aKeep->setText(tr("Toggle expiration lock")); @@ -233,6 +240,12 @@ void TabReplays::actDeleteLocalReplay() } } +void TabReplays::actOpenReplaysFolder() +{ + QString dir = localDirModel->rootPath(); + QDesktopServices::openUrl(QUrl::fromLocalFile(dir)); +} + void TabReplays::actRemoteDoubleClick(const QModelIndex &curRight) { if (serverDirView->getReplay(curRight)) { diff --git a/cockatrice/src/client/tabs/tab_replays.h b/cockatrice/src/client/tabs/tab_replays.h index 565ec8604..15f92a6ab 100644 --- a/cockatrice/src/client/tabs/tab_replays.h +++ b/cockatrice/src/client/tabs/tab_replays.h @@ -26,6 +26,7 @@ private: QGroupBox *leftGroupBox, *rightGroupBox; QAction *aOpenLocalReplay, *aRenameLocal, *aNewLocalFolder, *aDeleteLocalReplay; + QAction *aOpenReplaysFolder; QAction *aOpenRemoteReplay, *aDownload, *aKeep, *aDeleteRemoteReplay; void downloadNodeAtIndex(const QModelIndex &curLeft, const QModelIndex &curRight); @@ -37,6 +38,8 @@ private slots: void actNewLocalFolder(); void actDeleteLocalReplay(); + void actOpenReplaysFolder(); + void actRemoteDoubleClick(const QModelIndex &curLeft); void actOpenRemoteReplay(); void openRemoteReplayFinished(const Response &r);