From 5d8d6fed3fd7dd796a5a3093a7dbd46fab8d380a Mon Sep 17 00:00:00 2001 From: "Javier S. Pedro" Date: Thu, 4 Apr 2013 00:00:38 +0200 Subject: pass Board objects instead of boardUrls around QML --- boardmanager.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'boardmanager.cpp') diff --git a/boardmanager.cpp b/boardmanager.cpp index 5fbcf07..ca4dad1 100644 --- a/boardmanager.cpp +++ b/boardmanager.cpp @@ -10,15 +10,21 @@ BoardManager::BoardManager(QObject *parent) : { } -Board* BoardManager::getBoard(const QString &url) +Board* BoardManager::getBoard(const QUrl &url, const QString& username, const QString& password) { - QHash::iterator i = _boards.find(url); + Board *b; + QHash::iterator i = _boards.find(url); if (i != _boards.end()) { - return i.value(); + b = i.value(); + if (!b->loggedIn() && !username.isEmpty()) { + // If requested to login but wasn't before, login now. + b->login(username, password); + } + } else { + b = new Board(url, username, password, this); + _boards.insert(url, b); } - Board *db = new Board(url, this); - _boards.insert(url, db); - return db; + return b; } QString BoardManager::getCachePath() const -- cgit v1.2.3