mmozeiko / RcloneBrowser

Simple cross platform GUI for rclone
https://mmozeiko.github.io/RcloneBrowser
The Unlicense
1.31k stars 413 forks source link

Repeatable tasks branch #53

Closed spacecat56 closed 7 years ago

spacecat56 commented 7 years ago

I really like RcloneBrowser and found it immediately useful. The big thing that I wanted right away that it doesn't have is, the ability to easily repeat a task so that I can keep the remotes up to date, with a smattering of local folders that I want to back up but that are scattered around in different local drives, and without needing to recreate the job each time. So... in this substantial mod I have added the ability to save any set of upload or download job options as a "task", persisting those to app local storage and automatically loading them back in at startup time, with a new permanent Tasks tab on the main window to view, edit, delete, dry-run or run them.

I've done the dev work on Windows, VS 2015 with the 2013 toolset selected, but I also built and lightly tested on Debian; and only with Amazon Drive as a target. Sorry, no Mac testing, I haven't powered on my one little Mac in about 5 years and think it would be a great struggle to get to the point of trying to build there.

I'm still a bit lost with the git process and I hope I am not making a mess. This work required some trial-and-try-again to get right and in that mode I make a lot of little commits locally; I understand that it is "possible" to compress them into one but I did not try that... I could if the sequence of little steps seems unappealing as such...

Anyway, I'd like to suggest you consider adopting this mod. I certainly find it useful, and I think it's a big step toward a possible second stretch to add scheduling and history.

Let me know what you think... the only thing left on my todo list was to rework the list on the Tasks tab to use a Table... right now it only shows an up or down icon and description, I didn't appreciate how limiting it would be to start out with a list widget I supposed I would be able to format the items with further elements from the task such as source and dest.

best regards,

/tom

spacecat56 commented 7 years ago

I don't know what to make of that "Travis CI build failed". It looks? like it is building against QT 5.2 but, because I found the app delivered with Qt 5.8 I've relied on that. I think I could sort this out... but is there a config for that build to ask for 5.8?

spacecat56 commented 7 years ago

Here's a screen shot with the Tasks tab; I had just clicked Run to launch the first one. New tasks can only be added from the dialog launched on the "remote" tab but can be edited on the Tasks tab. The text on this list is from a new Task Description field on the transfers dialog.

rclonetaskstabexample

mmozeiko commented 7 years ago

Wow, nice. Thanks for this. I'll review it on weekend and merge it.

I want to support older Qt versions, because some users have asked that. On Windows it doesn't matter much because exe is delivered with binaries together, that's why I am using latest and greatest Qt :) But on Linux you are depending on whatever Qt version your package manager installs.

I'll actually prefer that this goes in as smaller amount of commits, because intermediate steps of commenting out and back in a lot of code is not very useful. I'll probably squash them if you don't want to do that.

Also try keeping first line of git commit comment short, something like 50 to 70 characters. If you want more text, add them after empty line (starting from line 3).

spacecat56 commented 7 years ago

OK, I got it squashed down to one commit, and I see that has flowed through to this pull. (And thanks for the hints and suggestions re:git etc.!)

mmozeiko commented 7 years ago

I've merged your changes to separate branch, because I want to do some cleanup on source code.

spacecat56 commented 7 years ago

OK, thanks.

BTW, I've noticed that re-selecting the item after Edit on the Tasks tab doesn't really "take" for some reason... if I was on e.g. item 3 in the list it /appears/ to be selected again after the edit and the button activation logic fires, but if I then click Run it takes item 0. Probably the easiest way to prevent this is to comment out the last code line in editSelectedTask() i.e. ui.tasksListWidget->selectionModel()->select(...

Also, if you feel it was not appropriate for me to add myself to the about box please feel free to remove or comment that out.