diff --git a/src/usermodel.cpp b/src/usermodel.cpp index 7158f04..883b814 100644 --- a/src/usermodel.cpp +++ b/src/usermodel.cpp @@ -83,6 +83,8 @@ UserModel::UserModel(QObject *parent) QDBusServiceWatcher::WatchForRegistration | QDBusServiceWatcher::WatchForUnregistration, this)) , m_guestEnabled(getpwuid((uid_t)SAILFISH_USERMANAGER_GUEST_UID)) { + connect(this, &UserModel::guestEnabledChanged, + this, &UserModel::maximumCountChanged); qDBusRegisterMetaType(); connect(m_dBusWatcher, &QDBusServiceWatcher::serviceRegistered, this, &UserModel::createInterface); @@ -154,7 +156,7 @@ int UserModel::count() const */ int UserModel::maximumCount() const { - return SAILFISH_USERMANAGER_MAX_USERS; + return m_guestEnabled ? SAILFISH_USERMANAGER_MAX_USERS+1 : SAILFISH_USERMANAGER_MAX_USERS; } QHash UserModel::roleNames() const diff --git a/src/usermodel.h b/src/usermodel.h index d2a62c4..f44be09 100644 --- a/src/usermodel.h +++ b/src/usermodel.h @@ -51,7 +51,7 @@ class SYSTEMSETTINGS_EXPORT UserModel: public QAbstractListModel Q_OBJECT Q_PROPERTY(bool placeholder READ placeholder WRITE setPlaceholder NOTIFY placeholderChanged) Q_PROPERTY(int count READ count NOTIFY countChanged) - Q_PROPERTY(int maximumCount READ maximumCount CONSTANT) + Q_PROPERTY(int maximumCount READ maximumCount NOTIFY maximumCountChanged) Q_PROPERTY(bool guestEnabled READ guestEnabled WRITE setGuestEnabled NOTIFY guestEnabledChanged) public: @@ -125,6 +125,7 @@ class SYSTEMSETTINGS_EXPORT UserModel: public QAbstractListModel signals: void placeholderChanged(); void countChanged(); + void maximumCountChanged(); void guestEnabledChanged(); void userGroupsChanged(int row); void userAddFailed(int error);