Skip to content
  • Harald Sitter's avatar
    port painting to qml & add list view · e06fcc2e
    Harald Sitter authored
    this brings more of the UI into the qml world, this time the rendering
    of the filelight map. it is implemented using qtquick shapes of stacking
    circles. this also introduces a listview to more reasonably glance,
    navigate and manage files inside the current scope (as opposed to the
    previous labeling approach inside the map). to ease discoverability the
    hover states between map and list are somewhat linked so it becomes
    easier to spot which segment is where in the list, and vice versa.
    
    to facilitate all this a huge amount of reshuffling happened:
    
    - item.cpp no longer exists, its functionality moved into either qml or
    the map.cpp
    - new classes dropperitem (to receive drop events from qml)
    contextmenucontext (to implement the c++ side of context menu actions)
    filemodel (to model the file objects for the listview)
    - File is no longer a QObject, this has been moved up one level in the
    architecutre -> Segment now is a QObject and delegates most of the UI
    relevant functions from File
    - Files are now "linked" to their segment through a uuid string. this
    allows the UI code to establish a relationship between entities in the
    listview and the mapview. this is intentionally not pointer based to
    avoid clashes, confusion, and to prevent the Files from contributing to
    the lifetime of Segments (and thus complicate the entire shebang)
    - various settings have been retired as they are no longer applicable:
    AA is now always on, there is no practical reason why the user would
    disable it in 2022, font size (now following system defaults and
    sometimes able to scale down if not enough space)
    
    BUG: 461193
    BUG: 458181
    BUG: 444057
    BUG: 434146
    e06fcc2e