Fix some issues on syntax file saving

This commit is contained in:
1024jp 2014-04-20 10:39:22 +02:00
parent 7112746e4b
commit 1410048ad5
5 changed files with 36 additions and 24 deletions

View File

@ -256,7 +256,7 @@
NSString *styleName = [[URL lastPathComponent] stringByDeletingPathExtension];
// style
if ([[CESyntaxManager sharedManager] existsStyleFileWithStyleName:styleName]) {
if ([[[CESyntaxManager sharedManager] styleNames] containsObject:styleName]) {
//
[openPanel orderOut:blockSelf];
[[[blockSelf view] window] makeKeyAndOrderFront:blockSelf];

View File

@ -223,15 +223,23 @@
[[self styleNameField] setStringValue:styleName];
if (([self mode] == CECopySyntaxEdit) || ([self mode] == CENewSyntaxEdit)) {
if ([styleName length] < 1) { // 使
[[self messageField] setStringValue:NSLocalizedString(@"Input the Style Name!", nil)];
NSBeep();
[[[self styleNameField] window] makeFirstResponder:[self styleNameField]];
return;
} else if ([[CESyntaxManager sharedManager] existsStyleFileWithStyleName:styleName]) { //
[[self messageField] setStringValue:[NSString stringWithFormat:
NSLocalizedString(@"“%@” is already exist. Input new name.", nil), styleName]];
// style
if (([self mode] == CECopySyntaxEdit) || ([self mode] == CENewSyntaxEdit) ||
(([self mode] == CESyntaxEdit) && ![styleName isEqualToString:[self originalStyleName]]))
{
NSString *errorMessage = nil;
if ([styleName length] < 1) { //
errorMessage = NSLocalizedString(@"Input style name.", nil);
} else if ([styleName rangeOfString:@"/"].location != NSNotFound) { // 使"/"
errorMessage = NSLocalizedString(@"Style Name cannot contain “/”. Input another name.", nil);
} else if ([styleName rangeOfString:@"."].location == 0) { // 使"."
errorMessage = NSLocalizedString(@"Style Name cannot begin with “.”. Input another name.", nil);
} else if ([[[CESyntaxManager sharedManager] styleNames] containsObject:styleName]) { //
errorMessage = [NSString stringWithFormat:NSLocalizedString(@"“%@” is already exist. Input another name.", nil), styleName];
}
if (errorMessage) {
[[self messageField] setStringValue:errorMessage];
NSBeep();
[[[self styleNameField] window] makeFirstResponder:[self styleNameField]];
return;

View File

@ -321,10 +321,10 @@ NSString *const CESyntaxListDidUpdateNotification = @"CESyntaxListDidUpdateNotif
//
[self updateCache];
} else {
NSLog(@"Error. Could not remove \"%@\"", URL);
NSLog(@"Error. Could not remove \"%@\".", URL);
}
} else {
NSLog(@"Error. Could not be found \"%@\" for remove", URL);
NSLog(@"Error. Could not be found \"%@\" for remove.", URL);
}
return success;
}
@ -347,16 +347,18 @@ NSString *const CESyntaxListDidUpdateNotification = @"CESyntaxListDidUpdateNotif
NSURL *URL = [self userStyleDirectoryURL];
NSString *compareName = [originalName stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSString *copyName;
NSMutableString *copiedSyntaxName = [NSMutableString string];
NSRange copiedStrRange;
BOOL copiedState = NO;
NSInteger i = 1;
NSUInteger i = 2;
copiedStrRange = [compareName rangeOfRegularExpressionString:NSLocalizedString(@" copy$", nil)];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:NSLocalizedString(@" copy$", nil)
options:0 error:nil];
copiedStrRange = [regex rangeOfFirstMatchInString:compareName options:0 range:NSMakeRange(0, [compareName length])];
if (copiedStrRange.location != NSNotFound) {
copiedState = YES;
} else {
copiedStrRange = [compareName rangeOfRegularExpressionString:NSLocalizedString(@" copy [0-9]+$", nil)];
regex = [NSRegularExpression regularExpressionWithPattern:NSLocalizedString(@" copy [0-9]+$", nil) options:0 error:nil];
copiedStrRange = [regex rangeOfFirstMatchInString:compareName options:0 range:NSMakeRange(0, [compareName length])];
if (copiedStrRange.location != NSNotFound) {
copiedState = YES;
}
@ -368,11 +370,10 @@ NSString *const CESyntaxListDidUpdateNotification = @"CESyntaxListDidUpdateNotif
} else {
copyName = [NSString stringWithFormat:@"%@%@", compareName, NSLocalizedString(@" copy", nil)];
}
[copiedSyntaxName appendFormat:@"%@.plist", copyName];
while ([[URL URLByAppendingPathExtension:copiedSyntaxName] checkResourceIsReachableAndReturnError:nil]) {
i++;
NSMutableString *copiedSyntaxName = [copyName mutableCopy];
while ([[self styleNames] containsObject:copiedSyntaxName]) {
[copiedSyntaxName setString:[NSString stringWithFormat:@"%@ %li", copyName, (long)i]];
[copiedSyntaxName appendString:@".plist"];
i++;
}
return [copiedSyntaxName stringByDeletingPathExtension];
}

View File

@ -188,10 +188,11 @@ http://www.aynimac.com/
/* CESyntaxManager */
// Syntax coloring style name was set to blank message
"Input the Style Name!" = "スタイル名を入力してください!";
// Syntax coloring style name already exists
"“%@” is already exist. Input new name." = "“%@” は既に使われています。ほかの名前を入力してください。";
// Syntax coloring style name errors
"Input style name." = "スタイル名を入力してください。";
"“%@” is already exist. Input another name." = "“%@” は既に使われています。ほかの名前を入力してください。";
"Style Name cannot contain “/”. Input another name." = "スタイル名に “/” を含むことはできません。ほかの名前を入力してください。";
"Style Name cannot begin with “.”. Input another name." = "スタイル名を “.” から始めることはできません。ほかの名前を入力してください。";
// selected Syntax coloring style name was original
"The default style name cannot be changed." = "デフォルトのスタイル名は変更できません。";
// Suffix of copied syntax coloring style

View File

@ -91,6 +91,8 @@ changelog (for developer)
- プリントヘッダ/フッタのページ数がすべて「-1-」になってしまう不具合のを修正
- シンタックスカラーリング定義にコメントが含まれていないとき、クオート文字で囲まれた文字列がカラーリングされない不具合を修正
- シンタックススタイル編集の保存時に一部条件下で、無効なスタイル名でも警告なしに保存ができないまま編集が終了していた不具合を修正
- シンタックススタイル編集の保存時に一部条件下で、新しいスタイルと同名の既存スタイルがあったとき警告なしに上書きしていた不具合を修正
- 日本語環境でバックスラッシュが含まれたキーバインディングが機能しない不具合を修正
- 置換後、再カラーリングが実行されない不具合を修正
- 環境設定のエンコーディングリストの文字列が編集可能だったのを修正