diff --git a/telldus-gui/TelldusGui/devicemodel.cpp b/telldus-gui/TelldusGui/devicemodel.cpp index 3b68b568..aea4b4f6 100644 --- a/telldus-gui/TelldusGui/devicemodel.cpp +++ b/telldus-gui/TelldusGui/devicemodel.cpp @@ -21,6 +21,10 @@ DeviceModel::DeviceModel(QObject *parent) { connect(this, SIGNAL(deviceChange(int,int,int)), this, SLOT(deviceChanged(int,int,int)), Qt::QueuedConnection); int numberOfDevices = tdGetNumberOfDevices(); + errorNo = 0; + if (numberOfDevices < 0) { //Error + errorNo = numberOfDevices; + } for( int i = 0; i < numberOfDevices; ++i ) { int id = tdGetDeviceId(i); Device *device = new Device(id, SUPPORTED_METHODS, this); @@ -117,6 +121,18 @@ QVariant DeviceModel::headerData ( int section, Qt::Orientation orientation, int return QVariant(); } +bool DeviceModel::haveError() const { + return errorNo != 0; +} + +QString DeviceModel::errorString() const { + char *error = tdGetErrorString(errorNo); + QString errorStr = QString::fromUtf8( error ); + tdReleaseString(error); + return errorStr; +} + + Device *DeviceModel::device( const QModelIndex &index ) { if (index.row() >= devices.size()) { return 0; diff --git a/telldus-gui/TelldusGui/devicemodel.h b/telldus-gui/TelldusGui/devicemodel.h index b7a30e70..d152cc86 100644 --- a/telldus-gui/TelldusGui/devicemodel.h +++ b/telldus-gui/TelldusGui/devicemodel.h @@ -21,7 +21,10 @@ public: Device *device( const QModelIndex & ); int deviceId( const QModelIndex & ); - + + bool haveError() const; + QString errorString() const; + signals: void deviceChange(int deviceId, int, int); void showMessage( const QString &title, const QString &message, const QString &detailedMessage ); @@ -38,7 +41,7 @@ private: void triggerCellUpdate(int row, int column); // static void deviceEvent(int deviceId, int method, const char *data, int callbackId, void *context); static void WINAPI deviceChangeEvent(int deviceId, int, int, int, void *); - + // void connectDeviceSignals( Device *device ) const; // int deviceId( const QModelIndex &index ) const; // int deviceId( int index ) const; @@ -46,6 +49,7 @@ private: // mutable QHash indexToId; QList devices; int deviceChangeCallbackId; + int errorNo; }; #endif // DEVICEMODEL_H