BUG: in tab mode closing one file closes multiple files

Roland Krause rokrau at yahoo.com
Thu Jun 14 16:32:05 UTC 2001

--- "F at lk Brettschneider" <gigafalk at yahoo.com> wrote:
> Hi Roland,

> This is due the missing fix for the known focus problem in the
> TabPage
> MDI mode. 

Aha, I was under the impression we had put a fix in... 

> I found out the inner widget gets the focus but not the
> covering KDockTabXXX. It's a litte bit tricky with those embedding
> techniques. Hopefully, I will fix this problem this week when I have
> more time and KDE works again.

That would be good...

> First I helped jowenn with a fix for konqueror in the Dockwidgets,
> then
> KDE was completely fucked off with the latest CVS (kdm crashed,
> kaccel
> crashed, DCOP as well).

They are having some serious problems there right now. 

> Generally, there's a big difference between closing a document and
> closing a view in an MDI program since many views can exist for one
> document. close(document) closes all-views-and-the-document,
> close(view)
> just closes-one-single-view-but-not-necessarily-the-document.


> Note the file==document.


> concerning closing a document there are: {
>   the actual close routines: {
>     DocViewMan::closeKWriteDoc(KWriteDoc* pDoc)
>     DocViewMan::closeCDocBrowser(CDocBrowser* pDoc)
>   }
>   just slot redirections from CKDevelop which should result
>   in calls for the 2 methods from above: {
>     DocViewMan::doFileClose()
>     DocViewMan::doFileCloseAll()
>     DocViewMan::doProjectClose()
>     DocViewMan::doCloseAllDocs()
>   }
> }
> concerning closing a view there are: {
>   the actual close routine: {
>     DocViewMan::closeView(QWidget* pWnd)
>   }
>   subroutines of the one from above: {
>     DocViewMan::closeEditView(CEditWidget* pView)
>     DocViewMan::closeBrowserView(KHTMLView* pView)
>   }
> }
> > Especially, I dont understand
> > why DocViewMan::closeView() has a QWidget* as a parameter...
> This is because it's either to CEditWidget* or KHTMLView*. We
> dynamically cast it and then we call either closeKWriteDoc(),
> closeCDocBrowser(). Originally, these two subroutines were part of
> closeView() but we splitted it to avoid large functions.

I see. This kind of makes me think, CEditWidget and KHTMLView should
have common base class different from QWidget, since QWidget is almost
as general as a char* . How about we could maybe introduce a
"ManagedView" that could be uses as a base class, for CEditWidget and
KHTMLView. Think about it that way, that we are going to have more
different views for different purposes in the future. A print preview
in form of an embedded kghostview part could be one good example. 
Lets maybe keep this in mind for later. 


> I think that shows how easy it is at all ;-),

It's all easy, of your name is "GigaF at lk" ... 
Thanks for the explanation


> Ciao,
> Falk
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
> -
> to unsubscribe from this list send an email to
> kdevelop-devel-request at kdevelop.org with the following body:
> unsubscribe »your-email-address«

Roland Krause
In the garage of life there are mechanics and 
there are drivers. Mechanics wanted!

Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35 
a year!  http://personal.mail.yahoo.com/

to unsubscribe from this list send an email to kdevelop-devel-request at kdevelop.org with the following body:
unsubscribe »your-email-address«

More information about the KDevelop-devel mailing list