aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Stop using IndicatorServiceLars Uebernickel2012-12-031-27/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't require every consumer ("panel") to know about IndicatorServiceManager's protocol. Also, it ensures that objects are exported before the name is acquired, getting rid of a race condition (when a consumer tries to access objects in NameAppeared before they're exported). This patch also adds a --replace command line option -- replacing the INDICATOR_SERVICE_REPLACE_MODE environment variable.
* | | Prefix message action names with the right namespaceLars Uebernickel2012-12-031-10/+33
| | |
* | | Merge trunk and fix conflictsLars Uebernickel2012-11-302-101/+14
|\| |
| * | ImApplicationList: specify right number of args for 'message-added'Lars Uebernickel2012-11-291-1/+2
| | | | | | | | | | | | | | | | | | This fixes a crash on arm, because g_signal_emit was called with one argument too many.
| * | Add x-canonical-type to the root itemLars Uebernickel2012-11-281-0/+1
| | |
| * | messages-service.c: remove chat status actionLars Uebernickel2012-11-281-91/+0
| | | | | | | | | | | | | | | | | | It isn't used right now (the action group wasn't even exported on the bus) and would need to be refactored anyway once chat status is added back in.
| * | Add root menu itemLars Uebernickel2012-11-282-10/+13
| | | | | | | | | | | | | | | | | | | | | The action for that root item lives in ImApplicationList for now, because it owns the action group (which should probably factored into its own class at some point).
* | | Expose message actions on the bus (as GActions)Lars Uebernickel2012-11-301-1/+80
| | |
* | | Expose message actions in the phone menuLars Uebernickel2012-11-283-3/+15
| | | | | | | | | | | | | | | | | | And use com.canonical.indicator.messages.snapdecision as widget type if the message has actions.
* | | Use aa{sv} instead of a(ssgav) to communicate actions to the serviceLars Uebernickel2012-11-281-4/+4
| | |
* | | Pass message action and its parameter through to the applicationLars Uebernickel2012-11-271-0/+2
| | |
* | | Allow adding actions to MessagingMenuMessageLars Uebernickel2012-11-271-2/+4
|/ /
* | Tell applications when messages and sources are dismissedLars Uebernickel2012-11-261-7/+28
| | | | | | | | | | | | Right now, this is only used to clean up internal data structures in libmessaging-menu. It's not exposed to the application itself.
* | Use namespaced action names (src. and msg.) in phone menuLars Uebernickel2012-11-261-4/+4
| |
* | Remove sections and "Clear All" when no sources or messages are availableLars Uebernickel2012-11-261-10/+33
| |
* | Add "Clear All"Lars Uebernickel2012-11-262-1/+51
| |
* | Namespace actions with 'src' and 'msg' for sources and messagesLars Uebernickel2012-11-261-11/+25
| |
* | ImApplicationList: give message and source actions a boolean parameterLars Uebernickel2012-11-261-10/+16
| | | | | | | | | | | | The application will only be notified about the activation when this parameter is true. False denotes a dismissed item.
* | ImApplicationList: listen to activate signalLars Uebernickel2012-11-261-18/+58
| |
* | Canonicalize application idsLars Uebernickel2012-11-263-61/+88
| | | | | | | | | | | | | | | | | | | | Remove trailing '.desktop' and replace all dots by underscores to make GActionMuxer work (which uses the dot as a separator). In order to contain the canonicalization to ImApplicationList, its signals now contain string parameters to id and icon name instead of GDesktopAppInfo pointers.
* | ImPhoneMenu: expose application icon on message itemsLars Uebernickel2012-11-221-0/+12
| |
* | ImApplicationList: use specified state for source actions (uxsb)Lars Uebernickel2012-11-221-2/+4
| |
* | ImApplicationList: fix typosLars Uebernickel2012-11-211-2/+2
| | | | | | | | | | Thanks Olivier!
* | ImApplicationList: no need to include the dynamic data in the signalsLars Uebernickel2012-11-213-24/+8
| | | | | | | | | | This data can (and should) always be retrieved via actions.
* | Remove application messages when it unregisters itselfLars Uebernickel2012-11-211-10/+28
| |
* | Replace app when another process is registering with the same idLars Uebernickel2012-11-213-22/+15
| |
* | Remove applications from the menu when the disappear from the busLars Uebernickel2012-11-214-0/+90
| |
* | ImApplicationList: listen for added and removed signalsLars Uebernickel2012-11-202-36/+153
| |
* | messages-service: move app handling into separate classLars Uebernickel2012-11-204-161/+419
| | | | | | | | | | | | | | Add ImApplicationList, a class that manages the list of applictions that are currently registered with the messaging menu. It creates dbus proxies for running applications and sends signals when the app adds messages or sources.
* | messages-serivce: move menu creation into separate classLars Uebernickel2012-11-204-49/+319
| |
* | Use different menu attributes for the phone menuLars Uebernickel2012-11-161-6/+5
| |
* | Export menu for the phone clientLars Uebernickel2012-11-164-395/+169
| | | | | | | | | | | | | | | | This is a rough first draft: It only fetched the sources and messages from applications once and doesn't listen for further changes. This removes all code for the desktop menu for now.
* | Change application to service d-bus protocolLars Uebernickel2012-11-141-160/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the protocol was simply a menu model and an action group of the currently active sources. The service inserted the menu as a section into the indicator menu. This doesn't work anymore, because applications can (soon) expose individual messages, and the messaging menu doesn't always display all of those at once. This patch introduces a more specific d-bus API. That API is still considered private: applications have to use libmessaging-menu.
* | Move service .xml into a common directoryLars Uebernickel2012-11-132-48/+6
|/ | | | | | | | | | Both the service (in src/) and the client library (in libmessaging-menu/) need access to the dbus interface description file. Until now, it resided in src, with both Makefiles calling gdbus-codegen on it. This patch moves the file to common/ and builds a convenience library that contains only the generated code.
* Include fallback icon namesLars Uebernickel2012-09-282-3/+16
| | | | | And use g_icon_new_from_string in the indicator to make it load fallbacks.
* Request LARGE_TOOLBAR icons for the panelLars Uebernickel2012-09-251-3/+2
| | | | | To make it consistent with the other indicators.
* messages-service: define all global variables as staticLars Uebernickel2012-09-191-3/+3
|
* Use indicator-message icons with chat statusLars Uebernickel2012-09-182-30/+109
| | | | | | | | | | Changes the state of the "messages" action from a boolean (draws-attention) to a string (icon-name). This has the added benefit that more logic is moved from the plugin into the service. It also fixes an edge case: the messaging menu didn't have the blue icon after the service restarted (if anything was drawing attention).
* Set the global chat status more intelligentlyLars Uebernickel2012-09-185-47/+167
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* messages-services: don't call g_object_unref with NULLLars Uebernickel2012-09-141-1/+2
|
* Show menu separators between sectionsLars Uebernickel2012-09-131-18/+8
| | | | | | | | | | | | | Previously, gtk didn't support changing the menu model on an already-created GtkMenu. Since IndicatorObject doesn't allow changing the GtkMenu it exports to the panel, IndicatorMessages created a menu with a single section, into which the menu from the service was inserted (and removed when the service died). This led to seperators not being shown, because separators are only shown between top-level sections. Gtk now has gtk_menu_shell_bind_model, which allows us to get rid of top-level wrapper section.
* messages-service: update chat section when an app is removedLars Uebernickel2012-09-061-3/+11
|
* messages-service: fix merge errorLars Uebernickel2012-09-061-7/+5
| | | | | | | Check whether no apps are left in remove_section instead of remove_application, so that it is also done when an AppSection emits "destroy". This is a result of improper merging of the watch-desktop-files and hide-indicator branches.
* Merge lp:~larsu/indicator-messages/watch-desktop-filesLars Uebernickel2012-09-063-48/+128
|\
| * messages-service.c: remove redundant g_hash_table_removeLars Uebernickel2012-09-051-1/+0
| |
| * app-section.c: remove unused function app_section_get_nameLars Uebernickel2012-09-052-12/+0
| |
| * app-section.c: make destroy_signal staticLars Uebernickel2012-09-051-1/+1
| |
| * app-section: remove unused private memberLars Uebernickel2012-09-052-11/+0
| |
| * Watch desktop files for changesLars Uebernickel2012-09-052-26/+129
| | | | | | | | | | | | | | | | This introduces a slightly clumsy "destroy" signal for AppSection to notify outsiders that the desktop file was deleted. This will do for now, but a larger refactoring which pulls all the desktop-file-reading code out of appsection is in order.
* | Hide the indicator when no application is configured to use it.. Fixes: ↵Lars Uebernickel2012-09-052-54/+71
|\ \ | |/ |/| | | https://bugs.launchpad.net/bugs/661059, https://bugs.launchpad.net/bugs/1045039. Approved by jenkins, Charles Kerr.