commit 61c87a8e66bfa1d7a823a588b073e3922edc78c3 Author: Vincent Untz Date: 2011-08-12 libmenu: Support XDG_CURRENT_DESKTOP https://bugzilla.gnome.org/show_bug.cgi?id=653440 M libmenu/desktop-entries.c commit f0e41152be32a3e07772b53a6c3a0d4dbb0545d9 Author: Colin Walters Date: 2011-08-02 gmenu_tree_get_entry_by_id: New API It's useful for gnome-shell if we have an index by desktop file ID to the tree entry. The cost is very small. https://bugzilla.gnome.org/show_bug.cgi?id=655868 M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h commit 2a17c07927cfc23c9837969ac43f2fbcf9e433d7 Author: Vincent Untz Date: 2011-07-23 build: Require gio-unix-2.0 >= 2.29.15 g_desktop_app_info_get_show_in() was pushed, but after 2.29.14. M configure.ac commit 3fae17cc6e86b3e988df481a05a386e005b7637c Author: Vincent Untz Date: 2011-07-22 editor: Stop editing settings.menu We dropped that file a while ago. We could replace this with gnomecc.menu, but gnome-control-center loads the file from the system configuration and explicitly ignore the user changes there... M simple-editor/GMenuSimpleEditor/menutreemodel.py commit 1cb6fe8f97cc5a12933bd77d278a16827e763c13 Author: Vincent Untz Date: 2011-07-22 libmenu: Unset GMenuTree:menu-basename if GMenuTree:menu-path is set Since GMenuTree:menu-basename has a non-NULL default value, we really want to unset it if the user sets GMenuTree:menu-path, to avoid any potential confusion. We need a constructor to do this magic, as the properties are construct-only, and doing this anywhere else would be too late. M libmenu/gmenu-tree.c commit 02d0f749a1c4f406fa773254c2095e6c4f3d5979 Author: Vincent Untz Date: 2011-07-21 libmenu: Group GMenuTreeFlags flags in a pseudo-consistent way Since we're breaking ABI, let's go crazy and change the value of flags. Grouping flags by some sort of meaning (include ones, show ones, misc. ones) makes the header a bit nicer to read. M libmenu/gmenu-tree.h commit 9e2b4abdc8ec63e20f4c2a52b3047f1d767ebd8d Author: Vincent Untz Date: 2011-07-21 editor: Port to introspection-based gmenu bindings M simple-editor/GMenuSimpleEditor/maindialog.py M simple-editor/GMenuSimpleEditor/menutreemodel.py commit 6f4cf16ec2633ebc62cb91759dbfd01923cd3c73 Author: Vincent Untz Date: 2011-07-21 libmenu, util: Rename gmenu_tree_get_menu_path() Renamed to gmenu_tree_get_canonical_menu_path(), to avoid any potential confusion with the menu-path property. M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M util/test-menu-spec.c commit 8bc90706c9bfbf0d55c2eaddc859afb4a52a3281 Author: Vincent Untz Date: 2011-07-21 libmenu: Add API to load menu file from full path Add gmenu_tree_new_for_path() and GMenuTree:menu-path. M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h commit c653bbe8904acca4340f70574357d843e549035c Author: Vincent Untz Date: 2011-07-21 libmenu, util: Rename GMenuTree:name to GMenuTree:menu-basename This is a much clearer name for the property, else people might assume they can use a full path, or something that is not a basename. Note that a relative path will work, but that really should not be of much use, hence the choice of basename. M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M util/gnome-menus-ls.js commit c45596c3d87fa3e344b9e9a32c51190e12d67d93 Author: Vincent Untz Date: 2011-07-21 libmenu: Fix critical warning when trying to load "" menu Yes, this is a weird use of the API, but still. M libmenu/gmenu-tree.c commit 4c85e0ee58a4e8b11f1e5527909eefd02133a72a Author: Vincent Untz Date: 2011-07-21 libmenu: Default GMenuTree::name property to "applications.menu" This is useful for introspection bindings, since users will not necessarily think of setting the menu name property at construct time. And it's a saner default than NULL. M libmenu/gmenu-tree.c commit d8be0079a48bb7b486cc2b1355ee0cea2596fecb Author: Vincent Untz Date: 2011-07-21 libmenu: Do not keep internal load_error in GMenuTree This is not used, and it actually gets corrupted at some point (since g_propagate_error means we lose the ownership of the GError). M libmenu/gmenu-tree.c commit bb3e154f60f81e97178b0cb8457827b29ee20692 Author: Vincent Untz Date: 2011-07-21 build: Bump version to 3.1.4 This is needed so users can know which version to require for the new API. M configure.ac commit 70e9aaacbe0783fe11b7c69310873e0dc638b274 Author: Vincent Untz Date: 2011-07-21 libmenu: Drop GMenuTreeDirectoryRoot This was only used internally, but with no reason. M libmenu/gmenu-tree.c commit 17961198a182d5f68e4773427b1c8f735e0a01cd Author: Vincent Untz Date: 2011-07-21 libmenu: Make gmenu_tree_directory_get_icon() return a GIcon It's much better to use GIcon than icon name strings. M libmenu/desktop-entries.c M libmenu/desktop-entries.h M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h commit 3c6ad47de8cfc3581fee66107a41ba4b39dd0de0 Author: Vincent Untz Date: 2011-07-21 libmenu: Correctly deal with OnlyShowIn/NotShowIn We're using new glib API for this. Also, we do not remove entries because of OnlyShowIn/NotShowIn before processing the layout, as we might want to add a GMenuTreeFlags value in the future, to include .desktop files that are excluded because of OnlyShowIn/NotShowIn. M configure.ac M libmenu/desktop-entries.c M libmenu/desktop-entries.h M libmenu/gmenu-tree.c commit 66557ef586adff091c8ce69a2f472da00dcd89ba Author: Vincent Untz Date: 2011-07-04 build: Drop check for -fno-strict-aliasing support This was only needed for our previous python bindings. M configure.ac commit fc5492ab992fde2b8d378ed91f0b4c6c62cbe69b Author: Colin Walters Date: 2011-06-14 libmenu: Dispose of source before context to avoid possible double unref M libmenu/menu-layout.c commit 21062503fff272872fdfc5fb468288b1faa85127 Author: Colin Walters Date: 2011-06-14 libmenu: Make refcounts volatile as g_atomic_* expect M libmenu/gmenu-tree.c commit b8b2471e8a3bd0f2d469dea41067721919359c22 Author: Vincent Untz Date: 2011-06-14 libmenu: Correctly look up at NoDisplay for .desktop files We were using Hidden instead. This requires glib 2.29.9. M configure.ac M libmenu/desktop-entries.c commit 6ba57847943cd74839a306ed6c8926401e370b85 Author: Vincent Untz Date: 2011-06-12 libmenu: Simplify some code M libmenu/desktop-entries.c commit 2c47cdbebb15715d91d95aa4babc2de7a993dbd4 Author: Vincent Untz Date: 2011-06-12 libmenu: Fix loading of .directory files We were always returning FALSE, leaking some data and not displaying a debug message in case of error (like for .desktop files). M libmenu/desktop-entries.c commit 6aff671fbeccb5ff7ec3290d0fd6345fbbb632c8 Author: Vincent Untz Date: 2011-06-12 util: Fix build after gmenu_tree_alias_get_item_type() renaming M util/test-menu-spec.c commit 398fd5c145524b7961c9d1dbc105c1cd49d98103 Author: Vincent Untz Date: 2011-06-12 doc: Do not reference non-existing gmenu_tree_iter_get_next_type() This is gmenu_tree_iter_next(). M libmenu/gmenu-tree.c commit e71520d5d2ccc4392b046e5feb84349d71a2c69f Author: Vincent Untz Date: 2011-06-12 libmenu: Handle GenericName for .directory files While we do not strictly need them right now, this is allowed by the specification and might be used later. M libmenu/desktop-entries.c M libmenu/desktop-entries.h M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h commit f29590a8c3771af47debf75c929170fe59877dce Author: Vincent Untz Date: 2011-06-12 libmenu: Fix desktop_entry_copy() for .desktop file We were not dealing with the appinfo field at all. M libmenu/desktop-entries.c commit 0d5f1909518f86d7283cde404e9470e6f55a42d2 Author: Vincent Untz Date: 2011-06-12 libmenu: Rename gmenu_tree_alias_get_item_type Renamed to gmenu_tree_alias_get_aliased_item_type, to avoid any potential confusion about the typoe of what item this is. M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h commit 4d96af04a6d1d2e211c2005cc9d03d2b0e1a85c0 Author: Vincent Untz Date: 2011-06-12 libmenu: Drop gmenu_tree_entry_get_is_nodisplay() from header The function got dropped, and having a similar function in GDesktopAppInfo would be the right thing to do. M libmenu/gmenu-tree.h commit f587ca8642070892fd4172ab01735c4a0789dc19 Author: Vincent Untz Date: 2011-06-12 libmenu: Remove unneeded cast M libmenu/gmenu-tree.c commit 2167c042bc089ba1e570ac9ba60dcdddb1d1d3c3 Author: Vincent Untz Date: 2011-06-12 libmenu: Rename desktop_entry_desktop_get_icon to desktop_entry_get_icon The additional desktop in the name was confusing. M libmenu/desktop-entries.c M libmenu/desktop-entries.h M libmenu/gmenu-tree.c commit 0f7d374006f32559893629fba47fecfaa031d4f8 Author: Vincent Untz Date: 2011-06-12 libmenu: Fix getting the flags property This was not handled at all. M libmenu/gmenu-tree.c commit 0eaed2f94d52a8b03263e5976a4d16104546929c Author: Vincent Untz Date: 2011-06-12 libmenu: Drop support for "KDE Desktop Entry" group This was deprecated for years, and with the move to GDesktopAppInfo, we don't support this group for .desktop files anyway, so it makes no sense to keep supporting it for .directory files. M libmenu/desktop-entries.c commit 536c6d510f53bbf76ff0c4134e935c8e7cf552da Author: Vincent Untz Date: 2011-06-12 libmenu: Use explicit GMENU_TREE_FLAGS_NONE instead of 0 M libmenu/gmenu-tree.c commit d5da147d09ca09e593e4a88c11b782ee7479268f Author: Vincent Untz Date: 2011-06-12 Spaces/tabs fixes M libmenu/desktop-entries.c M libmenu/desktop-entries.h M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M libmenu/menu-layout.c commit 6920649082e3c0be363094054eecc9f1185a8185 Author: Vincent Untz Date: 2011-06-08 util: Do not call exit() in test tool A simple return statement is enough. M util/test-menu-spec.c commit f88d8c4dd17055932a6b335c008b496327d536b3 Author: Vincent Untz Date: 2011-06-08 build: Fix pkg-config to require gio-unix-2.0 and not glib-2.0 We reference gio/gdesktopappinfo.h in our public header. M libmenu/libgnome-menu-3.0-uninstalled.pc.in M libmenu/libgnome-menu-3.0.pc.in commit cfb20fb779eeed93a0c9571a8340251c8964ef69 Author: Vincent Untz Date: 2011-06-08 gi: Add/Fix annotations to remove introspection warnings M libmenu/gmenu-tree.c commit 91a698f7860b3d8d5f29ffcdfcdbadf0cc347bad Author: Vincent Untz Date: 2011-06-08 build: Version the library name and the pkg-config file The library is now libgnome-menu-3, the pkg-config file is libgnome-menu-3.0, the header directory is gnome-menus-3.0 and the gettext package is gnome-menus-3.0. This way, it's possible to keep the old libgnome-menu around if some applications still need it. M configure.ac M libmenu/Makefile.am R080 libmenu/libgnome-menu-uninstalled.pc.in libmenu/libgnome-menu-3.0-uninstalled.pc.in R072 libmenu/libgnome-menu.pc.in libmenu/libgnome-menu-3.0.pc.in M util/Makefile.am commit 669f03a403ca83facf83020e9c37b894c67f1b9b Author: Vincent Untz Date: 2011-06-08 build: Remove old python-related build stuff M configure.ac D m4/python.m4 commit 1cf4482fa3416b98916653db23b40edb26d8646d Author: Colin Walters Date: 2011-04-21 Bump to GMenu-4.0.gir; this matches the package version. M libmenu/Makefile.am commit 5aa2c53ef25f684a848312455dad396f28c96a90 Author: Colin Walters Date: 2011-04-20 Replace Python example with JS M util/Makefile.am A util/gnome-menus-ls.js D util/gnome-menus-ls.py commit f0101da1c3df623f5a0023d9c787535e89476291 Author: Colin Walters Date: 2011-04-20 Remove GMenuTreeItem from public API gmenu_tree_directory_get_contents() wasn't actually bindable because there's no way to express to introspection the inheritance hierarchy (and to do the runtime type checking necessary via gmenu_tree_item_get_item_type()). Therefore, drop it, and instead add explicit functions where each type is needed. So for gmenu_tree_directory_get_contents(), we instead add an explicit typesafe iterator object. The only other instance was gmenu_tree_alias. Note that gmenu_tree_item_ref() and gmenu_tree_item_unref() remain; they're C only, and already just took "gpointer". M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M util/test-menu-spec.c commit 76895ad01d450696519425d03beab8845230397b Author: Colin Walters Date: 2011-04-20 introspection: scan gmenu-tree.c Now that we're actually adding gtk-doc. M libmenu/Makefile.am commit 0877f894a6c74f0dc7522e9cb93cc223097d1494 Author: Colin Walters Date: 2011-04-18 Document a few functions M libmenu/gmenu-tree.c commit bd78be7ad777f70d2390309507162f5dc267ea2f Author: Colin Walters Date: 2011-04-18 gmenu_tree_entry_get_parent: New function Earlier we moved this down to GMenuTreeDirectory, but it turns out gnome-shell does expect to be able to get the parent of a GMenuTreeEntry. In the future I want to nuke that code, but for now just readd this functionality. M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h commit 94b2ea48a5221bd6dc82b8b468bb85ea6d420e57 Author: Colin Walters Date: 2011-04-18 layout: Use thread-default main context for callbacks Rather than hardcoding g_idle_add(); this gives us future flexibility for thread support. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/menu-layout.c commit 52f9f7017779b6691e2b3f46f6c24e37f219abbf Author: Colin Walters Date: 2011-04-17 Remove gmenu_tree_directory_get_tree() This causes a circular reference internally, and API consumers can just keep track of it easily enough externally. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h commit 5d1e03adc206f52dec82f2b5e8831022321cb1f8 Author: Colin Walters Date: 2011-04-17 Switch to gslice for most data This is more efficient for the small items we have here. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c commit 4f47a654d91cc3b08d46ef518a42c7f484f01be3 Author: Colin Walters Date: 2011-04-17 Rename gmenu_tree_get_menu_file() to gmenu_tree_get_menu_path() Document it and clean it up. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M util/test-menu-spec.c commit 13920c91868f77a964b4498b00072563608f583e Author: Colin Walters Date: 2011-04-17 Further propagate GError for gmenu_tree_load_sync() We had some GError use internally; clean things up so we propagate it more consistently to the top of gmenu_tree_load_sync(). https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c commit 8ecb1aa5d762d25f787002dd001e92e404efabe9 Author: Colin Walters Date: 2011-04-17 Add explicit gmenu_tree_load_sync() Rather than having _get_root_directory() be lazy, require users to explicitly load via this function (or in the future, an async variant). https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M util/test-menu-spec.c commit a2bda1462b6b46b1c8e47a19977f15c294226ef9 Author: Colin Walters Date: 2011-04-17 Lower gmenu_tree_item_get_parent to gmenu_tree_directory_get_parent Introspection doesn't know about the GMenuTreeItem "subclassing", so we would have to duplicate the _get_parent method on all subclasses - but in practice it only seems to be used on directories, so just lower it there. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M util/test-menu-spec.c commit 14c163c8a8d35fe2daa9c0973495fb4462a3ddec Author: Colin Walters Date: 2011-04-17 GMenuTreeItem: Register boxed types, drop user data This was a hack for the static Python bindings, no longer necessary after we register proper boxed types for the structures. Convert the refcount to an atomic integer too; the _unref may be called from a garbage collector thread in bindings. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h commit 8eaf04da66be9437c518ac21e27cbbb67abcd3f5 Author: Colin Walters Date: 2011-04-17 Rename gmenu_tree_item_get_type() to _get_item_type() The _get_type() namespace suffix is reserved for GType. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M util/test-menu-spec.c commit 474b86aac925d7b45d3bbbaba9111719ca0d9b8a Author: Colin Walters Date: 2011-04-17 Replace monitor API with a simple "changed" signal So much simpler... https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M util/test-menu-spec.c commit 21672a2d0ee94a9588fc15cf0cd4c5ffdfc818c1 Author: Colin Walters Date: 2011-04-17 Convert to GObject, drop static Python bindings GMenuTree is now a GObject. Drop the static Python bindings, since introspection gives us coverage of most of the API now. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M Makefile.am M configure.ac M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M libmenu/menu-monitor.c D python/Makefile.am D python/gmenu.c M util/gnome-menus-ls.py M util/test-menu-spec.c commit 0a7e4736d221ada2167a064c8b4aa9710a2e04bf Author: Colin Walters Date: 2011-04-17 Drop GMenuTree caching and support for absolute paths This is work towards converting to GObject; the API to create a tree is now just gmenu_tree_new(). First, the internal caching makes things very complex for little gain - gnome-shell only creates one GMenuTree, and gnome-panel could pretty easily be converted to do so. In a Google Code Search, I couldn't find anyone using absolute paths for menus, and looking through the revision history, I don't see a rationale for it. So, just drop it too. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M python/gmenu.c M util/test-menu-spec.c commit 903c144be9527f048fa1389c39872d0f22740b62 Author: Colin Walters Date: 2011-04-17 GMenuTreeFlags: Register with GType https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h commit d660a95756c99fe053ffd4fbaf523008868f5a67 Author: Colin Walters Date: 2011-04-17 Fold sorting into GMenuTreeFlags There's only two sorts right now, and so we can make one the default and select the other with the flags. Drop the ability to set the sort at runtime; this never was compatible with the current GMenuTree caching, and also I'm trying to move GMenuTree towards being immutable. M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M python/gmenu.c commit 4d00dcf9ce31b248c61dc66430b881ba32e2d611 Author: Colin Walters Date: 2011-04-16 Rebase DesktopEntry on GDesktopAppInfo The main motivation for this work is to avoid gnome-shell having to read all .desktop files *twice* - once from gnome-menus, and once from gio (when doing MIME assocation etc.) This patch replaces almost all of the accessors for GMenuTreeEntry with the simple gmenu_tree_entry_get_app_info(). Note this patch depends on patches from (see bug 647967). https://bugzilla.gnome.org/show_bug.cgi?id=647968 M configure.ac M libmenu/Makefile.am M libmenu/desktop-entries.c M libmenu/desktop-entries.h M libmenu/gmenu-tree.c M libmenu/gmenu-tree.h M python/Makefile.am M python/gmenu.c M util/Makefile.am commit 8a01f3c268a1515fb4e9ee8c924dae20a0880bb1 Author: Colin Walters Date: 2011-04-16 desktop-entries.c: Split structure explicitly between .desktop and .directory This is code cleaup preparatory work for rebasing DesktopEntry on GDesktopAppInfo. These two cases are different; make this explicit via structure subclassing of a common base structure. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/desktop-entries.c commit 5a936c77ebb7ffddbc4e282662bb2d5f62a8a814 Author: Colin Walters Date: 2011-04-16 DesktopEntry: Clean up structure, make TryExec evaluation lazy This is preparatory work for rebasing DesktopEntry on top of GDesktopAppInfo. First, it doesn't make sense to represet a random subset of booleans as flags; just flatten these into a bitfield. Move the refcount to be a plain guint at top. Second, previously we were calling g_find_program_in_path when creating a .desktop file, even if the caller wasn't interested in whether the TryExec succeeded. Make this lazy. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/desktop-entries.c commit ea008b417c02e8238f58d2d419d01129c2de9226 Author: Colin Walters Date: 2011-04-16 DesktopEntry: Make basename const reference Avoids another malloc block. https://bugzilla.gnome.org/show_bug.cgi?id=647968 M libmenu/desktop-entries.c commit 6cf363f9eaf4ba8ea736ca0a9e8d427226f381f6 Author: Friedel Wolff Date: 2011-07-07 Add Zulu (zu) to LINGUAS M po/LINGUAS commit 756d19762d1793ebe80df661328a1c7a510b9773 Author: Priscilla Mahlangu Date: 2011-07-07 New translation for Zulu (zu) A po/zu.po commit 5c896c6418cbc6111c823cca5401204bd62c16dc Author: Ihar Hrachyshka Date: 2011-06-25 Updated Belarusian translation. M po/be.po commit 9841d10ecf88b816ea18f186b64d4f1798f0c21a Author: Carles Ferrando Date: 2011-05-29 [l10n]Updated Catalan (Valencian) translation M po/ca@valencia.po commit 7336104da09a01db012c6d7e4d11abc3bac2f4e8 Author: Vincent Untz Date: 2011-04-26 release: post-release bump to 3.0.2 M configure.ac commit 582b78f2d085130fb63537c8e7b1120ff77c9979 Author: Vincent Untz Date: 2011-04-26 release: 3.0.1 M NEWS M configure.ac