therecipe / qt

Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly
GNU Lesser General Public License v3.0
10.5k stars 748 forks source link

Application I built and want to share. #1249

Open amlwwalker opened 3 years ago

amlwwalker commented 3 years ago

This is not an issue, I wanted to share a project i made with this repository, PickleIt.

I actually got this to a working product over a year ago now, but the last year has caused side effects as you can imagine.

Pickleit is a sort of "git for binary files" the idea is that if lets say you work on photoshop word docs etc (really anything that isnt just a text file), alot and find yourselves backing up by having multiple copies of the same file with slightly different names, then Pickleit is designed to solve this problem.

Once a file is being "watched" by Pickleit every time you save that file, Pickleit takes a binary "diff" from the last save point and stores that change in a database. The PickleIt GUI then allows you to go backwards and forwards between saves.

I have added a screenshot of the file at the time of save to try and help you remember what was going on at that point in time...

Unfortunately its slightly dormant at this stage, due to "life happening" but I am interested in

a) just general thoughts really b) it may be nice for others to see a Qt application built in Go that is reasonably functional and "full on" - I learned a lot about this library building it so maybe its useful for others too. c) is this something that could be useful to others? d) compilation - could be a bit nasty as this qt library changes reasonably often and may mean that it doesn't compile straight out of the box....

If I were to take this further, I would need to notorize it (for mac) but one thing I did struggle with was the permissions required to allow it to take screenshots.

Anyway, please have a look and any thoughts greatly appreciated https://github.com/amlwwalker/pickle-it

  1. Create a file that you are going to work on
  2. Drop the file into the Dropzone. As long as pickleit is open in the background it will watch for changes to this file
  3. When a save occurs on the file, pickleit will take a binary diff of the file and add the diff to the list. You can either delete or patch any diff at any time. Note, you may need to close the original to see the diff take effect when patching.
  4. Diffs can have screenshots (if the app has permission) and descriptions to help you remember what was going on at that moment in time
  5. There is also a calendar view of diffs so you can go back in time based on the calendar changes.

image image

CRYBOII commented 3 years ago

thank for an example