summaryrefslogtreecommitdiff
path: root/boardmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'boardmodel.cpp')
-rw-r--r--boardmodel.cpp10
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
+}