diff --git a/src/demo.icns b/demo.icns
similarity index 100%
rename from src/demo.icns
rename to demo.icns
Binary files differ
diff --git a/src/images/icon_large.png b/images/icon_large.png
similarity index 100%
rename from src/images/icon_large.png
rename to images/icon_large.png
Binary files differ
diff --git a/src/images/icon_small.png b/images/icon_small.png
similarity index 100%
rename from src/images/icon_small.png
rename to images/icon_small.png
Binary files differ
diff --git a/src/images/note.png b/images/note.png
similarity index 100%
rename from src/images/note.png
rename to images/note.png
Binary files differ
diff --git a/src/images/refresh.png b/images/refresh.png
similarity index 100%
rename from src/images/refresh.png
rename to images/refresh.png
Binary files differ
diff --git a/src/contactpanel.cpp b/src/contactpanel.cpp
new file mode 100644
index 0000000..9d8d8c1
--- /dev/null
+++ b/src/contactpanel.cpp
@@ -0,0 +1,14 @@
+#include "contactpanel.h"
+#include "ui_contactpanel.h"
+
+ContactPanel::ContactPanel(QWidget *parent) :
+    QDialog(parent),
+    ui(new Ui::ContactPanel)
+{
+    ui->setupUi(this);
+}
+
+ContactPanel::~ContactPanel()
+{
+    delete ui;
+}
diff --git a/src/contactpanel.h b/src/contactpanel.h
new file mode 100644
index 0000000..62e478d
--- /dev/null
+++ b/src/contactpanel.h
@@ -0,0 +1,22 @@
+#ifndef CONTACTPANEL_H
+#define CONTACTPANEL_H
+
+#include <QDialog>
+
+namespace Ui {
+class ContactPanel;
+}
+
+class ContactPanel : public QDialog
+{
+    Q_OBJECT
+
+public:
+    explicit ContactPanel(QWidget *parent = 0);
+    ~ContactPanel();
+
+private:
+    Ui::ContactPanel *ui;
+};
+
+#endif // CONTACTPANEL_H
diff --git a/src/contactpanel.ui b/src/contactpanel.ui
new file mode 100644
index 0000000..fe2629d
--- /dev/null
+++ b/src/contactpanel.ui
@@ -0,0 +1,18 @@
+<ui version="4.0">
+ <class>ContactPanel</class>
+ <widget class="QDialog" name="ContactPanel">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/main.cpp b/src/main.cpp
index 5fcaaf2..9839b4a 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -9,6 +9,7 @@
  */
 
 #include <QApplication>
+#include <QSystemTrayIcon>
 
 #include "chronochat.h"
 
@@ -16,15 +17,17 @@
 {
   QApplication app(argc, argv);
 
-// #ifdef __APPLE__
-// 	app.setWindowIcon(QIcon(":/demo.icns"));
-// #else
-// 	app.setWindowIcon(QIcon(":/images/icon_large.png"));
-// #endif
+
+//   app.setWindowIcon(QIcon("/Users/yuyingdi/Develop/QT/demo.icns"));
+// // #else
+// // 	app.setWindowIcon(QIcon("/Users/yuyingdi/Develop/QT/images/icon_large.png"));
+// // #endif
 
   ChronoChat dialog;
 
   dialog.show ();
+  dialog.activateWindow ();
+  dialog.raise ();
   
   return app.exec();
 }
