Add vendor and model to display list.

This commit is contained in:
Markus Reiter 2019-05-08 00:55:04 +02:00
parent ad8386ba8c
commit 9dfc86a157
8 changed files with 153 additions and 70 deletions

View file

@ -618,7 +618,7 @@
CODE_SIGN_IDENTITY = "Mac Developer";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 229;
CURRENT_PROJECT_VERSION = 239;
DEVELOPMENT_TEAM = KJ5F4KTDFH;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -644,7 +644,7 @@
CODE_SIGN_IDENTITY = "Mac Developer";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 229;
CURRENT_PROJECT_VERSION = 239;
DEVELOPMENT_TEAM = KJ5F4KTDFH;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -674,7 +674,7 @@
CODE_SIGN_IDENTITY = "Mac Developer";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 229;
CURRENT_PROJECT_VERSION = 239;
DEVELOPMENT_TEAM = KJ5F4KTDFH;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = MonitorControlHelper/Info.plist;
@ -698,7 +698,7 @@
CODE_SIGN_IDENTITY = "Mac Developer";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 229;
CURRENT_PROJECT_VERSION = 239;
DEVELOPMENT_TEAM = KJ5F4KTDFH;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = MonitorControlHelper/Info.plist;

View file

@ -19,7 +19,7 @@
<key>CFBundleShortVersionString</key>
<string>1.5.0</string>
<key>CFBundleVersion</key>
<string>229</string>
<string>239</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>

View file

@ -1,4 +1,4 @@
/* Sown in menu */
/* Shown in menu */
"Brightness" = "Helligkeit";
/* Shown in menu */
@ -7,35 +7,36 @@
/* Shown in menu */
"Default" = "Standard";
/* No comment provided by engineer. */
/* Shown in the main prefs window */
"Display" = "Monitor";
/* Shown in menu */
"No supported display found" = "Kein unterstützter Monitor angeschlossen";
/* Shown in menu */
"Set as default" = "Als Standard festlegen";
/* No comment provided by engineer. */
"Unknown" = "Unbekannt";
/* Shown in menu */
"Volume" = "Lautstärke";
/* Shown in Preferences window */
"Preferences" = "Einstellungen";
/* Shown in the alert dialog */
"Ok" = "OK";
/* Shown in the alert dialog */
"Shortcuts not available" = "Kurzbefehle nicht verfügbar";
/* Shown in the alert dialog */
"You need to enable MonitorControl in System Preferences > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Du musst MonitorControl in Systemeinstellungen > Sicherheit > Datenschutz > Bedienungshilfen aktivieren, damit die Kurzbefehle funktionieren.";
/* Shown in the main prefs window */
"General" = "Allgemein";
/* Shown in the main prefs window */
"Keys" = "Tasten";
/* Shown in menu */
"No supported display found" = "Kein unterstützter Monitor angeschlossen";
/* Shown in the alert dialog */
"Ok" = "OK";
/* Shown in Preferences window */
"Preferences" = "Einstellungen";
/* Shown in menu */
"Set as default" = "Als Standard festlegen";
/* Shown in the alert dialog */
"Shortcuts not available" = "Kurzbefehle nicht verfügbar";
/* unknown display name */
"Unknown" = "Unbekannt";
/* Shown in menu */
"Volume" = "Lautstärke";
/* Shown in the alert dialog */
"You need to enable MonitorControl in System Preferences > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Du musst MonitorControl in Systemeinstellungen > Sicherheit > Datenschutz > Bedienungshilfen aktivieren, damit die Kurzbefehle funktionieren.";

View file

@ -11,7 +11,7 @@
<objects>
<viewController storyboardIdentifier="KeysPrefsVC" id="MHy-Dv-i5A" customClass="KeysPrefsViewController" customModule="MonitorControl" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" id="nfK-n0-xN4">
<rect key="frame" x="0.0" y="0.0" width="400" height="108"/>
<rect key="frame" x="0.0" y="0.0" width="486" height="108"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<subviews>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fUf-UM-yW3">
@ -72,14 +72,14 @@
</viewController>
<customObject id="hVj-0D-6XC" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="642" y="163"/>
<point key="canvasLocation" x="661" y="166"/>
</scene>
<!--Display Prefs View Controller-->
<scene sceneID="kdt-oj-Qke">
<objects>
<viewController storyboardIdentifier="DisplayPrefsVC" id="NAx-6T-ZPc" customClass="DisplayPrefsViewController" customModule="MonitorControl" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" id="EBf-qN-KaN">
<rect key="frame" x="0.0" y="0.0" width="400" height="223"/>
<rect key="frame" x="0.0" y="0.0" width="486" height="223"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="uXD-ZY-N3H">
@ -91,13 +91,13 @@
</textFieldCell>
</textField>
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="B5k-we-kuP">
<rect key="frame" x="20" y="20" width="360" height="100"/>
<rect key="frame" x="20" y="20" width="446" height="100"/>
<clipView key="contentView" drawsBackground="NO" id="4ot-Jo-X5O">
<rect key="frame" x="1" y="0.0" width="358" height="99"/>
<rect key="frame" x="1" y="0.0" width="444" height="99"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowSizeStyle="automatic" headerView="ckY-Px-mJn" viewBased="YES" id="dyo-uY-pMe">
<rect key="frame" x="0.0" y="0.0" width="358" height="76"/>
<rect key="frame" x="0.0" y="0.0" width="444" height="76"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
@ -134,8 +134,8 @@
</tableCellView>
</prototypeCellViews>
</tableColumn>
<tableColumn width="186" minWidth="40" maxWidth="1000" id="CHc-s5-4MN">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Display Name">
<tableColumn width="140" minWidth="40" maxWidth="1000" id="CHc-s5-4MN">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Name">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
@ -148,11 +148,11 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="iYj-Ud-yGU">
<rect key="frame" x="53" y="1" width="186" height="17"/>
<rect key="frame" x="53" y="1" width="140" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qsc-jC-vJQ">
<rect key="frame" x="0.0" y="0.0" width="186" height="17"/>
<rect key="frame" x="0.0" y="0.0" width="140" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="aSw-3H-uNa">
<font key="font" metaFont="system"/>
@ -167,8 +167,8 @@
</tableCellView>
</prototypeCellViews>
</tableColumn>
<tableColumn width="114" minWidth="10" maxWidth="3.4028234663852886e+38" id="dgp-q7-cBK">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Display Id">
<tableColumn width="80" minWidth="10" maxWidth="3.4028234663852886e+38" id="dgp-q7-cBK">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="ID">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
@ -181,11 +181,11 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="vw4-Us-VHk">
<rect key="frame" x="242" y="1" width="114" height="17"/>
<rect key="frame" x="196" y="1" width="80" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="z5b-Gr-EmC">
<rect key="frame" x="0.0" y="0.0" width="114" height="17"/>
<rect key="frame" x="0.0" y="0.0" width="80" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="cnb-Li-1lE">
<font key="font" metaFont="system"/>
@ -200,6 +200,72 @@
</tableCellView>
</prototypeCellViews>
</tableColumn>
<tableColumn width="80" minWidth="10" maxWidth="3.4028234663852886e+38" id="LRJ-fb-Z9E">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Vendor">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="vkG-RF-Yne">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="eVa-Md-Avh">
<rect key="frame" x="279" y="1" width="80" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NK1-rO-I0Z">
<rect key="frame" x="0.0" y="0.0" width="80" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="Pkk-Ce-Y6Q">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<connections>
<outlet property="textField" destination="NK1-rO-I0Z" id="q28-BL-SDu"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
<tableColumn width="80" minWidth="10" maxWidth="3.4028234663852886e+38" id="Nvp-hI-w4x">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Model">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="VPD-MR-IXg">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="C4F-JT-GfP">
<rect key="frame" x="362" y="1" width="80" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="4Vl-7d-eft">
<rect key="frame" x="0.0" y="0.0" width="80" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="4or-hS-WeW">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<connections>
<outlet property="textField" destination="4Vl-7d-eft" id="t9h-l3-gWu"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
</tableColumns>
<connections>
<outlet property="dataSource" destination="NAx-6T-ZPc" id="QTF-WU-oAy"/>
@ -218,7 +284,7 @@
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="ckY-Px-mJn">
<rect key="frame" x="0.0" y="0.0" width="358" height="23"/>
<rect key="frame" x="0.0" y="0.0" width="444" height="23"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
@ -253,14 +319,14 @@
</viewController>
<customObject id="34q-0u-YTQ" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1116" y="224"/>
<point key="canvasLocation" x="1159" y="223.5"/>
</scene>
<!--Main Prefs View Controller-->
<scene sceneID="zAg-r8-WQ5">
<objects>
<viewController storyboardIdentifier="MainPrefsVC" id="BGD-tY-Myx" customClass="MainPrefsViewController" customModule="MonitorControl" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" id="COE-Oc-gZs">
<rect key="frame" x="0.0" y="0.0" width="404" height="208"/>
<rect key="frame" x="0.0" y="0.0" width="486" height="208"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="siR-fL-v2a">

View file

@ -1,40 +1,30 @@
/* Class = "NSButtonCell"; title = "Change Brightness/Volume for all screens"; ObjectID = "0Z7-PQ-Bl8"; */
"0Z7-PQ-Bl8.title" = "Helligkeit/Lautstärke für alle Monitore ändern";
/* Class = "NSTableColumn"; headerCell.title = "Enabled"; ObjectID = "8U8-ec-Zbv"; */
"8U8-ec-Zbv.headerCell.title" = "Aktiv";
/* Class = "NSTableColumn"; headerCell.title = "Display Name"; ObjectID = "CHc-s5-4MN"; */
/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "aSw-3H-uNa"; */
"aSw-3H-uNa.title" = "Table View Cell";
/* Class = "NSTableColumn"; headerCell.title = "Name"; ObjectID = "CHc-s5-4MN"; */
"CHc-s5-4MN.headerCell.title" = "Name";
/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "cnb-Li-1lE"; */
"cnb-Li-1lE.title" = "Table View Cell";
/* Class = "NSTextFieldCell"; title = "Keys"; ObjectID = "Dcz-GG-1li"; */
"Dcz-GG-1li.title" = "Tasten";
/* Class = "NSTableColumn"; headerCell.title = "ID"; ObjectID = "dgp-q7-cBK"; */
"dgp-q7-cBK.headerCell.title" = "ID";
/* Class = "NSTextFieldCell"; title = "General"; ObjectID = "ENU-js-huy"; */
"ENU-js-huy.title" = "Allgemein";
/* Class = "NSTextFieldCell"; title = "Display"; ObjectID = "ExD-7P-6XI"; */
"ExD-7P-6XI.title" = "Monitor";
/* Class = "NSMenuItem"; title = "Volume only"; ObjectID = "NLP-dU-Dam"; */
"NLP-dU-Dam.title" = "Lautstärke";
/* Class = "NSTextFieldCell"; title = "Listen for"; ObjectID = "Vh8-06-U3K"; */
"Vh8-06-U3K.title" = "Hören auf";
/* Class = "NSMenuItem"; title = "Both Brightness & Volume"; ObjectID = "Vr4-xb-B4o"; */
"Vr4-xb-B4o.title" = "Helligkeit & Lautstärke";
/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "aSw-3H-uNa"; */
"aSw-3H-uNa.title" = "Table View Cell";
/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "cnb-Li-1lE"; */
"cnb-Li-1lE.title" = "Table View Cell";
/* Class = "NSTableColumn"; headerCell.title = "Display Id"; ObjectID = "dgp-q7-cBK"; */
"dgp-q7-cBK.headerCell.title" = "ID";
/* Class = "NSButtonCell"; title = "Lower Contrast after Brightness"; ObjectID = "fhy-Er-0aI"; */
"fhy-Er-0aI.title" = "Lower Contrast after Brightness";
@ -44,5 +34,21 @@
/* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "j72-NF-zsW"; */
"j72-NF-zsW.title" = "MonitorControl beim Login starten";
/* Class = "NSTableColumn"; headerCell.title = "Vendor"; ObjectID = "LRJ-fb-Z9E"; */
"LRJ-fb-Z9E.headerCell.title" = "Hersteller";
/* Class = "NSMenuItem"; title = "Volume only"; ObjectID = "NLP-dU-Dam"; */
"NLP-dU-Dam.title" = "Lautstärke";
/* Class = "NSTableColumn"; headerCell.title = "Model"; ObjectID = "Nvp-hI-w4x"; */
"Nvp-hI-w4x.headerCell.title" = "Modell";
/* Class = "NSTextFieldCell"; title = "Listen for"; ObjectID = "Vh8-06-U3K"; */
"Vh8-06-U3K.title" = "Hören auf";
/* Class = "NSMenuItem"; title = "Both Brightness & Volume"; ObjectID = "Vr4-xb-B4o"; */
"Vr4-xb-B4o.title" = "Helligkeit & Lautstärke";
/* Class = "NSButtonCell"; title = "Show a slider for contrast"; ObjectID = "xSI-8W-Xd0"; */
"xSI-8W-Xd0.title" = "Slider für Kontrast anzeigen";

View file

@ -1,6 +1,6 @@
/* Class = "NSMenuItem"; title = "Quit"; ObjectID = "JTa-2I-AsI"; */
"JTa-2I-AsI.title" = "MonitorControl beenden";
/* Class = "NSMenuItem"; title = "Preferences..."; ObjectID = "SOS-eZ-uU5"; */
"SOS-eZ-uU5.title" = "Einstellungen …";

View file

@ -14,6 +14,8 @@ class DisplayPrefsViewController: NSViewController, MASPreferencesViewController
case checkbox
case name
case identifier
case vendor
case model
}
@IBOutlet var allScreens: NSButton!
@ -93,6 +95,14 @@ class DisplayPrefsViewController: NSViewController, MASPreferencesViewController
// Identifier
text = "\(display.identifier)"
cellType = DisplayCell.identifier
} else if tableColumn == tableView.tableColumns[3] {
// Vendor
text = display.identifier.vendorNumber.map { String(format: "0x%02X", $0) } ?? NSLocalizedString("unknown", comment: "unknown vendor")
cellType = DisplayCell.vendor
} else if tableColumn == tableView.tableColumns[4] {
// Model
text = display.identifier.modelNumber.map { String(format: "0x%02X", $0) } ?? NSLocalizedString("unknown", comment: "unknown model")
cellType = DisplayCell.model
}
if cellType == DisplayCell.checkbox {
if let cell = tableView.makeView(withIdentifier: (tableColumn?.identifier)!, owner: nil) as? ButtonCellView {

View file

@ -19,7 +19,7 @@
<key>CFBundleShortVersionString</key>
<string>1.5.0</string>
<key>CFBundleVersion</key>
<string>229</string>
<string>239</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSBackgroundOnly</key>