* Add macOS section to Web-Interface docs
- Add minimal steps to enable web interface on macOS
- Clean up README.md with some markdown linting.
* Updating and modernizing web interface, colors, icons
In general:
- increase spacing and decrease font sizes in most inspectors (so far)
- replace icons with emoji. may not be the way to go in the end
* update toolbar icon sizes to adjust for differences
* Switch from icons to buttons, other minor color changes
1. Add 'warn' class to dangerous actions
2. Add 'table-row' helper to overflow menu
3. Use text instead of icons for this new tab style
* Update icons using feathericons.com
* Rename files, replace some SVG and optimize PNG
* Remove more unused variables
* Update index.html to reflect new icons
* More minor svg changes; delete old images
* Updated build output
* Remove icons, add new feather svg icons
Build is now sub-200 KB
GLIBMM will catch them for us, but in two cases print a warning instead
of suppressing, and in one other case still print a warning (as well as
we do) but without context.
- Set the minimum size of the Message column of the message log
window to 200 (previously was 10) to fix#3627
- Align the log level indicator to the top
* Disable GTK 3 toolbars overflow menu
This prevents the toolbar from hiding its items when they don't fit. Not
an issue with GTK 4 where there's no dedicated toolbar widget and
associated logic.
* Increase default message log window width
In GLIB 2.68+ `Glib::RefPtr<>` is an alias for `std::shared_ptr<>` which
has no idea about GLIB's reference counting, thus destroying the object
instead of unreferencing it. Use `Glib::make_refptr_for_instance()` to
construct the smart pointer which passes in a custom reference-aware
deleter for us.
Fixes: #3954
* refactor: make tr_session.private_peer_port a private field
chore: make tr_session.public_peer_port a private field
* refactor: make tr_session.web_ a private field
* refactor: make tr_session.lpd_ a private field
* refactor: make tr_session.bind_ipv4_ private
refactor: make tr_session.bind_ipv6_ private
* refactor: make tr_session.bandwidth_groups_ private; add const accessor
* refactor: make tr_session.port_forwarding_ private
* refactor: make tr_session.peerMgr private pt 1: add tr_session::addIncoming()
* refactor: make tr_session.peerMgr private pt 1: add tr_session::addTorrent()
* refactor: make tr_session.peer_mgr_ private
* refactor: make tr_session.setPeerPort() private
* chore: move private tr_session struct declaration to beginning of class
* chore: move all tr_session fields into the same code section
* chore: move private constexpr, const fields before mutable ones
* chore: move trivial fields before nontrivial fields
* chore: reconcile with refactor/session-const-fields-first
* Sync translations with code
* Sync translations with Transifex
* Remove Mac menu title that isn't displayed and shouldn't be translated
* Add context to logging level strings in GTK client
* Use "µTP" consistently in code
* Use ellipsis instead of three docs in Qt client strings
* Close HTML tags in blocklist-related strings
* Remove trailing space from a translatable string in Qt client
* Add missing plural forms for English strings in Qt client
* Fix spelling: metaInfo -> metainfo
This allows to test against GTK 4 and Qt 6.
Changes to CMakeLists.txt files are non-functional and are meant to
trigger the components rebuild, nothing more.