Don't display the 'respond' button in presence notifications (#610032)
This button doesn't make anything as this event is not activatable. Plan is to
display better button at some point (see bug 597124) but for now let's remove
this button when it's useless.
Milo Casagrande [Tue, 16 Feb 2010 17:38:00 +0000 (18:38 +0100)]
[help] Fixed the Apply button on account creation
* Added a small section about proxy configuration
* Updated the errors topics
* Fixed a capitalization glitch, at least now titles are all the same
dispatcher_connection_new_requested_channel: fix a use-after-free crash
If an error occurs when requesting the channel, we call
dispatcher_request_failed which as the side effect of destroying the
DispatcherRequestData. When calling dispatcher_flush_outstanding_operations
we used to deference this pointer.
Fixes this crash by using the "self" pointer instead and reffing it to be sure
it stays valid.
accounts-dialog: block the selection 'changed' signal while removing a row
There is no need to call accounts_dialog_model_selection_changed while removing
as we are going to call accounts_dialog_model_select_first right after which
will update the selection.
This has the nice side effect of letting the "remove" button sensitive after
the account has been removed. The callback used to be called recursively twice:
once during the removal of the row and once when calling
accounts_dialog_model_select_first in accounts_dialog_update_settings.
As accounts_dialog_model_selection_changed is checking if a row is selected
*before* calling accounts_dialog_update_settings, the button was unsensitived
at the end of the first call of the callback. (#609575)
Sjoerd Simons [Mon, 15 Feb 2010 12:05:09 +0000 (12:05 +0000)]
Make the ChatWindow handle dropping items itself
Both GtkNotebook and EmpathChatWindow take action when drag-data-received is
signalled (moving the tab or adding a contact). Drag data is received after the
program has asked for it, usually when a drop occurs. Now this can be done in
two ways 0) Handle the drop signal yourself and call gtk_drag_get_data yourself
or 1) set GTK_DEST_DEFAULT_DROP and let gtk call it for you.
GtkNotebook takes option 0, EmpathyChatWindow decided to use option 1.. This
causes all kind of strange issues as the drag data is now requested twice and
thus the signal handlers are called twice causing all kinds of fun issues
(trying to move a tab that's already moved etc).
Change the drag dest flags to GTK_DEST_DEFAULT_HIGHLIGHT which provides some
extra visual clues but is other harmless and handle drops directly. Also remove
some cases where ChatWindow meddles with tab dragging as GtkNotebook will
handle these for us
Milo Casagrande [Sun, 14 Feb 2010 21:48:42 +0000 (22:48 +0100)]
[help] Updated help against new upcoming version
* Added logo to the front page
* Added a new small topic on the /help IRC command
* Added license page and license reference to all pages
* Added some links group
* Fixed validity errors
* Removed legal.xml
* Updated Makefile
Will Thompson [Fri, 12 Feb 2010 11:44:12 +0000 (11:44 +0000)]
Remove weird maybe-null account special case.
I'm pretty sure this is unnecessary. Consider the four cases:
value of data->account | 0 | x |
value of account | 0 | y | 0 | y |
a. data->account == NULL | t | f | t | f |
b. account == NULL | t | t | f | f |
c. a != b | f | t | t | f |
d. data->account == account | t | f | f | x == y |
e. equal | t | f | f | x == y |
In all cases, the value of equal is identical to what it would have been
if the else branch were always taken. So... let's just always take the
else branch.
Travis Reitter [Thu, 11 Feb 2010 23:09:32 +0000 (15:09 -0800)]
Separate the accounts dialog into its own program which works with the Gnome preferences and control center.
Where available, this also supports embedding the preferences dialog in the
"extensible-shell" control center (currently in development, but likely to be
mainlined soon).
Xavier Claessens [Wed, 10 Feb 2010 17:51:53 +0000 (18:51 +0100)]
Fix leaked GtkMenu
GtkMenu is initially unowned, which means ref_count is 1 and floating flag is set.
gtk_menu_popup temporarily adds a ref, that will be dropped when the menu is popped
down. So once the menu is popped up, we call g_object_ref_sink() to clear the floating
flag, and g_object_unref() to drop the initial ref. Only the ref from gtk_menu_popup
stay, and the menu will be finalized when it is popped down.
impl_signal_apply isn't called any more after the "import" page as this page
as a 'next' button now.
So we have to create the imported accounts when preparing the next page.
Create the account even when user chooses to not create other one after
As the account is not created in impl_signal_apply() any more, we have to be
smarter in impl_signal_prepare and call account_assistant_apply_account_and_finish in more cases.
That also means that account_assistant_account_enabled_cb doesn't have to
terminate the assistant if the salut account has not been created yet.
empathy-chat: acknowledge pending messages on empathy_chat_messages_read() (#608979)
Empathy displays this handy number of unread messages in the title bar, but
you can't replicate this behaviour using an Observer because Empathy
acknowledges the messages immediately. This patch makes it so that Empathy
only acknowledges the messages when it decrements the unread messages count.
N.B. EmpathyTpChat currently seems to assume that no other client is going to
acknowledge messages for channels, it is handling. This seems valid enough,
just pointing it out.