--- kdelibs-3.5.3/kdecore/kstandarddirs.h-- 2005-09-29 11:47:40.000000000 +0200 +++ kdelibs-3.5.3/kdecore/kstandarddirs.h 2006-07-17 10:57:22.000000000 +0200 @@ -595,6 +595,17 @@ */ static QString realPath(const QString &dirname); + //------------------------------ + // Mandriva only patches + + static QString default_menu_type_by_version(); + static QString mandrake_merge_directory(); + + enum distroVersionType { DOWNLOAD = 0, POWERPACK, DISCOVERY, POWERPACKPLUS }; + static distroVersionType mandrake_distro_version(); + static bool isDiscovery(); + //------------------------------ + /** * Expands all symbolic links and resolves references to * '/./', '/../' and extra '/' characters in @p filename --- kdelibs-3.5.3/kdecore/kstandarddirs.cpp-- 2005-09-29 11:47:40.000000000 +0200 +++ kdelibs-3.5.3/kdecore/kstandarddirs.cpp 2006-07-17 10:57:22.000000000 +0200 @@ -1674,3 +1674,49 @@ QString file = filename.mid(slash); return inst->dirs()->saveLocation(type, dir, createDir) + file; } + +// Mandriva only changes + +QString KStandardDirs::default_menu_type_by_version() +{ + QCString metaclass = getenv("META_CLASS"); + + QString menuType("kde"); + if(!metaclass.isEmpty()) + { + if(metaclass.lower() == "powerpack") + menuType ="mdk"; + else if(metaclass == "desktop") + menuType ="mdk-simplified"; + else if(metaclass == "server") + menuType ="mdk"; + } + return menuType; +} + +KStandardDirs::distroVersionType KStandardDirs::mandrake_distro_version() +{ + QCString metaclass = getenv("META_CLASS"); + KStandardDirs::distroVersionType type=DOWNLOAD; + if(!metaclass.isEmpty()) + { + if(metaclass.lower() == "powerpack") + type = POWERPACK; + else if(metaclass == "desktop") + type = DISCOVERY; + else if(metaclass == "server") + type = POWERPACKPLUS; + } + return type; +} + +QString KStandardDirs::mandrake_merge_directory() +{ + return QDir::homeDirPath() + "/.kde/DESKTOP_ENTRY/"; +} + +bool KStandardDirs::isDiscovery() +{ + return (KStandardDirs::mandrake_distro_version() == KStandardDirs::DISCOVERY); +} +