Initial import.
This commit is contained in:
commit
76e2008e54
28 changed files with 1162 additions and 0 deletions
3
.cvsignore
Normal file
3
.cvsignore
Normal file
|
@ -0,0 +1,3 @@
|
|||
.DS_Store
|
||||
build
|
||||
*~
|
BIN
Channel.icns
Normal file
BIN
Channel.icns
Normal file
Binary file not shown.
145
Channel/Channel.xml
Normal file
145
Channel/Channel.xml
Normal file
|
@ -0,0 +1,145 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SherlockRSS License
|
||||
|
||||
Copyright (c) 2004, Erik C. Thauvin (http://www.thauvin.net/erik/)
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
Neither the name of the authors nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
-->
|
||||
|
||||
<channel>
|
||||
|
||||
<initialize language="JavaScript">
|
||||
|
||||
debug("----- Initializing the data store -----");
|
||||
|
||||
/* Set the channel's minimum size */
|
||||
DataStore.Set("Internet.minViewSize", "{width=310; height=260}");
|
||||
|
||||
/* Update the data store representation of the search field as the
|
||||
user types into it. This way, if they click the search button
|
||||
before hitting return, the data store will reflect the latest
|
||||
changes made by the user.
|
||||
*/
|
||||
DataStore.Set("Internet.MainQueryField.updateValueOnTextChanged", true);
|
||||
|
||||
/* Customize the NSTableView a bit */
|
||||
DataStore.Set("Internet.SearchResultsTable.pasteboardTypes.NSStringPboardType", "description.URL.objectValue");
|
||||
DataStore.Set("Internet.SearchResultsTable.pasteboardTypes.NSURLPboardType", "doubleClickURL");
|
||||
DataStore.Set("Internet.SearchResultsTable.visibleDragColumns", "description");
|
||||
DataStore.Set("Internet.NoItemsFound.objectValue", "");
|
||||
|
||||
/* Initialize this with an empty document, so it fills in with white */
|
||||
DataStore.Set("Internet.DetailHTMLView.htmlData", "");
|
||||
</initialize>
|
||||
|
||||
<triggers>
|
||||
|
||||
|
||||
<trigger path="Internet.didInstall" language="JavaScript">
|
||||
|
||||
debug("----- Channel did install -----");
|
||||
|
||||
/* Set a default value in the search field */
|
||||
// DataStore.Set("Internet.MainQueryField.objectValue", "");
|
||||
</trigger>
|
||||
|
||||
|
||||
<trigger path="Internet.SearchButton.action" language="JavaScript">
|
||||
|
||||
debug("----- User clicked the search button -----");
|
||||
|
||||
/* Clear out the previous results */
|
||||
DataStore.Set("Internet.SearchResultsTable.dataValue", null);
|
||||
|
||||
/* Indicate that a search is about to take place */
|
||||
DataStore.Set("Internet.NetworkArrows.animating", true);
|
||||
|
||||
|
||||
/* Kick off the search. Searches are usually done in XQuery, since
|
||||
it has better data parsing/manipulating characteristics than
|
||||
JavaScript.
|
||||
*/
|
||||
DataStore.Notify("DATA.action.performSearch");
|
||||
</trigger>
|
||||
|
||||
<trigger path="DATA.action.performSearch" language="XQuery"
|
||||
inputs="query=Internet.MainQueryField.objectValue">
|
||||
|
||||
let $log := msg("----- Performing the search -----")
|
||||
let $log := msg("----- Query: ", $query)
|
||||
|
||||
let $httpRequest := http-request($query)
|
||||
let $rss:= http-request-value($httpRequest, "DATA")
|
||||
let $results := for $item in $rss/rss/channel/item
|
||||
return dictionary(
|
||||
("description", $item/title/text()/convert-html(.)),
|
||||
("doubleClickURL", $item/link/text()/convert-html(.))
|
||||
)
|
||||
|
||||
{-- From the trigger, return a dictionary with key/value pairs representing
|
||||
data store locations and their values.
|
||||
--}
|
||||
return dictionary(
|
||||
("Internet.SearchResultsTable.dataValue", $results),
|
||||
("Internet.SearchResultsTable.selectedRows", null()),
|
||||
("Internet.NetworkArrows.animating", false()),
|
||||
("Internet.NoItemsFound.objectValue", if ($results) then "" else "No items found.")
|
||||
)
|
||||
</trigger>
|
||||
|
||||
<trigger language="JavaScript" path="URL.complete">
|
||||
query = DataStore.Get("URL.query");
|
||||
if (query)
|
||||
{
|
||||
DataStore.Set("Internet.MainQueryField.objectValue", query);
|
||||
DataStore.Set("Internet.NetworkArrows.animating", true);
|
||||
DataStore.Notify("DATA.action.performSearch");
|
||||
}
|
||||
</trigger>
|
||||
|
||||
<trigger path="Internet.SearchResultsTable" language="XQuery"
|
||||
inputs="tableRows=Internet.SearchResultsTable.dataValue, selectedRows=Internet.SearchResultsTable.selectedRows"
|
||||
output="Internet.DetailHTMLView.url" task="true">
|
||||
{-- If any aspect of the results table changes (.dataValue, or .selectedRows) --}
|
||||
{-- we want to trigger an update of the detail view. --}
|
||||
|
||||
let $selectedItem := if (exists($selectedRows)) then
|
||||
$tableRows[1+$selectedRows]
|
||||
else
|
||||
null()
|
||||
|
||||
return $selectedItem/doubleClickURL
|
||||
</trigger>
|
||||
|
||||
</triggers>
|
||||
|
||||
</channel>
|
||||
|
BIN
Channel/en.lproj/Channel.nib/CVS.tiff
Normal file
BIN
Channel/en.lproj/Channel.nib/CVS.tiff
Normal file
Binary file not shown.
45
Channel/en.lproj/Channel.nib/classes.nib
generated
Normal file
45
Channel/en.lproj/Channel.nib/classes.nib
generated
Normal file
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
IBClasses = (
|
||||
{CLASS = Aqua2SplitView; LANGUAGE = ObjC; SUPERCLASS = NSSplitView; },
|
||||
{CLASS = ColorView; LANGUAGE = ObjC; SUPERCLASS = NSView; },
|
||||
{
|
||||
CLASS = ElasticMatrix;
|
||||
LANGUAGE = ObjC;
|
||||
OUTLETS = {dataSource = id; };
|
||||
SUPERCLASS = NSMatrix;
|
||||
},
|
||||
{
|
||||
ACTIONS = {makeFontBigger = id; makeFontSmaller = id; print = id; };
|
||||
CLASS = HTMLView;
|
||||
LANGUAGE = ObjC;
|
||||
SUPERCLASS = NSView;
|
||||
},
|
||||
{CLASS = NSObject; LANGUAGE = ObjC; },
|
||||
{
|
||||
ACTIONS = {clear = id; };
|
||||
CLASS = NSTableViewWithDraggableItems;
|
||||
LANGUAGE = ObjC;
|
||||
SUPERCLASS = NSTableView;
|
||||
},
|
||||
{CLASS = RankCell; LANGUAGE = ObjC; SUPERCLASS = NSActionCell; },
|
||||
{
|
||||
CLASS = SherlockChannel;
|
||||
LANGUAGE = ObjC;
|
||||
OUTLETS = {channelView = NSView; thumbnailCell = NSView; };
|
||||
SUPERCLASS = NSObject;
|
||||
},
|
||||
{
|
||||
ACTIONS = {clear = id; };
|
||||
CLASS = SherlockNSTableView;
|
||||
LANGUAGE = ObjC;
|
||||
SUPERCLASS = NSTableView;
|
||||
},
|
||||
{
|
||||
ACTIONS = {startAnimation = id; stopAnimation = id; };
|
||||
CLASS = SpinningArrows;
|
||||
LANGUAGE = ObjC;
|
||||
SUPERCLASS = NSView;
|
||||
}
|
||||
);
|
||||
IBVersion = 1;
|
||||
}
|
BIN
Channel/en.lproj/Channel.nib/classes.nib.tiff
Normal file
BIN
Channel/en.lproj/Channel.nib/classes.nib.tiff
Normal file
Binary file not shown.
10
Channel/en.lproj/Channel.nib/data.dependency
Normal file
10
Channel/en.lproj/Channel.nib/data.dependency
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?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">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBPaletteDependency</key>
|
||||
<array>
|
||||
<string>Sherlock</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
BIN
Channel/en.lproj/Channel.nib/data.dependency.tiff
Normal file
BIN
Channel/en.lproj/Channel.nib/data.dependency.tiff
Normal file
Binary file not shown.
34
Channel/en.lproj/Channel.nib/info.nib
generated
Normal file
34
Channel/en.lproj/Channel.nib/info.nib
generated
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?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">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBDocumentLocation</key>
|
||||
<string>186 -55 397 423 0 0 1152 746 </string>
|
||||
<key>IBEditorPositions</key>
|
||||
<dict>
|
||||
<key>5</key>
|
||||
<string>238 230 547 506 0 0 1024 746 </string>
|
||||
</dict>
|
||||
<key>IBFramework Version</key>
|
||||
<string>364.0</string>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>5</integer>
|
||||
</array>
|
||||
<key>IBSystem Version</key>
|
||||
<string>7H63</string>
|
||||
<key>IBUserGuides</key>
|
||||
<dict>
|
||||
<key>5</key>
|
||||
<dict>
|
||||
<key>guideLocations</key>
|
||||
<array>
|
||||
<string>Horizontal:459.000000</string>
|
||||
<string>Horizontal:268.000000</string>
|
||||
</array>
|
||||
<key>guidesLocked</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
BIN
Channel/en.lproj/Channel.nib/info.nib.tiff
Normal file
BIN
Channel/en.lproj/Channel.nib/info.nib.tiff
Normal file
Binary file not shown.
BIN
Channel/en.lproj/Channel.nib/objects.nib
generated
Normal file
BIN
Channel/en.lproj/Channel.nib/objects.nib
generated
Normal file
Binary file not shown.
BIN
Channel/en.lproj/Channel.nib/objects.nib.tiff
Normal file
BIN
Channel/en.lproj/Channel.nib/objects.nib.tiff
Normal file
Binary file not shown.
BIN
Channel/en.lproj/Channel~.nib/CVS.tiff
Normal file
BIN
Channel/en.lproj/Channel~.nib/CVS.tiff
Normal file
Binary file not shown.
45
Channel/en.lproj/Channel~.nib/classes.nib
generated
Normal file
45
Channel/en.lproj/Channel~.nib/classes.nib
generated
Normal file
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
IBClasses = (
|
||||
{CLASS = Aqua2SplitView; LANGUAGE = ObjC; SUPERCLASS = NSSplitView; },
|
||||
{CLASS = ColorView; LANGUAGE = ObjC; SUPERCLASS = NSView; },
|
||||
{
|
||||
CLASS = ElasticMatrix;
|
||||
LANGUAGE = ObjC;
|
||||
OUTLETS = {dataSource = id; };
|
||||
SUPERCLASS = NSMatrix;
|
||||
},
|
||||
{
|
||||
ACTIONS = {makeFontBigger = id; makeFontSmaller = id; print = id; };
|
||||
CLASS = HTMLView;
|
||||
LANGUAGE = ObjC;
|
||||
SUPERCLASS = NSView;
|
||||
},
|
||||
{CLASS = NSObject; LANGUAGE = ObjC; },
|
||||
{
|
||||
ACTIONS = {clear = id; };
|
||||
CLASS = NSTableViewWithDraggableItems;
|
||||
LANGUAGE = ObjC;
|
||||
SUPERCLASS = NSTableView;
|
||||
},
|
||||
{CLASS = RankCell; LANGUAGE = ObjC; SUPERCLASS = NSActionCell; },
|
||||
{
|
||||
CLASS = SherlockChannel;
|
||||
LANGUAGE = ObjC;
|
||||
OUTLETS = {channelView = NSView; thumbnailCell = NSView; };
|
||||
SUPERCLASS = NSObject;
|
||||
},
|
||||
{
|
||||
ACTIONS = {clear = id; };
|
||||
CLASS = SherlockNSTableView;
|
||||
LANGUAGE = ObjC;
|
||||
SUPERCLASS = NSTableView;
|
||||
},
|
||||
{
|
||||
ACTIONS = {startAnimation = id; stopAnimation = id; };
|
||||
CLASS = SpinningArrows;
|
||||
LANGUAGE = ObjC;
|
||||
SUPERCLASS = NSView;
|
||||
}
|
||||
);
|
||||
IBVersion = 1;
|
||||
}
|
BIN
Channel/en.lproj/Channel~.nib/classes.nib.tiff
Normal file
BIN
Channel/en.lproj/Channel~.nib/classes.nib.tiff
Normal file
Binary file not shown.
10
Channel/en.lproj/Channel~.nib/data.dependency
Normal file
10
Channel/en.lproj/Channel~.nib/data.dependency
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?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">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBPaletteDependency</key>
|
||||
<array>
|
||||
<string>Sherlock</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
BIN
Channel/en.lproj/Channel~.nib/data.dependency.tiff
Normal file
BIN
Channel/en.lproj/Channel~.nib/data.dependency.tiff
Normal file
Binary file not shown.
34
Channel/en.lproj/Channel~.nib/info.nib
generated
Normal file
34
Channel/en.lproj/Channel~.nib/info.nib
generated
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?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">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBDocumentLocation</key>
|
||||
<string>186 -55 397 423 0 0 1152 746 </string>
|
||||
<key>IBEditorPositions</key>
|
||||
<dict>
|
||||
<key>5</key>
|
||||
<string>238 230 547 506 0 0 1024 746 </string>
|
||||
</dict>
|
||||
<key>IBFramework Version</key>
|
||||
<string>364.0</string>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>5</integer>
|
||||
</array>
|
||||
<key>IBSystem Version</key>
|
||||
<string>7H63</string>
|
||||
<key>IBUserGuides</key>
|
||||
<dict>
|
||||
<key>5</key>
|
||||
<dict>
|
||||
<key>guideLocations</key>
|
||||
<array>
|
||||
<string>Horizontal:459.000000</string>
|
||||
<string>Horizontal:268.000000</string>
|
||||
</array>
|
||||
<key>guidesLocked</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
BIN
Channel/en.lproj/Channel~.nib/info.nib.tiff
Normal file
BIN
Channel/en.lproj/Channel~.nib/info.nib.tiff
Normal file
Binary file not shown.
BIN
Channel/en.lproj/Channel~.nib/objects.nib
generated
Normal file
BIN
Channel/en.lproj/Channel~.nib/objects.nib
generated
Normal file
Binary file not shown.
BIN
Channel/en.lproj/Channel~.nib/objects.nib.tiff
Normal file
BIN
Channel/en.lproj/Channel~.nib/objects.nib.tiff
Normal file
Binary file not shown.
10
Channel/en.lproj/LocalizedResources.plist
Normal file
10
Channel/en.lproj/LocalizedResources.plist
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CHANNEL_NAME</key>
|
||||
<string>SherlockRSS</string>
|
||||
<key>CHANNEL_DESCRIPTION</key>
|
||||
<string>A simple RSS feed viewer.</string>
|
||||
</dict>
|
||||
</plist>
|
37
Channel/en.lproj/help.html
Normal file
37
Channel/en.lproj/help.html
Normal file
|
@ -0,0 +1,37 @@
|
|||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=iso-8859-1">
|
||||
<TITLE>SherlockRSS Channel Help</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#ffffff" LEFTMARGIN="0" MARGINHEIGHT="0" MARGINWIDTH="0" TOPMARGIN="0">
|
||||
<DIV ALIGN="left">
|
||||
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
|
||||
<TR ALIGN="left" VALIGN="top" HEIGHT="63">
|
||||
<TD ALIGN="left" VALIGN="top" WIDTH="4" HEIGHT="63"></TD>
|
||||
<TD ROWSPAN="2" VALIGN="bottom" WIDTH="250" HEIGHT="68"><FONT SIZE="5" FACE="Lucida Grande"><b>SherlockRSS Channel Help</b></font></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
|
||||
<TR VALIGN="top" HEIGHT="2">
|
||||
<TD WIDTH="14" HEIGHT="2"></TD>
|
||||
<TD WIDTH="46%" HEIGHT="2"><FONT SIZE="1"><hr></FONT></TD>
|
||||
</TR>
|
||||
<TR VALIGN="top">
|
||||
<TD WIDTH="14"></TD>
|
||||
<TD WIDTH="46%">
|
||||
<DIV ALIGN="left">
|
||||
<P>
|
||||
<FONT SIZE="4" FACE="Lucida Grande">About...</FONT>
|
||||
<BR><BR>
|
||||
<FONT SIZE="2" FACE="Lucida Grande">Use this Sherlock Channel to view RSS feeds.<br>Developed by <a href="http://www.thauvin.net/erik/">Erik C. Thauvin</a>.</FONT>
|
||||
</P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
69
SherlockRSS.xcode/default.pbxuser
Normal file
69
SherlockRSS.xcode/default.pbxuser
Normal file
|
@ -0,0 +1,69 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
F514AB0D030D998B01CA1440 = {
|
||||
exec = F58EDDA5030C6D2F01CA1440;
|
||||
isa = PBXExecutableBookmark;
|
||||
uiCtxt = {
|
||||
buildSettingsExpandedSubviews = (
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
);
|
||||
buildSettingsVisRect = "{{0, 0}, {626, 471}}";
|
||||
};
|
||||
};
|
||||
F5231FF5030C0E1D01CA1440 = {
|
||||
activeBuildStyle = F5231FF3030C0E1D01CA1440;
|
||||
activeExecutable = F58EDDA5030C6D2F01CA1440;
|
||||
activeTarget = F523204D030C18FC01CA1440;
|
||||
executables = (
|
||||
F58EDDA5030C6D2F01CA1440,
|
||||
);
|
||||
perUserProjectItems = {
|
||||
F514AB0D030D998B01CA1440 = F514AB0D030D998B01CA1440;
|
||||
F58EDDA8030C6D4201CA1440 = F58EDDA8030C6D4201CA1440;
|
||||
};
|
||||
projectwideBuildSettings = {
|
||||
};
|
||||
wantsIndex = 1;
|
||||
wantsSCM = -1;
|
||||
};
|
||||
F523204D030C18FC01CA1440 = {
|
||||
activeExec = 0;
|
||||
};
|
||||
F58EDDA5030C6D2F01CA1440 = {
|
||||
activeArgIndex = 2147483647;
|
||||
argumentStrings = (
|
||||
);
|
||||
debuggerPlugin = GDBDebugging;
|
||||
dylibVariantSuffix = "";
|
||||
enableDebugStr = 1;
|
||||
environmentEntries = (
|
||||
{
|
||||
active = YES;
|
||||
name = SHERLOCK_DEBUG_CHANNELS;
|
||||
value = 1;
|
||||
},
|
||||
);
|
||||
isa = PBXExecutable;
|
||||
launchableReference = F58EDDA6030C6D2F01CA1440;
|
||||
name = Sherlock;
|
||||
shlibInfoDictList = (
|
||||
);
|
||||
sourceDirectories = (
|
||||
);
|
||||
};
|
||||
F58EDDA6030C6D2F01CA1440 = {
|
||||
isa = PBXApplicationReference;
|
||||
name = Sherlock.app;
|
||||
path = /Applications/Sherlock.app;
|
||||
refType = 0;
|
||||
};
|
||||
F58EDDA8030C6D4201CA1440 = {
|
||||
exec = F58EDDA5030C6D2F01CA1440;
|
||||
isa = PBXExecutableBookmark;
|
||||
};
|
||||
}
|
479
SherlockRSS.xcode/erik.pbxuser
Normal file
479
SherlockRSS.xcode/erik.pbxuser
Normal file
|
@ -0,0 +1,479 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
03FB894606C2B72500727077 = {
|
||||
isa = PBXSourceControlManager;
|
||||
scmConfiguration = {
|
||||
};
|
||||
scmType = scm.cvs;
|
||||
};
|
||||
03FB894706C2B72500727077 = {
|
||||
indexTemplatePath = "";
|
||||
isa = PBXCodeSenseManager;
|
||||
usesDefaults = 1;
|
||||
wantsCodeCompletion = 1;
|
||||
wantsCodeCompletionAutoPopup = 0;
|
||||
wantsCodeCompletionAutoSuggestions = 0;
|
||||
wantsCodeCompletionCaseSensitivity = 1;
|
||||
wantsCodeCompletionOnlyMatchingItems = 1;
|
||||
wantsCodeCompletionParametersIncluded = 1;
|
||||
wantsCodeCompletionPlaceholdersInserted = 1;
|
||||
wantsCodeCompletionTabCompletes = 1;
|
||||
wantsIndex = 1;
|
||||
};
|
||||
2407DB63030C590B03CA16AF = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {711, 2043}}";
|
||||
sepNavSelRange = "{1617, 0}";
|
||||
sepNavVisRect = "{{0, 0}, {711, 449}}";
|
||||
sepNavWindowFrame = "{{199, 15}, {750, 558}}";
|
||||
};
|
||||
};
|
||||
2407DB67030C590B03CA16AF = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {711, 428}}";
|
||||
sepNavSelRange = "{268, 0}";
|
||||
sepNavVisRect = "{{0, 0}, {711, 428}}";
|
||||
sepNavWindowFrame = "{{15, 183}, {750, 558}}";
|
||||
};
|
||||
};
|
||||
F5231FF5030C0E1D01CA1440 = {
|
||||
activeBuildStyle = F5231FF3030C0E1D01CA1440;
|
||||
activeExecutable = F58EDDA5030C6D2F01CA1440;
|
||||
activeTarget = F523204D030C18FC01CA1440;
|
||||
addToTargets = (
|
||||
);
|
||||
codeSenseManager = 03FB894706C2B72500727077;
|
||||
executables = (
|
||||
F58EDDA5030C6D2F01CA1440,
|
||||
);
|
||||
perUserDictionary = {
|
||||
PBXPerProjectTemplateStateSaveDate = 113439148;
|
||||
PBXPrepackagedSmartGroups_v2 = (
|
||||
{
|
||||
PBXTransientLocationAtTop = bottom;
|
||||
absolutePathToBundle = "";
|
||||
activationKey = OldTargetSmartGroup;
|
||||
clz = PBXTargetSmartGroup;
|
||||
description = "Displays all targets of the project.";
|
||||
globalID = 1C37FABC04509CD000000102;
|
||||
name = Targets;
|
||||
preferences = {
|
||||
image = Targets;
|
||||
};
|
||||
},
|
||||
{
|
||||
PBXTransientLocationAtTop = bottom;
|
||||
absolutePathToBundle = "";
|
||||
clz = PBXTargetSmartGroup2;
|
||||
description = "Displays all targets of the project as well as nested build phases.";
|
||||
globalID = 1C37FBAC04509CD000000102;
|
||||
name = Targets;
|
||||
preferences = {
|
||||
image = Targets;
|
||||
};
|
||||
},
|
||||
{
|
||||
PBXTransientLocationAtTop = bottom;
|
||||
absolutePathToBundle = "";
|
||||
clz = PBXExecutablesSmartGroup;
|
||||
description = "Displays all executables of the project.";
|
||||
globalID = 1C37FAAC04509CD000000102;
|
||||
name = Executables;
|
||||
preferences = {
|
||||
image = Executable;
|
||||
};
|
||||
},
|
||||
{
|
||||
" PBXTransientLocationAtTop " = bottom;
|
||||
absolutePathToBundle = "";
|
||||
clz = PBXErrorsWarningsSmartGroup;
|
||||
description = "Displays files with errors or warnings.";
|
||||
globalID = 1C08E77C0454961000C914BD;
|
||||
name = "Errors and Warnings";
|
||||
preferences = {
|
||||
fnmatch = "";
|
||||
image = WarningsErrors;
|
||||
recursive = 1;
|
||||
regex = "";
|
||||
root = "<PROJECT>";
|
||||
};
|
||||
},
|
||||
{
|
||||
PBXTransientLocationAtTop = bottom;
|
||||
absolutePathToBundle = "";
|
||||
clz = PBXFilenameSmartGroup;
|
||||
description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter.";
|
||||
globalID = 1CC0EA4004350EF90044410B;
|
||||
name = "Implementation Files";
|
||||
preferences = {
|
||||
canSave = 1;
|
||||
fnmatch = "";
|
||||
image = SmartFolder;
|
||||
isLeaf = 0;
|
||||
recursive = 1;
|
||||
regex = "?*\\.[mcMC]";
|
||||
root = "<PROJECT>";
|
||||
};
|
||||
},
|
||||
{
|
||||
PBXTransientLocationAtTop = bottom;
|
||||
absolutePathToBundle = "";
|
||||
clz = PBXFilenameSmartGroup;
|
||||
description = "This group displays Interface Builder NIB Files.";
|
||||
globalID = 1CC0EA4004350EF90041110B;
|
||||
name = "NIB Files";
|
||||
preferences = {
|
||||
canSave = 1;
|
||||
fnmatch = "*.nib";
|
||||
image = SmartFolder;
|
||||
isLeaf = 0;
|
||||
recursive = 1;
|
||||
regex = "";
|
||||
root = "<PROJECT>";
|
||||
};
|
||||
},
|
||||
{
|
||||
PBXTransientLocationAtTop = no;
|
||||
absolutePathToBundle = "";
|
||||
clz = PBXFindSmartGroup;
|
||||
description = "Displays Find Results.";
|
||||
globalID = 1C37FABC05509CD000000102;
|
||||
name = "Find Results";
|
||||
preferences = {
|
||||
image = spyglass;
|
||||
};
|
||||
},
|
||||
{
|
||||
PBXTransientLocationAtTop = no;
|
||||
absolutePathToBundle = "";
|
||||
clz = PBXBookmarksSmartGroup;
|
||||
description = "Displays Project Bookmarks.";
|
||||
globalID = 1C37FABC05539CD112110102;
|
||||
name = Bookmarks;
|
||||
preferences = {
|
||||
image = Bookmarks;
|
||||
};
|
||||
},
|
||||
{
|
||||
PBXTransientLocationAtTop = bottom;
|
||||
absolutePathToBundle = "";
|
||||
clz = XCSCMSmartGroup;
|
||||
description = "Displays files with interesting SCM status.";
|
||||
globalID = E2644B35053B69B200211256;
|
||||
name = SCM;
|
||||
preferences = {
|
||||
image = PBXRepository;
|
||||
isLeaf = 0;
|
||||
};
|
||||
},
|
||||
{
|
||||
PBXTransientLocationAtTop = bottom;
|
||||
absolutePathToBundle = "";
|
||||
clz = PBXSymbolsSmartGroup;
|
||||
description = "Displays all symbols for the project.";
|
||||
globalID = 1C37FABC04509CD000100104;
|
||||
name = "Project Symbols";
|
||||
preferences = {
|
||||
image = ProjectSymbols;
|
||||
isLeaf = 1;
|
||||
};
|
||||
},
|
||||
{
|
||||
PBXTransientLocationAtTop = bottom;
|
||||
absolutePathToBundle = "";
|
||||
clz = PBXFilenameSmartGroup;
|
||||
description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter.";
|
||||
globalID = PBXTemplateMarker;
|
||||
name = "Simple Filter SmartGroup";
|
||||
preferences = {
|
||||
canSave = 1;
|
||||
fnmatch = "*.nib";
|
||||
image = SmartFolder;
|
||||
isLeaf = 0;
|
||||
recursive = 1;
|
||||
regex = "";
|
||||
root = "<PROJECT>";
|
||||
};
|
||||
},
|
||||
{
|
||||
PBXTransientLocationAtTop = bottom;
|
||||
absolutePathToBundle = "";
|
||||
clz = PBXFilenameSmartGroup;
|
||||
description = "Filters items in a given group (potentially recursively) based on matching the name with the regular expression of the filter.";
|
||||
globalID = PBXTemplateMarker;
|
||||
name = "Simple Regular Expression SmartGroup";
|
||||
preferences = {
|
||||
canSave = 1;
|
||||
fnmatch = "";
|
||||
image = SmartFolder;
|
||||
isLeaf = 0;
|
||||
recursive = 1;
|
||||
regex = "?*\\.[mcMC]";
|
||||
root = "<PROJECT>";
|
||||
};
|
||||
},
|
||||
);
|
||||
PBXWorkspaceContents = (
|
||||
{
|
||||
PBXProjectWorkspaceModule_StateKey_Rev39 = {
|
||||
PBXProjectWorkspaceModule_DataSourceSelectionKey_Rev6 = {
|
||||
BoundsStr = "{{0, 0}, {403, 284}}";
|
||||
Rows = (
|
||||
);
|
||||
VisibleRectStr = "{{0, 0}, {403, 284}}";
|
||||
};
|
||||
PBXProjectWorkspaceModule_EditorOpen = false;
|
||||
PBXProjectWorkspaceModule_EmbeddedNavigatorGroup = {
|
||||
PBXSplitModuleInNavigatorKey = {
|
||||
SplitCount = 1;
|
||||
};
|
||||
};
|
||||
PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
|
||||
PBXProjectWorkspaceModule_SGTM_Geometry = {
|
||||
_collapsingFrameDimension = 0;
|
||||
_indexOfCollapsedView = 0;
|
||||
_percentageOfCollapsedView = 0;
|
||||
sizes = (
|
||||
"{{0, 0}, {182, 301}}",
|
||||
"{{182, 0}, {418, 301}}",
|
||||
);
|
||||
};
|
||||
};
|
||||
PBXProjectWorkspaceModule_OldDetailFrame = "{{0, 0}, {418, 301}}";
|
||||
PBXProjectWorkspaceModule_OldEditorFrame = "{{0, 0}, {750, 480}}";
|
||||
PBXProjectWorkspaceModule_OldSuperviewFrame = "{{182, 0}, {418, 301}}";
|
||||
PBXProjectWorkspaceModule_SGTM = {
|
||||
PBXBottomSmartGroupGIDs = (
|
||||
1C37FBAC04509CD000000102,
|
||||
1C37FAAC04509CD000000102,
|
||||
1C08E77C0454961000C914BD,
|
||||
1CC0EA4004350EF90044410B,
|
||||
1CC0EA4004350EF90041110B,
|
||||
1C37FABC05509CD000000102,
|
||||
1C37FABC05539CD112110102,
|
||||
E2644B35053B69B200211256,
|
||||
1C37FABC04509CD000100104,
|
||||
);
|
||||
PBXSmartGroupTreeModuleColumnData = {
|
||||
PBXSmartGroupTreeModuleColumnWidthsKey = (
|
||||
165,
|
||||
);
|
||||
PBXSmartGroupTreeModuleColumnsKey_v4 = (
|
||||
MainColumn,
|
||||
);
|
||||
};
|
||||
PBXSmartGroupTreeModuleOutlineStateKey_v7 = {
|
||||
PBXSmartGroupTreeModuleOutlineStateExpansionKey = (
|
||||
F5231FF1030C0E1D01CA1440,
|
||||
2407DB62030C590B03CA16AF,
|
||||
2407DB64030C590B03CA16AF,
|
||||
2407DB66030C590B03CA16AF,
|
||||
);
|
||||
PBXSmartGroupTreeModuleOutlineStateSelectionKey = (
|
||||
(
|
||||
0,
|
||||
),
|
||||
);
|
||||
PBXSmartGroupTreeModuleOutlineStateVisibleRectKey = "{{0, 0}, {165, 283}}";
|
||||
};
|
||||
PBXTopSmartGroupGIDs = (
|
||||
);
|
||||
};
|
||||
};
|
||||
},
|
||||
);
|
||||
"PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXBuildResultsModule" = {
|
||||
};
|
||||
"PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXCVSModule" = {
|
||||
};
|
||||
"PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXDebugCLIModule" = {
|
||||
};
|
||||
"PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXNavigatorGroup" = {
|
||||
PBXSplitModuleInNavigatorKey = {
|
||||
SplitCount = 1;
|
||||
};
|
||||
};
|
||||
"PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXProjectWorkspaceModule" = {
|
||||
PBXProjectWorkspaceModule_StateKey_Rev39 = {
|
||||
PBXProjectWorkspaceModule_DataSourceSelectionKey_Rev6 = {
|
||||
BoundsStr = "{{0, 0}, {403, 284}}";
|
||||
Rows = (
|
||||
0,
|
||||
);
|
||||
VisibleRectStr = "{{0, 0}, {403, 284}}";
|
||||
};
|
||||
PBXProjectWorkspaceModule_EditorOpen = false;
|
||||
PBXProjectWorkspaceModule_EmbeddedNavigatorGroup = {
|
||||
PBXSplitModuleInNavigatorKey = {
|
||||
SplitCount = 1;
|
||||
};
|
||||
};
|
||||
PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
|
||||
PBXProjectWorkspaceModule_SGTM_Geometry = {
|
||||
_collapsingFrameDimension = 0;
|
||||
_indexOfCollapsedView = 0;
|
||||
_percentageOfCollapsedView = 0;
|
||||
sizes = (
|
||||
"{{0, 0}, {182, 301}}",
|
||||
"{{182, 0}, {418, 301}}",
|
||||
);
|
||||
};
|
||||
};
|
||||
PBXProjectWorkspaceModule_OldDetailFrame = "{{0, 0}, {418, 301}}";
|
||||
PBXProjectWorkspaceModule_OldEditorFrame = "{{0, 0}, {750, 480}}";
|
||||
PBXProjectWorkspaceModule_OldSuperviewFrame = "{{182, 0}, {418, 301}}";
|
||||
PBXProjectWorkspaceModule_SGTM = {
|
||||
PBXBottomSmartGroupGIDs = (
|
||||
1C37FBAC04509CD000000102,
|
||||
1C37FAAC04509CD000000102,
|
||||
1C08E77C0454961000C914BD,
|
||||
1CC0EA4004350EF90044410B,
|
||||
1CC0EA4004350EF90041110B,
|
||||
1C37FABC05509CD000000102,
|
||||
1C37FABC05539CD112110102,
|
||||
E2644B35053B69B200211256,
|
||||
1C37FABC04509CD000100104,
|
||||
);
|
||||
PBXSmartGroupTreeModuleColumnData = {
|
||||
PBXSmartGroupTreeModuleColumnWidthsKey = (
|
||||
165,
|
||||
);
|
||||
PBXSmartGroupTreeModuleColumnsKey_v4 = (
|
||||
MainColumn,
|
||||
);
|
||||
};
|
||||
PBXSmartGroupTreeModuleOutlineStateKey_v7 = {
|
||||
PBXSmartGroupTreeModuleOutlineStateExpansionKey = (
|
||||
);
|
||||
PBXSmartGroupTreeModuleOutlineStateSelectionKey = (
|
||||
(
|
||||
0,
|
||||
),
|
||||
);
|
||||
PBXSmartGroupTreeModuleOutlineStateVisibleRectKey = "{{0, 0}, {165, 283}}";
|
||||
};
|
||||
PBXTopSmartGroupGIDs = (
|
||||
);
|
||||
};
|
||||
};
|
||||
};
|
||||
"PBXWorkspaceContents:PBXConfiguration.PBXModule.PBXRunSessionModule" = {
|
||||
LauncherConfigVersion = 3;
|
||||
Runner = {
|
||||
HorizontalSplitView = {
|
||||
_collapsingFrameDimension = 0;
|
||||
_indexOfCollapsedView = 0;
|
||||
_percentageOfCollapsedView = 0;
|
||||
isCollapsed = yes;
|
||||
sizes = (
|
||||
"{{0, 0}, {493, 167}}",
|
||||
"{{0, 176}, {493, 267}}",
|
||||
);
|
||||
};
|
||||
VerticalSplitView = {
|
||||
_collapsingFrameDimension = 0;
|
||||
_indexOfCollapsedView = 0;
|
||||
_percentageOfCollapsedView = 0;
|
||||
isCollapsed = yes;
|
||||
sizes = (
|
||||
"{{0, 0}, {405, 443}}",
|
||||
"{{414, 0}, {514, 443}}",
|
||||
);
|
||||
};
|
||||
};
|
||||
};
|
||||
PBXWorkspaceGeometries = (
|
||||
{
|
||||
Frame = "{{0, 0}, {600, 301}}";
|
||||
PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
|
||||
};
|
||||
RubberWindowFrame = "51 371 600 343 0 0 1024 746 ";
|
||||
},
|
||||
);
|
||||
"PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXBuildResultsModule" = {
|
||||
Frame = "{{0, 0}, {480, 217}}";
|
||||
PBXModuleWindowStatusBarHidden = YES;
|
||||
RubberWindowFrame = "272 407 480 238 0 0 1024 746 ";
|
||||
};
|
||||
"PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXCVSModule" = {
|
||||
Frame = "{{0, 0}, {482, 276}}";
|
||||
RubberWindowFrame = "262 214 482 318 0 0 1024 746 ";
|
||||
};
|
||||
"PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXDebugCLIModule" = {
|
||||
Frame = "{{0, 0}, {400, 201}}";
|
||||
PBXModuleWindowStatusBarHidden = YES;
|
||||
RubberWindowFrame = "50 718 400 222 0 0 1024 746 ";
|
||||
};
|
||||
"PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXNavigatorGroup" = {
|
||||
Frame = "{{0, 0}, {830, 495}}";
|
||||
PBXModuleWindowStatusBarHidden = YES;
|
||||
RubberWindowFrame = "61 183 830 516 0 0 1024 746 ";
|
||||
};
|
||||
"PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXProjectWorkspaceModule" = {
|
||||
Frame = "{{0, 0}, {600, 301}}";
|
||||
PBXProjectWorkspaceModule_GeometryKey_Rev15 = {
|
||||
};
|
||||
RubberWindowFrame = "51 371 600 343 0 0 1024 746 ";
|
||||
};
|
||||
"PBXWorkspaceGeometries:PBXConfiguration.PBXModule.PBXRunSessionModule" = {
|
||||
Frame = "{{0, 0}, {745, 422}}";
|
||||
RubberWindowFrame = "139 272 745 464 0 0 1024 746 ";
|
||||
};
|
||||
PBXWorkspaceStateSaveDate = 113439148;
|
||||
};
|
||||
sourceControlManager = 03FB894606C2B72500727077;
|
||||
userBuildSettings = {
|
||||
};
|
||||
};
|
||||
F5231FFF030C0F5201CA1440 = {
|
||||
uiCtxt = {
|
||||
sepNavWindowFrame = "{{61, 127}, {830, 572}}";
|
||||
};
|
||||
};
|
||||
F523204D030C18FC01CA1440 = {
|
||||
activeExec = 0;
|
||||
};
|
||||
F58EDDA5030C6D2F01CA1440 = {
|
||||
activeArgIndex = 2147483647;
|
||||
activeArgIndices = (
|
||||
);
|
||||
argumentStrings = (
|
||||
);
|
||||
configStateDict = {
|
||||
};
|
||||
debuggerPlugin = GDBDebugging;
|
||||
dylibVariantSuffix = "";
|
||||
enableDebugStr = 1;
|
||||
environmentEntries = (
|
||||
{
|
||||
active = YES;
|
||||
name = SHERLOCK_DEBUG_CHANNELS;
|
||||
value = 1;
|
||||
},
|
||||
);
|
||||
isa = PBXExecutable;
|
||||
launchableReference = F58EDDA6030C6D2F01CA1440;
|
||||
name = Sherlock;
|
||||
shlibInfoDictList = (
|
||||
);
|
||||
sourceDirectories = (
|
||||
);
|
||||
};
|
||||
F58EDDA6030C6D2F01CA1440 = {
|
||||
fallbackIsa = PBXFileReference;
|
||||
isa = PBXApplicationReference;
|
||||
lastKnownFileType = wrapper.application;
|
||||
name = Sherlock.app;
|
||||
path = /Applications/Sherlock.app;
|
||||
refType = 0;
|
||||
sourceTree = "<absolute>";
|
||||
};
|
||||
F5E000E1030C2E9901CA1440 = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {711, 630}}";
|
||||
sepNavSelRange = "{1825, 0}";
|
||||
sepNavVisRect = "{{0, 181}, {711, 449}}";
|
||||
sepNavWindowFrame = "{{38, 162}, {750, 558}}";
|
||||
};
|
||||
};
|
||||
}
|
184
SherlockRSS.xcode/project.pbxproj
Normal file
184
SherlockRSS.xcode/project.pbxproj
Normal file
|
@ -0,0 +1,184 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 39;
|
||||
objects = {
|
||||
033EA7B106C2E6AA00C73937 = {
|
||||
fileEncoding = 30;
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = text.html;
|
||||
path = index.html;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
//030
|
||||
//031
|
||||
//032
|
||||
//033
|
||||
//034
|
||||
//240
|
||||
//241
|
||||
//242
|
||||
//243
|
||||
//244
|
||||
2407DB62030C590B03CA16AF = {
|
||||
children = (
|
||||
2407DB63030C590B03CA16AF,
|
||||
2407DB64030C590B03CA16AF,
|
||||
2407DB66030C590B03CA16AF,
|
||||
);
|
||||
isa = PBXGroup;
|
||||
path = Channel;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2407DB63030C590B03CA16AF = {
|
||||
fileEncoding = 4;
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = text.plist.xml;
|
||||
path = Channel.xml;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2407DB64030C590B03CA16AF = {
|
||||
children = (
|
||||
2407DB65030C590B03CA16AF,
|
||||
);
|
||||
isa = PBXVariantGroup;
|
||||
name = Channel.nib;
|
||||
path = "";
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2407DB65030C590B03CA16AF = {
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = wrapper.nib;
|
||||
name = en;
|
||||
path = en.lproj/Channel.nib;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2407DB66030C590B03CA16AF = {
|
||||
children = (
|
||||
2407DB67030C590B03CA16AF,
|
||||
);
|
||||
isa = PBXVariantGroup;
|
||||
name = LocalizedResources.plist;
|
||||
path = "";
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2407DB67030C590B03CA16AF = {
|
||||
fileEncoding = 4;
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = text.plist.xml;
|
||||
name = en;
|
||||
path = en.lproj/LocalizedResources.plist;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
//240
|
||||
//241
|
||||
//242
|
||||
//243
|
||||
//244
|
||||
//F50
|
||||
//F51
|
||||
//F52
|
||||
//F53
|
||||
//F54
|
||||
F5231FF1030C0E1D01CA1440 = {
|
||||
children = (
|
||||
033EA7B106C2E6AA00C73937,
|
||||
F5E000E1030C2E9901CA1440,
|
||||
F5231FFF030C0F5201CA1440,
|
||||
2407DB62030C590B03CA16AF,
|
||||
);
|
||||
isa = PBXGroup;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
F5231FF3030C0E1D01CA1440 = {
|
||||
buildRules = (
|
||||
);
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
ZERO_LINK = YES;
|
||||
};
|
||||
isa = PBXBuildStyle;
|
||||
name = Development;
|
||||
};
|
||||
F5231FF4030C0E1D01CA1440 = {
|
||||
buildRules = (
|
||||
);
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = YES;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = NO;
|
||||
ZERO_LINK = NO;
|
||||
};
|
||||
isa = PBXBuildStyle;
|
||||
name = Deployment;
|
||||
};
|
||||
F5231FF5030C0E1D01CA1440 = {
|
||||
buildSettings = {
|
||||
};
|
||||
buildStyles = (
|
||||
F5231FF3030C0E1D01CA1440,
|
||||
F5231FF4030C0E1D01CA1440,
|
||||
);
|
||||
hasScannedForEncodings = 1;
|
||||
isa = PBXProject;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
en,
|
||||
);
|
||||
mainGroup = F5231FF1030C0E1D01CA1440;
|
||||
projectDirPath = "";
|
||||
targets = (
|
||||
F523204D030C18FC01CA1440,
|
||||
);
|
||||
};
|
||||
F5231FFF030C0F5201CA1440 = {
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = image.icns;
|
||||
path = Channel.icns;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
F523204D030C18FC01CA1440 = {
|
||||
buildPhases = (
|
||||
);
|
||||
buildSettings = {
|
||||
OTHER_CFLAGS = "";
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_REZFLAGS = "";
|
||||
PRODUCT_NAME = SherlockRSS;
|
||||
SECTORDER_FLAGS = "";
|
||||
WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
|
||||
};
|
||||
dependencies = (
|
||||
);
|
||||
isa = PBXAggregateTarget;
|
||||
name = SherlockRSS;
|
||||
productName = MyChannel;
|
||||
};
|
||||
F5E000E1030C2E9901CA1440 = {
|
||||
fileEncoding = 4;
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = text.plist.xml;
|
||||
path = SherlockRSS.xml;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
};
|
||||
rootObject = F5231FF5030C0E1D01CA1440;
|
||||
}
|
45
SherlockRSS.xml
Normal file
45
SherlockRSS.xml
Normal file
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SherlockRSS License
|
||||
|
||||
Copyright (c) 2004, Erik C. Thauvin (http://www.thauvin.net/erik/)
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
Neither the name of the authors nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
-->
|
||||
|
||||
<channel_info
|
||||
identifier="net.thauvin.sherlockRSS"
|
||||
icon_url="Channel.icns"
|
||||
channel_url="Channel/Channel.xml"
|
||||
localized_base_url="Channel/"
|
||||
nib_url="Channel.nib/objects.nib"
|
||||
help_file="help.html"
|
||||
check_point="true"
|
||||
/>
|
12
index.html
Normal file
12
index.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>SherlockRSS Tests</title>
|
||||
</head>
|
||||
<body>
|
||||
<h3>SherlockRSS Tests</h3>
|
||||
<ul>
|
||||
<li><a href="sherlock://www.thauvin.net/erik/download/SherlockRSS/SherlockRSS.xml?action=add&subscribe&query=http%3A//www.thauvin.net/blog/xml.jsp">Subscribe & View Erik's Weblog</a>
|
||||
<li><a href="sherlock://www.thauvin.net/erik/download/SherlockRSS/SherlockRSS.xml?action=add&subscribe&query=http%3A//www.thauvin.net/linkblog/xml.jsp?view=links">Subscribe & View Erik's Linkblog</a>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue