Workaround to make devices be correctly filtered again.

Flags in QML are not working correctly (as they are in Qt5), so we will
use integer values for the flags for now.
This commit is contained in:
Albert Vaca 2014-07-01 01:19:14 +02:00
parent 4ef2a07f7b
commit d72ebc4cf7
3 changed files with 11 additions and 14 deletions

View file

@ -85,19 +85,14 @@ void DevicesModel::deviceStatusChanged(const QString& id)
refreshDeviceList();
}
DevicesModel::StatusFlags DevicesModel::displayFilter() const
int DevicesModel::displayFilter() const
{
return m_displayFilter;
}
void DevicesModel::setDisplayFilter(int flags)
{
setDisplayFilter((StatusFlags)flags);
}
void DevicesModel::setDisplayFilter(DevicesModel::StatusFlags flags)
{
m_displayFilter = flags;
m_displayFilter = (StatusFlag)flags;
refreshDeviceList();
}

View file

@ -35,7 +35,7 @@ class KDECONNECTINTERFACES_EXPORT DevicesModel
: public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(StatusFlags displayFilter READ displayFilter WRITE setDisplayFilter)
Q_PROPERTY(int displayFilter READ displayFilter WRITE setDisplayFilter)
Q_PROPERTY(int count READ rowCount NOTIFY rowsChanged)
public:
@ -52,13 +52,14 @@ public:
StatusReachable = 0x02
};
Q_DECLARE_FLAGS(StatusFlags, StatusFlag)
Q_FLAGS(StatusFlags)
Q_ENUMS(StatusFlag)
DevicesModel(QObject *parent = 0);
virtual ~DevicesModel();
void setDisplayFilter(StatusFlags flags);
void setDisplayFilter(int flags);
StatusFlags displayFilter() const;
int displayFilter() const;
virtual QVariant data(const QModelIndex& index, int role) const;
virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
@ -80,7 +81,8 @@ private:
DaemonDbusInterface* m_dbusInterface;
QList<DeviceDbusInterface*> m_deviceList;
StatusFlags m_displayFilter;
};
//Q_DECLARE_OPERATORS_FOR_FLAGS(DevicesModel::StatusFlags)
#endif // DEVICESMODEL_H

View file

@ -23,7 +23,7 @@ import org.kde.plasma.core 0.1 as PlasmaCore
import org.kde.plasma.components 0.1 as PlasmaComponents
import org.kde.plasma.extras 0.1 as PlasmaExtras
import org.kde.plasma.graphicswidgets 0.1 as PlasmaWidgets
import org.kde.kdeconnect 1.0 as KdeConnect
import org.kde.kdeconnect 1.0
Item {
id: kdeconnect
@ -66,9 +66,9 @@ Item {
flickableItem: ListView {
id: devicesView
anchors.fill: parent
model: KdeConnect.DevicesModel {
model: DevicesModel {
id: connectDeviceModel
displayFilter: StatusPaired | StatusReachable
displayFilter: 3
}
delegate: DeviceDelegate { }
onCountChanged: shouldPlasmoidBeShown()