Commit Graph

14892 Commits

Author SHA1 Message Date
Mike Gelfand da27c3d18d
Prefer ayatana-appindicator over appindicator, if present (#4001) 2022-10-20 18:15:13 +01:00
Mike Gelfand 5564d9eb46
Catch dbus exceptions in async callbacks on completion (GTK client) (#3997)
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.
2022-10-19 16:27:07 -05:00
Dmitry Serov 3a8dc9d203
Replace preprocessor defines with constants in objc code (#3974) 2022-10-19 14:28:21 -05:00
Yuze Jiang 8cad9675d8
Update to the message log window on macOS, fix #3627 (#3962)
- 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
2022-10-19 13:22:19 -05:00
Yaron Shahrabani e97a98f10b
Swapped plural and singular positions (#3996) 2022-10-19 13:05:36 -05:00
Charles Kerr 450f1dcadc
refactor: extract `tr_buffer` class from `tr_peerIo` (#3986) 2022-10-19 11:42:08 -05:00
Mike Gelfand f22ce40c72
Change progress bar color depending on torrent state (GTK client) (#3976)
* Rename `context` to `snapshot` in `TorrentCellRenderer`

* Change progress bar color depending on torrent state
2022-10-19 00:17:54 +01:00
Luukas Pörtfors 9313e42866
remote: improve and document the rename command (#3973) 2022-10-19 00:02:23 +01:00
A Cœur ad77140035
doc: Building the GTK app on macOS (#3982) 2022-10-18 15:23:26 -05:00
Charles Kerr 4ed61a0a75
fixup! refactor: remove TR_PRIsv macros (#3842) (#3992)
fix: invalid format string passed to fmt::print
2022-10-18 14:57:11 -05:00
Charles Kerr 7ee76a604d
feat: add libtransmission::Dns.cached() (#3984) 2022-10-17 20:17:01 -05:00
Charles Kerr c8e652c820
refactor: add dns interface class (#3977) 2022-10-17 14:41:42 -05:00
Mike Gelfand 1b416962e6
Increase message log window width, disable overflow menu (GTK client) (#3971)
* 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
2022-10-16 19:31:02 +03:00
Mike Gelfand 9dd4454729
Sync translations (#3968)
* Sync translations with code

* Migrate to Go-based Transifex client version

* Sync translations with Transifex
2022-10-15 21:21:13 +03:00
Mike Gelfand ae2dd5eba9
Use fmt for string formatting (GTK client) (#3967) 2022-10-15 19:13:50 +03:00
Charles Kerr 79068c512a
refactor: decouple tr-dht from peerMsgs, peerMgr (#3966)
* refactor: decouple peer-mgr from tr-dht

* refactor: remove tr_dhtPort()

* refactor: decouple peer-msgs from tr-dht

* refactor: make tr_udp_core.udp_port_ const

* refactor: rename tr_udp_core::dhtUninit() as startShutdown()
2022-10-15 08:22:43 -05:00
Charles Kerr 572e1bb50f
refactor: add tr_address::fromSockaddr() (#3964)
* refactor: remove TR_DISCARD_ALIGN

* refactor: add tr_address::fromSockaddr()
2022-10-14 01:20:39 -05:00
Mike Gelfand 9ccaffb044
Fix session use after free (GTK client) (#3963)
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
2022-10-14 07:59:38 +03:00
Charles Kerr 4a359fd481
refactor: session private fields (#3961)
* 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
2022-10-13 21:25:02 -05:00
Mike Gelfand 02cbfa917a
Don't scroll to message log bottom with no messages (GTK client) (#3959)
Fixes: #3956
2022-10-14 02:19:37 +03:00
Charles Kerr a2817faab1
refactor: tr_session declaration cleanup (#3958)
* 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
2022-10-13 16:25:54 -05:00
Mike Gelfand 60340387e2
Make torrents context menu look more like one (GTK client) (#3957) 2022-10-13 19:18:33 +03:00
A Cœur 4ea9c87fea
fix: some typos (#3904) 2022-10-13 09:35:10 -05:00
Mitch Livingston 20c2fde7ae
Merge pull request #3950 from Coeur/coeur/modalDelegateDeprecated
Fix 'modalDelegate:' is deprecated to avoid contextInfo leaks.
2022-10-13 07:54:07 -04:00
Mitch Livingston a3947bc994
Merge branch 'main' into coeur/modalDelegateDeprecated 2022-10-13 07:16:34 -04:00
Mitch Livingston ab12eacb1e
Merge pull request #3951 from Coeur/coeur/watchdir-common
Fix red link in Xcode project
2022-10-13 07:13:09 -04:00
Cœur 7601c1f7b1 Fix red link in Xcode project 2022-10-13 02:44:06 +08:00
Cœur 0d948886f6 orderOut: isn't needed with beginSheet:/endSheet: 2022-10-12 18:56:30 +08:00
Antoine Cœur 019b493f36 Fix 'modalDelegate:' is deprecated to avoid contextInfo leaks. 2022-10-12 18:19:38 +08:00
Mike Gelfand 4b65c4fa28
Don't call X11 functions on non-X11 GDK surfaces (#3949)
Calling such functions on e.g. Wayland GDK surfaces results in a crash.
2022-10-12 08:32:01 +03:00
A Cœur 74cc584a6a
Xcode 11.3.1 compatibility (#3946) 2022-10-11 23:09:46 -05:00
A Cœur 33afdc32f9
fix: "Nullptr with nonzero offset" (#3941) 2022-10-11 16:52:13 -05:00
A Cœur 4f957657d1
Upgrade Xcode Project Settings (#3940) 2022-10-11 16:51:45 -05:00
Mike Gelfand f1f55cc3df
Sync translations (#3939)
* 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
2022-10-11 18:39:41 +03:00
A Cœur cc5ae321a5
Fix "Capture of autoreleasing out parameter inside autorelease pool that may exit before method returns" (#3886) 2022-10-10 18:08:47 -05:00
A Cœur f5ab3db978
chore: add ISSUE_TEMPLATE (#3923) 2022-10-10 17:08:22 -05:00
A Cœur 0954e28780
Sort order by activity is reversed (#3924) 2022-10-10 12:39:51 -05:00
Federico Scodelaro 794074b7e1
docs: git submodule on building should be recursive (#3927)
* docs: git submodule on building should be recursive

* docs: forgot update scenario
2022-10-10 16:05:52 +01:00
Mike Gelfand b0de4b7a89
Add build job based on Fedora 37 (#3921)
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.
2022-10-09 12:13:02 +03:00
Dzmitry Neviadomski bfe6953822
macOS: Hide Title (App Name) on BigSur and later. (#3919)
Also specify Unified Toolbar Style explicitly, as hiding title
triggers Unified Compact style.

Fixes #3891

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2022-10-09 10:37:11 +03:00
Mike Gelfand 8712db3b4c
Support switching between GTK 3 and 4 within the same build directory (#3918) 2022-10-09 10:29:47 +03:00
Mike Gelfand c75c6bf5c8
Add support for GTK 4 (#3916)
* Make compact mode switch work for both GTK 3 and 4

* Implement GTK 4-specific view gesture handling

* Fix torrents view context menu on GTK 4

* Explicitly show/hide menubar on startup/teardown

* Switch from `Gtk::Pixbuf` to `Gio::Icon` for views

* Support GTK 4 exceptions based on `std::exception`

* Fix options menu setup with GTK 4

* Use `delete-event` (GTK 3) and `close-request` (GTK 4) signals to handle window clousure

* Add custom file chooser button implementation

GTK 4 drops FileChooserButton widget and suggests implementing it using
Button.

* Add helpers to set X11 hints with GTK 4

* Remove `HigWorkarea` class that's no longer used

* Make main menu shortcuts work with GTK 4

* Make drops work in main window and make dialog with GTK 4

* Remove unused `gtr_action_get_widget()` helper

* Fix text direction mark setup with GTK 4 (due to switch to enum class)

* Fix file tree font size calculation with GTK 4

* Fix crash during shutdown with GTK 4

* Switch from `RadioButton` to `CheckButton` for compatibility with GTK 4

* Fix opening files with GTK 4

* Rework torrent cell renderer to support both GTK 3 and 4

* Disable system tray icon support with GTK 4

* Fix windows positioning with GTK 4

* Fix focus event handling with GTK 4

* Adapt to tree model row/iterator changes in GTK 4

* Adapt to toplevel/root window changes in GTK 4

* Adapt to clipboard changes in GTK 4

* Adapt to icon/theme changes in GTK 4

* Adapt to file/path changes in GTK 4

* Random leftover fixes for GTK 4 compatibility

* Clean up unused code

* Move GTK 3 *.ui files into a subdirectory

* Add GTK 4 *.ui files

* Search for both GTK 3 and 4 during configuration
2022-10-09 01:50:03 +03:00
depler e3b871216f
Add missing include in port-forwarding-upnp.cc (#3911)
Got error `FMT_STRING: identifier not found` due lack of include
2022-10-08 22:27:06 +03:00
Dzmitry Neviadomski ecc7c185a4
tests: Fix SubprocessTest on macOS Monterey and later. (#3812)
On macOS Monterey and later `/var` is symlinked to `/private/var`

Add missing `tr_sys_path_resolve(...)` for parent dir in sandbox
fixture.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2022-10-08 22:18:39 +03:00
Luukas Pörtfors f8fdc6a828
remote: fix invalid format string (#3909) 2022-10-08 22:10:47 +03:00
Mike Gelfand aeaa6ca52f
Don't show duplicate add/edit tracker error dialogs (#3898)
Since we're already overriding `on_response()`, there's no point in
connecting `signal_response` to it, making it being called twice.

Broken-by: #3781
2022-10-07 15:09:48 -05:00
Mike Gelfand 32a1429047
fix GTK3 about dialog closure (#3892) 2022-10-07 12:25:03 -05:00
A Cœur 5ba2186f1f
Rollback #3871 (#3889) 2022-10-07 10:21:01 -05:00
Charles Kerr 3aff760b53
chore: bump version to post-4.0.0-beta.1 dev (#3879) 2022-10-07 08:43:26 -05:00
Mitch Livingston 52b7058843
Merge pull request #3878 from transmission/mac-public_html-only
Only include public_html, rather than the whole web directory, in the…
2022-10-06 22:59:29 -04:00