4141
4242#include " project/client_projectui.h"
4343#include " dataview/client_dataviewmanager.h"
44- #include " dataview/client_dataviewui.h"
4544
4645#include " client_windowmanager.h"
4746
@@ -55,6 +54,68 @@ mbClientUi::mbClientUi(mbClient *core, QWidget *parent) :
5554 ui->setupUi (this );
5655
5756 m_helpFile = QStringLiteral (" /help/ModbusClient.qhc" );
57+
58+ m_ui.menuFile = ui->menuFile ;
59+ m_ui.menuEdit = ui->menuEdit ;
60+ m_ui.menuView = ui->menuView ;
61+ m_ui.menuPort = ui->menuPort ;
62+ m_ui.menuDevice = ui->menuDevice ;
63+ m_ui.menuDataView = ui->menuDataView ;
64+ m_ui.menuTools = ui->menuTools ;
65+ m_ui.menuRuntime = ui->menuRuntime ;
66+ m_ui.menuWindow = ui->menuWindow ;
67+ m_ui.menuHelp = ui->menuHelp ;
68+ m_ui.actionFileNew = ui->actionFileNew ;
69+ m_ui.actionFileOpen = ui->actionFileOpen ;
70+ m_ui.actionFileSave = ui->actionFileSave ;
71+ m_ui.actionFileSaveAs = ui->actionFileSaveAs ;
72+ m_ui.actionFileEdit = ui->actionFileEdit ;
73+ m_ui.actionFileQuit = ui->actionFileQuit ;
74+ m_ui.actionEditCut = ui->actionEditCut ;
75+ m_ui.actionEditCopy = ui->actionEditCopy ;
76+ m_ui.actionEditPaste = ui->actionEditPaste ;
77+ m_ui.actionEditInsert = ui->actionEditInsert ;
78+ m_ui.actionEditEdit = ui->actionEditEdit ;
79+ m_ui.actionEditDelete = ui->actionEditDelete ;
80+ m_ui.actionEditSelectAll = ui->actionEditSelectAll ;
81+ m_ui.actionViewProject = ui->actionViewProject ;
82+ m_ui.actionViewLogView = ui->actionViewLogView ;
83+ m_ui.actionPortNew = ui->actionPortNew ;
84+ m_ui.actionPortEdit = ui->actionPortEdit ;
85+ m_ui.actionPortDelete = ui->actionPortDelete ;
86+ m_ui.actionPortImport = ui->actionPortImport ;
87+ m_ui.actionPortExport = ui->actionPortExport ;
88+ m_ui.actionDeviceNew = ui->actionDeviceNew ;
89+ m_ui.actionDeviceEdit = ui->actionDeviceEdit ;
90+ m_ui.actionDeviceDelete = ui->actionDeviceDelete ;
91+ m_ui.actionDeviceImport = ui->actionDeviceImport ;
92+ m_ui.actionDeviceExport = ui->actionDeviceExport ;
93+ m_ui.actionDataViewItemNew = ui->actionDataViewItemNew ;
94+ m_ui.actionDataViewItemEdit = ui->actionDataViewItemEdit ;
95+ m_ui.actionDataViewItemInsert = ui->actionDataViewItemInsert ;
96+ m_ui.actionDataViewItemDelete = ui->actionDataViewItemDelete ;
97+ m_ui.actionDataViewImportItems = ui->actionDataViewImportItems ;
98+ m_ui.actionDataViewExportItems = ui->actionDataViewExportItems ;
99+ m_ui.actionDataViewNew = ui->actionDataViewNew ;
100+ m_ui.actionDataViewEdit = ui->actionDataViewEdit ;
101+ m_ui.actionDataViewInsert = ui->actionDataViewInsert ;
102+ m_ui.actionDataViewDelete = ui->actionDataViewDelete ;
103+ m_ui.actionDataViewImport = ui->actionDataViewImport ;
104+ m_ui.actionDataViewExport = ui->actionDataViewExport ;
105+ m_ui.actionWindowShowAll = ui->actionWindowShowAll ;
106+ m_ui.actionWindowShowActive = ui->actionWindowShowActive ;
107+ m_ui.actionWindowCloseAll = ui->actionWindowCloseAll ;
108+ m_ui.actionWindowCloseActive = ui->actionWindowCloseActive ;
109+ m_ui.actionWindowCascade = ui->actionWindowCascade ;
110+ m_ui.actionWindowTile = ui->actionWindowTile ;
111+ m_ui.actionHelpAbout = ui->actionHelpAbout ;
112+ m_ui.actionHelpAboutQt = ui->actionHelpAboutQt ;
113+ m_ui.actionHelpContents = ui->actionHelpContents ;
114+ m_ui.actionToolsSettings = ui->actionToolsSettings ;
115+ m_ui.actionRuntimeStartStop = ui->actionRuntimeStartStop ;
116+ m_ui.dockProject = ui->dockProject ;
117+ m_ui.dockLogView = ui->dockLogView ;
118+ m_ui.statusbar = ui->statusbar ;
58119}
59120
60121mbClientUi::~mbClientUi ()
@@ -64,126 +125,29 @@ mbClientUi::~mbClientUi()
64125
65126void mbClientUi::initialize ()
66127{
67- // LogView
68- ui->dockLogView ->setWidget (logView ());
69-
70128 // Dialogs
71129 m_dialogs = new mbClientDialogs (this );
72130
73131 // Project Ui
74132 m_projectUi = new mbClientProjectUi (this );
75- connect (projectUi (), &mbClientProjectUi::portDoubleClick , this , &mbClientUi::menuSlotPortEdit );
76133 connect (projectUi (), &mbClientProjectUi::deviceDoubleClick, this , &mbClientUi::menuSlotDeviceEdit);
77- connect (projectUi (), &mbClientProjectUi::portContextMenu , this , &mbClientUi::contextMenuPort );
78134 connect (projectUi (), &mbClientProjectUi::deviceContextMenu, this , &mbClientUi::contextMenuDevice );
79- ui->dockProject ->setWidget (m_projectUi);
80135
81136 m_dataViewManager = new mbClientDataViewManager (this );
82- connect (dataViewManager (), &mbClientDataViewManager::dataViewUiContextMenu, this , &mbClientUi::contextMenuDataView);
83137
84138 m_windowManager = new mbClientWindowManager (this , dataViewManager ());
85- this ->setCentralWidget (m_windowManager->centralWidget ());
86-
87- // Menu File
88- ui->actionFileNew ->setShortcuts (QKeySequence::New );
89- ui->actionFileOpen ->setShortcuts (QKeySequence::Open );
90- ui->actionFileSave ->setShortcuts (QKeySequence::Save );
91- ui->actionFileSaveAs ->setShortcuts (QKeySequence::SaveAs);
92- ui->actionEdit ->setShortcut (QKeySequence (Qt::CTRL | Qt::SHIFT | Qt::Key_E));
93- ui->actionQuit ->setShortcuts (QKeySequence::Quit);
94-
95- connect (ui->actionFileNew , &QAction::triggered, this , &mbClientUi::menuSlotFileNew );
96- connect (ui->actionFileOpen , &QAction::triggered, this , &mbClientUi::menuSlotFileOpen );
97- connect (ui->actionFileSave , &QAction::triggered, this , &mbClientUi::menuSlotFileSave );
98- connect (ui->actionFileSaveAs , &QAction::triggered, this , &mbClientUi::menuSlotFileSaveAs);
99- connect (ui->actionEdit , &QAction::triggered, this , &mbClientUi::menuSlotFileEdit );
100- connect (ui->actionQuit , &QAction::triggered, this , &mbClientUi::menuSlotFileQuit );
101-
102- // Menu Edit
103- // ui->actionEditUndo ->setShortcuts(QKeySequence::Undo );
104- // ui->actionEditRedo ->setShortcuts(QKeySequence::Redo );
105- ui->actionEditCut ->setShortcuts (QKeySequence::Cut );
106- ui->actionEditCopy ->setShortcuts (QKeySequence::Copy );
107- ui->actionEditPaste ->setShortcuts (QKeySequence::Paste );
108- ui->actionEditInsert ->setShortcut (QKeySequence (Qt::Key_Insert ));
109- ui->actionEditEdit ->setShortcut (QKeySequence (Qt::CTRL | Qt::Key_E));
110- ui->actionEditDelete ->setShortcuts (QKeySequence::Delete );
111- ui->actionEditSelectAll ->setShortcuts (QKeySequence::SelectAll );
112-
113- // connect(ui->actionEditUndo , &QAction::triggered, this, &mbClientUi::menuSlotEditUndo );
114- // connect(ui->actionEditRedo , &QAction::triggered, this, &mbClientUi::menuSlotEditRedo );
115- connect (ui->actionEditCut , &QAction::triggered, this , &mbClientUi::menuSlotEditCut );
116- connect (ui->actionEditCopy , &QAction::triggered, this , &mbClientUi::menuSlotEditCopy );
117- connect (ui->actionEditPaste , &QAction::triggered, this , &mbClientUi::menuSlotEditPaste );
118- connect (ui->actionEditInsert , &QAction::triggered, this , &mbClientUi::menuSlotEditInsert );
119- connect (ui->actionEditEdit , &QAction::triggered, this , &mbClientUi::menuSlotEditEdit );
120- connect (ui->actionEditDelete , &QAction::triggered, this , &mbClientUi::menuSlotEditDelete );
121- connect (ui->actionEditSelectAll , &QAction::triggered, this , &mbClientUi::menuSlotEditSelectAll);
122-
123- // Menu View
124- connect (ui->actionViewProject , &QAction::triggered, this , &mbClientUi::menuSlotViewProject);
125- connect (ui->actionViewLogView , &QAction::triggered, this , &mbClientUi::menuSlotViewLogView);
126139
127140 // Menu Port
128- ui->actionPortNew ->setShortcut (QKeySequence (Qt::ALT | Qt::Key_N));
129-
130- connect (ui->actionPortNew , &QAction::triggered, this , &mbClientUi::menuSlotPortNew );
131- connect (ui->actionPortEdit , &QAction::triggered, this , &mbClientUi::menuSlotPortEdit );
132- connect (ui->actionPortDelete , &QAction::triggered, this , &mbClientUi::menuSlotPortDelete );
133141 connect (ui->actionPortNewDevice , &QAction::triggered, this , &mbClientUi::menuSlotPortNewDevice );
134142 connect (ui->actionPortClearAllDevices , &QAction::triggered, this , &mbClientUi::menuSlotPortClearAllDevice);
135- connect (ui->actionPortImport , &QAction::triggered, this , &mbClientUi::menuSlotPortImport );
136- connect (ui->actionPortExport , &QAction::triggered, this , &mbClientUi::menuSlotPortExport );
137-
138- // Menu Device
139- ui->actionDeviceNew ->setShortcut (QKeySequence (Qt::SHIFT | Qt::Key_N));
140-
141- connect (ui->actionDeviceNew , &QAction::triggered, this , &mbClientUi::menuSlotDeviceNew );
142- connect (ui->actionDeviceEdit , &QAction::triggered, this , &mbClientUi::menuSlotDeviceEdit );
143- connect (ui->actionDeviceDelete , &QAction::triggered, this , &mbClientUi::menuSlotDeviceDelete);
144- connect (ui->actionDeviceImport , &QAction::triggered, this , &mbClientUi::menuSlotDeviceImport);
145- connect (ui->actionDeviceExport , &QAction::triggered, this , &mbClientUi::menuSlotDeviceExport);
146-
147- // Menu DataView
148- connect (ui->actionDataViewItemNew , &QAction::triggered, this , &mbClientUi::menuSlotDataViewItemNew );
149- connect (ui->actionDataViewItemEdit , &QAction::triggered, this , &mbClientUi::menuSlotDataViewItemEdit );
150- connect (ui->actionDataViewItemInsert , &QAction::triggered, this , &mbClientUi::menuSlotDataViewItemInsert );
151- connect (ui->actionDataViewItemDelete , &QAction::triggered, this , &mbClientUi::menuSlotDataViewItemDelete );
152- connect (ui->actionDataViewImportItems , &QAction::triggered, this , &mbClientUi::menuSlotDataViewImportItems);
153- connect (ui->actionDataViewExportItems , &QAction::triggered, this , &mbClientUi::menuSlotDataViewExportItems);
154- connect (ui->actionDataViewNew , &QAction::triggered, this , &mbClientUi::menuSlotDataViewNew );
155- connect (ui->actionDataViewEdit , &QAction::triggered, this , &mbClientUi::menuSlotDataViewEdit );
156- connect (ui->actionDataViewInsert , &QAction::triggered, this , &mbClientUi::menuSlotDataViewInsert );
157- connect (ui->actionDataViewDelete , &QAction::triggered, this , &mbClientUi::menuSlotDataViewDelete );
158- connect (ui->actionDataViewImport , &QAction::triggered, this , &mbClientUi::menuSlotDataViewImport );
159- connect (ui->actionDataViewExport , &QAction::triggered, this , &mbClientUi::menuSlotDataViewExport );
160143
161144 // Menu Tools
162- connect (ui->actionToolsSettings , &QAction::triggered, this , &mbClientUi::menuSlotToolsSettings );
163145 connect (ui->actionToolsSendMessage , &QAction::triggered, this , &mbClientUi::menuSlotToolsSendMessage);
164146 connect (ui->actionToolsScanner , &QAction::triggered, this , &mbClientUi::menuSlotToolsScanner );
165147
166- // Menu Runtime
167- connect (ui->actionRuntimeStartStop , &QAction::triggered, this , &mbClientUi::menuSlotRuntimeStartStop );
168-
169- // Menu Window
170- connect (ui->actionWindowShowAll , &QAction::triggered, this , &mbClientUi::menuSlotWindowShowAll );
171- connect (ui->actionWindowShowActive , &QAction::triggered, this , &mbClientUi::menuSlotWindowShowActive );
172- connect (ui->actionWindowCloseAll , &QAction::triggered, this , &mbClientUi::menuSlotWindowCloseAll );
173- connect (ui->actionWindowCloseActive , &QAction::triggered, this , &mbClientUi::menuSlotWindowCloseActive);
174- connect (ui->actionWindowCascade , &QAction::triggered, this , &mbClientUi::menuSlotWindowCascade );
175- connect (ui->actionWindowTile , &QAction::triggered, this , &mbClientUi::menuSlotWindowTile );
176-
177- // Menu Help
178- connect (ui->actionHelpAbout , &QAction::triggered, this , &mbClientUi::menuSlotHelpAbout );
179- connect (ui->actionHelpAboutQt , &QAction::triggered, this , &mbClientUi::menuSlotHelpAboutQt );
180- connect (ui->actionHelpContents , &QAction::triggered, this , &mbClientUi::menuSlotHelpContents);
181-
182148 m_sendMessageUi = new mbClientSendMessageUi (this );
183149 m_scannerUi = new mbClientScannerUi (this );
184150
185- m_ui.statusbar = ui->statusbar ;
186- m_ui.actionRuntimeStartStop = ui->actionRuntimeStartStop ;
187151 mbCoreUi::initialize ();
188152}
189153
@@ -555,14 +519,6 @@ void mbClientUi::menuSlotToolsScanner()
555519 m_scannerUi->show ();
556520}
557521
558- void mbClientUi::contextMenuPort (mbCorePort */* port*/ )
559- {
560- QMenu mn (m_projectUi);
561- Q_FOREACH (QAction *a, ui->menuPort ->actions ())
562- mn.addAction (a);
563- mn.exec (QCursor::pos ());
564- }
565-
566522void mbClientUi::contextMenuDevice (mbClientDevice */* device*/ )
567523{
568524 QMenu mn (m_projectUi);
@@ -571,16 +527,6 @@ void mbClientUi::contextMenuDevice(mbClientDevice */*device*/)
571527 mn.exec (QCursor::pos ());
572528}
573529
574- void mbClientUi::contextMenuDataView (mbCoreDataViewUi *dataViewUi)
575- {
576- QMenu mn (dataViewUi); // Note: be careful to delete deviceUi while his child 'QMenu' in stack
577- // User can choose 'actionDeleteDevice' and program can crash
578- // Solution: don't use direct 'delete deviceUi', use 'deviceUi->deleteLater'
579- Q_FOREACH (QAction *a, ui->menuDataView ->actions ())
580- mn.addAction (a);
581- mn.exec (QCursor::pos ());
582- }
583-
584530void mbClientUi::editPort (mbCorePort *port)
585531{
586532 MBSETTINGS o = port->settings ();
0 commit comments