Mike Gelfand [Sat, 3 Feb 2018 19:36:54 +0000 (22:36 +0300)]
Fix progress bar width with Breeze style (Qt client)
In compact torrents view, use BAR_WIDTH as groove area width instead of
total progress bar width, to improve the appearance in case progress text
is drawn outside of the groove area (because of style settings).
dubhater [Tue, 30 Jan 2018 21:44:12 +0000 (23:44 +0200)]
Qt: Fix assert with one-letter root folder names
An assertion failure happens shortly after opening the
"Torrent properties" dialog if the torrent's root folder has
a one-letter name, e. g.
A/
A/Some Linux distro.iso
A/Some other Linux distro.iso
Off by one errors are great, eh?
This fixes https://trac.transmissionbt.com/ticket/6141
Mike Gelfand [Fri, 26 Jan 2018 04:56:11 +0000 (07:56 +0300)]
Use `magick convert` instead of `convert`
This adjusts to the new ImageMagick command naming (way to go,
GraphicsMagick had this from the beginning) and avoids confusion with
same-named windows utility which serves completely different purpose.
Mike Gelfand [Wed, 24 Jan 2018 20:10:21 +0000 (23:10 +0300)]
Fix UNC paths resolution on Windows
While resolved paths always contain the `\\?\` prefix, it's not always
correct to strip only those 4 chars. In case of UNC paths, the prefix
is actually a bit longer (`\\?\UNC\`) and needs to be replaced with `\\`
instead.
Failing to do so results in invalid paths, e.g. `\\Host\Share\File` becomes
`UNC\Host\Share\File` which totally wrong.
Mike Gelfand [Wed, 24 Jan 2018 20:06:21 +0000 (23:06 +0300)]
Add unit tests uncovering improper UNC paths resolution
While resolved paths always contain the `\\?\` prefix, it's not always
correct to strip only those 4 chars. In case of UNC paths, the prefix
is actually a bit longer (`\\?\UNC\`) and needs to be replaced with `\\`
instead.
Failing to do so results in invalid paths, e.g. `\\Host\Share\File` becomes
`UNC\Host\Share\File` which totally wrong.
Mike Gelfand [Sat, 14 Jan 2017 21:54:56 +0000 (00:54 +0300)]
Improve version.h file generation
Store full revision hash in REVISION file. Write fixes 10 chars of revision
hash to version.h. Use `#pragma once` in version.h. Support getting revision
from TeamCity environment variable (similar to Jenkins).
Mike Gelfand [Tue, 16 Jan 2018 21:46:54 +0000 (00:46 +0300)]
Allow host whitelist control via plist on Mac
Add RPCUseHostWhitelist (maps to rpc-host-whitelist-enabled) and
RPCHostWhitelist (maps to rpc-host-whitelist) keys loading from the plist
to allow adjustment via `defaults` command.
Will Thompson [Thu, 30 Nov 2017 16:41:39 +0000 (16:41 +0000)]
gtk: add symbolic icon
The -symbolic icon variant (if available) is used in the GNOME top bar,
and when the high contrast theme is in use. This icon was created by
Jakub Steiner, and comes from the gnome-icons repository:
There is some confusion over whether symbolic app icons should be
installed to icons/hicolor/scalable/apps (alongside the regular scalable
icon) or to icons/hicolor/symbolic/apps. On the one hand,
https://wiki.gnome.org/Initiatives/GnomeGoals/HighContrastAppIcons has
this to say:
> […] obtain a suitable symbolic style icon […] and install it to the
> hicolor prefix, the same way you would for the full color variant.
>
> cp myapp-symbolic.svg /usr/share/icons/hicolor/scalable/apps/myapp-symbolic.svg
On the other hand, the Fedora package at
https://src.fedoraproject.org/rpms/transmission/blob/master/f/transmission.spec
ships this icon in icons/hicolor/symbolic/apps:
Anecdotally, icons in scalable/ have minimum size 64×64 on openSUSE, so
symbolic/ is the safer location (given the GNOME top bar uses 32×32
icons). This has the advantage of matching the location used in the
distribution which already ships this file.
Mike Gelfand [Fri, 27 Oct 2017 13:12:55 +0000 (16:12 +0300)]
Take another approach to creating intermediate dirs on *NIX
Walk up one level at a time until the directory creation succeeds, then go
back down one level at a time. This reduces the number of operations in the
most common case (when directory already exists).
The current icons are very hard to read at the current font size and it's not immediately visible which icon i which.
Additionally, spaces after icons are removed because upload icon is equally positioned between DL/UL speeds (like so `↓ 273 kB/s **↑** 0 kB/s`) which requires reading the whole line to make sense of which number the arrow applies to.
To further separate one type of information from another the hyphen is replaced by the slightly wider en dash.
Old vs New:
Downloading from 7 of 19 peers - ↓ 273 kB/s ↑ 167 kB/s
Downloading from 7 of 19 peers – ▼273 kB/s ▲167 kB/s
Sven Depondt [Fri, 28 Jul 2017 20:32:18 +0000 (22:32 +0200)]
Use id when handling hotkeys for specific dialogs
Identifying a dialog by it's header title is kinda dirty and now we use
the dialogs id instead. We also check if the dialog is visible before executing
the hotkey action.