8 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)

8 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.

8 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.

8 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.

8 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.

8 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.

8 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.

8 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

8 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

8 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.

8 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

8 years agoUpdate INSTALL info on LINGUAS. 30/head
Bas Pape [Mon, 29 Jul 2013 22:56:16 +0000 (00:56 +0200)]
Update INSTALL info on LINGUAS.

Since 2573fe44 the buildsystem no longer uses a seperate option for LINGUAS, but rather uses the environment variable of the same name.

8 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

8 years agoMerge pull request #26 from TheOneRing/master
Daniel Albers [Wed, 3 Jul 2013 14:56:24 +0000 (07:56 -0700)]
Merge pull request #26 from TheOneRing/master

fixed build with kde on windows

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

8 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

8 years agoShow a message when failing to load the key file 17/head
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

8 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).

8 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.

8 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.

8 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...

8 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

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

8 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.

8 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

8 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

8 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>

8 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.

8 years agoPost-branch version bump 0.10-pre
Manuel Nickschas [Tue, 9 Apr 2013 21:40:34 +0000 (23:40 +0200)]
Post-branch version bump

8 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

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

New contributors!

8 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

8 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


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

8 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

8 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.

8 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.

8 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.

8 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

8 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

8 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.

8 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...).

8 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.

8 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

8 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.

8 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

8 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.

8 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

8 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.

8 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

8 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.

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

8 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.

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

8 years agoTrim the last parameter except for PRIVMSG and NOTICE
Manuel Nickschas [Wed, 20 Feb 2013 19:31:54 +0000 (20:31 +0100)]
Trim the last parameter except for PRIVMSG and NOTICE

Just to be sure that we won't encounter any more side-effects with
ircds sending random trailing whitespace, let's trim the last parameter
except for PRIVMSG and NOTICE.

8 years agoHandle NAMREPLY with trailing whitespace
Manuel Nickschas [Wed, 20 Feb 2013 19:17:21 +0000 (20:17 +0100)]
Handle NAMREPLY with trailing whitespace

UnrealIRC sends trailing spaces with its NAMREPLY, which leads to empty nicks
being generated.

8 years agoUse lowercase headers for Phonon
Manuel Nickschas [Wed, 20 Feb 2013 18:20:37 +0000 (19:20 +0100)]
Use lowercase headers for Phonon

The CamelCase headers don't seem to exist on all platforms.

8 years agoSet key and cert for the temp identity manually
Bas Pape [Wed, 10 Oct 2012 20:53:51 +0000 (22:53 +0200)]
Set key and cert for the temp identity manually

Normally these are synced, but in this case they need to be set manually
for hasChanged to work.

Fixes #1032

8 years agoMerge pull request #7 from Tucos/bug-640
Manuel Nickschas [Tue, 19 Feb 2013 22:34:28 +0000 (14:34 -0800)]
Merge pull request #7 from Tucos/bug-640

Add codec blacklist for UTF-8 detection

8 years agoMerge pull request #6 from Tucos/genversion
Manuel Nickschas [Tue, 19 Feb 2013 22:33:19 +0000 (14:33 -0800)]
Merge pull request #6 from Tucos/genversion

Use QCoreApplication::arguments() for genversion

8 years agoMerge pull request #1 from sandsmark/master
Manuel Nickschas [Tue, 19 Feb 2013 22:29:33 +0000 (14:29 -0800)]
Merge pull request #1 from sandsmark/master

Support for * as a mode target

8 years agoMerge pull request #5 from Tucos/feat-keyx
Manuel Nickschas [Tue, 19 Feb 2013 22:27:25 +0000 (14:27 -0800)]
Merge pull request #5 from Tucos/feat-keyx

Add support for key exchange

8 years agofix the misplaced & in the private stuff as well 1/head
martin sandsmark [Tue, 19 Feb 2013 22:25:34 +0000 (23:25 +0100)]
fix the misplaced & in the private stuff as well

8 years agofix the last misplaced &
martin sandsmark [Tue, 19 Feb 2013 22:24:47 +0000 (23:24 +0100)]
fix the last misplaced &

8 years agoconsistency++
martin sandsmark [Tue, 19 Feb 2013 22:23:21 +0000 (23:23 +0100)]

8 years agoMerge pull request #2 from sandsmark/wii
Manuel Nickschas [Tue, 19 Feb 2013 22:15:42 +0000 (14:15 -0800)]
Merge pull request #2 from sandsmark/wii

Add irssi's 'wii' as a default alias

8 years agoEnable smooth fonts on retina macs
Leo Franchi [Tue, 5 Feb 2013 14:44:38 +0000 (09:44 -0500)]
Enable smooth fonts on retina macs

8 years agoLet quassel honour locale language settings
Bas Pape [Fri, 23 Nov 2012 18:01:35 +0000 (19:01 +0100)]
Let quassel honour locale language settings

When the language setting (LC_MESSAGES) differs from the global locale
set, quassel will use the wrong language. Qt 4.8 introduces some changes
to QLocale which make this pretty much Just Work; this patch copies the
necessary bits for older Qts.

Fixes #1194

8 years agoShow OS X notification center notifications
David Sansome [Fri, 23 Nov 2012 14:12:35 +0000 (01:12 +1100)]
Show OS X notification center notifications

8 years agoDon't display control characters
Bas Pape [Thu, 11 Oct 2012 19:37:13 +0000 (21:37 +0200)]
Don't display control characters

Replace them with their respective unicode char from the control picture

8 years agoCheck if user setting pair exists before inserting/updating it.
Felix Geyer [Tue, 9 Oct 2012 16:47:01 +0000 (18:47 +0200)]
Check if user setting pair exists before inserting/updating it.

If it exists it's inserted else the date is updated.
This fixes a (harmless) error that clutters the postgres log.
Fixes #958

8 years agoFormatting fixes
Manuel Nickschas [Tue, 19 Feb 2013 21:27:45 +0000 (22:27 +0100)]
Formatting fixes

8 years agoIf phonon backend is not available use as fallback the system bell
Sebastien Fricker [Thu, 4 Oct 2012 11:19:26 +0000 (13:19 +0200)]
If phonon backend is not available use as fallback the system bell

8 years agoIf phonon is not availaible: disable the audio settings
Sebastien Fricker [Thu, 13 Sep 2012 15:20:26 +0000 (17:20 +0200)]
If phonon is not availaible: disable the audio settings

8 years agoName labels a bit nicer
Manuel Nickschas [Tue, 19 Feb 2013 21:10:05 +0000 (22:10 +0100)]
Name labels a bit nicer

8 years agoAdd support for SASL EXTERNAL
Bas Pape [Thu, 30 Aug 2012 11:58:24 +0000 (13:58 +0200)]
Add support for SASL EXTERNAL

This is a method to identify to nickserv during connection registration,
like SASL PLAIN, but using the fingerprint of the certificate. Currently
the method used is chosen based on the mere presence of a certificate.
SASL PLAIN is not used as fallback (either this works or the certificate
is used as normal, with the race condition).

8 years agoOnly escape \ with standards-compliant ctcp
Bas Pape [Wed, 26 Sep 2012 08:56:50 +0000 (10:56 +0200)]
Only escape \ with standards-compliant ctcp

Fixes #1142

8 years agoSimplify CTCP parsing by default
Bas Pape [Tue, 25 Sep 2012 18:57:14 +0000 (20:57 +0200)]
Simplify CTCP parsing by default

Rather than adhering to the CTCP 'specification', reply only to single
CTCP messages without text around them. All messages not fitting the
requirements are simply displayed in the buffer. The old behaviour can
still be enabled in the settings dialog.

Fixes #1130

8 years agoFix issue with "Topic set" message
Manuel Nickschas [Tue, 19 Feb 2013 20:40:40 +0000 (21:40 +0100)]
Fix issue with "Topic set" message

Yeah, those parens can be confusing.

8 years agoFix SASL auth with Freenode
Manuel Nickschas [Tue, 19 Feb 2013 20:29:02 +0000 (21:29 +0100)]
Fix SASL auth with Freenode

Looks like Freenode adds a trailing space to its CAP ACK reply, so Quassel
would hang after we don't trim incoming messages anymore.

I don't particularly like the startsWith() workaround, but I guess we'll need
a more capable parser anyway, should we support more caps in the future...

8 years agoRename Internal-, Remote- and LegacyConnection to -Peer
Manuel Nickschas [Mon, 18 Feb 2013 22:48:00 +0000 (23:48 +0100)]
Rename Internal-, Remote- and LegacyConnection to -Peer

While I'm not tooo happy with the word "Peer", I couldn't think of another one
that fits their purpose better. "Connection" was certainly less correct, and
we have so many different connections in the codebase that it got way too confusing.

At least, while Peer might not be a perfect match, it is consistent with how we always
called that in Quassel (and they still inherit from SignalProxy::AbstractPeer and have
been doing so for years!).

8 years agoBump CMake version
Manuel Nickschas [Wed, 6 Feb 2013 19:05:32 +0000 (20:05 +0100)]
Bump CMake version

If I recall correctly, Tucos had figured out that we need 2.8.1 now.

8 years agoAdd codec blacklist for UTF-8 detection 7/head
Bas Pape [Sun, 3 Feb 2013 13:49:47 +0000 (14:49 +0100)]
Add codec blacklist for UTF-8 detection

ISO-2022-JP is valid UTF-8, which means this codec needs to bypass the

8 years agoUse QCoreApplication::arguments() for genversion 6/head
Bas Pape [Fri, 1 Feb 2013 15:31:51 +0000 (16:31 +0100)]
Use QCoreApplication::arguments() for genversion

This prevents issues with locales and unicode paths.
Fixes #1177

8 years agoAdd support for DH1080 key exchange 5/head
Bas Pape [Thu, 31 Jan 2013 18:13:12 +0000 (19:13 +0100)]
Add support for DH1080 key exchange

Adds a KeyEvent and handlers, as well as a command (keyx) to initiate
and act upon a key exchange.

8 years agoRefactor Cipher related things.
Bas Pape [Thu, 31 Jan 2013 17:46:17 +0000 (18:46 +0100)]
Refactor Cipher related things.

Instead of using a hash with set keys, set the key on the relevant
  CoreIrc{User,Channel}'s cipher member.
Let the cipher clear its own key (with appropriate checks elsewhere)
Instantiate a new IrcUser when necessary (a query with someone who does
  not share any channels with us means there is no IrcUser for the target
  until he says something)

8 years agoYearly bump
Manuel Nickschas [Sun, 27 Jan 2013 21:55:21 +0000 (22:55 +0100)]
Yearly bump

It's 2013, baby!

8 years agoAllow compilation against Qt < 4.7 again
Manuel Nickschas [Sun, 27 Jan 2013 21:35:33 +0000 (22:35 +0100)]
Allow compilation against Qt < 4.7 again

Looks like I recently introduced the use of some QDateTime stuff that appeared
in Qt 4.7. Let's use the old way of calculating the lag then if built against older

Oh, also this fixes that we would show double the lag.

8 years agoConsolidate protocol messages in one namespace
Manuel Nickschas [Sat, 26 Jan 2013 18:57:34 +0000 (19:57 +0100)]
Consolidate protocol messages in one namespace

Rather than defining the various messages as nested classes in SignalProxy,
RemoteConnection and in the future even more locations, have them defined
within a single namespace (and file, protocol.h).
This should make it much easier to see at a glance what kind of messages
Quassel sends, and thus help with protocol implementations.

8 years agoRefactor SignalProxy, network and protocol code
Manuel Nickschas [Thu, 17 Jan 2013 22:31:34 +0000 (23:31 +0100)]
Refactor SignalProxy, network and protocol code

Until now, SignalProxy also contained the protocol implementation and
handled the network data transfer. Besides being an architectural nightmare,
this also made it impossible to work on a new protocol.

As a nice sideeffect, the code size of SignalProxy shrunk by more than 30%.

This commit does the following:

* Provide a common abstraction for internal (mono) and remote connections,
  so we can remove the special casing for mono clients in the SignalProxy.
  This should also make it easier to bring back remote capabilities to the mono
  client in the future.

* Move the networking code into RemoteConnection, which also acts as an abstraction
  layer for the current and future core/client protocols.

* Move the protocol-specific code into LegacyConnection.

* Introduce explicit protocol message types (as opposed to QVariantMaps). This gives
  us type safety and allows for a cleaner and more efficient handling inside SignalProxy.
  Also, I finally got to use templates \o/

Note that the handshake/auth code still needs to be abstracted, so for now the
LegacyConnection is still used directly in (the awkwardly mis-named) CoreConnection
and Core for reading/writing their data during the init phase.

8 years agoMove inline keywords to the definitions
Manuel Nickschas [Thu, 17 Jan 2013 22:00:07 +0000 (23:00 +0100)]
Move inline keywords to the definitions

Makes the header a bit cleaner.

8 years agoRemove unused enum
Manuel Nickschas [Sat, 1 Sep 2012 21:53:12 +0000 (23:53 +0200)]
Remove unused enum

8 years agoconsistency++
Martin T. H. Sandsmark [Wed, 2 Jan 2013 23:01:27 +0000 (00:01 +0100)]

8 years agoadd irssi's wii as a default alias 2/head
Martin T. H. Sandsmark [Wed, 26 Dec 2012 21:35:03 +0000 (22:35 +0100)]
add irssi's wii as a default alias

8 years agosupport '*' as a target for modes
Martin T. H. Sandsmark [Wed, 26 Dec 2012 20:51:53 +0000 (21:51 +0100)]
support '*' as a target for modes

8 years agorefactor out mode-applying into a separate method
Martin T. H. Sandsmark [Wed, 26 Dec 2012 20:46:59 +0000 (21:46 +0100)]
refactor out mode-applying into a separate method

8 years agoadd support for oping a whole channel with /op *
Martin T. H. Sandsmark [Tue, 24 Apr 2012 00:53:38 +0000 (02:53 +0200)]
add support for oping a whole channel with /op *

8 years agoStrip newlines from 'reason' fields in settings
Bas Pape [Tue, 25 Sep 2012 06:05:14 +0000 (08:05 +0200)]
Strip newlines from 'reason' fields in settings

These messages are sent to the server verbatim, which means anything
after a newline (which can be pasted into a QLineEdit) would be used as
a command.

8 years agoParse wallops (fixes Bug #1185)
Gryllida A [Wed, 12 Sep 2012 02:54:11 +0000 (12:24 +0930)]
Parse wallops (fixes Bug #1185)

8 years agoOnly chop \r\n instead of trimming all whitespace
Bas Pape [Tue, 4 Dec 2012 19:06:57 +0000 (20:06 +0100)]
Only chop \r\n instead of trimming all whitespace

Any whitespace in front of the protocol's \r\n is part of the message
and thus should not be trimmed. Fixes #1197