diff options
author | Javier S. Pedro <maemo@javispedro.com> | 2013-04-02 14:13:49 +0200 |
---|---|---|
committer | Javier S. Pedro <maemo@javispedro.com> | 2013-04-02 14:13:49 +0200 |
commit | 226690b61e546294ae102c4a4b48b56555609c57 (patch) | |
tree | e52865a90a3f81613e546ee9fe748720a21b909a /boardmodel.cpp | |
parent | 07abe301396f9b0fbfca67d4b4f6df6b9fdf6e82 (diff) | |
download | tapasboard-226690b61e546294ae102c4a4b48b56555609c57.tar.gz tapasboard-226690b61e546294ae102c4a4b48b56555609c57.zip |
add better support for subforums
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); |