summaryrefslogtreecommitdiff
path: root/sowatchui/watchletsmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sowatchui/watchletsmodel.cpp')
-rw-r--r--sowatchui/watchletsmodel.cpp168
1 files changed, 0 insertions, 168 deletions
diff --git a/sowatchui/watchletsmodel.cpp b/sowatchui/watchletsmodel.cpp
deleted file mode 100644
index 461a38b..0000000
--- a/sowatchui/watchletsmodel.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-#include "watchletsmodel.h"
-
-using namespace sowatch;
-
-static const QString watchletsSubKey("/watchlets");
-
-WatchletsModel::WatchletsModel(QObject *parent) :
- QAbstractListModel(parent),
- _config(0),
- _unadded(false)
-{
- QHash<int, QByteArray> roles = roleNames();
- roles[Qt::DisplayRole] = QByteArray("title");
- roles[Qt::DecorationRole] = QByteArray("iconSource");
- roles[NameRole] = QByteArray("name");
- roles[ConfigQmlUrlRole] = QByteArray("configQmlUrl");
- setRoleNames(roles);
-}
-
-QString WatchletsModel::configKey() const
-{
- if (_config) {
- QString key = _config->key();
- return key.left(key.length() - watchletsSubKey.length());
- } else {
- return QString();
- }
-}
-
-void WatchletsModel::setConfigKey(const QString &configKey)
-{
- QString oldConfigKey = this->configKey();
- if (_config) {
- delete _config;
- _config = 0;
- }
- if (!configKey.isEmpty()) {
- _config = new GConfKey(configKey + watchletsSubKey, this);
- connect(_config, SIGNAL(changed()), SLOT(handleConfigChanged()));
- }
- if (this->configKey() != oldConfigKey) {
- reload();
- emit configKeyChanged();
- }
-}
-
-bool WatchletsModel::displayUnadded() const
-{
- return _unadded;
-}
-
-void WatchletsModel::setDisplayUnadded(bool displayUnadded)
-{
- qDebug() << "Set dunadded" << displayUnadded;
- _unadded = displayUnadded;
- if (_config) reload();
- emit displayUnaddedChanged();
-}
-
-int WatchletsModel::rowCount(const QModelIndex &parent) const
-{
- Q_UNUSED(parent);
- return _list.count();
-}
-
-QVariant WatchletsModel::data(const QModelIndex &index, int role) const
-{
- const QString id = _list[index.row()];
- switch (role) {
- case Qt::DisplayRole:
- return QVariant::fromValue(_info[id].name);
- case Qt::DecorationRole:
- return QVariant::fromValue(_info[id].icon);
- case NameRole:
- return QVariant::fromValue(id);
- case ConfigQmlUrlRole:
- return QVariant::fromValue(_info[id].configQmlUrl);
- }
- return QVariant();
-}
-
-void WatchletsModel::addWatchlet(const QString &name)
-{
- if (!_config) return;
- QStringList enabled = _config->value().toStringList();
- if (_enabled.contains(name)) return;
- enabled << name;
- _config->set(enabled);
-}
-
-void WatchletsModel::removeWatchlet(const QString &name)
-{
- if (!_config) return;
- QStringList enabled = _config->value().toStringList();
- enabled.removeAll(name);
- _config->set(enabled);
-}
-
-void WatchletsModel::moveWatchletUp(const QString &name)
-{
- if (!_config) return;
- QStringList enabled = _config->value().toStringList();
- int index = enabled.indexOf(name);
- qDebug() << "move up" << enabled << index << enabled[index];
- if (index > 0 && index < enabled.size()) {
- enabled.swap(index - 1, index);
- }
- _config->set(enabled);
-}
-
-void WatchletsModel::moveWatchletDown(const QString &name)
-{
- if (!_config) return;
- QStringList enabled = _config->value().toStringList();
- int index = enabled.indexOf(name);
- qDebug() << "move down" << enabled << index << enabled[index];
- if (index >= 0 && index < enabled.size() - 1) {
- enabled.swap(index, index + 1);
- }
- _config->set(enabled);
-}
-
-void WatchletsModel::reload()
-{
- Registry *registry = Registry::registry();
- Q_ASSERT(_config);
- beginResetModel();
- _list.clear();
- _info.clear();
- _enabled.clear();
-
- qDebug() << "Reloading watchlets";
-
- QStringList all = registry->allWatchlets();
- foreach (const QString& s, all) {
- WatchletPluginInterface *plugin = registry->getWatchletPlugin(s);
- if (plugin) {
- _info[s] = plugin->describeWatchlet(s);
- } else {
- WatchletPluginInterface::WatchletInfo info;
- info.name = s;
- _info[s] = info;
- }
- }
-
- QStringList enabled = _config->value().toStringList();
- _enabled = enabled.toSet();
-
- if (_unadded) {
- qDebug() << "Listing unadded watchlets from" << all;
- foreach (const QString& s, all) {
- if (!_info[s].hidden && !_enabled.contains(s)) {
- _list.append(s);
- }
- }
- _list.sort();
- } else {
- qDebug() << "Listing added watchlets from" << enabled;
- _list = enabled;
- }
- endResetModel();
-}
-
-void WatchletsModel::handleConfigChanged()
-{
- // TODO
- reload();
-}