mirror of
https://github.com/gnustep/apps-projectcenter.git
synced 2025-03-20 01:20:59 +00:00
* Framework/PCSaveModifiedFiles.m:
* Framework/English.lproj/SaveModifiedFiles.gorm: * Headers/ProjectCenter/PCSaveModifiedFiles.m: Add initial implementation of "Save Modified Files" panel. * Framework/PCProjectBuilder.m: (prebuildCheck): Use PCSaveModifiedFiles. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27947 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
c81a433761
commit
5c6a72a7ca
9 changed files with 236 additions and 3 deletions
|
@ -1,3 +1,12 @@
|
|||
2009-02-22 Sergii Stoian <stoyan255@gmail.com>
|
||||
|
||||
* Framework/PCSaveModifiedFiles.m:
|
||||
* Framework/English.lproj/SaveModifiedFiles.gorm:
|
||||
* Headers/ProjectCenter/PCSaveModifiedFiles.m:
|
||||
Add initial implementation of "Save Modified Files" panel.
|
||||
* Framework/PCProjectBuilder.m:
|
||||
(prebuildCheck): Use PCSaveModifiedFiles.
|
||||
|
||||
2009-02-19 Sergii Stoian <stoyan255@gmail.com>
|
||||
|
||||
* Framework/PCProjectBuilder.m:
|
||||
|
|
Binary file not shown.
22
Framework/English.lproj/SaveModifiedFiles.gorm/data.classes
Normal file
22
Framework/English.lproj/SaveModifiedFiles.gorm/data.classes
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"## Comment" = "Do NOT change this file, Gorm maintains it";
|
||||
FirstResponder = {
|
||||
Actions = (
|
||||
"buttonClicked:"
|
||||
);
|
||||
Super = NSObject;
|
||||
};
|
||||
SaveModifiedFilesDelegate = {
|
||||
Actions = (
|
||||
"buttonClicked:"
|
||||
);
|
||||
Outlets = (
|
||||
alternateButton,
|
||||
defaultButton,
|
||||
panel,
|
||||
otherButton,
|
||||
filesList
|
||||
);
|
||||
Super = NSObject;
|
||||
};
|
||||
}
|
BIN
Framework/English.lproj/SaveModifiedFiles.gorm/data.info
Normal file
BIN
Framework/English.lproj/SaveModifiedFiles.gorm/data.info
Normal file
Binary file not shown.
BIN
Framework/English.lproj/SaveModifiedFiles.gorm/objects.gorm
Normal file
BIN
Framework/English.lproj/SaveModifiedFiles.gorm/objects.gorm
Normal file
Binary file not shown.
|
@ -33,6 +33,7 @@ ProjectCenter_HEADER_FILES = \
|
|||
PCAddFilesPanel.h \
|
||||
PCFileCreator.h \
|
||||
PCMakefileFactory.h \
|
||||
PCSaveModifiedFiles.h \
|
||||
\
|
||||
PCProjectManager.h \
|
||||
PCProject.h \
|
||||
|
@ -65,6 +66,7 @@ ProjectCenter_OBJC_FILES = \
|
|||
PCFileManager.m \
|
||||
PCAddFilesPanel.m \
|
||||
PCFileCreator.m \
|
||||
PCSaveModifiedFiles.m \
|
||||
\
|
||||
PCProjectManager.m \
|
||||
PCProject.m \
|
||||
|
@ -116,7 +118,8 @@ ProjectCenter_LOCALIZED_RESOURCE_FILES = \
|
|||
ProjectDescription.gorm \
|
||||
FileAttributes.gorm \
|
||||
LogPanel.gorm \
|
||||
Preferences.gorm
|
||||
SaveModifiedFiles.gorm
|
||||
|
||||
|
||||
ProjectCenter_LANGUAGES = \
|
||||
English
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
|
||||
#import <ProjectCenter/PCProjectEditor.h>
|
||||
#import <Protocols/CodeEditor.h>
|
||||
#import <ProjectCenter/PCSaveModifiedFiles.h>
|
||||
|
||||
#import <ProjectCenter/PCLogController.h>
|
||||
#import <Protocols/Preferences.h>
|
||||
|
@ -491,7 +492,18 @@
|
|||
projectEditor = [project projectEditor];
|
||||
if ([projectEditor hasModifiedFiles])
|
||||
{
|
||||
ret = NSRunAlertPanel(@"Project Build",
|
||||
PCSaveModifiedFiles *saveModified = [[PCSaveModifiedFiles alloc] init];
|
||||
|
||||
if (![saveModified openWithEditorManager:projectEditor
|
||||
defaultButtonText:@"Save and Build"
|
||||
alternateButtonText:@"Build Anyway"
|
||||
otherButtonText:@"Cancel"])
|
||||
{
|
||||
RELEASE(saveModified);
|
||||
return NO;
|
||||
}
|
||||
RELEASE(saveModified);
|
||||
/* ret = NSRunAlertPanel(@"Project Build",
|
||||
@"Project has unsaved files.\n"
|
||||
"Do you want to save files before build a project?",
|
||||
@"Stop Build", @"Save and Build", nil);
|
||||
|
@ -504,7 +516,7 @@
|
|||
case NSAlertAlternateReturn: // Save and Build
|
||||
[projectEditor saveAllFiles];
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
// Get make tool path
|
||||
|
|
128
Framework/PCSaveModifiedFiles.m
Normal file
128
Framework/PCSaveModifiedFiles.m
Normal file
|
@ -0,0 +1,128 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
Authors: Philippe C.D. Robert
|
||||
Serg Stoyan
|
||||
|
||||
This file is part of GNUstep.
|
||||
|
||||
This application is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This application is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
|
||||
*/
|
||||
|
||||
#import <ProjectCenter/PCEditorManager.h>
|
||||
|
||||
#import <ProjectCenter/PCSaveModifiedFiles.h>
|
||||
|
||||
@implementation PCSaveModifiedFiles
|
||||
|
||||
- (BOOL)openWithEditorManager:(PCEditorManager *)manager
|
||||
defaultButtonText:(NSString *)defaultText
|
||||
alternateButtonText:(NSString *)alternateText
|
||||
otherButtonText:(NSString *)otherText
|
||||
{
|
||||
NSArray *filesToSave = nil;
|
||||
|
||||
if ([NSBundle loadNibNamed:@"SaveModifiedFiles" owner:self] == NO)
|
||||
{
|
||||
NSLog(@"Error loading SaveModifiedFiles NIB file!");
|
||||
return NO;
|
||||
}
|
||||
|
||||
editorManager = manager;
|
||||
|
||||
// Table
|
||||
[filesList setCornerView:nil];
|
||||
[filesList setHeaderView:nil];
|
||||
[filesList setDataSource:self];
|
||||
[filesList setTarget:self];
|
||||
// [filesList selectAll];
|
||||
[filesList reloadData];
|
||||
|
||||
// Buttons
|
||||
[defaultButton setStringValue:defaultText];
|
||||
[alternateButton setStringValue:alternateText];
|
||||
[otherButton setStringValue:otherText];
|
||||
|
||||
[panel makeKeyAndOrderFront:self];
|
||||
|
||||
[NSApp runModalForWindow:panel];
|
||||
|
||||
if (clickedButton == defaultButton)
|
||||
{
|
||||
// save files
|
||||
return YES;
|
||||
}
|
||||
else if (clickedButton == alternateButton)
|
||||
{
|
||||
return YES;
|
||||
}
|
||||
else if (clickedButton == otherButton)
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
NSLog(@"MODAL is not BLOCKING!!!");
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
#ifdef DEBUG
|
||||
NSLog(@"PCSaveModifiedFiles: dealloc");
|
||||
#endif
|
||||
RELEASE(panel);
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (BOOL)saveSelectedFiles
|
||||
{
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)buttonClicked:(id)sender
|
||||
{
|
||||
clickedButton = sender;
|
||||
[NSApp stopModal];
|
||||
[panel close];
|
||||
}
|
||||
|
||||
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
|
||||
{
|
||||
if (aTableView != filesList)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return [[editorManager modifiedFiles] count];
|
||||
}
|
||||
|
||||
- (id) tableView:(NSTableView *)aTableView
|
||||
objectValueForTableColumn:(NSTableColumn *)aTableColumn
|
||||
row:(int)rowIndex
|
||||
{
|
||||
if (aTableView != filesList)
|
||||
{
|
||||
return nil;
|
||||
}
|
||||
|
||||
return [[[editorManager modifiedFiles] objectAtIndex:rowIndex] lastPathComponent];
|
||||
}
|
||||
|
||||
@end
|
||||
|
59
Headers/ProjectCenter/PCSaveModifiedFiles.h
Normal file
59
Headers/ProjectCenter/PCSaveModifiedFiles.h
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
Authors: Philippe C.D. Robert
|
||||
Serg Stoyan
|
||||
|
||||
This file is part of GNUstep.
|
||||
|
||||
This application is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This application is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
|
||||
*/
|
||||
|
||||
#ifndef _PCSaveModifiedFiles_h_
|
||||
#define _PCSaveModifiedFiles_h_
|
||||
|
||||
#import <AppKit/AppKit.h>
|
||||
|
||||
@interface PCSaveModifiedFiles : NSObject
|
||||
{
|
||||
PCEditorManager *editorManager;
|
||||
|
||||
NSWindow *panel;
|
||||
NSTableView *filesList;
|
||||
NSButton *defaultButton;
|
||||
NSButton *alternateButton;
|
||||
NSButton *otherButton;
|
||||
|
||||
NSButton *clickedButton;
|
||||
|
||||
}
|
||||
|
||||
- (BOOL)openWithEditorManager:(PCEditorManager *)manager
|
||||
defaultButtonText:(NSString *)defaultText
|
||||
alternateButtonText:(NSString *)alternateText
|
||||
otherButtonText:(NSString *)otherText;
|
||||
- (void)dealloc;
|
||||
|
||||
- (int)numberOfRowsInTableView:(NSTableView *)aTableView;
|
||||
|
||||
- (id) tableView:(NSTableView *)aTableView
|
||||
objectValueForTableColumn:(NSTableColumn *)aTableColumn
|
||||
row:(int)rowIndex;
|
||||
@end
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in a new issue