Apply override to ResourceUpdateDialog::appendResource
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
This commit is contained in:
@@ -22,6 +22,8 @@
|
|||||||
#include "modplatform/flame/FlameCheckUpdate.h"
|
#include "modplatform/flame/FlameCheckUpdate.h"
|
||||||
#include "modplatform/modrinth/ModrinthCheckUpdate.h"
|
#include "modplatform/modrinth/ModrinthCheckUpdate.h"
|
||||||
|
|
||||||
|
#include <QClipboard>
|
||||||
|
#include <QShortcut>
|
||||||
#include <QTextBrowser>
|
#include <QTextBrowser>
|
||||||
#include <QTreeWidgetItem>
|
#include <QTreeWidgetItem>
|
||||||
|
|
||||||
@@ -437,17 +439,22 @@ void ResourceUpdateDialog::appendResource(CheckUpdateTask::Update const& info, Q
|
|||||||
item_top->setExpanded(true);
|
item_top->setExpanded(true);
|
||||||
|
|
||||||
auto provider_item = new QTreeWidgetItem(item_top);
|
auto provider_item = new QTreeWidgetItem(item_top);
|
||||||
provider_item->setText(0, tr("Provider: %1").arg(ModPlatform::ProviderCapabilities::readableName(info.provider)));
|
QString provider_name = ModPlatform::ProviderCapabilities::readableName(info.provider);
|
||||||
|
provider_item->setText(0, tr("Provider: %1").arg(provider_name));
|
||||||
|
provider_item->setData(0, Qt::UserRole, provider_name);
|
||||||
|
|
||||||
auto old_version_item = new QTreeWidgetItem(item_top);
|
auto old_version_item = new QTreeWidgetItem(item_top);
|
||||||
old_version_item->setText(0, tr("Old version: %1").arg(info.old_version));
|
old_version_item->setText(0, tr("Old version: %1").arg(info.old_version));
|
||||||
|
old_version_item->setData(0, Qt::UserRole, info.old_version);
|
||||||
|
|
||||||
auto new_version_item = new QTreeWidgetItem(item_top);
|
auto new_version_item = new QTreeWidgetItem(item_top);
|
||||||
new_version_item->setText(0, tr("New version: %1").arg(info.new_version));
|
new_version_item->setText(0, tr("New version: %1").arg(info.new_version));
|
||||||
|
new_version_item->setData(0, Qt::UserRole, info.new_version);
|
||||||
|
|
||||||
if (info.new_version_type.has_value()) {
|
if (info.new_version_type.has_value()) {
|
||||||
auto new_version_type_itme = new QTreeWidgetItem(item_top);
|
auto new_version_type_item = new QTreeWidgetItem(item_top);
|
||||||
new_version_type_itme->setText(0, tr("New Version Type: %1").arg(info.new_version_type.value().toString()));
|
new_version_type_item->setText(0, tr("New Version Type: %1").arg(info.new_version_type.value().toString()));
|
||||||
|
new_version_type_item->setData(0, Qt::UserRole, info.new_version_type.value().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!requiredBy.isEmpty()) {
|
if (!requiredBy.isEmpty()) {
|
||||||
@@ -487,6 +494,26 @@ void ResourceUpdateDialog::appendResource(CheckUpdateTask::Update const& info, Q
|
|||||||
ui->modTreeWidget->setItemWidget(changelog, 0, changelog_area);
|
ui->modTreeWidget->setItemWidget(changelog, 0, changelog_area);
|
||||||
|
|
||||||
ui->modTreeWidget->addTopLevelItem(item_top);
|
ui->modTreeWidget->addTopLevelItem(item_top);
|
||||||
|
|
||||||
|
// Overwrite Ctrl+C functionality to exclude the label when copying text from tree
|
||||||
|
auto shortcut = new QShortcut(QKeySequence::Copy, ui->modTreeWidget);
|
||||||
|
connect(shortcut, &QShortcut::activated, [this]() {
|
||||||
|
auto currentItem = this->ui->modTreeWidget->currentItem();
|
||||||
|
if (!currentItem)
|
||||||
|
return;
|
||||||
|
auto currentColumn = this->ui->modTreeWidget->currentColumn();
|
||||||
|
|
||||||
|
auto data = currentItem->data(currentColumn, Qt::UserRole);
|
||||||
|
QString txt;
|
||||||
|
|
||||||
|
if (data.isValid()) {
|
||||||
|
txt = data.toString();
|
||||||
|
} else {
|
||||||
|
txt = currentItem->text(currentColumn);
|
||||||
|
}
|
||||||
|
|
||||||
|
QApplication::clipboard()->setText(txt);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
auto ResourceUpdateDialog::getTasks() -> const QList<ResourceDownloadTask::Ptr>
|
auto ResourceUpdateDialog::getTasks() -> const QList<ResourceDownloadTask::Ptr>
|
||||||
|
|||||||
Reference in New Issue
Block a user