diff options
Diffstat (limited to 'boardmodel.cpp')
-rw-r--r-- | boardmodel.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/boardmodel.cpp b/boardmodel.cpp index 3e24769..8d37fa5 100644 --- a/boardmodel.cpp +++ b/boardmodel.cpp @@ -29,9 +29,11 @@ void BoardModel::setBoard(Board *board) { if (_board != board) { disconnect(this, SLOT(reload())); + disconnect(this, SLOT(handleForumChanged(int))); _board = board; if (_board) { connect(board, SIGNAL(forumsChanged()), SLOT(reload())); + connect(board, SIGNAL(forumChanged(int)), SLOT(handleForumChanged(int))); } reload(); emit boardChanged(); @@ -141,7 +143,7 @@ void BoardModel::reload() "LEFT JOIN forums f2 ON f2.forum_id = f1.parent_id " "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;"); + "ORDER by f1.position ASC;"); _query.bindValue(0, _forumId); _query.bindValue(1, _forumId); if (!_query.exec()) { @@ -152,3 +154,9 @@ void BoardModel::reload() endResetModel(); fetchMore(); // So that at least a few rows are sent } + +void BoardModel::handleForumChanged(int forumId) +{ + Q_UNUSED(forumId); + reload(); // TODO improve +} |