Skip to content
Snippets Groups Projects
  1. Jan 19, 2016
  2. Jan 13, 2016
  3. Jan 12, 2016
    • Marco Bubke's avatar
      CppTools: Add CppToolsBridge · 6fe9b0cc
      Marco Bubke authored
      
      We broke the dependency of
      BaseEditorDocumentProcessor *BaseEditorDocumentProcessor::get(const QString &filePath)
      
      It's hiding static calls and it is much easier to do it that way than to
      provide a reference to every user. It's also possible to exchange it with
      different implementations for different test cases.
      
      Change-Id: Ic74699b45948e8b48f7efb6a1b295ba2641b8951
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
      6fe9b0cc
  4. Jul 10, 2015
    • Nikolai Kosjar's avatar
      CppTools: Avoid unnecessary blocking of main thread · 442bdbde
      Nikolai Kosjar authored
      
      Among others, BaseEditorDocumentParser::projectPart() was a blocking
      operation in case the parser was running. This led to noticeable GUI
      freezes for the ClangCodeModel since the function was called from the
      main thread.
      
      Rework *EditorDocumentParser to clearly separate the configuration data
      (input) from the actual object state. Querying/setting configuration or
      (last) state does not block anymore. update() is supposed to get the
      necessary configuration and the last state at the beginning and to set
      the new state at end.
      
      Change-Id: Ib4b534fa6ff373c3059826726b3f10ece95acc21
      Reviewed-by: default avatarErik Verbruggen <erik.verbruggen@theqtcompany.com>
      442bdbde
  5. Feb 04, 2015
    • Orgad Shaneh's avatar
      C++: Remove unneeded qualifications · 65e7db42
      Orgad Shaneh authored
      
      Mostly done using the following ruby script:
      Dir.glob('**/*.cpp').each { |file|
        next if file =~ %r{src/shared/qbs|/qmljs/}
        s = File.read(file)
        s.scan(/^using namespace (.*);$/) {
          ns = $1
          t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
            before = $1
            char = $2
            if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
              m
            else
              before + char
            end
          }
          if t != s
            puts file
            File.open(file, 'w').write(t)
          end
        }
      }
      
      Change-Id: I6fbe13ddc1485efe95c3156097bf41d90c0febac
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
      65e7db42
  6. Jan 16, 2015
  7. Jan 12, 2015
  8. Dec 19, 2014
  9. Dec 15, 2014
  10. Nov 28, 2014
  11. Oct 09, 2014
  12. Sep 26, 2014
  13. Sep 04, 2014
  14. Aug 25, 2014
    • Nikolai Kosjar's avatar
      C++: Base parsing on editor document instead of widget · 89bd4ee3
      Nikolai Kosjar authored
      
      This mainly takes CppEditorSupport apart.
      
      * Parsing is now invoked by CPPEditorDocument itself by listening to
        QTextDocument::contentsChanged().
      
      * Upon construction and destruction CPPEditorDocument creates and
        deletes an EditorDocumentHandle for (un)registration in the model
        manager. This handle provides everything to generate the working copy
        and to access the editor document processor.
      
      * A CPPEditorDocument owns a BaseEditorDocumentProcessor instance that
        controls parsing, semantic info recalculation and the semantic
        highlighting for the document. This is more or less what is left from
        CppEditorSupport and can be considered as the backend of a
        CPPEditorDocument. CPPEditorDocument itself is quite small.
      
          * BuiltinEditorDocumentProcessor and ClangEditorDocumentProcessor
            derive from BaseEditorDocumentProcessor and implement the gaps.
      
          * Since the semantic info calculation was bound to the widget, it
            also calculated the local uses, which depend on the cursor
            position. This calculation got moved into the extracted class
            UseSeletionsUpdater in the cppeditor plugin, which is run once the
            cursor position changes or the semantic info document is updated.
      
          * Some more logic got extracted:
      	- SemanticInfoUpdater (logic was in CppEditorSupport)
      	- SemanticHighlighter (logic was in CppEditorSupport)
      
          * The *Parser and *Processor classes can be easily accessed by the
            static function get().
      
      * CppHighlightingSupport is gone since it turned out to be useless.
      
      * The editor dependency in CompletionAssistProviders is gone since we
        actually only need the file path now.
      
      Change-Id: I49d3a7bd138c5ed9620123e34480772535156508
      Reviewed-by: default avatarOrgad Shaneh <orgads@gmail.com>
      Reviewed-by: default avatarErik Verbruggen <erik.verbruggen@digia.com>
      89bd4ee3
  15. Aug 20, 2014
  16. Jul 04, 2014
  17. Jun 18, 2014
  18. Jun 16, 2014
  19. Jun 04, 2014
  20. Jun 03, 2014
  21. May 23, 2014
  22. Mar 10, 2014
  23. Feb 24, 2014
  24. Feb 20, 2014
  25. Jan 08, 2014
  26. Jan 07, 2014
  27. Sep 05, 2013
  28. Aug 22, 2013
Loading