mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-14 00:04:15 +09:00
Merge pull request #5 from exelban/dev
fixed Chart with value; added few widgets to Disk
This commit is contained in:
@@ -49,6 +49,10 @@ You can download latest version [here](https://github.com/exelban/stats/releases
|
|||||||
|
|
||||||
## What's new
|
## What's new
|
||||||
|
|
||||||
|
### v1.2.1
|
||||||
|
- added charts and charts with value to Disk module
|
||||||
|
- fixed bug when Chart with value does not shows
|
||||||
|
|
||||||
### v1.2.0
|
### v1.2.0
|
||||||
- added network module
|
- added network module
|
||||||
- added Check for updates window
|
- added Check for updates window
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ class Disk: Module {
|
|||||||
let shortName: String = "SSD"
|
let shortName: String = "SSD"
|
||||||
var view: NSView = NSView()
|
var view: NSView = NSView()
|
||||||
var menu: NSMenuItem = NSMenuItem()
|
var menu: NSMenuItem = NSMenuItem()
|
||||||
|
var submenu: NSMenu = NSMenu()
|
||||||
let defaults = UserDefaults.standard
|
let defaults = UserDefaults.standard
|
||||||
var widgetType: WidgetType
|
var widgetType: WidgetType
|
||||||
|
|
||||||
@@ -28,21 +29,37 @@ class Disk: Module {
|
|||||||
self.widgetType = defaults.object(forKey: "\(name)_widget") != nil ? defaults.float(forKey: "\(name)_widget") : Widgets.Mini
|
self.widgetType = defaults.object(forKey: "\(name)_widget") != nil ? defaults.float(forKey: "\(name)_widget") : Widgets.Mini
|
||||||
|
|
||||||
self.initMenu()
|
self.initMenu()
|
||||||
|
initWidget()
|
||||||
let widget = Mini(frame: NSMakeRect(0, 0, MODULE_WIDTH, MODULE_HEIGHT))
|
|
||||||
widget.label = self.shortName
|
|
||||||
self.view = widget
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func initMenu() {
|
func initMenu() {
|
||||||
menu = NSMenuItem(title: name, action: #selector(toggle), keyEquivalent: "")
|
menu = NSMenuItem(title: name, action: #selector(toggle), keyEquivalent: "")
|
||||||
|
submenu = NSMenu()
|
||||||
|
|
||||||
if defaults.object(forKey: name) != nil {
|
if defaults.object(forKey: name) != nil {
|
||||||
menu.state = defaults.bool(forKey: name) ? NSControl.StateValue.on : NSControl.StateValue.off
|
menu.state = defaults.bool(forKey: name) ? NSControl.StateValue.on : NSControl.StateValue.off
|
||||||
} else {
|
} else {
|
||||||
menu.state = NSControl.StateValue.on
|
menu.state = NSControl.StateValue.on
|
||||||
}
|
}
|
||||||
menu.target = self
|
menu.target = self
|
||||||
menu.isEnabled = true
|
|
||||||
|
let mini = NSMenuItem(title: "Mini", action: #selector(toggleWidget), keyEquivalent: "")
|
||||||
|
mini.state = self.widgetType == Widgets.Mini ? NSControl.StateValue.on : NSControl.StateValue.off
|
||||||
|
mini.target = self
|
||||||
|
|
||||||
|
let chart = NSMenuItem(title: "Chart", action: #selector(toggleWidget), keyEquivalent: "")
|
||||||
|
chart.state = self.widgetType == Widgets.Chart ? NSControl.StateValue.on : NSControl.StateValue.off
|
||||||
|
chart.target = self
|
||||||
|
|
||||||
|
let chartWithValue = NSMenuItem(title: "Chart with value", action: #selector(toggleWidget), keyEquivalent: "")
|
||||||
|
chartWithValue.state = self.widgetType == Widgets.ChartWithValue ? NSControl.StateValue.on : NSControl.StateValue.off
|
||||||
|
chartWithValue.target = self
|
||||||
|
|
||||||
|
submenu.addItem(mini)
|
||||||
|
submenu.addItem(chart)
|
||||||
|
submenu.addItem(chartWithValue)
|
||||||
|
|
||||||
|
menu.submenu = submenu
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc func toggle(_ sender: NSMenuItem) {
|
@objc func toggle(_ sender: NSMenuItem) {
|
||||||
@@ -58,4 +75,36 @@ class Disk: Module {
|
|||||||
self.start()
|
self.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@objc func toggleWidget(_ sender: NSMenuItem) {
|
||||||
|
var widgetCode: Float = 0.0
|
||||||
|
|
||||||
|
switch sender.title {
|
||||||
|
case "Mini":
|
||||||
|
widgetCode = Widgets.Mini
|
||||||
|
case "Chart":
|
||||||
|
widgetCode = Widgets.Chart
|
||||||
|
case "Chart with value":
|
||||||
|
widgetCode = Widgets.ChartWithValue
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
if self.widgetType == widgetCode {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for item in self.submenu.items {
|
||||||
|
if item.title == "Mini" || item.title == "Chart" || item.title == "Chart with value" {
|
||||||
|
item.state = NSControl.StateValue.off
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sender.state = sender.state == NSControl.StateValue.on ? NSControl.StateValue.off : NSControl.StateValue.on
|
||||||
|
self.defaults.set(widgetCode, forKey: "\(name)_widget")
|
||||||
|
self.widgetType = widgetCode
|
||||||
|
self.active << false
|
||||||
|
initWidget()
|
||||||
|
self.active << true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,9 +17,9 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>1.2.0</string>
|
<string>1.2.1</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>3</string>
|
<string>1</string>
|
||||||
<key>LSApplicationCategoryType</key>
|
<key>LSApplicationCategoryType</key>
|
||||||
<string>public.app-category.utilities</string>
|
<string>public.app-category.utilities</string>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ extension Module {
|
|||||||
case Widgets.Chart:
|
case Widgets.Chart:
|
||||||
self.view = Chart(frame: NSMakeRect(0, 0, MODULE_WIDTH + 7, MODULE_HEIGHT))
|
self.view = Chart(frame: NSMakeRect(0, 0, MODULE_WIDTH + 7, MODULE_HEIGHT))
|
||||||
break
|
break
|
||||||
|
case Widgets.ChartWithValue:
|
||||||
|
self.view = ChartWithValue(frame: NSMakeRect(0, 0, MODULE_WIDTH + 7, MODULE_HEIGHT))
|
||||||
|
break
|
||||||
case Widgets.Dots:
|
case Widgets.Dots:
|
||||||
self.view = NetworkDotsView(frame: NSMakeRect(0, 0, MODULE_WIDTH, MODULE_HEIGHT))
|
self.view = NetworkDotsView(frame: NSMakeRect(0, 0, MODULE_WIDTH, MODULE_HEIGHT))
|
||||||
break
|
break
|
||||||
|
|||||||
6
build.sh
6
build.sh
@@ -4,10 +4,10 @@ if [ ! -d "./create-dmg" ]; then
|
|||||||
git clone https://github.com/andreyvit/create-dmg
|
git clone https://github.com/andreyvit/create-dmg
|
||||||
fi
|
fi
|
||||||
|
|
||||||
xcodebuild -configuration Distribution clean build
|
# xcodebuild -configuration Distribution clean build
|
||||||
|
|
||||||
cp -rf $PWD/build/Release/Stats.app ./
|
# cp -rf $PWD/build/Release/Stats.app ./
|
||||||
rm -rf echo $PWD/build
|
# rm -rf echo $PWD/build
|
||||||
|
|
||||||
./create-dmg/create-dmg \
|
./create-dmg/create-dmg \
|
||||||
--volname "Stats" \
|
--volname "Stats" \
|
||||||
|
|||||||
Reference in New Issue
Block a user