diff --git a/modules/gui/share/CMakeLists.txt b/modules/gui/share/CMakeLists.txt
index c87f561e8eb50e4a7743063d3b70d090280f24e1..816af7f807240d1d363ada12768a7d9d6c8f1f37 100644
--- a/modules/gui/share/CMakeLists.txt
+++ b/modules/gui/share/CMakeLists.txt
@@ -15,6 +15,7 @@ set(GUI_ICONS
   icons/site_icon.png
   icons/split_icon.png
   icons/warning_icon.png
+  icons/refresh.png
 )
 
 set(GUI_IMAGES
diff --git a/modules/gui/share/icons/refresh.png b/modules/gui/share/icons/refresh.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd205a1a14d9756aa7d0f0746210ad171ccf7a32
Binary files /dev/null and b/modules/gui/share/icons/refresh.png differ
diff --git a/modules/gui/src/file_browser.cc b/modules/gui/src/file_browser.cc
index 96f87677e44f8ac5fc23535110286ca0fb207ca2..db12c019d0dd12a0209eeb4a6c7191d6e7f2f9da 100644
--- a/modules/gui/src/file_browser.cc
+++ b/modules/gui/src/file_browser.cc
@@ -139,9 +139,19 @@ void FileBrowser::Init(const QString& path)
   split_action->setToolTip("Split File Browser");
   split_action->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+QString("split_icon.png")));
   action_list_.append(split_action);
+  connect(split_action, SIGNAL(triggered(bool)), this, SLOT(Split()));  
+  QAction* refresh_action=new QAction(this);
+  refresh_action->setText("refresh");
+  refresh_action->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+QString("refresh.png")));
+  action_list_.append(refresh_action);
+  connect(refresh_action, SIGNAL(triggered(bool)), this, SLOT(Refresh()));
+}
 
-  connect(split_action, SIGNAL(triggered(bool)), this, SLOT(Split()));
+void FileBrowser::Refresh()
+{
+  model_->refresh();
 }
+
 ActionList FileBrowser::GetActions()
 {
   return action_list_;
diff --git a/modules/gui/src/file_browser.hh b/modules/gui/src/file_browser.hh
index 902291746cb23d08703ec670b33eedd8a10f78aa..219e5564bc06e30c7b13b19855ffd8fcaed23cfe 100644
--- a/modules/gui/src/file_browser.hh
+++ b/modules/gui/src/file_browser.hh
@@ -45,7 +45,8 @@ public:
 
 protected:
   virtual void keyPressEvent(QKeyEvent* event);
-
+public slots:
+  void Refresh();
 private slots:
   void Init(const QString& path);
   void DoubleClicked(const QModelIndex& index);