On Sat, Jun 20, 2015 at 4:38 PM, Pali Rohár <pali.ro...@gmail.com> wrote: > > > > > I had not thought of that. :) > > > > > Same for Contact: Does not it make sense to store Kopete::Contact > > > representing room? Or do you think it is not needed at all? > > > > Yes. I will change to Kopete::Contact. > > > > I think you did not change anything, or yes?
Just changed the type column to int. > Anyway detecting multi user > chat messages with that mutually exclusive condition (only one of > contact/session or name is set) is really hard to imagine and also write > correct select sql statement (it is even possible to write optimal one > for SQLite??). Rather use some multi user group chat boolean column (in > SQLite there is no boolean, just int). > LIke this? --messages table CREATE TABLE "messages" ( "id" Integer Primary Key Autoincrement Not Null, --Unique message identifier "timestamp" Text, --When the message was handled "message" Text, --HTML containing the message contents "protocol" Text Not Null, --Protocol used (Kopete::Protocol::pluginId()) "account" Text Not Null, --Account used (Kopete::Account::accountId()) "direction" Integer Not Null, --(Inbound = 0, Outbound=1, Internal=2) (Kopete::Message::MessageDirection) "importance" Integer, -- (Low, Normal, Highlight) (Kopete::Message) (Kopete::Message::MessageImportance) "contact" Text, -- The local contact used in this message (if applicable). (Kopete::Contact::ContactId()). If present, we know we are in single user mode. "subject" Text, --If applicable, this will store the subject of the message "session" Text, -- Internal session identifier. "session_name" Text, -- If in multi user mode, a human readable name for the session. "from" Text, --Internal identifier for the message sender "from_name" Text, --Human readable name of the message sender "to" Text, --Internal identifier for the message recipient "to_name" Text, --Human readable name of the message recipient. "state" Integer, --(Unknown = 0, Sending = 1, Sent = 2, Error = 3) "type" Integer, --The type of message. (TypeNormal, TypeAction, TypeFileTransferRequest, TypeVoiceClipRequest) (Kopete::Message::MessageType) "is_group" Integer Default='0' --If this is set to 1, then we know we are in multi user mode. ) > > > > > > "session_name" Text, -- If in multi user mode, a human > > > > readable name > > > > > > for > > > > > > > the session. > > > > > > > > "from" Text, --Internal identifier for the message sender > > > > "from_name" Text, --Human readable name of the message sender > > > > "to" Text, --Internal identifier for the message recipient > > > > "to_name" Text, --Human readable name of the message > > > > recipient. > > > > > > Kopete::Message::from() and Kopete::Message::to() can represent > > > those from/to values... > > > > > > Just to note that Kopete::Message::to() is list of Kopete::Contact > > > object. It is not single/one Kopete::Contact. Maybe storing it as > > > concatenation with ", " separator? Or totally drop list and just > > > store first Contact? > > > > Its better to store all with a preset delimiter. > > > > Ok. I think that most kopete protocols (maybe all now??) just set one > contact for Kopete::Message::to() value. So I think that in future (when > Kopete::Message will be ported to KF5) we could change list to single > value. > > If you think that full list is needed, we can use delimiter and maybe in > future change it only to single value. > > Noted. > > > -- > Pali Rohár > pali.ro...@gmail.com > > _______________________________________________ > kopete-devel mailing list > kopete-devel@kde.org > https://mail.kde.org/mailman/listinfo/kopete-devel > > -- Thanks, Joshua
_______________________________________________ kopete-devel mailing list kopete-devel@kde.org https://mail.kde.org/mailman/listinfo/kopete-devel