| 41 | } |
| 42 | |
| 43 | ResourceBrowserWidget::ResourceBrowserWidget(QWidget *parent) |
| 44 | : QWidget(parent) |
| 45 | , ui(new Ui::ResourceBrowserWidget) |
| 46 | , m_stateManager(this) |
| 47 | , m_interface(nullptr) |
| 48 | { |
| 49 | ObjectBroker::registerClientObjectFactoryCallback<ResourceBrowserInterface *>( |
| 50 | createResourceBrowserClient); |
| 51 | m_interface = ObjectBroker::object<ResourceBrowserInterface *>(); |
| 52 | connect(m_interface, &ResourceBrowserInterface::resourceDeselected, this, &ResourceBrowserWidget::resourceDeselected); |
| 53 | connect(m_interface, &ResourceBrowserInterface::resourceSelected, this, |
| 54 | &ResourceBrowserWidget::resourceSelected); |
| 55 | connect(m_interface, &ResourceBrowserInterface::resourceDownloaded, this, |
| 56 | &ResourceBrowserWidget::resourceDownloaded); |
| 57 | |
| 58 | ui->setupUi(this); |
| 59 | auto resModel = ObjectBroker::model(QStringLiteral("com.kdab.GammaRay.ResourceModel")); |
| 60 | auto *model = new ClientResourceModel(this); |
| 61 | model->setSourceModel(resModel); |
| 62 | ui->treeView->header()->setObjectName("resourceTreeViewHeader"); |
| 63 | ui->treeView->setExpandNewContent(true); |
| 64 | ui->treeView->setDeferredResizeMode(0, QHeaderView::ResizeToContents); |
| 65 | ui->treeView->setDeferredResizeMode(1, QHeaderView::ResizeToContents); |
| 66 | ui->treeView->setDeferredResizeMode(2, QHeaderView::ResizeToContents); |
| 67 | ui->treeView->setDeferredHidden(3, true); |
| 68 | ui->treeView->setModel(model); |
| 69 | ui->treeView->setSelectionModel(ObjectBroker::selectionModel(ui->treeView->model())); |
| 70 | new SearchLineController(ui->searchLine, model); |
| 71 | |
| 72 | connect(ui->treeView, &DeferredTreeView::newContentExpanded, this, &ResourceBrowserWidget::setupLayout); |
| 73 | |
| 74 | ui->treeView->setContextMenuPolicy(Qt::CustomContextMenu); |
| 75 | connect(ui->treeView, &QWidget::customContextMenuRequested, this, |
| 76 | &ResourceBrowserWidget::handleCustomContextMenu); |
| 77 | |
| 78 | ui->resourceLabel->setText(tr("Select a Resource to Preview")); |
| 79 | ui->stackedWidget->setCurrentWidget(ui->contentLabelPage); |
| 80 | ui->textBrowser->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); |
| 81 | } |
| 82 | |
| 83 | ResourceBrowserWidget::~ResourceBrowserWidget() = default; |
| 84 |
nothing calls this directly
no test coverage detected