Skip to content

Commit 874737f

Browse files
committed
CommitView: Allow multiple selection
1 parent aaca7d6 commit 874737f

File tree

4 files changed

+67
-4
lines changed

4 files changed

+67
-4
lines changed

PBGitCommitView.xib

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<string key="IBDocument.HIToolboxVersion">352.00</string>
99
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
1010
<bool key="EncodedWithXMLCoder">YES</bool>
11+
<integer value="54"/>
1112
</object>
1213
<object class="NSArray" key="IBDocument.PluginDependencies">
1314
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -27,7 +28,7 @@
2728
<string key="NSClassName">NSApplication</string>
2829
</object>
2930
<object class="NSCustomView" id="750704519">
30-
<nil key="NSNextResponder"/>
31+
<reference key="NSNextResponder"/>
3132
<int key="NSvFlags">274</int>
3233
<object class="NSMutableArray" key="NSSubviews">
3334
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -96,6 +97,7 @@
9697
</object>
9798
<string key="NSFrameSize">{852, 173}</string>
9899
<reference key="NSSuperview" ref="812432808"/>
100+
<reference key="NSNextKeyView"/>
99101
<string key="FrameName"/>
100102
<string key="GroupName"/>
101103
<object class="WebPreferences" key="Preferences">
@@ -218,7 +220,7 @@
218220
</object>
219221
</object>
220222
<double key="NSRowHeight">1.700000e+01</double>
221-
<int key="NSTvFlags">-700448768</int>
223+
<int key="NSTvFlags">-566231040</int>
222224
<int key="NSColumnAutoresizingStyle">4</int>
223225
<int key="NSDraggingSourceMaskForLocal">15</int>
224226
<int key="NSDraggingSourceMaskForNonLocal">0</int>
@@ -227,6 +229,7 @@
227229
</object>
228230
<string key="NSFrame">{{1, 1}, {188, 193}}</string>
229231
<reference key="NSSuperview" ref="563607114"/>
232+
<reference key="NSNextKeyView" ref="588180404"/>
230233
<reference key="NSDocView" ref="588180404"/>
231234
<reference key="NSBGColor" ref="520920468"/>
232235
<int key="NScvFlags">4</int>
@@ -253,6 +256,7 @@
253256
</object>
254257
<string key="NSFrameSize">{190, 195}</string>
255258
<reference key="NSSuperview" ref="663963274"/>
259+
<reference key="NSNextKeyView" ref="614437325"/>
256260
<int key="NSsFlags">562</int>
257261
<reference key="NSVScroller" ref="187271467"/>
258262
<reference key="NSHScroller" ref="588638971"/>
@@ -332,6 +336,29 @@
332336
<object class="NSTextView" id="1023793991">
333337
<reference key="NSNextResponder" ref="245211955"/>
334338
<int key="NSvFlags">2322</int>
339+
<object class="NSMutableSet" key="NSDragTypes">
340+
<bool key="EncodedWithXMLCoder">YES</bool>
341+
<object class="NSMutableArray" key="set.sortedObjects">
342+
<bool key="EncodedWithXMLCoder">YES</bool>
343+
<string>Apple HTML pasteboard type</string>
344+
<string>Apple PDF pasteboard type</string>
345+
<string>Apple PICT pasteboard type</string>
346+
<string>Apple PNG pasteboard type</string>
347+
<string>Apple URL pasteboard type</string>
348+
<string>CorePasteboardFlavorType 0x6D6F6F76</string>
349+
<string>CorePasteboardFlavorType 0x75726C20</string>
350+
<string>NSColor pasteboard type</string>
351+
<string>NSFilenamesPboardType</string>
352+
<string>NSStringPboardType</string>
353+
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
354+
<string>NeXT RTFD pasteboard type</string>
355+
<string>NeXT Rich Text Format v1.0 pasteboard type</string>
356+
<string>NeXT TIFF v4.0 pasteboard type</string>
357+
<string>NeXT font pasteboard type</string>
358+
<string>NeXT ruler pasteboard type</string>
359+
<string>WebURLsWithTitlesPboardType</string>
360+
</object>
361+
</object>
335362
<string key="NSFrameSize">{427, 14}</string>
336363
<reference key="NSSuperview" ref="245211955"/>
337364
<object class="NSTextContainer" key="NSTextContainer" id="311869542">
@@ -407,6 +434,7 @@
407434
</object>
408435
<string key="NSFrame">{{1, 1}, {427, 157}}</string>
409436
<reference key="NSSuperview" ref="227052526"/>
437+
<reference key="NSNextKeyView" ref="1023793991"/>
410438
<reference key="NSDocView" ref="1023793991"/>
411439
<reference key="NSBGColor" ref="818038086"/>
412440
<object class="NSCursor" key="NSCursor">
@@ -438,6 +466,7 @@
438466
</object>
439467
<string key="NSFrame">{{0, 36}, {429, 159}}</string>
440468
<reference key="NSSuperview" ref="154221104"/>
469+
<reference key="NSNextKeyView" ref="245211955"/>
441470
<int key="NSsFlags">530</int>
442471
<reference key="NSVScroller" ref="20200144"/>
443472
<reference key="NSHScroller" ref="337880358"/>
@@ -561,7 +590,7 @@
561590
<reference key="NSBackgroundColor" ref="818038086"/>
562591
<reference key="NSGridColor" ref="974303383"/>
563592
<double key="NSRowHeight">1.700000e+01</double>
564-
<int key="NSTvFlags">-700448768</int>
593+
<int key="NSTvFlags">-566231040</int>
565594
<int key="NSColumnAutoresizingStyle">4</int>
566595
<int key="NSDraggingSourceMaskForLocal">15</int>
567596
<int key="NSDraggingSourceMaskForNonLocal">0</int>
@@ -570,6 +599,7 @@
570599
</object>
571600
<string key="NSFrame">{{1, 1}, {213, 193}}</string>
572601
<reference key="NSSuperview" ref="617511385"/>
602+
<reference key="NSNextKeyView" ref="638535043"/>
573603
<reference key="NSDocView" ref="638535043"/>
574604
<reference key="NSBGColor" ref="520920468"/>
575605
<int key="NScvFlags">4</int>
@@ -596,6 +626,7 @@
596626
</object>
597627
<string key="NSFrameSize">{215, 195}</string>
598628
<reference key="NSSuperview" ref="559277910"/>
629+
<reference key="NSNextKeyView" ref="551030904"/>
599630
<int key="NSsFlags">562</int>
600631
<reference key="NSVScroller" ref="64334438"/>
601632
<reference key="NSHScroller" ref="831852936"/>
@@ -649,6 +680,7 @@
649680
</object>
650681
</object>
651682
<string key="NSFrameSize">{852, 432}</string>
683+
<reference key="NSSuperview"/>
652684
<string key="NSClassName">NSView</string>
653685
</object>
654686
<object class="NSUserDefaultsController" id="58425690">

PBWebChangesController.m

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ - (void)observeValueForKeyPath:(NSString *)keyPath
3737
change:(NSDictionary *)change
3838
context:(void *)context
3939
{
40-
if ([[object selectedObjects] count] == 0)
40+
int count = [[object selectedObjects] count];
41+
if (count == 0)
4142
return;
4243

4344
// TODO: Move this to commitcontroller
@@ -46,12 +47,22 @@ - (void)observeValueForKeyPath:(NSString *)keyPath
4647
else
4748
[unstagedFilesController setSelectionIndexes:[NSIndexSet indexSet]];
4849

50+
if (count > 1) {
51+
[self showMultiple: [object selectedObjects]];
52+
return;
53+
}
54+
4955
selectedFile = [[object selectedObjects] objectAtIndex:0];
5056
selectedFileIsCached = object == cachedFilesController;
5157

5258
[self refresh];
5359
}
5460

61+
- (void) showMultiple: (NSArray *)objects
62+
{
63+
[[self script] callWebScriptMethod:@"showMultipleFilesSelection" withArguments:[NSArray arrayWithObject:objects]];
64+
}
65+
5566
- (void) refresh
5667
{
5768
if (!finishedLoading || !selectedFile)

html/views/commit/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
<link rel="stylesheet" href="commit.css" type="text/css" media="screen" title="no title" charset="utf-8">
1111
<script src="commit.js" type="text/javascript" chahrset="utf-8"></script>
12+
<script src="multipleSelection.js" type="text/javascript" chahrset="utf-8"></script>
1213
</head>
1314

1415
<body>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
var showMultipleFilesSelection = function(files)
2+
{
3+
4+
$("title").innerHTML = "Multiple selection";
5+
6+
var div = $("diff");
7+
8+
var contents = "<h3>Multiple Selection:</h3>";
9+
contents += "<ul>";
10+
11+
for (var i = 0; i < files.length; ++i)
12+
{
13+
var file = files[i];
14+
contents += "<li>" + file.path + "</li>";
15+
}
16+
contents += "</ul>";
17+
18+
div.innerHTML = contents;
19+
}

0 commit comments

Comments
 (0)