Fix XDG ShowOnlyIn/NotShowIn conflicts with KDE4. Add cmake

WITH_OLD_XDG_STD configure support to retain old style support
for potential problematic distros. This resolves bug report 1364.
pull/16/head
Darrell Anderson 11 years ago
parent 8188a65884
commit 274dd3ccb3

@ -88,6 +88,7 @@ option( WITH_UDISKS "Enable UDISKS support" ${WITH_ALL_OPTIONS} )
option( WITH_UDISKS2 "Enable UDISKS2 support" ${WITH_ALL_OPTIONS} )
OPTION( WITH_NETWORK_MANAGER_BACKEND "Enable network-manager support" OFF )
OPTION( WITH_SUDO_TDESU_BACKEND "Use sudo as backend for tdesu (default is su)" OFF )
OPTION( WITH_OLD_XDG_STD "Use the pre R14.0.0 XDG standard where both TDE and KDE are recognized in desktop files" OFF )
OPTION( WITH_ASPELL "Enable aspell support" ${WITH_ALL_OPTIONS} )
OPTION( WITH_HSPELL "Enable hspell support" ${WITH_ALL_OPTIONS} )

@ -834,6 +834,9 @@
/* Defined if compiling with the network-manager backend */
#cmakedefine WITH_NETWORK_MANAGER_BACKEND 1
/* Defined if compiling with old XDG standard support */
#cmakedefine WITH_OLD_XDG_STD 1
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD

@ -178,13 +178,23 @@ AutoStart::loadAutoStartList()
if (config.hasKey("OnlyShowIn"))
{
#ifdef WITH_OLD_XDG_STD
if ((!config.readListEntry("OnlyShowIn", ';').contains("TDE")) && (!config.readListEntry("OnlyShowIn", ';').contains("KDE")))
continue;
#else
if (!config.readListEntry("OnlyShowIn", ';').contains("TDE"))
continue;
#endif
}
if (config.hasKey("NotShowIn"))
{
#ifdef WITH_OLD_XDG_STD
if ((config.readListEntry("NotShowIn", ';').contains("TDE")) || (config.readListEntry("NotShowIn", ';').contains("KDE")))
continue;
#else
if (config.readListEntry("NotShowIn", ';').contains("TDE"))
continue;
#endif
}
AutoStartItem *item = new AutoStartItem;

@ -749,8 +749,13 @@ bool KService::noDisplay() const {
{
TQString aValue = it.data().toString();
TQStringList aList = TQStringList::split(';', aValue);
#ifdef WITH_OLD_XDG_STD
if ((!aList.contains("TDE")) && (!aList.contains("KDE")))
return true;
#else
if (!aList.contains("TDE"))
return true;
#endif
}
it = m_mapProps.find( "NotShowIn" );
@ -758,8 +763,13 @@ bool KService::noDisplay() const {
{
TQString aValue = it.data().toString();
TQStringList aList = TQStringList::split(';', aValue);
#ifdef WITH_OLD_XDG_STD
if ((aList.contains("TDE")) || (aList.contains("KDE")))
return true;
#else
if (aList.contains("TDE"))
return true;
#endif
}
if (!kapp->authorizeControlModule(d->menuId))

@ -84,13 +84,23 @@ KServiceGroup::KServiceGroup( const TQString &configFile, const TQString & _relp
TQStringList tmpList;
if (config.hasKey("OnlyShowIn"))
{
#ifdef WITH_OLD_XDG_STD
if ((!config.readListEntry("OnlyShowIn", ';').contains("TDE")) && (!config.readListEntry("OnlyShowIn", ';').contains("KDE")))
d->m_bNoDisplay = true;
#else
if (!config.readListEntry("OnlyShowIn", ';').contains("TDE"))
d->m_bNoDisplay = true;
#endif
}
if (config.hasKey("NotShowIn"))
{
#ifdef WITH_OLD_XDG_STD
if ((config.readListEntry("NotShowIn", ';').contains("TDE")) || (config.readListEntry("NotShowIn", ';').contains("KDE")))
d->m_bNoDisplay = true;
#else
if (config.readListEntry("NotShowIn", ';').contains("TDE"))
d->m_bNoDisplay = true;
#endif
}
m_strBaseGroupName = config.readEntry( "X-TDE-BaseGroup" );

Loading…
Cancel
Save