Skip to content

Commit 52ef892

Browse files
committed
Added size slider menu item and fixed minimap scrollView magnification.
1 parent 67546f6 commit 52ef892

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

SCXcodeMinimap/SCXcodeMinimap.m

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,18 +112,30 @@ - (void)createMenuItem
112112
[showHideMinimapItem setTarget:self];
113113
[minimapMenu addItem:showHideMinimapItem];
114114

115-
NSMenuItem *minimapSizeItem = [[NSMenuItem alloc] init];
116-
NSSlider *sizeSlider = [[NSSlider alloc] initWithFrame:CGRectMake(0, 0, 150, 30)];
117-
[sizeSlider setAutoresizingMask:NSViewMinXMargin | NSViewMaxXMargin | NSViewMinYMargin | NSViewMaxYMargin];
115+
[minimapMenu addItem:[NSMenuItem separatorItem]];
116+
117+
NSView *sizeView = [[NSView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 200.0f, 20.0f)];
118+
[sizeView setAutoresizingMask:NSViewMinXMargin | NSViewMaxXMargin | NSViewMinYMargin | NSViewMaxYMargin];
119+
120+
NSTextField *sizeViewTitleLabel = [[NSTextField alloc] initWithFrame:NSMakeRect(18.0f, 0.0f, 50.0f, 20.0f)];
121+
[sizeViewTitleLabel setStringValue:@"Size"];
122+
[sizeViewTitleLabel setFont:[NSFont systemFontOfSize:14]];
123+
[sizeViewTitleLabel setBezeled:NO];
124+
[sizeViewTitleLabel setDrawsBackground:NO];
125+
[sizeViewTitleLabel setEditable:NO];
126+
[sizeViewTitleLabel setSelectable:NO];
127+
[sizeView addSubview:sizeViewTitleLabel];
128+
129+
NSSlider *sizeSlider = [[NSSlider alloc] initWithFrame:CGRectMake(60.0f, 0.0f, 136.0f, 20.0f)];
118130
[sizeSlider setMaxValue:0.35f];
119131
[sizeSlider setMinValue:0.05f];
120132
[sizeSlider setTarget:self];
121133
[sizeSlider setAction:@selector(onSizeSliderValueChanged:)];
134+
[sizeSlider setDoubleValue:[[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapZoomLevelKey] doubleValue]];
135+
[sizeView addSubview:sizeSlider];
122136

123-
CGFloat zoomLevel = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapZoomLevelKey] doubleValue];
124-
[sizeSlider setDoubleValue:zoomLevel];
125-
126-
[minimapSizeItem setView:sizeSlider];
137+
NSMenuItem *minimapSizeItem = [[NSMenuItem alloc] init];
138+
[minimapSizeItem setView:sizeView];
127139
[minimapMenu addItem:minimapSizeItem];
128140

129141
BOOL shouldDisplayMinimap = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldDisplayKey] boolValue];

SCXcodeMinimap/SCXcodeMinimapView.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ - (instancetype)initWithEditor:(IDESourceCodeEditor *)editor
125125
[self.scrollView setDocumentView:self.textView];
126126

127127
self.selectionView = [[SCXcodeMinimapSelectionView alloc] init];
128-
[self.textView addSubview:_selectionView];
128+
[self.textView addSubview:self.selectionView];
129129

130130
[self updateTheme];
131131

@@ -483,16 +483,16 @@ - (void)updateSize
483483
CGFloat minimapWidth = (self.hidden ? 0.0f : self.editor.containerView.bounds.size.width * zoomLevel);
484484

485485
NSRect editorScrollViewFrame = self.editor.scrollView.frame;
486-
editorScrollViewFrame.size.width = self.editor.scrollView.superview.frame.size.width - minimapWidth + 10.0f;
486+
editorScrollViewFrame.size.width = self.editor.scrollView.superview.frame.size.width - minimapWidth;
487487
self.editor.scrollView.frame = editorScrollViewFrame;
488488

489489
[self setFrame:NSMakeRect(CGRectGetMaxX(editorScrollViewFrame), 0, minimapWidth, CGRectGetHeight(self.editor.containerView.bounds))];
490490

491491
CGRect frame = self.textView.bounds;
492492
frame.size.width = CGRectGetWidth(self.editorTextView.bounds);
493493
[self.textView setFrame:frame];
494-
495-
CGFloat actualZoomLevel = CGRectGetWidth(self.bounds) / CGRectGetWidth(self.editor.scrollView.bounds);
494+
495+
CGFloat actualZoomLevel = CGRectGetWidth(self.bounds) / CGRectGetWidth(self.editor.textView.bounds);
496496
[self.scrollView setMagnification:actualZoomLevel];
497497
}
498498

0 commit comments

Comments
 (0)