Skip to content

Commit 124209d

Browse files
committed
App: QSet replace QVector
1 parent fc8bc6f commit 124209d

4 files changed

Lines changed: 17 additions & 15 deletions

File tree

App/Client/FrmActive.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77

88
static Q_LOGGING_CATEGORY(log, "App.FrmActive")
99

10-
CFrmActive::CFrmActive(QVector<COperate*> &operates,
11-
CParameterApp &parameterApp,
12-
QMenu* pOperate,
13-
QAction* pStop,
14-
RabbitCommon::CRecentMenu *pRecentMenu,
15-
QWidget *parent)
10+
CFrmActive::CFrmActive(QSet<COperate *> &operates,
11+
CParameterApp &parameterApp,
12+
QMenu* pOperate,
13+
QAction* pStop,
14+
RabbitCommon::CRecentMenu *pRecentMenu,
15+
QWidget *parent)
1616
: QWidget(parent)
1717
, m_pDockTitleBar(nullptr)
1818
, m_pOperate(pOperate)
@@ -165,10 +165,12 @@ CFrmActive::~CFrmActive()
165165
void CFrmActive::slotCustomContextMenu(const QPoint &pos)
166166
{
167167
QMenu menu;
168-
int r = m_pTableView->currentIndex().row();
168+
QModelIndex index = m_pTableView->currentIndex();
169+
int r = index.row();
169170
if(-1 < r && r < m_Operates.size())
170171
{
171-
auto c = m_Operates[r];
172+
QVariant v = m_pModel->item(index.row(), m_nId)->data();
173+
COperate* c = v.value<COperate*>();
172174
if(c) {
173175
auto m = c->GetMenu();
174176
//menu.addMenu(m);

App/Client/FrmActive.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include <QToolBar>
66
#include <QToolButton>
77
#include <QStandardItemModel>
8-
#include <QVector>
8+
#include <QSet>
99
#include "Operate.h"
1010
#include "TitleBar.h"
1111
#include "RabbitRecentMenu.h"
@@ -15,7 +15,7 @@ class CFrmActive : public QWidget
1515
{
1616
Q_OBJECT
1717
public:
18-
explicit CFrmActive(QVector<COperate*> &operates,
18+
explicit CFrmActive(QSet<COperate*> &operates,
1919
CParameterApp &parameterApp,
2020
QMenu* pOperate,
2121
QAction* pStop,
@@ -35,7 +35,7 @@ private Q_SLOTS:
3535
void slotClicked(const QModelIndex& index);
3636
void slotAddToFavorite();
3737
private:
38-
QVector<COperate*> &m_Operates;
38+
QSet<COperate*> &m_Operates;
3939
CParameterApp &m_ParameterApp;
4040
QMenu* m_pOperate;
4141
QAction* m_pStop;

App/Client/mainwindow.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -929,7 +929,7 @@ int MainWindow::Start(COperate *pOperate, bool set, QString szFile)
929929
slotInformation(tr("Starting: ") + pOperate->Name());
930930

931931
//* Show view. \see: slotRunning()
932-
if(-1 < m_Operates.indexOf(pOperate)) {
932+
if(m_Operates.contains(pOperate)) {
933933
if(m_pView)
934934
m_pView->SetCurrentView(pOperate->GetViewer());
935935
return 0;
@@ -944,7 +944,7 @@ int MainWindow::Start(COperate *pOperate, bool set, QString szFile)
944944
this, SLOT(slotViewerFocusIn(QWidget*)));
945945
Q_ASSERT(check);
946946
}
947-
m_Operates.push_back(pOperate);
947+
m_Operates.insert(pOperate);
948948
StartTimer();
949949

950950
m_pFrmActive->slotLoad();
@@ -1058,7 +1058,7 @@ void MainWindow::slotFinished()
10581058
if(p == pOperate)
10591059
{
10601060
m_pView->RemoveView(p->GetViewer());
1061-
m_Operates.removeAll(p);
1061+
m_Operates.remove(p);
10621062
m_Manager.DeleteOperate(p);
10631063
m_pFrmActive->slotLoad();
10641064
m_pFrmActive->slotViewChanged(m_pView->GetCurrentView());

App/Client/mainwindow.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ private Q_SLOTS:
6969
void slotStartByType();
7070
private:
7171
CManager m_Manager;
72-
QVector<COperate*> m_Operates;
72+
QSet<COperate*> m_Operates;
7373
QMap<CPlugin::TYPE, QMenu*> m_MenuStartByType;
7474

7575
private Q_SLOTS:

0 commit comments

Comments
 (0)