quassel.git
8 years agoImplement proper layouting for QmlChatLine qml
Manuel Nickschas [Sat, 19 Nov 2011 17:09:20 +0000 (18:09 +0100)]
Implement proper layouting for QmlChatLine

Since ListView seems to be efficient enough to handle resizes sanely, we don't
have to resort to do manual wordwrapping and could significantly simplify our
text layouting code...

8 years agoFix serialization of QmlChatLine::RenderData
Manuel Nickschas [Sat, 19 Nov 2011 17:07:57 +0000 (18:07 +0100)]
Fix serialization of QmlChatLine::RenderData

... also add an isValid member.

8 years agoMore QML fidgetery
Manuel Nickschas [Sat, 19 Nov 2011 10:12:08 +0000 (11:12 +0100)]
More QML fidgetery

While playing around with various approaches to how to implement ChatView in QML, I think slowly
things are shaping up. We now have extended the QmlMessageModel to provide all info needed for rendering
a QmlChatLine in one data stracture, in order to avoid numerous calls to the model whenever a ChatLine
is instantiated.

Currently there's a lot of code duplication with the related non-QML classes, but this will either go away
once we decide to kill the QGV-based ChatView, or be unified into a common set of base classes if we
find out that both implementations are going to stay around.

8 years agoImplement the ChatLine element in C++
Manuel Nickschas [Sat, 13 Aug 2011 00:44:54 +0000 (02:44 +0200)]
Implement the ChatLine element in C++

Now that I get my brain wrapped around QML a bit, let's take things
more seriously. Turns out, while Text elements seem to be efficient enough,
TextEdit elements (needed for selection and mousehandling) are not, so resizing
is sluggish.

Thus, instead of using any of the stock elements, we're now implementing this ourselves
in C++, and will probably do much the same as we did for the QGV-based ChatView (minus
some of the hackery, if we're lucky). This means layouting and drawing the text ourselves.
On the upside, we can just keep using the old styleengine for now...

Here's hoping that things will turn out to be more efficient anyway, because ListView seems
to be creating and discarding its items as needed; so there shouldn't be a scene with thousands
of items involved to manage...

8 years agoAdd ChatLine item
Manuel Nickschas [Thu, 11 Aug 2011 21:31:20 +0000 (23:31 +0200)]
Add ChatLine item

8 years agoMove the qml subdir into qmlui
Manuel Nickschas [Thu, 11 Aug 2011 21:16:29 +0000 (23:16 +0200)]
Move the qml subdir into qmlui

Makes more sense to place the qml files under qmlui.

8 years agoInstantiate the QmlChatView instead of the QGV-based ChatView
Manuel Nickschas [Tue, 9 Aug 2011 16:53:02 +0000 (18:53 +0200)]
Instantiate the QmlChatView instead of the QGV-based ChatView

If Quassel is built with -DWITH_QML=ON, we now create and display the
ChatView component rather than the traditional QGraphicsView-based widget.

Note that some features like the ChatMonitor are disabled for now.

8 years agoIntroduce QML to Quassel
Manuel Nickschas [Thu, 22 Jul 2010 07:30:51 +0000 (09:30 +0200)]
Introduce QML to Quassel

This marks the beginnings of QML widgets in Quassel. The first widget to be ported is ChatView;
this commit does the following:

 * Extend the build system for supporting QML
 * Add a new qmlui module
 * Add a (very) rudimentary ChatView component that connects to
 * the new QmlMessageModel, which is intended for proxying between the client and the QuickUI

For now, -DWITH_QML=ON is required for cmake to build Quassel with QML. No, it's not worth trying out
at the moment.

8 years agoMake the MessageModel a QAbstractListModel
Manuel Nickschas [Fri, 2 Jul 2010 05:44:44 +0000 (07:44 +0200)]
Make the MessageModel a QAbstractListModel

Since this is a list after all, there's no need to use the more general
QAbstractItemModel. Also, some QML views like working with a ListModel better.

8 years agoFix compiler warning (case value not in enum)
Manuel Nickschas [Sun, 3 Jul 2011 14:21:38 +0000 (16:21 +0200)]
Fix compiler warning (case value not in enum)

8 years agopo: Update czech translation to be more smooth wrt rest of kde translations. Thanks...
Tomas Chvatal [Tue, 28 Jun 2011 15:39:17 +0000 (17:39 +0200)]
po: Update czech translation to be more smooth wrt rest of kde translations. Thanks to Vit Pelcak for the help.

8 years agoFixes #960 - "Core crashes after deleting a Network without disconnecting the Network...
Marcus Eggenberger [Fri, 3 Jun 2011 11:56:37 +0000 (13:56 +0200)]
Fixes #960 - "Core crashes after deleting a Network without disconnecting the Network first"
Note: this fixes the issue only in the 0.7 branch. Quassel Cores built from current git master
will still crash. This is due to some unsave pointer handling in the new event system, which
needs thorough fixing.

8 years agoChanging the behavior how Quassel Events are processed.
Marcus Eggenberger [Tue, 14 Jun 2011 22:45:39 +0000 (00:45 +0200)]
Changing the behavior how Quassel Events are processed.
They are no longer scheduled individualy but processed immediately
when they are generated. this should prohibit quassel from messing
with the space time continuum.

8 years agocheck for qca provider plugin, fixes #1045
Johannes Huber [Thu, 17 Mar 2011 13:19:18 +0000 (14:19 +0100)]
check for qca provider plugin, fixes #1045

Prevents core from crashing when qca provider plugin is missing.
The plugin is needed at runtime. Can occurres when packagers did
not install it.

8 years agoshow notices in current buffer by default
Daniel Albers [Mon, 20 Dec 2010 11:45:04 +0000 (12:45 +0100)]
show notices in current buffer by default

8 years agofixing typo
Stefan Beller [Mon, 14 Feb 2011 12:57:08 +0000 (13:57 +0100)]
fixing typo

8 years agodespammificating the pglog
Marcus Eggenberger [Tue, 1 Feb 2011 22:18:23 +0000 (23:18 +0100)]
despammificating the pglog
This is done by switching from EAFP to LBYL (although I don't like this...)

8 years agoReworking handling of Prepared Queries in PostgreSQL
Marcus Eggenberger [Sun, 30 Jan 2011 23:08:53 +0000 (00:08 +0100)]
Reworking handling of Prepared Queries in PostgreSQL
- Quasselcore should now survive PG restarts :)
- Fixes Bug #1044

9 years agoDon't have CTCP ignore rules apply to ACTIONs
Manuel Nickschas [Tue, 26 Oct 2010 15:04:46 +0000 (17:04 +0200)]
Don't have CTCP ignore rules apply to ACTIONs

This accidentally slipped in 0f2c520a7. It's not at all intuitive for a user why
/me should be a CTCP event, so we don't want to apply the CTCP ignore rules to that.

9 years agoBulk-insert messages into the db (again)
Manuel Nickschas [Mon, 25 Oct 2010 09:09:43 +0000 (11:09 +0200)]
Bulk-insert messages into the db (again)

This accidentally got slaughtered while moving to the new event backend. Now
messages are buffered in CoreSession until the event queue is empty, which means
that a bulk of incoming messages will completely be processed before inserting into
the database, resulting in a huge performance gain.

This buffers even more aggressive than the old version, as we process Qt events in between,
which means we'll receive and process any additional data from the socket before flushing the
message queue. The downside is that nothing will arrive in the client as long as your socket gets
flooded, but on the other hand, it will greatly reduce db I/O in such cases.

9 years ago[PSQL] properly preparing insert_sender queries (in all cases) before using them
Marcus Eggenberger [Sun, 24 Oct 2010 14:02:58 +0000 (16:02 +0200)]
[PSQL] properly preparing insert_sender queries (in all cases) before using them

9 years agowarnings--
Manuel Nickschas [Sun, 24 Oct 2010 12:20:15 +0000 (14:20 +0200)]
warnings--

9 years agoFix trimming
Manuel Nickschas [Fri, 22 Oct 2010 10:13:26 +0000 (12:13 +0200)]
Fix trimming

9 years agoKill IrcServerHandler and CtcpHandler
Manuel Nickschas [Wed, 20 Oct 2010 17:35:54 +0000 (19:35 +0200)]
Kill IrcServerHandler and CtcpHandler

Since all incoming traffic is handled by the event system now and porting is complete,
there's no need for the pitiful reminders of the afforementioned handlers to exist anymore.

Thus, kill them with a vengeance.

9 years agoEvent backend porting - CTCP
Manuel Nickschas [Wed, 20 Oct 2010 17:01:30 +0000 (19:01 +0200)]
Event backend porting - CTCP

This makes the last missing bits of ircd input processing use events;
CTCP handling is now done by both CoreSessionEventProcessor (for the functional parts)
and EventStringifier (for the user-visible parts).

9 years agoAllow arbitrary method prefix for BasicHandler
Manuel Nickschas [Tue, 19 Oct 2010 18:56:21 +0000 (20:56 +0200)]
Allow arbitrary method prefix for BasicHandler

This is mainly for making things a bit more readable in some cases. "handle" is still the
default.

9 years agoIntroduce CtcpParser for CTCP-related event processing
Manuel Nickschas [Tue, 19 Oct 2010 18:45:07 +0000 (20:45 +0200)]
Introduce CtcpParser for CTCP-related event processing

Functionality from CtcpHandler has been ported over to CtcpParser to process
IrcEventRawMessage events and generate appropriate MessageEvents and CtcpEvents from the
raw input of PRIVMSG and NOTICE.

CtcpEvents are not handled/stringified yet.

9 years agoFix event propagation
Manuel Nickschas [Sun, 17 Oct 2010 19:11:58 +0000 (21:11 +0200)]
Fix event propagation

It sometimes makes sense to deliver the same event to the same object
(but different event handlers), so we shouldn't prevent that. Instead,
make sure that generic handlers are not called if at least one specialized
handler is registered.

9 years agoUse late CoreSessionEventProcessor handler rather than early EventStringifier ones
Manuel Nickschas [Wed, 13 Oct 2010 22:53:17 +0000 (00:53 +0200)]
Use late CoreSessionEventProcessor handler rather than early EventStringifier ones

Makes more sense that way. A few commands (kick, part, quit, nick) need to be handled
in the session *after* they generated a MessageEvent.

9 years agoEvent backend porting
Manuel Nickschas [Wed, 13 Oct 2010 21:22:45 +0000 (23:22 +0200)]
Event backend porting

PING

9 years agoEvent backend porting
Manuel Nickschas [Wed, 13 Oct 2010 20:50:44 +0000 (22:50 +0200)]
Event backend porting

Port netsplit handling from IrcServerHandler to CoreSessionEventProcessor, and port
related commands: JOIN, QUIT, MODE, RPL_CHANNELMODEIS (324)

9 years agoEmit a new signal CoreSession::networkDisconnected(NetworkId)
Manuel Nickschas [Wed, 13 Oct 2010 19:44:32 +0000 (21:44 +0200)]
Emit a new signal CoreSession::networkDisconnected(NetworkId)

9 years agoSet current time on creation of MessageEvents if no other time is given
Manuel Nickschas [Wed, 13 Oct 2010 19:41:13 +0000 (21:41 +0200)]
Set current time on creation of MessageEvents if no other time is given

While we can probable leave the timestamp uninitialized for other event types, we certainly
always need a valid time for messages.

9 years agoEvent backend porting
Manuel Nickschas [Sun, 10 Oct 2010 11:54:43 +0000 (13:54 +0200)]
Event backend porting

ERR_ERRONEUSNICKNAME (432), ERR_NICKNAMEINUSE (433), ERR_UNAVAILRESOURCE (437)

9 years agoEvent backend porting
Manuel Nickschas [Fri, 8 Oct 2010 14:31:24 +0000 (16:31 +0200)]
Event backend porting

RPL_INVITING (341), RPL_WHOREPLY (352), RPL_NAMREPLY (353), RPL_ENDOFWHOWAS (369)

9 years agoEvent backend porting
Manuel Nickschas [Fri, 8 Oct 2010 06:58:18 +0000 (08:58 +0200)]
Event backend porting

RPL_ISUPPORT (005), RPL_LIST (322), RPL_LISTEND (323), channel creation time (328)
and homepage (329), RPL_NOTOPIC (331), RPL_TOPIC (332), "topic set by" (333)

9 years agoAdd a checkParamCount() for EventStringifier as well
Manuel Nickschas [Fri, 8 Oct 2010 06:56:45 +0000 (08:56 +0200)]
Add a checkParamCount() for EventStringifier as well

Many events are not being processed by CoreSessionEventProcessor (which checks
for a sane param count for the event it handles, so we don't do that in the
stringifier usually); for those that go directly to the stringifier, we need to
check there.

9 years agoEvent backend porting, mostly WHOIS-related stuff
Manuel Nickschas [Thu, 7 Oct 2010 09:55:43 +0000 (11:55 +0200)]
Event backend porting, mostly WHOIS-related stuff

RPL_WHOISSERVICE (307), RPL_SUSERHOST (310), RPL_WHOISUSER (311), RPL_WHOISSERVER (312),
RPL_WHOISOPERATOR (313), RPL_WHOWASUSER (314), RPL_ENDOFWHO (315), RPL_WHOISIDLE (317),
RPL_ENDOFWHOIS (318), RPL_WHOISCHANNELS (319), RPL_WHOISVIRT (320), RPL_WHOISACCOUNT (330)

9 years agoAdd a timestamp to events
Manuel Nickschas [Thu, 7 Oct 2010 07:45:33 +0000 (09:45 +0200)]
Add a timestamp to events

This is not set automatically for now, as I'm not sure if it's worth the overhead
of querying the system clock for every event we create.

The timestamp is set on reception of data on the socket (i.e. a bit earlier in the chain
than in the old message handling) and carried over into IrcEvents by the IrcParser.
EventStringifier will carry over the timestamp to MessageEvents.

9 years agoIntroduce a flag EventManager::Silent
Manuel Nickschas [Thu, 7 Oct 2010 07:04:31 +0000 (09:04 +0200)]
Introduce a flag EventManager::Silent

If this is set, the EventStringifier won't generate a MessageEvent for this event.
This is thought for the CoreSessionEventProcessor (and possibly scripts) to hide
messages in certain cases, without circumventing further processing of the event.
Example would be suppressing WHO messages on autowho.

9 years agoEvent backend porting
Manuel Nickschas [Wed, 6 Oct 2010 09:08:14 +0000 (11:08 +0200)]
Event backend porting

RPL_AWAY (301), RPL_UNAWAY (305), RPL_NOWAWAY (306)

Also replacing the fixed strings from the ircd by a translateable version.

9 years agoFix an issue with the event loop
Manuel Nickschas [Wed, 6 Oct 2010 07:28:59 +0000 (09:28 +0200)]
Fix an issue with the event loop

9 years agoEvent backend porting
Manuel Nickschas [Tue, 5 Oct 2010 16:32:18 +0000 (18:32 +0200)]
Event backend porting

RPL_UMODEIS (221), RPL_STATSCONN (250), RPL_LOCALUSERS (265), RPL_GLOBALUSERS (266)

This were stubs in IrcServerHandler, they're supposed to update the network object.
I've ported the stubs so we'll actually implement that some day...

9 years agoEvent backend porting
Manuel Nickschas [Tue, 5 Oct 2010 16:23:53 +0000 (18:23 +0200)]
Event backend porting

AUTHENTICATE, CAP, PONG, TOPIC, RPL_WELCOME (001)

9 years agoMake sure IrcEventTopic always has two params
Manuel Nickschas [Tue, 5 Oct 2010 16:17:47 +0000 (18:17 +0200)]
Make sure IrcEventTopic always has two params

In case of an empty topic, adding a null string in the event saves us from
specialcasing this in a few places.

9 years agoEvent backend porting
Manuel Nickschas [Sun, 3 Oct 2010 22:02:58 +0000 (00:02 +0200)]
Event backend porting

INVITE, KICK, NICK, PART are using the event backend now.

9 years agoAdd checkParamCount() which stops the event if something's wrong
Manuel Nickschas [Thu, 30 Sep 2010 15:55:11 +0000 (17:55 +0200)]
Add checkParamCount() which stops the event if something's wrong

9 years agoDebug--
Manuel Nickschas [Thu, 30 Sep 2010 15:52:45 +0000 (17:52 +0200)]
Debug--

9 years agoPort IrcServerHandler::defaultHandler() to the event backend
Manuel Nickschas [Thu, 30 Sep 2010 07:37:33 +0000 (09:37 +0200)]
Port IrcServerHandler::defaultHandler() to the event backend

The killing has begun.

9 years agoAdd convenience functions for generating MessageEvents
Manuel Nickschas [Thu, 30 Sep 2010 07:36:05 +0000 (09:36 +0200)]
Add convenience functions for generating MessageEvents

Note that this displayMsg() takes different params than the old one. Also, the order
is now msg, sender, target instead of target, msg, sender, in order to avoid having to
specify an empty target for most calls.

9 years agoConvert null strings to empty strings
Manuel Nickschas [Thu, 30 Sep 2010 07:25:39 +0000 (09:25 +0200)]
Convert null strings to empty strings

The storage backend bails out when we hand over null strings, so convert those
to empty strings instead when transforming a MessageEvent into a Message. Null
strings are nicer to use and more efficient, so don't force people to avoid them
in the event handlers.

9 years agoChange the order of MessageEvent ctor params
Manuel Nickschas [Thu, 30 Sep 2010 07:23:49 +0000 (09:23 +0200)]
Change the order of MessageEvent ctor params

Be careful, params are specified in an order different from the old displayMsg(),
since it makes more sense like this and optimizes default arg use.

9 years agoMove EventStringifier from common/ to core/ for now
Manuel Nickschas [Tue, 28 Sep 2010 19:38:46 +0000 (21:38 +0200)]
Move EventStringifier from common/ to core/ for now

We need a way to access the EventManager, which currently works through CoreSession.

Once the stringifier moves into client, we'll use Client instead. Nothing else depends
on core.

9 years agoAdd skeletal EventStringifier
Manuel Nickschas [Tue, 28 Sep 2010 16:44:20 +0000 (18:44 +0200)]
Add skeletal EventStringifier

This class is supposed to generate the user-visible messages from IrcEvents,
i.e. it generates MessageEvents. For now, this lives in the CoreSession, which consumes
and converts the MessageEvents into the usual Messages that are then sent to the client.

In the future, this whole class should move into the client, in order to move string generation
out of the core. There's no need to store plaintext strings in the database if we can as well
simply store the IrcEvents, plus this will allow per-client translations.

9 years agoIntroduce event filters
Manuel Nickschas [Tue, 28 Sep 2010 16:37:14 +0000 (18:37 +0200)]
Introduce event filters

You can now register event filters, either by using registerObject() and providing methods
starting with "filter" (by default), similar to the process functions, or by using registerEventFilter().

These filter methods take an Event* and return a bool. If false, the event won't be delivered to the
target object at all. A typical use case would be to only accept events that are targeted to a particular
network and ignoring the rest, without having to check the net in each event handler.

Note that priority is ignored; for registerObject(), filters are added with the most specialized first,
and for registerEventFilter() you're responsible for the correct order.

9 years agoProperly handle numeric events
Manuel Nickschas [Tue, 28 Sep 2010 07:32:55 +0000 (09:32 +0200)]
Properly handle numeric events

9 years agoHook up the event system to CoreSession's legacy displayMsg() processing
Manuel Nickschas [Sat, 25 Sep 2010 15:38:24 +0000 (17:38 +0200)]
Hook up the event system to CoreSession's legacy displayMsg() processing

Now MessageEvents are handled the same way as displayMsg() calls, and we can start
gradually replacing the latter with the former.

9 years agoUse a queue for events
Manuel Nickschas [Sat, 25 Sep 2010 15:04:26 +0000 (17:04 +0200)]
Use a queue for events

Using a queue ensures that events will be processed in order, i.e. if processing
an events generates new ones, those won't be handled before the first one is fully done.
We also let Qt process its own QEvents in between, in order to not block things like
network handling.

9 years agoPrettify qDebug() output for events
Manuel Nickschas [Fri, 24 Sep 2010 17:27:28 +0000 (19:27 +0200)]
Prettify qDebug() output for events

9 years agoMake IrcParser functional
Manuel Nickschas [Thu, 23 Sep 2010 09:04:27 +0000 (11:04 +0200)]
Make IrcParser functional

IrcParser now parses incoming raw data from the ircd and generates the appropriate
IrcEvents from the input. Most of this can be automated via QMeta* stuff, though several
irc commands need special casing for decoding the input (default is just to use serverDecode(),
as this is almost always the right thing to do).

All IrcEvents thus have their parameters as properly decoded QStrings, so we don't need to care
about this anywhere else.

NOTICE and PRIVMSG get some more special handling; multiple targets are broken up into
sending one event for each, messages are decrypted if appropriate, and channel welcome messages
are properly redirected.

9 years agoAdd more Event specializations (IrcEvent*, MessageEvent)
Manuel Nickschas [Thu, 23 Sep 2010 09:03:04 +0000 (11:03 +0200)]
Add more Event specializations (IrcEvent*, MessageEvent)

9 years ago++API, ++EventFlags
Manuel Nickschas [Thu, 23 Sep 2010 08:59:49 +0000 (10:59 +0200)]
++API, ++EventFlags

9 years agoAdd IrcParser to handle data between the ircd and Quassel
Manuel Nickschas [Sun, 12 Sep 2010 14:01:16 +0000 (16:01 +0200)]
Add IrcParser to handle data between the ircd and Quassel

This class processes data from the ircd(via NetworkDataEvent)  and is supposed to
generate appropriate specialized events once this skeleton actually has an implementation.
IrcParser will be IrcServerHandler's successor in many respects.

9 years agoIntroduce NetworkEvent and children
Manuel Nickschas [Sun, 12 Sep 2010 13:58:25 +0000 (15:58 +0200)]
Introduce NetworkEvent and children

This family of events encapsulates network-related events:
* NetworkConnectionEvent handles the network's connection state
* NetworkDataEvent handles raw data sent from or to the network socket

CoreNetwork now sends a data event to the session's EventManager.

9 years agoBasic event dispatching (with priorities)
Manuel Nickschas [Wed, 8 Sep 2010 16:44:07 +0000 (18:44 +0200)]
Basic event dispatching (with priorities)

I think priorities make more sense than the prepending/appending of handlers we've had before.

9 years agoBoilerplate work for CoreSessionEventProcessor
Manuel Nickschas [Sun, 5 Sep 2010 18:20:32 +0000 (20:20 +0200)]
Boilerplate work for CoreSessionEventProcessor

So far just a dummy object that doesn't do anything, this is supposed
to handle events that change the session state (the syncable objects) later.
We also add an EventManager instance. Oh, and some #include cleanup.

9 years agoIntroducing the first shiny stuff for our new event-based core backend
Manuel Nickschas [Sun, 5 Sep 2010 18:15:45 +0000 (20:15 +0200)]
Introducing the first shiny stuff for our new event-based core backend

This adds a (very rudimentary) base class for events, and a (very rudimentary)
EventManager. The manager so far allows registering event handlers (even via explicit
methods, or by providing a QObject. In the latter case, matching slots will be automatically
registered (i.e. a method handleIrcEventJoin() will be registered as handler for
IrcEventJoin).

9 years agoFix typo
Manuel Nickschas [Mon, 11 Oct 2010 12:10:37 +0000 (14:10 +0200)]
Fix typo

9 years agofixing build on non-mac systems. ooopsi.
Marcus Eggenberger [Sun, 10 Oct 2010 12:21:32 +0000 (14:21 +0200)]
fixing build on non-mac systems. ooopsi.

9 years agofixing application menu entries and shortcuts on Mac OS
Marcus Eggenberger [Sun, 10 Oct 2010 09:58:04 +0000 (11:58 +0200)]
fixing application menu entries and shortcuts on Mac OS

9 years agoremove merge fragments from hu.po + ru.po
Daniel Albers [Tue, 28 Sep 2010 10:33:17 +0000 (12:33 +0200)]
remove merge fragments from hu.po + ru.po

9 years agol10n: Updated Galician (gl) translation to 79%
Condex [Sat, 18 Sep 2010 10:35:16 +0000 (10:35 +0000)]
l10n: Updated Galician (gl) translation to 79%

New status: 741 messages complete with 4 fuzzies and 185 untranslated.

Transmitted-via: Transifex (www.transifex.net).

9 years agol10n: Updated French (fr) translation to 100%
Bruno_Patri [Fri, 17 Sep 2010 07:17:05 +0000 (07:17 +0000)]
l10n: Updated French (fr) translation to 100%

New status: 930 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (www.transifex.net).

9 years agoinxi bumping: 1.4.15
Johannes Huber [Wed, 22 Sep 2010 18:45:34 +0000 (20:45 +0200)]
inxi bumping: 1.4.15

9 years agoadd placeholder to tr message
Johannes Huber [Tue, 14 Sep 2010 23:28:39 +0000 (01:28 +0200)]
add placeholder to tr message

9 years agoFixing issues with multiple CTCP requests in one message
Marcus Eggenberger [Sun, 5 Sep 2010 19:41:19 +0000 (21:41 +0200)]
Fixing issues with multiple CTCP requests in one message

 If we receive multiple CTCP requests in one PRIVMSG we now answer with
 one packed NOTICE containing all CTCP replies. This fixes a possible
 DoS Attack rendering Quassels IRC connection useless. Upgrading is
 strongly recommended. Thanks to Jima for reporting and supporting.

9 years agoProperly reject invalid handshake data
Manuel Nickschas [Tue, 21 Sep 2010 06:46:55 +0000 (08:46 +0200)]
Properly reject invalid handshake data

Currently, if a client attempts to configure a core's storage backend
even though it is already configured, the core will ignore the attempt
silently (e.g. the existing storage backends will simply drop the request,
but the client also won't receive an error message). This can never happen
unless you use an alternative client with a buggy handshake sequence though,
since quasselclient checks if the core is already configured beforehand.

Nonetheless, it makes sense to properly error out from the core side, just in case
we're getting new storage backends in the future that don't properly check this,
or alternative clients which might be confused by not receiving an error when they should.

Thanks to JodaZ for pointing this out.

9 years agoUpdate ChangeLog
Manuel Nickschas [Tue, 14 Sep 2010 17:34:39 +0000 (19:34 +0200)]
Update ChangeLog

9 years agoUnbreak ru.po again. Maybe. Hopefully. Meh
Manuel Nickschas [Tue, 14 Sep 2010 17:30:36 +0000 (19:30 +0200)]
Unbreak ru.po again. Maybe. Hopefully. Meh

9 years agol10n: First upload of the Galician translation file.
Condex [Sun, 5 Sep 2010 22:34:10 +0000 (22:34 +0000)]
l10n: First upload of the Galician translation file.

New status: 712 messages complete with 4 fuzzies and 214 untranslated.

Transmitted-via: Transifex (www.transifex.net).

9 years agol10n: Updated English (United Kingdom) (en_GB) translation to 100%
johu [Thu, 9 Sep 2010 23:16:53 +0000 (23:16 +0000)]
l10n: Updated English (United Kingdom) (en_GB) translation to 100%

New status: 930 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (www.transifex.net).

9 years agol10n: Updated Italian (it) translation to 98%
johu [Thu, 9 Sep 2010 22:02:53 +0000 (22:02 +0000)]
l10n: Updated Italian (it) translation to 98%

New status: 919 messages complete with 2 fuzzies and 9 untranslated.

Transmitted-via: Transifex (www.transifex.net).

9 years agoLaunchpad automatic translations update.
Launchpad Code Hosting [Wed, 8 Sep 2010 05:07:29 +0000 (05:07 +0000)]
Launchpad automatic translations update.

9 years agoCompletely unbreak ru.po
Daniel Albers [Wed, 8 Sep 2010 18:43:05 +0000 (20:43 +0200)]
Completely unbreak ru.po

9 years agoRevert "Revert "update Russian translation from 0.6""
Daniel Albers [Wed, 8 Sep 2010 18:34:16 +0000 (20:34 +0200)]
Revert "Revert "update Russian translation from 0.6""

This reverts commit 209b670b1a6c3f83ea06c7dc2f389c6e1f6b039c.

9 years agoLaunchpad automatic translations update.
Launchpad Code Hosting [Fri, 3 Sep 2010 04:09:51 +0000 (05:09 +0100)]
Launchpad automatic translations update.

9 years agol10n: Updated Japanese (ja) translation to 45%
Daniel E. Moctezuma [Sun, 5 Sep 2010 02:00:39 +0000 (02:00 +0000)]
l10n: Updated Japanese (ja) translation to 45%

New status: 421 messages complete with 43 fuzzies and 466 untranslated.

Transmitted-via: Transifex (www.transifex.net).

9 years agol10n: Updated French (fr) translation to 100%
Bruno_Patri [Sat, 4 Sep 2010 17:04:52 +0000 (17:04 +0000)]
l10n: Updated French (fr) translation to 100%

New status: 930 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (www.transifex.net).

9 years agol10n: Updated Slovenian (sl) translation to 99%
Jure Repinc [Fri, 3 Sep 2010 21:24:39 +0000 (21:24 +0000)]
l10n: Updated Slovenian (sl) translation to 99%

New status: 923 messages complete with 0 fuzzies and 7 untranslated.

Transmitted-via: Transifex (www.transifex.net).

9 years agol10n: Updated Ukrainian (uk) translation to 100%
Yuri Chornoivan [Thu, 19 Aug 2010 19:06:28 +0000 (19:06 +0000)]
l10n: Updated Ukrainian (uk) translation to 100%

New status: 930 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (www.transifex.net).

9 years agotranslate string, fixes #1019
Johannes Huber [Wed, 25 Aug 2010 20:15:37 +0000 (22:15 +0200)]
translate string, fixes #1019

9 years agoCheck if the notifications client supports actions
Manuel Nickschas [Sun, 5 Sep 2010 10:04:37 +0000 (12:04 +0200)]
Check if the notifications client supports actions

Ubuntu's notification system doesn't support actions and shows fugly popups
in case apps still define them. So we check for the capability and disable actions
if they're not supported.

Needless to mention that the Quassel team heartily recommends using a notification daemon
that is action-enabled for added value.

9 years agoFix license for statusnotifieritem*
Manuel Nickschas [Fri, 27 Aug 2010 07:52:47 +0000 (09:52 +0200)]
Fix license for statusnotifieritem*

kdelibs are LGPL 2+, so our derivations should be appropriately licensed.

9 years agoStatusNotifierItem ("D-Bus tray icon") improvements
Manuel Nickschas [Fri, 27 Aug 2010 07:40:19 +0000 (09:40 +0200)]
StatusNotifierItem ("D-Bus tray icon") improvements

* Get rid of the serviceOwnerChange() deprecation warning in Qt >= 4.6
* Fix behavior when the StatusNotifierHost (dis)appears. Thanks to notmart for
  fixing this in KDE as well; note that older versions of KDE's SNWatcher won't signal
  when the host goes away, so Quassel won't go into legacy mode!
* Fix hiding of the tray icon in StatusNotifier mode. No more restarting needed.

9 years agoPost-branch version bump 0.8-pre
Manuel Nickschas [Wed, 25 Aug 2010 10:35:53 +0000 (12:35 +0200)]
Post-branch version bump

9 years agoBump version.inc for release 0.7-rc1
Manuel Nickschas [Wed, 25 Aug 2010 09:55:23 +0000 (11:55 +0200)]
Bump version.inc for release

9 years agoRevert "update Russian translation from 0.6"
Manuel Nickschas [Wed, 25 Aug 2010 10:05:51 +0000 (12:05 +0200)]
Revert "update Russian translation from 0.6"

File completely broken.

This reverts commit b81afcbc8cc0f14e38ce828c9fe5cf11aad81b48.

9 years agoupdate Russian translation from 0.6
Daniel Albers [Thu, 19 Aug 2010 18:51:36 +0000 (20:51 +0200)]
update Russian translation from 0.6

9 years agofix translations translating SASL with SSL
Daniel Albers [Thu, 19 Aug 2010 18:38:59 +0000 (20:38 +0200)]
fix translations translating SASL with SSL

9 years agomake quasselcore listen on IPv6 if available
Daniel Albers [Tue, 17 Aug 2010 20:03:30 +0000 (22:03 +0200)]
make quasselcore listen on IPv6 if available

On most TCP/IP stacks creating a IPv6 listen socket will also allow IPv4
connectivity via IPv4-Mapped IPv6 Addresses. Notable exceptions are
NetBSD and OpenBSD.
Due to these exceptions a successful IPv6 bind() doesn't guarantee IPv4
connectivity, so we still have to try both.
The former implementation did this too, just in the wrong order.