summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/QtJoinMUCDialog.cpp')
-rw-r--r--Swift/QtUI/QtJoinMUCDialog.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/Swift/QtUI/QtJoinMUCDialog.cpp b/Swift/QtUI/QtJoinMUCDialog.cpp
new file mode 100644
index 0000000..b6f5814
--- /dev/null
+++ b/Swift/QtUI/QtJoinMUCDialog.cpp
@@ -0,0 +1,32 @@
+#include "QtJoinMUCDialog.h"
+#include "QtSwiftUtil.h"
+
+namespace Swift {
+
+QtJoinMUCDialog::QtJoinMUCDialog(const QString& nick, const QString& muc, QWidget* parent) : QDialog(parent) {
+ setupUi(this);
+ errorLabel_->hide();
+ setAttribute(Qt::WA_DeleteOnClose, true);
+ connect(buttons_, SIGNAL(accepted()), SLOT(accept()));
+ connect(buttons_, SIGNAL(rejected()), SLOT(reject()));
+}
+
+void QtJoinMUCDialog::accept() {
+ if (mucJID_->displayText().isEmpty()) {
+ showError("You must specify a room to join.");
+ return;
+ }
+ if (nick_->displayText().isEmpty()) {
+ showError("You must specify a nickname to join a room.");
+ return;
+ }
+ errorLabel_->hide();
+ emit onJoinCommand(JID(Q2PSTRING(mucJID_->displayText())), nick_->displayText());
+ QDialog::accept();
+}
+
+void QtJoinMUCDialog::showError(const QString& error) {
+ errorLabel_->setText(QString("<font color='red'>%1</font>").arg(error));
+ errorLabel_->show();
+}
+}