mirror of
https://github.com/gnustep/apps-projectcenter.git
synced 2025-03-17 08:01:24 +00:00
* Framework/PCSaveModifiedFiles.m: Change to more generic
implementation. PCRunSaveModifiedFilesPanel() implemented. * Framework/PCProjectBuilder.m: (prebuildCheck): Use PCRunSaveModifiedFiles(). git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27952 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
5c6a72a7ca
commit
7a92c39ce5
4 changed files with 73 additions and 41 deletions
|
@ -1,8 +1,15 @@
|
|||
2009-02-22 Sergii Stoian <stoyan255@gmail.com>
|
||||
|
||||
* Framework/PCSaveModifiedFiles.m: Change to more generic
|
||||
implementation. PCRunSaveModifiedFilesPanel() implemented.
|
||||
* Framework/PCProjectBuilder.m:
|
||||
(prebuildCheck): Use PCRunSaveModifiedFiles().
|
||||
|
||||
2009-02-22 Sergii Stoian <stoyan255@gmail.com>
|
||||
|
||||
* Framework/PCSaveModifiedFiles.m:
|
||||
* Framework/English.lproj/SaveModifiedFiles.gorm:
|
||||
* Headers/ProjectCenter/PCSaveModifiedFiles.m:
|
||||
* Headers/ProjectCenter/PCSaveModifiedFiles.h:
|
||||
Add initial implementation of "Save Modified Files" panel.
|
||||
* Framework/PCProjectBuilder.m:
|
||||
(prebuildCheck): Use PCSaveModifiedFiles.
|
||||
|
|
|
@ -492,31 +492,13 @@
|
|||
projectEditor = [project projectEditor];
|
||||
if ([projectEditor hasModifiedFiles])
|
||||
{
|
||||
PCSaveModifiedFiles *saveModified = [[PCSaveModifiedFiles alloc] init];
|
||||
|
||||
if (![saveModified openWithEditorManager:projectEditor
|
||||
defaultButtonText:@"Save and Build"
|
||||
alternateButtonText:@"Build Anyway"
|
||||
otherButtonText:@"Cancel"])
|
||||
if (!PCRunSaveModifiedFilesPanel(projectEditor,
|
||||
@"Save and Build",
|
||||
@"Build Anyway",
|
||||
@"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);
|
||||
switch (ret)
|
||||
{
|
||||
case NSAlertDefaultReturn: // Stop Build
|
||||
return NO;
|
||||
break;
|
||||
|
||||
case NSAlertAlternateReturn: // Save and Build
|
||||
[projectEditor saveAllFiles];
|
||||
break;
|
||||
}*/
|
||||
}
|
||||
|
||||
// Get make tool path
|
||||
|
|
|
@ -27,15 +27,36 @@
|
|||
|
||||
#import <ProjectCenter/PCSaveModifiedFiles.h>
|
||||
|
||||
@implementation PCSaveModifiedFiles
|
||||
|
||||
- (BOOL)openWithEditorManager:(PCEditorManager *)manager
|
||||
defaultButtonText:(NSString *)defaultText
|
||||
alternateButtonText:(NSString *)alternateText
|
||||
otherButtonText:(NSString *)otherText
|
||||
BOOL PCRunSaveModifiedFilesPanel(PCEditorManager *manager,
|
||||
NSString *defaultText,
|
||||
NSString *alternateText,
|
||||
NSString *otherText)
|
||||
{
|
||||
NSArray *filesToSave = nil;
|
||||
PCSaveModified *saveModifiedPanel;
|
||||
BOOL result;
|
||||
|
||||
if (!(saveModifiedPanel = [[PCSaveModified alloc] init]))
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
result = [saveModifiedPanel saveFilesWithEditorManager:manager
|
||||
defaultButtonText:defaultText
|
||||
alternateButtonText:alternateText
|
||||
otherButtonText:otherText];
|
||||
RELEASE(saveModifiedPanel);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@implementation PCSaveModified
|
||||
|
||||
- (BOOL)saveFilesWithEditorManager:(PCEditorManager *)manager
|
||||
defaultButtonText:(NSString *)defaultText
|
||||
alternateButtonText:(NSString *)alternateText
|
||||
otherButtonText:(NSString *)otherText
|
||||
{
|
||||
if ([NSBundle loadNibNamed:@"SaveModifiedFiles" owner:self] == NO)
|
||||
{
|
||||
NSLog(@"Error loading SaveModifiedFiles NIB file!");
|
||||
|
@ -49,7 +70,7 @@
|
|||
[filesList setHeaderView:nil];
|
||||
[filesList setDataSource:self];
|
||||
[filesList setTarget:self];
|
||||
// [filesList selectAll];
|
||||
[filesList selectAll:self];
|
||||
[filesList reloadData];
|
||||
|
||||
// Buttons
|
||||
|
@ -63,7 +84,7 @@
|
|||
|
||||
if (clickedButton == defaultButton)
|
||||
{
|
||||
// save files
|
||||
[self saveSelectedFiles];
|
||||
return YES;
|
||||
}
|
||||
else if (clickedButton == alternateButton)
|
||||
|
@ -75,15 +96,13 @@
|
|||
return NO;
|
||||
}
|
||||
|
||||
NSLog(@"MODAL is not BLOCKING!!!");
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
#ifdef DEBUG
|
||||
NSLog(@"PCSaveModifiedFiles: dealloc");
|
||||
NSLog(@"PCSaveModified: dealloc");
|
||||
#endif
|
||||
RELEASE(panel);
|
||||
|
||||
|
@ -92,6 +111,19 @@
|
|||
|
||||
- (BOOL)saveSelectedFiles
|
||||
{
|
||||
NSArray *modifiedFiles = [editorManager modifiedFiles];
|
||||
NSIndexSet *selectedRows = [filesList selectedRowIndexes];
|
||||
NSArray *filesToSave = [modifiedFiles objectsAtIndexes:selectedRows];
|
||||
NSEnumerator *enumerator = [filesToSave objectEnumerator];
|
||||
NSString *filePath = nil;
|
||||
|
||||
NSLog(@"SaveModified|filesToSave: %@", filesToSave);
|
||||
|
||||
while ((filePath = [enumerator nextObject]))
|
||||
{
|
||||
[[editorManager editorForFile:filePath] saveFileIfNeeded];
|
||||
}
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
@ -102,6 +134,9 @@
|
|||
[panel close];
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// ==== TableView delegate
|
||||
// ============================================================================
|
||||
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
|
||||
{
|
||||
if (aTableView != filesList)
|
||||
|
|
|
@ -28,7 +28,12 @@
|
|||
|
||||
#import <AppKit/AppKit.h>
|
||||
|
||||
@interface PCSaveModifiedFiles : NSObject
|
||||
BOOL PCRunSaveModifiedFilesPanel(PCEditorManager *manager,
|
||||
NSString *defaultText,
|
||||
NSString *alternateText,
|
||||
NSString *otherText);
|
||||
|
||||
@interface PCSaveModified : NSObject
|
||||
{
|
||||
PCEditorManager *editorManager;
|
||||
|
||||
|
@ -39,15 +44,17 @@
|
|||
NSButton *otherButton;
|
||||
|
||||
NSButton *clickedButton;
|
||||
|
||||
}
|
||||
|
||||
- (BOOL)openWithEditorManager:(PCEditorManager *)manager
|
||||
defaultButtonText:(NSString *)defaultText
|
||||
alternateButtonText:(NSString *)alternateText
|
||||
otherButtonText:(NSString *)otherText;
|
||||
- (BOOL)saveFilesWithEditorManager:(PCEditorManager *)manager
|
||||
defaultButtonText:(NSString *)defaultText
|
||||
alternateButtonText:(NSString *)alternateText
|
||||
otherButtonText:(NSString *)otherText;
|
||||
- (void)dealloc;
|
||||
|
||||
- (BOOL)saveSelectedFiles;
|
||||
|
||||
// TableView delegate
|
||||
- (int)numberOfRowsInTableView:(NSTableView *)aTableView;
|
||||
|
||||
- (id) tableView:(NSTableView *)aTableView
|
||||
|
@ -55,5 +62,6 @@
|
|||
row:(int)rowIndex;
|
||||
@end
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue