4 years agoDocumentation
romibi [Fri, 10 Jun 2016 22:42:26 +0000 (00:42 +0200)]

and some fixed indentations

4 years agoChange Selection Behaviour
romibi [Fri, 19 Feb 2016 19:47:52 +0000 (20:47 +0100)]
Change Selection Behaviour

Before: (slow) double tap for selection
After: start movement horizontal

4 years agoRefactoring: Pull Up Duplicate Code
romibi [Fri, 10 Jun 2016 23:52:03 +0000 (01:52 +0200)]
Refactoring: Pull Up Duplicate Code

The event override for NickView and BufferView was Copy&Paste.
To reduce duplicate code i moved that to a new class (TreeViewTouch) now
between QTreeView and the mentioned Classes.

4 years agoEnable Touch Scroll in Nick-View
romibi [Fri, 10 Jun 2016 23:48:11 +0000 (01:48 +0200)]
Enable Touch Scroll in Nick-View

4 years agoEnable Touch Scroll in Buffer-View
romibi [Fri, 10 Jun 2016 23:56:17 +0000 (01:56 +0200)]
Enable Touch Scroll in Buffer-View

4 years agoEnable Touch Scroll in Chat-View
romibi [Wed, 17 Feb 2016 12:54:18 +0000 (13:54 +0100)]
Enable Touch Scroll in Chat-View

4 years agoShow channel-specific modes in nick tooltips
Shane Synan [Thu, 10 Mar 2016 03:47:27 +0000 (21:47 -0600)]
Show channel-specific modes in nick tooltips

Add a row labeled Modes for channel modes applied to a user.  This
fixes channel modes not showing (more noticeable with multi-prefix).

Channel modes are found with the parent of the parent of the
IrcUserItem, in order of UserCategoryItem -> ChannelBufferItem.

Closes GH-186, finishes the fix in pull request GH-188

4 years agoClarify suserHost and WhoisServiceReply
Shane Synan [Thu, 10 Mar 2016 03:55:18 +0000 (21:55 -0600)]
Clarify suserHost and WhoisServiceReply

If suserHost indicates help status, substitute in a translatable
message.  Otherwise, behave as before.

If whoisServiceReply indicates nick registration status, substitute
in a translatable message.  Otherwise, behave as before.

Remove "is a" or "is an" from Operator status, since it's implied by
the tooltip itself.

See https://www.alien.net.au/irc/irc2numerics.html

4 years agoUpdate channel/nick/query tooltips to new-style
Shane Synan [Thu, 18 Feb 2016 01:44:18 +0000 (19:44 -0600)]
Update channel/nick/query tooltips to new-style

Modify channel, network, query and nick tooltips to use a clean,
consistent style with more padding, trading efficiency for
readability. This significantly helps for tooltips with lots of

Unify HTML escaping, reducing some clutter of '#if QT_VERSION'.

Fix crashes and weird formatting by escaping HTML where reasonable,
such as nick ident information.  In titles, spaces are replaced with
non-breaking spaces to avoid line-wrapping.

Expands upon a2e0951abbe2d545836fb25fd6010aa085f17d82
Thanks to https://github.com/Scheirle for the first version!

4 years agoC++11ify QtMultimedia notification backend
Manuel Nickschas [Mon, 13 Jun 2016 20:24:40 +0000 (22:24 +0200)]
C++11ify QtMultimedia notification backend

Use smart pointers, override.

4 years agoImplement QtMultimedia notification backend
Hendrik Leppkes [Wed, 10 Feb 2016 09:21:09 +0000 (10:21 +0100)]
Implement QtMultimedia notification backend

Phonon is no longer officially supported since Qt5, while QtMultimedia
implements all the required functionality to provide audio notifications.

Closes GH-182.

4 years agoUse Qt 5.6 and msvc2015 (#197)
Hannah von Reth [Thu, 9 Jun 2016 10:49:12 +0000 (12:49 +0200)]
Use Qt 5.6 and msvc2015 (#197)

This commit also adds a copy of the helper appvayor
helper script to the quassel sources.

As Qt 5.6 no longer supports QtWebkit we continue
to provide a mingw Qt 5.5 builds with Webkit.

For builds without Webkit we can probably further reduce the installer size
by removing dll which are no longer needed.

4 years agoMake minimum compiler requirements explicit
Manuel Nickschas [Wed, 8 Jun 2016 21:13:47 +0000 (23:13 +0200)]
Make minimum compiler requirements explicit

We know that the build fails if certain C++11 features are not
available, thus we should not even try to build with compilers
that we know are too old. Otherwise, users get confused due to
non-intuitive compile errors.

4 years agoEnable ccache on Travis
Daniel Albers [Tue, 7 Jun 2016 00:34:29 +0000 (02:34 +0200)]
Enable ccache on Travis

4 years agoUpdate travis build configuration to trusty
Daniel Albers [Mon, 6 Jun 2016 22:09:06 +0000 (00:09 +0200)]
Update travis build configuration to trusty

Also adds packages required to build all features marked as recommended
as well as translations.

Versions currently being installed:
gcc 4.8.4
clang 3.5.0
Qt 4.8.5
Qt 5.2.1

4 years agoINSTALL: Update toolchain requirements
Manuel Nickschas [Mon, 6 Jun 2016 22:56:52 +0000 (00:56 +0200)]
INSTALL: Update toolchain requirements

Since we're using more C++11 features now, compiler version
requirements have been updated accordingly.

4 years agoFix the SSL check with Qt 5.6 and GCC 5 (#199)
martin [Mon, 6 Jun 2016 22:37:22 +0000 (00:37 +0200)]
Fix the SSL check with Qt 5.6 and GCC 5 (#199)

4 years agoReplace build date with commit date (#159)
romibi [Mon, 6 Jun 2016 22:05:49 +0000 (00:05 +0200)]
Replace build date with commit date (#159)

Alternative to and based on PR #127

This makes it possible to create reproducible builds.

4 years agoBring copyright headers into 2016
Manuel Nickschas [Mon, 6 Jun 2016 21:38:10 +0000 (23:38 +0200)]
Bring copyright headers into 2016

That took some time...

4 years agoFix two typos (#200)
Alf Gaida [Mon, 6 Jun 2016 21:37:17 +0000 (23:37 +0200)]
Fix two typos (#200)

4 years agoGreatly simplify TransferManager API and implementation
Manuel Nickschas [Mon, 6 Jun 2016 21:23:10 +0000 (23:23 +0200)]
Greatly simplify TransferManager API and implementation

This commit does away with the overly complex overloaded signals
from the TransferManager family of classes, and replaces unneeded
code with using declarations.

4 years agoHandle invalid handshake data properly in the core
Manuel Nickschas [Sun, 24 Apr 2016 19:59:15 +0000 (21:59 +0200)]
Handle invalid handshake data properly in the core

Clients sending invalid handshake data could make the core crash
due to an unchecked pointer. This commit fixes this issue by having
the core close the socket if a peer could not be created.

Thanks to Bas Pape (Tucos) for finding this one!

4 years agoMerge pull request #195 from seezer/qt5sessions
Manuel Nickschas [Sun, 24 Apr 2016 18:39:44 +0000 (20:39 +0200)]
Merge pull request #195 from seezer/qt5sessions

Support session management with Qt5

4 years agoMerge pull request #188 from digitalcircuit/ircv3-fix-usermode
Manuel Nickschas [Sun, 24 Apr 2016 18:22:17 +0000 (20:22 +0200)]
Merge pull request #188 from digitalcircuit/ircv3-fix-usermode

Don't update IrcUser modes with channel-specific modes

4 years agoSupport session management with Qt5 195/head
Sebastian Goth [Sat, 23 Apr 2016 11:39:59 +0000 (13:39 +0200)]
Support session management with Qt5

Qt5 moved away from virtual methods towards signals for commitData() and saveState().
These were simply not called anymore in our code.

In Qt 5.6 a bug was fixed that broke session management at least with KF5.
As we do handle the session management, we can safely disable the fallback.
See QTBUG-49667 and https://codereview.qt-project.org/#/c/148274/ for details.

4 years agoRevert "Merge pull request #165 from esainane/coreinfo-dirty-status"
Daniel Albers [Sun, 3 Apr 2016 17:35:40 +0000 (19:35 +0200)]
Revert "Merge pull request #165 from esainane/coreinfo-dirty-status"

`git describe` is called on the committish, which doesn't work with

This reverts commit dd711790dddee81442e2138b3917764dac39c487, reversing
changes made to 9585227400dd89f8a4d6bbc723f2d36ca0dc1a70.

4 years agoMerge pull request #193 from mamarley/statusmsg
Daniel Albers [Fri, 1 Apr 2016 01:49:49 +0000 (03:49 +0200)]
Merge pull request #193 from mamarley/statusmsg

Handle STATUSMSG messages

4 years agoAdd documentation to isStatusMsg
Shane Synan [Wed, 30 Mar 2016 23:50:46 +0000 (18:50 -0500)]
Add documentation to isStatusMsg

4 years agoMerge pull request #183 from romibi/enableLinkPreview
Daniel Albers [Fri, 1 Apr 2016 00:34:03 +0000 (02:34 +0200)]
Merge pull request #183 from romibi/enableLinkPreview

Enable Link-Preview on appveyor builds

4 years agoMerge pull request #168 from esainane/irssi-msg-escape
Daniel Albers [Fri, 1 Apr 2016 00:32:19 +0000 (02:32 +0200)]
Merge pull request #168 from esainane/irssi-msg-escape

Make "/ " use the rest of the message as a literal

4 years agoMerge pull request #165 from esainane/coreinfo-dirty-status
Daniel Albers [Thu, 31 Mar 2016 23:51:51 +0000 (01:51 +0200)]
Merge pull request #165 from esainane/coreinfo-dirty-status

Include dirty status in core information

4 years agoHandle STATUSMSG messages
Michael Marley [Wed, 23 Mar 2016 20:47:02 +0000 (16:47 -0400)]
Handle STATUSMSG messages

Previously PRIVMSGs to channels prefixed with certain characters
(usually "+" or "@") (example "@#quassel") would appear in new
query buffers instead of in the channel buffer.  People were using
that problem to broadcast query SPAM in active channels such as

This patch fixes the issue by detecting the condition, first in
ircparser.cpp where it will use the channel name instead of the
sender's nick as the target.  ctcpparser.cpp then sees the prefixed
channel name and reacts by truncating the prefix(es) and setting a
new flag so that the client can tell the message was a STATUSMSG.
A look-ahead system is used to ensure that the channel prefix
character is not stripped even when the channel prefix characters
and STATUSMSG prefix characters overlap.

The server-provided STATUSMSG prefixes are used if available,
otherwise "@" and "+" are used.

This patch doesn't make the client display the STATUSMSGs any
differently than regular messages.  I omitted this because there
was some discussion on the channel about the best way to display
these messages, but no conclusion was ever reached.  This patch
will at least stop the query SPAM and also provides the
infrastructure necessary to change the display format later.

4 years agoFix wrong zh_CN translation
Shengjing Zhu [Mon, 14 Mar 2016 08:54:47 +0000 (16:54 +0800)]
Fix wrong zh_CN translation

4 years agoFix IRCv3 capability code documentation 188/head
Shane Synan [Thu, 10 Mar 2016 04:04:53 +0000 (22:04 -0600)]
Fix IRCv3 capability code documentation

Add the missing param[in]'s to capEanbled and capValue.

4 years agoTransfers also should notify on changes to transferred()
Manuel Nickschas [Mon, 7 Mar 2016 23:18:39 +0000 (00:18 +0100)]
Transfers also should notify on changes to transferred()

Adds the missing signal, and emits it appropriately.

4 years agoAdd accessors for the amount of transferred data to Transfer classes
Manuel Nickschas [Wed, 2 Mar 2016 00:12:03 +0000 (01:12 +0100)]
Add accessors for the amount of transferred data to Transfer classes

Also fixes more inconsistent/missing uses of 'override'.

4 years agoAdd Transfer::prettyStatus()
Manuel Nickschas [Wed, 2 Mar 2016 00:09:59 +0000 (01:09 +0100)]
Add Transfer::prettyStatus()

For now, this method just returns the current status as a
translatable string for UI purposes.

4 years agoRename Transfer::State to Transfer::Status
Manuel Nickschas [Tue, 1 Mar 2016 23:20:32 +0000 (00:20 +0100)]
Rename Transfer::State to Transfer::Status

Native-speaking soures told me that Status is preferred over State
for what we want to express. So let's rename this before it's too

4 years agoUse 'override' where appropriate
Manuel Nickschas [Tue, 1 Mar 2016 23:15:08 +0000 (00:15 +0100)]
Use 'override' where appropriate

4 years agoFix inconsistent use of override in NickListWidget
Manuel Nickschas [Tue, 1 Mar 2016 19:01:14 +0000 (20:01 +0100)]
Fix inconsistent use of override in NickListWidget

Clang warns about this.

4 years agoSet CMake policy for visibility
Manuel Nickschas [Tue, 1 Mar 2016 18:55:53 +0000 (19:55 +0100)]
Set CMake policy for visibility

CMake 3.3+ changed behavior for handling visibility for target types
other than dynamic libraries. This commit adds a cmake_policy call
to allow the new behavior, removing a dev warning in the process.

4 years agoMerge pull request #189 from phuzion/master
Daniel Albers [Mon, 29 Feb 2016 19:44:45 +0000 (20:44 +0100)]
Merge pull request #189 from phuzion/master

Minor string cleanup

4 years agoMinor string cleanup 189/head
phuzion [Mon, 29 Feb 2016 17:51:10 +0000 (17:51 +0000)]
Minor string cleanup

4 years agoLimit user mode updates from WHO to given channel
Shane Synan [Mon, 29 Feb 2016 04:26:17 +0000 (22:26 -0600)]
Limit user mode updates from WHO to given channel

Limit user mode updates in WHO replies to the given channel, unless
a '*' is specified indicating any channel.  IrcUsers are shared
between channels, while channel user modes are not.

Showing user modes in the Quassel tooltips need fixed client-side in
IrcUserItem::toolTip(), checking the current channel.

4 years agoDon't update IrcUser modes with channel modes
Shane Synan [Mon, 29 Feb 2016 00:03:37 +0000 (18:03 -0600)]
Don't update IrcUser modes with channel modes

Remove IrcUser mode updates in IrcChannel.  IrcUsers are shared
between channels, while channel user modes are not.

Showing user modes in the Quassel tooltips need fixed client-side to
check the current channel.

4 years agoFix (meta) type handling in existing DCC code
Manuel Nickschas [Sun, 28 Feb 2016 23:23:25 +0000 (00:23 +0100)]
Fix (meta) type handling in existing DCC code

Obviously, this code was never tested with a non-monolithic build,
and Qt didn't know how to handle our fancy enums.

Also, enum classes are now a thing since C++11, and we should use
them. Unfortunately, they have the same annoyances as nested classes
with Qt4-style signal/slot connections...

4 years agoRemove weird convenience accessors
Manuel Nickschas [Sun, 28 Feb 2016 21:11:05 +0000 (22:11 +0100)]
Remove weird convenience accessors

No clue why I thought this would be a good idea...

4 years agoMerge pull request #180 from digitalcircuit/ircv3-expanded-caps
Manuel Nickschas [Sun, 28 Feb 2016 19:29:29 +0000 (20:29 +0100)]
Merge pull request #180 from digitalcircuit/ircv3-expanded-caps

Implement IRCv3.2 CAP LS, away-notify and friends

4 years agoMerge pull request #136 from sandsmark/sonnet
Manuel Nickschas [Sun, 28 Feb 2016 17:58:03 +0000 (18:58 +0100)]
Merge pull request #136 from sandsmark/sonnet

Add spell-checking support via the Sonnet framework

4 years agoSend extra modes via non-breaking protocol change 180/head
Shane Synan [Fri, 19 Feb 2016 09:17:26 +0000 (03:17 -0600)]
Send extra modes via non-breaking protocol change

Send extra user mode updates in backwards-compatible manner.

When multiple modes are received in IrcChannel::joinIrcUsers, call
addUserMode one time for each, then call ircuser->addUserModes() with
the new modes.  Perhaps less efficient, but avoids breaking protocol.

Reduce excess network traffic by only syncing IrcUser::setUserModes
and IrcUser::addUserModes when changes are made.

Preliminary test results on Ubuntu (more testing always welcome!)
* New core, new client - works fine (as one might hope)
* New core, old client - client prints warning to console but works
(IrcChannel modes might internally get out of sync, but visible
 channel list updates with mode changes, multiple modes, etc)
* New core, Quasseldroid alpha/NG - works fine
* Old core, new client - works fine

If desired, the warning and other potential risks could be avoided
entirely by implementing a new Feature flag and only sending the
additional mode information to clients that request it.  However,
this seemed excessive to avoid what in limited testing was only a
warning in the client console log, normally hidden away from sight.

4 years agoAdd support for multi-prefix
Shane Synan [Fri, 19 Feb 2016 08:25:10 +0000 (02:25 -0600)]
Add support for multi-prefix

Add support for multi-prefix to get a full list of modes in NAMES and
WHO replies, updating ircuser objects as appropriate.  This enables
seeing if an operator (+o) also has voice (+v), etc.  In the future,
Quassel could show this information in a smart, useful manner.

This commit limits synced modes to one for 'NAMES' replies to avoid a
warning in older clients.  The next commit will address this.

See http://ircv3.net/specs/extensions/multi-prefix-3.1.html

4 years agoAdd support for userhost-in-names capability
Shane Synan [Wed, 17 Feb 2016 19:51:23 +0000 (13:51 -0600)]
Add support for userhost-in-names capability

Add support for userhost-in-names, which, if enabled, allows getting
the user/hostname information of a channel without using WHO polling.

See http://ircv3.net/specs/extensions/userhost-in-names-3.2.html

4 years agoAdd support for account-notify, extended-join
Shane Synan [Wed, 17 Feb 2016 19:49:48 +0000 (13:49 -0600)]
Add support for account-notify, extended-join

Add support for account-notify to track account changes and
extended-join to get account information on join.  For now, this only
updates user/hostname information.  In the future it will track
logged in accounts in ircuser, pending a new feature flag and
inclusion of WHOX support.

See http://ircv3.net/specs/extensions/account-notify-3.1.html
And http://ircv3.net/specs/extensions/extended-join-3.1.html

4 years agoAdd more sources of nick!user@host updates
Shane Synan [Wed, 17 Feb 2016 20:03:26 +0000 (14:03 -0600)]
Add more sources of nick!user@host updates

Update IrcUser user and hostname information from more sources.  This
is more important now since away-notify disables automatic WHO
polling, so user@host information won't be updated if the server
doesn't generate fake join/quit messages for /chghost and friends.

In the future, IRCv3 capability chghost will remove the need for this
once all servers support it.  (In only a few decades, right..?)
For chghost, see http://ircv3.net/specs/extensions/chghost-3.2.html

4 years agoAdd support for away-notify capability
Shane Synan [Wed, 17 Feb 2016 20:03:01 +0000 (14:03 -0600)]
Add support for away-notify capability

Add support for away-notify. As nicks change status, update ircuser
objects with new away status and messages, no /whois needed.

Modify automatic WHO polling when away-notify is active to poll all
channels ONCE regardless of polling settings and nick-limit.  This
captures away state for existing nicks in the channel.  Channels
joined after this will queue a separate one-off WHO poll.

Queue one-time WHO of nicks who join a channel when away-notify is
active as some servers won't send an :away message in this situation.
To support this, autoWhoQueue can now check specific users.

See http://ircv3.net/specs/extensions/away-notify-3.1.html

4 years agoImplement IRCv3.2 capability negotiation
Shane Synan [Wed, 17 Feb 2016 20:00:43 +0000 (14:00 -0600)]
Implement IRCv3.2 capability negotiation

Always send CAP LS, similar to ZNC and HexChat.  IrcEventCap checks
returned capabilities, queuing up desired ones until all replies
finish, then requests each capability one-by-one.  This prevents an
error with one capability from blocking all of them.

See http://ircv3.net/specs/core/capability-negotiation-3.1.html
And http://ircv3.net/specs/core/capability-negotiation-3.2.html

Modify SASL authentication to only happen if present in capability
list.  If it's not supported, log an error in the status buffer and
continue connecting anyways.

See http://ircv3.net/specs/extensions/sasl-3.1.html
And http://ircv3.net/specs/extensions/sasl-3.2.html

4 years agoAdd some more needed DLL's for Link-Preview support 183/head
romibi [Sun, 14 Feb 2016 14:06:50 +0000 (15:06 +0100)]
Add some more needed DLL's for Link-Preview support

4 years agoEnable Link-Preview on appveyor builds
romibi [Sun, 14 Feb 2016 13:12:53 +0000 (14:12 +0100)]
Enable Link-Preview on appveyor builds

4 years agoFix typo in translatable string.
Daniel Albers [Thu, 11 Feb 2016 09:15:37 +0000 (10:15 +0100)]
Fix typo in translatable string.

Thanks to yurchor for flagging.

4 years agoAdd catalog update to tx-sync.sh.
Daniel Albers [Thu, 11 Feb 2016 00:17:08 +0000 (01:17 +0100)]
Add catalog update to tx-sync.sh.

Transifex now offers automatic fetching of source files. Let tx-sync.sh
regenerate and commit quassel.pot automatically to make use of that.

4 years agoUpdate translations from Transifex
Daniel Albers [Wed, 25 Mar 2015 04:00:24 +0000 (05:00 +0100)]
Update translations from Transifex

  26449 translated messages

Many thanks to:
 - cs: Jaroslav Lichtblau <dragonlord@seznam.cz>
 - de: Sebastian Meyer <transifex@netzvieh.de>
 - es: Javier Llorente <javier@opensuse.org>
 - fi: Lasse Liehu <larso@gmx.com>
 - fr: Vlavv <vlavv2@gmail.com>
 - hi: Raju Devidas Vindane <rajuvindane@gmail.com>
 - pa: A S Alam <apreet.alam@gmail.com>
 - pt_BR: André Marcelo Alvarenga <alvarenga@kde.org>
 - sl: Andrej Mernik <andrejm@ubuntu.si>
 - tr: Demiray Muhterem <mdemiray@msn.com>, Volkan Gezer <volkangezer@gmail.com>
 - uk: Yuri Chornoivan <yurchor@ukr.net>

4 years agoupdate-pot.sh: Fix patch call
Daniel Albers [Tue, 7 Apr 2015 19:01:52 +0000 (21:01 +0200)]
update-pot.sh: Fix patch call

4 years agopull-from-transifex.sh: Drop -e from git commit
Daniel Albers [Tue, 31 Mar 2015 18:24:51 +0000 (20:24 +0200)]
pull-from-transifex.sh: Drop -e from git commit

4 years agoMake update-pot.sh $PWD independent.
Daniel Albers [Mon, 30 Mar 2015 16:32:51 +0000 (18:32 +0200)]
Make update-pot.sh $PWD independent.

4 years agoDon't prefix the nick with a colon while connecting to a server
Manuel Nickschas [Wed, 10 Feb 2016 18:58:52 +0000 (19:58 +0100)]
Don't prefix the nick with a colon while connecting to a server

For the NICK command during the initial connection handshake, we
always prefixed the parameter with a colon. While this is not an RFC
violation, it is unnecessary as nicks can't contain spaces. Worse, it
confuses some obscure ircds...

4 years agoUpdate ChangeLog
Manuel Nickschas [Tue, 9 Feb 2016 20:59:55 +0000 (21:59 +0100)]
Update ChangeLog

4 years agoSupport new QtInfoMsg message type
Manuel Nickschas [Mon, 8 Feb 2016 21:37:57 +0000 (22:37 +0100)]
Support new QtInfoMsg message type

Qt 5.5 introduced QtInfoMsg. This commit adds support for this
in our logger, thus removing a warning.

4 years agoUpdate AboutData
Manuel Nickschas [Mon, 8 Feb 2016 21:21:43 +0000 (22:21 +0100)]
Update AboutData

4 years agoMerge pull request #178 from TheOneRing/fix_snore_crash
Manuel Nickschas [Mon, 8 Feb 2016 20:34:48 +0000 (21:34 +0100)]
Merge pull request #178 from TheOneRing/fix_snore_crash

Fix possible crash, mostly occurring on notification flood.

4 years agoMerge pull request #177 from justjanne/patch-1
Manuel Nickschas [Mon, 8 Feb 2016 20:34:17 +0000 (21:34 +0100)]
Merge pull request #177 from justjanne/patch-1

Fixed a tiny bug in aliasmanager

4 years agoMerge pull request #175 from ayonix/ssl-fix
Manuel Nickschas [Mon, 8 Feb 2016 20:33:53 +0000 (21:33 +0100)]
Merge pull request #175 from ayonix/ssl-fix

Fix the SSL check on systems that don't use OpenSSL

4 years agoDon't allow newlines in buffer names
Manuel Nickschas [Mon, 8 Feb 2016 20:29:14 +0000 (21:29 +0100)]
Don't allow newlines in buffer names

Since it is possible to enter newlines when renaming a buffer via
the GUI, we need to have a sanity check that cuts off the additional

Fixes #1389.

4 years agoFix issues with buffer selection and filtered views
Manuel Nickschas [Mon, 8 Feb 2016 20:04:03 +0000 (21:04 +0100)]
Fix issues with buffer selection and filtered views

Whenever the current buffer changed, filtered BufferViews need to
check if the previously selected item should be hidden (e.g. due to
activity settings). The existing code for this never really worked
due to the currentChanged() signal emission being wonky (it would
sometimes be eaten for some reason), and fully stopped working in
Qt5 since it connected to a private, internal slot of QSFPM.

This commit removes the old code and replaces it by faking the
emission of a dataChanged() signal from the base model whenever
the current buffer changes.

4 years agoFix build with Qt4
Manuel Nickschas [Thu, 4 Feb 2016 21:40:49 +0000 (22:40 +0100)]
Fix build with Qt4

Qt4 can't serialize lists of things out of the box, in this case
lists of shortcuts. Rather than declaring a new metatype, we just
go back to storing a single shortcut for Qt4 - it's all we internally
support anyway.

4 years agoDon't serialize PeerPtr value in RPC connections
Manuel Nickschas [Wed, 3 Feb 2016 23:10:08 +0000 (00:10 +0100)]
Don't serialize PeerPtr value in RPC connections

PeerPtr is used in RPC signatures for enabling receivers to send replies
to a particular peer rather than broadcast to all connected ones.
To enable this, the SignalProxy transparently replaces the bogus value
received over the network with the actual address of the local Peer

Because the actual value isn't needed on the wire, it should be
serialized as null. This also prevents the accidental use of a bogus
remote pointer address.

4 years agoFix shortcut handling with KDE Frameworks
Manuel Nickschas [Wed, 3 Feb 2016 21:50:02 +0000 (22:50 +0100)]
Fix shortcut handling with KDE Frameworks

KDE Frameworks slightly altered the way it handles default shortcuts
for actions; the property name was changed to support lists of
shortcuts. This issue lead to default shortcuts not being active for
Quassel built against KDE Frameworks.

4 years agoFix possible crash, mostly occurring on notification flood. 178/head
Hannah von Reth [Wed, 3 Feb 2016 09:37:01 +0000 (10:37 +0100)]
Fix possible crash, mostly occurring on notification flood.

4 years agoFixed a tiny bug in aliasmanager 177/head
Janne Koschinski [Tue, 2 Feb 2016 16:50:32 +0000 (17:50 +0100)]
Fixed a tiny bug in aliasmanager

The `/wait` check is to test if the first command is a `/wait`, which would operate synchronously.
But `/wait` matches also on other commands – so, if, for example, we’d have a command like `/waiting`, it would be matched.
Instead we actually want to match on `/wait ` (with space at the end).

4 years agoMerge pull request #173 from TheOneRing/snor_next
Manuel Nickschas [Sun, 31 Jan 2016 22:05:25 +0000 (23:05 +0100)]
Merge pull request #173 from TheOneRing/snor_next

Fix build with snorenotify 0.7

4 years agoMerge pull request #172 from TheOneRing/fix_msvcx64
Manuel Nickschas [Sun, 31 Jan 2016 22:05:06 +0000 (23:05 +0100)]
Merge pull request #172 from TheOneRing/fix_msvcx64

Fix msvc x64 build and openssl for msc.

4 years agoFix the SSL check on systems that don't use OpenSSL 175/head
Ayonix [Mon, 18 Jan 2016 21:57:35 +0000 (22:57 +0100)]
Fix the SSL check on systems that don't use OpenSSL

4 years agoFix build with snorenotify 0.7 173/head
Hannah von Reth [Thu, 3 Dec 2015 14:49:23 +0000 (15:49 +0100)]
Fix build with snorenotify 0.7

4 years agoFix msvc x64 build and openssl for msc. 172/head
Hannah von Reth [Tue, 12 Jan 2016 14:53:57 +0000 (15:53 +0100)]
Fix msvc x64 build and openssl for msc.

Parts of the changes are in the external script.

4 years agoMerge pull request #167 from esainane/patch-1
Manuel Nickschas [Sat, 2 Jan 2016 19:47:06 +0000 (20:47 +0100)]
Merge pull request #167 from esainane/patch-1

signalproxy: Correct signal method name warnings

4 years agoMerge pull request #166 from mamarley/hashversionmigrationfix
Manuel Nickschas [Sat, 2 Jan 2016 15:35:01 +0000 (16:35 +0100)]
Merge pull request #166 from mamarley/hashversionmigrationfix

Fix migration of hashversion

4 years agoMake "/ " use the rest of the message as a literal 168/head
esainane [Sat, 19 Dec 2015 23:31:41 +0000 (12:31 +1300)]
Make "/ " use the rest of the message as a literal

"/ /asdf" now works the same as "//asdf". This is just a convenience for
those of us used to irssi habits, which tend to die hard. :)

4 years agoMerge pull request #143 from TheOneRing/windows-ci
Daniel Albers [Sat, 19 Dec 2015 11:08:16 +0000 (12:08 +0100)]
Merge pull request #143 from TheOneRing/windows-ci

This adds CI for Windows builds. The executables can be found at

4 years agoOnly link to ZLIB if it was found.
Hannah von Reth [Thu, 10 Dec 2015 15:54:26 +0000 (16:54 +0100)]
Only link to ZLIB if it was found.

4 years agoAdd support for Appvayor Windows ci.
Patrick von Reth [Tue, 4 Aug 2015 12:12:13 +0000 (14:12 +0200)]
Add support for Appvayor Windows ci.

Add build scripts for appveyor.com ci for mingw and msvc 2013.
The ci automatically creates a Nsis installer and a 7zip package.

4 years agosignalproxy: Correct signal method name warnings 167/head
esainane [Sat, 12 Dec 2015 05:56:17 +0000 (18:56 +1300)]
signalproxy: Correct signal method name warnings

_id was used to index SignalProxy::SignalRelay::_slots.
signal.signalId is used to index caller->metaObject()->method.

This can be verified by changing eg. displayMsg to use a type that is
compatible with Message but won't work with QMetaType::type, like Message&

4 years agoFix migration of hashversion 166/head
Michael Marley [Tue, 1 Dec 2015 00:33:37 +0000 (19:33 -0500)]
Fix migration of hashversion

Previously, hashversion was not migrated.  This would cause the
value to default to 0, causing login failures for existing users.

4 years agoInclude dirty status in core information 165/head
esainane [Mon, 30 Nov 2015 11:25:20 +0000 (00:25 +1300)]
Include dirty status in core information

If a core was built with a dirty working tree, -dirty will be appended
to the version string. Interestingly, we already test for this in
quassel.cpp (line 292), but this was not being added in the cmake phase.

4 years agoMerge pull request #163 from esainane/fix-ssl-identd-race
Daniel Albers [Sun, 29 Nov 2015 20:52:45 +0000 (21:52 +0100)]
Merge pull request #163 from esainane/fix-ssl-identd-race

Fix ident race condition

4 years agoFix ident race condition 163/head
Sai Nane [Sat, 28 Nov 2015 23:43:40 +0000 (12:43 +1300)]
Fix ident race condition

This creates an entry for the port as soon as the socket is opened,
without duplicates. This allows an identd service to respond correctly
if a request is received before the SSL handshake has finished and been
processed on our side.

Since socketOpen is not used in the project, it is removed here.
Since the only usage of socketInitialized(...) is with oidentd, its
semantic meaning is slightly changed to occur earlier, like socketOpen,
but only once, like the former socketInitialized(...).

4 years agoMerge pull request #158 from romibi/master
Manuel Nickschas [Sun, 22 Nov 2015 22:27:34 +0000 (23:27 +0100)]
Merge pull request #158 from romibi/master

Fix Lambda

4 years agoMerge pull request #157 from wengxt/wengxt-patch-1
Manuel Nickschas [Sun, 22 Nov 2015 22:26:52 +0000 (23:26 +0100)]
Merge pull request #157 from wengxt/wengxt-patch-1

Fix SSL detection

4 years agoMerge pull request #156 from veeti/sha256-certificate
Manuel Nickschas [Sun, 22 Nov 2015 22:26:28 +0000 (23:26 +0100)]
Merge pull request #156 from veeti/sha256-certificate

Display SHA256 fingerprint for SSL certificates

4 years agoMerge pull request #155 from TheOneRing/improve_connect
Manuel Nickschas [Sun, 22 Nov 2015 22:26:03 +0000 (23:26 +0100)]
Merge pull request #155 from TheOneRing/improve_connect

Improve MainPage

4 years agoMerge pull request #154 from rsalinas/master
Manuel Nickschas [Sun, 22 Nov 2015 22:21:45 +0000 (23:21 +0100)]
Merge pull request #154 from rsalinas/master

quasselcore: fixed return values for --add-user and --change-userpass

4 years agoMerge pull request #153 from elxa/fix-op-command-crashing-core
Manuel Nickschas [Sun, 22 Nov 2015 22:20:30 +0000 (23:20 +0100)]
Merge pull request #153 from elxa/fix-op-command-crashing-core

Fixes a crash of the core when executing "/op *" in a query.