Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 901b66721cd8b67ee1adbc6604574c15 > files > 53

kdebase-3.5.10-6mdv2009.0.src.rpm

diff -p -up kdebase-3.5.9/kcontrol/background/bgdialog.cpp.kbg_trans kdebase-3.5.9/kcontrol/background/bgdialog.cpp
--- kdebase-3.5.9/kcontrol/background/bgdialog.cpp.kbg_trans	2008-03-17 11:06:49.000000000 -0300
+++ kdebase-3.5.9/kcontrol/background/bgdialog.cpp	2008-03-17 11:07:11.000000000 -0300
@@ -62,6 +62,8 @@
 #include "bgwallpaper.h"
 #include "bgadvanced.h"
 #include "bgdialog.h"
+#include "KCrossBGRender.h"
+
 
 #define NR_PREDEF_PATTERNS 6
 
@@ -176,19 +178,19 @@ BGDialog::BGDialog(QWidget* parent, KCon
          int eDesk = i>0 ? i-1 : 0;
          
          // Setup the merged-screen renderer
-         KBackgroundRenderer * r = new KBackgroundRenderer(eDesk, 0, false, _config);
+         KCrossBGRender * r = new KCrossBGRender(eDesk, 0, false, _config);
          m_renderer[i].insert( 0, r );
          connect( r, SIGNAL(imageDone(int,int)), SLOT(slotPreviewDone(int,int)) );
          
          // Setup the common-screen renderer
-         r = new KBackgroundRenderer(eDesk, 0, true, _config);
+         r = new KCrossBGRender(eDesk, 0, true, _config);
          m_renderer[i].insert( 1, r );
          connect( r, SIGNAL(imageDone(int,int)), SLOT(slotPreviewDone(int,int)) );
          
          // Setup the remaining renderers for each screen
          for (unsigned j=0; j < m_numScreens; ++j )
          {
-            r = new KBackgroundRenderer(eDesk, j, true, _config);
+            r = new KCrossBGRender(eDesk, j, true, _config);
             m_renderer[i].insert( j+2, r );
             connect( r, SIGNAL(imageDone(int,int)), SLOT(slotPreviewDone(int,int)) );
          }
@@ -203,14 +205,14 @@ BGDialog::BGDialog(QWidget* parent, KCon
       }
       
       // set up the common desktop renderer
-      KBackgroundRenderer * r = new KBackgroundRenderer(0, 0, false, _config);
+      KCrossBGRender * r = new KCrossBGRender(0, 0, false, _config);
       m_renderer[0].insert(0, r);
       connect(r, SIGNAL(imageDone(int,int)), SLOT(slotPreviewDone(int,int)));
 
       // set up all the other desktop renderers
       for (unsigned i = 0; i < m_numDesks; ++i)
       {
-         r = new KBackgroundRenderer(i, 0, false, _config);
+         r = new KCrossBGRender(i, 0, false, _config);
          m_renderer[i+1].insert(0, r);
          connect(r, SIGNAL(imageDone(int,int)), SLOT(slotPreviewDone(int,int)));
       }
@@ -248,7 +250,7 @@ BGDialog::~BGDialog()
    delete m_pGlobals;
 }
 
-KBackgroundRenderer * BGDialog::eRenderer()
+KCrossBGRender * BGDialog::eRenderer()
 {
    return m_renderer[m_eDesk][m_eScreen];
 }
@@ -571,6 +573,7 @@ void BGDialog::setWallpaper(const QStrin
    KComboBox *comboWallpaper = m_urlWallpaperBox;
    comboWallpaper->blockSignals(true);
 
+
    if (m_wallpaper.find(s) == m_wallpaper.end())
    {
       int i = comboWallpaper->count();
@@ -646,7 +649,7 @@ void BGDialog::slotWallpaperSelection()
 
 void BGDialog::updateUI()
 {
-   KBackgroundRenderer *r = eRenderer();
+   KCrossBGRender *r = eRenderer();
    m_comboDesktop->setCurrentItem(m_eDesk);
    m_comboScreen->setCurrentItem(m_eScreen);
 
@@ -784,7 +787,7 @@ void BGDialog::slotPreviewDone(int desk_
    if (!m_previewUpdates)
       return;
 
-   KBackgroundRenderer * r = m_renderer[m_eDesk][(m_eScreen>1) ? (screen_done+2) : m_eScreen];
+   KCrossBGRender * r = m_renderer[m_eDesk][(m_eScreen>1) ? (screen_done+2) : m_eScreen];
 
    if (r->image().isNull())
       return;
@@ -823,7 +826,7 @@ void BGDialog::slotImageDropped(const QS
 
 void BGDialog::slotWallpaperTypeChanged(int i)
 {
-   KBackgroundRenderer *r = eRenderer();
+   KCrossBGRender *r = eRenderer();
    r->stop();
 
    // No picture
@@ -866,6 +869,7 @@ void BGDialog::slotWallpaperTypeChanged(
       r->setMultiWallpaperMode(m_slideShowRandom);
       setWallpaper(r->wallpaper());
       setBlendingEnabled(true);
+
    }
 
    // 1 Picture
@@ -949,7 +953,7 @@ void BGDialog::setBlendingEnabled(bool e
 
 void BGDialog::slotWallpaperPos(int mode)
 {
-   KBackgroundRenderer *r = eRenderer();
+   KCrossBGRender *r = eRenderer();
 
    mode++;
    m_wallpaperPos = mode;
@@ -967,7 +971,7 @@ void BGDialog::slotWallpaperPos(int mode
 
 void BGDialog::slotSetupMulti()
 {
-    KBackgroundRenderer *r = eRenderer();
+    KCrossBGRender *r = eRenderer();
 
     BGMultiWallpaperDialog dlg(r, topLevelWidget());
     if (dlg.exec() == QDialog::Accepted) {
@@ -983,7 +987,7 @@ void BGDialog::slotSetupMulti()
 
 void BGDialog::slotPrimaryColor(const QColor &color)
 {
-   KBackgroundRenderer *r = eRenderer();
+   KCrossBGRender *r = eRenderer();
 
    if (color == r->colorA())
       return;
@@ -998,7 +1002,7 @@ void BGDialog::slotPrimaryColor(const QC
 
 void BGDialog::slotSecondaryColor(const QColor &color)
 {
-   KBackgroundRenderer *r = eRenderer();
+   KCrossBGRender *r = eRenderer();
 
    if (color == r->colorB())
       return;
@@ -1013,7 +1017,7 @@ void BGDialog::slotSecondaryColor(const 
 
 void BGDialog::slotPattern(int pattern)
 {
-   KBackgroundRenderer *r = eRenderer();
+   KCrossBGRender *r = eRenderer();
    r->stop();
    bool bSecondaryEnabled = true;
    if (pattern < NR_PREDEF_PATTERNS)
@@ -1050,7 +1054,7 @@ void BGDialog::slotSelectScreen(int scre
       // Copy stuff
       for (unsigned desk = 0; desk < m_numDesks+1; ++desk )
       {
-         KBackgroundRenderer *master = m_renderer[desk][1];
+         KCrossBGRender *master = m_renderer[desk][1];
          for (unsigned screen = 0; screen < m_numScreens; ++screen)
          {
             m_renderer[desk][screen+2]->copyConfig(master);
@@ -1105,7 +1109,7 @@ void BGDialog::slotSelectDesk(int desk)
       // Copy stuff
       for (unsigned screen = 0; screen < m_renderer[0].size(); ++screen )
       {
-         KBackgroundRenderer *master = m_renderer[0][screen];
+         KCrossBGRender *master = m_renderer[0][screen];
          for (unsigned desk = 0; desk < m_numDesks; ++desk )
          {
             m_renderer[desk+1][screen]->copyConfig(master);
@@ -1144,7 +1148,7 @@ void BGDialog::slotSelectDesk(int desk)
 
 void BGDialog::slotAdvanced()
 {
-    KBackgroundRenderer *r = eRenderer();
+    KCrossBGRender *r = eRenderer();
 
     m_previewUpdates = false;
     BGAdvancedDialog dlg(r, topLevelWidget(), m_multidesktop);
@@ -1266,7 +1270,7 @@ void BGDialog::desktopResized()
    {
       for (unsigned j = 0; j < m_renderer[i].size(); ++j )
       {
-         KBackgroundRenderer * r = m_renderer[i][j];
+         KCrossBGRender * r = m_renderer[i][j];
          if( r->isActive())
              r->stop();
          r->desktopResized();
diff -p -up kdebase-3.5.9/kcontrol/background/bgsettings.h.kbg_trans kdebase-3.5.9/kcontrol/background/bgsettings.h
diff -p -up kdebase-3.5.9/kcontrol/background/KCrossBGRender.h.kbg_trans kdebase-3.5.9/kcontrol/background/KCrossBGRender.h
--- kdebase-3.5.9/kcontrol/background/KCrossBGRender.h.kbg_trans	2008-03-17 11:06:49.000000000 -0300
+++ kdebase-3.5.9/kcontrol/background/KCrossBGRender.h	2008-03-17 11:07:14.000000000 -0300
@@ -53,7 +53,6 @@ public:
 	QPixmap pixmap();
 	bool usingCrossXml(){return useCrossEfect;};
 
-
 private:
 	QPixmap pix;
 	int secs;
diff -p -up kdebase-3.5.9/kcontrol/background/bgwallpaper_ui.ui.kbg_trans kdebase-3.5.9/kcontrol/background/bgwallpaper_ui.ui
--- kdebase-3.5.9/kcontrol/background/bgwallpaper_ui.ui.kbg_trans	2008-03-17 11:06:49.000000000 -0300
+++ kdebase-3.5.9/kcontrol/background/bgwallpaper_ui.ui	2008-03-17 11:07:13.000000000 -0300
@@ -1,4 +1,4 @@
-<!DOCTYPE UI><UI version="3.1" stdsetdef="1">
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
 <class>BGMultiWallpaperBase</class>
 <widget class="QWidget">
     <property name="name">
@@ -8,155 +8,209 @@
         <rect>
             <x>0</x>
             <y>0</y>
-            <width>410</width>
-            <height>196</height>
+            <width>499</width>
+            <height>526</height>
         </rect>
     </property>
-    <grid>
+    <property name="caption">
+        <string>BGMultiWallPaperBase</string>
+    </property>
+    <vbox>
         <property name="name">
             <cstring>unnamed</cstring>
         </property>
         <property name="margin">
             <number>0</number>
         </property>
-        <widget class="QLabel" row="2" column="0">
-            <property name="name">
-                <cstring>textLabel2</cstring>
-            </property>
-            <property name="text">
-                <string>Show the following pictures:</string>
-            </property>
-        </widget>
-        <widget class="QCheckBox" row="1" column="0">
-            <property name="name">
-                <cstring>m_cbRandom</cstring>
-            </property>
-            <property name="text">
-                <string>&amp;Show pictures in random order</string>
-            </property>
-        </widget>
-        <widget class="QLayoutWidget" row="0" column="0">
+        <widget class="QLayoutWidget">
             <property name="name">
-                <cstring>layout3</cstring>
+                <cstring>layout8</cstring>
             </property>
             <hbox>
                 <property name="name">
                     <cstring>unnamed</cstring>
                 </property>
-                <widget class="QLabel">
+                <widget class="QCheckBox">
                     <property name="name">
-                        <cstring>textLabel1</cstring>
+                        <cstring>chkScheduled</cstring>
                     </property>
                     <property name="text">
-                        <string>Change &amp;picture after:</string>
-                    </property>
-                    <property name="buddy" stdset="0">
-                        <cstring>m_spinInterval</cstring>
+                        <string>Scheduled Slide Show</string>
                     </property>
                 </widget>
-                <widget class="QSpinBox">
+                <widget class="KURLRequester">
                     <property name="name">
-                        <cstring>m_spinInterval</cstring>
+                        <cstring>kurlXmlFile</cstring>
                     </property>
                 </widget>
-                <spacer>
-                    <property name="name">
-                        <cstring>spacer4</cstring>
-                    </property>
-                    <property name="orientation">
-                        <enum>Horizontal</enum>
-                    </property>
-                    <property name="sizeType">
-                        <enum>Expanding</enum>
-                    </property>
-                    <property name="sizeHint">
-                        <size>
-                            <width>20</width>
-                            <height>20</height>
-                        </size>
-                    </property>
-                </spacer>
             </hbox>
         </widget>
-        <widget class="QLayoutWidget" row="3" column="0">
+        <widget class="QGroupBox">
             <property name="name">
-                <cstring>layout4</cstring>
+                <cstring>grpNormalShow</cstring>
             </property>
-            <grid>
+            <property name="title">
+                <string></string>
+            </property>
+            <vbox>
                 <property name="name">
                     <cstring>unnamed</cstring>
                 </property>
-                <widget class="BGMultiWallpaperList" row="0" column="0" rowspan="5" colspan="1">
+                <widget class="QLayoutWidget">
                     <property name="name">
-                        <cstring>m_listImages</cstring>
-                    </property>
-                    <property name="sizePolicy">
-                        <sizepolicy>
-                            <hsizetype>3</hsizetype>
-                            <vsizetype>3</vsizetype>
-                            <horstretch>0</horstretch>
-                            <verstretch>0</verstretch>
-                        </sizepolicy>
-                    </property>
-                    <property name="minimumSize">
-                        <size>
-                            <width>300</width>
-                            <height>100</height>
-                        </size>
+                        <cstring>layout3</cstring>
                     </property>
+                    <hbox>
+                        <property name="name">
+                            <cstring>unnamed</cstring>
+                        </property>
+                        <widget class="QLabel">
+                            <property name="name">
+                                <cstring>textLabel1_2</cstring>
+                            </property>
+                            <property name="text">
+                                <string>Change &amp;picture after:</string>
+                            </property>
+                            <property name="buddy" stdset="0">
+                                <cstring>m_spinInterval</cstring>
+                            </property>
+                        </widget>
+                        <widget class="QSpinBox">
+                            <property name="name">
+                                <cstring>m_spinInterval</cstring>
+                            </property>
+                        </widget>
+                        <spacer>
+                            <property name="name">
+                                <cstring>spacer4</cstring>
+                            </property>
+                            <property name="orientation">
+                                <enum>Horizontal</enum>
+                            </property>
+                            <property name="sizeType">
+                                <enum>Expanding</enum>
+                            </property>
+                            <property name="sizeHint">
+                                <size>
+                                    <width>20</width>
+                                    <height>20</height>
+                                </size>
+                            </property>
+                        </spacer>
+                    </hbox>
                 </widget>
-                <widget class="QPushButton" row="0" column="1">
+                <widget class="QCheckBox">
                     <property name="name">
-                        <cstring>m_buttonAdd</cstring>
+                        <cstring>m_cbRandom</cstring>
                     </property>
                     <property name="text">
-                        <string>&amp;Add...</string>
-                    </property>
-                </widget>
-                <spacer row="4" column="1">
-                    <property name="name">
-                        <cstring>spacer5</cstring>
-                    </property>
-                    <property name="orientation">
-                        <enum>Vertical</enum>
-                    </property>
-                    <property name="sizeType">
-                        <enum>Expanding</enum>
+                        <string>&amp;Show pictures in random order</string>
                     </property>
-                    <property name="sizeHint">
-                        <size>
-                            <width>20</width>
-                            <height>20</height>
-                        </size>
-                    </property>
-                </spacer>
-                <widget class="QPushButton" row="1" column="1">
-                    <property name="name">
-                        <cstring>m_buttonRemove</cstring>
-                    </property>
-                    <property name="text">
-                        <string>&amp;Remove</string>
+                    <property name="accel">
+                        <string>Alt+S</string>
                     </property>
                 </widget>
-                <widget class="QPushButton" row="3" column="1">
+                <widget class="QLabel">
                     <property name="name">
-                        <cstring>m_buttonMoveDown</cstring>
+                        <cstring>textLabel2</cstring>
                     </property>
                     <property name="text">
-                        <string>Move &amp;Down</string>
+                        <string>Show the following pictures:</string>
                     </property>
                 </widget>
-                <widget class="QPushButton" row="2" column="1">
+                <widget class="QLayoutWidget">
                     <property name="name">
-                        <cstring>m_buttonMoveUp</cstring>
-                    </property>
-                    <property name="text">
-                        <string>Move &amp;Up</string>
+                        <cstring>layout4</cstring>
                     </property>
+                    <grid>
+                        <property name="name">
+                            <cstring>unnamed</cstring>
+                        </property>
+                        <widget class="BGMultiWallpaperList" row="0" column="0" rowspan="5" colspan="1">
+                            <property name="name">
+                                <cstring>m_listImages</cstring>
+                            </property>
+                            <property name="sizePolicy">
+                                <sizepolicy>
+                                    <hsizetype>3</hsizetype>
+                                    <vsizetype>3</vsizetype>
+                                    <horstretch>0</horstretch>
+                                    <verstretch>0</verstretch>
+                                </sizepolicy>
+                            </property>
+                            <property name="minimumSize">
+                                <size>
+                                    <width>300</width>
+                                    <height>100</height>
+                                </size>
+                            </property>
+                        </widget>
+                        <widget class="QPushButton" row="0" column="1">
+                            <property name="name">
+                                <cstring>m_buttonAdd</cstring>
+                            </property>
+                            <property name="text">
+                                <string>&amp;Add...</string>
+                            </property>
+                            <property name="accel">
+                                <string>Alt+A</string>
+                            </property>
+                        </widget>
+                        <spacer row="4" column="1">
+                            <property name="name">
+                                <cstring>spacer5</cstring>
+                            </property>
+                            <property name="orientation">
+                                <enum>Vertical</enum>
+                            </property>
+                            <property name="sizeType">
+                                <enum>Expanding</enum>
+                            </property>
+                            <property name="sizeHint">
+                                <size>
+                                    <width>20</width>
+                                    <height>20</height>
+                                </size>
+                            </property>
+                        </spacer>
+                        <widget class="QPushButton" row="1" column="1">
+                            <property name="name">
+                                <cstring>m_buttonRemove</cstring>
+                            </property>
+                            <property name="text">
+                                <string>&amp;Remove</string>
+                            </property>
+                            <property name="accel">
+                                <string>Alt+R</string>
+                            </property>
+                        </widget>
+                        <widget class="QPushButton" row="3" column="1">
+                            <property name="name">
+                                <cstring>m_buttonMoveDown</cstring>
+                            </property>
+                            <property name="text">
+                                <string>Move &amp;Down</string>
+                            </property>
+                            <property name="accel">
+                                <string>Alt+D</string>
+                            </property>
+                        </widget>
+                        <widget class="QPushButton" row="2" column="1">
+                            <property name="name">
+                                <cstring>m_buttonMoveUp</cstring>
+                            </property>
+                            <property name="text">
+                                <string>Move &amp;Up</string>
+                            </property>
+                            <property name="accel">
+                                <string>Alt+U</string>
+                            </property>
+                        </widget>
+                    </grid>
                 </widget>
-            </grid>
+            </vbox>
         </widget>
-    </grid>
+    </vbox>
 </widget>
 <includes>
     <include location="local" impldecl="in declaration">bgwallpaper.h</include>
@@ -164,4 +218,9 @@
 </includes>
 <layoutdefaults spacing="3" margin="6"/>
 <layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+    <includehint>kurlrequester.h</includehint>
+    <includehint>klineedit.h</includehint>
+    <includehint>kpushbutton.h</includehint>
+</includehints>
 </UI>
diff -p -up kdebase-3.5.9/kcontrol/background/bgadvanced.h.kbg_trans kdebase-3.5.9/kcontrol/background/bgadvanced.h
--- kdebase-3.5.9/kcontrol/background/bgadvanced.h.kbg_trans	2008-03-17 11:06:49.000000000 -0300
+++ kdebase-3.5.9/kcontrol/background/bgadvanced.h	2008-03-17 11:07:10.000000000 -0300
@@ -33,14 +33,14 @@ class QLineEdit;
 class QSpinBox;
 
 class BGAdvancedBase;
-class KBackgroundRenderer;
+class KCrossBGRender;
 class KBackgroundProgram;
 
 class BGAdvancedDialog : public KDialogBase
 {
    Q_OBJECT
 public:
-   BGAdvancedDialog(KBackgroundRenderer *_r, QWidget *parent, bool m_multidesktop);
+   BGAdvancedDialog(KCrossBGRender *_r, QWidget *parent, bool m_multidesktop);
 
    void setCacheSize(int s);
    int cacheSize();
@@ -79,7 +79,7 @@ protected slots:
    void slotEnableProgram(bool b);
 
 private:
-   KBackgroundRenderer *r;
+   KCrossBGRender *r;
 
    BGAdvancedBase *dlg;
 
diff -p -up kdebase-3.5.9/kcontrol/background/bgdialog.h.kbg_trans kdebase-3.5.9/kcontrol/background/bgdialog.h
--- kdebase-3.5.9/kcontrol/background/bgdialog.h.kbg_trans	2008-03-17 11:06:49.000000000 -0300
+++ kdebase-3.5.9/kcontrol/background/bgdialog.h	2008-03-17 11:07:11.000000000 -0300
@@ -28,7 +28,7 @@
 #include "bgrender.h"
 #include "bgsettings.h"
 #include "bgdefaults.h"
-
+#include "KCrossBGRender.h"
 class BGMonitorArrangement;
 class KStandardDirs;
 
@@ -53,7 +53,7 @@ signals:
 protected:
    void initUI();
    void updateUI();
-   KBackgroundRenderer * eRenderer();
+   KCrossBGRender * eRenderer();
 
    void setWallpaper(const QString &);
 
@@ -93,7 +93,7 @@ protected:
    int m_screen;
    int m_eDesk;
    int m_eScreen;
-   QValueVector< QPtrVector<KBackgroundRenderer> > m_renderer; // m_renderer[desk][screen]
+   QValueVector< QPtrVector<KCrossBGRender> > m_renderer; // m_renderer[desk][screen]
    QMap<QString,int> m_wallpaper;
    QStringList m_patterns;
    int m_slideShowRandom; // Remembers last Slide Show setting
diff -p -up kdebase-3.5.9/kcontrol/background/bgwallpaper.h.kbg_trans kdebase-3.5.9/kcontrol/background/bgwallpaper.h
--- kdebase-3.5.9/kcontrol/background/bgwallpaper.h.kbg_trans	2008-03-17 11:06:49.000000000 -0300
+++ kdebase-3.5.9/kcontrol/background/bgwallpaper.h	2008-03-17 11:07:12.000000000 -0300
@@ -27,7 +27,7 @@
 #include <qstringlist.h>
 
 #include <kdialogbase.h>
-
+#include <kdebug.h>
 class BGMultiWallpaperBase;
 class KBackgroundSettings;
 
@@ -55,12 +55,17 @@ public slots:
    void slotMoveDown();
    void slotOk();
    void slotItemSelected( QListBoxItem * );
+
+   void slotCheckScheduled(bool);
+   void slotChangedXML(const QString&);
 private:
    void setEnabledMoveButtons();
 
    KBackgroundSettings *m_pSettings;
 
    BGMultiWallpaperBase *dlg;
+
+   QString lastXml;
 };
 
 #endif
diff -p -up kdebase-3.5.9/kcontrol/background/bgsettings.cpp.kbg_trans kdebase-3.5.9/kcontrol/background/bgsettings.cpp
diff -p -up kdebase-3.5.9/kcontrol/background/bgwallpaper.cpp.kbg_trans kdebase-3.5.9/kcontrol/background/bgwallpaper.cpp
--- kdebase-3.5.9/kcontrol/background/bgwallpaper.cpp.kbg_trans	2008-03-17 11:06:49.000000000 -0300
+++ kdebase-3.5.9/kcontrol/background/bgwallpaper.cpp	2008-03-17 11:07:12.000000000 -0300
@@ -26,12 +26,15 @@
 #include <qevent.h>
 #include <qpushbutton.h>
 #include <qspinbox.h>
+#include <qgroupbox.h>
+
 
 #include <kfiledialog.h>
 #include <kimageio.h>
 #include <klocale.h>
 #include <kstandarddirs.h>
 #include <kurldrag.h>
+#include <kurlrequester.h>
 
 #include "bgsettings.h"
 #include "bgwallpaper.h"
@@ -119,10 +122,46 @@ BGMultiWallpaperDialog::BGMultiWallpaper
    connect(dlg->m_buttonMoveUp, SIGNAL(clicked()), SLOT(slotMoveUp()));
    connect(dlg->m_buttonMoveDown, SIGNAL(clicked()), SLOT(slotMoveDown()));
    connect(dlg->m_listImages,  SIGNAL(clicked ( QListBoxItem * )), SLOT(slotItemSelected( QListBoxItem *)));
+   
+   connect(dlg->chkScheduled, SIGNAL(toggled(bool)), SLOT(slotCheckScheduled(bool)));
+   
+   connect(dlg->kurlXmlFile, SIGNAL(textChanged(const QString&)),
+	                     SLOT(slotChangedXML(const QString &)));
+   
    dlg->m_buttonRemove->setEnabled( false );
    dlg->m_buttonMoveUp->setEnabled( false );
    dlg->m_buttonMoveDown->setEnabled( false );
 
+   // XML Stuffs
+   dlg->kurlXmlFile->setFilter("*.xml");
+   if (m_pSettings->wallpaperList()[0].endsWith("xml",false)){
+	dlg->kurlXmlFile->setURL(m_pSettings->wallpaperList()[0]);
+	dlg->chkScheduled->setChecked(true);
+	dlg->m_listImages->removeItem(0);
+	lastXml = m_pSettings->wallpaperList()[0];
+   }else{
+	dlg->kurlXmlFile->setURL("/usr/share/mdk/backgrounds/Mandriva.xml");
+       dlg->chkScheduled->setChecked(false);
+       slotCheckScheduled(false);
+   }
+
+}
+
+
+void BGMultiWallpaperDialog::slotCheckScheduled(bool state){
+
+
+    if ( state == true ){
+	dlg->grpNormalShow->setEnabled(false);
+	dlg->kurlXmlFile->setEnabled(true);
+    }else{
+	dlg->grpNormalShow->setEnabled(true);
+	dlg->kurlXmlFile->setEnabled(false);
+    }
+}
+
+void BGMultiWallpaperDialog::slotChangedXML(const QString & file){
+    lastXml = file;
 }
 
 void BGMultiWallpaperDialog::slotItemSelected( QListBoxItem * )
@@ -222,15 +261,41 @@ void BGMultiWallpaperDialog::slotMoveDow
 
 void BGMultiWallpaperDialog::slotOk()
 {
+    bool useXml = false;
+    // Looking to XML
+    if (dlg->chkScheduled->isChecked() &&
+	    lastXml.endsWith("xml",false)){
+	useXml = true;
+	kdDebug() << "Adding XML" << lastXml;
+	dlg->m_listImages->insertItem(lastXml,0);
+    }
+
+    kdDebug() <<  dlg->m_listImages << endl;
+
     QStringList lst;
     for (unsigned i=0; i < dlg->m_listImages->count(); i++)
 	lst.append(dlg->m_listImages->text(i));
+
+    
+
     m_pSettings->setWallpaperList(lst);
     m_pSettings->setWallpaperChangeInterval(dlg->m_spinInterval->value());
     if (dlg->m_cbRandom->isChecked())
        m_pSettings->setMultiWallpaperMode(KBackgroundSettings::Random);
     else
        m_pSettings->setMultiWallpaperMode(KBackgroundSettings::InOrder);
+
+    if(useXml){
+	m_pSettings->changeWallpaper();
+	m_pSettings->setWallpaper(lastXml);
+	m_pSettings->changeWallpaper();
+    }else{
+	m_pSettings->changeWallpaper();
+	m_pSettings->setWallpaper(lst[0]);
+	m_pSettings->changeWallpaper();
+    }
+
+
     accept();
 }
 
diff -p -up kdebase-3.5.9/kcontrol/background/bgadvanced.cpp.kbg_trans kdebase-3.5.9/kcontrol/background/bgadvanced.cpp
--- kdebase-3.5.9/kcontrol/background/bgadvanced.cpp.kbg_trans	2008-03-17 11:06:49.000000000 -0300
+++ kdebase-3.5.9/kcontrol/background/bgadvanced.cpp	2008-03-17 11:07:10.000000000 -0300
@@ -43,7 +43,7 @@
 #include "bgrender.h"
 #include "bgadvanced.h"
 #include "bgadvanced_ui.h"
-
+#include "KCrossBGRender.h"
 #include <X11/Xlib.h>
 
 /**** BGAdvancedDialog ****/
@@ -63,7 +63,7 @@ static QCString desktopConfigname()
 }
 
 
-BGAdvancedDialog::BGAdvancedDialog(KBackgroundRenderer *_r,
+BGAdvancedDialog::BGAdvancedDialog(KCrossBGRender *_r,
                                    QWidget *parent,
                                    bool m_multidesktop)
     : KDialogBase(parent, "BGAdvancedDialog",