Skip to content

Commit a0f2bec

Browse files
committed
Plugin: add sigNewOperate signal
1 parent ec6c802 commit a0f2bec

File tree

4 files changed

+31
-0
lines changed

4 files changed

+31
-0
lines changed

App/Client/mainwindow.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ MainWindow::MainWindow(QWidget *parent)
7575
ui->setupUi(this);
7676
ui->menubar->show();
7777

78+
check = connect(&m_Manager, &CManager::sigNewOperate,
79+
this, [&](COperate* pOperate, bool bOpenSettingsDialog){
80+
Start(pOperate, bOpenSettingsDialog);
81+
});
82+
Q_ASSERT(check);
83+
7884
#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_MACOS)
7985
// gnome icon isn't support svg
8086
setWindowIcon(QIcon(":/images/app"));

Src/Manager.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,7 @@ int CManager::AppendPlugin(CPlugin *p)
317317
if(!p->Details().isEmpty())
318318
m_szDetails += p->Details() + "\n";
319319

320+
bRet = connect(p, &CPlugin::sigNewOperate, this, &CManager::sigNewOperate);
320321
return 0;
321322
}
322323

Src/Manager.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
class PLUGIN_EXPORT CManager : public QObject
4545
{
4646
Q_OBJECT
47+
4748
public:
4849
explicit CManager(QObject *parent = nullptr);
4950
virtual ~CManager();
@@ -181,6 +182,17 @@ class PLUGIN_EXPORT CManager : public QObject
181182

182183
const QString Details() const;
183184

185+
Q_SIGNALS:
186+
/*!
187+
* \~chinese 当在插件中新建操作时,触发此信号
188+
* \param pOperate: 新建的操作
189+
*
190+
* \~english
191+
* \brief This signal is triggered when a new operate is created in the plugin.
192+
* \param pOperate: a new operate is created.
193+
*/
194+
void sigNewOperate(COperate* pOperate, bool bOpenSettingsDialog);
195+
184196
private:
185197
int LoadPlugins();
186198
/*!

Src/Plugin.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
class PLUGIN_EXPORT CPlugin : public QObject
1515
{
1616
Q_OBJECT
17+
1718
public:
1819
explicit CPlugin(QObject *parent = nullptr);
1920
virtual ~CPlugin();
@@ -62,6 +63,17 @@ class PLUGIN_EXPORT CPlugin : public QObject
6263
*/
6364
[[nodiscard]] virtual const QString Details() const;
6465

66+
Q_SIGNALS:
67+
/*!
68+
* \~chinese 当在插件中新建操作时,触发此信号
69+
* \param pOperate: 新建的操作
70+
*
71+
* \~english
72+
* \brief This signal is triggered when a new operate is created in the plugin.
73+
* \param pOperate: a new operate is created.
74+
*/
75+
void sigNewOperate(COperate* pOperate);
76+
6577
protected:
6678
/*!
6779
* \~chinese

0 commit comments

Comments
 (0)