add locale option

This commit is contained in:
Michael Zanetti 2019-07-15 10:15:23 +02:00
parent 692bf6cf96
commit 4e7557f964
8 changed files with 17 additions and 14 deletions

View File

@ -710,7 +710,7 @@ Device::DeviceError DeviceManagerImplementation::removeConfiguredDevice(const De
return Device::DeviceErrorNoError; return Device::DeviceErrorNoError;
} }
Device::BrowseResult DeviceManagerImplementation::browseDevice(const DeviceId &deviceId, const QString &itemId) Device::BrowseResult DeviceManagerImplementation::browseDevice(const DeviceId &deviceId, const QString &itemId, const QLocale &locale)
{ {
Q_UNUSED(deviceId) Q_UNUSED(deviceId)
Q_UNUSED(itemId) Q_UNUSED(itemId)
@ -730,7 +730,7 @@ Device::BrowseResult DeviceManagerImplementation::browseDevice(const DeviceId &d
return result; return result;
} }
result = device->plugin()->browseDevice(device, result, itemId); result = device->plugin()->browseDevice(device, result, itemId, locale);
return result; return result;
} }

View File

@ -99,7 +99,7 @@ public:
Device::DeviceError executeAction(const Action &action) override; Device::DeviceError executeAction(const Action &action) override;
Device::BrowseResult browseDevice(const DeviceId &deviceId, const QString &itemId = QString()) override; Device::BrowseResult browseDevice(const DeviceId &deviceId, const QString &itemId, const QLocale &locale) override;
Device::DeviceError executeBrowserItem(const BrowserAction &browserAction) override; Device::DeviceError executeBrowserItem(const BrowserAction &browserAction) override;
Device::DeviceError executeBrowserItemAction(const BrowserItemAction &browserItemAction) override; Device::DeviceError executeBrowserItemAction(const BrowserItemAction &browserItemAction) override;

View File

@ -681,7 +681,7 @@ JsonReply *DeviceHandler::BrowseDevice(const QVariantMap &params) const
DeviceId deviceId = DeviceId(params.value("deviceId").toString()); DeviceId deviceId = DeviceId(params.value("deviceId").toString());
QString itemId = params.value("itemId").toString(); QString itemId = params.value("itemId").toString();
Device::BrowseResult result = NymeaCore::instance()->deviceManager()->browseDevice(deviceId, itemId); Device::BrowseResult result = NymeaCore::instance()->deviceManager()->browseDevice(deviceId, itemId, params.value("locale").toLocale());
if (result.status == Device::DeviceErrorAsync ) { if (result.status == Device::DeviceErrorAsync ) {
JsonReply *reply = createAsyncReply("BrowseDevice"); JsonReply *reply = createAsyncReply("BrowseDevice");

View File

@ -74,7 +74,7 @@ public:
virtual Device::DeviceError executeAction(const Action &action) = 0; virtual Device::DeviceError executeAction(const Action &action) = 0;
virtual Device::BrowseResult browseDevice(const DeviceId &deviceId, const QString &itemId = QString()) = 0; virtual Device::BrowseResult browseDevice(const DeviceId &deviceId, const QString &itemId, const QLocale &locale) = 0;
virtual Device::DeviceError executeBrowserItem(const BrowserAction &browserAction) = 0; virtual Device::DeviceError executeBrowserItem(const BrowserAction &browserAction) = 0;
virtual Device::DeviceError executeBrowserItemAction(const BrowserItemAction &browserItemAction) = 0; virtual Device::DeviceError executeBrowserItemAction(const BrowserItemAction &browserItemAction) = 0;

View File

@ -248,21 +248,23 @@ Device::DeviceError DevicePlugin::executeAction(Device *device, const Action &ac
return Device::DeviceErrorNoError; return Device::DeviceErrorNoError;
} }
/*! Implement this if your devices support browsing. When the system calls this method, /*! Implement this if your devices support browsing (besides settings browsable to true in the metadata).
* fill the \a result object's items list with entries from the browser. If \a itemId is empty * When the system calls this method, fill the \a result object's items list with entries from the browser.
* it means that the root node of the file system should be returned. Each item in the result set * If \a itemId is empty it means that the root node of the file system should be returned. Each item in
* shall be uniquely identifiable using its \l{BrowserItem::id}{id} property. * the result set shall be uniquely identifiable using its \l{BrowserItem::id}{id} property.
* The system might call this method again, with an \a itemId returned in a previous query, provided * The system might call this method again, with an \a itemId returned in a previous query, provided
* that item's \l{BrowserItem::browsable} property is true. In this case all children of the given * that item's \l{BrowserItem::browsable} property is true. In this case all children of the given
* item shall be returned. * item shall be returned. All browser \l {BrowserItem::displayName} properties shall be localized
* using the given \a locale.
* When done, set the \l{BrowserResult::status}{result's status} field approprietly. Set the result's * When done, set the \l{BrowserResult::status}{result's status} field approprietly. Set the result's
* status to Device::DeviceErrorAsync if this operation requires async behavior and emit * status to Device::DeviceErrorAsync if this operation requires async behavior and emit
* \l{browseRequestFinished} when done. * \l{browseRequestFinished} when done.
*/ */
Device::BrowseResult DevicePlugin::browseDevice(Device *device, Device::BrowseResult result, const QString &itemId) Device::BrowseResult DevicePlugin::browseDevice(Device *device, Device::BrowseResult result, const QString &itemId, const QLocale &locale)
{ {
Q_UNUSED(device) Q_UNUSED(device)
Q_UNUSED(itemId) Q_UNUSED(itemId)
Q_UNUSED(locale)
result.status = Device::DeviceErrorUnsupportedFeature; result.status = Device::DeviceErrorUnsupportedFeature;
return result; return result;

View File

@ -80,7 +80,7 @@ public:
virtual Device::DeviceError executeAction(Device *device, const Action &action); virtual Device::DeviceError executeAction(Device *device, const Action &action);
virtual Device::BrowseResult browseDevice(Device *device, Device::BrowseResult result, const QString &nodeId = QString()); virtual Device::BrowseResult browseDevice(Device *device, Device::BrowseResult result, const QString &nodeId, const QLocale &locale);
virtual Device::DeviceError executeBrowserItem(Device *device, const BrowserAction &browserAction); virtual Device::DeviceError executeBrowserItem(Device *device, const BrowserAction &browserAction);
virtual Device::DeviceError executeBrowserItemAction(Device *device, const BrowserItemAction &browserItemAction); virtual Device::DeviceError executeBrowserItemAction(Device *device, const BrowserItemAction &browserItemAction);

View File

@ -239,8 +239,9 @@ Device::DeviceError DevicePluginMock::displayPin(const PairingTransactionId &pai
return Device::DeviceErrorNoError; return Device::DeviceErrorNoError;
} }
Device::BrowseResult DevicePluginMock::browseDevice(Device *device, Device::BrowseResult result, const QString &itemId) Device::BrowseResult DevicePluginMock::browseDevice(Device *device, Device::BrowseResult result, const QString &itemId, const QLocale &locale)
{ {
Q_UNUSED(locale)
qCDebug(dcMockDevice()) << "Browse device called" << device; qCDebug(dcMockDevice()) << "Browse device called" << device;
if (device->deviceClassId() == mockDeviceClassId) { if (device->deviceClassId() == mockDeviceClassId) {
if (device->paramValue(mockDeviceAsyncParamTypeId).toBool()) { if (device->paramValue(mockDeviceAsyncParamTypeId).toBool()) {

View File

@ -52,7 +52,7 @@ public:
Device::DeviceSetupStatus confirmPairing(const PairingTransactionId &pairingTransactionId, const DeviceClassId &deviceClassId, const ParamList &params, const QString &secret) override; Device::DeviceSetupStatus confirmPairing(const PairingTransactionId &pairingTransactionId, const DeviceClassId &deviceClassId, const ParamList &params, const QString &secret) override;
Device::DeviceError displayPin(const PairingTransactionId &pairingTransactionId, const DeviceDescriptor &deviceDescriptor) override; Device::DeviceError displayPin(const PairingTransactionId &pairingTransactionId, const DeviceDescriptor &deviceDescriptor) override;
Device::BrowseResult browseDevice(Device *device, Device::BrowseResult result, const QString &itemId = QString()) override; Device::BrowseResult browseDevice(Device *device, Device::BrowseResult result, const QString &itemId, const QLocale &locale) override;
public slots: public slots:
Device::DeviceError executeAction(Device *device, const Action &action) override; Device::DeviceError executeAction(Device *device, const Action &action) override;