• Allison Karlitskaya's avatar
    GDesktopAppInfo: rewrite content type code · 6fd5a8cd
    Allison Karlitskaya authored
    Redo the code for type-based selection of applications (all,
    recommended, default, fallback) based on the new DesktopFileDir
    structures that we introduced last cycle.
    
    At the same time, we expand the functionality to add support for the new
    features of the specification:
    
     - moving ~/.local/share/applications/mimeapps.list to ~/.config/
    
     - per-desktop default applications (via XDG_CURRENT_DESKTOP)
    
     - sysadmin customisation of defaults (via /etc/xdg/mimeapps.list)
    
     - deprecation of the old defaults.list, favouring the use of
       /usr/share/applications/mimeapps.list (or gnome-mimeapps.list) to
       accomplish the same
    
    We modify the mimeapps testcase to check for mimeapps.list having been
    created in XDG_CONFIG_HOME instead of XDG_DATA_HOME.
    
    The modification is a net reduction of code (due to less duplication in
    bookkeeping).  It is also an increase in performance and reduction in
    memory consumption (due to simplified data structures).  Finally, it
    removes the stat-based timestamp checking in favour of the
    GFileMonitor-based approach that was already being used in the
    implementation of DesktopFileDir (in order to know if we had to rescan
    the desktop files themselves).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=728040
    6fd5a8cd
Name
Last commit
Last update
build Loading commit data...
docs Loading commit data...
gio Loading commit data...
glib Loading commit data...
gmodule Loading commit data...
gobject Loading commit data...
gthread Loading commit data...
m4macros Loading commit data...
po Loading commit data...
tests Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
ChangeLog.pre-1-2 Loading commit data...
ChangeLog.pre-2-0 Loading commit data...
ChangeLog.pre-2-10 Loading commit data...
ChangeLog.pre-2-12 Loading commit data...
ChangeLog.pre-2-14 Loading commit data...
ChangeLog.pre-2-16 Loading commit data...
ChangeLog.pre-2-18 Loading commit data...
ChangeLog.pre-2-2 Loading commit data...
ChangeLog.pre-2-20 Loading commit data...
ChangeLog.pre-2-4 Loading commit data...
ChangeLog.pre-2-6 Loading commit data...
ChangeLog.pre-2-8 Loading commit data...
HACKING Loading commit data...
INSTALL.in Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
NEWS.pre-1-3 Loading commit data...
README.commits Loading commit data...
README.in Loading commit data...
README.win32 Loading commit data...
acglib.m4 Loading commit data...
acinclude.m4 Loading commit data...
autogen.sh Loading commit data...
check-abis.sh Loading commit data...
config.h.win32.in Loading commit data...
configure.ac Loading commit data...
gio-2.0.pc.in Loading commit data...
gio-unix-2.0.pc.in Loading commit data...
gio-windows-2.0.pc.in Loading commit data...
glib-2.0.pc.in Loading commit data...
glib-gettextize.in Loading commit data...
glib-tap.mk Loading commit data...
glib-zip.in Loading commit data...
glib.doap Loading commit data...
glib.mk Loading commit data...
gmodule-2.0.pc.in Loading commit data...
gmodule-export-2.0.pc.in Loading commit data...
gmodule-no-export-2.0.pc.in Loading commit data...
gobject-2.0.pc.in Loading commit data...
gthread-2.0.pc.in Loading commit data...
makefile.msc Loading commit data...
msvc_recommended_pragmas.h Loading commit data...
sanity_check Loading commit data...
tap-driver.sh Loading commit data...
tap-test Loading commit data...
win32-fixup.pl Loading commit data...