diff options
Diffstat (limited to 'Swift/QtUI/QtJoinMUCDialog.cpp')
-rw-r--r-- | Swift/QtUI/QtJoinMUCDialog.cpp | 32 |
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(); +} +} |