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

List:       kde-commits
Subject:    KDE_3_2_BRANCH: kdebase/ksplashml/kcmksplash
From:       Ravikiran Rajagopal <ravi () kde ! org>
Date:       2004-02-05 21:39:36
Message-ID: 20040205213936.2C2F1993C () office ! kde ! org
[Download RAW message or body]

CVS commit by ravi: 

Backport layout fixes, selection fixes, and bug fix for 74203.


  M +28 -15    installer.cpp   1.11.2.1


--- kdebase/ksplashml/kcmksplash/installer.cpp  #1.11:1.11.2.1
@@ -96,6 +96,5 @@ SplashInstaller::SplashInstaller (QWidge
   QHBoxLayout* hbox = new QHBoxLayout( this, 0, KDialog::spacingHint() );
 
-  QVBoxLayout* leftbox = new QVBoxLayout( this, 0, KDialog::spacingHint() );
-  hbox->addLayout( leftbox );
+  QVBoxLayout* leftbox = new QVBoxLayout( hbox, KDialog::spacingHint() );
   hbox->setStretchFactor( leftbox, 1 );
 
@@ -118,6 +117,5 @@ SplashInstaller::SplashInstaller (QWidge
   connect(mBtnTest, SIGNAL(clicked()), SLOT(slotTest()));
 
-  QVBoxLayout* rightbox = new QVBoxLayout( this, 0, KDialog::spacingHint() );
-  hbox->addLayout( rightbox );
+  QVBoxLayout* rightbox = new QVBoxLayout( hbox, KDialog::spacingHint() );
   hbox->setStretchFactor( rightbox, 3 );
 
@@ -173,4 +171,8 @@ void SplashInstaller::addNewTheme(const 
   url.setPath(locateLocal("tmp",filename));
 
+  // Remove file from temporary directory if it aleady exists - usually the result \
of a failed install. +  if ( KIO::NetAccess::exists( url, true, 0 ) )
+    KIO::NetAccess::del( url, 0 );
+
   bool rc = KIO::NetAccess::copy(srcURL, url, 0);
   if (!rc)
@@ -189,11 +191,16 @@ void SplashInstaller::addNewTheme(const 
   }
   KArchiveDirectory const *ad = tarFile.directory();
+  // Find first directory entry.
+  QString themeName( ad->entries().first() );
   // TODO: Make sure we put the entries into a subdirectory if the tarball does not.
   // TODO: Warn the user if we overwrite something.
   ad->copyTo(locateLocal("ksplashthemes","/"));
   tarFile.close();
+  KIO::NetAccess::del( url, 0 );
 
   // TODO: Update only the entries from this installation.
   readThemesList();
+  mThemesList->setCurrentItem(findTheme(themeName));
+  mThemesList->setSelected(mThemesList->currentItem(), true);
 }
 
@@ -205,5 +212,5 @@ void SplashInstaller::readThemesList()
   // Read local themes
   QStringList entryList = KGlobal::dirs()->resourceDirs("ksplashthemes");
-  kdDebug() << entryList << endl;
+  //kdDebug() << "readThemesList: " << entryList << endl;
   QDir dir;
   QStringList subdirs;
@@ -215,9 +222,13 @@ void SplashInstaller::readThemesList()
       continue;
     subdirs = dir.entryList( QDir::Dirs );
-    kdDebug() << subdirs << endl;
+    // kdDebug() << "readThemesList: " << subdirs << endl;
     // TODO: Make sure it contains a *.rc file.
     for (QStringList::Iterator l = subdirs.begin(); l != subdirs.end(); l++ )
       if ( !(*l).startsWith(QString(".")) )
+      {
+        mThemesList->blockSignals( true ); // Don't activate any theme until all \
themes are loaded.  addTheme(dir.path(),*l);
+        mThemesList->blockSignals( false );
+      }
   }
 }
@@ -272,4 +283,6 @@ void SplashInstaller::slotRemove()
      if (KMessageBox::questionYesNo(this,i18n("Delete folder %1 and its \
contents?").arg(themeDir))==KMessageBox::Yes)  rc = KIO::NetAccess::del(url,this);
+     else
+       return;
   }
   if (!rc)


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

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