@@ -71,7 +71,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),
7171 SLOT (slotFileOpen ()));
7272 connect (ui->actionConnect , SIGNAL (triggered ()), this ,
7373 SLOT (slotProgConnect ()));
74- connect (ui->actionDetect_Device , SIGNAL (triggered ()), this ,
74+ connect (ui->actionReadId , SIGNAL (triggered ()), this ,
7575 SLOT (slotProgReadDeviceId ()));
7676 connect (ui->actionErase , SIGNAL (triggered ()), this ,
7777 SLOT (slotProgErase ()));
@@ -137,6 +137,21 @@ void MainWindow::slotFileOpen()
137137 file.close ();
138138}
139139
140+ void MainWindow::setUiStateConnected (bool isConnected)
141+ {
142+ ui->chipSelectComboBox ->setEnabled (isConnected);
143+ if (!isConnected)
144+ ui->chipSelectComboBox ->setCurrentIndex (CHIP_ID_NONE);
145+ }
146+
147+ void MainWindow::setUiStateSelected (bool isSelected)
148+ {
149+ ui->actionReadId ->setEnabled (isSelected);
150+ ui->actionErase ->setEnabled (isSelected);
151+ ui->actionRead ->setEnabled (isSelected);
152+ ui->actionWrite ->setEnabled (isSelected);
153+ }
154+
140155void MainWindow::slotProgConnect ()
141156{
142157 if (!prog->isConnected ())
@@ -146,11 +161,13 @@ void MainWindow::slotProgConnect()
146161 else
147162 return ;
148163
164+ setUiStateConnected (true );
149165 ui->actionConnect ->setText (tr (" Disconnect" ));
150166 }
151167 else
152168 {
153169 prog->disconnect ();
170+ setUiStateConnected (false );
154171 ui->actionConnect ->setText (tr (" Connect" ));
155172 qInfo () << " Disconnected from programmer" ;
156173 }
@@ -280,13 +297,24 @@ void MainWindow::slotProgSelectCompleted(int status)
280297 SLOT (slotProgSelectCompleted (int )));
281298
282299 if (!status)
300+ {
301+ setUiStateSelected (true );
283302 qInfo () << " Chip has been selected successfully" ;
303+ }
304+ else
305+ setUiStateSelected (false );
284306}
285307
286308void MainWindow::slotSelectChip (int selectedChipNum)
287309{
288310 this ->selectedChipNum = selectedChipNum;
289311
312+ if (selectedChipNum == CHIP_ID_NONE)
313+ {
314+ setUiStateSelected (false );
315+ return ;
316+ }
317+
290318 connect (prog, SIGNAL (selectChipCompleted (int )), this ,
291319 SLOT (slotProgSelectCompleted (int )));
292320
0 commit comments