From 9520eff2bb2f4dfeae37d91edfdc83ada2e925d2 Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Tue, 13 Nov 2007 16:25:38 -0500
Subject: [PATCH] ENH: add completer for the source and binary dir lineedits

Clinton: do I actually have to create separate models for each completer,
and a separate completer for each widget, or could the models/completers be
used for multiple widgets ?

Alex
---
 Source/QtDialog/CMakeSetupDialog.cxx | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Source/QtDialog/CMakeSetupDialog.cxx b/Source/QtDialog/CMakeSetupDialog.cxx
index afa3157017..73d887923c 100644
--- a/Source/QtDialog/CMakeSetupDialog.cxx
+++ b/Source/QtDialog/CMakeSetupDialog.cxx
@@ -25,6 +25,8 @@
 #include <QDialogButtonBox>
 #include <QCloseEvent>
 #include <QCoreApplication>
+#include <QCompleter>
+#include <QDirModel>
 #include <QSettings>
 #include <QMenu>
 #include <QMenuBar>
@@ -117,6 +119,18 @@ CMakeSetupDialog::CMakeSetupDialog()
   // get the saved binary directories
   QStringList buildPaths = this->loadBuildPaths();
   this->BinaryDirectory->addItems(buildPaths);
+ 
+  QCompleter* compBinaryDir = new QCompleter(this);
+  QDirModel* modelBinaryDir = new QDirModel(compBinaryDir);
+  modelBinaryDir->setFilter(QDir::NoDotAndDotDot | QDir::Dirs);
+  compBinaryDir->setModel(modelBinaryDir);
+  this->BinaryDirectory->setCompleter(compBinaryDir);
+  QCompleter* compSourceDir = new QCompleter(this);
+  QDirModel* modelSourceDir = new QDirModel(compSourceDir);
+  modelSourceDir->setFilter(QDir::NoDotAndDotDot | QDir::Dirs);
+  compSourceDir->setModel(modelSourceDir);
+  this->SourceDirectory->setCompleter(compSourceDir);
+
 
   // start the cmake worker thread
   this->CMakeThread = new QCMakeThread(this);
-- 
GitLab