| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Detailed action names are of the form action::target or action(target), so they
can't have colons or parens in them. This restriction does not apply to
messaging menu ids.
|
|
|
|
| |
_set_draws_attention
|
|
|
|
|
|
| |
The format string passed to g_variant_get calls for four parameters, but only
three were given.
|
| |
|
| |
|
|\
| |
| |
| |
| | |
libmessaging-menu: unexport action group and menu model on dispose.
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
| |
Instead, silently don't export menus and actions. The single warning about the
desktop id being invalid should be enough.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Up until now, the global chat status was set every time an application called
_set_status. Thus, global status really meant "status of the app that last
changed the status".
Now, the service remembers the chat status for each application and sets the
global status as a combination of all of application statuses. If applications
have different statuses, the menu items are shown in an inconsistent state.
This is implemented in IdoMenuItem by making it accept state as an array of
strings in addition to a single string. It is drawn inconsistent if the state
contains the menu item's target value in addition to other values.
When the global status is changed through the messaging menu, the service
doesn't update the action immediately anymore. Instead, it notifies all
applications about the change via the "status-changed" signal. Applications
must call _set_state to acknowledge that they have indeed changed their state.
This is consistent with libmessaging-menu's documentation and design.
Also, the SetStatus D-Bus call was missing a "desktop-id" parameter to tell the
menu which application changed status. Changing this doesn't break existing
apps, as the D-Bus interface is considered private to indicator-messages.
|
|
|
|
|
|
|
|
|
| |
The application's status only changes when it calls _set_status, so it's wrong
to set the internal status when the global status changes.
This shouldn't be a problem in practice, as app->status is not accessible from
the API.
|
|
|
|
|
|
|
|
| |
Only notify the service about status if the application has actually called
messaging_menu_app_set_status. This saves a d-bus call per non-chat
application and - more importantly - doesn't make the messaging menu go into
"unknown status" mode when one application is reporting 'online' status.
|
| |
|
|
|
|
|
|
|
| |
The most common case when inserting a timed source is to insert a source with
the current time. Emphasize this in the documentation by linking to the
convenience methods from the _with_time variants.
|
| |
|
| |
|
|
|
|
|
|
|
| |
The dbus path was set to /com/canonical/indicator/messages for all
MessagingMenuApps that a process created. This patch adds the desktop id into
the path.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Adds an overview description of the messaging menu and documentation for
enums, properties, and signals.
|
| |
|
|
|
|
|
|
| |
Also, enable warnings by default and only include messaging-menu.[ch] in the
gir.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Applications shouldn't leave message sources that the user clicked on in the
messaging menu. This patch spares apps from having to call remove_source in
all of their handlers.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Everthing goes through GIcon now, using g_icon_{to,new_for}_string to set a
string attribute on the menu item. The attribute is prefixed x-canonical- for
now.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
GTupleAction is a bit simpler to handle when the action state contains a tuple
of things that are independently modified most the time. It might be useful
for other indicators as well.
This implicitly also fixes the bug that libmessaging-menu did not preserve the
other values in the action state when updating count, time, or string.
|
| |
|
|
|
|
|
|
| |
AppSections watch those flags for associated sources and mux them into a
draws-attention property for the whole section.
|
| |
|
| |
|
|
|