1. 07 Jun, 2021 1 commit
  2. 17 Apr, 2021 3 commits
    • Luis Javier Merino's avatar
      Keep track of line properties for image update · fd1612ba
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      Konsole wasn't really keeping track of changes to line rendition
      attributes, and was just always marking for update the top line of
      double-height lines. This didn't account for double-width lines, changes
      back to single-width single-height, and did not provide proper support for
      separate rendering of the bottom of double-height lines.
      
      The effect can be seen on vttest "Test of known bugs" (9) -> "Erase
      right half of double-width lines" (8), where a line is changed from
      single-width to double-width and back. The line wasn't re-rendered on
      each change, as it should.
      
      Can also be tested with:
      
      echo -e "\e[2J\e[1;1HTEST\n"; sleep 1; echo -e "\e[1;1H\e#6\e[2;1H"
      fd1612ba
    • Luis Javier Merino's avatar
      Allow writing only half of a double-height line · c61e4cac
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      While DECHDL sequences should be used in pairs on adjacent lines, the
      first line drawing the top half, and the second line drawing the bottom
      half, apparently real VTxxx (or at least the VT220) terminals did draw
      only the top or bottom of characters when confronted with an isolated
      DECDHL line (https://retrocomputing.stackexchange.com/questions/18023/).
      xterm has that same behavior. So behave likewise.
      c61e4cac
    • Luis Javier Merino's avatar
      Fix selection on double width lines · 2232ed67
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      TerminalDisplay::getCharacterPosition() should take double-width lines
      into account to return the right column.
      2232ed67
  3. 04 Apr, 2021 1 commit
    • Ahmad Samir's avatar
      Better management of member variables destruction in TerminalDisplay · a7363fa5
      Ahmad Samir authored
      Always pass a parent to a QObject constructor; this is always a good
      idea, as it enforces the parent/child relationship, and it also means
      the parent QObject will take care of deleting its children, less manual
      'delete' calls.
      
      _terminalPainter already has a TerminalDisplay parent object.
      
      Use a std::unique_ptr to manage _printManager (it's not a QObject).
      a7363fa5
  4. 31 Mar, 2021 1 commit
  5. 19 Feb, 2021 1 commit
  6. 15 Feb, 2021 1 commit
  7. 24 Jan, 2021 1 commit
  8. 22 Jan, 2021 1 commit
    • Carlos Alves's avatar
      Small changes to STL and qBound · 8c57c842
      Carlos Alves authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      Where it was possible:
      - 'For' to STL copy or fill (it is like using memcpy and memset, faster
      than for, the compiler decides the best algo to perform the task);
      - qMin(qMax) to qBound.
      
      Changes in: TeminalDisplay and TerminalColor
      8c57c842
  9. 06 Jan, 2021 2 commits
  10. 02 Jan, 2021 3 commits
  11. 31 Dec, 2020 2 commits
  12. 23 Dec, 2020 2 commits
  13. 18 Dec, 2020 1 commit
    • Edwin Pujols's avatar
      TerminalDisplay: Limit mouse move events. · 6667d96e
      Edwin Pujols authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      The terminal display mouse tracking is based on character boxes, i.e.,
      unless the mouse moves out of a character box its position hasn't really
      changed. So most of the logic in `TerminalDisplay::mouseMoveEvent` can
      be skipped/omitted till the pointer crosses box boundaries.
      
      Before my changes applications like Vim/Neovim couldn't do selection via
      dragging with the left mouse button (there might be a bug there). I
      cursorily checked other features like the color filter and URL
      underlining, and they work.
      6667d96e
  14. 14 Dec, 2020 4 commits
  15. 13 Dec, 2020 3 commits
  16. 12 Dec, 2020 2 commits
  17. 10 Dec, 2020 1 commit
  18. 14 Nov, 2020 1 commit
  19. 13 Nov, 2020 2 commits
  20. 05 Nov, 2020 1 commit
  21. 28 Oct, 2020 1 commit
  22. 26 Oct, 2020 1 commit
  23. 20 Oct, 2020 3 commits
  24. 16 Oct, 2020 1 commit