Skip to content
  • Daniel Teske's avatar
    Refactor ProjectExplorer::Node and remove NodesWatcher · 70c9c51e
    Daniel Teske authored
    
    
    The idea behind NodesWatcher was that it was the central place
    to catch node related signals, so that users didn't need to
    connect to each individual node and the nodes didn't need to
    be QObjects. Somehow Nodes ended up being QObjects anyway.
    
    Both the recently added ProjectTree and the FlatModels consume
    the signals the NodesWatcher sends. Unfortunately there's a
    ordering dependency between the ProjectTree and the FlatModels.
    
    This patch removes all NodesWatcher and instead makes the
    ProjectTree singleton the emitter of various project tree
    related signals. The ProjectTree also ensures that the ordering
    between the FlatModel and itself is taken into account.
    
    And it makes Node not derive from QObject, saving some memory
    in that process.
    
    Task-number: QTCREATORBUG-13756
    Change-Id: I8b0d357863f1dc1d2d440ce8172502594138b9fb
    Reviewed-by: default avatarTobias Hunger <tobias.hunger@theqtcompany.com>
    70c9c51e