2003-10-08  Tilman Vogel  <Tilman Vogel web de (dot at dot)>

    * languages/cpp/cppnewclassdlg.cpp
    
      (baseclassname_changed): take unqualified classname as basename for
        the header, not the namespace name 

      (parseClass): add support for namespaces; classes are looked up in
      the following way:

        if name is fully qualified, try this one
    
        if name is not qualified, search in current namespace, if not
        found, fall back to global namespace

        global classes can always be addressed using "::Klass" notation

      (reloadAdvancedInheritance): reactivated method

      (remClassFromAdv): strip off namespace qualifiers at first

      (classNamespaceChanged): new slot: record selected namespace,
        dynamically update available classes, recalculate inheritance
        because namespace determines class resolution
 
      (setCompletionNamespace):

    	new function: collect all available namespaces

      (setCompletionBasename - former setCompletion):

        import selected namespace with unqualified class names

    	search all namespaces for classes and add their fully qualified
    	names

      (addCompletionBasenameNamespacesRecursive):

         new function to do the recursion needed in
         setCompletionBasename()


    * languages/cpp/cppnewclassdlgbase.ui:

      	changed namespace_edit from QLineEdit to KLineEdit to allow
  	auto completion

    	added slot classNamespaceChanged() to allow dynamic update of
    	baseclass_edit auto completion depending on scope
    
    * languages/cpp/cppnewclassdlg.h (class CppNewClassDialog):

        added completion object for namespace, renamed former comp to
        compBasename

    	added methods to recurse through namespace hierarchy for building
    	list of all namespaces and for collecting classes from all
    	namespaces (setCompletionNamespaceRecursive(),
    	addCompletionBasenameNamespacesRecursive())

        new attribute recording current namespace (currNamespace)
 
    * languages/cpp/cppnewclassdlg.cpp (parseClass): private slots and
    methods aren't shown in overloading panel either

    * languages/cpp/cppnewclassdlg.cpp (setAccessForBase): fixed bug
      causing crash when changing inheritance mode





