diff options
Diffstat (limited to 'qt-models/models.cpp')
-rw-r--r-- | qt-models/models.cpp | 124 |
1 files changed, 1 insertions, 123 deletions
diff --git a/qt-models/models.cpp b/qt-models/models.cpp index b2d317456..5b0fc1a0f 100644 --- a/qt-models/models.cpp +++ b/qt-models/models.cpp @@ -16,7 +16,7 @@ #include "display.h" #include "color.h" #include "cleanertablemodel.h" - +#include "weigthsysteminfomodel.h" #include <QCoreApplication> #include <QDebug> #include <QDir> @@ -319,128 +319,6 @@ void WeightModel::updateDive() } } -WSInfoModel *WSInfoModel::instance() -{ - static QScopedPointer<WSInfoModel> self(new WSInfoModel()); - return self.data(); -} - -bool WSInfoModel::insertRows(int row, int count, const QModelIndex &parent) -{ - beginInsertRows(parent, rowCount(), rowCount()); - rows += count; - endInsertRows(); - return true; -} - -bool WSInfoModel::setData(const QModelIndex &index, const QVariant &value, int role) -{ - struct ws_info_t *info = &ws_info[index.row()]; - switch (index.column()) { - case DESCRIPTION: - info->name = strdup(value.toByteArray().data()); - break; - case GR: - info->grams = value.toInt(); - break; - } - emit dataChanged(index, index); - return true; -} - -void WSInfoModel::clear() -{ -} - -QVariant WSInfoModel::data(const QModelIndex &index, int role) const -{ - QVariant ret; - if (!index.isValid()) { - return ret; - } - struct ws_info_t *info = &ws_info[index.row()]; - - int gr = info->grams; - switch (role) { - case Qt::FontRole: - ret = defaultModelFont(); - break; - case Qt::DisplayRole: - case Qt::EditRole: - switch (index.column()) { - case GR: - ret = gr; - break; - case DESCRIPTION: - ret = gettextFromC::instance()->tr(info->name); - break; - } - break; - } - return ret; -} - -int WSInfoModel::rowCount(const QModelIndex &parent) const -{ - return rows + 1; -} - -const QString &WSInfoModel::biggerString() const -{ - return biggerEntry; -} - -WSInfoModel::WSInfoModel() : rows(-1) -{ - setHeaderDataStrings(QStringList() << tr("Description") << tr("kg")); - struct ws_info_t *info = ws_info; - for (info = ws_info; info->name; info++, rows++) { - QString wsInfoName = gettextFromC::instance()->tr(info->name); - if (wsInfoName.count() > biggerEntry.count()) - biggerEntry = wsInfoName; - } - - if (rows > -1) { - beginInsertRows(QModelIndex(), 0, rows); - endInsertRows(); - } -} - -void WSInfoModel::updateInfo() -{ - struct ws_info_t *info = ws_info; - beginRemoveRows(QModelIndex(), 0, this->rows); - endRemoveRows(); - rows = -1; - for (info = ws_info; info->name; info++, rows++) { - QString wsInfoName = gettextFromC::instance()->tr(info->name); - if (wsInfoName.count() > biggerEntry.count()) - biggerEntry = wsInfoName; - } - - if (rows > -1) { - beginInsertRows(QModelIndex(), 0, rows); - endInsertRows(); - } -} - -void WSInfoModel::update() -{ - if (rows > -1) { - beginRemoveRows(QModelIndex(), 0, rows); - endRemoveRows(); - rows = -1; - } - struct ws_info_t *info = ws_info; - for (info = ws_info; info->name; info++, rows++) - ; - - if (rows > -1) { - beginInsertRows(QModelIndex(), 0, rows); - endInsertRows(); - } -} - //################################################################################################# //# //# Tree Model - a Basic Tree Model so I don't need to kill myself repeating this for every model. |