aboutsummaryrefslogtreecommitdiff
path: root/src/ido-menu-item.c
Commit message (Collapse)AuthorAgeFilesLines
* Set the global chat status more intelligentlyLars Uebernickel2012-09-181-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* ido_menu_item_set_menu_item: make sure g_free isn't called with dangling pointerLars Uebernickel2012-08-271-1/+1
|
* IdoMenuItem: clear target pointer in disposeLars Uebernickel2012-08-271-1/+4
|
* Increase spacing between icons and labelsLars Uebernickel2012-08-271-0/+1
|
* Indent application shortcutsLars Uebernickel2012-08-271-4/+15
| | | | | | This is done by setting their icon to the empty string, which IdoMenuItem interprets as "show a clear icon".
* IdoMenuItem: don't try to set state on stateless actionsLars Uebernickel2012-08-271-2/+4
|
* Show icons on status menu itemsLars Uebernickel2012-08-271-0/+378
This introduces IdoMenuItem, a GtkCheckMenuItem that can also show icons. This should go into libido at some point. Also, Im{App,Source}MenuItem could derive from it so that the GMenuItem-setting logic is only in one place.