diff --git a/README.md b/README.md
index 4987368f..37bd4df5 100644
--- a/README.md
+++ b/README.md
@@ -49,6 +49,10 @@ You can download latest version [here](https://github.com/exelban/stats/releases
## 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
- added network module
- added Check for updates window
diff --git a/Stats/Modules/Disk/Disk.swift b/Stats/Modules/Disk/Disk.swift
index 9cbea944..986b9906 100644
--- a/Stats/Modules/Disk/Disk.swift
+++ b/Stats/Modules/Disk/Disk.swift
@@ -13,6 +13,7 @@ class Disk: Module {
let shortName: String = "SSD"
var view: NSView = NSView()
var menu: NSMenuItem = NSMenuItem()
+ var submenu: NSMenu = NSMenu()
let defaults = UserDefaults.standard
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.initMenu()
-
- let widget = Mini(frame: NSMakeRect(0, 0, MODULE_WIDTH, MODULE_HEIGHT))
- widget.label = self.shortName
- self.view = widget
+ initWidget()
}
func initMenu() {
menu = NSMenuItem(title: name, action: #selector(toggle), keyEquivalent: "")
+ submenu = NSMenu()
+
if defaults.object(forKey: name) != nil {
menu.state = defaults.bool(forKey: name) ? NSControl.StateValue.on : NSControl.StateValue.off
} else {
menu.state = NSControl.StateValue.on
}
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) {
@@ -58,4 +75,36 @@ class Disk: Module {
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
+ }
}
diff --git a/Stats/Supporting Files/Info.plist b/Stats/Supporting Files/Info.plist
index 212372ee..49ba35eb 100755
--- a/Stats/Supporting Files/Info.plist
+++ b/Stats/Supporting Files/Info.plist
@@ -17,9 +17,9 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 1.2.0
+ 1.2.1
CFBundleVersion
- 3
+ 1
LSApplicationCategoryType
public.app-category.utilities
LSMinimumSystemVersion
diff --git a/Stats/libs/Module.swift b/Stats/libs/Module.swift
index 013378d1..60d23e2c 100644
--- a/Stats/libs/Module.swift
+++ b/Stats/libs/Module.swift
@@ -33,6 +33,9 @@ extension Module {
case Widgets.Chart:
self.view = Chart(frame: NSMakeRect(0, 0, MODULE_WIDTH + 7, MODULE_HEIGHT))
break
+ case Widgets.ChartWithValue:
+ self.view = ChartWithValue(frame: NSMakeRect(0, 0, MODULE_WIDTH + 7, MODULE_HEIGHT))
+ break
case Widgets.Dots:
self.view = NetworkDotsView(frame: NSMakeRect(0, 0, MODULE_WIDTH, MODULE_HEIGHT))
break
diff --git a/build.sh b/build.sh
index ee540dc2..79b4eab2 100644
--- a/build.sh
+++ b/build.sh
@@ -4,10 +4,10 @@ if [ ! -d "./create-dmg" ]; then
git clone https://github.com/andreyvit/create-dmg
fi
-xcodebuild -configuration Distribution clean build
+# xcodebuild -configuration Distribution clean build
-cp -rf $PWD/build/Release/Stats.app ./
-rm -rf echo $PWD/build
+# cp -rf $PWD/build/Release/Stats.app ./
+# rm -rf echo $PWD/build
./create-dmg/create-dmg \
--volname "Stats" \