mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-10-26 09:30:30 -05:00
[Report] Prompt for a note on Resolve and drop the redundant option (#7445)
- Remove the third close option (Resolve with note...) so closing a report is one of two clear actions - Make Resolve always prompt for the optional resolution note, matching Dismiss, and rename the button to Resolve... - Halve the resolveReport signature now that every caller prompts Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
@@ -238,15 +238,13 @@ TabReport::TabReport(TabSupervisor *_tabSupervisor, AbstractClient *_client) : T
|
||||
|
||||
assignButton = new QPushButton;
|
||||
resolveButton = new QPushButton;
|
||||
resolveWithNoteButton = new QPushButton;
|
||||
dismissButton = new QPushButton;
|
||||
reopenButton = new QPushButton;
|
||||
viewReplayButton = new QPushButton;
|
||||
joinGameButton = new QPushButton;
|
||||
connect(assignButton, &QPushButton::clicked, this, &TabReport::assignReport);
|
||||
connect(resolveButton, &QPushButton::clicked, this, [this]() { resolveReport(false, false); });
|
||||
connect(resolveWithNoteButton, &QPushButton::clicked, this, [this]() { resolveReport(false, true); });
|
||||
connect(dismissButton, &QPushButton::clicked, this, [this]() { resolveReport(true, true); });
|
||||
connect(resolveButton, &QPushButton::clicked, this, [this]() { resolveReport(false); });
|
||||
connect(dismissButton, &QPushButton::clicked, this, [this]() { resolveReport(true); });
|
||||
connect(reopenButton, &QPushButton::clicked, this, &TabReport::reopenReport);
|
||||
connect(viewReplayButton, &QPushButton::clicked, this, &TabReport::viewReplay);
|
||||
connect(joinGameButton, &QPushButton::clicked, this, &TabReport::joinGame);
|
||||
@@ -256,7 +254,6 @@ TabReport::TabReport(TabSupervisor *_tabSupervisor, AbstractClient *_client) : T
|
||||
auto *actionBar = new QHBoxLayout;
|
||||
actionBar->addWidget(assignButton);
|
||||
actionBar->addWidget(resolveButton);
|
||||
actionBar->addWidget(resolveWithNoteButton);
|
||||
actionBar->addWidget(dismissButton);
|
||||
actionBar->addWidget(reopenButton);
|
||||
actionBar->addSpacing(20);
|
||||
@@ -323,8 +320,7 @@ void TabReport::retranslateUi()
|
||||
statsGroup->setTitle(tr("Report Statistics"));
|
||||
|
||||
assignButton->setText(tr("Assign to Me"));
|
||||
resolveButton->setText(tr("Resolve"));
|
||||
resolveWithNoteButton->setText(tr("Resolve with note..."));
|
||||
resolveButton->setText(tr("Resolve..."));
|
||||
dismissButton->setText(tr("Dismiss..."));
|
||||
reopenButton->setText(tr("Reopen..."));
|
||||
reopenButton->setToolTip(tr("Available for resolved or dismissed reports."));
|
||||
@@ -626,7 +622,6 @@ void TabReport::updateActionStates()
|
||||
const QString status = QString::fromStdString(report.status());
|
||||
assignButton->setEnabled(status == "open");
|
||||
resolveButton->setEnabled(status == "open" || status == "assigned");
|
||||
resolveWithNoteButton->setEnabled(status == "open" || status == "assigned");
|
||||
dismissButton->setEnabled(status == "open" || status == "assigned");
|
||||
reopenButton->setEnabled(status == "resolved" || status == "dismissed");
|
||||
|
||||
@@ -640,7 +635,6 @@ void TabReport::setActionsEnabled(bool enabled)
|
||||
{
|
||||
assignButton->setEnabled(enabled);
|
||||
resolveButton->setEnabled(enabled);
|
||||
resolveWithNoteButton->setEnabled(enabled);
|
||||
dismissButton->setEnabled(enabled);
|
||||
reopenButton->setEnabled(enabled);
|
||||
viewReplayButton->setEnabled(false);
|
||||
@@ -704,22 +698,19 @@ void TabReport::assignResponse(const Response &response)
|
||||
}
|
||||
}
|
||||
|
||||
void TabReport::resolveReport(bool dismissed, bool promptNote)
|
||||
void TabReport::resolveReport(bool dismissed)
|
||||
{
|
||||
const int reportId = selectedReportId();
|
||||
if (reportId < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
QString note;
|
||||
if (promptNote) {
|
||||
bool ok;
|
||||
note = QInputDialog::getText(this, dismissed ? tr("Dismiss Report") : tr("Resolve Report"),
|
||||
dismissed ? tr("Optional note:") : tr("Resolution note (optional):"),
|
||||
QLineEdit::Normal, QString(), &ok);
|
||||
if (!ok) {
|
||||
return;
|
||||
}
|
||||
bool ok;
|
||||
QString note = QInputDialog::getText(this, dismissed ? tr("Dismiss Report") : tr("Resolve Report"),
|
||||
dismissed ? tr("Optional note:") : tr("Resolution note (optional):"),
|
||||
QLineEdit::Normal, QString(), &ok);
|
||||
if (!ok) {
|
||||
return;
|
||||
}
|
||||
|
||||
setActionsEnabled(false);
|
||||
|
||||
@@ -46,7 +46,7 @@ private slots:
|
||||
void reportListResponse(const Response &response);
|
||||
void assignReport();
|
||||
void assignResponse(const Response &response);
|
||||
void resolveReport(bool dismissed, bool promptNote);
|
||||
void resolveReport(bool dismissed);
|
||||
void resolveResponse(const Response &response);
|
||||
void onSelectionChanged();
|
||||
void showTableContextMenu(const QPoint &pos);
|
||||
@@ -91,7 +91,6 @@ private:
|
||||
QPushButton *commentButton;
|
||||
QPushButton *assignButton;
|
||||
QPushButton *resolveButton;
|
||||
QPushButton *resolveWithNoteButton;
|
||||
QPushButton *dismissButton;
|
||||
QPushButton *reopenButton;
|
||||
QPushButton *viewReplayButton;
|
||||
|
||||
Reference in New Issue
Block a user