From fd411a083b979fbc58ab223920123a5c821e99a7 Mon Sep 17 00:00:00 2001 From: cxl Date: Thu, 13 Jun 2013 06:37:44 +0000 Subject: [PATCH] ide: svn issue fixed #481 git-svn-id: svn://ultimatepp.org/upp/trunk@6145 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/ide/ide.h | 2 +- uppsrc/ide/idebar.cpp | 7 ++----- uppsrc/ide/idetool.cpp | 10 ++++++++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/uppsrc/ide/ide.h b/uppsrc/ide/ide.h index 17c7c045f..38b953c2e 100644 --- a/uppsrc/ide/ide.h +++ b/uppsrc/ide/ide.h @@ -823,7 +823,7 @@ public: void LoadAbbr(); void SaveAbbr(); - Vector SvnDirs(); + Vector SvnDirs(bool actual = false); void File(Bar& menu); void EditWorkspace(); diff --git a/uppsrc/ide/idebar.cpp b/uppsrc/ide/idebar.cpp index 839eeeebd..75851c54c 100644 --- a/uppsrc/ide/idebar.cpp +++ b/uppsrc/ide/idebar.cpp @@ -327,10 +327,7 @@ void Ide::Setup(Bar& menu) { void Ide::ProjectSvn(Bar& menu) { - Vector w = SvnDirs(); - String p = GetFileFolder(PackagePath(actualpackage)); - if(IsSvnDir(p)) - w.Insert(0, p); + Vector w = SvnDirs(true); for(int i = 0; i < w.GetCount(); i++) menu.Add("Synchronize " + w[i], IdeImg::svn_dir(), THISBACK1(SyncSvnDir, w[i])); menu.Add("Synchronize everything..", IdeImg::svn(), THISBACK(SyncSvn)); @@ -365,7 +362,7 @@ void Ide::Project(Bar& menu) { if(OldLang()) menu.Add("Convert s_ -> t_", THISBACK(ConvertST)); FilePropertiesMenu(menu); - if(SvnDirs().GetCount()) + if(SvnDirs(true).GetCount()) if(menu.IsMenuBar()) menu.Add("SVN", THISBACK(ProjectSvn)); else diff --git a/uppsrc/ide/idetool.cpp b/uppsrc/ide/idetool.cpp index 2ed1c426d..59d8d2f36 100644 --- a/uppsrc/ide/idetool.cpp +++ b/uppsrc/ide/idetool.cpp @@ -311,9 +311,11 @@ void Ide::Times() while(statdlg.Run() == IDRETRY); } -Vector Ide::SvnDirs() +Vector Ide::SvnDirs(bool actual) { Vector d = GetUppDirs(); + if (actual && !IsAux()) + d.Insert(0, GetFileFolder(PackagePath(actualpackage))); Vector r; for(int i = 0; i < d.GetCount(); i++) if(IsSvnDir(d[i])) @@ -350,7 +352,11 @@ void Ide::SyncSvnDirs(const Vector& working) void Ide::SyncSvn() { - SyncSvnDirs(SvnDirs()); + Vector d = SvnDirs(); + if(d.GetCount()) + SyncSvnDirs(d); + else + SyncSvnDirs(SvnDirs(true)); } void Ide::SyncSvnDir(const String& working)