diff --git a/.gitignore b/.gitignore index d14721c..c98143f 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ Makefile .qmake.stash .vscode/settings.json qtdebugger +*.pro.user diff --git a/include/qtdebugger.h b/include/qtdebugger.h index e6b66dc..a222934 100644 --- a/include/qtdebugger.h +++ b/include/qtdebugger.h @@ -24,6 +24,7 @@ public: private slots: void refresh(); void currentObjectChanged( QTreeWidgetItem* new_, QTreeWidgetItem* old ); + void openResourceExplorer(); protected: void resetStyleSheet(); diff --git a/include/resourceexplorer.h b/include/resourceexplorer.h new file mode 100644 index 0000000..ed491ef --- /dev/null +++ b/include/resourceexplorer.h @@ -0,0 +1,21 @@ +#ifndef RESOURCEEXPLORER_H +#define RESOURCEEXPLORER_H + +#include + +namespace Ui { + class ResourceExplorer; +} + +class ResourceExplorer : public QMainWindow { + Q_OBJECT + +public: + explicit ResourceExplorer(QWidget *parent = nullptr); + ~ResourceExplorer(); + +private: + Ui::ResourceExplorer *ui; +}; + +#endif // RESOURCEEXPLORER_H diff --git a/qtdebugger.pro b/qtdebugger.pro index 219bb94..bd7eb03 100644 --- a/qtdebugger.pro +++ b/qtdebugger.pro @@ -29,13 +29,16 @@ INCLUDEPATH += $$PWD/include/ SOURCES += \ src/injector.cpp \ - src/qtdebugger.cpp + src/qtdebugger.cpp \ + src/resourceexplorer.cpp HEADERS += \ - include/qtdebugger.h + include/qtdebugger.h \ + include/resourceexplorer.h FORMS += \ - ui/debugwindow.ui + ui/debugwindow.ui \ + ui/resourceexplorer.ui # main binary target qtdebugger.depends = src/main.c diff --git a/src/qtdebugger.cpp b/src/qtdebugger.cpp index 6fede76..de54b31 100644 --- a/src/qtdebugger.cpp +++ b/src/qtdebugger.cpp @@ -11,6 +11,8 @@ #include #include +#include "resourceexplorer.h" + QtDebugger::QtDebugger(QObject* parent) : QObject(parent), debugWindow( new QMainWindow() ), ui( new Ui::DebugWindow() ) { this->ui->setupUi( debugWindow ); debugWindow->show(); @@ -21,6 +23,7 @@ QtDebugger::QtDebugger(QObject* parent) : QObject(parent), debugWindow( new QMai QObject::connect( this->ui->refreshButton, &QPushButton::clicked, this, &QtDebugger::refresh ); QObject::connect( this->ui->objectTree, &QTreeWidget::currentItemChanged, this, &QtDebugger::currentObjectChanged ); + QObject::connect( this->ui->resourceExplorerButton, &QPushButton::clicked, this, &QtDebugger::openResourceExplorer ); this->refresh(); } @@ -70,6 +73,8 @@ void QtDebugger::refresh() { } void QtDebugger::currentObjectChanged( QTreeWidgetItem* new_, QTreeWidgetItem* old ) { + Q_UNUSED( old ); + this->ui->propertiesTree->clear(); this->resetStyleSheet(); @@ -125,6 +130,11 @@ void QtDebugger::currentObjectChanged( QTreeWidgetItem* new_, QTreeWidgetItem* o readProperties( obj->metaObject() ); } +void QtDebugger::openResourceExplorer() { + ResourceExplorer* re = new ResourceExplorer( debugWindow ); + re->show(); +} + void QtDebugger::resetStyleSheet() { // get currently selected item QList items = this->ui->objectTree->selectedItems(); diff --git a/src/resourceexplorer.cpp b/src/resourceexplorer.cpp new file mode 100644 index 0000000..28cce73 --- /dev/null +++ b/src/resourceexplorer.cpp @@ -0,0 +1,16 @@ +#include "resourceexplorer.h" +#include "ui_resourceexplorer.h" + +#include + +ResourceExplorer::ResourceExplorer(QWidget *parent) : QMainWindow( parent ), ui(new Ui::ResourceExplorer) { + this->ui->setupUi(this); + + QFileSystemModel* model = new QFileSystemModel; + model->setRootPath( ":/" ); + this->ui->treeView->setModel( model ); +} + +ResourceExplorer::~ResourceExplorer() { + delete this->ui; +} diff --git a/ui/debugwindow.ui b/ui/debugwindow.ui index 22d7192..71db8d6 100644 --- a/ui/debugwindow.ui +++ b/ui/debugwindow.ui @@ -20,22 +20,47 @@ false - - - - 0 - 20 - - - - - 16777215 - 40 - - - - Refresh - + + + + + + + 0 + 20 + + + + + 16777215 + 40 + + + + Refresh + + + + + + + + 0 + 20 + + + + + 16777215 + 40 + + + + Resource Explorer + + + + diff --git a/ui/resourceexplorer.ui b/ui/resourceexplorer.ui new file mode 100644 index 0000000..9ae1876 --- /dev/null +++ b/ui/resourceexplorer.ui @@ -0,0 +1,37 @@ + + + ResourceExplorer + + + + 0 + 0 + 800 + 600 + + + + Resource Explorer + + + + + + + + + + + + 0 + 0 + 800 + 24 + + + + + + + +