First of all, this is my first main contribution to an open-source project and my first main C++ project. (Also, as you will see, there is also some C in there.)This is a proposal for a replacement for the old Web Interface. This is at a very early stage but it already has basic features: it's possible to monitor and control torrents and it's possible to add torrents through magnet links.
The interface is smoother and uses more modern web features. It's based on Google's Angular 4. The source for the web interface itself it in another repo, eje211/ktorrent-web . The link to this repo is also in the source.
This is by no means feature-complete, and there are already a few kinks to be ironed out, but it sort of works and the code is (I think) at lot simpler than the old web interface.
I was not going to write a whole HTML server from scratch. All the C++ servers I saw gave me a lot of dependency problems, so I decided to just use Mongoose, a minimalist, pure C web server instead. If anyone has a better suggestion, let me know.
Of course, the final code will be fully commented. Currently, I'm still figuring out how the whole codebase will be organized. If there's a way for KTorrent to tell the web interface when it has information rather than for the web interface to ask at a regular interval, that would be a huge improvement. Just asking. The KTorrent interface is not really well documented.
You can reach me at email@example.com .
SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
First working version.