[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 82446] PATCH: Adds 2 DCOP calls to background: wallpaperList
From:       David Faure <faure () kde ! org>
Date:       2004-05-31 19:16:38
Message-ID: 20040531191638.13055.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
      
http://bugs.kde.org/show_bug.cgi?id=82446      
faure kde org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From faure kde org  2004-05-31 21:16 -------
CVS commit by faure: 

Patch by Kurt V.Hidenburg to add DCOP calls to kdesktop's background: wallpaperList and wallpaperFiles
CCMAIL: 82446-done bugs kde org


  M +14 -0     kcontrol/background/bgsettings.cpp   1.15
  M +2 -1      kcontrol/background/bgsettings.h   1.27
  M +10 -0     kdesktop/KBackgroundIface.h   1.12
  M +28 -10    kdesktop/bgmanager.cc   1.88
  M +3 -0      kdesktop/bgmanager.h   1.31


--- kdebase/kcontrol/background/bgsettings.cpp  #1.14:1.15
 @ -870,4 +870,18  @ void KBackgroundSettings::updateWallpape
 
 
+QStringList KBackgroundSettings::wallpaperList() const
+{
+    if ( m_WallpaperMode == NoWallpaper )
+        return QStringList();
+    return m_WallpaperList;
+}
+
+QStringList KBackgroundSettings::wallpaperFiles() const
+{
+    if ( m_WallpaperMode == NoWallpaper )
+        return QStringList();
+    return m_WallpaperFiles;
+}
+
 /*
  * Select a new wallpaper from the list.

--- kdebase/kcontrol/background/bgsettings.h  #1.26:1.27
 @ -201,5 +201,6  @ public:
 
     void setWallpaperList(QStringList);
-    QStringList wallpaperList() const { return m_WallpaperList; }
+    QStringList wallpaperList() const;
+    QStringList wallpaperFiles() const;
 
     void setWallpaperChangeInterval(int);

--- kdebase/kdesktop/KBackgroundIface.h  #1.11:1.12
 @ -55,4 +55,14  @ k_dcop:
      */
     virtual QString currentWallpaper( int desk ) = 0;
+
+    /** Return the wallpaper list for specified desk.
+     *  param desk desktop number, or 0 for the current visible desktop.
+     */
+    virtual QStringList wallpaperList(int desk) = 0;
+
+    /** Return the wallpaper files for specified desk.
+     *  param desk desktop number, or 0 for the current visible desktop.
+     */
+    virtual QStringList wallpaperFiles(int desk) = 0;
 };
 

--- kdebase/kdesktop/bgmanager.cc  #1.87:1.88
 @ -565,4 +565,12  @ void KBackgroundManager::slotTimeout()
 }
 
+// Return a valid desk number.
+int KBackgroundManager::validateDesk(int desk)
+{
+    if ( (desk <= 0) || (desk > (int)m_Renderer.size()) )
+        return realDesktop();
+
+    return desk - 1;
+}
 
 // DCOP exported
 @ -571,14 +579,5  @ void KBackgroundManager::slotTimeout()
 QString KBackgroundManager::currentWallpaper(int desk)
 {
-   // Check user-input
-   if ( (desk < 0) || (desk > (int)m_Renderer.size()) )
-      desk = 0;
-
-   if (desk == 0)
-      desk = realDesktop();
-   else
-      desk--;
-
-    KBackgroundRenderer *r = m_Renderer[desk];
+    KBackgroundRenderer *r = m_Renderer[validateDesk(desk)];
 
     return r->currentWallpaper();
 @ -633,4 +632,23  @ void KBackgroundManager::setWallpaper(QS
 }
 
+// DCOP exported
+// Returns the filenames of all wallpaper entries for specified desk
+// 0 is for current visible desktop.
+QStringList KBackgroundManager::wallpaperFiles(int desk)
+{
+    KBackgroundRenderer *r = m_Renderer[validateDesk(desk)];
+
+    return r->wallpaperFiles();
+}
+
+// DCOP exported
+// Returns the list of wallpaper entries (viewable in background slide
+// show window) for specified desk.  0 is for current visible desktop.
+QStringList KBackgroundManager::wallpaperList(int desk)
+{
+    KBackgroundRenderer *r = m_Renderer[validateDesk(desk)];
+
+    return r->wallpaperList();
+}
 
 // DCOP exported

--- kdebase/kdesktop/bgmanager.h  #1.30:1.31
 @ -68,4 +68,6  @ public:
     void setColor(const QColor & c, bool isColorA = true);
     void setBackgroundEnabled(const bool enable);
+    QStringList wallpaperList(int desk);
+    QStringList wallpaperFiles(int desk);
 
 signals:
 @ -87,4 +89,5  @ private:
     int realDesktop();
     int effectiveDesktop();
+    int validateDesk(int desk);
 
     void renderBackground(int desk);
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic