Compare commits

...

9 Commits

Author SHA1 Message Date
Bjorn Winckler fb5cf175af Snapshot 24 2008-03-14 21:38:36 +01:00
Bjorn Winckler 0243a624be All prefs panes have same width 2008-03-14 20:12:45 +01:00
Bjorn Winckler 96433d48a1 Update credits 2008-03-14 20:11:37 +01:00
Nico Weber e5ecb34260 Update layout of the Integration prefs pane 2008-03-14 19:44:34 +01:00
Bjorn Winckler 60fd59ea55 Remove build phase from "Edit in ODBEditor" project
The removed build phase was a "Run Script" which called a shell script
that effectively did nothing.
2008-03-14 19:25:24 +01:00
Nico Weber 8afb077865 Ensure mouse cursor is set (again)
The former patch did not work 100% and it also hogged CPU.  This patch
seems to work better and requires no extra CPU.
2008-03-14 19:12:52 +01:00
Bjorn Winckler eef4ba19a6 Take care of compiler warning in MMTextView 2008-03-13 21:45:12 +01:00
Scott 8574b2152c Fix ODB Input Manager memory issue
The Input Manager failed to retain two string objects which were
accessed after having been autoreleased.  This patch fixes the bug where
the "Edit in ..." menu entry was corrupted and related issues.

The version number of the Input Manager has been bumped to 1.2.
2008-03-13 21:41:38 +01:00
Nico Weber 90c663f76b Ensure mouse cursor is set
There is a bug in NSTextView where it keeps resetting the mouse cursor
back to the I-beam cursor.  We "fix" this by setting the custom cursor
each time the mouse moves.
2008-03-11 21:46:53 +01:00
13 changed files with 161 additions and 101 deletions
+4 -3
View File
@@ -19,14 +19,15 @@
\f1\i0 \
with the help of:\
\f2\i Nico Weber (full-screen editing, Sparkle support, ...)\
George Harker (transparency, ...)\
\f2\i Nico Weber\
George Harker\
Jjgod Jiang\
Tim Allen\
Chris Willmore\
Ben Schmidt\
\f1\i0 \
...and many others who have helped by reporting bugs or otherwise.\
...and many others who have helped by reporting bugs etc.\
\
\
Thank you to {\field{\*\fldinst{HYPERLINK "http://www.positivespinmedia.com"}}{\fldrslt Positive Spin Media}} for the PSMTabBarControl Framework.\
+57 -25
View File
@@ -1,25 +1,57 @@
{
IBClasses = (
{
CLASS = DBPrefsWindowController;
LANGUAGE = ObjC;
SUPERCLASS = NSWindowController;
},
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
ACTIONS = {installOdb = id; uninstallOdb = id; };
CLASS = MMPreferenceController;
LANGUAGE = ObjC;
OUTLETS = {
editors = NSPopUpButton;
generalPreferences = NSView;
installOdbButton = NSButton;
integrationPreferences = NSView;
obdBundleVersionLabel = NSTextField;
uninstallOdbButton = NSButton;
};
SUPERCLASS = DBPrefsWindowController;
}
);
IBVersion = 1;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBClasses</key>
<array>
<dict>
<key>ACTIONS</key>
<dict>
<key>installOdb</key>
<string>id</string>
<key>uninstallOdb</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>MMPreferenceController</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>editors</key>
<string>NSPopUpButton</string>
<key>generalPreferences</key>
<string>NSView</string>
<key>installOdbButton</key>
<string>NSButton</string>
<key>integrationPreferences</key>
<string>NSView</string>
<key>obdBundleVersionLabel</key>
<string>NSTextField</string>
<key>uninstallOdbButton</key>
<string>NSButton</string>
</dict>
<key>SUPERCLASS</key>
<string>DBPrefsWindowController</string>
</dict>
<dict>
<key>CLASS</key>
<string>FirstResponder</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>DBPrefsWindowController</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSWindowController</string>
</dict>
</array>
<key>IBVersion</key>
<string>1</string>
</dict>
</plist>
+4 -10
View File
@@ -1,16 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>69 14 356 240 0 0 1024 746 </string>
<key>IBEditorPositions</key>
<dict>
<key>191</key>
<string>260 290 503 416 0 0 1024 746 </string>
</dict>
<key>IBFramework Version</key>
<string>489.0</string>
<string>629</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>../../MacVim.xcodeproj</string>
<key>IBOldestOS</key>
@@ -18,9 +11,10 @@
<key>IBOpenObjects</key>
<array>
<integer>191</integer>
<integer>115</integer>
</array>
<key>IBSystem Version</key>
<string>8S165</string>
<string>9C31</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
Binary file not shown.
+1 -1
View File
@@ -545,7 +545,7 @@
<key>CFBundleSignature</key>
<string>VIMM</string>
<key>CFBundleVersion</key>
<string>23</string>
<string>24</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
+2
View File
@@ -28,6 +28,7 @@
NSTextField *markedTextField;
int preEditRow;
int preEditColumn;
int mouseShape;
}
- (id)initWithFrame:(NSRect)frame;
@@ -39,6 +40,7 @@
fraction:(int)percent color:(NSColor *)color;
- (void)hideMarkedTextField;
- (void)performBatchDrawWithData:(NSData *)data;
- (void)setMouseShape:(int)shape;
//
// MMTextStorage methods
+57 -1
View File
@@ -46,6 +46,7 @@ enum {
@interface MMTextView (Private)
- (void)setCursor;
- (BOOL)convertPoint:(NSPoint)point toRow:(int *)row column:(int *)column;
- (BOOL)convertRow:(int)row column:(int)column toPoint:(NSPoint *)point;
- (NSRect)trackingRect;
@@ -327,6 +328,12 @@ enum {
#endif
}
- (void)setMouseShape:(int)shape
{
mouseShape = shape;
[self setCursor];
}
- (NSFont *)font
{
return [(MMTextStorage*)[self textStorage] font];
@@ -928,6 +935,8 @@ enum {
[data appendBytes:&col length:sizeof(int)];
[[self vimController] sendMessage:MouseMovedMsgID data:data];
//NSLog(@"Moved %d %d\n", col, row);
}
}
@@ -938,8 +947,14 @@ enum {
// NOTE: This event is received even when the window is not key; thus we
// have to take care not to enable mouse moved events unless our window is
// key.
if ([[self window] isKeyWindow])
if ([[self window] isKeyWindow]) {
[[self window] setAcceptsMouseMovedEvents:YES];
// Ensure Vim gets to choose the mouse cursor when it enters over the
// text view, otherwise NSTextView will automatically set its I-Beam
// cursor.
[self setCursor];
}
}
- (void)mouseExited:(NSEvent *)event
@@ -1100,6 +1115,47 @@ enum {
@implementation MMTextView (Private)
- (void)setCursor
{
static NSCursor *customIbeamCursor = nil;
if (!customIbeamCursor) {
// Use a custom Ibeam cursor that has better contrast against dark
// backgrounds.
// TODO: Is the hotspot ok?
NSImage *ibeamImage = [NSImage imageNamed:@"ibeam"];
if (ibeamImage) {
NSSize size = [ibeamImage size];
NSPoint hotSpot = { size.width*.5f, size.height*.5f };
customIbeamCursor = [[NSCursor alloc]
initWithImage:ibeamImage hotSpot:hotSpot];
}
if (!customIbeamCursor) {
NSLog(@"WARNING: Failed to load custom Ibeam cursor");
customIbeamCursor = [NSCursor IBeamCursor];
}
}
// This switch should match mshape_names[] in misc2.c.
//
// TODO: Add missing cursor shapes.
switch (mouseShape) {
case 2: [customIbeamCursor set]; break;
case 3: case 4: [[NSCursor resizeUpDownCursor] set]; break;
case 5: case 6: [[NSCursor resizeLeftRightCursor] set]; break;
case 9: [[NSCursor crosshairCursor] set]; break;
case 10: [[NSCursor pointingHandCursor] set]; break;
case 11: [[NSCursor openHandCursor] set]; break;
default:
[[NSCursor arrowCursor] set]; break;
}
// Shape 1 indicates that the mouse cursor should be hidden.
if (1 == mouseShape)
[NSCursor setHiddenUntilMouseMoves:YES];
}
- (BOOL)convertPoint:(NSPoint)point toRow:(int *)row column:(int *)column
{
MMTextStorage *ts = (MMTextStorage*)[self textStorage];
+1 -37
View File
@@ -487,43 +487,7 @@
- (void)setMouseShape:(int)shape
{
static NSCursor *customIbeamCursor = nil;
if (!customIbeamCursor) {
// Use a custom Ibeam cursor that has better contrast against dark
// backgrounds.
// TODO: Is the hotspot ok?
NSImage *ibeamImage = [NSImage imageNamed:@"ibeam"];
if (ibeamImage) {
NSSize size = [ibeamImage size];
NSPoint hotSpot = { size.width*.5f, size.height*.5f };
customIbeamCursor = [[NSCursor alloc]
initWithImage:ibeamImage hotSpot:hotSpot];
}
if (!customIbeamCursor) {
NSLog(@"WARNING: Failed to load custom Ibeam cursor");
customIbeamCursor = [NSCursor IBeamCursor];
}
}
// This switch should match mshape_names[] in misc2.c.
//
// TODO: Add missing cursor shapes.
switch (shape) {
case 2: [customIbeamCursor set]; break;
case 3: case 4: [[NSCursor resizeUpDownCursor] set]; break;
case 5: case 6: [[NSCursor resizeLeftRightCursor] set]; break;
case 9: [[NSCursor crosshairCursor] set]; break;
case 10: [[NSCursor pointingHandCursor] set]; break;
case 11: [[NSCursor openHandCursor] set]; break;
default:
[[NSCursor arrowCursor] set]; break;
}
// Shape 1 indicates that the mouse cursor should be hidden.
if (1 == shape)
[NSCursor setHiddenUntilMouseMoves:YES];
[[vimView textView] setMouseShape:shape];
}
- (void)adjustLinespace:(int)linespace
+3 -3
View File
@@ -698,7 +698,7 @@
i386,
);
COPY_PHASE_STRIP = YES;
CURRENT_PROJECT_VERSION = 23;
CURRENT_PROJECT_VERSION = 24;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
@@ -739,7 +739,7 @@
buildSettings = {
ARCHS = "$(NATIVE_ARCH)";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 23;
CURRENT_PROJECT_VERSION = 24;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
@@ -770,7 +770,7 @@
buildSettings = {
ARCHS = "$(NATIVE_ARCH)";
COPY_PHASE_STRIP = YES;
CURRENT_PROJECT_VERSION = 23;
CURRENT_PROJECT_VERSION = 24;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
@@ -131,7 +131,6 @@
8D5B49AF048680CD000E48DA /* Resources */,
8D5B49B1048680CD000E48DA /* Sources */,
8D5B49B3048680CD000E48DA /* Frameworks */,
17ECD3290A3A1A6A009A4BA0 /* ShellScript */,
);
buildRules = (
);
@@ -172,22 +171,6 @@
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
17ECD3290A3A1A6A009A4BA0 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if [[ -d ~/Oak/Release/Edit\\ in\\ TextMate.bundle && -d ~/Source/TextMate/resources/Edit\\ in\\ TextMate ]]; then\n cp -pR ~/Oak/Release/Edit\\ in\\ TextMate.bundle ~/Source/TextMate/resources/Edit\\ in\\ TextMate\n touch ~/Source/TextMate/resources/Edit\\ in\\ TextMate\nfi";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D5B49B1048680CD000E48DA /* Sources */ = {
isa = PBXSourcesBuildPhase;
+1 -1
View File
@@ -19,7 +19,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.1</string>
<string>1.2</string>
<key>NSPrincipalClass</key>
<string>EditInODBEditor</string>
</dict>
@@ -275,10 +275,10 @@ struct PBX_SelectionRange
@"<Unknown>", @"ODBEditorName",
nil];
[defaults registerDefaults:appDefaults];
[defaults registerDefaults:appDefaults];
ODBEditorBundleIdentifier = [defaults stringForKey:@"ODBEditorBundleIdentifier"] ?: @"";
ODBEditorName = [defaults stringForKey:@"ODBEditorName"] ?: @"<Unknown>";
ODBEditorBundleIdentifier = [[defaults stringForKey:@"ODBEditorBundleIdentifier"] retain] ?: @"";
ODBEditorName = [[defaults stringForKey:@"ODBEditorName"] retain] ?: @"<Unknown>";
if([defaults boolForKey:@"DisableEditInODBEditorMenuItem"] == NO
&& ![ODBEditorBundleIdentifier isEqualToString:@""]
&& ![ODBEditorBundleIdentifier isEqualToString:mainBundleIdentifier])
+28
View File
@@ -40,6 +40,34 @@
Sparkle supports updates in zip, tar, tbz, tgz, or dmg format.
-->
<item>
<title>Snapshot 24 released</title>
<description><![CDATA[
<h1>MacVim snapshot 24 released</h1>
<p><em> The input manager bundled with snapshot 23 contained a bug which could
lead to other apps crashing on startup. If you have installed the input
manager, then you are strongly advised to update now and install the new input
manager (via the Integration preference pane). </em></p>
<p> Changes since snapshot 23:
<ul>
<li> The mouse cursor has higher contrast in insert mode (when bg=dark). </li>
<li> The layout of the Integration preference pane has been updated. </li>
</ul>
</p>
]]></description>
<pubDate>Fri, 14 Mar 2008 20:44 CET</pubDate>
<enclosure type="application/octet-stream"
url="http://macvim.googlecode.com/files/MacVim-snapshot-24.tbz"
length="8036815"
sparkle:version="24"
sparkle:shortVersionString="7.1"
/>
</item>
<item>
<title>Snapshot 23 released</title>
<description><![CDATA[