-
Notifications
You must be signed in to change notification settings - Fork 0
/
wybor_portu.cpp
64 lines (56 loc) · 2 KB
/
wybor_portu.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "wybor_portu.h"
#include "ui_wybor_portu.h"
#include <QList>
#include <QMessageBox>
Wybor_portu::Wybor_portu(QWidget *parent, QString* adres_do_konfiguracji) :
QDialog(parent),
ui(new Ui::Wybor_portu)
{
ui->setupUi(this);
setWindowTitle("Wybór portu");
wybrany_port = adres_do_konfiguracji;
QList<QSerialPortInfo> dostepne_porty;
dostepne_porty = QSerialPortInfo::availablePorts();
for(int i = 0; i < dostepne_porty.count(); ++i) {
ui->listWidget->addItem(dostepne_porty.at(i).portName() + " (" + dostepne_porty.at(i).description() + ")");
}
}
Wybor_portu::~Wybor_portu()
{
delete ui;
}
void Wybor_portu::on_buttonBox_accepted()
{
}
void Wybor_portu::on_buttonBox_rejected()
{
}
void Wybor_portu::on_buttonBox_clicked(QAbstractButton *button)
{
if((QPushButton *)button == ui->buttonBox->button(QDialogButtonBox::Reset)){
QList<QSerialPortInfo> dostepne_porty;
dostepne_porty = QSerialPortInfo::availablePorts();
ui->listWidget->clear();
for(int i = 0; i < dostepne_porty.count(); ++i) {
ui->listWidget->addItem(dostepne_porty.at(i).portName() + " (" + dostepne_porty.at(i).description() + ")");
}
}
else if((QPushButton *)button == ui->buttonBox->button(QDialogButtonBox::Ok)) {
if(ui->listWidget->selectedItems().count() != 0) {
QString nazwa_portu_temp = ui->listWidget->selectedItems().at(0)->text();
int temp = nazwa_portu_temp.indexOf(" ("); //te dwie linijki kodu są odpowiedzialne za wycięcie z zaznaczonej opcji tylko nazwy portu COM
nazwa_portu_temp.truncate(temp);
*wybrany_port = nazwa_portu_temp;
this->hide();
}
else {
QMessageBox msgBox;
msgBox.setText("Należy wybrać port!");
msgBox.setIcon(QMessageBox::Critical);
msgBox.exec();
}
}
else if((QPushButton *)button == ui->buttonBox->button(QDialogButtonBox::Cancel)) {
this->hide();
}
}