5 years agoBump version.inc for release 0.9 0.9.3
Manuel Nickschas [Tue, 25 Mar 2014 22:54:54 +0000 (23:54 +0100)]
Bump version.inc for release

5 years agoUpdate ChangeLog
Manuel Nickschas [Tue, 25 Mar 2014 22:42:57 +0000 (23:42 +0100)]
Update ChangeLog

5 years agoFix round-robin for networks that support it
Manuel Nickschas [Fri, 14 Mar 2014 20:13:09 +0000 (21:13 +0100)]
Fix round-robin for networks that support it

Some IRC networks perform round-robin by supplying a list of IP addresses
in their DNS records. However, Qt a) always uses the first address of that
list, and b) caches DNS records for a minute. This results that users who
connect at a roughly similar time (like at core startup) will all pick the
same IP for a given round-robin network address.

We now force Qt (simply by calling QHostInfo::fromName()) to perform a fresh
lookup every time it connects to an IRC network, which solves this problem.
However, this will not help you if your OS uses a system DNS cache that does
not reshuffle the list of IPs for repeated lookups.

5 years agoDon't always add a colon to custom commands
Manuel Nickschas [Fri, 14 Mar 2014 17:40:40 +0000 (18:40 +0100)]
Don't always add a colon to custom commands

The IRC spec mandates that spaces be used as separators between the
arguments for a command. However, the last parameter may itself contain
spaces, and to allow this, one can prefix that argument with a colon.

Instead of checking if the colon is needed, Quassel just always added
a colon to the last argument, which usually works fine. However, it broke
some uses of custom server commands.

This fix now checks if the last argument contains a space or starts with
a colon (which then needs to be escaped), and leaves it alone otherwise.

Fixes #1173 - thanks to Gunnar Beutner for providing the patch.

5 years agoSimplify clean-up-on-network-disconnect handling
Manuel Nickschas [Sun, 2 Mar 2014 20:19:34 +0000 (21:19 +0100)]
Simplify clean-up-on-network-disconnect handling

Previously, disconnecting from a network would trigger lots of unnecessary
stuff: because the NetworkModel needs to remove affected IrcChannels and
IrcUsers from its model items, we would trigger (on the core side!) an
IrcUser::quit() for every known user in that network, which would then remove
itself from all channels it's in, triggering the corresponding updates in the
related SyncableObjects, which would send lots of signals to the client which
would then perform its own cleanups per IrcUser, followed by throwing away
all IrcChannels and IrcUsers in that network anyway. By the time we reached
Network::removeChansAndUsers(), everything would actually be already all
gone triggered through syncobject updates.

Except in some rare cases when there was still something left behind, triggering
the dreaded "!_ircChannel && ircChannel" assert, that users have been reporting
for years. I still haven't figured out how that could possibly happen.

In any case, the only side effect that explicit call to IrcUser::quit() was
supposed to trigger was the removal of the relevant references in NetworkModel's
items. So now we just brutally delete all IrcUsers and IrcChannels on disconnect,
and have the NetworkModel items listen to the relevant destroyed() signals so
they can do their cleanup. This saves us from sending lots of stuff over the
network, and also should fix the assert (which we've replaced by a warning now,
just in case).

Fixes #1151 and a bunch of duplicates.

5 years agoDon't crash on very long inputs
Manuel Nickschas [Sat, 1 Mar 2014 13:07:36 +0000 (14:07 +0100)]
Don't crash on very long inputs

Because our style engine uses 16 bit indexes, strings can only be
styled if they're shorter than 2^16 characters. We do check for this
in the style engine and refuse to style strings that are longer.

However, just returning an default-constructed StyledString() is wrong,
because other places rely on there being at least one format and the
plaintext be initialized. So the proper way of handling this is just
using the baseFormat and the full string as plaintext instead of an
empty StyledString.

Fixes #1257.

5 years agoDisable webpreview to avoid user interactaction
Deniz Türkoglu [Thu, 13 Feb 2014 11:44:21 +0000 (12:44 +0100)]
Disable webpreview to avoid user interactaction

If the user interacts with the webview, for instance click a button
or type text in it, it crashes the client.

Disable the webview so we still get the previews but can't interact
with them.

5 years agoThere won't ever be a Qt 4.9...
Manuel Nickschas [Wed, 29 Jan 2014 20:54:25 +0000 (21:54 +0100)]
There won't ever be a Qt 4.9...

... and this should actually have been a check for Qt 4.7+.

5 years agoUpdate AboutDlg
Manuel Nickschas [Wed, 22 Jan 2014 19:47:04 +0000 (20:47 +0100)]
Update AboutDlg

5 years agoChange ifdefs around Main ToolBar fix to target mac only.
Michael Kedzierski [Fri, 17 Jan 2014 12:52:15 +0000 (23:52 +1100)]
Change ifdefs around Main ToolBar fix to target mac only.

5 years agoSave Main ToolBar state when not built against KDE. Fixes #1116
Michael Kedzierski [Fri, 17 Jan 2014 11:45:49 +0000 (22:45 +1100)]
Save Main ToolBar state when not built against KDE. Fixes #1116

5 years agoFix signedness
Manuel Nickschas [Sun, 19 Jan 2014 02:29:57 +0000 (03:29 +0100)]
Fix signedness

This should actually be unsigned.

5 years agoRemove unused
Manuel Nickschas [Sun, 19 Jan 2014 02:27:14 +0000 (03:27 +0100)]
Remove unused

Thanks Clang.

5 years agoFix header guard
Manuel Nickschas [Sun, 19 Jan 2014 02:11:39 +0000 (03:11 +0100)]
Fix header guard

Thanks Clang.

5 years agoImprove reliability of SSL connections
Michael Marley [Wed, 11 Dec 2013 21:15:58 +0000 (21:15 +0000)]
Improve reliability of SSL connections

First, this fixes a bug similar to Bug #1249 except for SSL
connections.  If the TCP connection fails but isn't
actually closed before the SSL handshake is complete,
Quassel will become stuck and never attempt to reconnect.
The solution is to start the ping timeout even earlier,
before the connection is established at all.

Second, this fixes the issue where multiple presses of the
"Disconnect" button and long waits were required to close
certain broken SSL connections (where SSL negotiation was
not yet complete, as above).  The solution is to call
socket.abort() instead of socket.disconnectFromHost(),
which will ensure that the socket is closed immediately.
Additionally, in case that fails for some reason, the
socketCloseTimer is no longer a single-shot timer, so
if the first abort doesn't work, it will keep trying.

(Probably?) fixes bug #1005

5 years agoFix fullscreen mode
Manuel Nickschas [Sun, 22 Dec 2013 23:48:45 +0000 (00:48 +0100)]
Fix fullscreen mode

In some setups, the FullScreen action would get out of sync with
the actual window state and thus kick Quassel into an endless loop
and finally a crash when toggling full screen mode.

Turns out reading the docs for KToggleFullScreenAction helped doing
this properly (avoiding this and other bugs when using QWidget's methods).

Thanks to yofel and hays for reporting, and apachelogger for putting
me on the right track for fixing this.

Fixes #1153, fixes #1258.

5 years agoFix notifications when minimized.
Martin Sandsmark [Tue, 17 Dec 2013 15:26:39 +0000 (16:26 +0100)]
Fix notifications when minimized.

QWidget::isVisible() just checks if the widget has been explicitly
hidden, not if it is minimized, covered, or whatnot.

Fixes #1240

5 years agoMake sys includes POSIX-compliant
Manuel Nickschas [Thu, 28 Nov 2013 00:45:43 +0000 (01:45 +0100)]
Make sys includes POSIX-compliant

We're using <sys/resources.h> in quassel.cpp for the backtrace generation
stuff. Documentation for that header indicates that <sys/time.h> shall also
be included (even though it doesn't seem to be needed for our usage).
Additionally, compiling started to fail in recent FreeBSD versions, because
we lacked the <sys/types.h> include, which seems to be mandated by POSIX
(but not on Linux, although it won't hurt to have it).

tl;dr: This should make Quassel compile on recent versions of FreeBSD again.

5 years agoBump version.inc for release 0.9.2
Manuel Nickschas [Tue, 26 Nov 2013 21:26:27 +0000 (22:26 +0100)]
Bump version.inc for release

5 years agoUpdate ChangeLog
Manuel Nickschas [Tue, 26 Nov 2013 21:25:25 +0000 (22:25 +0100)]
Update ChangeLog

We had to postpone the release by a day.

5 years agoUpdate translations from Transifex
Daniel Albers [Sat, 12 Oct 2013 03:00:37 +0000 (05:00 +0200)]
Update translations from Transifex

Many thanks to:
 - cs: Vít Pelčák <vit@pelcak.org>
 - da: furyfire <frazzer@hotmail.com>
 - de: m4yer <m4yer+quassel@minad.de>, ToBeFree <tobias@freiwuppertal.de>, Heffer <felix@fetzig.org>
 - eo: cordata <tiffypet@yahoo.com>
 - fi: Larso <larso@gmx.com>
 - fr: Dorian <munto@free.fr>, GrecKo <gr3cko@gmail.com>
 - gl: Condex <elgomaisa@gmail.com>
 - hi: libregeekingkid <rajuvindane@gmail.com>
 - hu: ulysses <ulysses@kubuntu.org>
 - mr: libregeekingkid <rajuvindane@gmail.com>
 - nl: simonphilips <simon.philips@gmail.com>
 - oc: Cedric31 <cvalmary@yahoo.fr>
 - pl: derpella <matwa@poczta.pl>
 - pl: Marcin Jabrzyk <marcin.jabrzyk@gmail.com>
 - pt_BR: Pad <pedroaraujo@colorlesscube.com>
 - ro: roentgen <arthur.titeica@gmail.com>
 - sr: JovanJ <jovanjojkic@gmail.com>
 - tr: volkangezer <volkangezer@gmail.com>, zeugma <sunder67@hotmail.com>
 - uk: Yuri Chornoivan <yurchor@ukr.net>
 - zh_CN: leonfeng <rainofchaos@gmail.com>

5 years agoupdate translation files according to previous commit
Daniel Albers [Sat, 23 Nov 2013 14:58:48 +0000 (15:58 +0100)]
update translation files according to previous commit

5 years agoFix grammar bug in ChatViewSettings
Manuel Nickschas [Sat, 23 Nov 2013 14:50:23 +0000 (15:50 +0100)]
Fix grammar bug in ChatViewSettings

Thanks to Redmar over at Launchpad for noticing.

5 years agoUpdate ChangeLog
Manuel Nickschas [Sun, 24 Nov 2013 16:39:32 +0000 (17:39 +0100)]
Update ChangeLog

5 years agoUpdate AboutDlg
Manuel Nickschas [Sun, 24 Nov 2013 16:29:07 +0000 (17:29 +0100)]
Update AboutDlg

Some new contributors deserve mentioning.

5 years agoAdd separator after "Copy Selection" context menu
Manuel Nickschas [Sun, 24 Nov 2013 19:07:24 +0000 (20:07 +0100)]
Add separator after "Copy Selection" context menu

This went away with the commit fixing the menu for selections on
clickables, and is now being brought back.

5 years agoFix context menu not being restored properly
Manuel Nickschas [Sun, 24 Nov 2013 18:55:00 +0000 (19:55 +0100)]
Fix context menu not being restored properly

When showing a context menu on a clickable, we used to hide existing
context menu item to avoid confusing the user. However, those actions
were never unhidden again. This resulted in the context menu not showing
most options ever again in subsequent invocations.

Instead of hiding the actions, we now just clear the menu.

5 years agoAdd the "Copy Selection" context menu item after checking for chat items
Jerome Leclanche [Fri, 18 Oct 2013 15:41:27 +0000 (16:41 +0100)]
Add the "Copy Selection" context menu item after checking for chat items

When right clicking a channel, Quassel will drop all other items from
the context menu.
We work around this by checking for a selection after everything else
has been added to the menu, and make sure to add the Copy Selection item
at the top.

Fixes issues #1031 and #1048

5 years agoMake sure that clients can't access buffers belonging to other users
Marcus Eggenberger [Sun, 24 Nov 2013 16:03:34 +0000 (17:03 +0100)]
Make sure that clients can't access buffers belonging to other users

A manipulated, but properly authenticated client was able to retrieve
the backlog of other users on the same core in some cases by providing
an appropriate BufferID to the storage engine. Note that proper
authentication was still required, so exploiting this requires
malicious users on your core. This commit fixes this issue by ensuring
that foreign BufferIDs are off-limits.

5 years agoAdd QUrl include for Phonon
Manuel Nickschas [Tue, 19 Nov 2013 23:01:41 +0000 (00:01 +0100)]
Add QUrl include for Phonon

Looks like some Qt versions just forward-declare QUrl, so this is

5 years agoAdd function in bufferinfo.cpp to report if chat messages are accepted
Michael Marley [Sat, 16 Nov 2013 18:40:54 +0000 (13:40 -0500)]
Add function in bufferinfo.cpp to report if chat messages are accepted

This works around https://github.com/sandsmark/QuasselDroid/issues/98 on
the server side by preventing new buffers from being created if the user
accidentally (or maliciously) attempts to send chat messages in status buffers.
Previously, this would have screwed up the status buffer requiring a manual
DB query to fix.  This should be fixed in Quasseldroid quite soon, but this
patch will just ensure that the core's DB does not get corrupted by older
Quasseldroid clients if the users do not update.

5 years agoEnable the ping timeout as soon as the connection to IRC is open.
Michael Marley [Wed, 13 Nov 2013 12:03:45 +0000 (07:03 -0500)]
Enable the ping timeout as soon as the connection to IRC is open.

This fixes the problem where Quassel would get stuck while connecting
if the socket is closed by the server but the core is, for whatever
reason, not notified of this.  This patch works by enabling the ping
timeout as soon as the connection is open, but not actually sending any
PINGs until the IRC authentication is complete.  This will cause the core
to reconnect if at any point it doesn't receive data from the server for
more than the usual ping timeout interval.

Fixes #1249

5 years agoAvoid Phonon's deprecation warnings
Manuel Nickschas [Tue, 19 Nov 2013 22:01:16 +0000 (23:01 +0100)]
Avoid Phonon's deprecation warnings

MediaSource prefers a QUrl now. This shouldn't break with older Phonon
versions, I hope, since it seems MediaSource(QUrl) has been around since

5 years agoFix the Phonon notification backend not playing any sound
Manuel Nickschas [Tue, 19 Nov 2013 21:59:47 +0000 (22:59 +0100)]
Fix the Phonon notification backend not playing any sound

Phonon won't report its capabilities before a player has been created,
which leads to Quassel thinking that it can't play audio since we checked
for that before instantiating the player.

Some reordering in the ctor fixes this.

5 years agoFix expression in IrcEvent::create()
Manuel Nickschas [Tue, 19 Nov 2013 21:19:47 +0000 (22:19 +0100)]
Fix expression in IrcEvent::create()

We need to inverse the mask, obviously. Thanks to Tucos for pointing
this out.

5 years agoRename settingspages.inc to settingspages.cmake
Manuel Nickschas [Tue, 19 Nov 2013 21:17:59 +0000 (22:17 +0100)]
Rename settingspages.inc to settingspages.cmake

While CMake itself doesn't care about the file extension, it seems to make
recent KDevelop crash.

5 years agoDon't tell the core to enable SSL if we're built without
Manuel Nickschas [Thu, 7 Nov 2013 20:56:27 +0000 (21:56 +0100)]
Don't tell the core to enable SSL if we're built without

So apparently we've always been telling the core to enable SSL, even
if the client is built without SSL support. This might account for
spurious reports about failed SSL handshakes.

5 years agoFix build without SSL
Manuel Nickschas [Thu, 7 Nov 2013 20:44:11 +0000 (21:44 +0100)]
Fix build without SSL

This one slipped in.

5 years agoSanitize topic message
Florent Castelli [Wed, 16 Oct 2013 21:15:23 +0000 (23:15 +0200)]
Sanitize topic message

The code handling the topic message isn't expecting any new lines
since it is usually not possible to have any from the IRC specs.
But we can have some Unicode new lines instead!
Qt is happily converting them to simple new lines which then crashes
the client with a stack overflow.

5 years agoBump version.inc for release 0.9.1
Manuel Nickschas [Thu, 10 Oct 2013 22:40:57 +0000 (00:40 +0200)]
Bump version.inc for release

5 years agoUpdate translations from Transifex
Daniel Albers [Wed, 17 Apr 2013 03:00:47 +0000 (05:00 +0200)]
Update translations from Transifex

Many thanks to:
 - cs: Vít Pelčák <vit@pelcak.org>
 - da: furyfire <frazzer@hotmail.com>
 - de: Heffer <felix@fetzig.org>
 - el: differentreality <differentreality@gmail.com>, Γιάννης Ανθυμίδης <yannanth@gmail.com>, warlordfff <warlordfff@gmail.com>, tampakrap <tampakrap@gmail.com>
 - es: Adolfo Jayme Barrientos <fitoschido@ubuntu.com>, Dongorongoro <jonathan@haitu-yu.com>
 - fi: Larso <larso@gmx.com>
 - hi: libregeekingkid <rajuvindane@gmail.com>
 - ko: Sungjin Gang <potopro@gmail.com>
 - mr: libregeekingkid <rajuvindane@gmail.com>
 - nb: sandsmark <sandsmark@samfundet.no>
 - pt_BR: Pad <pedroaraujo@colorlesscube.com>
 - tr: volkangezer <volkangezer@gmail.com>

5 years agonew file: .travis.yml
Daniel Albers [Sat, 31 Aug 2013 18:04:26 +0000 (20:04 +0200)]
new file:   .travis.yml

5 years agoFixing security vulnerability with Qt 4.8.5+ and PostgreSQL.
Marcus Eggenberger [Thu, 10 Oct 2013 11:26:39 +0000 (13:26 +0200)]
Fixing security vulnerability with Qt 4.8.5+ and PostgreSQL.

Properly detects whether Qt performs slash escaping in SQL queries or
not, and then configures PostgreSQL accordingly. This bug was a
introduced due to a bugfix in Qt 4.8.5 disables slash escaping when
binding queries: https://bugreports.qt-project.org/browse/QTBUG-30076
Thanks to brot and Tucos.

[Fixes #1244]

5 years agoFix warnings found by Clang
Manuel Nickschas [Thu, 10 Oct 2013 19:09:16 +0000 (21:09 +0200)]
Fix warnings found by Clang

A couple of mismatched tags, and an unused parameter.

5 years agoRemove unused field from QssParser
Manuel Nickschas [Thu, 10 Oct 2013 19:08:28 +0000 (21:08 +0200)]
Remove unused field from QssParser

Clang found out that we never use _maxUserHash, so remove it.

5 years agoAdd compiler flags for Clang
Manuel Nickschas [Thu, 10 Oct 2013 19:07:43 +0000 (21:07 +0200)]
Add compiler flags for Clang

5 years agoRespond to CTCP PING even if it had no parameter.
Bas Pape [Sat, 7 Sep 2013 11:09:06 +0000 (13:09 +0200)]
Respond to CTCP PING even if it had no parameter.

Normally the response param is whatever came in, but e.g. qwebirc does
not send any params if the user does not explicitly specify any. This
would result in "Received unknown CTCP-PING". This patch makes quassel
respond with any empty string.

5 years agoAdd some numerics to the 'Just display' list.
Bas Pape [Wed, 28 Aug 2013 19:27:49 +0000 (21:27 +0200)]
Add some numerics to the 'Just display' list.

These are all defined in RFC 2812, but were not displayed as server
messages by quassel:
259 (RPL_ADMINEMAIL) and 263 (RPL_TRYAGAIN, this one is technically an
error, thus shown as such).

5 years agoUse the old way of finding translations for OSX.
Bas Pape [Wed, 28 Aug 2013 18:32:21 +0000 (20:32 +0200)]
Use the old way of finding translations for OSX.

Many OSX users reported their clients being in Japanese, rather than
English, since 0.9.0, which turned out to be due to
QSystemLocale::query for QSystemLocal::UILanguages (internally done by
Qt if a QLocale is passed to QTranslator::load) returning 'en', rather
than the proper local form (e.g. 'en-US').
As 'en' has no translation, the second language got picked up, which
happened to be 'ja', which does have a translation.

Fixes #1233 (but reintroduces #1194 on OSX)

5 years agoRemove CoreBasicHandler::displayMsg without type.
Bas Pape [Thu, 29 Aug 2013 18:28:27 +0000 (20:28 +0200)]
Remove CoreBasicHandler::displayMsg without type.

Incomprehensible code, which actually caused a segfault in most of the
few places it was used. The only useful part is calling typeByTarget,
but that can be done in the calling site just as well.

5 years agoIndicate whether a key is set for the buffer.
Bas Pape [Mon, 26 Aug 2013 21:01:25 +0000 (23:01 +0200)]
Indicate whether a key is set for the buffer.

This adds a lock icon on the right of the input widget when a key is
set for the current buffer. Encryption was isolated within CoreIrcUser
and CoreIrcChannel, so a new property on IrcUser and IrcChannel is
necessary to sync the current status.

5 years agoDo not allow keyx to be used on channels.
Bas Pape [Sun, 25 Aug 2013 16:41:33 +0000 (18:41 +0200)]
Do not allow keyx to be used on channels.

Given that incoming exchanges are ignored for channels, it makes no
sense to send them either.

5 years agoPrepend the mode of operation to showkey's output.
Bas Pape [Sun, 25 Aug 2013 14:48:19 +0000 (16:48 +0200)]
Prepend the mode of operation to showkey's output.

5 years agoRemove unused cipher map.
Bas Pape [Sun, 25 Aug 2013 14:21:09 +0000 (16:21 +0200)]
Remove unused cipher map.

Since the refactoring in 3146ad this map is unused.

5 years agoProperly detect CBC in key negotiation.
Bas Pape [Sun, 25 Aug 2013 13:52:40 +0000 (15:52 +0200)]
Properly detect CBC in key negotiation.

When FiSH starts a key exchange, it appends CBC to the key to indicate
that it wants to use CBC rather than EBC. The cipher code simply
rejected this key.

5 years agoDon't respond to key exchange requests in channels
Bas Pape [Sun, 25 Aug 2013 09:07:00 +0000 (11:07 +0200)]
Don't respond to key exchange requests in channels

5 years agoStrip formatting when looking up the clickable.
Bas Pape [Tue, 27 Aug 2013 19:59:37 +0000 (21:59 +0200)]
Strip formatting when looking up the clickable.

In the TopicWidget the list of Clickables is initialized with text
stripped of formatting, so when looking up their positions again, the
formatting should be stripped as well.

Fixes #1115

5 years agoRemove stray whitespace in INSTALL and README.
Luke Faraone [Sun, 9 Jun 2013 06:53:15 +0000 (02:53 -0400)]
Remove stray whitespace in INSTALL and README.

5 years agotypes.h: add missing include
J-P Nurmi [Thu, 23 May 2013 20:33:43 +0000 (22:33 +0200)]
types.h: add missing include

5 years agofixed build with kde on windows
Patrick von Reth [Wed, 3 Jul 2013 13:08:50 +0000 (15:08 +0200)]
fixed build with kde on windows

6 years agofix timestamp in Russian day change message
Daniel Albers [Tue, 9 Jul 2013 09:26:28 +0000 (11:26 +0200)]
fix timestamp in Russian day change message

6 years agoNever use the expressions "allows to", "helps to", "requires to" etc. Each of these...
Alf Gaida [Sat, 27 Apr 2013 10:53:59 +0000 (12:53 +0200)]
Never use the expressions "allows to", "helps to", "requires to" etc. Each of these expressions requires a direct object.
fixes some  lintian warnings in debianoid systems

6 years agoShow a message when failing to load the key file
Bas Pape [Thu, 16 May 2013 17:33:13 +0000 (19:33 +0200)]
Show a message when failing to load the key file

People got confused when quassel did not accept their keyfile; now a
message is shown hinting at the possibility of a passphrase being

6 years agoOnly show warning about QCA on user input.
Bas Pape [Tue, 14 May 2013 22:16:01 +0000 (00:16 +0200)]
Only show warning about QCA on user input.

When compiled with QCA support, merely trying to decrypt messages
should not warn about missing qca-ossl; this message should only be
shown on user input (such as the key-related commands) and incoming
messages really requiring qca-ossl to function (key exchange).

6 years agoFix replacing Horizontal Tab with the unicode char
Bas Pape [Tue, 14 May 2013 22:01:11 +0000 (00:01 +0200)]
Fix replacing Horizontal Tab with the unicode char

Commit 4676ff82af669595edaf090c97a28161d67782a1 caused horizontal tabs
to be replaced with the HT character of the unicode control char block.
Fix that by replacing it with 8 spaces again.

6 years agoPartial reorganization of Mac OS bundeling script.
Marcus Eggenberger [Thu, 9 May 2013 10:32:55 +0000 (12:32 +0200)]
Partial reorganization of Mac OS bundeling script.

6 years agoAfter thorough considerations and long discussions, we finally decided to included...
Marcus Eggenberger [Tue, 7 May 2013 19:04:53 +0000 (21:04 +0200)]
After thorough considerations and long discussions, we finally decided to included phonon with the bundled Mac OS X client...

6 years agoUpdated packaging scripts for Mac OS X
Marcus Eggenberger [Sun, 5 May 2013 10:12:20 +0000 (12:12 +0200)]
Updated packaging scripts for Mac OS X

6 years agoBump version.inc for release 0.9.0
Manuel Nickschas [Tue, 16 Apr 2013 21:19:43 +0000 (23:19 +0200)]
Bump version.inc for release

6 years agoUpdate ChangeLog
Manuel Nickschas [Tue, 16 Apr 2013 21:42:12 +0000 (23:42 +0200)]
Update ChangeLog

6 years agoFinally fix reconnection logic
Manuel Nickschas [Tue, 16 Apr 2013 21:06:57 +0000 (23:06 +0200)]
Finally fix reconnection logic

Really, that part of the code needs a good old refactoring.

6 years agoUpdate about dialog once again for new translations
Manuel Nickschas [Tue, 16 Apr 2013 20:47:17 +0000 (22:47 +0200)]
Update about dialog once again for new translations

6 years agoupdate translation template - adds 15 new strings
Daniel Albers [Mon, 15 Apr 2013 23:46:56 +0000 (01:46 +0200)]
update translation template - adds 15 new strings

6 years agoUpdate translations from Transifex
Daniel Albers [Mon, 15 Apr 2013 23:33:07 +0000 (01:33 +0200)]
Update translations from Transifex

Newly added languages: Esperanto (eo), Lithuanian (lt), Romanian (ro) and
Serbian (sr)

Many thanks to:
 - cs: Vít Pelčák <vit@pelcak.org>
 - de: ToBeFree <tobias@freiwuppertal.de>
 - eo: cordata <tiffypet@yahoo.com>, <recoverybenk@gmail.com>
 - es: Adolfo Jayme Barrientos <fitoschido@gmail.com>, enjolras <yo@miguelrevilla.com>
 - fi: Larso <larso@gmx.com>, Lasse Liehu <lasse.liehu@gmail.com>
 - lt: Liudas Alisauskas <liudas@akmc.lt>
 - nb: sandsmark <sandsmark@samfundet.no>
 - ro: Sergiu Bivol <sergiu@ase.md>
 - ru: sfionov <fionov@gmail.com>
 - sr: Jovan Jojkić <jovanjojkic@gmail.com>
 - tr: Volkan Gezer <volkangezer@gmail.com>
 - tr: zeugma <sunder67@hotmail.com>
 - uk: Yuri Chornoivan <yurchor@ukr.net>

6 years agoAdd old-style com.trolltech annotations back into dbus xml files
Manuel Nickschas [Sun, 14 Apr 2013 10:28:03 +0000 (12:28 +0200)]
Add old-style com.trolltech annotations back into dbus xml files

Looks like the move from com.trolltech to org.qtproject happened only
recently, and with older Qt point releases Quassel will fail to build
that way.

By specifying both annotations, we hopefully silence the warnings in
current Qt while keeping Quassel buildable against older Qt.

6 years agoBump version.inc for release 0.9-rc1
Manuel Nickschas [Tue, 9 Apr 2013 21:35:17 +0000 (23:35 +0200)]
Bump version.inc for release

6 years agoUpdate "About" dialog
Manuel Nickschas [Tue, 9 Apr 2013 21:30:04 +0000 (23:30 +0200)]
Update "About" dialog

New contributors!

6 years agoChange date/time formats
Manuel Nickschas [Tue, 9 Apr 2013 20:57:21 +0000 (22:57 +0200)]
Change date/time formats

As some date strings are generated core-side, and servers might have set
a different locale than connected clients, we would like to avoid localized
date strings. As Qt4 also doesn't allow to display a time zone (offset) without
also localizing the string, we convert all core-side times into UTC and display
them in ISO format.

The daychange message, however, is generated client-side and thus can be shown
according to application or system locale.
 we would like to avoid localized

6 years agoBuild against Qt 4.6 again
Manuel Nickschas [Tue, 9 Apr 2013 18:30:45 +0000 (20:30 +0200)]
Build against Qt 4.6 again


6 years agoFix missing #include
Manuel Nickschas [Tue, 9 Apr 2013 18:30:35 +0000 (20:30 +0200)]
Fix missing #include

6 years agoSimplify and fix (re)connection logic
Manuel Nickschas [Mon, 8 Apr 2013 22:08:12 +0000 (00:08 +0200)]
Simplify and fix (re)connection logic

Still a mess, but the refactor is right around the corner anyway. Now at
least Quassel should no longer reconnect automagically if disconnected

6 years agoFix lag display
Manuel Nickschas [Sun, 7 Apr 2013 22:22:18 +0000 (00:22 +0200)]
Fix lag display

Not sure what I was thinking in d3ce95c, but that commit
a) didn't fix compiling with Qt < 4.7
b) confused local time and UTC, which
c) completely bugged lag display.

Should be working now.

6 years agoFix building with Qt 4.7
Manuel Nickschas [Sun, 7 Apr 2013 21:40:57 +0000 (23:40 +0200)]
Fix building with Qt 4.7

For reasons unknown, qPrintable() doesn't work with QByteArray in Qt versions
prior to 4.8 (the confusing thing is why it works now, in fact). In any case,
it probably makes sense to print a binary blob using normal QDebug output for
QByteArrays anyway, rather than trying to convert it to a string.

6 years agoBuild against Qt 4.7 again
Manuel Nickschas [Wed, 27 Mar 2013 23:31:56 +0000 (00:31 +0100)]
Build against Qt 4.7 again

Thx Tucos for the patch.

6 years agoMerge pull request #12 from dmeltzer/master
Manuel Nickschas [Thu, 7 Mar 2013 22:51:29 +0000 (14:51 -0800)]
Merge pull request #12 from dmeltzer/master

Fix build on os x 10.7

6 years agoFix deprecated warnings. com.trolltech>org.qtproject 12/head
Daniel Meltzer [Thu, 7 Mar 2013 22:44:23 +0000 (17:44 -0500)]
Fix deprecated warnings.  com.trolltech>org.qtproject

6 years agoFix Build on OS X 10.7, Where notification center doesn't exist.
Daniel Meltzer [Thu, 7 Mar 2013 22:42:40 +0000 (17:42 -0500)]
Fix Build on OS X 10.7, Where notification center doesn't exist.

6 years agoFix virtual overloads
Manuel Nickschas [Wed, 6 Mar 2013 23:52:06 +0000 (00:52 +0100)]
Fix virtual overloads

So I learned something today: the 'using' keyword can also be used to
import function names from the enclosing namespace. This not only
solves the spammy virtual overload warnings that the new-fangled protocol
stuff introduced unwittingly, but also removes the need to redefine
RemotePeer::handle<>() as a forward to Peer::handle<>().

Also, someone please kick the C++ inventors for making method lookup
not follow the Koenig rules (contrary to most other lookups...).

6 years agoFix CMake build types and compiler flags
Manuel Nickschas [Wed, 6 Mar 2013 23:41:54 +0000 (00:41 +0100)]
Fix CMake build types and compiler flags

Turns out there were various typos in this that noone ever noticed,
most notably leading to QT_NO_DEBUG not being defined in RelWithDebInfo
builds. We're now also defaulting to RelWithDebInfo for Win32; please
let me know if that still causes problems.

While I was at it, I also added CMAKE_BUILD_TYPE=Profile, and pimped the
compiler warnings in general. In particular, -Woverloaded-virtual seems
rather useful with all the template trickery we're introducing lately.

6 years agoBump version.inc for release 0.9-beta1
Manuel Nickschas [Wed, 6 Mar 2013 19:54:18 +0000 (20:54 +0100)]
Bump version.inc for release

6 years agoMake sure target for displayMsg is not null
Bas Pape [Sat, 23 Feb 2013 18:35:28 +0000 (19:35 +0100)]
Make sure target for displayMsg is not null

In the key related functions bufferInfo.bufferName() was used, but this
returns a null QString, which causes a segfault when processed later on,
so replace them with emtpy strings.

6 years agoDon't crash if no audio file for Phonon is set
Manuel Nickschas [Wed, 6 Mar 2013 19:41:53 +0000 (20:41 +0100)]
Don't crash if no audio file for Phonon is set

6 years agoAdd notification backend to support DockManagers
Bas Pape [Thu, 14 Feb 2013 21:55:43 +0000 (22:55 +0100)]
Add notification backend to support DockManagers

DockManager is a DBus API that does fancy icons. Current support
includes progress reporting whilst connecting, requesting attention
when highlighted and showing pending highlight count in a label. Exact
support also depends on the dock.

6 years agoSet minimum (the special value) timeout to 0
Bas Pape [Tue, 12 Feb 2013 18:38:05 +0000 (19:38 +0100)]
Set minimum (the special value) timeout to 0

Fixes #1201

6 years agoFix duplication/dropping of messages in certain instances.
Jason Lynch [Tue, 5 Feb 2013 14:48:37 +0000 (08:48 -0600)]
Fix duplication/dropping of messages in certain instances.

When multiple messages are processed at once, if one of the messages is flagged
for redirection, the wrong array is accessed, potentially causing the redirected
message to be dropped and another message to be duplicated.

6 years agoOptionally start minimized to tray
Bas Pape [Wed, 20 Jun 2012 22:19:33 +0000 (00:19 +0200)]
Optionally start minimized to tray

Restores mimized to tray if it was closed as such and adds an option to
force starting mimized to tray (if a tray is available). Fixed #1133

6 years agoRelicense SystemTray and LegacySystemTray under LGPL 2+
Manuel Nickschas [Thu, 28 Feb 2013 19:34:52 +0000 (20:34 +0100)]
Relicense SystemTray and LegacySystemTray under LGPL 2+

This was requested so that it could be made useful together with
StatusNotifierItem (which came from KDE and already is LGPL'd).

Here's hoping that it will result in a neat little library that programs
can use to have a systemtray icon that sucks less than the stock one.

This code was written by yours truly.

6 years agosuperfluous_includes--
Manuel Nickschas [Wed, 20 Feb 2013 23:02:39 +0000 (00:02 +0100)]

6 years agoMutate SignalProxy::AbstractPeer into a separate class Peer
Manuel Nickschas [Wed, 20 Feb 2013 22:52:15 +0000 (23:52 +0100)]
Mutate SignalProxy::AbstractPeer into a separate class Peer

It makes no sense anymore to have this a nested class inside SignalProxy
Also, this streamlines the template handling a bit; we don't need to duplicate
the handle() message between RemotePeer and InternalPeer.

6 years agoUnused--
Manuel Nickschas [Wed, 20 Feb 2013 21:30:30 +0000 (22:30 +0100)]