summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Maudsley <richard.maudsley@isode.com>2014-05-02 15:57:31 (GMT)
committerSwift Review <review@swift.im>2014-05-26 19:33:36 (GMT)
commitbf3739c75fcb312a99608488c8741e2ffc15ca1e (patch)
tree0eb8697735f82bc33e2e8e59770f7ecfe4bbc8ac /Swift/QtUI/QtBookmarkDetailWindow.cpp
parentd9bd353dc90008bd8d723630ec9c037a3c1f5ad2 (diff)
downloadswift-contrib-bf3739c75fcb312a99608488c8741e2ffc15ca1e.zip
swift-contrib-bf3739c75fcb312a99608488c8741e2ffc15ca1e.tar.bz2
Allow bookmarking of MUCs from cog menu.
Change-Id: I55f696c98598ec9bfd1ac13a2abd3c1ee2b1e9fa
Diffstat (limited to 'Swift/QtUI/QtBookmarkDetailWindow.cpp')
-rw-r--r--Swift/QtUI/QtBookmarkDetailWindow.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/Swift/QtUI/QtBookmarkDetailWindow.cpp b/Swift/QtUI/QtBookmarkDetailWindow.cpp
index ae84b4b..3e501f2 100644
--- a/Swift/QtUI/QtBookmarkDetailWindow.cpp
+++ b/Swift/QtUI/QtBookmarkDetailWindow.cpp
@@ -1,52 +1,76 @@
/*
- * Copyright (c) 2010 Kevin Smith
+ * Copyright (c) 2010-2014 Kevin Smith
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
*/
#include "QtBookmarkDetailWindow.h"
#include "QtSwiftUtil.h"
#include <QMessageBox>
namespace Swift {
QtBookmarkDetailWindow::QtBookmarkDetailWindow(QWidget* parent) : QDialog(parent) {
setupUi(this);
setAttribute(Qt::WA_DeleteOnClose, true);
//connect(buttons_, SIGNAL(accepted()), SLOT(accept()));
//connect(buttons_, SIGNAL(rejected()), SLOT(reject()));
}
void QtBookmarkDetailWindow::accept() {
if (commit()) {
QDialog::accept();
}
}
boost::optional<MUCBookmark> QtBookmarkDetailWindow::createBookmarkFromForm() {
//check room
//check bookmarkName
JID room(Q2PSTRING(room_->text()));
if (!room.isValid() || room.getNode().empty() || !room.getResource().empty()) {
QMessageBox::warning(this, tr("Bookmark not valid"), tr("You must specify a valid room address (e.g. someroom@rooms.example.com)."));
return boost::optional<MUCBookmark>();
}
std::string name(Q2PSTRING(name_->text()));
if (name.empty()) {
name = room.toString();
}
MUCBookmark bookmark(room, name);
std::string nick(Q2PSTRING(nick_->text()));
std::string password(Q2PSTRING(password_->text()));
bookmark.setAutojoin(autojoin_->isChecked());
if (!nick.empty()) {
bookmark.setNick(nick);
}
if (!password.empty()) {
bookmark.setPassword(password);
}
return bookmark;
}
+void QtBookmarkDetailWindow::createFormFromBookmark(const MUCBookmark& bookmark) {
+ if (bookmark.getRoom().isValid()) {
+ room_->setText(P2QSTRING(bookmark.getRoom().toString()));
+ }
+
+ if (!bookmark.getName().empty()) {
+ name_->setText(P2QSTRING(bookmark.getName()));
+ }
+
+ if (bookmark.getNick()) {
+ nick_->setText(P2QSTRING((*bookmark.getNick())));
+ }
+
+ if (bookmark.getPassword()) {
+ password_->setText(P2QSTRING((*bookmark.getPassword())));
+ }
+
+ if (bookmark.getAutojoin()) {
+ autojoin_->setCheckState(Qt::Checked);
+ } else {
+ autojoin_->setCheckState(Qt::Unchecked);
+ }
+}
+
}