diff --git a/settingdialog.cpp b/settingdialog.cpp
index be0bb42..d9640dc 100644
--- a/settingdialog.cpp
+++ b/settingdialog.cpp
@@ -1,4 +1,6 @@
 #include "settingdialog.h"
+#include <QRegExp>
+#include <QValidator>
 
 SettingDialog::SettingDialog(QWidget *parent, QString nick, QString chatroom, QString prefix)
   : QDialog(parent)
@@ -7,6 +9,14 @@
   nickEdit->setPlaceholderText(nick);
   roomEdit->setPlaceholderText(chatroom);
   prefixEdit->setPlaceholderText(prefix);
+
+  // simple validator for ccnx prefix
+  QRegExp rx("(^(/[^/]+)+$)|(^/$)");
+  QValidator *validator = new QRegExpValidator(rx, this);
+  prefixEdit->setValidator(validator);
+
+  cancelButton->setDefault(true);
+
   connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
   connect(okButton, SIGNAL(clicked()), this, SLOT(update()));
 }
@@ -17,3 +27,15 @@
   emit updated(nickEdit->text(), roomEdit->text(), prefixEdit->text()); 
   accept();
 }
+
+void
+SettingDialog::keyPressEvent(QKeyEvent *e)
+{
+  switch(e->key()) {
+    case Qt::Key_Enter:
+      update();
+      break;
+    default:
+      QDialog::keyPressEvent(e);
+  }
+}
diff --git a/settingdialog.h b/settingdialog.h
index ac63777..f9fc31c 100644
--- a/settingdialog.h
+++ b/settingdialog.h
@@ -1,6 +1,7 @@
 #ifndef SETTINGDIALOG_H
 #define SETTINGDIALOG_H
 #include "ui_settingdialog.h"
+#include <QKeyEvent>
 
 class SettingDialog : public QDialog, private Ui::SettingDialog
 {
@@ -8,6 +9,7 @@
 
 public:
   SettingDialog(QWidget *parent = 0, QString nick = QString("NULL"), QString chatroom = QString("NULL"), QString prefix = QString("NULL"));
+  virtual void keyPressEvent(QKeyEvent *e);
 
 private slots:
   void update();
