New About Window // dev phase 2.
Fix an issue that the About window failed from retrieving and presenting specified data fields from info.plist file.
This commit is contained in:
parent
0ef8db6406
commit
039b9d9a01
|
@ -276,7 +276,7 @@ static const NSTimeInterval kTimeoutInterval = 60.0;
|
||||||
|
|
||||||
- (IBAction) about:(id)sender {
|
- (IBAction) about:(id)sender {
|
||||||
// Show the window:
|
// Show the window:
|
||||||
[[frmAboutWindow defaultController].window orderFront:self];
|
[[frmAboutWindow defaultController] showWithSender:self];
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -8,6 +8,9 @@
|
||||||
<objects>
|
<objects>
|
||||||
<customObject id="-2" userLabel="File's Owner" customClass="frmAboutWindow">
|
<customObject id="-2" userLabel="File's Owner" customClass="frmAboutWindow">
|
||||||
<connections>
|
<connections>
|
||||||
|
<outlet property="appCopyrightLabel" destination="8Ju-DR-2C8" id="Odh-c7-nyT"/>
|
||||||
|
<outlet property="appEULAContent" destination="g8d-ZO-VdQ" id="mLE-Az-YkE"/>
|
||||||
|
<outlet property="appVersionLabel" destination="9Pk-k3-0cO" id="y37-SM-qyG"/>
|
||||||
<outlet property="window" destination="ttlAboutWindow" id="gIp-Ho-8D9"/>
|
<outlet property="window" destination="ttlAboutWindow" id="gIp-Ho-8D9"/>
|
||||||
</connections>
|
</connections>
|
||||||
</customObject>
|
</customObject>
|
||||||
|
|
|
@ -1327,7 +1327,7 @@ static double FindHighestScore(const vector<NodeAnchor>& nodes, double epsilon)
|
||||||
|
|
||||||
- (void)showAbout:(id)sender
|
- (void)showAbout:(id)sender
|
||||||
{
|
{
|
||||||
[[frmAboutWindow defaultController].window orderFront:sender];
|
[[frmAboutWindow defaultController] showWithSender:sender];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)toggleChineseConverter:(id)sender
|
- (void)toggleChineseConverter:(id)sender
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
// Tile Map Editor
|
// Tile Map Editor
|
||||||
//
|
//
|
||||||
// Created & Original Rights by Nicolás Miari on 2016/02/11.
|
// Created & Original Rights by Nicolás Miari on 2016/02/11.
|
||||||
// Patched by Shiki Suen for the vChewing Project.
|
// Patched by Hiraku Wang and Shiki Suen for the vChewing Project.
|
||||||
// Released under MIT License.
|
// Released under MIT License.
|
||||||
//
|
//
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
@ -29,6 +29,7 @@
|
||||||
@interface frmAboutWindow : NSWindowController
|
@interface frmAboutWindow : NSWindowController
|
||||||
|
|
||||||
+ (instancetype) defaultController;
|
+ (instancetype) defaultController;
|
||||||
|
- (void) showWithSender:(id)sender;
|
||||||
|
|
||||||
@property (nonatomic) IBOutlet NSTextField *appNameLabel;
|
@property (nonatomic) IBOutlet NSTextField *appNameLabel;
|
||||||
@property (nonatomic) IBOutlet NSTextField *appVersionLabel;
|
@property (nonatomic) IBOutlet NSTextField *appVersionLabel;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
// Tile Map Editor
|
// Tile Map Editor
|
||||||
//
|
//
|
||||||
// Created & Original Rights by Nicolás Miari on 2016/02/11.
|
// Created & Original Rights by Nicolás Miari on 2016/02/11.
|
||||||
// Patched by Shiki Suen for the vChewing Project.
|
// Patched by Hiraku Wang and Shiki Suen for the vChewing Project.
|
||||||
// Released under MIT License.
|
// Released under MIT License.
|
||||||
//
|
//
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
@ -61,15 +61,26 @@
|
||||||
|
|
||||||
[super windowDidLoad];
|
[super windowDidLoad];
|
||||||
|
|
||||||
NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
[self updateInfo];
|
||||||
|
|
||||||
self.appNameLabel.stringValue = [infoDictionary objectForKey:@"CFBundleName"];
|
|
||||||
self.appVersionLabel.stringValue = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
|
|
||||||
self.appCopyrightLabel.stringValue = [infoDictionary objectForKey:@"NSHumanReadableCopyright"];
|
|
||||||
self.appEULAContent.string = [infoDictionary objectForKey:@"CFEULAContent"];
|
|
||||||
|
|
||||||
// If you add more custom subviews to display additional information about
|
// If you add more custom subviews to display additional information about
|
||||||
// your app, configure them here
|
// your app, configure them here
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void) updateInfo {
|
||||||
|
NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
||||||
|
NSDictionary* localizedInfoDictionary = [[NSBundle mainBundle] localizedInfoDictionary];
|
||||||
|
|
||||||
|
self.appNameLabel.stringValue = [localizedInfoDictionary objectForKey:@"CFBundleName"];
|
||||||
|
self.appVersionLabel.stringValue = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
|
||||||
|
self.appCopyrightLabel.stringValue = [localizedInfoDictionary objectForKey:@"NSHumanReadableCopyright"];
|
||||||
|
self.appEULAContent.string = [localizedInfoDictionary objectForKey:@"CFEULAContent"];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) showWithSender:(id)sender {
|
||||||
|
// FIXME: updating the strings every time is a temporary workaround
|
||||||
|
[self updateInfo];
|
||||||
|
[self.window orderFront:sender];
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
Loading…
Reference in New Issue