From 4251b8dc1e85a137fd24d42443e0a2a3660b40dc Mon Sep 17 00:00:00 2001 From: Kristian Duske Date: Mon, 20 Sep 2010 08:11:33 +0000 Subject: [PATCH] Added version information to launcher window. git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@336 af15c1b1-3010-417e-b628-4374ebc0bcbd --- MacOSX/AppController.h | 1 + MacOSX/AppController.m | 19 +- .../English.lproj/Launcher.nib/designable.nib | 79 +++- .../Launcher.nib/keyedobjects.nib | Bin 29766 -> 30331 bytes MacOSX/QuakeSpasm.xcodeproj/kristian.pbxuser | 378 ++++++++++-------- .../kristian.perspectivev3 | 76 ++-- MacOSX/QuakeSpasm.xcodeproj/project.pbxproj | 4 - MacOSX/SUUpdaterDelegate.h | 3 +- MacOSX/SUUpdaterDelegate.m | 14 +- 9 files changed, 343 insertions(+), 231 deletions(-) diff --git a/MacOSX/AppController.h b/MacOSX/AppController.h index 85dc8069..0e1e733f 100644 --- a/MacOSX/AppController.h +++ b/MacOSX/AppController.h @@ -34,6 +34,7 @@ extern NSString *FQPrefScreenModeKey; IBOutlet NSTabView *updateTabView; IBOutlet NSProgressIndicator *updateProgressIndicator; IBOutlet NSButton *updateButton; + IBOutlet NSTextField *versionLabel; NSMutableArray *screenModes; QuakeArguments *arguments; diff --git a/MacOSX/AppController.m b/MacOSX/AppController.m index 76ea2dcb..fbdf2efe 100644 --- a/MacOSX/AppController.m +++ b/MacOSX/AppController.m @@ -110,7 +110,10 @@ NSString *FQPrefScreenModeKey = @"ScreenMode"; [launcherWindow makeKeyAndOrderFront:self]; SUUpdater* updater = [SUUpdater sharedUpdater]; - SUUpdaterDelegate* delegate = [[SUUpdaterDelegate alloc] initWithTabView:updateTabView indicator:updateProgressIndicator button:updateButton]; + SUUpdaterDelegate* delegate = [[SUUpdaterDelegate alloc] initWithTabView:updateTabView + indicator:updateProgressIndicator + button:updateButton + label:versionLabel]; [updater setDelegate:delegate]; [updater checkForUpdateInformation]; @@ -132,18 +135,20 @@ NSString *FQPrefScreenModeKey = @"ScreenMode"; int width = [info width]; int height = [info height]; int bpp = [info bpp]; - BOOL fullscreen = [fullscreenCheckBox state] == NSOnState; [arguments addArgument:@"-width" withValue:[NSString stringWithFormat:@"%d", width]]; [arguments addArgument:@"-height" withValue:[NSString stringWithFormat:@"%d", height]]; [arguments addArgument:@"-bpp" withValue:[NSString stringWithFormat:@"%d", bpp]]; - - if (fullscreen) - [arguments addArgument:@"-fullscreen"]; - else - [arguments addArgument:@"-window"]; } + [arguments removeArgument:@"-fullscreen"]; + [arguments removeArgument:@"-window"]; + BOOL fullscreen = [fullscreenCheckBox state] == NSOnState; + if (fullscreen) + [arguments addArgument:@"-fullscreen"]; + else + [arguments addArgument:@"-window"]; + NSString *path = [NSString stringWithCString:gArgv[0] encoding:NSASCIIStringEncoding]; int i; diff --git a/MacOSX/English.lproj/Launcher.nib/designable.nib b/MacOSX/English.lproj/Launcher.nib/designable.nib index 39a55168..94188388 100644 --- a/MacOSX/English.lproj/Launcher.nib/designable.nib +++ b/MacOSX/English.lproj/Launcher.nib/designable.nib @@ -12,8 +12,8 @@ YES - + YES @@ -1099,7 +1099,7 @@ 268 - {{20, 21}, {154, 19}} + {{18, 21}, {154, 19}} YES @@ -1109,10 +1109,10 @@ LucidaGrande 12 - 4883 + 16 - -2046541569 + -2043395841 164 @@ -1133,6 +1133,33 @@ 256 + + YES + + + 268 + {{17, 22}, {52, 17}} + + YES + + 68288064 + 4195328 + Version + + + + + 6 + System + disabledControlTextColor + + 3 + MC4zMzMzMzMzMzMzAA + + + + + {252, 46} No Update found @@ -1595,6 +1622,14 @@ 516 + + + versionLabel + + + + 519 + @@ -2447,6 +2482,7 @@ YES + @@ -2469,6 +2505,20 @@ + + 517 + + + YES + + + + + + 518 + + + @@ -2647,10 +2697,14 @@ 502.IBPluginDependency 503.IBPluginDependency 504.IBPluginDependency + 505.IBPluginDependency + 506.IBPluginDependency 508.IBPluginDependency 512.CustomClassName 512.IBPluginDependency 513.IBPluginDependency + 517.IBPluginDependency + 518.IBPluginDependency 56.IBPluginDependency 56.ImportedFromIB2 57.IBEditorWindowLastContentRect @@ -2822,9 +2876,9 @@ com.apple.InterfaceBuilder.CocoaPlugin - {{596, 464}, {511, 251}} + {{560, 464}, {511, 251}} com.apple.InterfaceBuilder.CocoaPlugin - {{596, 464}, {511, 251}} + {{560, 464}, {511, 251}} {{412, 523}, {516, 280}} com.apple.InterfaceBuilder.CocoaPlugin @@ -2862,10 +2916,14 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin UpdateButton com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin {{341, 653}, {232, 183}} com.apple.InterfaceBuilder.CocoaPlugin @@ -2916,7 +2974,7 @@ - 516 + 519 @@ -2974,6 +3032,7 @@ updateButton updateProgressIndicator updateTabView + versionLabel YES @@ -2984,6 +3043,7 @@ NSButton NSProgressIndicator NSTabView + NSTextField @@ -2997,6 +3057,7 @@ updateButton updateProgressIndicator updateTabView + versionLabel YES @@ -3028,6 +3089,10 @@ updateTabView NSTabView + + versionLabel + NSTextField + diff --git a/MacOSX/English.lproj/Launcher.nib/keyedobjects.nib b/MacOSX/English.lproj/Launcher.nib/keyedobjects.nib index 53ac78090b82d9e7b0c3272bdc99afadeb33fd01..f57a5f0c8318518fce3595e391fefd15248e7872 100644 GIT binary patch literal 30331 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 aeJy>VzA#_EniX-aS~WIYROA2kMg9vt7Z61N literal 29766 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 F{{xCwB~kzY diff --git a/MacOSX/QuakeSpasm.xcodeproj/kristian.pbxuser b/MacOSX/QuakeSpasm.xcodeproj/kristian.pbxuser index 1eb52c22..0518fcfd 100644 --- a/MacOSX/QuakeSpasm.xcodeproj/kristian.pbxuser +++ b/MacOSX/QuakeSpasm.xcodeproj/kristian.pbxuser @@ -3,8 +3,9 @@ 002F3A2C09D0888800EBEB88 /* SDLMain.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1142, 1105}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 1056}"; + sepNavSelRange = "{1666, 0}"; + sepNavVisRange = "{1506, 823}"; + sepNavWindowFrame = "{{15, 140}, {987, 733}}"; }; }; 089C165DFE840E0CC02AAC07 /* English */ = { @@ -115,8 +116,8 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 306655362; - PBXWorkspaceStateSaveDate = 306655362; + PBXPerProjectTemplateStateSaveDate = 306660962; + PBXWorkspaceStateSaveDate = 306660962; }; perUserProjectItems = { 48028D3E12156C670018F743 /* PBXTextBookmark */ = 48028D3E12156C670018F743 /* PBXTextBookmark */; @@ -126,17 +127,8 @@ 48134A1D12102F680015BF15 /* PBXTextBookmark */ = 48134A1D12102F680015BF15 /* PBXTextBookmark */; 48134A1E12102F680015BF15 /* PBXTextBookmark */ = 48134A1E12102F680015BF15 /* PBXTextBookmark */; 4845112E1246256F0017BBC3 /* PBXTextBookmark */ = 4845112E1246256F0017BBC3 /* PBXTextBookmark */; - 484511C81246277E0017BBC3 /* PBXTextBookmark */ = 484511C81246277E0017BBC3 /* PBXTextBookmark */; - 484511D7124628040017BBC3 /* PBXTextBookmark */ = 484511D7124628040017BBC3 /* PBXTextBookmark */; 484511D8124628040017BBC3 /* PBXTextBookmark */ = 484511D8124628040017BBC3 /* PBXTextBookmark */; 484511D9124628040017BBC3 /* PBXTextBookmark */ = 484511D9124628040017BBC3 /* PBXTextBookmark */; - 484511DA124628040017BBC3 /* PBXTextBookmark */ = 484511DA124628040017BBC3 /* PBXTextBookmark */; - 484511DB124628040017BBC3 /* PBXTextBookmark */ = 484511DB124628040017BBC3 /* PBXTextBookmark */; - 484511DC124628040017BBC3 /* PBXTextBookmark */ = 484511DC124628040017BBC3 /* PBXTextBookmark */; - 484511DE124628040017BBC3 /* PBXTextBookmark */ = 484511DE124628040017BBC3 /* PBXTextBookmark */; - 484511DF124628040017BBC3 /* PBXTextBookmark */ = 484511DF124628040017BBC3 /* PBXTextBookmark */; - 484511E0124628040017BBC3 /* PBXTextBookmark */ = 484511E0124628040017BBC3 /* PBXTextBookmark */; - 484511FA124629AC0017BBC3 /* PBXTextBookmark */ = 484511FA124629AC0017BBC3 /* PBXTextBookmark */; 4861FA9012144B5300BBDEF1 /* PBXTextBookmark */ = 4861FA9012144B5300BBDEF1 /* PBXTextBookmark */; 4861FA9212144B5300BBDEF1 /* PBXTextBookmark */ = 4861FA9212144B5300BBDEF1 /* PBXTextBookmark */; 48821E16120DF1150008EE50 /* PBXTextBookmark */ = 48821E16120DF1150008EE50 /* PBXTextBookmark */; @@ -153,14 +145,25 @@ 48ADA3D512449A40008DB120 /* PBXTextBookmark */ = 48ADA3D512449A40008DB120 /* PBXTextBookmark */; 48ADA3DA12449A40008DB120 /* PBXTextBookmark */ = 48ADA3DA12449A40008DB120 /* PBXTextBookmark */; 48ADA3EB12449C30008DB120 /* PBXTextBookmark */ = 48ADA3EB12449C30008DB120 /* PBXTextBookmark */; - 48ADECCB1243E81B000AF19C /* PBXTextBookmark */ = 48ADECCB1243E81B000AF19C /* PBXTextBookmark */; - 48BB6B1E124731BE001239EF /* PBXTextBookmark */ = 48BB6B1E124731BE001239EF /* PBXTextBookmark */; 48BB6B20124731BE001239EF /* PBXTextBookmark */ = 48BB6B20124731BE001239EF /* PBXTextBookmark */; 48BB6B21124731BE001239EF /* PBXTextBookmark */ = 48BB6B21124731BE001239EF /* PBXTextBookmark */; 48BB6B22124731BE001239EF /* PBXTextBookmark */ = 48BB6B22124731BE001239EF /* PBXTextBookmark */; 48BB6B4D12473484001239EF /* PBXTextBookmark */ = 48BB6B4D12473484001239EF /* PBXTextBookmark */; - 48BB6B4E12473484001239EF /* PlistBookmark */ = 48BB6B4E12473484001239EF /* PlistBookmark */; - 48BB6B5112473527001239EF /* PlistBookmark */ = 48BB6B5112473527001239EF /* PlistBookmark */; + 48E31D6612474E88003972E7 /* PBXTextBookmark */ = 48E31D6612474E88003972E7 /* PBXTextBookmark */; + 48E31D6712474E88003972E7 /* PBXTextBookmark */ = 48E31D6712474E88003972E7 /* PBXTextBookmark */; + 48E31D6812474E88003972E7 /* PBXTextBookmark */ = 48E31D6812474E88003972E7 /* PBXTextBookmark */; + 48E31D6912474E88003972E7 /* PlistBookmark */ = 48E31D6912474E88003972E7 /* PlistBookmark */; + 48E31D6A12474E88003972E7 /* PBXTextBookmark */ = 48E31D6A12474E88003972E7 /* PBXTextBookmark */; + 48E31D6B12474E88003972E7 /* PBXTextBookmark */ = 48E31D6B12474E88003972E7 /* PBXTextBookmark */; + 48E31D6C12474E88003972E7 /* PBXTextBookmark */ = 48E31D6C12474E88003972E7 /* PBXTextBookmark */; + 48E31D6D12474E88003972E7 /* PBXTextBookmark */ = 48E31D6D12474E88003972E7 /* PBXTextBookmark */; + 48E31D6E12474E88003972E7 /* PBXTextBookmark */ = 48E31D6E12474E88003972E7 /* PBXTextBookmark */; + 48E31D6F12474E88003972E7 /* PBXTextBookmark */ = 48E31D6F12474E88003972E7 /* PBXTextBookmark */; + 48E31D7012474E88003972E7 /* PBXTextBookmark */ = 48E31D7012474E88003972E7 /* PBXTextBookmark */; + 48E31D7112474E88003972E7 /* PBXTextBookmark */ = 48E31D7112474E88003972E7 /* PBXTextBookmark */; + 48E31D7212474E88003972E7 /* PBXTextBookmark */ = 48E31D7212474E88003972E7 /* PBXTextBookmark */; + 48E31D7312474E88003972E7 /* XCBuildMessageTextBookmark */ = 48E31D7312474E88003972E7 /* XCBuildMessageTextBookmark */; + 48E31D7412474E88003972E7 /* PBXTextBookmark */ = 48E31D7412474E88003972E7 /* PBXTextBookmark */; 48F89F411243A3BA00EB68FB /* PBXTextBookmark */ = 48F89F411243A3BA00EB68FB /* PBXTextBookmark */; 48F89F611243AD1E00EB68FB /* PBXTextBookmark */ = 48F89F611243AD1E00EB68FB /* PBXTextBookmark */; }; @@ -280,16 +283,17 @@ }; 483A78130D2EEA5400CB2E4C /* console.c */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1343, 16809}}"; + sepNavIntBoundsRect = "{{0, 0}, {1142, 16770}}"; sepNavSelRange = "{14231, 0}"; sepNavVisRange = "{13841, 810}"; + sepNavWindowFrame = "{{38, 119}, {987, 733}}"; }; }; 483A781D0D2EEA5400CB2E4C /* sbar.c */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1411, 16848}}"; - sepNavSelRange = "{639, 0}"; - sepNavVisRange = "{0, 1513}"; + sepNavIntBoundsRect = "{{0, 0}, {1142, 16991}}"; + sepNavSelRange = "{12747, 0}"; + sepNavVisRange = "{12337, 1030}"; }; }; 483A78360D2EEA6D00CB2E4C /* in_sdl.c */ = { @@ -330,26 +334,6 @@ vrLen = 786; vrLoc = 0; }; - 484511C81246277E0017BBC3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 4890A4601205A27B00452753 /* SUUpdaterDelegate.h */; - name = "SUUpdaterDelegate.h: 21"; - rLen = 28; - rLoc = 767; - rType = 0; - vrLen = 1195; - vrLoc = 0; - }; - 484511D7124628040017BBC3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 48FE585A0D3A82C8006BB491 /* QuakeArguments.m */; - name = "QuakeArguments.m: 69"; - rLen = 0; - rLoc = 1991; - rType = 0; - vrLen = 716; - vrLoc = 5176; - }; 484511D8124628040017BBC3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 489D8D2D0D3A630D00AA4471 /* ScreenInfo.h */; @@ -370,76 +354,6 @@ vrLen = 683; vrLoc = 411; }; - 484511DA124628040017BBC3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 48B9E7BF0D340EA80001CACF /* SDLApplication.m */; - name = "SDLApplication.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 976; - vrLoc = 0; - }; - 484511DB124628040017BBC3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; - name = "SDLMain.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 1056; - vrLoc = 0; - }; - 484511DC124628040017BBC3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 48C85E3A0D3AD10E00797678 /* QuakeArgument.m */; - name = "QuakeArgument.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 455; - vrLoc = 1157; - }; - 484511DE124628040017BBC3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 4890A5D11205D55700452753 /* UpdateButton.m */; - name = "UpdateButton.m: 14"; - rLen = 0; - rLoc = 203; - rType = 0; - vrLen = 312; - vrLoc = 0; - }; - 484511DF124628040017BBC3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 4890A5D01205D55700452753 /* UpdateButton.h */; - name = "UpdateButton.h: 14"; - rLen = 0; - rLoc = 210; - rType = 0; - vrLen = 218; - vrLoc = 0; - }; - 484511E0124628040017BBC3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 48B9E7A50D340BEA0001CACF /* AppController.h */; - name = "AppController.h: 26"; - rLen = 0; - rLoc = 881; - rType = 0; - vrLen = 831; - vrLoc = 645; - }; - 484511FA124629AC0017BBC3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 48B9E7A60D340BEA0001CACF /* AppController.m */; - name = "AppController.m: 115"; - rLen = 0; - rLoc = 3743; - rType = 0; - vrLen = 1280; - vrLoc = 2769; - }; 4847CD3D12057F05000B560F /* QuakeSpasm */ = { isa = PBXExecutable; activeArgIndices = ( @@ -510,6 +424,13 @@ vrLen = 1193; vrLoc = 0; }; + 486577CA0D31A22A00E7920A /* snd_mix.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1142, 3627}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1155}"; + }; + }; 48728D280D3004A70004D61B /* net_dgrm.c */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1168, 18395}}"; @@ -536,16 +457,16 @@ }; 4890A4601205A27B00452753 /* SUUpdaterDelegate.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1142, 455}}"; - sepNavSelRange = "{767, 28}"; - sepNavVisRange = "{0, 1195}"; + sepNavIntBoundsRect = "{{0, 0}, {1142, 468}}"; + sepNavSelRange = "{1088, 0}"; + sepNavVisRange = "{3, 1250}"; }; }; 4890A4611205A27B00452753 /* SUUpdaterDelegate.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1142, 845}}"; - sepNavSelRange = "{1018, 0}"; - sepNavVisRange = "{775, 1214}"; + sepNavIntBoundsRect = "{{0, 0}, {1142, 1014}}"; + sepNavSelRange = "{2019, 247}"; + sepNavVisRange = "{1315, 1209}"; }; }; 4890A5541205C1FF00452753 /* PBXTextBookmark */ = { @@ -560,14 +481,14 @@ }; 4890A5D01205D55700452753 /* UpdateButton.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1142, 429}}"; + sepNavIntBoundsRect = "{{0, 0}, {1142, 438}}"; sepNavSelRange = "{210, 0}"; sepNavVisRange = "{0, 218}"; }; }; 4890A5D11205D55700452753 /* UpdateButton.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1142, 429}}"; + sepNavIntBoundsRect = "{{0, 0}, {1142, 438}}"; sepNavSelRange = "{203, 0}"; sepNavVisRange = "{0, 312}"; }; @@ -714,7 +635,7 @@ hitCount = 0; ignoreCount = 0; lineNumber = 15; - modificationTime = 306656386.123739; + modificationTime = 306662465.427433; originalNumberOfMultipleMatches = 1; state = 0; }; @@ -758,7 +679,7 @@ hitCount = 0; ignoreCount = 0; lineNumber = 25; - modificationTime = 306656386.124303; + modificationTime = 306662465.4282; originalNumberOfMultipleMatches = 1; state = 0; }; @@ -850,28 +771,18 @@ 48ADEC8E1243D946000AF19C /* Distribution */ = { activeExec = 0; }; - 48ADECCB1243E81B000AF19C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 483A78130D2EEA5400CB2E4C /* console.c */; - name = "console.c: 685"; - rLen = 0; - rLoc = 14231; - rType = 0; - vrLen = 810; - vrLoc = 13841; - }; 48B9E7A50D340BEA0001CACF /* AppController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1142, 637}}"; - sepNavSelRange = "{881, 0}"; - sepNavVisRange = "{645, 831}"; + sepNavIntBoundsRect = "{{0, 0}, {1142, 650}}"; + sepNavSelRange = "{1263, 0}"; + sepNavVisRange = "{585, 931}"; }; }; 48B9E7A60D340BEA0001CACF /* AppController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1379, 2483}}"; - sepNavSelRange = "{3743, 0}"; - sepNavVisRange = "{2850, 1138}"; + sepNavIntBoundsRect = "{{0, 0}, {1142, 2470}}"; + sepNavSelRange = "{5006, 0}"; + sepNavVisRange = "{4834, 1219}"; }; }; 48B9E7BE0D340EA80001CACF /* SDLApplication.h */ = { @@ -885,19 +796,9 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1142, 455}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 976}"; + sepNavVisRange = "{0, 981}"; }; }; - 48BB6B1E124731BE001239EF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 4890A4611205A27B00452753 /* SUUpdaterDelegate.m */; - name = "SUUpdaterDelegate.m: 29"; - rLen = 0; - rLoc = 1018; - rType = 0; - vrLen = 1214; - vrLoc = 775; - }; 48BB6B20124731BE001239EF /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 4890A5E71205D6D400452753 /* rnotes.html */; @@ -938,35 +839,164 @@ vrLen = 944; vrLoc = 0; }; - 48BB6B4E12473484001239EF /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D1107310486CEB800E47090 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - ); - name = /Users/kristian/Dropbox/Dokumente/Code/XCode/QuakeSpasm/MacOSX/Info.plist; - rLen = 0; - rLoc = 9223372036854775807; - }; - 48BB6B5112473527001239EF /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D1107310486CEB800E47090 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - ); - name = /Users/kristian/Dropbox/Dokumente/Code/XCode/QuakeSpasm/MacOSX/Info.plist; - rLen = 0; - rLoc = 9223372036854775807; - }; 48C85E3A0D3AD10E00797678 /* QuakeArgument.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1142, 1053}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{1157, 455}"; + sepNavVisRange = "{1156, 456}"; }; }; + 48E31D6612474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 486577CA0D31A22A00E7920A /* snd_mix.c */; + name = "snd_mix.c: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1155; + vrLoc = 0; + }; + 48E31D6712474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 48B9E7A50D340BEA0001CACF /* AppController.h */; + name = "AppController.h: 37"; + rLen = 0; + rLoc = 1263; + rType = 0; + vrLen = 931; + vrLoc = 585; + }; + 48E31D6812474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 4890A4601205A27B00452753 /* SUUpdaterDelegate.h */; + name = "SUUpdaterDelegate.h: 30"; + rLen = 0; + rLoc = 1088; + rType = 0; + vrLen = 1250; + vrLoc = 3; + }; + 48E31D6912474E88003972E7 /* PlistBookmark */ = { + isa = PlistBookmark; + fRef = 8D1107310486CEB800E47090 /* Info.plist */; + fallbackIsa = PBXBookmark; + isK = 0; + kPath = ( + CFBundleVersion, + ); + name = /Users/kristian/Dropbox/Dokumente/Code/XCode/QuakeSpasm/MacOSX/Info.plist; + rLen = 0; + rLoc = 9223372036854775807; + }; + 48E31D6A12474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 4890A5D01205D55700452753 /* UpdateButton.h */; + name = "UpdateButton.h: 14"; + rLen = 0; + rLoc = 210; + rType = 0; + vrLen = 218; + vrLoc = 0; + }; + 48E31D6B12474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 4890A5D11205D55700452753 /* UpdateButton.m */; + name = "UpdateButton.m: 14"; + rLen = 0; + rLoc = 203; + rType = 0; + vrLen = 312; + vrLoc = 0; + }; + 48E31D6C12474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 48C85E3A0D3AD10E00797678 /* QuakeArgument.m */; + name = "QuakeArgument.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 456; + vrLoc = 1156; + }; + 48E31D6D12474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 4890A4611205A27B00452753 /* SUUpdaterDelegate.m */; + name = "SUUpdaterDelegate.m: 59"; + rLen = 247; + rLoc = 2019; + rType = 0; + vrLen = 1209; + vrLoc = 1315; + }; + 48E31D6E12474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 48B9E7BF0D340EA80001CACF /* SDLApplication.m */; + name = "SDLApplication.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 981; + vrLoc = 0; + }; + 48E31D6F12474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 48FE585A0D3A82C8006BB491 /* QuakeArguments.m */; + name = "QuakeArguments.m: 155"; + rLen = 0; + rLoc = 4310; + rType = 0; + vrLen = 710; + vrLoc = 4171; + }; + 48E31D7012474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 48B9E7A60D340BEA0001CACF /* AppController.m */; + name = "AppController.m: 147"; + rLen = 0; + rLoc = 5006; + rType = 0; + vrLen = 1219; + vrLoc = 4834; + }; + 48E31D7112474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 483A781D0D2EEA5400CB2E4C /* sbar.c */; + name = "sbar.c: 507"; + rLen = 0; + rLoc = 12747; + rType = 0; + vrLen = 1030; + vrLoc = 12337; + }; + 48E31D7212474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 483A78130D2EEA5400CB2E4C /* console.c */; + name = "console.c: 685"; + rLen = 0; + rLoc = 14231; + rType = 0; + vrLen = 810; + vrLoc = 13841; + }; + 48E31D7312474E88003972E7 /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "'poseAsClass:' is deprecated (declared at /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:122)"; + fRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 80; + rType = 1; + }; + 48E31D7412474E88003972E7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 002F3A2C09D0888800EBEB88 /* SDLMain.m */; + name = "SDLMain.m: 63"; + rLen = 0; + rLoc = 1666; + rType = 0; + vrLen = 823; + vrLoc = 1506; + }; 48F89F411243A3BA00EB68FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 089C165DFE840E0CC02AAC07 /* English */; @@ -1003,9 +1033,9 @@ }; 48FE585A0D3A82C8006BB491 /* QuakeArguments.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1142, 2938}}"; - sepNavSelRange = "{1991, 0}"; - sepNavVisRange = "{5176, 716}"; + sepNavIntBoundsRect = "{{0, 0}, {1142, 2990}}"; + sepNavSelRange = "{4310, 0}"; + sepNavVisRange = "{4171, 710}"; }; }; 8D1107260486CEB800E47090 /* QuakeSpasm */ = { diff --git a/MacOSX/QuakeSpasm.xcodeproj/kristian.perspectivev3 b/MacOSX/QuakeSpasm.xcodeproj/kristian.perspectivev3 index c1577a8c..4a0ff533 100644 --- a/MacOSX/QuakeSpasm.xcodeproj/kristian.perspectivev3 +++ b/MacOSX/QuakeSpasm.xcodeproj/kristian.perspectivev3 @@ -275,10 +275,9 @@ 4890A5EA1205D6ED00452753 29B97323FDCFA39411CA2CEA 1058C7A0FEA54F0111CA2CBB - 48348942120595B1004184BC + 1058C7A2FEA54F0111CA2CBB 19C28FACFE9D520D11CA2CBB 1C37FBAC04509CD000000102 - 48BB6B13124730AB001239EF 1C37FAAC04509CD000000102 1CC0EA4004350EF90041110B 1C77FABC04509CD000000102 @@ -286,12 +285,13 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 67 - 66 + 3 + 1 + 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 510}, {215, 697}} + {{0, 0}, {215, 697}} PBXTopSmartGroupGIDs @@ -319,12 +319,14 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 4890A4C11205A7AE00452753 PBXProjectModuleLabel - Info.plist + SDLMain.m PBXSplitModuleInNavigatorKey Split0 @@ -332,11 +334,11 @@ PBXProjectModuleGUID 4890A4C21205A7AE00452753 PBXProjectModuleLabel - Info.plist + SDLMain.m _historyCapacity 0 bookmark - 48BB6B5112473527001239EF + 48E31D7412474E88003972E7 history 4890A5541205C1FF00452753 @@ -351,7 +353,6 @@ 480BB3A312174CA900939117 48F89F411243A3BA00EB68FB 48F89F611243AD1E00EB68FB - 48ADECCB1243E81B000AF19C 48ADA34D12448DC4008DB120 48ADA38012448FF7008DB120 48ADA38A124490B6008DB120 @@ -365,23 +366,26 @@ 48ADA3DA12449A40008DB120 48ADA3EB12449C30008DB120 4845112E1246256F0017BBC3 - 484511C81246277E0017BBC3 - 484511D7124628040017BBC3 484511D8124628040017BBC3 484511D9124628040017BBC3 - 484511DA124628040017BBC3 - 484511DB124628040017BBC3 - 484511DC124628040017BBC3 - 484511DE124628040017BBC3 - 484511DF124628040017BBC3 - 484511E0124628040017BBC3 - 484511FA124629AC0017BBC3 - 48BB6B1E124731BE001239EF 48BB6B20124731BE001239EF 48BB6B21124731BE001239EF 48BB6B22124731BE001239EF 48BB6B4D12473484001239EF - 48BB6B4E12473484001239EF + 48E31D6612474E88003972E7 + 48E31D6712474E88003972E7 + 48E31D6812474E88003972E7 + 48E31D6912474E88003972E7 + 48E31D6A12474E88003972E7 + 48E31D6B12474E88003972E7 + 48E31D6C12474E88003972E7 + 48E31D6D12474E88003972E7 + 48E31D6E12474E88003972E7 + 48E31D6F12474E88003972E7 + 48E31D7012474E88003972E7 + 48E31D7112474E88003972E7 + 48E31D7212474E88003972E7 + 48E31D7312474E88003972E7 SplitCount @@ -395,18 +399,18 @@ GeometryConfiguration Frame - {{0, 0}, {1203, 477}} + {{0, 0}, {1203, 470}} RubberWindowFrame 0 122 1440 756 0 0 1440 878 Module PBXNavigatorGroup Proportion - 477pt + 470pt Proportion - 233pt + 240pt Tabs @@ -420,7 +424,7 @@ GeometryConfiguration Frame - {{10, 27}, {1203, 206}} + {{10, 27}, {1203, 213}} Module XCDetailModule @@ -474,7 +478,7 @@ GeometryConfiguration Frame - {{10, 27}, {1203, 206}} + {{10, 27}, {1203, 213}} RubberWindowFrame 0 122 1440 756 0 0 1440 878 @@ -504,11 +508,11 @@ TableOfContents - 48BB6B15124730AB001239EF + 48E31D4D12474671003972E7 1CA23ED40692098700951B8B - 48BB6B16124730AB001239EF + 48E31D4E12474671003972E7 4890A4C11205A7AE00452753 - 48BB6B17124730AB001239EF + 48E31D4F12474671003972E7 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -658,14 +662,14 @@ TableOfContents - 48BB6B24124731BE001239EF + 48E31D7512474E88003972E7 1CCC7628064C1048000F2A68 1CCC7629064C1048000F2A68 - 48BB6B25124731BE001239EF - 48BB6B26124731BE001239EF - 48BB6B27124731BE001239EF - 48BB6B28124731BE001239EF - 48BB6B29124731BE001239EF + 48E31D7612474E88003972E7 + 48E31D7712474E88003972E7 + 48E31D7812474E88003972E7 + 48E31D7912474E88003972E7 + 48E31D7A12474E88003972E7 ToolbarConfigUserDefaultsMinorVersion 2 @@ -699,8 +703,8 @@ 5 WindowOrderList - 48BB6B2B124731BE001239EF - 48BB6B2C124731BE001239EF + 48E31D7B12474E88003972E7 + 48E31D7C12474E88003972E7 /Users/kristian/Dropbox/Dokumente/Code/XCode/QuakeSpasm/MacOSX/QuakeSpasm.xcodeproj WindowString diff --git a/MacOSX/QuakeSpasm.xcodeproj/project.pbxproj b/MacOSX/QuakeSpasm.xcodeproj/project.pbxproj index 1a1dff7a..0633a2b5 100644 --- a/MacOSX/QuakeSpasm.xcodeproj/project.pbxproj +++ b/MacOSX/QuakeSpasm.xcodeproj/project.pbxproj @@ -845,7 +845,6 @@ ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; FRAMEWORK_SEARCH_PATHS = ( - "$(HOME)/Library/Frameworks", /Library/Frameworks, "$(FRAMEWORK_SEARCH_PATHS)", ); @@ -853,7 +852,6 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( - "$(HOME)/Library/Frameworks/SDL.framework/Headers", /Library/Frameworks/SDL.framework/Headers, "$(HEADER_SEARCH_PATHS)", ); @@ -868,7 +866,6 @@ ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; FRAMEWORK_SEARCH_PATHS = ( - "$(HOME)/Library/Frameworks", /Library/Frameworks, "$(FRAMEWORK_SEARCH_PATHS)", ); @@ -876,7 +873,6 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( - "$(HOME)/Library/Frameworks/SDL.framework/Headers", /Library/Frameworks/SDL.framework/Headers, "$(HEADER_SEARCH_PATHS)", ); diff --git a/MacOSX/SUUpdaterDelegate.h b/MacOSX/SUUpdaterDelegate.h index 0ad786cb..df18a65a 100644 --- a/MacOSX/SUUpdaterDelegate.h +++ b/MacOSX/SUUpdaterDelegate.h @@ -24,9 +24,10 @@ NSTabView *updateTabView; NSProgressIndicator *updateProgressIndicator; NSButton *updateButton; + NSTextField *versionLabel; } -- (id)initWithTabView:(NSTabView *)tabView indicator:(NSProgressIndicator *)indicator button:(NSButton *)button; +- (id)initWithTabView:(NSTabView *)tabView indicator:(NSProgressIndicator *)indicator button:(NSButton *)button label:(NSTextField *)label; - (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update; - (void)updaterDidNotFindUpdate:(SUUpdater *)updater; diff --git a/MacOSX/SUUpdaterDelegate.m b/MacOSX/SUUpdaterDelegate.m index 347f17d1..ed4e2b69 100644 --- a/MacOSX/SUUpdaterDelegate.m +++ b/MacOSX/SUUpdaterDelegate.m @@ -22,8 +22,11 @@ @implementation SUUpdaterDelegate -- (id)initWithTabView:(NSTabView *)tabView indicator:(NSProgressIndicator *)indicator button:(NSButton *)button { - if (tabView == nil || indicator == nil || button == nil) { +- (id)initWithTabView:(NSTabView *)tabView + indicator:(NSProgressIndicator *)indicator + button:(NSButton *)button + label:(NSTextField *)label{ + if (tabView == nil || indicator == nil || button == nil || label == nil) { [self release]; return nil; } @@ -32,6 +35,7 @@ updateTabView = [tabView retain]; updateProgressIndicator = [indicator retain]; updateButton = [button retain]; + versionLabel = [label retain]; } return self; @@ -52,6 +56,11 @@ } - (void)updaterDidNotFindUpdate:(SUUpdater *)updater { + NSBundle* bundle = [NSBundle mainBundle]; + NSString* version = [NSString stringWithFormat:@"Version %@", [bundle objectForInfoDictionaryKey:@"CFBundleVersion"], nil]; + [versionLabel setStringValue:version]; + [versionLabel sizeToFit]; + [updateProgressIndicator stopAnimation:updater]; [updateTabView selectTabViewItemAtIndex:2]; } @@ -61,6 +70,7 @@ [updateTabView release]; [updateProgressIndicator release]; [updateButton release]; + [versionLabel release]; [super dealloc]; }