Bug 62476

Summary: Project opening/ closing behaviour
Product: [Applications] kdevelop Reporter: Hendrik Kueck <TNHCWXSTKSJX>
Component: generalAssignee: KDevelop Developers <kdevelop-devel>
Status: RESOLVED FIXED    
Severity: wishlist    
Priority: NOR    
Version: git master   
Target Milestone: ---   
Platform: RedHat Enterprise Linux   
OS: Linux   
Latest Commit: Version Fixed In:

Description Hendrik Kueck 2003-08-11 08:23:12 UTC
Version:           CVS (using KDE KDE 3.1.1)
Installed from:    RedHat RPMs

I find the behaviour of gideon when closing a project unintuitive and annoying:

Example:
- Start with empty workspace.
- Open Project
- Close Project
-> I would expect to have an empty workspace again but this is not the case.

Open Project seems to load all files that were open when the project was closed (right?)
Close Project seems to only close files that are within the project directory.
An annoying consequence is that switching projects leads to the external files being included in all projects!

Example: 
- Open Project A
- Open header file /usr/include/someheader.h
- Open Project B
- Open Project C
- Open Project A

Now when opening any of the 3 projects, the external header file will be opened. 


Suggested solutions: 
- Change closing behaviour: close all files when closing the project
- Change opening behaviour: only open previously openened files from within the 
                            project directory

Hendrik
Comment 1 Amilcar do Carmo Lucas 2003-08-11 09:58:37 UTC
This is a nice whish 
Comment 2 Roberto Raggi 2003-11-01 12:37:09 UTC
Subject: kdevelop/src

CVS commit by raggi: 

fixed bug 62476. patch by Sascha Cunz <mail@SaCu.DE>

CCMAIL: 62476-done@bugs.kde.org


  M +1 -1      partcontroller.h   1.38
  M +2 -0      projectmanager.cpp   1.61


--- kdevelop/src/partcontroller.h  #1.37:1.38
@@ -62,4 +62,5 @@ public slots:
   void slotCloseAllButPartForWidget(QWidget *widget);
   void slotActivePartChanged( KParts::Part* part );
+  void slotCloseAllWindows();
 
 protected:
@@ -77,5 +78,4 @@ private slots:
 
   void slotCloseWindow();
-  void slotCloseAllWindows();
   void slotCloseOtherWindows();
 

--- kdevelop/src/projectmanager.cpp  #1.60:1.61
@@ -346,4 +346,6 @@ bool ProjectManager::closeProject()
   m_projectOptionsAction->setEnabled(false);
 
+  PartController::getInstance()->slotCloseAllWindows();
+
   return true;
 }