From 100df8e73f5ff9702ac735a73d27c0793e1073d9 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Mon, 8 Mar 2010 09:55:54 +0000
Subject: [PATCH] tweak -watch

---
 Common/StringUtils.cpp | 6 ++++++
 Common/StringUtils.h   | 1 +
 Fltk/menuWindow.cpp    | 8 ++++----
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/Common/StringUtils.cpp b/Common/StringUtils.cpp
index 6669244307..edc599eb56 100644
--- a/Common/StringUtils.cpp
+++ b/Common/StringUtils.cpp
@@ -104,6 +104,12 @@ std::vector<std::string> SplitFileName(const std::string &fileName)
   return s;
 }
 
+std::string GetFileNameWithoutPath(const std::string &fileName)
+{
+  std::vector<std::string> s = SplitFileName(fileName);
+  return s[1] + s[2];
+}
+
 std::string ConvertFileToString(const std::string &fileName)
 {
   FILE *fp = fopen(fileName.c_str(), "r");
diff --git a/Common/StringUtils.h b/Common/StringUtils.h
index 7a50f119fa..81061107e2 100644
--- a/Common/StringUtils.h
+++ b/Common/StringUtils.h
@@ -16,6 +16,7 @@ std::string SanitizeTeXString(const char *in, int equation);
 std::string FixWindowsPath(const std::string &in);
 std::string FixRelativePath(const std::string &reference, const std::string &in);
 std::vector<std::string> SplitFileName(const std::string &fileName);
+std::string GetFileNameWithoutPath(const std::string &fileName);
 std::string ConvertFileToString(const std::string &fileName);
 void ReplaceSubStringInPlace(const std::string &olds, const std::string &news, 
                              std::string &str);
diff --git a/Fltk/menuWindow.cpp b/Fltk/menuWindow.cpp
index d2a503e814..bf24133351 100644
--- a/Fltk/menuWindow.cpp
+++ b/Fltk/menuWindow.cpp
@@ -434,17 +434,17 @@ void file_watch_cb(Fl_Widget *w, void *data)
   }
   if(files) free((void*)files);
 
-  Msg::Info("%d files matching watch pattern '%s'", num, pattern.c_str());
+  Msg::Info("%d files matching pattern '%s'", num, pattern.c_str());
   
   std::set<std::string> allFiles;
   for(unsigned int i = 0; i < GModel::list.size(); i++)
-    allFiles.insert(GModel::list[i]->getFileName());
+    allFiles.insert(GetFileNameWithoutPath(GModel::list[i]->getFileName()));
   for(unsigned int i = 0; i < PView::list.size(); i++)
     for(unsigned int j = 0; j < PView::list[i]->getData()->getNumTimeSteps(); j++)
-      allFiles.insert(PView::list[i]->getData()->getFileName(j));
+      allFiles.insert(GetFileNameWithoutPath(PView::list[i]->getData()->getFileName(j)));
 
   for(unsigned int i = 0; i < matches.size(); i++)
-    if(allFiles.find(matches[i]) == allFiles.end())
+    if(allFiles.find(GetFileNameWithoutPath(matches[i])) == allFiles.end())
       MergeFile(matches[i]);
   drawContext::global()->draw();
 }
-- 
GitLab