diff --git a/src/set-alias-dialog.h b/src/set-alias-dialog.h
new file mode 100644
index 0000000..777b2c2
--- /dev/null
+++ b/src/set-alias-dialog.h
@@ -0,0 +1,53 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2013, Regents of the University of California
+ *                     Yingdi Yu
+ *
+ * BSD license, See the LICENSE file for more information
+ *
+ * Author: Yingdi Yu <yingdi@cs.ucla.edu>
+ */
+
+#ifndef SETALIASDIALOG_H
+#define SETALIASDIALOG_H
+
+#include <QDialog>
+
+#ifndef Q_MOC_RUN
+#include <ndn-cpp-dev/name.hpp>
+#endif
+
+namespace Ui {
+class SetAliasDialog;
+}
+
+class SetAliasDialog : public QDialog
+{
+  Q_OBJECT
+
+public:
+  explicit 
+  SetAliasDialog(QWidget *parent = 0);
+
+  ~SetAliasDialog();
+
+  void
+  setTargetIdentity(const QString& targetIdentity, const QString& alias);
+
+signals:
+  void
+  aliasChanged(const QString& identity, const QString& alias);
+
+private slots:
+  void
+  onOkClicked();
+
+  void 
+  onCancelClicked();
+
+private:
+  Ui::SetAliasDialog *ui;
+  QString m_targetIdentity;
+};
+
+#endif // SETALIASDIALOG_H
