1. 23 Jun, 2021 2 commits
  2. 22 Jun, 2021 3 commits
    • Friedrich W. H. Kossebau's avatar
      Use ecm_qt_install_logging_categories to generate kdebugsettings file · c86fb452
      Friedrich W. H. Kossebau authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      GIT_SILENT
      c86fb452
    • Ahmad Samir's avatar
      Add option to always invert text selection colours · 38208f94
      Ahmad Samir authored
      The recent change of blending the background/foreground colours for text
      selection doesn't work everywhere, users with vision impairment or
      colour-blindness would probably find it hard to distinguish text selection
      colours; and the current code can't possibly cover all variations of colour
      schemes out there. The same goes with certain displays and viewing angles,
      some display types are notoriously awful when viewed at an angle.
      
      BUG: 435309
      FIXED-IN: 21.08
      38208f94
    • Ahmad Samir's avatar
      General code cleanup · 4ef7296b
      Ahmad Samir authored
      - Add a type alias for QPointer<Session>
      - Use TerminalDisplay::setSessionController() as early as possible
      - Use Screen::setCurrentTerminalDisplay() in TerminalDisplay::mousePressEvent(),
        this matches what's being done in keyPressEvent()
      - Add convenience function TerminalDisplay::currentSession()
      - More const
      4ef7296b
  3. 18 Jun, 2021 6 commits
  4. 15 Jun, 2021 15 commits
  5. 07 Jun, 2021 14 commits
    • Luis Javier Merino's avatar
      Support AutoScroll while mouse tracking is enabled · a66d2e23
      Luis Javier Merino authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      AutoScrollHandler generates synthetic mouse moves to allow extending the
      selection by dragging the mouse ouside the display area.  The synthetic
      events it generates didn't carry any modifiers, so they were not
      properly working when an application had requested mouse tracking
      reports.  In that case, generate the events with ShiftModifier, so they
      work properly.
      a66d2e23
    • Luis Javier Merino's avatar
      Only generate autoscroll events while selecting · 6aa40563
      Luis Javier Merino authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      As gumix explains in the bug below, "Konsole keeps sending mouse-drag
      reports in ESC[?1003h mode after releasing button outside window [...]
      The only way to stop it is to get mouse back over Konsole window."
      
      These mouse-drag reports are actually generated by AutoScrollHandler, to
      support the use case of extending the selection by dragging the mouse
      outside the display area.
      
      So, only generate those reports while selecting.
      
      Can be tested by playing around in vttest:
      
       - 11. Test non-VT100 (e.g., VT220, XTERM) terminals
       - 8. Test XTERM special features
       - 5. Mouse features
       - 7. Mouse Button-Event Tracking (XFree86 xterm)
      
      BUG: 391975
      6aa40563
    • Luis Javier Merino's avatar
      Restore AutoScrollHandler behavior · c9f77e52
      Luis Javier Merino authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      AutoScrollHandler allows to extend the selection by dragging the mouse
      outside the display.  It does this by generating synthetic mouse move
      events when the left mouse button is held down and the mouse is moved
      outside of the display area.  This improves the user experience of
      extending the selection to cover text that is scrolled outside the
      display area.
      
      Unfortunately, this was broken by commit
      6667d96e, which filters out mouse move
      events if they don't change the character cell position.  So, modify the
      filtering a bit, allowing mouse movements outside the display area to
      pass through.
      c9f77e52
    • Luis Javier Merino's avatar
      De-qwidget-ize TerminalColor and TerminalFonts · 66e19aaf
      Luis Javier Merino authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      Something was swallowing mouse moves on the top left 100x30 pixels of
      TerminalDisplay.  As it turns out, it was the widgets for TerminalFonts
      and TerminalColor.  Neither of them really needs to be a QWidget.
      
      TerminalColor emits the onPalette(const QPalette &) signal, has slots,
      and overrides event(QEvent &), so turn it into a QObject.
      
      TerminalFonts doesn't do any of the above, turn it into a plain C++
      object.
      
      Now that TerminalFonts is no longer a QObject, manage it with a
      std::unique_ptr.
      
      TerminalFonts::fontChange(const QFont &) was calling update(), which was
      probably a leftover from when it was split from TerminalDisplay.  Get
      rid of it.  Trivial testing using keyboard shortcuts to change font size
      (Ctrl++, Ctrl+-, Alt+Ctrl+0), and previewing font changes on "Edit
      Current Profile..." seem to indicate that it isn't needed.
      66e19aaf
    • Luis Javier Merino's avatar
      Support DECSET 1003 mouse move tracking · b5d17438
      Luis Javier Merino authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      Mode 1003 reports all mouse movement.  Support it in Konsole.
      
      BUG: 391967
      BUG: 416530
      BUG: 423333
      b5d17438
    • Luis Javier Merino's avatar
      Don't send move events for normal mouse tracking · 027e8c15
      Luis Javier Merino authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      xterm's DECSET 1000 requests justs press and release notifications, so
      do not send move events on this mode.
      
      BUG: 302731
      027e8c15
    • Luis Javier Merino's avatar
      Make mouse tracking modes mutually exclusive · d70fc5ee
      Luis Javier Merino authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      On xterm, modes 9 (X10 legacy, button press), 1000 (button press and
      release), 1001 (mouse highlight tracking), 1002 (mouse drag) 1003 (mouse
      move) and DECELR (DEC Locator) are mutually exclusive.
      
      So are 1005 (extended coordinates mode), 1006 (SGR extended
      coordinates), 1015 (urxvt extended coordinates) and 1016 (use pixel
      coordinates).
      
      On xterm, disabling any of the 9, 1000, 1001, 1002, 1003, DECELR modes
      disables mouse tracking.  To disable the extended coordinate modes
      (1005, 1006, 1015, 1016), the current mode should be disabled.
      
      So, do the same for the modes Konsole supports.
      d70fc5ee
    • Luis Javier Merino's avatar
      Respect read-only for all mouse tracking events · 1a63b91d
      Luis Javier Merino authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      The read-only property wasn't being respected for mouse move and mouse
      release events.
      1a63b91d
    • Luis Javier Merino's avatar
      Do not swallow right button presses on double-click · 7cbbb07f
      Luis Javier Merino authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      As explained by magiblot at the bug below, "When double clicking with
      the right button, the sequences sent to the application in the terminal
      are DOWN-UP-UP instead of DOWN-UP-DOWN-UP."
      
      BUG: 425926
      7cbbb07f
    • Martin Tobias Holmedahl Sandsmark's avatar
      add test to expose memory corruption · 16d0df1f
      Martin Tobias Holmedahl Sandsmark authored
      CCBUG: 432376
      CCMAIL: cbc.alves@gmail.com
      16d0df1f
    • Martin Tobias Holmedahl Sandsmark's avatar
      enable ECM cmake stuff · d853baaf
      Martin Tobias Holmedahl Sandsmark authored
      d853baaf
    • Tomaz  Canabrava's avatar
      Simplify Algorithm · 6723627d
      Tomaz Canabrava authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      6723627d
    • Tomaz  Canabrava's avatar
      Restore the sizes so the splits don't resize after rearrange · 52e08628
      Tomaz Canabrava authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      52e08628
    • Tomaz  Canabrava's avatar
      Remove uneeded spliters from the widget tree · 208181d4
      Tomaz Canabrava authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      When a Splitter has only one child, it can be removed, and the
      child can be united with the widget above, unless it's the only
      splitter - as that holds the main widget.
      208181d4