Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire
This commit is contained in:
commit
d2eeeb7628
|
@ -6,6 +6,16 @@
|
||||||
<description>Most recent NetNewsWire changes with links to updates.</description>
|
<description>Most recent NetNewsWire changes with links to updates.</description>
|
||||||
<language>en</language>
|
<language>en</language>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>NetNewsWire 5.0.1b1</title>
|
||||||
|
<description><![CDATA[
|
||||||
|
<p>Timeline: reload the timeline when show-feed-names is toggled. This fixes a bug where switching between a folder and a feed with the exact same list of articles to appear in the timeline would result in display glitches.</p>
|
||||||
|
]]></description>
|
||||||
|
<pubDate>Tue, 10 Sep 2019 20:50:00 -0700</pubDate>
|
||||||
|
<enclosure url="https://github.com/brentsimmons/NetNewsWire/releases/download/mac-5.0.1b1/NetNewsWire5.0.1b1.zip" sparkle:version="2613" sparkle:shortVersionString="5.0.1b1" length="5094966" type="application/zip" />
|
||||||
|
<sparkle:minimumSystemVersion>10.14.4</sparkle:minimumSystemVersion>
|
||||||
|
</item>
|
||||||
|
|
||||||
<item>
|
<item>
|
||||||
<title>NetNewsWire 5.0.1d2</title>
|
<title>NetNewsWire 5.0.1d2</title>
|
||||||
<description><![CDATA[
|
<description><![CDATA[
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="14865.1" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
|
<deployment identifier="macosx"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14865.1"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<scenes>
|
<scenes>
|
||||||
|
@ -268,14 +269,14 @@
|
||||||
<subviews>
|
<subviews>
|
||||||
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="firstColumnOnly" selectionHighlightStyle="sourceList" columnReordering="NO" columnResizing="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="26" viewBased="YES" floatsGroupRows="NO" indentationPerLevel="23" outlineTableColumn="ih9-mJ-EA7" id="cnV-kg-Dn2" customClass="SidebarOutlineView" customModule="NetNewsWire" customModuleProvider="target">
|
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="firstColumnOnly" selectionHighlightStyle="sourceList" columnReordering="NO" columnResizing="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="26" viewBased="YES" floatsGroupRows="NO" indentationPerLevel="23" outlineTableColumn="ih9-mJ-EA7" id="cnV-kg-Dn2" customClass="SidebarOutlineView" customModule="NetNewsWire" customModuleProvider="target">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="167" height="300"/>
|
<rect key="frame" x="0.0" y="0.0" width="167" height="300"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="0.0"/>
|
<size key="intercellSpacing" width="3" height="0.0"/>
|
||||||
<color key="backgroundColor" name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="164" minWidth="16" maxWidth="1000" id="ih9-mJ-EA7">
|
<tableColumn width="164" minWidth="23" maxWidth="1000" id="ih9-mJ-EA7">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="label" size="11"/>
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
|
@ -311,6 +312,7 @@
|
||||||
</prototypeCellViews>
|
</prototypeCellViews>
|
||||||
</tableColumn>
|
</tableColumn>
|
||||||
</tableColumns>
|
</tableColumns>
|
||||||
|
<accessibility description="Feeds"/>
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="delegate" destination="XML-A3-pDn" id="fPE-cv-p5c"/>
|
<outlet property="delegate" destination="XML-A3-pDn" id="fPE-cv-p5c"/>
|
||||||
<outlet property="keyboardDelegate" destination="h5K-zR-cUa" id="BlT-aW-sea"/>
|
<outlet property="keyboardDelegate" destination="h5K-zR-cUa" id="BlT-aW-sea"/>
|
||||||
|
@ -345,7 +347,7 @@
|
||||||
</constraints>
|
</constraints>
|
||||||
</progressIndicator>
|
</progressIndicator>
|
||||||
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="iyL-pW-cT6">
|
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="iyL-pW-cT6">
|
||||||
<rect key="frame" x="62" y="6" width="86" height="17"/>
|
<rect key="frame" x="62" y="6" width="86" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="dVE-XG-mlU">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="dVE-XG-mlU">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
@ -444,7 +446,7 @@
|
||||||
<rect key="frame" x="6" y="2" width="12" height="20"/>
|
<rect key="frame" x="6" y="2" width="12" height="20"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField horizontalHuggingPriority="850" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Dim-ed-Dcz" userLabel="URL Label">
|
<textField horizontalHuggingPriority="850" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Dim-ed-Dcz" userLabel="URL Label">
|
||||||
<rect key="frame" x="4" y="2" width="4" height="17"/>
|
<rect key="frame" x="4" y="2" width="4" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" usesSingleLineMode="YES" id="znU-Fh-L7H">
|
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" usesSingleLineMode="YES" id="znU-Fh-L7H">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
|
|
@ -14,6 +14,10 @@ final class DetailWebView: WKWebView {
|
||||||
|
|
||||||
weak var keyboardDelegate: KeyboardDelegate?
|
weak var keyboardDelegate: KeyboardDelegate?
|
||||||
|
|
||||||
|
override func accessibilityLabel() -> String? {
|
||||||
|
return NSLocalizedString("Article", comment: "Article")
|
||||||
|
}
|
||||||
|
|
||||||
// MARK: - NSResponder
|
// MARK: - NSResponder
|
||||||
|
|
||||||
override func keyDown(with event: NSEvent) {
|
override func keyDown(with event: NSEvent) {
|
||||||
|
|
|
@ -13,6 +13,10 @@ class TimelineTableView: NSTableView {
|
||||||
|
|
||||||
weak var keyboardDelegate: KeyboardDelegate?
|
weak var keyboardDelegate: KeyboardDelegate?
|
||||||
|
|
||||||
|
override func accessibilityLabel() -> String? {
|
||||||
|
return NSLocalizedString("Timeline", comment: "Timeline")
|
||||||
|
}
|
||||||
|
|
||||||
// MARK: - NSResponder
|
// MARK: - NSResponder
|
||||||
|
|
||||||
override func keyDown(with event: NSEvent) {
|
override func keyDown(with event: NSEvent) {
|
||||||
|
|
|
@ -48,6 +48,7 @@ final class TimelineViewController: NSViewController, UndoableCommandRunner, Unr
|
||||||
if articles.count > 0 {
|
if articles.count > 0 {
|
||||||
tableView.scrollRowToVisible(0)
|
tableView.scrollRowToVisible(0)
|
||||||
}
|
}
|
||||||
|
updateUnreadCount()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,6 +107,7 @@ final class TimelineViewController: NSViewController, UndoableCommandRunner, Unr
|
||||||
if showFeedNames != oldValue {
|
if showFeedNames != oldValue {
|
||||||
updateShowAvatars()
|
updateShowAvatars()
|
||||||
updateTableViewRowHeight()
|
updateTableViewRowHeight()
|
||||||
|
reloadVisibleCells()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -978,10 +980,7 @@ private extension TimelineViewController {
|
||||||
}
|
}
|
||||||
|
|
||||||
func replaceArticles(with unsortedArticles: Set<Article>) {
|
func replaceArticles(with unsortedArticles: Set<Article>) {
|
||||||
let sortedArticles = Array(unsortedArticles).sortedByDate(sortDirection)
|
articles = Array(unsortedArticles).sortedByDate(sortDirection)
|
||||||
if articles != sortedArticles {
|
|
||||||
articles = sortedArticles
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func fetchUnsortedArticlesSync(for representedObjects: [Any]) -> Set<Article> {
|
func fetchUnsortedArticlesSync(for representedObjects: [Any]) -> Set<Article> {
|
||||||
|
|
Loading…
Reference in New Issue