]> granicus.if.org Git - transmission/commitdiff
Dark mode support
authorMitchell Livingston <livings124@mac.com>
Fri, 21 Dec 2018 21:39:47 +0000 (16:39 -0500)
committerMitchell Livingston <livings124@mac.com>
Fri, 21 Dec 2018 21:39:47 +0000 (16:39 -0500)
This is the first pass. A bit more work is needed.

13 files changed:
macosx/Credits.rtf
macosx/FileNameCell.m
macosx/FilterBar.xib
macosx/FilterBarView.m
macosx/InfoTabButtonBack.h
macosx/InfoTabButtonBack.m
macosx/InfoTabButtonCell.m
macosx/NSApplicationAdditions.h
macosx/NSApplicationAdditions.m
macosx/StatusBarView.m
macosx/TorrentCell.m
macosx/TorrentTableView.m
macosx/TrackerCell.m

index ba599da705c407e46ac1dd4d9fe0ad9d31e5b91f..6ab18b6d0aef4b9e1551870af7f8be715f38934f 100644 (file)
-{\rtf1\ansi\ansicpg1252\cocoartf1265
-\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;\red127\green127\blue127;}
+{\rtf1\ansi\ansicpg1252\cocoartf1659
+{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red0\green0\blue0;\red0\green0\blue0;
+\red0\green0\blue0;\red0\green0\blue0;\red127\green127\blue127;}
+{\*\expandedcolortbl;;\cssrgb\c0\c0\c0\c84706\cname headerTextColor;\cssrgb\c0\c0\c0\cname textColor;\cssrgb\c0\c0\c0\c84706\cname labelColor;
+\cssrgb\c0\c0\c0\c24706\cname tertiaryLabelColor;\cssrgb\c0\c0\c0\c49804\cname secondaryLabelColor;\csgenericrgb\c49804\c49804\c49804;}
 \vieww14160\viewh15100\viewkind0
-\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40\qc
-
-\f0\b\fs28 \cf0 The Transmission Project
-\fs24 \
-\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40\qc
-{\field{\*\fldinst{HYPERLINK "https://transmissionbt.com/"}}{\fldrslt
-\b0 \cf0 https://transmissionbt.com/}}\
-\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40
-\cf0 \
-Lead Developers
-\b0  <{\field{\*\fldinst{HYPERLINK "mailto:dev@transmissionbt.com"}}{\fldrslt dev@transmissionbt.com}}>\
-       Jordan Lee, Mnemosyne LLC <{\field{\*\fldinst{HYPERLINK "mailto:jordan@transmissionbt.com"}}{\fldrslt jordan@transmissionbt.com}}>
-\fs20 \cf2  (Daemon, Backend, GTK+ client)
-\fs24 \cf0 \
-       Mitchell Livingston, Digital Ignition LLC <{\field{\*\fldinst{HYPERLINK "mailto:livings124@transmissionbt.com"}}{\fldrslt livings124@transmissionbt.com}}>
-\fs20 \cf2  (Mac OS X client)
+\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40\qc\partightenfactor0
+
+\f0\b\fs28 \cf2 The Transmission Project
+\fs24 \cf3 \
+\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40\qc\partightenfactor0
+{\field{\*\fldinst{HYPERLINK "https://transmissionbt.com/"}}{\fldrslt 
+\f1\b0 \cf3 https://transmissionbt.com/}}\
+\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40\partightenfactor0
+\cf3 \
+\cf2 Lead Developers
+\f1\b0 \cf3  <{\field{\*\fldinst{HYPERLINK "mailto:dev@transmissionbt.com"}}{\fldrslt dev@transmissionbt.com}}>\cf0 \
+\cf4   Jordan Lee, Mnemosyne LLC <{\field{\*\fldinst{HYPERLINK "mailto:jordan@transmissionbt.com"}}{\fldrslt jordan@transmissionbt.com}}>
+\fs20 \cf5  \cf6 (Daemon, Backend, GTK+ client)
 \fs24 \cf0 \
-       Mike Gelfand <{\field{\*\fldinst{HYPERLINK "mailto:mike@transmissionbt.com"}}{\fldrslt mike@transmissionbt.com}}>
+\cf4   Mitchell Livingston, Digital Ignition LLC <{\field{\*\fldinst{HYPERLINK "mailto:livings124@transmissionbt.com"}}{\fldrslt livings124@transmissionbt.com}}>
+\fs20 \cf3  \cf6 (Mac OS X client)
 \fs24 \cf0 \
-\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
+\cf3   \cf4 Mike Gelfand <{\field{\*\fldinst{HYPERLINK "mailto:mike@transmissionbt.com"}}{\fldrslt mike@transmissionbt.com}}>\cf0 \
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
 \cf0 \
-\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40
+\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40\partightenfactor0
 
-\b \cf0 Project Contributors
-\b0 \
-       John Clay
-\fs20 \cf2  
-\fs24 \cf0 <{\field{\*\fldinst{HYPERLINK "mailto:john@transmissionbt.com"}}{\fldrslt john@transmissionbt.com}}>
-\fs20 \cf2  (Website maintenance and troubleshooting, Mac OS X help documentation)\
+\f0\b \cf2 Project Contributors
+\f1\b0 \
+\cf0   \cf4 John Clay
+\fs20  
+\fs24 <{\field{\*\fldinst{HYPERLINK "mailto:john@transmissionbt.com"}}{\fldrslt john@transmissionbt.com}}>
+\fs20 \cf5  \cf6 (Website maintenance and troubleshooting, Mac OS X help documentation)\cf7 \
 
-\fs24 \cf0     Bruno Bierbaumer
-\fs20 \cf (Web client patches)
+\fs24 \cf0     \cf4 Bruno Bierbaumer
+\fs20 \cf7  \cf6 (Web client patches)
 \fs24 \cf0 \
-       Juliusz Chroboczek
-\fs20 \cf2  (DHT, network code, BitTorrent code improvements)\
+       \cf4 Juliusz Chroboczek
+\fs20 \cf7  \cf6 (DHT, network code, BitTorrent code improvements)\cf7 \
 
-\fs24 \cf0     Daniel Lee
-\fs20 \cf (Patches)
+\fs24 \cf0     \cf4 Daniel Lee
+\fs20 \cf7  \cf6 (Patches)
 \fs24 \cf0 \
-       Tomas Carnecky
-\fs20 \cf2  (Profiling, patches, and detection of sneaky bugs)\
+       \cf4 Tomas Carnecky
+\fs20 \cf7  \cf6 (Profiling, patches, and detection of sneaky bugs)\cf7 \
 
-\fs24 \cf0     Diego Jim\'e9nez
-\fs20 \cf2  (Patches)\
+\fs24 \cf0     \cf4 Diego Jim\'e9nez
+\fs20 \cf5  \cf6 (Patches)\cf7 \
 
-\fs24 \cf0     Kendall Hopkins <{\field{\*\fldinst{HYPERLINK "mailto:SoftwareElves@gmail.com"}}{\fldrslt SoftwareElves@gmail.com}}>
-\fs20 \cf2  (Web client)\
+\fs24 \cf0     \cf4 Kendall Hopkins <{\field{\*\fldinst{HYPERLINK "mailto:SoftwareElves@gmail.com"}}{\fldrslt SoftwareElves@gmail.com}}>
+\fs20 \cf7  \cf6 (Web client)\cf7 \
 
-\fs24 \cf0     Malcolm Jarvis <{\field{\*\fldinst{HYPERLINK "mailto:mjarvis@transmissionbt.com"}}{\fldrslt mjarvis@transmissionbt.com}}>
-\fs20 \cf (Web client)
+\fs24 \cf0     \cf4 Malcolm Jarvis <{\field{\*\fldinst{HYPERLINK "mailto:mjarvis@transmissionbt.com"}}{\fldrslt mjarvis@transmissionbt.com}}>
+\fs20 \cf7  \cf6 (Web client)
 \fs24 \cf0 \
-       Kevin Glowacz <{\field{\*\fldinst{HYPERLINK "mailto:kjg@transmissionbt.com"}}{\fldrslt kjg@transmissionbt.com}}>
-\fs20 \cf2  (Web client)\
+       \cf4 Kevin Glowacz <{\field{\*\fldinst{HYPERLINK "mailto:kjg@transmissionbt.com"}}{\fldrslt kjg@transmissionbt.com}}>
+\fs20  \cf6 (Web client)\cf7 \
 
-\fs24 \cf0     Rashid Eissing
-\fs20 \cf (Mac OS X Transfers preferences icon)
+\fs24 \cf0     \cf4 Rashid Eissing
+\fs20 \cf3  \cf6 (Mac OS X Transfers preferences icon)
 \fs24 \cf0 \
-       Hugo van Heuven, madebysofa
-\fs20 \cf (Main icon design)
+       \cf4 Hugo van Heuven, madebysofa
+\fs20 \cf7  \cf6 (Main icon design)
 \fs24 \cf0 \
-       Andreas Nilsson
-\fs20 \cf2  (GNOME adaptation of main icon)\
+       \cf4 Andreas Nilsson
+\fs20 \cf5  \cf6 (GNOME adaptation of main icon)\cf7 \
 
-\fs24 \cf0     Dean Ostetto
-\fs20 \cf2  (Mac OS X Turtle image)\
+\fs24 \cf0     \cf4 Dean Ostetto
+\fs20 \cf5  \cf6 (Mac OS X Turtle image)\cf7 \
 
-\fs24 \cf0     Rick Patrick
-\fs20 \cf2  (Mac OS X images)\
+\fs24 \cf0     \cf4 Rick Patrick
+\fs20  \cf6 (Mac OS X images)\cf7 \
 
-\fs24 \cf0     Jonas Rask
-\fs20 \cf2  (Mac OS X Globe icon)\
+\fs24 \cf0     \cf4 Jonas Rask
+\fs20 \cf7  \cf6 (Mac OS X Globe icon)\cf7 \
 
-\fs24 \cf0     Erick Turnquist 
-\fs20 \cf2 (IPv6 code, support)\
+\fs24 \cf0     \cf4 Erick Turnquist\cf0  
+\fs20 \cf6 (IPv6 code, support)\cf7 \
 
-\fs24 \cf0     Maarten Van Coile
-\fs20 \cf2  (Wiki Wrangler, troubleshooting, support)\
+\fs24 \cf0     \cf4 Maarten Van Coile
+\fs20 \cf7  \cf6 (Wiki Wrangler, troubleshooting, support)\cf7 \
 
-\fs24 \cf0     James "Kibo" Parry
-\fs20 \cf (Updated Mac Retina images)
+\fs24 \cf0     \cf4 James "Kibo" Parry
+\fs20 \cf3  \cf6 (Updated Mac Retina images)
 \fs24 \cf0 \
-\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
 \cf0 \
-\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40
+\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40\partightenfactor0
 
-\b \cf0 Previous Developers
-\b0 \
-       Eric Petit <{\field{\*\fldinst{HYPERLINK "mailto:eric@lapsus.org"}}{\fldrslt eric@lapsus.org}}>
-\fs20 \cf2  (Project originator)\
+\f0\b \cf2 Previous Developers
+\f1\b0 \
+\cf0   \cf4 Eric Petit <{\field{\*\fldinst{HYPERLINK "mailto:eric@lapsus.org"}}{\fldrslt eric@lapsus.org}}>
+\fs20 \cf6  (Project originator)\cf7 \
 
-\fs24 \cf0     Josh Elsasser <{\field{\*\fldinst{HYPERLINK "mailto:josh@elsasser.org"}}{\fldrslt josh@elsasser.org}}>
-\fs20 \cf2  (Daemon, Backend, GTK+ client)
+\fs24 \cf0     \cf4 Josh Elsasser <{\field{\*\fldinst{HYPERLINK "mailto:josh@elsasser.org"}}{\fldrslt josh@elsasser.org}}>
+\fs20 \cf6  (Daemon, Backend, GTK+ client)
 \fs24 \cf0 \
-       Bryan Varner <{\field{\*\fldinst{HYPERLINK "mailto:bryan@varnernet.com"}}{\fldrslt bryan@varnernet.com}}>
-\fs20 \cf (BeOS client)
+       \cf4 Bryan Varner <{\field{\*\fldinst{HYPERLINK "mailto:bryan@varnernet.com"}}{\fldrslt bryan@varnernet.com}}>
+\fs20 \cf7  \cf6 (BeOS client)
 \fs24 \cf0 \
-\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
 \cf0 \
-\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40
+\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40\partightenfactor0
 
-\b \cf0 Mac OS X Translators
-\b0 \
-       Jorge Carrasco\cf2  
-\fs20 (Spanish)\
+\f0\b \cf2 Mac OS X Translators
+\f1\b0 \
+\cf0   \cf4 Jorge Carrasco\cf7  
+\fs20 \cf6 (Spanish)\cf7 \
 
-\fs24 \cf0     Etienne Samson
-\fs20 \cf2  (French)\
+\fs24 \cf0     \cf4 Etienne Samson
+\fs20 \cf7  \cf6 (French)\cf7 \
 
-\fs24 \cf0     Marco Cavazzuti
-\fs20 \cf2  (Italian)\
+\fs24 \cf0     \cf4 Marco Cavazzuti
+\fs20 \cf6  (Italian)\cf7 \
     
-\fs24 \cf0     Anton Sotkov
-\fs20 \cf2  (Russian)\
+\fs24 \cf0     \cf4 Anton Sotkov
+\fs20 \cf7  \cf6 (Russian)\cf7 \
     
-\fs24 \cf0     Alexander Bykov
-\fs20 \cf2  (Russian)\
+\fs24 \cf0     \cf4 Alexander Bykov
+\fs20 \cf7  \cf6 (Russian)\cf7 \
        
-\fs24 \cf0 Maarten Van Coile
-\fs20 \cf2  (Dutch)\
+\fs24 \cf4 Maarten Van Coile
+\fs20 \cf6  (Dutch)\cf7 \
        
-\fs24 \cf0 Guilherme Fernandes
-\fs20 \cf2  (Brazilian Portuguese)\
+\fs24 \cf4 Guilherme Fernandes
+\fs20  \cf6 (Brazilian Portuguese)\cf7 \
        
-\fs24 \cf0 Sven-S. Porst
-\fs20 \cf2  (German)\
+\fs24 \cf4 Sven-S. Porst
+\fs20 \cf6  (German)\cf7 \
        
-\fs24 \cf0 Tianhao He
-\fs20 \cf2  (Simplified Chinese)\
+\fs24 \cf4 Tianhao He
+\fs20 \cf6  (Simplified Chinese)\cf7 \
        
-\fs24 \cf0 S\'e9rgio Miranda
-\fs20 \cf2  (European Portuguese)\
+\fs24 \cf4 S\'e9rgio Miranda
+\fs20 \cf7  \cf6 (European Portuguese)\cf7 \
        
-\fs24 \cf0 Daniel \'d8stergaard Nielsen
-\fs20 \cf2  (Danish)\
+\fs24 \cf4 Daniel \'d8stergaard Nielsen
+\fs20 \cf5  \cf6 (Danish)\cf7 \
        
-\fs24 \cf0 Emir SARI
-\fs20 \cf (Turkish)
+\fs24 \cf4 Emir SARI
+\fs20 \cf7  \cf6 (Turkish)
 \fs24 \cf0 \
-\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
 \cf0 \
-\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40
-
-\b \cf0 Third-Party Resources
-\b0 \
-       Nick Mathewson and Niels Provos for libevent. <{\field{\*\fldinst{HYPERLINK "http://monkey.org/~provos/libevent/"}}{\fldrslt http://monkey.org/~provos/libevent/}}>\
-       Greg Hazel of BitTorrent Inc. for libutp. <{\field{\*\fldinst{HYPERLINK "https://github.com/bittorrent/libutp"}}{\fldrslt https://github.com/bittorrent/libutp}}>\
-       Thomas Bernard for MiniUPnP and libnatpmp. <{\field{\*\fldinst{HYPERLINK "http://miniupnp.tuxfamily.org/"}}{\fldrslt http://miniupnp.tuxfamily.org/}}>\
-       Andy Matuschak for Sparkle. <{\field{\*\fldinst{HYPERLINK "http://sparkle.andymatuschak.org/"}}{\fldrslt http://sparkle.andymatuschak.org/}}>\
-       Bryan D K Jones for VDKQueue. <{\field{\*\fldinst{HYPERLINK "https://github.com/bdkjones/VDKQueue"}}{\fldrslt https://github.com/bdkjones/VDKQueue}}>}
+\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40\partightenfactor0
+
+\f0\b \cf2 Third-Party Resources
+\f1\b0 \
+\cf3   \cf4 Nick Mathewson and Niels Provos for libevent. <{\field{\*\fldinst{HYPERLINK "http://monkey.org/~provos/libevent/"}}{\fldrslt http://monkey.org/~provos/libevent/}}>\cf3 \
+       \cf4 Greg Hazel of BitTorrent Inc. for libutp. <{\field{\*\fldinst{HYPERLINK "https://github.com/bittorrent/libutp"}}{\fldrslt https://github.com/bittorrent/libutp}}>\cf3 \
+       \cf4 Thomas Bernard for MiniUPnP and libnatpmp. <{\field{\*\fldinst{HYPERLINK "http://miniupnp.tuxfamily.org/"}}{\fldrslt http://miniupnp.tuxfamily.org/}}>\cf3 \
+       \cf4 Andy Matuschak for Sparkle. <{\field{\*\fldinst{HYPERLINK "http://sparkle.andymatuschak.org/"}}{\fldrslt http://sparkle.andymatuschak.org/}}>\cf3 \
+       \cf4 Bryan D K Jones for VDKQueue. <{\field{\*\fldinst{HYPERLINK "https://github.com/bdkjones/VDKQueue"}}{\fldrslt https://github.com/bdkjones/VDKQueue}}>}
\ No newline at end of file
index e3d0517364931ac465d3e46f9aaa56a6586b93eb..b69e71a087de69282fd7d7c5c772104c41885ceb 100644 (file)
     else
     {
         titleColor = [NSColor controlTextColor];
-        statusColor = [NSColor darkGrayColor];
+        statusColor = [NSColor secondaryLabelColor];
     }
 
     fTitleAttributes[NSForegroundColorAttributeName] = titleColor;
index 155476b5e06e05acc9f15a585572e4871cc01360..0fb0933e179d77db00b2e497ce035f7821e17530 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11762" systemVersion="16D32" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11762"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
                         <action selector="setFilter:" target="-2" id="40"/>
                     </connections>
                 </button>
-                <searchField wantsLayer="YES" verticalHuggingPriority="750" id="10">
+                <searchField wantsLayer="YES" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" id="10">
                     <rect key="frame" x="357" y="2" width="95" height="19"/>
                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES"/>
                     <searchFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" bezelStyle="round" id="11">
index 5429f05a21d12b23817e4d65745defdfcc4ffb17..0bfda1e03723b5f10056ad8c754db85639e71dba 100644 (file)
@@ -58,7 +58,7 @@
         const NSRect lineBorderRect = NSMakeRect(NSMinX(rect), 0.0, NSWidth(rect), 1.0);
         if (NSIntersectsRect(lineBorderRect, rect))
         {
-            [[NSColor lightGrayColor] setFill];
+            [[NSColor gridColor] setFill];
             NSRectFill(lineBorderRect);
         }
     }
index 8b5513ff981e96099dae29554ed85cb5204fc2bf..45c1d11098d33e211d0bde21579b243785459cbc 100644 (file)
@@ -24,7 +24,6 @@
 
 @interface InfoTabButtonBack : NSView
 {
-    NSGradient * fGradient;
 }
 
 @end
index 0fa6946a8203d79272f50c028b938f7480c20835..796239cc19d7194c19fed5ba228cbabbcce4173f 100644 (file)
  *****************************************************************************/
 
 #import "InfoTabButtonBack.h"
+#import "NSApplicationAdditions.h"
 
 @implementation InfoTabButtonBack
 
-- (id) initWithFrame: (NSRect) rect
-{
-    if ((self = [super initWithFrame: rect]))
-    {
-        NSColor * lightColor = [NSColor colorWithCalibratedRed: 245.0/255.0 green: 245.0/255.0 blue: 245.0/255.0 alpha: 1.0];
-        NSColor * darkColor = [NSColor colorWithCalibratedRed: 215.0/255.0 green: 215.0/255.0 blue: 215.0/255.0 alpha: 1.0];
-        fGradient = [[NSGradient alloc] initWithStartingColor: lightColor endingColor: darkColor];
-    }
-    return self;
-}
-
 
 - (void) drawRect: (NSRect) rect
 {
     if (NSIntersectsRect(lineBorderRect, rect))
     {
         gridRects[count] = lineBorderRect;
-        colorRects[count] = [NSColor grayColor];
+        if (@available(macOS 10.14, *)) {
+            colorRects[count] = [NSColor separatorColor];
+        } else {
+            colorRects[count] = [NSColor grayColor];
+        }
         ++count;
 
         rect.size.height -= 1.0;
     if (NSIntersectsRect(lineBorderRect, rect))
     {
         gridRects[count] = lineBorderRect;
-        colorRects[count] = [NSColor grayColor];
+        if (@available(macOS 10.14, *)) {
+            colorRects[count] = [NSColor separatorColor];
+        } else {
+            colorRects[count] = [NSColor grayColor];
+        }
         ++count;
 
         rect.origin.y += 1.0;
 
     NSRectFillListWithColors(gridRects, colorRects, count);
 
-    [fGradient drawInRect: rect angle: 270.0];
+    NSGradient *gradient;
+    
+    if ([NSApp isDarkMode]) {
+        NSColor * darkColor = [NSColor colorWithCalibratedRed: 60.0/255.0 green: 60.0/255.0 blue: 60.0/255.0 alpha: 1.0];
+        NSColor * lightColor = [NSColor colorWithCalibratedRed: 90.0/255.0 green: 90.0/255.0 blue: 90.0/255.0 alpha: 1.0];
+        gradient = [[NSGradient alloc] initWithStartingColor: lightColor endingColor: darkColor];
+    } else {
+        NSColor * lightColor = [NSColor colorWithCalibratedRed: 245.0/255.0 green: 245.0/255.0 blue: 245.0/255.0 alpha: 1.0];
+        NSColor * darkColor = [NSColor colorWithCalibratedRed: 215.0/255.0 green: 215.0/255.0 blue: 215.0/255.0 alpha: 1.0];
+        gradient = [[NSGradient alloc] initWithStartingColor: lightColor endingColor: darkColor];
+    }
+    [gradient drawInRect: rect angle: 270.0];
 }
 
 @end
index 00bc9d971149c0dc5bcb75b00fa98518f0627db7..15099cfdb2df2f570fcc7ac48d56d2de8a9a67a4 100644 (file)
@@ -21,6 +21,7 @@
  *****************************************************************************/
 
 #import "InfoTabButtonCell.h"
+#import "NSApplicationAdditions.h"
 
 @implementation InfoTabButtonCell
 
     }
     else
     {
-        NSColor * lightColor = [NSColor colorWithCalibratedRed: 245.0/255.0 green: 245.0/255.0 blue: 245.0/255.0 alpha: 1.0];
-        NSColor * darkColor = [NSColor colorWithCalibratedRed: 215.0/255.0 green: 215.0/255.0 blue: 215.0/255.0 alpha: 1.0];
-        gradient = [[NSGradient alloc] initWithStartingColor: lightColor endingColor: darkColor];
+        if ([NSApp isDarkMode]) {
+            NSColor * darkColor = [NSColor colorWithCalibratedRed: 60.0/255.0 green: 60.0/255.0 blue: 60.0/255.0 alpha: 1.0];
+            NSColor * lightColor = [NSColor colorWithCalibratedRed: 90.0/255.0 green: 90.0/255.0 blue: 90.0/255.0 alpha: 1.0];
+            gradient = [[NSGradient alloc] initWithStartingColor: lightColor endingColor: darkColor];
+        } else {
+            NSColor * lightColor = [NSColor colorWithCalibratedRed: 245.0/255.0 green: 245.0/255.0 blue: 245.0/255.0 alpha: 1.0];
+            NSColor * darkColor = [NSColor colorWithCalibratedRed: 215.0/255.0 green: 215.0/255.0 blue: 215.0/255.0 alpha: 1.0];
+            gradient = [[NSGradient alloc] initWithStartingColor: lightColor endingColor: darkColor];
+        }
     }
 
-    [[NSColor grayColor] set];
+    if (@available(macOS 10.14, *)) {
+        [[NSColor separatorColor] set];
+    } else {
+        [[NSColor grayColor] set];
+    }
     NSRectFill(NSMakeRect(0.0, 0.0, NSWidth(tabRect), 1.0));
     NSRectFill(NSMakeRect(0.0, NSHeight(tabRect) - 1.0, NSWidth(tabRect), 1.0));
     NSRectFill(NSMakeRect(NSWidth(tabRect) - 1.0, 1.0, NSWidth(tabRect) - 1.0, NSHeight(tabRect) - 2.0));
index aece6d7f140c79bef9d55fb6fbf8a2db2c3a5bc4..ae735e9c73d9e1667cace144cec2540af4935be9 100644 (file)
@@ -25,5 +25,7 @@
 @interface NSApplication (NSApplicationAdditions)
 
 - (BOOL) isOnYosemiteOrBetter;
+- (BOOL) isOnMojaveOrBetter;
+- (BOOL) isDarkMode;
 
 @end
index 1073e67995c62da5ff7cad9f85f33197ae10c496..53c35e67aebab59563ce06561fb447b9a2da43b9 100644 (file)
     return floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_9;
 }
 
+- (BOOL) isOnMojaveOrBetter
+{
+    return floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_13;
+}
+
+- (BOOL) isDarkMode
+{
+    if (@available(macOS 10.14, *)) {
+        return [self.effectiveAppearance.name isEqualToString:NSAppearanceNameDarkAqua];
+    } else {
+        return NO;
+    }
+}
+
 @end
index 192c5df5fd8d640d0746dc9921210929fb822c07..ce890486c92872eb8a1ad6e5facbed70e9466002 100644 (file)
@@ -88,7 +88,7 @@
         const NSRect lineBorderRect = NSMakeRect(NSMinX(rect), 0.0, NSWidth(rect), 1.0);
         if (NSIntersectsRect(lineBorderRect, rect))
         {
-            [[NSColor lightGrayColor] setFill];
+            [[NSColor gridColor] setFill];
             NSRectFill(lineBorderRect);
         }
     }
index 976f9bd6a107e19046b1f5bf79867a9fc5417bdb..ffebb7116a5a91e7febbdaa70bb58cbbf810d92d 100644 (file)
         titleColor = statusColor = [NSColor whiteColor];
     else
     {
-        titleColor = [NSColor controlTextColor];
-        statusColor = [NSColor darkGrayColor];
+        titleColor = [NSColor labelColor];
+        statusColor = [NSColor secondaryLabelColor];
     }
 
     fTitleAttributes[NSForegroundColorAttributeName] = titleColor;
                                                NSMidY(titleRect) - PRIORITY_ICON_HEIGHT  * 0.5,
                                                PRIORITY_ICON_WIDTH, PRIORITY_ICON_HEIGHT);
 
-        NSColor * priorityColor = [self backgroundStyle] == NSBackgroundStyleDark ? [NSColor whiteColor] : [NSColor darkGrayColor];
+        NSColor * priorityColor = [self backgroundStyle] == NSBackgroundStyleDark ? [NSColor whiteColor] : [NSColor labelColor];
         NSImage * priorityImage = [[NSImage imageNamed: ([torrent priority] == TR_PRI_HIGH ? @"PriorityHighTemplate" : @"PriorityLowTemplate")] imageWithColor: priorityColor];
         [priorityImage drawInRect: priorityRect fromRect: NSZeroRect operation: NSCompositeSourceOver fraction: 1.0 respectFlipped: YES hints: nil];
     }
     cellFrame.origin.x += PADDING_EXPANSION_FRAME;
     cellFrame.origin.y += PADDING_EXPANSION_FRAME;
 
-    fTitleAttributes[NSForegroundColorAttributeName] = [NSColor controlTextColor];
+    fTitleAttributes[NSForegroundColorAttributeName] = [NSColor labelColor];
     NSAttributedString * titleString = [self attributedTitle];
     [titleString drawInRect: cellFrame];
 }
index 35f07aa5d8dcb118c589b6dda851109f5016b7ed..7156a8a9551923d5a6190a6490b7e01d4007164c 100644 (file)
             [cell setActionHover: row == fMouseActionRow];
         }
     }
-    else
-    {
-        NSString * ident = [tableColumn identifier];
-        if ([ident isEqualToString: @"UL Image"] || [ident isEqualToString: @"DL Image"])
-        {
-            //ensure arrows are white only when selected
-            [[cell image] setTemplate: [cell backgroundStyle] == NSBackgroundStyleLowered];
-        }
-    }
 }
 
 - (NSRect) frameOfCellAtColumn: (NSInteger) column row: (NSInteger) row
index f4c53abce517bcfb0d02b7c16a52f46d93443fe6..1a4224f93473f402c5daf26790b1e2818d3d7aff 100644 (file)
@@ -107,8 +107,8 @@ NSMutableSet * fTrackerIconLoading;
         nameColor = statusColor = [NSColor whiteColor];
     else
     {
-        nameColor = [NSColor controlTextColor];
-        statusColor = [NSColor darkGrayColor];
+        nameColor = [NSColor labelColor];
+        statusColor = [NSColor secondaryLabelColor];
     }
 
     fNameAttributes[NSForegroundColorAttributeName] = nameColor;