Improve adding/removing repositories a bit

This commit is contained in:
Michael Zanetti 2019-10-11 11:09:31 +02:00
parent b6eb6ef782
commit ca9d60187b
4 changed files with 31 additions and 4 deletions

View File

@ -93,12 +93,12 @@ Repositories *SystemController::repositories() const
return m_repositories; return m_repositories;
} }
void SystemController::enableRepository(const QString &id, bool enabled) int SystemController::enableRepository(const QString &id, bool enabled)
{ {
QVariantMap params; QVariantMap params;
params.insert("repositoryId", id); params.insert("repositoryId", id);
params.insert("enabled", enabled); params.insert("enabled", enabled);
m_jsonRpcClient->sendCommand("System.EnableRepository", params); return m_jsonRpcClient->sendCommand("System.EnableRepository", params, this, "enableRepositoryResponse");
} }
void SystemController::getCapabilitiesResponse(const QVariantMap &data) void SystemController::getCapabilitiesResponse(const QVariantMap &data)
@ -158,6 +158,12 @@ void SystemController::removePackageResponse(const QVariantMap &params)
qDebug() << "Remove result" << params; qDebug() << "Remove result" << params;
} }
void SystemController::enableRepositoryResponse(const QVariantMap &params)
{
qDebug() << "Enable repo response" << params;
emit enableRepositoryFinished(params.value("id").toInt(), params.value("params").toMap().value("success").toBool());
}
void SystemController::notificationReceived(const QVariantMap &data) void SystemController::notificationReceived(const QVariantMap &data)
{ {
QString notification = data.value("notification").toString(); QString notification = data.value("notification").toString();

View File

@ -41,7 +41,7 @@ public:
Q_INVOKABLE void removePackages(const QString packageId = QString()); Q_INVOKABLE void removePackages(const QString packageId = QString());
Repositories* repositories() const; Repositories* repositories() const;
Q_INVOKABLE void enableRepository(const QString &id, bool enabled); Q_INVOKABLE int enableRepository(const QString &id, bool enabled);
signals: signals:
@ -49,6 +49,7 @@ signals:
void updateManagementAvailableChanged(); void updateManagementAvailableChanged();
void updateManagementBusyChanged(); void updateManagementBusyChanged();
void updateRunningChanged(); void updateRunningChanged();
void enableRepositoryFinished(int id, bool success);
private slots: private slots:
void getCapabilitiesResponse(const QVariantMap &data); void getCapabilitiesResponse(const QVariantMap &data);
@ -56,6 +57,7 @@ private slots:
void getPackagesResponse(const QVariantMap &data); void getPackagesResponse(const QVariantMap &data);
void getRepositoriesResponse(const QVariantMap &data); void getRepositoriesResponse(const QVariantMap &data);
void removePackageResponse(const QVariantMap &params); void removePackageResponse(const QVariantMap &params);
void enableRepositoryResponse(const QVariantMap &params);
void notificationReceived(const QVariantMap &data); void notificationReceived(const QVariantMap &data);

View File

@ -21,6 +21,16 @@ Page {
} }
} }
Connections {
target: engine.systemController
onEnableRepositoryFinished: {
if (!success) {
var popup = errorDialogComponent.createObject(app, {errorCode: qsTr("Failure adding repository.") })
popup.open();
}
}
}
PackagesFilterModel { PackagesFilterModel {
id: updatesModel id: updatesModel
packages: engine.systemController.packages packages: engine.systemController.packages
@ -366,4 +376,12 @@ Page {
UpdateRunningOverlay { UpdateRunningOverlay {
} }
Component {
id: errorDialogComponent
ErrorDialog {
id: errorDialog
}
}
} }

View File

@ -215,6 +215,7 @@ Page {
break; break;
case 1: case 1:
case 2: case 2:
case 3: case 3:
engine.deviceManager.pairDevice(root.deviceClass.id, d.deviceDescriptor.id, root.device.name); engine.deviceManager.pairDevice(root.deviceClass.id, d.deviceDescriptor.id, root.device.name);
break; break;
@ -313,7 +314,7 @@ Page {
} }
TextField { TextField {
id: nameTextField id: nameTextField
text: d.deviceName ? d.deviceName : "" text: d.deviceName ? d.deviceName : root.deviceClass.displayName
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: app.margins Layout.leftMargin: app.margins
Layout.rightMargin: app.margins Layout.rightMargin: app.margins