summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Milde <daniel.milde@firma.seznam.cz>2021-01-02 21:32:31 +0100
committerDaniel Milde <daniel.milde@firma.seznam.cz>2021-01-02 21:32:31 +0100
commit80d6ff59f70e57c9b47b0682453dc5e10ac42042 (patch)
treeeadbca47f4b2df167731a4e108c890e0cf83897d
parentda5e95300feea3ebc081f5159aaf6309c52f5ec5 (diff)
ignore other mountpoints when one is selected #4v1.7.0
-rw-r--r--cli/cli.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/cli/cli.go b/cli/cli.go
index 61e78be..ecddbe5 100644
--- a/cli/cli.go
+++ b/cli/cli.go
@@ -35,6 +35,7 @@ type UI struct {
help *tview.Flex
table *tview.Table
currentDir *analyze.File
+ devices []*analyze.Device
topDirPath string
currentDirPath string
askBeforeDelete bool
@@ -85,7 +86,7 @@ func CreateUI(screen tcell.Screen) *UI {
// ListDevices lists mounted devices and shows their disk usage
func (ui *UI) ListDevices() {
- devices := analyze.GetDevicesInfo()
+ ui.devices = analyze.GetDevicesInfo()
ui.table.SetCell(0, 0, tview.NewTableCell("Device name").SetSelectable(false))
ui.table.SetCell(0, 1, tview.NewTableCell("Size").SetSelectable(false))
@@ -94,8 +95,8 @@ func (ui *UI) ListDevices() {
ui.table.SetCell(0, 4, tview.NewTableCell("Free").SetSelectable(false))
ui.table.SetCell(0, 5, tview.NewTableCell("Mount point").SetSelectable(false))
- for i, device := range devices {
- ui.table.SetCell(i+1, 0, tview.NewTableCell(device.Name).SetReference(devices[i]))
+ for i, device := range ui.devices {
+ ui.table.SetCell(i+1, 0, tview.NewTableCell(device.Name).SetReference(ui.devices[i]))
ui.table.SetCell(i+1, 1, tview.NewTableCell(formatSize(device.Size)))
ui.table.SetCell(i+1, 2, tview.NewTableCell(formatSize(device.Size-device.Free)))
ui.table.SetCell(i+1, 3, tview.NewTableCell(getDeviceUsagePart(device)))
@@ -236,6 +237,13 @@ func (ui *UI) fileItemSelected(row, column int) {
func (ui *UI) deviceItemSelected(row, column int) {
selectedDevice := ui.table.GetCell(row, column).GetReference().(*analyze.Device)
+
+ for _, device := range ui.devices {
+ if device.Name != selectedDevice.Name {
+ ui.ignorePaths = append(ui.ignorePaths, device.MountPoint)
+ }
+ }
+
ui.AnalyzePath(selectedDevice.MountPoint)
}