From 1880ebbb413c8fb70ba0a83a77500b1c859eba72 Mon Sep 17 00:00:00 2001 From: Xpl0itU <24777100+Xpl0itU@users.noreply.github.com> Date: Tue, 18 Jul 2023 20:41:37 +0200 Subject: [PATCH] Add directory selection --- cmd/WiiUDownloader/mainwindow.go | 10 ++++++++-- go.mod | 3 +++ go.sum | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/cmd/WiiUDownloader/mainwindow.go b/cmd/WiiUDownloader/mainwindow.go index 8840b21..d6121e9 100644 --- a/cmd/WiiUDownloader/mainwindow.go +++ b/cmd/WiiUDownloader/mainwindow.go @@ -8,6 +8,7 @@ import ( wiiudownloader "github.com/Xpl0itU/WiiUDownloader" "github.com/gotk3/gotk3/glib" "github.com/gotk3/gotk3/gtk" + "github.com/sqweek/dialog" ) const ( @@ -187,15 +188,20 @@ func (mw *MainWindow) onRowActivated() { model, iter, _ := selection.GetSelected() if iter != nil { tid, _ := model.ToTreeModel().GetValue(iter, TITLE_ID_COLUMN) + name, _ := model.ToTreeModel().GetValue(iter, NAME_COLUMN) if tid != nil { if tidStr, err := tid.GetString(); err == nil { - fmt.Println("Cell Value:", tidStr) + nameStr, _ := name.GetString() + selectedPath, err := dialog.Directory().Title("Select a path to save the games to").Browse() + if err != nil { + return + } progressWindow, err := wiiudownloader.CreateProgressWindow(mw.window) if err != nil { return } progressWindow.Window.ShowAll() - go wiiudownloader.DownloadTitle(tidStr, "output", true, &progressWindow) + go wiiudownloader.DownloadTitle(tidStr, fmt.Sprintf("%s/%s [%s]", selectedPath, nameStr, tidStr), true, &progressWindow) } } } diff --git a/go.mod b/go.mod index 74a2278..ca452eb 100644 --- a/go.mod +++ b/go.mod @@ -5,5 +5,8 @@ go 1.20 require ( github.com/cavaliergopher/grab/v3 v3.0.1 github.com/gotk3/gotk3 v0.6.2 + github.com/sqweek/dialog v0.0.0-20220809060634-e981b270ebbf golang.org/x/crypto v0.11.0 ) + +require github.com/TheTitanrain/w32 v0.0.0-20180517000239-4f5cfb03fabf // indirect diff --git a/go.sum b/go.sum index 6cbc4dc..bb47cf3 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,10 @@ +github.com/TheTitanrain/w32 v0.0.0-20180517000239-4f5cfb03fabf h1:FPsprx82rdrX2jiKyS17BH6IrTmUBYqZa/CXT4uvb+I= +github.com/TheTitanrain/w32 v0.0.0-20180517000239-4f5cfb03fabf/go.mod h1:peYoMncQljjNS6tZwI9WVyQB3qZS6u79/N3mBOcnd3I= github.com/cavaliergopher/grab/v3 v3.0.1 h1:4z7TkBfmPjmLAAmkkAZNX/6QJ1nNFdv3SdIHXju0Fr4= github.com/cavaliergopher/grab/v3 v3.0.1/go.mod h1:1U/KNnD+Ft6JJiYoYBAimKH2XrYptb8Kl3DFGmsjpq4= github.com/gotk3/gotk3 v0.6.2 h1:sx/PjaKfKULJPTPq8p2kn2ZbcNFxpOJqi4VLzMbEOO8= github.com/gotk3/gotk3 v0.6.2/go.mod h1:/hqFpkNa9T3JgNAE2fLvCdov7c5bw//FHNZrZ3Uv9/Q= +github.com/sqweek/dialog v0.0.0-20220809060634-e981b270ebbf h1:pCxn3BCfu8n8VUhYl4zS1BftoZoYY0J4qVF3dqAQ4aU= +github.com/sqweek/dialog v0.0.0-20220809060634-e981b270ebbf/go.mod h1:/qNPSY91qTz/8TgHEMioAUc6q7+3SOybeKczHMXFcXw= golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=