Skip to content

Commit b7e7047

Browse files
committed
Added detection of Tab separated files. Minor enhancements.
1 parent 0ea1c0a commit b7e7047

File tree

6 files changed

+94
-82
lines changed

6 files changed

+94
-82
lines changed

English.lproj/Localizable.strings

164 Bytes
Binary file not shown.

GeneratePreviewForURL.m

+17-4
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,25 @@ OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview,
7575
[html appendString:css];
7676
[css release];
7777
}
78-
[html appendFormat:@"</style></head><body><div class=\"file_info\"><b>%s</b>, %s, <b>%i</b> %@</div><table>",
79-
formatFilesize([[fileAttributes objectForKey:NSFileSize] floatValue]),
80-
humanReadableFileEncoding(stringEncoding),
78+
79+
// info
80+
NSString *separatorDesc = [@" " isEqualToString:csvDoc.separator] ? @"Tab" :
81+
([@"," isEqualToString:csvDoc.separator] ? @"Comma" : csvDoc.separator);
82+
NSString *numRows = (numRowsParsed > MAX_ROWS) ?
83+
[NSString stringWithFormat:@"%i+", MAX_ROWS] :
84+
[NSString stringWithFormat:@"%i", numRowsParsed];
85+
[html appendFormat:@"</style></head><body><div class=\"file_info\"><b>%i</b> %@, <b>%@</b> %@</div>",
8186
[csvDoc.columnKeys count],
82-
(1 == [csvDoc.columnKeys count]) ? NSLocalizedString(@"column", nil) : NSLocalizedString(@"columns", nil)
87+
(1 == [csvDoc.columnKeys count]) ? NSLocalizedString(@"column", nil) : NSLocalizedString(@"columns", nil),
88+
numRows,
89+
(1 == numRowsParsed) ? NSLocalizedString(@"row", nil) : NSLocalizedString(@"rows", nil)
8390
];
91+
[html appendFormat:@"<div class=\"file_info\"><b>%s</b>, %@-%@, %s</div><table>",
92+
formatFilesize([[fileAttributes objectForKey:NSFileSize] floatValue]),
93+
NSLocalizedString(separatorDesc, nil),
94+
NSLocalizedString(@"Separated", nil),
95+
humanReadableFileEncoding(stringEncoding)
96+
];
8497

8598
// add the table rows
8699
BOOL altRow = NO;

German.lproj/Localizable.strings

+5
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,9 @@
99

1010
"column" = "Spalte";
1111
"columns" = "Spalten";
12+
"row" = "Zeile";
13+
"rows" = "Zeilen";
14+
"Tab" = "Tab";
15+
"Comma" = "Komma";
16+
"Separated" = "getrennt";
1217
"Only the first %i rows are being displayed" = "Nur die ersten %i Zeilen werden angezeigt";

INSTALL.rtf

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
If the QuickLook-folder does not exist, simply create it manually.\
2121
\
2222
This is version
23-
\b 1.0
23+
\b 1.1
2424
\b0 of the plugin.\
2525
{\field{\*\fldinst{HYPERLINK "http://code.google.com/p/quicklook-csv/"}}{\fldrslt http://code.google.com/p/quicklook-csv/}}\
2626
}

QuickLookCSV.xcodeproj/pp.pbxuser

+54-60
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
5555
PBXFileTableDataSourceColumnWidthsKey = (
5656
20,
57-
857,
57+
10,
5858
20,
5959
48,
6060
43,
@@ -93,23 +93,23 @@
9393
PBXFileDataSource_Warnings_ColumnID,
9494
);
9595
};
96-
PBXPerProjectTemplateStateSaveDate = 288606785;
97-
PBXWorkspaceStateSaveDate = 288606785;
96+
PBXPerProjectTemplateStateSaveDate = 289905960;
97+
PBXWorkspaceStateSaveDate = 289905960;
9898
};
9999
perUserProjectItems = {
100+
EE009FB01133CE4E00312AD1 = EE009FB01133CE4E00312AD1 /* PlistBookmark */;
101+
EE009FB11133CE4E00312AD1 = EE009FB11133CE4E00312AD1 /* PBXTextBookmark */;
102+
EE009FB21133CE4E00312AD1 = EE009FB21133CE4E00312AD1 /* PBXTextBookmark */;
103+
EE009FB31133CE4E00312AD1 = EE009FB31133CE4E00312AD1 /* PBXTextBookmark */;
100104
EE2E1EFE105C37370016E6EB = EE2E1EFE105C37370016E6EB /* PBXTextBookmark */;
101105
EE2E1F01105C37370016E6EB = EE2E1F01105C37370016E6EB /* PBXTextBookmark */;
102106
EE2E1F02105C37370016E6EB = EE2E1F02105C37370016E6EB /* PBXTextBookmark */;
103107
EE2E1F03105C37370016E6EB = EE2E1F03105C37370016E6EB /* PBXTextBookmark */;
104108
EE2E1F05105C37370016E6EB = EE2E1F05105C37370016E6EB /* PBXTextBookmark */;
105109
EE3B87DC1112F45A00FE62FB = EE3B87DC1112F45A00FE62FB /* PBXTextBookmark */;
106-
EE482010112C264F009CCE42 = EE482010112C264F009CCE42 /* PBXTextBookmark */;
107-
EE482016112C54AE009CCE42 = EE482016112C54AE009CCE42 /* PlistBookmark */;
108-
EE482017112C54AE009CCE42 = EE482017112C54AE009CCE42 /* PlistBookmark */;
109110
EE8830A610013E43005590AE = EE8830A610013E43005590AE /* PBXTextBookmark */;
110111
EE8830A710013E43005590AE = EE8830A710013E43005590AE /* PBXTextBookmark */;
111112
EEA3A593104879AB00AA5FA8 = EEA3A593104879AB00AA5FA8 /* PBXTextBookmark */;
112-
EEC69FD710F7B6ED00A7C7EA = EEC69FD710F7B6ED00A7C7EA /* PBXTextBookmark */;
113113
};
114114
sourceControlManager = EEB3ED180FFE215D00B7462F /* Source Control */;
115115
userBuildSettings = {
@@ -131,21 +131,62 @@
131131
};
132132
2C05A19B06CAA52B00D84F6F /* GeneratePreviewForURL.m */ = {
133133
uiCtxt = {
134-
sepNavIntBoundsRect = "{{0, 0}, {1047, 3056}}";
135-
sepNavSelRange = "{2082, 0}";
136-
sepNavVisRange = "{1699, 1453}";
134+
sepNavIntBoundsRect = "{{0, 0}, {1047, 3104}}";
135+
sepNavSelRange = "{1531, 5}";
136+
sepNavVisRange = "{414, 2069}";
137137
};
138138
};
139139
61E3BCFA0870B4F2002186A0 /* GenerateThumbnailForURL.m */ = {
140140
uiCtxt = {
141-
sepNavIntBoundsRect = "{{0, 0}, {1027, 4704}}";
142-
sepNavSelRange = "{2430, 0}";
143-
sepNavVisRange = "{7290, 1855}";
141+
sepNavIntBoundsRect = "{{0, 0}, {1047, 5008}}";
142+
sepNavSelRange = "{1633, 0}";
143+
sepNavVisRange = "{115, 1867}";
144144
};
145145
};
146146
8D57630D048677EA00EA77CD /* QuickLookCSV */ = {
147147
activeExec = 0;
148148
};
149+
EE009FB01133CE4E00312AD1 /* PlistBookmark */ = {
150+
isa = PlistBookmark;
151+
fRef = 8D576317048677EA00EA77CD /* Info.plist */;
152+
fallbackIsa = PBXBookmark;
153+
isK = 0;
154+
kPath = (
155+
);
156+
name = "/Users/pp/Cocoa/quicklook-csv/Info.plist";
157+
rLen = 0;
158+
rLoc = 9223372036854775808;
159+
};
160+
EE009FB11133CE4E00312AD1 /* PBXTextBookmark */ = {
161+
isa = PBXTextBookmark;
162+
fRef = 2C05A19B06CAA52B00D84F6F /* GeneratePreviewForURL.m */;
163+
name = "GeneratePreviewForURL.m: 62";
164+
rLen = 0;
165+
rLoc = 2121;
166+
rType = 0;
167+
vrLen = 1669;
168+
vrLoc = 2804;
169+
};
170+
EE009FB21133CE4E00312AD1 /* PBXTextBookmark */ = {
171+
isa = PBXTextBookmark;
172+
fRef = 61E3BCFA0870B4F2002186A0 /* GenerateThumbnailForURL.m */;
173+
name = "GenerateThumbnailForURL.m: 66";
174+
rLen = 0;
175+
rLoc = 2331;
176+
rType = 0;
177+
vrLen = 1906;
178+
vrLoc = 7241;
179+
};
180+
EE009FB31133CE4E00312AD1 /* PBXTextBookmark */ = {
181+
isa = PBXTextBookmark;
182+
fRef = 61E3BCFA0870B4F2002186A0 /* GenerateThumbnailForURL.m */;
183+
name = "GenerateThumbnailForURL.m: 212";
184+
rLen = 0;
185+
rLoc = 8580;
186+
rType = 0;
187+
vrLen = 1393;
188+
vrLoc = 9630;
189+
};
149190
EE2E1EFE105C37370016E6EB /* PBXTextBookmark */ = {
150191
isa = PBXTextBookmark;
151192
fRef = EEB3EDCE0FFE38D800B7462F /* CSVDocument.m */;
@@ -206,43 +247,6 @@
206247
vrLen = 332;
207248
vrLoc = 0;
208249
};
209-
EE482010112C264F009CCE42 /* PBXTextBookmark */ = {
210-
isa = PBXTextBookmark;
211-
fRef = 2C05A19B06CAA52B00D84F6F /* GeneratePreviewForURL.m */;
212-
name = "GeneratePreviewForURL.m: 62";
213-
rLen = 0;
214-
rLoc = 2082;
215-
rType = 0;
216-
vrLen = 1453;
217-
vrLoc = 1699;
218-
};
219-
EE482016112C54AE009CCE42 /* PlistBookmark */ = {
220-
isa = PlistBookmark;
221-
fRef = 8D576317048677EA00EA77CD /* Info.plist */;
222-
fallbackIsa = PBXBookmark;
223-
isK = 0;
224-
kPath = (
225-
CFBundleDocumentTypes,
226-
2,
227-
CFBundleTypeRole,
228-
);
229-
rLen = 6;
230-
rLoc = 0;
231-
};
232-
EE482017112C54AE009CCE42 /* PlistBookmark */ = {
233-
isa = PlistBookmark;
234-
fRef = 8D576317048677EA00EA77CD /* Info.plist */;
235-
fallbackIsa = PBXBookmark;
236-
isK = 0;
237-
kPath = (
238-
CFBundleDocumentTypes,
239-
2,
240-
LSTypeIsPackage,
241-
);
242-
name = "/Users/pp/Cocoa/quicklook-csv/Info.plist";
243-
rLen = 0;
244-
rLoc = 9223372036854775808;
245-
};
246250
EE77BE4B0FFEB207008B09DE /* English */ = {
247251
uiCtxt = {
248252
sepNavIntBoundsRect = "{{0, 0}, {1027, 769}}";
@@ -343,14 +347,4 @@
343347
sepNavVisRange = "{0, 828}";
344348
};
345349
};
346-
EEC69FD710F7B6ED00A7C7EA /* PBXTextBookmark */ = {
347-
isa = PBXTextBookmark;
348-
fRef = 61E3BCFA0870B4F2002186A0 /* GenerateThumbnailForURL.m */;
349-
name = "GenerateThumbnailForURL.m: 66";
350-
rLen = 0;
351-
rLoc = 2430;
352-
rType = 0;
353-
vrLen = 1855;
354-
vrLoc = 7290;
355-
};
356350
}

QuickLookCSV.xcodeproj/pp.perspectivev3

+17-17
Original file line numberDiff line numberDiff line change
@@ -234,8 +234,6 @@
234234
<key>Layout</key>
235235
<array>
236236
<dict>
237-
<key>BecomeActive</key>
238-
<true/>
239237
<key>ContentConfiguration</key>
240238
<dict>
241239
<key>PBXBottomSmartGroupGIDs</key>
@@ -316,24 +314,26 @@
316314
<key>Dock</key>
317315
<array>
318316
<dict>
317+
<key>BecomeActive</key>
318+
<true/>
319319
<key>ContentConfiguration</key>
320320
<dict>
321321
<key>PBXProjectModuleGUID</key>
322322
<string>EEB3ED3A0FFE2B1100B7462F</string>
323323
<key>PBXProjectModuleLabel</key>
324-
<string>Info.plist</string>
324+
<string>GenerateThumbnailForURL.m</string>
325325
<key>PBXSplitModuleInNavigatorKey</key>
326326
<dict>
327327
<key>Split0</key>
328328
<dict>
329329
<key>PBXProjectModuleGUID</key>
330330
<string>EEB3ED3B0FFE2B1100B7462F</string>
331331
<key>PBXProjectModuleLabel</key>
332-
<string>Info.plist</string>
332+
<string>GenerateThumbnailForURL.m</string>
333333
<key>_historyCapacity</key>
334334
<integer>0</integer>
335335
<key>bookmark</key>
336-
<string>EE482017112C54AE009CCE42</string>
336+
<string>EE009FB31133CE4E00312AD1</string>
337337
<key>history</key>
338338
<array>
339339
<string>EE8830A610013E43005590AE</string>
@@ -344,10 +344,10 @@
344344
<string>EE2E1F02105C37370016E6EB</string>
345345
<string>EE2E1F03105C37370016E6EB</string>
346346
<string>EE2E1F05105C37370016E6EB</string>
347-
<string>EEC69FD710F7B6ED00A7C7EA</string>
348347
<string>EE3B87DC1112F45A00FE62FB</string>
349-
<string>EE482010112C264F009CCE42</string>
350-
<string>EE482016112C54AE009CCE42</string>
348+
<string>EE009FB01133CE4E00312AD1</string>
349+
<string>EE009FB11133CE4E00312AD1</string>
350+
<string>EE009FB21133CE4E00312AD1</string>
351351
</array>
352352
</dict>
353353
<key>SplitCount</key>
@@ -361,18 +361,18 @@
361361
<key>GeometryConfiguration</key>
362362
<dict>
363363
<key>Frame</key>
364-
<string>{{0, 0}, {1096, 603}}</string>
364+
<string>{{0, 0}, {1096, 861}}</string>
365365
<key>RubberWindowFrame</key>
366366
<string>122 121 1352 907 0 0 1680 1028 </string>
367367
</dict>
368368
<key>Module</key>
369369
<string>PBXNavigatorGroup</string>
370370
<key>Proportion</key>
371-
<string>603pt</string>
371+
<string>861pt</string>
372372
</dict>
373373
<dict>
374374
<key>Proportion</key>
375-
<string>258pt</string>
375+
<string>0pt</string>
376376
<key>Tabs</key>
377377
<array>
378378
<dict>
@@ -386,7 +386,9 @@
386386
<key>GeometryConfiguration</key>
387387
<dict>
388388
<key>Frame</key>
389-
<string>{{10, 27}, {1096, 231}}</string>
389+
<string>{{10, 27}, {1096, -27}}</string>
390+
<key>RubberWindowFrame</key>
391+
<string>122 121 1352 907 0 0 1680 1028 </string>
390392
</dict>
391393
<key>Module</key>
392394
<string>XCDetailModule</string>
@@ -403,8 +405,6 @@
403405
<dict>
404406
<key>Frame</key>
405407
<string>{{10, 27}, {1096, 231}}</string>
406-
<key>RubberWindowFrame</key>
407-
<string>122 121 1352 907 0 0 1680 1028 </string>
408408
</dict>
409409
<key>Module</key>
410410
<string>PBXProjectFindModule</string>
@@ -470,11 +470,11 @@
470470
</array>
471471
<key>TableOfContents</key>
472472
<array>
473-
<string>EE481FEE112C2479009CCE42</string>
473+
<string>EE009FB41133CE4E00312AD1</string>
474474
<string>1CA23ED40692098700951B8B</string>
475-
<string>EE481FEF112C2479009CCE42</string>
475+
<string>EE009FB51133CE4E00312AD1</string>
476476
<string>EEB3ED3A0FFE2B1100B7462F</string>
477-
<string>EE481FF0112C2479009CCE42</string>
477+
<string>EE009FB61133CE4E00312AD1</string>
478478
<string>1CA23EDF0692099D00951B8B</string>
479479
<string>1CA23EE00692099D00951B8B</string>
480480
<string>1CA23EE10692099D00951B8B</string>

0 commit comments

Comments
 (0)