Mobile/remember DCs: try to match device names

We only store the address part of the connection name, so don't try to find an
exact match, try to find the sub-string.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2018-09-22 22:53:43 -07:00
parent f5411b7d68
commit 0ae57cfe92
4 changed files with 9 additions and 2 deletions

View file

@ -53,5 +53,6 @@ void ConnectionListModel::removeAllAddresses()
int ConnectionListModel::indexOf(QString address)
{
return m_addresses.indexOf(address);
const QRegExp re(address, Qt::CaseInsensitive);
return m_addresses.indexOf(re);
}

View file

@ -183,7 +183,7 @@ Kirigami.Page {
function setDC(vendor, product, device) {
comboVendor.currentIndex = comboVendor.find(vendor);
comboProduct.currentIndex = comboProduct.find(product);
comboConnection.currentIndex = comboConnection.find(device);
comboConnection.currentIndex = manager.getConnectionIndex(device);
}
SsrfButton {
id: dc1

View file

@ -1760,6 +1760,11 @@ int QMLManager::getDetectedProductIndex(const QString &currentVendorText)
return m_device_data->getDetectedProductIndex(currentVendorText);
}
int QMLManager::getConnectionIndex(const QString &deviceSubstr)
{
return connectionListModel.indexOf(deviceSubstr);
}
void QMLManager::showDownloadPage(QString deviceString)
{
// we pass the indices for the three combo boxes for vendor, product, and connection

View file

@ -87,6 +87,7 @@ public:
Q_INVOKABLE int getMatchingAddress(const QString &vendor, const QString &product);
Q_INVOKABLE int getDetectedVendorIndex();
Q_INVOKABLE int getDetectedProductIndex(const QString &currentVendorText);
Q_INVOKABLE int getConnectionIndex(const QString &deviceSubstr);
static QMLManager *instance();
Q_INVOKABLE void registerError(QString error);