consolidated `pijul log` UI elements into their own component

CrepeGoat
Oct 9, 2024, 8:26 PM
XERTHGSY3OMO7CBVVHIXI7LH6JY4AOS7BA6WQP22JBO2NDWGBH4QC

Dependencies

  • [2] 6ECOC7L5 parsed `pijul channel` text blob into individual UI components
  • [3] IQY5LHEN add GUI element to display simple `pijul log` results
  • [4] G2CHQAOP parsed `pijul log` text blob into individual entries & fields
  • [5] 4RPYR65C connect GUI to pijul to display simple channel list
  • [6] NSE6BLWA init slint project from https://github.com/slint-ui/slint-rust-template

Change contents

  • edit in ui/app-window.slint at line 11
    [3.170]
    [3.170]
  • edit in ui/app-window.slint at line 45
    [3.858]
    [3.858]
    }
    }
    }
    }
    component Changelog {
    in-out property <[ChangeData]> changes_log: [];
    // TODO convert to a (Standard)ListView?
    ScrollView {
    preferred-width: 500px;
    VerticalBox {
    alignment: start;
    Text {
    text: "log";
    }
    for change in root.changes_log: ChangeEntry {
    hash: change.hash;
    author: change.author;
    timestamp: change.timestamp;
    message: change.message;
  • replacement in ui/app-window.slint at line 108
    [2.907][3.892:944](),[3.47][3.892:944]()
    in-out property <[ChangeData]> changes_log: [];
    [2.907]
    [3.47]
    in-out property <[ChangeData]> changes_log <=> log.changes_log;
  • replacement in ui/app-window.slint at line 124
    [3.363][2.908:999](),[2.999][3.634:649](),[3.634][3.634:649](),[3.649][2.1000:1053](),[2.1053][3.649:674](),[3.649][3.649:674](),[3.674][2.1054:1094](),[2.1094][3.674:742](),[3.674][3.674:742](),[3.786][3.786:872]()
    chs := ChannelsList {
    channels: [];
    active: 0;
    }
    // TODO convert to a (Standard)ListView?
    ScrollView {
    preferred-width: 500px;
    VerticalBox {
    alignment: start;
    Text {
    text: "log";
    }
    [3.363]
    [3.872]
    chs := ChannelsList { }
  • replacement in ui/app-window.slint at line 126
    [3.873][3.945:1203](),[3.1203][3.953:1007](),[3.953][3.953:1007]()
    for change in root.changes_log: ChangeEntry {
    hash: change.hash;
    author: change.author;
    timestamp: change.timestamp;
    message: change.message;
    }
    }
    }
    [3.873]
    [3.1007]
    log := Changelog { }