Commit Graph

13 Commits

Author SHA1 Message Date
Luca Carlon
4bdcf59579 Removed unused variables 2025-05-17 21:18:51 +02:00
Laurent Montel
47e617e474 Remove unused includes 2024-05-13 06:53:34 +02:00
Waqar Ahmed
1e136d63f2 move konsole to kf6 2023-10-25 22:13:53 +05:00
Friedrich W. H. Kossebau
451ed33d63 Add explicit moc includes to sources for moc-covered headers
* speeds up incremental builds as changes to a header will not always
  need the full mocs_compilation.cpp for all the target's headers rebuild,
  while having a moc file sourced into a source file only adds minor
  extra costs, due to small own code and the used headers usually
  already covered by the source file, being for the same class/struct
* seems to not slow down clean builds, due to empty mocs_compilation.cpp
  resulting in those quickly processed, while the minor extra cost of the
  sourced moc files does not outweigh that in summary.
  Measured times actually improved by some percent points.
  (ideally CMake would just skip empty mocs_compilation.cpp & its object
  file one day)
* enables compiler to see all methods of a class in same compilation unit
  to do some sanity checks
* potentially more inlining in general, due to more in the compilation unit
* allows to keep using more forward declarations in the header, as with the
  moc code being sourced into the cpp file there definitions can be ensured
  and often are already for the needs of the normal class methods
2023-07-28 12:17:12 +00:00
Theodore Wang
4ad81a7717 Hides redundant widgets on dialog for emoji font selection
_showAllFonts and _showAllFontsWarning widgets only have functionality for non emoji font selection dialog.
They are shown as redundant and blank widgets at a misplaced position for emoji font selection dialog.
This change simply hides them.

BUG: 469563
2023-06-12 12:19:42 +00:00
Matan Ziv-Av
679ce05ba6 Add two emoji sequences to the samples in the emoji font selection dialog
In order to show rendering of ZWJ sequences with VS16.
2023-05-07 20:08:15 +00:00
Matan Ziv-Av
76f879cd70 Draw characters in exact positions
QT can't be made to draw monospaced text (if the font does not cooperate),
so avoid combining characters, using a QPainter::drawText() call for each
character.

For bidi text support this change requires konsole to reorder and reshape
the characters. This is done using the ICU library (which QT also uses).

This change allows for some improvements related to text rendering:

- More precise bidi reordering, which is no longer changed by characters'
  attributes and selection.
- underlines drawn separately from the text, allowing for differing
  underline modes (double, curly, dashed, dotted, colored).
- Overriding font for emoji characters.

This commit fixes a few bugs and addresses a lot more:

Feature requests: More standard conforming RTL and various underlines:
BUG: 403729
BUG: 387811

Using non-monospace font:
BUG: 416508
BUG: 452087
BUG: 425973
BUG: 430822
BUG: 442742
BUG: 441037
BUG: 430822



Emoji:
BUG: 440070
CCBUG: 450017
CCBUG: 445846
CCBUG: 453086

Regression: devanagari rendering
CCBUG: 381593
CCBUG: 451716
2022-08-26 19:24:56 +00:00
Ahmad Samir
97569b764c Run clang-format on the whole repo
Also install the relevant git hook.

GIT_SILENT
2021-09-06 12:51:39 +02:00
Ahmad Samir
afcffe4aa0 Port away from deprecated KFontChooser constructor 2021-08-31 00:22:17 +00:00
Kurt Hindenburg
78a0092522 Convert src to use SPDX license/copyright
https://community.kde.org/Policies/Licensing_Policy#SPDX_Statements
https://community.kde.org/Guidelines_and_HOWTOs/Licensing
2020-11-12 22:17:06 -05:00
Laurent Montel
ef1beaab86 Remove unused includes 2019-08-23 08:09:17 +02:00
Kurt Hindenburg
6df91aecff Add KUIT markup to GUI messages 2018-12-30 00:29:21 -05:00
Mariusz Glebocki
31d4830392 Edit Profile Dialog UI redesign
Summary:
Overall changes
---------------

* Use a dialog with category buttons on the left, which is used in most
  KDE applications
* Apply KDE HIG as much as possible
* Align layout columns in multiple group boxes
* Move some settings to another groups

General page
------------

{F6447280}

Profile name and icon, and settings related to session/application
initialization.

* Move "Show hint for terminal size after resizing" to Appearance page
* Move "Dim the colors when the window loses focus" to Appearance page

Tabs page, rename tab dialog
----------------------------

{F6447281}

Tabs settings

* Only minor UI changes

Appearance page
---------------

{F6447282} {F6447283} {F6447284}
{F6447290}

Settings related to basic appearance.

* Add additional tabs
  * Cursor - cursor settings from Advanced page
  * Miscellaneous
    * Add "Line spacing" from Advanced page
    * Add previously missing terminal margins and terminal center
      settings (4 years old config-only feature)
    * Add "Show hint for terminal size after resizing" from General page
    * Add "Dim the colors when the window loses focus" from General page
* Use customized font selection dialog
  * Show all printable ASCII characters and look-alike character sets as
    a preview
  * Live preview for changes in the dialog
* Move "Show all fonts" to the font selection dialog
* Remove "text size" (it is replaced with live preview in the font
  dialog)
* Add live preview for cursor settings
* Add live preview for "Line spacing"

Scrolling page, history size dialog
-----------------------------------

{F6447285}

Settings related to scrolling and history.

* Replace popping-in warning frames in "Scrollback" group with warning
  buttons which show floating warning after click. The controls does
  not change position anymore when switching the scrollback options.
  Applies also to history size dialog.
* Replace scrollbar "hide"/"show on left side"/"show on right side"
  options with "visible" checkbox and "show on left side"/"show on
  right side" options enabled after checking the checkbox.

Keyboard page
-------------

{F6447286}

* Removed redundant group box

Mouse page
----------

{F6447287}
{F6447288}

* Shorten "Characters considered part of a word..." label
* Replace "triple-click selects" drop-down with option buttons
* Split settings to "Text interaction" and "Miscellaneous" tabs
* Use monospace font for "Word characters" text input

Advanced page
-------------

{F6447289}

More advanced settings or settings regular user don't care about.

* Replace "Show URL hints when these keys are pressed" checkboxes with
  toggle buttons which are easier to associate visually with hardware
  keys
* Move "Line spacing" to Appearance tab
* Move cursor settings to Appearance tab
* Show "Default character encoding" value directly on drop-down button

Preview for: breeze (dark colors), Oxygen, QtCurve
--------------------------------------------------

{F6447339}

Test Plan:
* Check visually with light/dark color scheme, Breeze, Fusion, Oxygen,
  QtCurve widget styles, normal/large font, QT_SCALE_FACTOR set
  to 1 and 2
* Change every possible control to check UI logic
* Change as much settings as possible and see if they are applied

Reviewers: #konsole, #vdg, ngraham, hindenburg

Reviewed By: #konsole, #vdg, ngraham, hindenburg

Subscribers: emateli, loh.tar, hein, mart, hindenburg, rizzitello, abetts, ngraham, konsole-devel

Tags: #konsole

Differential Revision: https://phabricator.kde.org/D17244
2018-12-16 09:44:32 -05:00