MCPcopy Create free account
hub / github.com/baldurk/renderdoc / ExtensionManager

Method ExtensionManager

qrenderdoc/Windows/Dialogs/ExtensionManager.cpp:38–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36Q_DECLARE_METATYPE(ExtensionMetadata);
37
38ExtensionManager::ExtensionManager(ICaptureContext &ctx)
39 : QDialog(NULL), ui(new Ui::ExtensionManager), m_Ctx(ctx)
40{
41 ui->setupUi(this);
42 setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
43
44 {
45 RDHeaderView *header = new RDHeaderView(Qt::Horizontal, this);
46 ui->extensions->setHeader(header);
47
48 ui->extensions->setColumns({tr("Package"), tr("Name"), tr("Loaded")});
49 header->setColumnStretchHints({1, 4, -1});
50 }
51
52 ui->name->setText(lit("---"));
53 ui->version->setText(lit("---"));
54 ui->author->setText(lit("---"));
55 ui->URL->setText(lit("---"));
56 ui->reload->setEnabled(false);
57 ui->alwaysLoad->setEnabled(false);
58
59 QObject::connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
60
61 QString extensionFolder = ConfigFilePath("extensions");
62
63 m_Extensions = m_Ctx.Extensions().GetInstalledExtensions();
64
65 if(m_Extensions.isEmpty())
66 {
67 QString contrib_url = lit("https://github.com/baldurk/renderdoc-contrib");
68 ui->extensions->addTopLevelItem(
69 new RDTreeWidgetItem({QString(), tr("No extensions found available"), QString()}));
70 ui->extensions->addTopLevelItem(new RDTreeWidgetItem(
71 {QString(), tr("Create packages in %1").arg(extensionFolder), QString()}));
72 ui->extensions->addTopLevelItem(new RDTreeWidgetItem(
73 {QString(), tr("Browse extensions at %1").arg(contrib_url), QString()}));
74 ui->URL->setText(lit("<a href=\"%1\">%1</a>").arg(contrib_url));
75 }
76 else
77 {
78 for(const ExtensionMetadata &e : m_Extensions)
79 {
80 RDTreeWidgetItem *item = new RDTreeWidgetItem({e.package, e.name, QString()});
81
82 item->setCheckState(
83 2, m_Ctx.Extensions().IsExtensionLoaded(e.package) ? Qt::Checked : Qt::Unchecked);
84
85 ui->extensions->addTopLevelItem(item);
86 }
87
88 ui->extensions->setCurrentItem(ui->extensions->topLevelItem(0));
89 }
90}
91
92ExtensionManager::~ExtensionManager()
93{

Callers

nothing calls this directly

Calls 15

connectFunction · 0.85
setColumnStretchHintsMethod · 0.80
addTopLevelItemMethod · 0.80
setCurrentItemMethod · 0.80
topLevelItemMethod · 0.80
trFunction · 0.50
ConfigFilePathFunction · 0.50
QStringFunction · 0.50
setColumnsMethod · 0.45
setTextMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected