From b8e984431aaf0fa77d22595c284c2fef0d781395 Mon Sep 17 00:00:00 2001 From: Bjorn Winckler Date: Wed, 30 Jan 2008 20:16:25 +0100 Subject: [PATCH] Added preference panel The preference panel is very simplistic at the moment. We might want to consider making it a Safari-style preference panel if the number of preferences increase. --- src/MacVim/Actions.plist | 2 + .../English.lproj/MainMenu.nib/classes.nib | 10 ++- .../English.lproj/MainMenu.nib/info.nib | 4 +- .../MainMenu.nib/keyedobjects.nib | Bin 7498 -> 7564 bytes .../English.lproj/Preferences.nib/classes.nib | 25 ++++++ .../English.lproj/Preferences.nib/info.nib | 16 ++++ .../Preferences.nib/keyedobjects.nib | Bin 0 -> 7505 bytes src/MacVim/MMAppController.h | 1 + src/MacVim/MMAppController.m | 6 ++ src/MacVim/MMPreferenceController.h | 29 +++++++ src/MacVim/MMPreferenceController.m | 82 ++++++++++++++++++ src/MacVim/MacVim.xcodeproj/project.pbxproj | 20 +++++ 12 files changed, 192 insertions(+), 3 deletions(-) create mode 100644 src/MacVim/English.lproj/Preferences.nib/classes.nib create mode 100644 src/MacVim/English.lproj/Preferences.nib/info.nib create mode 100644 src/MacVim/English.lproj/Preferences.nib/keyedobjects.nib create mode 100644 src/MacVim/MMPreferenceController.h create mode 100644 src/MacVim/MMPreferenceController.m diff --git a/src/MacVim/Actions.plist b/src/MacVim/Actions.plist index 74334236c6..b555ae9f98 100644 --- a/src/MacVim/Actions.plist +++ b/src/MacVim/Actions.plist @@ -24,6 +24,8 @@ orderFrontFontPanel: + orderFrontPreferencePanel: + performClose: performMiniaturize: diff --git a/src/MacVim/English.lproj/MainMenu.nib/classes.nib b/src/MacVim/English.lproj/MainMenu.nib/classes.nib index 72ef18a17f..09e79c993f 100644 --- a/src/MacVim/English.lproj/MainMenu.nib/classes.nib +++ b/src/MacVim/English.lproj/MainMenu.nib/classes.nib @@ -13,7 +13,15 @@ SUPERCLASS = NSObject; }, { - ACTIONS = {newWindow = id; selectNextWindow = id; selectPreviousWindow = id; }; + ACTIONS = { + fileOpen = id; + fontSizeDown = id; + fontSizeUp = id; + newWindow = id; + orderFrontPreferencePanel = id; + selectNextWindow = id; + selectPreviousWindow = id; + }; CLASS = MMAppController; LANGUAGE = ObjC; SUPERCLASS = NSObject; diff --git a/src/MacVim/English.lproj/MainMenu.nib/info.nib b/src/MacVim/English.lproj/MainMenu.nib/info.nib index 3879585f32..0384cf233e 100644 --- a/src/MacVim/English.lproj/MainMenu.nib/info.nib +++ b/src/MacVim/English.lproj/MainMenu.nib/info.nib @@ -10,12 +10,12 @@ 130 475 458 44 0 0 1024 746 IBFramework Version - 446.1 + 489.0 IBOpenObjects 29 IBSystem Version - 8R218 + 8S165 diff --git a/src/MacVim/English.lproj/MainMenu.nib/keyedobjects.nib b/src/MacVim/English.lproj/MainMenu.nib/keyedobjects.nib index b61013f5eeff5b7f8c988a3a78b1f89512246a60..66cb63120915824e42eaee161b112b69a833923e 100644 GIT binary patch literal 7564 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 literal 7498 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 XCGM`cwh;Xj1pSxJ)_-HyxP<=#AK!X= diff --git a/src/MacVim/English.lproj/Preferences.nib/classes.nib b/src/MacVim/English.lproj/Preferences.nib/classes.nib new file mode 100644 index 0000000000..506294265c --- /dev/null +++ b/src/MacVim/English.lproj/Preferences.nib/classes.nib @@ -0,0 +1,25 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = { + loginShellDidChange = id; + openFilesInTabsDidChange = id; + terminateAfterLastWindowClosedDidChange = id; + translateCtrlClickDidChange = id; + untitledWindowDidChange = id; + }; + CLASS = MMPreferenceController; + LANGUAGE = ObjC; + OUTLETS = { + loginShellButton = id; + openFilesInTabsButton = id; + terminateAfterLastWindowClosedButton = id; + translateCtrlClickButton = id; + untitledWindowPopUp = id; + }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/src/MacVim/English.lproj/Preferences.nib/info.nib b/src/MacVim/English.lproj/Preferences.nib/info.nib new file mode 100644 index 0000000000..a38ba92bac --- /dev/null +++ b/src/MacVim/English.lproj/Preferences.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 69 14 356 240 0 0 1024 746 + IBFramework Version + 489.0 + IBOpenObjects + + 5 + + IBSystem Version + 8S165 + + diff --git a/src/MacVim/English.lproj/Preferences.nib/keyedobjects.nib b/src/MacVim/English.lproj/Preferences.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..98e3fed998bf27b51f80c845119188d5b12469fb GIT binary patch literal 7505 zcmb7I34B!5)j#*n%k0aW<-I5S010ad*$DxGB!C36kqKcZOeT+HWHJ+GCIpPptH`FT zii&JP!oItpXr;DlEw-PwY+41iw%=zrv9`5U-1yFWFO#HJ`};Zb`@MJHd-t4smj7Aq zt!)YgWAXI#%RqpF4md~xJs7||H`yNzGz6E+(K*R@i3KC!s^oa2X-;ya_I5cCkJa#w zGT#h&rCe9gInf1V&E5-O1k=Le!ZdAKoj>kpDs$ZyH-$REfb$zRCF5u3O^c?*$ zeUZLIe@4&GN)9)NLhth~uz?*Mz=IQ9;06x}Ac6$9KriSGeV{M&gZ?l8yf6?3!C**+ z6c_?SVHgaD5ik-`VHBjnXh>ImTCVxG+8=6`(aXKcdIh%5^M8izUm+@ z9Fk`T!*!9CSaothSx;f8iGi?Gp46o@DtzkHKwC`umi#>goEk+5TO!e=NHaAOj+gqw z{(3n&7x~F6;yAIo%vTwS#Mw%AkloK7V0W@eHF^y~;TvR2l@4zVN#d_JQW(c+nq z1=*;$s;nXsVP7c4CBzg zrOk0a8q_DpXO;Qzs!>jb%42XFOoL*W4l|$xN}&wOp#o+y6YI~C*$9@-Dp-g`*fJJl z&1}YHsDfFzW;M))IWQN}(TJ1fSUec^$I&aZ%X}sNS~-M5`y$QJfXvLSFYCwXTd)8Y z!Xl`F#YpXkTKw063`?LM8dLx(#;=rPO_6Y&97S{bnw#Y4@}S&;JXM9!K~utt5_QOZ z`P7iVK8Btul0zY8!N1kyB*6MG+hw>N7h8nOEJb`bLKuzXYpzvT#aJ~1CbK2zp4Qfk z+%c)%jJ&o~Z);{wo;qxM50*g`Vi1RBSPm_)0#+iUJD?Trgf_Sf?gj?;z`dybeXttV zz*<-b>+$^qiNrW%S#xl?KO~3a=r06eC@x3QHga(zf=t0|B--c?sZXd7D%li?#!*5A zAxP8-as@2aC@^B7usI%&gjIDjYj{_guR@LnBXz+*F%m>^DP-DXjw(lD%49j@U#UP7 zjihp@;oUuCO00?a=$etqdNGl?n1k7wnWua&*R=67Z?fL}c^5~%0oIF$8a}1O-y9A! zc&mer-lk|o$rEzS8w`8>-cY0-@3974@iJ_J&1k(XuoWJJhhQ7J%NM*u#+wo*=*1_+<_W>lo9 zk>_Cob0c6>`zj!83C05r8lQd8-U02<0pnE9Xfc+cuHl_2XazOy67Md;0bJ=I96}4K z4Amthc8kXE2pnyPqY5{)spbK7mInL^ZPE!ic>qqrDL9RwR{~L+sF-^pF4+Bqp9%s> z2q~X5+9%C+uvk^9(=>#pJfCR#;k~&%uwCKxYHk;O~p%S2`p4=V~N+O&Ep)yF)BX z4Y91u^dAypZ@{^4hgcUf2cayzS+5#Cy$W#>3t@P9i{jDHs6Z$fSn7>OywPBNL)_aK zX^zR>S~Y;Y>bDyHmUx0hp(s)aG&6N8d7GlZv?*v!}S=3VY$WIqE^ou zUQk|7RcMOCRY>t|eXqmEs=g!H=NH5Zx^dWsoKhhtSzl(UuKr)C71{sAKf`vsU!$}_u>ry$~ zj734Y702a9HL3gL5O!d4T`^|H6FOkEo!le`Qm6UwNlK&tgMhvjYb+3 zRw_|JG#Y8CKr1TAhGn~N;_tqKZzl1?rN4L5O_s;TV3OB4$re`XGAeyN%V0UoVdAm) z|64*Qqm-o0^B2izRP`81$IO%#i$~EvELY7sB$H%ykSvm|WF6c%B)SlFj*_0$!8J5m zE*V4e$XJq3#*y*lRuIVqG7-&GKnl@dMPxD>%Rz1<)8IZ*j1{jmEH_5N!9YnQfT>&E zlBkupG*VaUk1fR#pqc^iRY6R1C|P+}&CY05>=4ztC_t4zS}(_y{wTNtEvwXM?2oGa z_4rLo$1KlvH(JPrZ8os6EFY6l78}ndvI&>SSQK*xDIuk#40CY8Sur+=m9PR-xI7$M z>5YWFmGUSh1UoAinWMGbObX`?^7G%=}Koph@<2^$H8yDDU-d!02+ zk)~NqihDId^EHbvAntbJhH$Rd(HuRPu$N0mAeQ@nx=Bk@D!eo{*Uq(6~aA)A68 zpT=ff?R3L;J0aNZ0z_>DVN%q?7?W%G{<9k}HI@1UN>iYushBqsO{gC8{&()N9^Cto zmB@W+5AL@uNLW(g`_6aBnSe@L4?e4qOK}e_(`S{*xTn?3w1%whAZy7wwcYN7B}RsS zB_c+>Yt!y0u6E)=Ybsqk*+4cPA{)u3?t-pjuR?KzmSmLTjfFG;g|1powvep{$=2>_ zju7rahAl*MIIaM-PD@*08 zHF&z7)Ey26i}tM&vk^Y{0#R8GD-R02e}zKdHAjIRzMfsBHhLH&$_teZYhXTB#VT1n z3o?tEg+5tN2R5IU<{zS)dHm2bX6E|81l61j|izCzw4 zZ;{`Sx6uR%#_C;ZP|^14*w^F_D2^<`vlwg%)!uaxTgdC#0#;M)TZv6W0SIjBG>nm>sp7bqEexl8k9qI-SP8R^2tH+3He*18}2lvI%@$o(p@Cj z-C~ta^^W~_;AoP63THaBZW_Cy)>bUvY9Y@^&&*Esj>*PSKCd-1Ljhan*tQzJcWYK! zc6w%BraUqWd$}GDZ5qED*Zc)3ht{8@N@(sC3k{D%;EX*Yt(q??U&%aP8EPV3&a zbkA3-741(`Phcmo4I}wF?z^vG)vASaSiP`mf?7=SGckrnVpOMK9V^5LpMupa1A};l z>Li***0n2%UgMUoa7%)8^#lS>A&_&wuIo0WqiXmoCklD^Ph4jz+^}}iNt!fWvY=nP zq#@goqFWZ)Lz*u73Z$nqX(jd1Dmsf+)7f+molED@`E&tY$nIoq>@IdUW9%MwFI&a# zW2@O3wwA49E9R<2p#%?ZF~qy@o{8yIt3BD++H{Vxx`&xKIZ=)>G8QQQ92)bMw}j>3*AZ|qz}<;^kMo4eUxsekI@};C*4JN(>?TYx|i;w?X-jLrw8ak zwvlaOo7on&l|9HFV%ylm>=E`T+s+rC#kE zV>3ZtqrYgUzfk*+;zI4HZ!)H8Y`A;jVQng&n&+djX5vX(9d1R=k(a5Rdg*vthG>y# z3{~GnPvI%?EA%4$E&W2L*LigPbt$@`y5YK!x>35(x(r>GE=M;;H&!=JcdKrqu0U6$ zo1(i-SFEelEz&L4)#_Sx_vtq3w(EB5j_c0o&g(AduIb*@y|4SD?ytJ9ILcYLL0mF7 zgd4_<;8M9XE}hHdvbkI?kIUy~aC137cRLs2!dw#<TM&L+K{bT#RE(ha>s-&fyX z@6`{|C+mmkhv`S?Q}r48EPakXUq4u(xdh9QR0hH-{l4HFI145fyEq0Z1~SYcRgc*wBVaK!Mm z;hf>;hBplF7_J-sW%%0YF%C9n8*`0$#(d*=<6Pr><3eMNaj~)1SZ8cAK4UyY-#p$t!92-aU@kIGF)uPdYJSYT)4bdKxOtzs!+gMe z$o#tbQ%jP?U@=)N7Mo>+CDoEKASO;1MTZdSOSw~sZtm)QFYqmAVI>tK9I^9}gEwj$H`mF(L$QrY*wr;Y%Xno!K zf%Q+;zgfSu>1_^MU)vztNZTk|rfrOEtZkg_R@+2dfvw0k#a3xsWLs>jwbj{{+g90D z+t%9F+jiOx+m70f+fLekYP({4&-Q!UN4C#wH|*4IvD@qpyVLHr3-&_$WcyV6H2ZXW ziM`BTVXw5u?0fC)_WkyQ_QUq0_T%=G_S5!r_7ClUwEx-uk^N))C-%SFKehkM{*@!i zVRiIz40fbCG93AiV#h*9$kFV$*RjQM(DAI}ImeG2=NvCOKH)iD#6V2r$MeN}HNTi| z-?MiRsLQ6L;fH9Kl#u28~m62*ZfT< zarSq5or9do&J^cR=Wu7CGvI7-u5zw+u63?=KH%Kw-0a-ue9C#=`D^Dj=bxOPId3?> zbbjr;=^`$pOK=Txjd10<@>~V3sjm61g{~Tx-xY8zcdc@*ajkQ0b?tB+cb##)C=?p5wR?nCaA?pNJ!x!-nQb-(L=-(&Xl z@$~Zy@C@_}_Du9tcq%Ah8BZX1IXdy$$5^{tI z!dzj#uu!NG{6avGg?b?G^gm6lD zLU>9zBfKd5kMO4Of$))VL)42-v7b0xOc%$B`QmtSia1rACe9Ssi0j1r#SP*naf|q% zxJ`US+%E1AcZqw%y<)q#Upy!t7LSU@#gpP`@k#M%@fq=~_`LYC___Fn_?7sL1QL}v zNiP{Cvt*U*5-+(Vk0eUBNWG=LQh&)S4U&?jA<{5ugp?|!N$FCilr7~-c~ZVKUYa0H zk_x5C(o|`hG+io@%A^XZQmT@wr8&|(DInEJOQeX@Bt@lG=}ze`X|1#Y)E}jt_g`xF I#8uk)|2$5z_y7O^ literal 0 HcmV?d00001 diff --git a/src/MacVim/MMAppController.h b/src/MacVim/MMAppController.h index 6c9d1df579..c8f3994e4f 100644 --- a/src/MacVim/MMAppController.h +++ b/src/MacVim/MMAppController.h @@ -30,5 +30,6 @@ - (IBAction)selectPreviousWindow:(id)sender; - (IBAction)fontSizeUp:(id)sender; - (IBAction)fontSizeDown:(id)sender; +- (IBAction)orderFrontPreferencePanel:(id)sender; @end diff --git a/src/MacVim/MMAppController.m b/src/MacVim/MMAppController.m index 59961a05a8..442b42df8a 100644 --- a/src/MacVim/MMAppController.m +++ b/src/MacVim/MMAppController.m @@ -29,6 +29,7 @@ #import "MMAppController.h" #import "MMVimController.h" #import "MMWindowController.h" +#import "MMPreferenceController.h" #define MM_HANDLE_XCODE_MOD_EVENT 0 @@ -511,6 +512,11 @@ typedef struct [NSNumber numberWithInt:NSSizeDownFontAction]]; } +- (IBAction)orderFrontPreferencePanel:(id)sender +{ + [[MMPreferenceController sharedPreferenceController] showWindow:self]; +} + - (byref id ) connectBackend:(byref in id )backend pid:(int)pid diff --git a/src/MacVim/MMPreferenceController.h b/src/MacVim/MMPreferenceController.h new file mode 100644 index 0000000000..8e94752611 --- /dev/null +++ b/src/MacVim/MMPreferenceController.h @@ -0,0 +1,29 @@ +/* vi:set ts=8 sts=4 sw=4 ft=objc: + * + * VIM - Vi IMproved by Bram Moolenaar + * MacVim GUI port by Bjorn Winckler + * + * Do ":help uganda" in Vim to read copying and usage conditions. + * Do ":help credits" in Vim to see a list of people who contributed. + * See README.txt for an overview of the Vim source code. + */ + +#import + +@interface MMPreferenceController : NSWindowController { + IBOutlet id loginShellButton; + IBOutlet id openFilesInTabsButton; + IBOutlet id terminateAfterLastWindowClosedButton; + IBOutlet id translateCtrlClickButton; + IBOutlet id untitledWindowPopUp; +} + ++ (MMPreferenceController *)sharedPreferenceController; + +- (IBAction)loginShellDidChange:(id)sender; +- (IBAction)openFilesInTabsDidChange:(id)sender; +- (IBAction)terminateAfterLastWindowClosedDidChange:(id)sender; +- (IBAction)translateCtrlClickDidChange:(id)sender; +- (IBAction)untitledWindowDidChange:(id)sender; + +@end diff --git a/src/MacVim/MMPreferenceController.m b/src/MacVim/MMPreferenceController.m new file mode 100644 index 0000000000..ef8cde83a6 --- /dev/null +++ b/src/MacVim/MMPreferenceController.m @@ -0,0 +1,82 @@ +/* vi:set ts=8 sts=4 sw=4 ft=objc: + * + * VIM - Vi IMproved by Bram Moolenaar + * MacVim GUI port by Bjorn Winckler + * + * Do ":help uganda" in Vim to read copying and usage conditions. + * Do ":help credits" in Vim to see a list of people who contributed. + * See README.txt for an overview of the Vim source code. + */ + +#import "MMPreferenceController.h" +#import "MacVim.h" + + + +@implementation MMPreferenceController + ++ (MMPreferenceController *)sharedPreferenceController +{ + static MMPreferenceController *singleton = nil; + if (!singleton) + singleton = [[MMPreferenceController alloc] init]; + return singleton; +} + +- (id)init +{ + self = [super initWithWindowNibName:@"Preferences"]; + if (!self) return nil; + + [self setWindowFrameAutosaveName:@"Preferences"]; + return self; +} + +- (void)windowDidLoad +{ + NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; + + [loginShellButton setState:[ud boolForKey:MMLoginShellKey]]; + [openFilesInTabsButton setState:[ud boolForKey:MMOpenFilesInTabsKey]]; + [terminateAfterLastWindowClosedButton setState: + [ud boolForKey:MMTerminateAfterLastWindowClosedKey]]; + [translateCtrlClickButton setState:[ud boolForKey:MMTranslateCtrlClickKey]]; + + int tag = [[ud objectForKey:MMUntitledWindowKey] intValue]; + if (tag < 0) tag = 0; + else if (tag > 3) tag = 3; + [untitledWindowPopUp selectItemWithTag:tag]; +} + +- (IBAction)loginShellDidChange:(id)sender +{ + NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; + [ud setBool:[sender state] forKey:MMLoginShellKey]; +} + +- (IBAction)openFilesInTabsDidChange:(id)sender +{ + NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; + [ud setBool:[sender state] forKey:MMOpenFilesInTabsKey]; +} + +- (IBAction)terminateAfterLastWindowClosedDidChange:(id)sender +{ + NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; + [ud setBool:[sender state] forKey:MMTerminateAfterLastWindowClosedKey]; +} + +- (IBAction)translateCtrlClickDidChange:(id)sender +{ + NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; + [ud setBool:[sender state] forKey:MMTranslateCtrlClickKey]; +} + +- (IBAction)untitledWindowDidChange:(id)sender +{ + NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; + int tag = [[sender selectedItem] tag]; + [ud setInteger:tag forKey:MMUntitledWindowKey]; +} + +@end diff --git a/src/MacVim/MacVim.xcodeproj/project.pbxproj b/src/MacVim/MacVim.xcodeproj/project.pbxproj index 9d55b367e1..5903ce881b 100644 --- a/src/MacVim/MacVim.xcodeproj/project.pbxproj +++ b/src/MacVim/MacVim.xcodeproj/project.pbxproj @@ -43,6 +43,9 @@ 1DD703B90BA9D15D008679E9 /* vim_gloss.icns in Resources */ = {isa = PBXBuildFile; fileRef = 1DD703B80BA9D15D008679E9 /* vim_gloss.icns */; }; 1DD704310BA9F9C2008679E9 /* SpecialKeys.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1DD704300BA9F9C2008679E9 /* SpecialKeys.plist */; }; 1DD9F5E50C85D60500E8D5A5 /* SystemColors.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */; }; + 1DE3F8E70D50F80500052B9E /* Preferences.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1DE3F8E50D50F80500052B9E /* Preferences.nib */; }; + 1DE3F8EA0D50F84600052B9E /* MMPreferenceController.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1DE3F8E80D50F84600052B9E /* MMPreferenceController.h */; }; + 1DE3F8EB0D50F84600052B9E /* MMPreferenceController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DE3F8E90D50F84600052B9E /* MMPreferenceController.m */; }; 1DE608B40C587FDA0055263D /* runtime in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1DE602470C587FD10055263D /* runtime */; }; 1DE8CC620C5E2AAD003F56E3 /* Actions.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1DE8CC610C5E2AAD003F56E3 /* Actions.plist */; }; 1DE9B94F0D341AB8008FEDD4 /* MMWindow.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1DE9B94D0D341AB8008FEDD4 /* MMWindow.h */; }; @@ -103,6 +106,7 @@ 1D493D580C5247BF00AB718C /* Vim in CopyFiles */, 1D9918480D299F9900A96335 /* MMAtsuiTextView.h in CopyFiles */, 1DE9B94F0D341AB8008FEDD4 /* MMWindow.h in CopyFiles */, + 1DE3F8EA0D50F84600052B9E /* MMPreferenceController.h in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -180,6 +184,9 @@ 1DD703B80BA9D15D008679E9 /* vim_gloss.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = vim_gloss.icns; sourceTree = ""; }; 1DD704300BA9F9C2008679E9 /* SpecialKeys.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = SpecialKeys.plist; sourceTree = ""; }; 1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = SystemColors.plist; sourceTree = ""; }; + 1DE3F8E60D50F80500052B9E /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Preferences.nib; sourceTree = ""; }; + 1DE3F8E80D50F84600052B9E /* MMPreferenceController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMPreferenceController.h; sourceTree = ""; }; + 1DE3F8E90D50F84600052B9E /* MMPreferenceController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMPreferenceController.m; sourceTree = ""; }; 1DE602470C587FD10055263D /* runtime */ = {isa = PBXFileReference; lastKnownFileType = folder; name = runtime; path = ../../runtime; sourceTree = SOURCE_ROOT; }; 1DE8CC610C5E2AAD003F56E3 /* Actions.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Actions.plist; sourceTree = ""; }; 1DE9B94D0D341AB8008FEDD4 /* MMWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMWindow.h; sourceTree = ""; }; @@ -232,6 +239,8 @@ 080E96DDFE201D6D7F000001 /* MacVim Source */ = { isa = PBXGroup; children = ( + 1DE3F8E80D50F84600052B9E /* MMPreferenceController.h */, + 1DE3F8E90D50F84600052B9E /* MMPreferenceController.m */, 1DE9B94D0D341AB8008FEDD4 /* MMWindow.h */, 1DE9B94E0D341AB8008FEDD4 /* MMWindow.m */, 1D9918460D299F9900A96335 /* MMAtsuiTextView.h */, @@ -378,6 +387,7 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( + 1DE3F8E50D50F80500052B9E /* Preferences.nib */, 1D3D190D0CA690FF0004A0A5 /* DejaVuSansMono-Bold.ttf */, 1D3D190E0CA690FF0004A0A5 /* DejaVuSansMono-BoldOblique.ttf */, 1D3D190F0CA690FF0004A0A5 /* DejaVuSansMono-Oblique.ttf */, @@ -513,6 +523,7 @@ 1D3D19120CA690FF0004A0A5 /* DejaVuSansMono-BoldOblique.ttf in Resources */, 1D3D19130CA690FF0004A0A5 /* DejaVuSansMono-Oblique.ttf in Resources */, 1D3D19140CA690FF0004A0A5 /* DejaVuSansMono.ttf in Resources */, + 1DE3F8E70D50F80500052B9E /* Preferences.nib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -536,6 +547,7 @@ 1D80FBD60CBBD3B700102A1C /* MMVimView.m in Sources */, 1D9918490D299F9900A96335 /* MMAtsuiTextView.m in Sources */, 1DE9B9500D341AB8008FEDD4 /* MMWindow.m in Sources */, + 1DE3F8EB0D50F84600052B9E /* MMPreferenceController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -558,6 +570,14 @@ name = InfoPlist.strings; sourceTree = ""; }; + 1DE3F8E50D50F80500052B9E /* Preferences.nib */ = { + isa = PBXVariantGroup; + children = ( + 1DE3F8E60D50F80500052B9E /* English */, + ); + name = Preferences.nib; + sourceTree = ""; + }; 29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = { isa = PBXVariantGroup; children = (