Skip to content

Commit 698426a

Browse files
author
Robert Kyriakis
committed
Bugfix resizing PBRemoteProgressSheet
1 parent 43adbe4 commit 698426a

File tree

3 files changed

+92
-70
lines changed

3 files changed

+92
-70
lines changed

English.lproj/PBCreateBranchSheet.xib

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@
4848
<string key="NSWindowClass">NSWindow</string>
4949
<nil key="NSViewClass"/>
5050
<nil key="NSUserInterfaceItemIdentifier"/>
51-
<string key="NSWindowContentMaxSize">{2000, 167}</string>
52-
<string key="NSWindowContentMinSize">{480, 167}</string>
51+
<string key="NSWindowContentMaxSize">{2000, 191}</string>
52+
<string key="NSWindowContentMinSize">{480, 191}</string>
5353
<object class="NSView" key="NSWindowView" id="1006">
5454
<reference key="NSNextResponder"/>
5555
<int key="NSvFlags">274</int>
@@ -248,8 +248,8 @@
248248
<reference key="NSNextKeyView" ref="569247284"/>
249249
</object>
250250
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
251-
<string key="NSMinSize">{480, 189}</string>
252-
<string key="NSMaxSize">{2000, 189}</string>
251+
<string key="NSMinSize">{480, 213}</string>
252+
<string key="NSMaxSize">{2000, 213}</string>
253253
<bool key="NSWindowIsRestorable">YES</bool>
254254
</object>
255255
</object>

English.lproj/PBRemoteProgressSheet.xib

Lines changed: 66 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
<string>NSView</string>
1717
<string>NSWindowTemplate</string>
1818
<string>NSProgressIndicator</string>
19-
<string>NSCustomObject</string>
20-
<string>NSCustomView</string>
2119
<string>NSTextFieldCell</string>
20+
<string>NSCustomView</string>
21+
<string>NSCustomObject</string>
2222
</object>
2323
<object class="NSArray" key="IBDocument.PluginDependencies">
2424
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -47,15 +47,19 @@
4747
<string key="NSWindowClass">NSWindow</string>
4848
<nil key="NSViewClass"/>
4949
<nil key="NSUserInterfaceItemIdentifier"/>
50+
<string key="NSWindowContentMaxSize">{2000, 100}</string>
51+
<string key="NSWindowContentMinSize">{400, 100}</string>
5052
<object class="NSView" key="NSWindowView" id="1006">
5153
<reference key="NSNextResponder"/>
5254
<int key="NSvFlags">274</int>
5355
<string key="NSFrameSize">{400, 100}</string>
5456
<reference key="NSSuperview"/>
5557
<reference key="NSWindow"/>
58+
<reference key="NSNextKeyView"/>
5659
</object>
5760
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
58-
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
61+
<string key="NSMinSize">{400, 100}</string>
62+
<string key="NSMaxSize">{2000, 100}</string>
5963
<bool key="NSWindowIsRestorable">YES</bool>
6064
</object>
6165
<object class="NSView" id="544883429">
@@ -65,39 +69,42 @@
6569
<bool key="EncodedWithXMLCoder">YES</bool>
6670
<object class="NSProgressIndicator" id="1024415599">
6771
<reference key="NSNextResponder" ref="544883429"/>
68-
<int key="NSvFlags">1314</int>
72+
<int key="NSvFlags">1327</int>
6973
<object class="NSPSMatrix" key="NSDrawMatrix"/>
7074
<string key="NSFrame">{{18, 16}, {364, 20}}</string>
7175
<reference key="NSSuperview" ref="544883429"/>
7276
<reference key="NSWindow"/>
77+
<reference key="NSNextKeyView"/>
7378
<int key="NSpiFlags">16394</int>
7479
<double key="NSMaxValue">100</double>
7580
</object>
76-
<object class="NSTextField" id="338606250">
81+
<object class="NSTextField" id="579270551">
7782
<reference key="NSNextResponder" ref="544883429"/>
78-
<int key="NSvFlags">274</int>
79-
<string key="NSFrame">{{17, 56}, {366, 24}}</string>
83+
<int key="NSvFlags">303</int>
84+
<string key="NSFrame">{{17, 63}, {366, 17}}</string>
8085
<reference key="NSSuperview" ref="544883429"/>
8186
<reference key="NSWindow"/>
8287
<reference key="NSNextKeyView" ref="1024415599"/>
88+
<string key="NSReuseIdentifierKey">_NS:3944</string>
8389
<bool key="NSEnabled">YES</bool>
84-
<object class="NSTextFieldCell" key="NSCell" id="410459181">
85-
<int key="NSCellFlags">67239424</int>
86-
<int key="NSCellFlags2">272891904</int>
90+
<object class="NSTextFieldCell" key="NSCell" id="842113340">
91+
<int key="NSCellFlags">68288064</int>
92+
<int key="NSCellFlags2">4195328</int>
8793
<string key="NSContents">Operation in progress ...</string>
8894
<object class="NSFont" key="NSSupport" id="668489549">
8995
<string key="NSName">LucidaGrande-Bold</string>
9096
<double key="NSSize">13</double>
9197
<int key="NSfFlags">16</int>
9298
</object>
93-
<reference key="NSControlView" ref="338606250"/>
94-
<object class="NSColor" key="NSBackgroundColor" id="382865483">
99+
<string key="NSCellIdentifier">_NS:3944</string>
100+
<reference key="NSControlView" ref="579270551"/>
101+
<object class="NSColor" key="NSBackgroundColor">
95102
<int key="NSColorSpace">6</int>
96103
<string key="NSCatalogName">System</string>
97-
<string key="NSColorName">controlColor</string>
104+
<string key="NSColorName">textBackgroundColor</string>
98105
<object class="NSColor" key="NSColor">
99106
<int key="NSColorSpace">3</int>
100-
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
107+
<bytes key="NSWhite">MQA</bytes>
101108
</object>
102109
</object>
103110
<object class="NSColor" key="NSTextColor" id="200224228">
@@ -115,7 +122,7 @@
115122
<string key="NSFrameSize">{400, 100}</string>
116123
<reference key="NSSuperview"/>
117124
<reference key="NSWindow"/>
118-
<reference key="NSNextKeyView" ref="338606250"/>
125+
<reference key="NSNextKeyView" ref="579270551"/>
119126
</object>
120127
<object class="NSCustomView" id="579014236">
121128
<reference key="NSNextResponder"/>
@@ -124,7 +131,7 @@
124131
<bool key="EncodedWithXMLCoder">YES</bool>
125132
<object class="NSProgressIndicator" id="551309400">
126133
<reference key="NSNextResponder" ref="579014236"/>
127-
<int key="NSvFlags">1292</int>
134+
<int key="NSvFlags">1327</int>
128135
<object class="NSPSMatrix" key="NSDrawMatrix"/>
129136
<string key="NSFrame">{{18, 29}, {364, 20}}</string>
130137
<reference key="NSSuperview" ref="579014236"/>
@@ -137,10 +144,11 @@
137144
</object>
138145
<object class="NSTextField" id="643417971">
139146
<reference key="NSNextResponder" ref="579014236"/>
140-
<int key="NSvFlags">268</int>
147+
<int key="NSvFlags">303</int>
141148
<string key="NSFrame">{{17, 10}, {366, 17}}</string>
142149
<reference key="NSSuperview" ref="579014236"/>
143150
<reference key="NSWindow"/>
151+
<reference key="NSNextKeyView"/>
144152
<int key="NSViewLayerContentsRedrawPolicy">2</int>
145153
<string key="NSReuseIdentifierKey">_NS:3944</string>
146154
<bool key="NSEnabled">YES</bool>
@@ -155,13 +163,21 @@
155163
</object>
156164
<string key="NSCellIdentifier">_NS:3944</string>
157165
<reference key="NSControlView" ref="643417971"/>
158-
<reference key="NSBackgroundColor" ref="382865483"/>
166+
<object class="NSColor" key="NSBackgroundColor" id="382865483">
167+
<int key="NSColorSpace">6</int>
168+
<string key="NSCatalogName">System</string>
169+
<string key="NSColorName">controlColor</string>
170+
<object class="NSColor" key="NSColor">
171+
<int key="NSColorSpace">3</int>
172+
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
173+
</object>
174+
</object>
159175
<reference key="NSTextColor" ref="200224228"/>
160176
</object>
161177
</object>
162178
<object class="NSTextField" id="1068392306">
163179
<reference key="NSNextResponder" ref="579014236"/>
164-
<int key="NSvFlags">268</int>
180+
<int key="NSvFlags">303</int>
165181
<string key="NSFrame">{{17, 46}, {366, 17}}</string>
166182
<reference key="NSSuperview" ref="579014236"/>
167183
<reference key="NSWindow"/>
@@ -182,7 +198,7 @@
182198
</object>
183199
<object class="NSTextField" id="842335829">
184200
<reference key="NSNextResponder" ref="579014236"/>
185-
<int key="NSvFlags">268</int>
201+
<int key="NSvFlags">303</int>
186202
<string key="NSFrame">{{17, 92}, {71, 17}}</string>
187203
<reference key="NSSuperview" ref="579014236"/>
188204
<reference key="NSWindow"/>
@@ -203,7 +219,7 @@
203219
</object>
204220
<object class="NSTextField" id="626575155">
205221
<reference key="NSNextResponder" ref="579014236"/>
206-
<int key="NSvFlags">268</int>
222+
<int key="NSvFlags">303</int>
207223
<string key="NSFrame">{{17, 129}, {46, 17}}</string>
208224
<reference key="NSSuperview" ref="579014236"/>
209225
<reference key="NSWindow"/>
@@ -224,7 +240,7 @@
224240
</object>
225241
<object class="NSTextField" id="967049922">
226242
<reference key="NSNextResponder" ref="579014236"/>
227-
<int key="NSvFlags">268</int>
243+
<int key="NSvFlags">303</int>
228244
<string key="NSFrame">{{17, 83}, {366, 17}}</string>
229245
<reference key="NSSuperview" ref="579014236"/>
230246
<reference key="NSWindow"/>
@@ -245,7 +261,7 @@
245261
</object>
246262
<object class="NSTextField" id="642619454">
247263
<reference key="NSNextResponder" ref="579014236"/>
248-
<int key="NSvFlags">268</int>
264+
<int key="NSvFlags">303</int>
249265
<string key="NSFrame">{{17, 120}, {366, 17}}</string>
250266
<reference key="NSSuperview" ref="579014236"/>
251267
<reference key="NSWindow"/>
@@ -266,7 +282,7 @@
266282
</object>
267283
<object class="NSTextField" id="606409270">
268284
<reference key="NSNextResponder" ref="579014236"/>
269-
<int key="NSvFlags">268</int>
285+
<int key="NSvFlags">303</int>
270286
<string key="NSFrame">{{17, 157}, {171, 17}}</string>
271287
<reference key="NSSuperview" ref="579014236"/>
272288
<reference key="NSWindow"/>
@@ -306,14 +322,6 @@
306322
</object>
307323
<int key="connectionID">71</int>
308324
</object>
309-
<object class="IBConnectionRecord">
310-
<object class="IBOutletConnection" key="connection">
311-
<string key="label">progressDescription</string>
312-
<reference key="source" ref="1001"/>
313-
<reference key="destination" ref="338606250"/>
314-
</object>
315-
<int key="connectionID">78</int>
316-
</object>
317325
<object class="IBConnectionRecord">
318326
<object class="IBOutletConnection" key="connection">
319327
<string key="label">progressIndicator</string>
@@ -378,6 +386,14 @@
378386
</object>
379387
<int key="connectionID">131</int>
380388
</object>
389+
<object class="IBConnectionRecord">
390+
<object class="IBOutletConnection" key="connection">
391+
<string key="label">progressDescription</string>
392+
<reference key="source" ref="1001"/>
393+
<reference key="destination" ref="579270551"/>
394+
</object>
395+
<int key="connectionID">134</int>
396+
</object>
381397
</object>
382398
<object class="IBMutableOrderedSet" key="objectRecords">
383399
<object class="NSArray" key="orderedObjects">
@@ -432,7 +448,7 @@
432448
<object class="NSMutableArray" key="children">
433449
<bool key="EncodedWithXMLCoder">YES</bool>
434450
<reference ref="1024415599"/>
435-
<reference ref="338606250"/>
451+
<reference ref="579270551"/>
436452
</object>
437453
<reference key="parent" ref="0"/>
438454
</object>
@@ -441,20 +457,6 @@
441457
<reference key="object" ref="1024415599"/>
442458
<reference key="parent" ref="544883429"/>
443459
</object>
444-
<object class="IBObjectRecord">
445-
<int key="objectID">74</int>
446-
<reference key="object" ref="338606250"/>
447-
<object class="NSMutableArray" key="children">
448-
<bool key="EncodedWithXMLCoder">YES</bool>
449-
<reference ref="410459181"/>
450-
</object>
451-
<reference key="parent" ref="544883429"/>
452-
</object>
453-
<object class="IBObjectRecord">
454-
<int key="objectID">75</int>
455-
<reference key="object" ref="410459181"/>
456-
<reference key="parent" ref="338606250"/>
457-
</object>
458460
<object class="IBObjectRecord">
459461
<int key="objectID">110</int>
460462
<reference key="object" ref="579014236"/>
@@ -574,6 +576,20 @@
574576
<reference key="object" ref="309886663"/>
575577
<reference key="parent" ref="643417971"/>
576578
</object>
579+
<object class="IBObjectRecord">
580+
<int key="objectID">132</int>
581+
<reference key="object" ref="579270551"/>
582+
<object class="NSMutableArray" key="children">
583+
<bool key="EncodedWithXMLCoder">YES</bool>
584+
<reference ref="842113340"/>
585+
</object>
586+
<reference key="parent" ref="544883429"/>
587+
</object>
588+
<object class="IBObjectRecord">
589+
<int key="objectID">133</int>
590+
<reference key="object" ref="842113340"/>
591+
<reference key="parent" ref="579270551"/>
592+
</object>
577593
</object>
578594
</object>
579595
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -602,11 +618,11 @@
602618
<string>124.IBPluginDependency</string>
603619
<string>125.IBPluginDependency</string>
604620
<string>126.IBPluginDependency</string>
621+
<string>132.IBPluginDependency</string>
622+
<string>133.IBPluginDependency</string>
605623
<string>2.IBPluginDependency</string>
606624
<string>72.IBPluginDependency</string>
607625
<string>73.IBPluginDependency</string>
608-
<string>74.IBPluginDependency</string>
609-
<string>75.IBPluginDependency</string>
610626
</object>
611627
<object class="NSMutableArray" key="dict.values">
612628
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -651,7 +667,7 @@
651667
<reference key="dict.values" ref="0"/>
652668
</object>
653669
<nil key="sourceID"/>
654-
<int key="maxID">131</int>
670+
<int key="maxID">134</int>
655671
</object>
656672
<object class="IBClassDescriber" key="IBDocument.Classes">
657673
<object class="NSMutableArray" key="referencedPartialClassDescriptions">

PBRemoteProgressSheet.m

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
#import "PBGitBinary.h"
1313
#import "PBEasyPipe.h"
1414

15-
#define WINDOW_WIDTH_ADDITION 40
16-
#define STANDARD_MAX_WIDTH 366
15+
#define WINDOW_WIDTH_ADDITION 40.0
16+
#define STANDARD_MAX_WIDTH 366.0
1717
#define UPDATE_FILE_STATUS_INTERVAL 1.0
1818

1919
NSString * const kGitXProgressDescription = @"PBGitXProgressDescription";
@@ -87,32 +87,38 @@ - (void) beginRemoteProgressSheetForArguments:(NSArray *)args title:(NSString *)
8787
[self window]; // loads the window (if it wasn't already)
8888
self.window.contentView = Nil;
8989

90+
NSSize boundingSize = {0,0};
91+
NSRect frame;
92+
NSRect attributedFrame;
93+
NSAttributedString *attributedString;
94+
9095
if ([(NSString*)[arguments objectAtIndex:0] compare:@"clone"] != NSOrderedSame)
9196
{
9297
// resize window if the description is larger than the default text field
93-
NSRect originalFrame = [self.progressDescription frame];
9498
[self.progressDescription setStringValue:[self progressTitle]];
95-
NSAttributedString *attributedTitle = [self.progressDescription attributedStringValue];
96-
NSSize boundingSize = originalFrame.size;
97-
boundingSize.height = 0.0f;
98-
NSRect boundingRect = [attributedTitle boundingRectWithSize:boundingSize options:NSStringDrawingUsesLineFragmentOrigin];
99-
CGFloat heightDelta = boundingRect.size.height - originalFrame.size.height;
100-
if (heightDelta > 0.0f) {
101-
NSRect windowFrame = [[self window] frame];
102-
windowFrame.size.height += heightDelta;
103-
[[self window] setFrame:windowFrame display:NO];
99+
attributedString = [self.progressDescription attributedStringValue];
100+
attributedFrame = [attributedString boundingRectWithSize:boundingSize options:NSStringDrawingUsesLineFragmentOrigin];
101+
NSRect progressDescriptionTextFieldFrame = self.progressDescription.frame;
102+
103+
progressDescriptionTextFieldFrame.size.width = attributedFrame.size.width;
104+
if (progressDescriptionTextFieldFrame.size.width < STANDARD_MAX_WIDTH)
105+
{
106+
progressDescriptionTextFieldFrame.size.width = STANDARD_MAX_WIDTH;
104107
}
108+
self.progressDescription.frame = progressDescriptionTextFieldFrame;
109+
110+
frame = self.window.frame;
111+
frame.size.width = self.progressDescription.frame.size.width + WINDOW_WIDTH_ADDITION;
112+
frame.size.height = self.progressView.frame.size.height;
113+
[self.window setFrame:frame display:YES];
114+
105115
progressView.frame = self.window.frame;
106116

107117
self.window.contentView = progressView;
108118
[self.progressIndicator startAnimation:Nil];
109119
}
110120
else
111121
{
112-
NSSize boundingSize = {0,0};
113-
NSRect frame;
114-
NSRect attributedFrame;
115-
NSAttributedString *attributedString;
116122
float maxWidth;
117123

118124
NSString *sourceURLString = [arguments objectAtIndex:[arguments count]-2];

0 commit comments

Comments
 (0)