Changes to allow Windows user make a new project using native Open/Save panels.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@37722 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Germán Arias 2014-03-03 04:24:05 +00:00
parent ef3a931684
commit 3da9e8ca27
5 changed files with 56 additions and 5 deletions

View file

@ -1,3 +1,12 @@
2014-03-02 German Arias <germanandre@gmx.es>
* PCAppController.m: For Windows add a menu with all types of projects.
So the user can select directly the type of project he want.
* Headers/ProjectCenter/PCProjectManager.h:
* Framework/PCProjectManager.m: Add the neccesary changes to use the
selected type of project at main menu (on Windows).
* PCMenuController.m: Use the new method to make a new project.
2014-01-17 German Arias <germanandre@gmx.es>
* English.lproj/ProjectCenter.gorm: Connect option "Line Number..."

View file

@ -805,16 +805,20 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
return project;
}
- (void)newProject
- (void)newProject: (id)sender
{
NSArray *files;
NSArray *files, *types = nil;
NSString *filePath;
NSString *projectType;
PCProject *project;
#ifdef WIN32
types = [NSArray arrayWithObject: @"pcproj"];
#endif
[self createProjectTypeAccessaryView];
files = [fileManager filesOfTypes:nil
files = [fileManager filesOfTypes:types
operation:PCSaveFileOperation
multiple:NO
title:@"New Project"
@ -837,7 +841,11 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
}
}
#ifdef WIN32
projectType = [(NSMenuItem *)sender title];
#else
projectType = [projectTypePopup titleOfSelectedItem];
#endif
if (!(project = [self createProjectOfType:projectType path:filePath]))
{

View file

@ -142,7 +142,7 @@ extern NSString *PCActiveProjectDidChangeNotification;
- (void)openProject;
- (PCProject *)createProjectOfType:(NSString *)projectType
path:(NSString *)aPath;
- (void)newProject;
- (void)newProject: (id)sender;
- (BOOL)saveProject;
// Calls saveAllProjects if the preferences are setup accordingly.

View file

@ -70,6 +70,40 @@
{
[menuController setAppController:self];
[menuController setProjectManager:projectManager];
#ifdef WIN32
NSMenuItem *item;
NSMenu *typeMenu = [NSMenu new];
[[typeMenu addItemWithTitle: @"Aggregate"
action: @selector(projectNew:)
keyEquivalent: @""] setTarget: menuController];
[[typeMenu addItemWithTitle: @"Application"
action: @selector(projectNew:)
keyEquivalent: @""] setTarget: menuController];
[[typeMenu addItemWithTitle: @"Bundle"
action: @selector(projectNew:)
keyEquivalent: @""] setTarget: menuController];
[[typeMenu addItemWithTitle: @"Framework"
action: @selector(projectNew:)
keyEquivalent: @""] setTarget: menuController];
[[typeMenu addItemWithTitle: @"Library"
action: @selector(projectNew:)
keyEquivalent: @""] setTarget: menuController];
[[typeMenu addItemWithTitle: @"Resource Set"
action: @selector(projectNew:)
keyEquivalent: @""] setTarget: menuController];
[[typeMenu addItemWithTitle: @"Tool"
action: @selector(projectNew:)
keyEquivalent: @""] setTarget: menuController];
item = [[[[NSApp mainMenu] itemWithTitle: _(@"Project")] submenu]
itemWithTitle: _(@"New...")];
[item setTitle: _(@"New")];
[item setKeyEquivalent: @""];
[item setSubmenu: typeMenu];
[typeMenu release];
#endif
}
//============================================================================

View file

@ -106,7 +106,7 @@
- (void)projectNew:(id)sender
{
[projectManager newProject];
[projectManager newProject: sender];
}
- (void)projectSave:(id)sender