Xavier Claessens [Sat, 30 Jun 2007 21:12:20 +0000 (21:12 +0000)]
Fix a leaked ref.
2007-06-30 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/empathy-account-widget-generic.c: Fix a leaked ref.
* src/empathy.c: If we get a chatroom we have to create an
EmpathyTpChatroom object.
* src/Makefile.am: Fix build system, programs links to libempathy-gtk
and libempathy.
* configure.ac: libempathy does not depends on libgnome-vfs.
* libempathy-gtk/empathy-status-icon.c:
* libempathy-gtk/empathy-chat.c:
* libempathy/empathy-tp-chat.c:
* libempathy/empathy-tp-chat.h:
* libempathy/empathy-filter.c:
* libempathy/empathy-filter.h:
* libempathy/empathy-filter.xml:
* libempathy/Makefile.am: Filter incoming text channels and make
status icon flash when there we receive a new message. Dispatch the
channel only when we get a message and the user click on the icon.
Xavier Claessens [Fri, 22 Jun 2007 17:46:51 +0000 (17:46 +0000)]
Install libempathy and libempathy-gtk and make their API public.
2007-06-22 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/libempathy-gtk.pc.in:
* libempathy-gtk/Makefile.am:
* libempathy/libempathy.pc.in:
* libempathy/Makefile.am:
* configure.ac: Install libempathy and libempathy-gtk and make their
API public.
Xavier Claessens [Fri, 22 Jun 2007 10:47:42 +0000 (10:47 +0000)]
Rename all filenames starting with "gossip" by "empathy", change namespace
2007-06-22 Xavier Claessens <xclaesse@gmail.com>
* libempathy/*.[ch]:
* libempathy-gtk/*.[ch]:
* src/*.[ch]: Rename all filenames starting with "gossip" by "empathy",
change namespace of all gossip_*() functions to empathy_*().
Fixes bug #444490 (Mario Danic, Xavier Claessens).
Xavier Claessens [Thu, 21 Jun 2007 15:19:49 +0000 (15:19 +0000)]
We show in our roster all contacts members and remote-pending of subscribe
2007-06-21 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/empathy-contact-dialogs.c:
* libempathy-gtk/gossip-contact-list-store.c:
* libempathy-gtk/gossip-contact-list-view.c:
* libempathy/empathy-contact-manager.c:
* libempathy/empathy-tp-contact-list.c:
* libempathy/empathy-contact-list.c:
* libempathy/empathy-contact-list.h:
* libempathy/gossip-contact.c: We show in our roster all contacts
members and remote-pending of subscribe list. Adding/Removing a contact
only add/remove from subscribe list. Accept/Reject a contact in
local-pending of publish list is done using _process_pending().
Xavier Claessens [Fri, 15 Jun 2007 13:02:53 +0000 (13:02 +0000)]
Prepare for slack time when coming back from auto away. Not yet fully
2007-06-15 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/empathy-status-icon.c:
* libempathy-gtk/gossip-presence-chooser.c:
* libempathy-gtk/gossip-presence-chooser.h:
* libempathy/empathy-idle.c:
* libempathy/empathy-idle.h: Prepare for slack time when coming back
from auto away. Not yet fully implemented.
Xavier Claessens [Thu, 14 Jun 2007 13:04:45 +0000 (13:04 +0000)]
Empathy is no more splitted into 2 processes. It makes debugging more
2007-06-14 Xavier Claessens <xclaesse@gmail.com>
* src/org.gnome.Empathy.Chat.service.in:
* src/empathy-accounts.c:
* src/empathy-accounts-main.c:
* src/empathy-chat-main.c:
* src/empathy.c:
* src/Makefile.am:
* src/empathy-main.c:
* libempathy/gossip-chatroom-manager.c:
* autogen.sh: Empathy is no more splitted into 2 processes. It makes
debugging more difficult when emmpathy-chat crashes. It's also more
optimised like that since contact objects can be shared.
Xavier Claessens [Thu, 14 Jun 2007 10:45:38 +0000 (10:45 +0000)]
Do not create log directory for a chat if there is no messages to put in.
2007-06-13 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-log-window.c:
* libempathy-gtk/gossip-chat-window.c:
* libempathy/empathy-log-manager.c:
* libempathy/empathy-log-manager.h: Do not create log directory for a
chat if there is no messages to put in. Show logs and information for
the contact we are speaking with in the chat window menu.
We can now add a new contact. EmpathyContactWidget can change the contact
2007-06-09 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/empathy-main-window.c:
* libempathy-gtk/empathy-contact-widget.glade:
* libempathy-gtk/empathy-contact-dialogs.c:
* libempathy-gtk/empathy-contact-dialogs.h:
* libempathy-gtk/empathy-contact-widget.c: We can now add a new contact.
EmpathyContactWidget can change the contact it's displaying on-the-fly,
like that we can display info when typing the contact ID we want to
add to our contact list.
* libempathy/empathy-tp-contact-list.c: Fix a refcount bug.
Do not save when closing the dialog. Update information in real-time and
2007-06-08 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/empathy-contact-dialogs.c:
* libempathy-gtk/empathy-contact-widget.c:
* libempathy-gtk/empathy-contact-widget.h: Do not save when closing the
dialog. Update information in real-time and just provides a "Close"
button. That's more GNOME spirite.
* libempathy/empathy-tp-contact-list.c:
* libempathy/gossip-contact.h:
* libempathy/gossip-contact.c: New methods:
gossip_contact_add/remove_group(). This fixes leaks when a contact is
added/removed from a group.
New dialog: EmpathySubscriptionDialog. It uses EmpathyContactWidget to
2007-06-06 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/empathy-status-icon.c:
* libempathy-gtk/empathy-subscription-dialog.glade:
* libempathy-gtk/empathy-contact-widget.c:
* libempathy-gtk/gossip-contact-list-view.c:
* libempathy-gtk/empathy-subscription-dialog.c:
* libempathy-gtk/Makefile.am:
* libempathy-gtk/empathy-subscription-dialog.h:
* libempathy/empathy-tp-contact-list.c: New dialog:
EmpathySubscriptionDialog. It uses EmpathyContactWidget to display
information about the contact who wants to get your presence. This
dialog appears when clicking on the status icon when it blinks. You
can also remove contacts when right-click on it in the roster.
New widget: EmpathyContactWidget. It displays information about a contact,
2007-06-06 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/empathy-status-icon.c:
* libempathy-gtk/empathy-contact-widget.glade:
* libempathy-gtk/empathy-contact-widget.c:
* libempathy-gtk/empathy-contact-widget.h:
* libempathy-gtk/Makefile.am: New widget: EmpathyContactWidget. It
displays information about a contact, it can be used in any kind of
dialog which needs to display contact information like alias, groups,
avatar, etc. If the contact is the selfcontact information are editable.
* libempathy/empathy-tp-contact-list.c: Do not take care of subscription
changes.
* libempathy/gossip-contact.c: Use
gossip_presence_state_get_default_status (MC_PRESENCE_OFFLINE)
when there is no presence.
Add support for blinking when there is an event. Make use of EmpathyIdle
2007-06-06 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/empathy-status-icon.c: Add support for blinking when
there is an event. Make use of EmpathyIdle for presence handling. Add
an event when a contact requets subscription.
* libempathy-gtk/gossip-contact-list-store.c:
* libempathy-gtk/gossip-contact-list-view.c:
* libempathy/empathy-contact-manager.c:
* libempathy/empathy-tp-contact-list.c:
* libempathy/empathy-tp-chatroom.c:
* libempathy/empathy-contact-list.c:
* libempathy/empathy-contact-list.h: get_contacts() is renamed to
get_members(). Adding a signal and a method for local-pending with
contacts with the message. Rework completely the contact-list handling in
EmpathyTpContactList to follow tp spec.
* libempathy/empathy-idle.c:
* libempathy/empathy-idle.h: Add properties for the state and the
status message. EmpathyIdle is now a singleton to manager self presence.
Set use_stock for button_connect to False, to avoid a crasher when opening
2007-06-03 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-accounts-dialog.glade: Set use_stock for
button_connect to False, to avoid a crasher when opening the accounts
window with GTK+ trunk. Fixes bug #439931.
* libempathy-gtk/gossip-chat.c: Do not add backlog for chatrooms and
do not log backlog from jabber server.
Add all properties described by TP spec for the Text channel on
2007-06-03 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-group-chat.c:
* libempathy-gtk/gossip-private-chat.c:
* libempathy-gtk/gossip-chat.c:
* libempathy-gtk/gossip-chat.h:
* libempathy/empathy-tp-chat.c: Add all properties described by TP spec
for the Text channel on EmpathyTpChat. Make use of "name" and "subject"
properties in GossipGroupChat.
Fix crash when there is no log available for a chat. Fix a crash when
2007-06-02 Xavier Claessens <xclaesse@gmail.com>
* libempathy/empathy-log-manager.c: Fix crash when there is no log
available for a chat.
* libempathy/empathy-tp-contact-list.c: Fix a crash when destroy signal
is emitted before StatusChanged.
Set default presence to available if there is no presence iface.
2007-06-02 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-group-chat.c:
* libempathy/empathy-tp-contact-list.c:
* libempathy/gossip-contact.c: Set default presence to available if
there is no presence iface.
Monitor changes on chatrooms.xml file and relead it when it's modified.
2007-06-01 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-chatrooms-window.c:
* libempathy-gtk/gossip-chat-window.c:
* libempathy/gossip-chatroom.c:
* libempathy/gossip-chatroom-manager.c:
* configure.ac: Monitor changes on chatrooms.xml file and relead it
when it's modified. connect chatroom-added/removed in some places where
needed.
* libempathy-gtk/gossip-chat-window.h:
* libempathy-gtk/gossip-chat-window.c: Do not use deprecated
gtk_object_sink(). Implement favorite chatroom features. Find a chat
by comparing the account AND the chat ID.
* src/empathy-chat-main.c:
* libempathy/empathy-tp-chat.h:
* libempathy/empathy-tp-chat.c:
* libempathy/gossip-utils.h:
* libempathy/gossip-utils.c: empathy_tp_chat_get_id() returns the Text
channel's name. The chat ID is unique only for a specified account.
* libempathy/empathy-tp-contact-list.c: Fix some leaks and add a FIXME
comment for a leak not yet fixed.
* TODO: Would be cool to have a glade catalog for libempathy-gtk.
Xavier Claessens [Sat, 26 May 2007 14:10:47 +0000 (14:10 +0000)]
Do not highlight contacts already known when creating the contact list. Do
2007-05-26 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-contact-list-store.c: Do not highlight contacts
already known when creating the contact list.
* libempathy/empathy-tp-contact-list.c: Do not set alias if DBus
returns an error.
* libempathy/empathy-idle.c: Do not set status message to
"Extended autoaway", let user's message unchanged.
Xavier Claessens [Fri, 25 May 2007 11:05:23 +0000 (11:05 +0000)]
Do not use the server entry's value if it's hidden. Do not highlight
2007-05-25 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-new-chatroom-dialog.c: Do not use the server
entry's value if it's hidden.
* libempathy-gtk/gossip-contact-list-view.c:Do not highlight groups
when adding them in the roster.
* libempathy/empathy-tp-contact-list.c: DO not create new GossipContact
object in presence/avatar/alias changed signal if we don't already know
that contact from a contact list channel. This should fix DBus max
pending calls limit reached in some cases.
Xavier Claessens [Thu, 24 May 2007 21:58:26 +0000 (21:58 +0000)]
Preset the server only for jabber protocol to conference.server. This
2007-05-25 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-new-chatroom-dialog.c: Preset the server only
for jabber protocol to conference.server. This fixes a warning.
* libempathy-gtk/gossip-group-chat.h:
* libempathy-gtk/gossip-group-chat.c: gossip_group_chat_set_topic() is
a public function.
* libempathy-gtk/empathy-images.h:
* libempathy-gtk/empathy-main-window.glade:
* libempathy-gtk/empathy-status-icon.glade: Make use of
empathy-new-message icon name.
* libempathy-gtk/gossip-contact-list-store.c: By default we sort by
contacts names.
* libempathy-gtk/gossip-chat.c: Do not display composing state if
it's our own contact that is composing.
* src/empathy-chat-main.c:
* libempathy/empathy-tp-chat.c:
* libempathy/empathy-tp-chat.h: Make possible to build the id based on
the account and the channel's name. For private chats that means the
contact's id.
* libempathy-gtk/gossip-chat-window.c: Un-comment the code related to
chatrooms that is now implemented. We can now Show/Hide contact list
for group chats, DnD contact on the window to begin a discussion, join
a new chatroom.
* libempathy-gtk/gossip-account-chooser.c: Add a FIXME message.
* data/22x22/empathy-new-message.png:
* data/22x22/empathy-proto-irc.png:
* data/22x22/Makefile.am:
* data/32x32/empathy-proto-irc.png:
* data/32x32/Makefile.am:
* data/gtalk.profile:
* data/16x16/empathy-new-message:
* data/16x16/empathy-message-new.png:
* data/16x16/empathy-proto-irc.png:
* data/16x16/Makefile.am:
* data/scalable/empathy-proto-irc.svg:
* data/scalable/Makefile.am:
* data/irc.profile: Adding icons for empathy-new-message and IRC
protocol. Make use of the irc icon in the irc profile.
Xavier Claessens [Mon, 21 May 2007 15:27:53 +0000 (15:27 +0000)]
If we are offline do not set away on idle. If we are already away restore
2007-05-21 Xavier Claessens <xclaesse@gmail.com>
* libempathy/empathy-idle.c: If we are offline do not set away on idle.
If we are already away restore to available when we are no mode idle.
Do no modify status message.
Xavier Claessens [Sun, 20 May 2007 22:34:10 +0000 (22:34 +0000)]
Implementing basic chatroom support. Actually it works only if we get
2007-05-21 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-group-chat.c:
* libempathy-gtk/gossip-group-chat.h:
* libempathy-gtk/gossip-private-chat.c:
* libempathy-gtk/gossip-private-chat.h:
* libempathy-gtk/gossip-group-chat.glade:
* libempathy-gtk/Makefile.am:
* src/empathy-chat-main.c:
* libempathy/empathy-tp-contact-list.c:
* libempathy/gossip-telepathy-group.c:
* libempathy/gossip-telepathy-group.h:
* libempathy/empathy-tp-chatroom.c:
* libempathy/empathy-tp-chatroom.h: Implementing basic chatroom support.
Actually it works only if we get invited in a chatroom.
Xavier Claessens [Sun, 20 May 2007 10:26:38 +0000 (10:26 +0000)]
Allow to set custom function for getting groups of a contact. Make
2007-05-20 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-contact-list-store.c: Allow to set custom
function for getting groups of a contact. Make possible to have groups
for presence or role/affiliation in chatroom for example.
* libempathy-gtk/gossip-contact-list-store.h: Allow to set custom
function to handle DnD of contact. Useful when a custom function is set
for groups.
* src/empathy-chat-main.c: Minor fix.
* TODO:
* po/POTFILES.in: Updated.
Xavier Claessens [Sat, 19 May 2007 18:48:11 +0000 (18:48 +0000)]
Split GossipContactList into two objects: GossipContactListStore
2007-05-19 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-contact-list-store.c:
* libempathy-gtk/gossip-preferences.c:
* libempathy-gtk/gossip-contact-list-store.h:
* libempathy-gtk/gossip-contact-list.c:
* libempathy-gtk/gossip-contact-list.h:
* libempathy-gtk/empathy-main-window.c:
* libempathy-gtk/gossip-contact-list-model.c:
* libempathy-gtk/gossip-contact-list-model.h:
* libempathy-gtk/Makefile.am:
* libempathy/empathy-marshal.list: Split GossipContactList into
two objects: GossipContactListStore inheriting from GtkTreeStore and
GossipContactListView inheriting from GtkTreeView. This makes
easier to build new UI widgets reusing the GtkTreeModel.
Xavier Claessens [Wed, 16 May 2007 16:26:31 +0000 (16:26 +0000)]
New object EmpathyIdle to manage autoaway and extended autoaway states.
2006-05-16 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/empathy-status-icon.c:
* libempathy/empathy-idle.c:
* libempathy/empathy-idle.h:
* libempathy/Makefile.am:
* po/POTFILES.in: New object EmpathyIdle to manage autoaway and
extended autoaway states.
Xavier Claessens [Tue, 15 May 2007 19:05:19 +0000 (19:05 +0000)]
Set bugzilla information in desktop file and add it to POTFILES.in
2006-05-15 Xavier Claessens <xclaesse@gmail.com>
* configure.ac:
* data/empathy.desktop.in:
* data/Makefile.am:
* data/empathy.desktop.in.in:
* po/POTFILES.in: Set bugzilla information in desktop file and add it
to POTFILES.in