3
0

UpgradeHelper.cpp 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <QDateTime>
  9. #include <QDir>
  10. #include <QMessageBox>
  11. #include <QProcess>
  12. #include <QScrollBar>
  13. #include <QToolButton>
  14. #include <AzCore/Component/ComponentApplicationBus.h>
  15. #include <AzCore/Component/TickBus.h>
  16. #include <AzCore/IO/SystemFile.h>
  17. #include <AzCore/UserSettings/UserSettingsProvider.h>
  18. #include <AzFramework/Asset/AssetSystemBus.h>
  19. #include <AzFramework/IO/FileOperations.h>
  20. #include <AzQtComponents/Components/Widgets/CheckBox.h>
  21. #include <AzQtComponents/Utilities/DesktopUtilities.h>
  22. #include <AzToolsFramework/API/EditorAssetSystemAPI.h>
  23. #include <AzToolsFramework/API/ToolsApplicationAPI.h>
  24. #include <AzToolsFramework/SourceControl/SourceControlAPI.h>
  25. #include <Editor/Settings.h>
  26. #include <Editor/View/Windows/Tools/UpgradeTool/ModelTraits.h>
  27. #include <Editor/View/Windows/Tools/UpgradeTool/UpgradeHelper.h>
  28. #include <Editor/View/Windows/Tools/UpgradeTool/UpgradeHelper.h>
  29. #include <Editor/View/Windows/Tools/UpgradeTool/ui_UpgradeHelper.h>
  30. #include <ScriptCanvas/Bus/EditorScriptCanvasBus.h>
  31. #include <ScriptCanvas/Components/EditorGraph.h>
  32. namespace ScriptCanvasEditor
  33. {
  34. UpgradeHelper::UpgradeHelper(QWidget* parent /*= nullptr*/)
  35. : AzQtComponents::StyledDialog(parent)
  36. , m_ui(new Ui::UpgradeHelper())
  37. {
  38. m_ui->setupUi(this);
  39. resize(700, 100);
  40. m_ui->tableWidget->horizontalHeader()->setVisible(false);
  41. m_ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
  42. int rows = 0;
  43. const VersionExplorer::ModificationResults* result = nullptr;
  44. VersionExplorer::ModelRequestsBus::BroadcastResult(result, &VersionExplorer::ModelRequestsTraits::GetResults);
  45. if (result && !result->m_failures.empty())
  46. {
  47. for (auto& failedUpdate : result->m_failures)
  48. {
  49. auto asset = failedUpdate.asset;
  50. m_ui->tableWidget->insertRow(rows);
  51. connect(m_ui->closeButton, &QPushButton::pressed, this, &QDialog::accept);
  52. connect(m_ui->tableWidget, &QTableWidget::itemDoubleClicked, this, [this, rows, asset](QTableWidgetItem* item)
  53. {
  54. if (item && item->data(Qt::UserRole).toInt() == rows)
  55. {
  56. OpenGraph(asset);
  57. }
  58. }
  59. );
  60. auto openGraph = [this, asset] {
  61. OpenGraph(asset);
  62. };
  63. QTableWidgetItem* rowName = new QTableWidgetItem(tr(asset.RelativePath().c_str()));
  64. rowName->setData(Qt::UserRole, rows);
  65. m_ui->tableWidget->setItem(rows, 0, rowName);
  66. QToolButton* rowGoToButton = new QToolButton(this);
  67. rowGoToButton->setIcon(QIcon(":/stylesheet/img/UI20/open-in-internal-app.svg"));
  68. rowGoToButton->setToolTip("Open Graph");
  69. connect(rowGoToButton, &QToolButton::clicked, openGraph);
  70. m_ui->tableWidget->setCellWidget(rows, 1, rowGoToButton);
  71. ++rows;
  72. }
  73. }
  74. }
  75. void UpgradeHelper::OpenGraph(const SourceHandle& asset)
  76. {
  77. // Open the graph in SC editor
  78. AzToolsFramework::OpenViewPane(/*LyViewPane::ScriptCanvas*/"Script Canvas");
  79. AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
  80. if (!asset.RelativePath().empty())
  81. {
  82. GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAsset, asset, Tracker::ScriptCanvasFileState::UNMODIFIED, -1);
  83. }
  84. if (!openOutcome)
  85. {
  86. AZ_Warning("Script Canvas", openOutcome, "%s", openOutcome.GetError().data());
  87. }
  88. }
  89. UpgradeHelper::~UpgradeHelper()
  90. {
  91. }
  92. #include <Editor/View/Windows/Tools/UpgradeTool/moc_UpgradeHelper.cpp>
  93. }