[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/generic/wallpapers/image
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2011-01-27 19:29:23
Message-ID: 20110127192923.435FBAC8BA () svn ! kde ! org
[Download RAW message or body]
SVN commit 1217532 by aseigo:
resort to defaults if the image set no longer exists
M +23 -8 image.cpp
M +1 -0 image.h
--- trunk/KDE/kdebase/workspace/plasma/generic/wallpapers/image/image.cpp #1217531:1217532
@@ -78,12 +78,8 @@
m_resizeMethod = (ResizeMethod)config.readEntry("wallpaperposition", (int)ScaledResize);
m_wallpaper = config.readEntry("wallpaper", QString());
if (m_wallpaper.isEmpty()) {
- m_wallpaper = Plasma::Theme::defaultTheme()->wallpaperPath();
- int index = m_wallpaper.indexOf("/contents/images/");
- if (index > -1) { // We have file from package -> get path to package
- m_wallpaper = m_wallpaper.left(index);
+ useSingleImageDefaults();
}
- }
m_color = config.readEntry("wallpapercolor", QColor(Qt::black));
m_usersWallpapers = config.readEntry("userswallpapers", QStringList());
@@ -118,6 +114,15 @@
m_animation->setProperty("endValue", 1.0);
}
+void Image::useSingleImageDefaults()
+{
+ m_wallpaper = Plasma::Theme::defaultTheme()->wallpaperPath();
+ int index = m_wallpaper.indexOf("/contents/images/");
+ if (index > -1) { // We have file from package -> get path to package
+ m_wallpaper = m_wallpaper.left(index);
+ }
+}
+
void Image::save(KConfigGroup &config)
{
config.writeEntry("slideTimer", m_delay);
@@ -404,7 +409,7 @@
void Image::setSingleImage()
{
if (m_wallpaper.isEmpty()) {
- return;
+ useSingleImageDefaults();
}
QString img;
@@ -412,9 +417,9 @@
if (QDir::isAbsolutePath(m_wallpaper)) {
Plasma::Package b(m_wallpaper, packageStructure(this));
img = b.filePath("preferred");
- kDebug() << img << m_wallpaper;
+ //kDebug() << img << m_wallpaper;
- if (img.isEmpty()) {
+ if (img.isEmpty() && QFile::exists(m_wallpaper)) {
img = m_wallpaper;
}
} else {
@@ -430,6 +435,16 @@
}
}
+ if (img.isEmpty()) {
+ // ok, so the package we have failed to work out; let's try the default
+ // if we have already
+ const QString wallpaper = m_wallpaper;
+ useSingleImageDefaults();
+ if (wallpaper != m_wallpaper) {
+ setSingleImage();
+ }
+ }
+
if (!m_size.isEmpty()) {
renderWallpaper(img);
}
--- trunk/KDE/kdebase/workspace/plasma/generic/wallpapers/image/image.h #1217531:1217532
@@ -93,6 +93,7 @@
void calculateGeometry();
void setSingleImage();
void updateWallpaperActions();
+ void useSingleImageDefaults();
private:
static bool s_startupResumed;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic