#include "connectionmanagerwindow.h" #include "ui_connectionmanagerwindow.h" #include #include #include "connectionlistmodel.h" ConnectionManagerWindow::ConnectionManagerWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::ConnectionManagerWindow) , m_listModel(new ConnectionListModel(this)) { ui->setupUi(this); ConnectionConfig c; c.setDescription("test"); m_listModel->add(c); ui->listView->setModel(m_listModel); m_mapper = new QDataWidgetMapper(this); m_mapper->setModel(m_listModel); m_mapper->addMapping(ui->edtName, 1); m_mapper->addMapping(ui->edtHost, 2); m_mapper->addMapping(ui->spinPort, 3); m_mapper->toFirst(); connect(ui->listView->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(on_currentChanged(QModelIndex,QModelIndex))); } ConnectionManagerWindow::~ConnectionManagerWindow() { delete ui; delete m_listModel; delete m_mapper; } void ConnectionManagerWindow::on_actionAdd_Connection_triggered() { ConnectionConfig c; c.setDescription("new"); m_listModel->add(c); } void ConnectionManagerWindow::on_currentChanged(const QModelIndex ¤t, const QModelIndex &previous) { int currow = current.row(); // int prevrow = previous.row(); m_mapper->setCurrentIndex(currow); // ui->lineEdit->setText(QString::number(currow)); // ui->lineEdit_2->setText(QString::number(prevrow)); // if(selection.indexes().isEmpty()) { // clearMyView(); // } else { // displayModelIndexInMyView(selection.indexes().first()); // } } void ConnectionManagerWindow::on_actionDelete_connection_triggered() { auto ci = ui->listView->selectionModel()->currentIndex(); if (ci.isValid()) { //m_listModel->removeRow(ci.row()); } } void ConnectionManagerWindow::controlsToConfig(ConnectionConfig &cfg) { // ui-> }