From 68a13d3d66253241e8fe2bf592a22745b8637cb2 Mon Sep 17 00:00:00 2001 From: Sergii Stoian Date: Sat, 12 Jun 2004 22:45:55 +0000 Subject: [PATCH] Reload subprojects list only if subprojects added/removed git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@19509 72102866-910b-0410-8b05-ffd578937521 --- Documentation/ChangeLog | 6 ++++++ Library/PCProjectBrowser.m | 24 +++++++++++++++++------- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/Documentation/ChangeLog b/Documentation/ChangeLog index fa29a07..5fa211f 100644 --- a/Documentation/ChangeLog +++ b/Documentation/ChangeLog @@ -1,3 +1,9 @@ +2004-06-13 Serg Stoyan + + * Library/PCProjectBrowser.m: + (reloadLastColumn): Reload subprojects list only if subprojects + added/removed. + 2004-06-12 Serg Stoyan * Library/PCProjectManager.m: diff --git a/Library/PCProjectBrowser.m b/Library/PCProjectBrowser.m index 2c4dc27..c06c004 100644 --- a/Library/PCProjectBrowser.m +++ b/Library/PCProjectBrowser.m @@ -254,15 +254,25 @@ NSString *PCBrowserDidSetPathNotification = @"PCBrowserDidSetPathNotification"; - (void)reloadLastColumn { - int column = [browser lastColumn]; - NSString *category = [self nameOfSelectedCategory]; - int selectedColumn = [browser selectedColumn]; - NSMatrix *colMatrix = [browser matrixInColumn:selectedColumn]; - int rowCount = 0, colCount = 0, spCount = 0; + int column = [browser lastColumn]; + NSString *category = [self nameOfSelectedCategory]; + int selectedColumn = [browser selectedColumn]; + NSMatrix *colMatrix = [browser matrixInColumn:selectedColumn]; + int rowCount = 0, colCount = 0, spCount = 0; PCProject *activeProject = [[project projectManager] activeProject]; + NSString *selCellTitle = [[browser selectedCell] stringValue]; - [colMatrix getNumberOfRows:&rowCount columns:&colCount]; - spCount = [[[activeProject projectDict] objectForKey:PCSubprojects] count]; + if ([category isEqualToString:@"Subprojects"] + && ![selCellTitle isEqualToString:@"Subprojects"]) + { // /Subprojects/Name selected + if ([selCellTitle isEqualToString:[activeProject projectName]]) + { + activeProject = [activeProject superProject]; + } + [colMatrix getNumberOfRows:&rowCount columns:&colCount]; + spCount = [[[activeProject projectDict] + objectForKey:PCSubprojects] count]; + } if ([category isEqualToString:@"Subprojects"] && rowCount != spCount && ![[[browser selectedCell] stringValue] isEqualToString:@"Subprojects"])