Mike Gelfand [Tue, 10 Mar 2015 22:31:09 +0000 (22:31 +0000)]
Define one of LFS macros instead of using xxx64 functions directly.
There're too many functions and types to consider, and benefits of not
using LFS macros aren't that big (I was thinking of using fts(3) but
that may not happen soon or at all).
Mike Gelfand [Thu, 29 Jan 2015 21:53:05 +0000 (21:53 +0000)]
Define QT_NO_CAST_FROM_ASCII (Qt client)
Use latin1 encoding most of the time where default encoding was used
before. Qt 4 assumes latin1 by default while Qt 5 uses utf-8 which is
not what we want.
Use utf-8 encoding in some places where default encoding was used before.
This includes strings coming from RPC.
Fix an issue with SortMode::names[] (filters.cc) where missing comma
between "sort-by-queue" and "sort-by-ratio" resulted in two array entries
being merged into solid "sort-by-queuesort-by-ratio" string and all the
following items being shifted compared to their enum counterparts.
Mike Gelfand [Sun, 18 Jan 2015 02:09:44 +0000 (02:09 +0000)]
Poke translations a bit (Qt client)
Add a bit more comments. Adjust some phrases for pluralization.
Mark menu shortcuts as not translatable (changing them doesn't do any
good but people start translating "Ctrl" as "Ktrl" etc. which breaks
the shortcuts).
Pull current translations from Transifex.
Mike Gelfand [Sat, 17 Jan 2015 16:59:42 +0000 (16:59 +0000)]
Improve overall look of torrents in main window
Refactor and use the same code to calculate element positions in
sizeHint () and paint () to prevent discrepancies.
While we are at it, properly support RTL layout.
Mike Gelfand [Sat, 17 Jan 2015 01:23:51 +0000 (01:23 +0000)]
Improve the look of torrents with errors a bit (Qt client)
Display emblem over mime icon if torrent has error(s) to indicate the
issue.
Use normal text color instead of red when drawing selected item: there
is no easy way to be sure that red color looks nice on selection
background, and most of the time it doesn't. Using red color for non-
selected items is questionable too, but let's leave it at that for now.
Mike Gelfand [Sun, 11 Jan 2015 15:01:13 +0000 (15:01 +0000)]
Improve filter bar look (Qt client)
Use normal but semi-transparent color instead of 'disabled' color for
counts drawing.
Do not leave empty space for icon when selected item doesn't have one.
Use null pixmaps/icons instead of non-null blank ones.
Implement our own sizeHint and minimumSizeHint to make sure both combos
have the same height.
Make activity combo width fixed, tracker combo width to fit its content
and line edit to occupy the rest.
Add 'Search...' placeholder to line edit.
Mike Gelfand [Sat, 3 Jan 2015 21:35:20 +0000 (21:35 +0000)]
Increase BASE64 encoding size when using system libb64
Remove BASE64 reference testing as it's only libb64 now.
Improve the test to ignore \r and \n when comparing BASE-encoded
strings to not fail on system (unpatched) libb64.
Mike Gelfand [Thu, 1 Jan 2015 21:16:36 +0000 (21:16 +0000)]
Use libb64 instead of OpenSSL to encode/decode BASE64
Some crypto libraries (like CyaSSL, MatrixSSL and CommonCrypto) either
don't have or expose this functionality at all, expose only part of it,
or (like OpenSSL) have heavyweight API for it. Also, for the task as
easy as BASE64 encoding and decoding it's much better to use small and
simple specialized library.
Mike Gelfand [Sat, 27 Dec 2014 14:07:14 +0000 (14:07 +0000)]
A bit of harmless refactoring
Prefer C++-style over C-style type casting.
Use qApp instead of QApplication/QCoreApplication::instance().
Use explicit QString::fromLatin1()/fromUtf8() where applicable.
Mike Gelfand [Thu, 18 Dec 2014 01:30:50 +0000 (01:30 +0000)]
Move status bar creation to mainwin.ui
Among other things,
* fix turtle icons size (20x14 -> 16x16)
* use QIcon states instead of changing the turtle icon ourselves each
time (unchecked - off, checked - on)
* make speed limit action in tray menu checkable
* simplify status bar buttons drawing and use QToolButton instead of
QPushButton
Mike Gelfand [Sun, 14 Dec 2014 18:12:21 +0000 (18:12 +0000)]
Rework torrent details dialog in Qt client to load from .ui
Make squeeze labels (used for values on Information tab) display tooltip
on hover if their text doesn't fit. Make selective labels (same as in
GTK+ client) text selectable with keyboard in addition to mouse.
Prevent dialog width growth occured before to fit long error texts.
Mike Gelfand [Sat, 13 Dec 2014 15:22:39 +0000 (15:22 +0000)]
Fix compilation on Windows
This should not affect non-Win32 platforms in any way.
As for Win32 (both MinGW and MSVC), this should hopefully allow for
unpatched compilation. Correct functioning is not yet guaranteed though.