You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-packaging/opensuse/core/tdebase/make-wallpapers-hideable.diff

49 lines
1.9 KiB

Index: kcontrol/background/bgdialog.cpp
===================================================================
--- kcontrol/background/bgdialog.cpp.orig
+++ kcontrol/background/bgdialog.cpp
@@ -477,14 +477,23 @@ void BGDialog::loadWallpaperFilesList()
//search for .desktop files before searching for images without .desktop files
QStringList lst = m_pDirs->findAllResources("wallpaper", "*desktop", false, true);
QStringList files;
+ QStringList hiddenfiles;
for (QStringList::ConstIterator it = lst.begin(); it != lst.end(); ++it)
{
KSimpleConfig fileConfig(*it);
fileConfig.setGroup("Wallpaper");
+ int slash = (*it).findRev('/') + 1;
+ QString directory = (*it).left(slash);
+
QString imageCaption = fileConfig.readEntry("Name");
QString fileName = fileConfig.readEntry("File");
+ if (fileConfig.readBoolEntry("Hidden",false)) {
+ hiddenfiles.append(directory + fileName);
+ continue;
+ }
+
if (imageCaption.isEmpty())
{
imageCaption = fileName;
@@ -500,9 +509,8 @@ void BGDialog::loadWallpaperFilesList()
rs = imageCaption + " (" + QString::number(n) + ')';
lrs = rs.lower();
}
- int slash = (*it).findRev('/') + 1;
- QString directory = (*it).left(slash);
bool canLoadScaleable = false;
+
#ifdef HAVE_LIBART
canLoadScaleable = true;
#endif
@@ -516,7 +524,7 @@ void BGDialog::loadWallpaperFilesList()
lst = m_pDirs->findAllResources("wallpaper", "*", false, true);
for (QStringList::ConstIterator it = lst.begin(); it != lst.end(); ++it)
{
- if ( !(*it).endsWith(".desktop") && files.grep(*it).empty() ) {
+ if ( !(*it).endsWith(".desktop") && files.grep(*it).empty() && hiddenfiles.grep(*it).empty() ) {
// First try to see if we have a comment describing the image. If we do
// just use the first line of said comment.
KFileMetaInfo metaInfo(*it);