diff options
Diffstat (limited to 'boardmodel.cpp')
-rw-r--r-- | boardmodel.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/boardmodel.cpp b/boardmodel.cpp index f8da74e..c2421f7 100644 --- a/boardmodel.cpp +++ b/boardmodel.cpp @@ -14,7 +14,7 @@ BoardModel::BoardModel(QObject *parent) : roles[LogoRole] = QByteArray("logo"); roles[DescriptionRole] = QByteArray("description"); roles[ForumIdRole] = QByteArray("forumId"); - roles[ParentIdRole] = QByteArray("parentId"); + roles[SubOnlyRole] = QByteArray("subOnly"); roles[CategoryRole] = QByteArray("category"); setRoleNames(roles); } @@ -62,18 +62,18 @@ QVariant BoardModel::data(const QModelIndex &index, int role) const } switch (role) { + case ForumIdRole: + return _query.value(0); case NameRole: return _query.value(1); - break; + case LogoRole: + return _query.value(2); case DescriptionRole: + return _query.value(3); + case SubOnlyRole: return _query.value(4); - break; - case ForumIdRole: - return _query.value(0); - break; case CategoryRole: return _query.value(5); - break; } return QVariant(); @@ -124,10 +124,10 @@ void BoardModel::reload() Board *board = board_manager->getBoard(_boardUrl); connect(board, SIGNAL(forumsChanged()), SLOT(reload())); _query = QSqlQuery(board->database()); - _query.prepare("SELECT f1.forum_id,f1.forum_name,f1.parent_id,f1.logo_url,f1.description,f2.forum_name AS cat_name FROM forums f1 " + _query.prepare("SELECT f1.forum_id,f1.forum_name,f1.logo_url,f1.description,f1.sub_only,f2.forum_name AS cat_name FROM forums f1 " "LEFT JOIN forums f2 ON f2.forum_id = f1.parent_id " - "WHERE f1.sub_only=0 AND (f1.parent_id=:parent_id_1 OR f1.parent_id IN " - " (SELECT forum_id from forums WHERE parent_id=:parent_id_2 AND sub_only=1)) " + "WHERE (f1.parent_id=:parent_id_1 AND f1.sub_only = 0) OR f1.parent_id IN " + "(SELECT forum_id from forums WHERE parent_id=:parent_id_2 AND sub_only=1) " "ORDER by f1.sort_index ASC;"); _query.bindValue(0, _rootForumId); _query.bindValue(1, _rootForumId); |