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

List:       kde-commits
Subject:    kdevelop/parts/fileview
From:       Amilcar do Carmo Lucas <amilcar () ida ! ing ! tu-bs ! de>
Date:       2003-09-21 16:57:14
[Download RAW message or body]

CVS commit by aclu: 

Added a "Show non-project files" option to File Groups View


  M +30 -2     filegroupswidget.cpp   1.18
  M +4 -0      filegroupswidget.h   1.5


--- kdevelop/parts/fileview/filegroupswidget.cpp  #1.17:1.18
@@ -23,4 +24,5 @@
 #include <klocale.h>
 #include <kpopupmenu.h>
+#include <kaction.h>
 
 #include "kdevcore.h"
@@ -100,5 +102,6 @@ FileGroupsFileItem::FileGroupsFileItem(Q
 
 FileGroupsWidget::FileGroupsWidget(FileGroupsPart *part)
-    : KListView(0, "file view widget")
+    : KListView(0, "file view widget"),
+    m_actionToggleShowNonProjectFiles( 0 )
 {
     setFocusPolicy(ClickFocus);
@@ -116,6 +119,12 @@ FileGroupsWidget::FileGroupsWidget(FileG
              this, SLOT(slotContextMenu(KListView*, QListViewItem*, const QPoint&)) \
);  
+    m_actionToggleShowNonProjectFiles = new KToggleAction( i18n("Show Non Project \
files"), KShortcut(), +        this, SLOT(slotToggleShowNonProjectFiles()), this, \
"actiontoggleshowshownonprojectfiles" ); +
     m_part = part;
     (void) translations; // supress compiler warning
+
+    QDomDocument &dom = *m_part->projectDom();
+    m_actionToggleShowNonProjectFiles->setChecked( !DomUtil::readBoolEntry(dom, \
"/kdevfileview/groups/hidenonprojectfiles") );  }
 
@@ -123,4 +132,6 @@ FileGroupsWidget::FileGroupsWidget(FileG
 FileGroupsWidget::~FileGroupsWidget()
 {
+    QDomDocument &dom = *m_part->projectDom();
+    DomUtil::writeBoolEntry( dom, "/kdevfileview/groups/hidenonprojectfiles", \
!m_actionToggleShowNonProjectFiles->isChecked() );  }
 
@@ -160,4 +171,5 @@ void FileGroupsWidget::slotContextMenu(K
         m_part->core()->fillContextMenu(&popup, &context);
     }
+    m_actionToggleShowNonProjectFiles->plug( &popup );
 
     int res = popup.exec(p);
@@ -193,5 +205,15 @@ void FileGroupsWidget::refresh()
     }
 
-    QStringList allFiles = m_part->project()->allFiles();
+    QStringList allFiles;
+    if (m_actionToggleShowNonProjectFiles->isChecked()) {
+        // get all files in the project directory
+        QDir projectDir = m_part->project()->projectDirectory();
+        allFiles = projectDir.entryList(QDir::Files);
+        // @todo get all files in all subdirectories
+    }
+    else {
+        // get all project files
+        allFiles = m_part->project()->allFiles();
+    }
     QStringList::ConstIterator fit;
     for (fit = allFiles.begin(); fit != allFiles.end(); ++fit) {
@@ -277,4 +299,10 @@ void FileGroupsWidget::removeFiles ( con
     }
 }
+
+void FileGroupsWidget::slotToggleShowNonProjectFiles()
+{
+    refresh();
+}
+
 
 #include "filegroupswidget.moc"

--- kdevelop/parts/fileview/filegroupswidget.h  #1.4:1.5
@@ -35,4 +35,5 @@ private slots:
     void slotItemExecuted(QListViewItem *item);
     void slotContextMenu(KListView *, QListViewItem *item, const QPoint &p);
+    void slotToggleShowNonProjectFiles();
 
 protected:
@@ -42,4 +43,7 @@ protected:
 private:
     FileGroupsPart *m_part;
+
+    class KToggleAction *m_actionToggleShowNonProjectFiles;
+    bool showNonProjectFiles;
 };
 


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

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