Implement selection of recent address

pull/53/head
michal.szwaj 2018-03-25 03:13:23 +02:00
parent f01f057b68
commit 9db15b953e
4 changed files with 20 additions and 2 deletions

View File

@ -36,6 +36,7 @@ private slots:
void onConnectButtonClicked(); void onConnectButtonClicked();
void onConnectionFailed(const QString& message); void onConnectionFailed(const QString& message);
void onConnectionSucceed(aasdk::tcp::ITCPEndpoint::SocketPointer socket, const std::string& ipAddress); void onConnectionSucceed(aasdk::tcp::ITCPEndpoint::SocketPointer socket, const std::string& ipAddress);
void onRecentAddressClicked(const QModelIndex& index);
private: private:
void insertIpAddress(const std::string& ipAddress); void insertIpAddress(const std::string& ipAddress);

View File

@ -46,8 +46,11 @@ void RecentAddressesList::read()
void RecentAddressesList::insertAddress(const std::string& address) void RecentAddressesList::insertAddress(const std::string& address)
{ {
list_.push_front(address); if(std::find(list_.begin(), list_.end(), address) != list_.end())
this->save(); {
list_.push_front(address);
this->save();
}
} }
RecentAddressesList::RecentAddresses RecentAddressesList::getList() const RecentAddressesList::RecentAddresses RecentAddressesList::getList() const

View File

@ -24,6 +24,7 @@ ConnectDialog::ConnectDialog(boost::asio::io_service& ioService, aasdk::tcp::ITC
ui_->setupUi(this); ui_->setupUi(this);
connect(ui_->pushButtonCancel, &QPushButton::clicked, this, &ConnectDialog::close); connect(ui_->pushButtonCancel, &QPushButton::clicked, this, &ConnectDialog::close);
connect(ui_->pushButtonConnect, &QPushButton::clicked, this, &ConnectDialog::onConnectButtonClicked); connect(ui_->pushButtonConnect, &QPushButton::clicked, this, &ConnectDialog::onConnectButtonClicked);
connect(ui_->listViewRecent, &QListView::clicked, this, &ConnectDialog::onRecentAddressClicked);
connect(this, &ConnectDialog::connectionSucceed, this, &ConnectDialog::onConnectionSucceed); connect(this, &ConnectDialog::connectionSucceed, this, &ConnectDialog::onConnectionSucceed);
connect(this, &ConnectDialog::connectionFailed, this, &ConnectDialog::onConnectionFailed); connect(this, &ConnectDialog::connectionFailed, this, &ConnectDialog::onConnectionFailed);
@ -81,6 +82,16 @@ void ConnectDialog::onConnectionFailed(const QString& message)
errorMessage.exec(); errorMessage.exec();
} }
void ConnectDialog::onRecentAddressClicked(const QModelIndex& index)
{
const auto& recentAddressesList = recentAddressesList_.getList();
if(static_cast<size_t>(index.row()) <= recentAddressesList.size())
{
ui_->lineEditIPAddress->setText(QString::fromStdString(recentAddressesList.at(index.row())));
}
}
void ConnectDialog::setControlsEnabledStatus(bool status) void ConnectDialog::setControlsEnabledStatus(bool status)
{ {
ui_->pushButtonConnect->setVisible(status); ui_->pushButtonConnect->setVisible(status);

View File

@ -57,6 +57,9 @@
<height>141</height> <height>141</height>
</rect> </rect>
</property> </property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
</widget> </widget>
</widget> </widget>
<widget class="QLabel" name="labelHeadUnitServerInfo"> <widget class="QLabel" name="labelHeadUnitServerInfo">