diff --git a/makespec/BUILDVERSION b/makespec/BUILDVERSION index 2b3bcc61..39d2b3f6 100644 --- a/makespec/BUILDVERSION +++ b/makespec/BUILDVERSION @@ -1 +1 @@ -5052 +5054 \ No newline at end of file diff --git a/src/components/plugins/QvPluginHost.hpp b/src/components/plugins/QvPluginHost.hpp index cc0ac296..72d20acc 100644 --- a/src/components/plugins/QvPluginHost.hpp +++ b/src/components/plugins/QvPluginHost.hpp @@ -11,7 +11,7 @@ namespace Qv2ray::components::plugins { struct QvPluginInfo { - bool canLoadPlugin; + bool isLoaded; QString libraryPath; QString errorMessage; QPluginLoader *pluginLoader; diff --git a/src/ui/w_MainWindow.cpp b/src/ui/w_MainWindow.cpp index b4d29134..dee105e6 100644 --- a/src/ui/w_MainWindow.cpp +++ b/src/ui/w_MainWindow.cpp @@ -1008,5 +1008,5 @@ void MainWindow::on_action_RCM_ClearUsage_triggered() void MainWindow::on_pluginsBtn_clicked() { - w_PluginManager(this).exec(); + PluginManageWindow(this).exec(); } diff --git a/src/ui/w_MainWindow.hpp b/src/ui/w_MainWindow.hpp index fc3515e5..3fa79288 100644 --- a/src/ui/w_MainWindow.hpp +++ b/src/ui/w_MainWindow.hpp @@ -64,6 +64,8 @@ class MainWindow void on_connectionListWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); void on_masterLogBrowser_textChanged(); + void on_pluginsBtn_clicked(); + private: void on_actionExit_triggered(); void on_action_StartThis_triggered(); @@ -99,8 +101,6 @@ class MainWindow // void SortConnectionList(MW_ITEM_COL byCol, bool asending); - void on_pluginsBtn_clicked(); - protected: void timerEvent(QTimerEvent *event) override; void keyPressEvent(QKeyEvent *e) override; diff --git a/src/ui/w_MainWindow.ui b/src/ui/w_MainWindow.ui index 075cbecf..de8685e8 100644 --- a/src/ui/w_MainWindow.ui +++ b/src/ui/w_MainWindow.ui @@ -22,7 +22,7 @@ - + 5 diff --git a/src/ui/w_PluginManager.cpp b/src/ui/w_PluginManager.cpp index 6a0e231c..6aa33737 100644 --- a/src/ui/w_PluginManager.cpp +++ b/src/ui/w_PluginManager.cpp @@ -2,7 +2,7 @@ #include "components/plugins/QvPluginHost.hpp" -w_PluginManager::w_PluginManager(QWidget *parent) : QDialog(parent) +PluginManageWindow::PluginManageWindow(QWidget *parent) : QDialog(parent) { setupUi(this); for (auto &plugin : PluginHost->AvailablePlugins()) @@ -15,26 +15,30 @@ w_PluginManager::w_PluginManager(QWidget *parent) : QDialog(parent) } } -w_PluginManager::~w_PluginManager() +PluginManageWindow::~PluginManageWindow() { } -void w_PluginManager::on_pluginListWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous) +void PluginManageWindow::on_pluginListWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous) { Q_UNUSED(previous) auto &info = PluginHost->GetPluginInfo(current->data(Qt::UserRole).toString()); if (info.interface != nullptr) { + pluginIconLabel->setPixmap(info.interface->Icon().pixmap(pluginIconLabel->size() * devicePixelRatio())); + // pluginNameLabel->setText(info.interface->Name()); pluginAuthorLabel->setText(info.interface->Author()); pluginDescriptionLabel->setText(info.interface->Description()); + pluginLibPathLabel->setText(info.libraryPath); + pluginStateLabel->setText(info.isLoaded ? tr("Loaded") : tr("Not loaded")); pluginTypeLabel->setText("No impl"); - pluginStateTxt->setPlainText(info.errorMessage.isEmpty() ? "OK" : info.errorMessage); - pluginIconLabel->setPixmap(info.interface->Icon().pixmap(pluginIconLabel->size() * devicePixelRatio())); + pluginHookTypeLabel->setText("No impl"); + pluginErrMessageTxt->setPlainText(info.errorMessage.isEmpty() ? "OK" : info.errorMessage); } } -void w_PluginManager::on_pluginListWidget_itemClicked(QListWidgetItem *item) +void PluginManageWindow::on_pluginListWidget_itemClicked(QListWidgetItem *item) { on_pluginListWidget_currentItemChanged(item, nullptr); } diff --git a/src/ui/w_PluginManager.hpp b/src/ui/w_PluginManager.hpp index ccb27a7b..c2c425e8 100644 --- a/src/ui/w_PluginManager.hpp +++ b/src/ui/w_PluginManager.hpp @@ -4,15 +4,15 @@ #include -class w_PluginManager +class PluginManageWindow : public QDialog , private Ui::w_PluginManager { Q_OBJECT public: - explicit w_PluginManager(QWidget *parent = nullptr); - ~w_PluginManager(); + explicit PluginManageWindow(QWidget *parent = nullptr); + ~PluginManageWindow(); private slots: void on_pluginListWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous); void on_pluginListWidget_itemClicked(QListWidgetItem *item); diff --git a/src/ui/w_PluginManager.ui b/src/ui/w_PluginManager.ui index c7ad9b9a..0b76aa1b 100644 --- a/src/ui/w_PluginManager.ui +++ b/src/ui/w_PluginManager.ui @@ -39,41 +39,8 @@ Plugin Info - - - - - - - - 64 - 64 - - - - ICON! - - - Qt::AlignCenter - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - + + @@ -117,65 +84,119 @@ - + State - - - - Type - - - - - - - - - - - - - Message - - - - - - - true - - - - - - - - - - Reload - - - - - - - Unload - - - - + + + + Type + + + + + + + + + + + + + + Hook Type + + + + + + + Message + + + + + + + true + + + + + + + + + + + + + + Library Path + + + + + + + + + + + + + + + + + + + 64 + 64 + + + + ICON! + + + Qt::AlignCenter + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + Reload + +