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

List:       kde-core-devel
Subject:    Re: File Open/Save not remembering Simple/Detail setting.
From:       Gary Cramblitt <garycramblitt () comcast ! net>
Date:       2006-11-08 2:01:14
Message-ID: 200611072101.14585.garycramblitt () comcast ! net
[Download RAW message or body]

On Tuesday 07 November 2006 07:49, Carsten Pfeiffer wrote:
> On Monday 06 November 2006 00:22, Gary Cramblitt wrote:
> > The KDE File Open/Save dialog does not remember the Simple/Detail
> > setting. Attached patch fixes.  OK to commit?
>
> Not sure if this is the right way, the constructor only sets the default
> value. KDirOperator::readConfig() should read the configuration and store
> it in the 'defaultView' member. KFileDialog later explicitly calls
> diroperator->setView( KFile::Default ), taking the 'defaultView' into
> account. I'd guess that something else is broken, so that the call setView(
> KFile::Default ) somehow doesn't happen.

Thanks for the lead Carsten.

The problem is that the show method changed from virtual in Qt3 to non-virtual 
in Qt4, so KFileDialog::show() wasn't being called, which in turn was not 
calling setView(KFile::Default).  So let's try this patch, which should be 
applied to trunk/KDE/kdelibs/kio/kfile directory.

-- 
Gary Cramblitt (aka PhantomsDad)

["kfiledialog.diff" (text/x-diff)]

Index: kfiledialog.h
===================================================================
--- kfiledialog.h	(revision 602409)
+++ kfiledialog.h	(working copy)
@@ -588,7 +588,7 @@
                                  QWidget *parent = 0,
                                  const QString& caption = QString() );
 
-    virtual void show();
+    virtual void showEvent(QShowEvent* event);
 
     /**
      * Sets the mode of the dialog.
Index: kfiledialog.cpp
===================================================================
--- kfiledialog.cpp	(revision 602409)
+++ kfiledialog.cpp	(working copy)
@@ -1602,7 +1602,7 @@
     return url;
 }
 
-void KFileDialog::show()
+void KFileDialog::showEvent(QShowEvent* event)
 {
     if ( !d->hasView ) { // delayed view-creation
         ops->setView(KFile::Default);
@@ -1610,7 +1610,7 @@
         d->hasView = true;
     }
 
-    KDialog::show();
+    KDialog::showEvent(event);
 }
 
 void KFileDialog::setMode( KFile::Modes m )


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

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