From b3dc607e05545ea9d15f449c8fc9ea9a615dca7d Mon Sep 17 00:00:00 2001 From: Evan Su <48808396+HACKERALERT@users.noreply.github.com> Date: Thu, 17 Nov 2022 19:44:54 -0500 Subject: [PATCH] Use native clipboard --- src/Picocrypt.go | 54 +++++++++++++++++++----------------------------- src/go.mod | 1 - src/go.sum | 2 -- 3 files changed, 21 insertions(+), 36 deletions(-) diff --git a/src/Picocrypt.go b/src/Picocrypt.go index 3ec0ad7..3fcdc24 100644 --- a/src/Picocrypt.go +++ b/src/Picocrypt.go @@ -2,7 +2,7 @@ package main /* -Picocrypt v1.30 +Picocrypt v1.31 Copyright (c) Evan Su Released under a GNU GPL v3 License https://github.com/HACKERALERT/Picocrypt @@ -32,7 +32,6 @@ import ( "strings" "time" - "github.com/HACKERALERT/clipboard" "github.com/HACKERALERT/crypto/argon2" "github.com/HACKERALERT/crypto/blake2b" "github.com/HACKERALERT/crypto/chacha20" @@ -59,7 +58,7 @@ var TRANSPARENT = color.RGBA{0x00, 0x00, 0x00, 0x00} // Generic variables var window *giu.MasterWindow -var version = "v1.30" +var version = "v1.31" var dpi float32 var mode string var working bool @@ -182,9 +181,7 @@ func draw() { giu.Checkbox("Lowercase", &passgenLower), giu.Checkbox("Numbers", &passgenNums), giu.Checkbox("Symbols", &passgenSymbols), - giu.Style().SetDisabled(clipboard.Unsupported).To( - giu.Checkbox("Copy to clipboard", &passgenCopy), - ), + giu.Checkbox("Copy to clipboard", &passgenCopy), giu.Row( giu.Button("Cancel").Size(100, 0).OnClick(func() { giu.CloseCurrentPopup() @@ -339,26 +336,22 @@ func draw() { }), giu.Tooltip("Clear the password entries."), - giu.Style().SetDisabled(clipboard.Unsupported).To( - giu.Row( - giu.Button("Copy").Size(54, 0).OnClick(func() { - clipboard.WriteAll(password) - giu.Update() - }), - giu.Tooltip("Copy the password into your clipboard."), + giu.Button("Copy").Size(54, 0).OnClick(func() { + giu.Context.GetPlatform().SetClipboard(password) + giu.Update() + }), + giu.Tooltip("Copy the password into your clipboard."), - giu.Button("Paste").Size(54, 0).OnClick(func() { - tmp, _ := clipboard.ReadAll() - password = tmp - if mode != "decrypt" { - cpassword = tmp - } - passwordStrength = zxcvbn.PasswordStrength(password, nil).Score - giu.Update() - }), - giu.Tooltip("Paste a password from your clipboard."), - ), - ), + giu.Button("Paste").Size(54, 0).OnClick(func() { + tmp := giu.Context.GetPlatform().GetClipboard() + password = tmp + if mode != "decrypt" { + cpassword = tmp + } + passwordStrength = zxcvbn.PasswordStrength(password, nil).Score + giu.Update() + }), + giu.Tooltip("Paste a password from your clipboard."), giu.Style().SetDisabled(mode == "decrypt").To( giu.Button("Create").Size(54, 0).OnClick(func() { @@ -782,7 +775,7 @@ func onDrop(names []string) { tmp := make([]byte, 15) fin.Read(tmp) tmp, err = rsDecode(rs5, tmp) - if valid, _ := regexp.Match(`^v\d\.\d{2}`, tmp); !valid || err != nil { + if valid, _ := regexp.Match(`^v1\.\d{2}`, tmp); !valid || err != nil { resetUI() mainStatus = "This doesn't seem like a Picocrypt volume." mainStatusColor = RED @@ -1883,7 +1876,7 @@ func resetUI() { passgenLower = true passgenNums = true passgenSymbols = true - passgenCopy = !clipboard.Unsupported + passgenCopy = true keyfile = false keyfiles = nil @@ -1984,7 +1977,7 @@ func genPassword() string { tmp[i] = chars[j.Int64()] } if passgenCopy { - clipboard.WriteAll(string(tmp)) + giu.Context.GetPlatform().SetClipboard(string(tmp)) } return string(tmp) } @@ -2039,11 +2032,6 @@ func main() { // Set universal DPI dpi = giu.Context.GetPlatform().GetContentScale() - // Check for clipboard support - if clipboard.Unsupported { - mainStatus = "Ready. (Note: No clipboard support found.)" - } - // Start the UI window.Run(draw) } diff --git a/src/go.mod b/src/go.mod index 34e1620..cce86e1 100644 --- a/src/go.mod +++ b/src/go.mod @@ -3,7 +3,6 @@ module Picocrypt go 1.17 require ( - github.com/HACKERALERT/clipboard v0.1.5-0.20220507233423-cccec4a4226a github.com/HACKERALERT/crypto v0.0.0-20220905152506-aa0dd62d8f67 github.com/HACKERALERT/dialog v0.0.0-20220508022504-af3bc34fe379 github.com/HACKERALERT/giu v0.5.7-0.20221117223150-211c1da061d9 diff --git a/src/go.sum b/src/go.sum index 08c76fd..2f13954 100644 --- a/src/go.sum +++ b/src/go.sum @@ -1,5 +1,3 @@ -github.com/HACKERALERT/clipboard v0.1.5-0.20220507233423-cccec4a4226a h1:AJwVJ8FRAwocNV6jjwcexiMIH0q+LvDxGpln9tLBZ/8= -github.com/HACKERALERT/clipboard v0.1.5-0.20220507233423-cccec4a4226a/go.mod h1:io5lk+xSkGqXRrXYAtBjyIpUBH9yPmbwyMPvBUmCNeg= github.com/HACKERALERT/crypto v0.0.0-20220905152506-aa0dd62d8f67 h1:4WfPIopYjvBjyDg0IET7mEj32kkihLmvFgwCOmldqK8= github.com/HACKERALERT/crypto v0.0.0-20220905152506-aa0dd62d8f67/go.mod h1:qiHCxMDsCxX4QhXd3kDYWiNOR/DZQZ7nYO/f2OgWst0= github.com/HACKERALERT/dialog v0.0.0-20220508022504-af3bc34fe379 h1:GR92LbksZ8zdbzQHf2dTI7e7P8Mjbdi5mSmQv2SK2Uw=