~romibi/quassel/+git/trunk:romibisCustomBuilds-Changes

Last commit made on 2018-03-17
Get this branch:
git clone -b romibisCustomBuilds-Changes https://git.launchpad.net/~romibi/quassel/+git/trunk

Branch merges

Branch information

Name:
romibisCustomBuilds-Changes
Repository:
lp:~romibi/quassel/+git/trunk

Recent commits

618a56d... by R. M. Bislin

Enable Icon-Themes on Travis Deploy

f09ca1c... by R. M. Bislin

Disable Qt4 Builds on Travis for QRegularExpression

6fdf05d... by Manuel Nickschas

uistyle: Ignore format code for Monospace

Since the current rendering engine does not easily support switching
fonts in the middle of a message, we can't currently support the
Monospace format code as specified in [1].
However, to avoid weird artifacts when other clients send this, ignore
the format code for now.

[1] https://modern.ircdocs.horse/formatting.html#monospace

Closes GH-342.

f56f451... by Manuel Nickschas

uistyle: Support rendering of strikethrough'd text

As defined in [1], format code 0x1e indicates text that is struck
through. Add support for rendering this accordingly.

Extend the stylesheet parser so the format can be defined, and
add to the default stylesheet.

[1] https://modern.ircdocs.horse/formatting.html#strikethrough

374bb1f... by Manuel Nickschas

uistyle: Support reverse color rendering

Format codes 0x12 and 0x16 toggle the swap of foreground and
background colors. In the current implementation, the color
swap only applies to custom colors, i.e. mIRC colors and hex
colors. Normal text is not affected.

Since this is not a styleable property, remove support for it
from the stylesheet parser.

b12b02f... by Manuel Nickschas

uistyle: Define via stylesheet if color codes have an effect

In certain situations, color codes should have no effect, e.g. when
selecting text. This required hacks in stylesheets; for example
when setting a foreground color for self or highlighted messages,
the mIRC colors had to be redefined in the stylesheet for that label.
Also the code had some workaround, e.g. for URLs.

With the introduction of the non-styleable extended mIRC and
hex colors, these workarounds are no longer possible.

Solve these issues by introducing two new properties that can be set
in the stylesheet:

allow-foreground-override: true|false
allow-background-override: true|false

The default stylesheet sets them to true by default, and to false
e.g. for selections.

Remove the now unneeded workaround from m4yer's stylesheet, too.

d59ac6d... by Manuel Nickschas

uistyle: Support rendering of hex colors

Hex colors are a relatively new addition to IRC, as defined in
<https://modern.ircdocs.horse/formatting.html#hex-color>.

Note that there are known issues with prioritization in the theme
engine (i.e., setting the foreground explicitly in the stylesheet
will always override hex colors), which will be fixed in a follow-up
commit.

ed7467b... by Manuel Nickschas

uistyle: Fix weird way of registering Qt types

Well, maybe it didn't seem so weird a decade ago, but these days
we can do type registration in a nicer way.

e6f8101... by Manuel Nickschas

uistyle: Support extended mIRC colors

Support mIRC color values between 16 and 98, as specified in [1].
Extended color values are not styleable.

[1] https://modern.ircdocs.horse/formatting.html

ac7a58d... by Manuel Nickschas

uistyle: Add more type-safety to UiStyle, and clean up a bit

Migrate all UiStyle enums to be enum classes. Enforce explicit types
instead of quint32 in most places using them, and handle MessageLabel
in a more obvious fashion. A bunch of bit-wise operators had to be
added to avoid lots of boilerplate when dealing with the enums.

FormatList now holds the formats in a struct rather than as plain enum
(or quint32) values. This will be needed for extended color support;
as the format type cannot hold the hard-coded extended color values,
the colors will be stored explicitly in the list and applied as
appropriate.

Also, in the quest to modernize the codebase, FormatList is now a
std::vector rather than a QList.