When a TerminalDisplay is destroyed, the timers are still active
until they are deleted by QObject, so they could fire when anything
in the QWidget or QObject destructor processes events.
BUG: 208199
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=1082643
use QRegion instead of QRect to represent each HotSpot's valid region
when a link spans over multiple lines
calculate the unites of QRects as this HotSpot's region
so the link get underlined properly
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=906906
mostly seen as
"the the" -> "the"
"the the" -> "to the"
and in its best case
"a the the" -> "" :)
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=864814
Take into account the scrollbar position when computing the region of the
display widget to do an optimised scroll on.
BUG: 162958
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=815891
flow control. Check current terminal flow control settings when Ctrl+S is pressed and only
show the warning if the warning is enabled in profile settings and Xon/Xoff is
enabled in the terminal.
BUG: 162173
CCMAIL: jriddell@ubuntu.com
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=808588
which are also valid terminal key sequences should be overridden and sent
to the terminal instead.
Default behaviour in the standalone Konsole is never to override shortcuts. Default
behaviour in the terminal part is to always override shortcuts.
Shortcuts which are not valid terminal key sequences (eg. because they have more than
two modifiers) are never overridden.
Add an overrideShortcut() signal to the Part to expose this functionality to clients.
CCMAIL: kde-core-devel@kde.org
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=799577
arrow and 'torn-off' tab while moving.
(Drag and drop between windows is supported only for windows within the same process,
which will be all windows opened from a GUI)
Some of this functionality could be moved to kdelibs / KTabBar for the benefit of other
applications.
BUG: 75653
Squashed commit of the following:
commit 1e5b628b74f4c7182b1aed159088f0d449bf6f1f
Author: Robert Knight <robertknight@gmail.com>
Date: Tue Apr 15 11:32:04 2008 +0100
Set drop indicator label to same size as pixmap.
commit 59ad9200465cfb76651ce81abd3ba20e2fdd3067
Author: Robert Knight <robertknight@gmail.com>
Date: Tue Apr 15 11:14:41 2008 +0100
Adjust drop indicator for north and south tabs.
commit 01ba5bca9457bc19156f5a87ad6967fac7cc3c1e
Author: Robert Knight <robertknight@gmail.com>
Date: Tue Apr 15 11:06:52 2008 +0100
Display a drop indicator arrow at the position where the tab will be dropped.
commit 137ade01d70d75d26f3c14624ec2c096c8c50eba
Author: Robert Knight <robertknight@gmail.com>
Date: Tue Apr 15 10:01:28 2008 +0100
Update detach view action state when moving tabs between windows.
commit 412c2d16844afda3f0427a5583d653c2214722fb
Author: Robert Knight <robertknight@gmail.com>
Date: Tue Apr 15 09:56:37 2008 +0100
Move mimetype definition to ViewProperties
commit dc31499351ef564cfe75c25124c3549b5dc75e16
Author: Robert Knight <robertknight@gmail.com>
Date: Tue Apr 15 02:26:03 2008 +0100
Hack around crash which can occur after a drag-and-drop tab move causes a view container to be destroyed, taking the QDrag object with it. Fix this by setting the QDrag's parent object to 0 before calling removeView(). This leaks the QDrag however.
commit df057fd06988bcd2b4c0f21e1d746543e7cfe1c5
Author: Robert Knight <robertknight@gmail.com>
Date: Tue Apr 15 02:24:21 2008 +0100
Fix jumps based on uninitialized variables.
commit 864bfcc2e8c63e2c8a9b6e9c96bc4d90d3dacd7e
Author: Robert Knight <robertknight@gmail.com>
Date: Tue Apr 15 00:20:12 2008 +0100
Make the initiator of the tab drag event remove the view. Change newViewRequest() -> moveViewRequest(). Do not delete the view if the tab is dropped onto another application which blindly accepts it.
commit b922858420d4b61ad2727c64bc885042280d65f4
Author: Robert Knight <robertknight@gmail.com>
Date: Mon Apr 14 23:29:18 2008 +0100
Add support for drag-and-drop moving of tabs between any two tab bars in the same process.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=797287
TerminalDisplay widget. Include width of vertical scrollbar (if visible)
and top/left margins. Konsole will now start with a default width of 80 columns
on most systems if no window size has been saved in konsolerc
The initial size of Konsole is specified as 80x40 internally. Qt constrains
the size of top-level windows on their first automatic resize to a
maximum of 2/3rds of the screen size (see QWidgetPrivate::adjustedSize()).
This means that the display might not get the 80x40 columns that it asks
for, depending on the desktop size.
CCBUG: 160422
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=793964
TerminalDisplay::charClass() used to return one of three values to indicate whether
the input was a space, "word character" (letter, number or character from the wordCharacters() array)
or something else. When double clicking a 'word' was taken to be a run of
characters which had the same charClass(). Fix this by returning the input character
in charClass() if it is not a space or word character.
CCBUG:155416
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=791732
implement their own BiDi algorithm. There is also another reason: comatibility. All terminals are *not* aware of the BiDi issue and do not re-order the chars
(gnome-terminal, xterm, konsole, etc). It is possible to enable the BiDi rendering on each profile, so this is not a huge lost. I am still missing the keyboard shortcut to
quickly enable/disable it (alt+control+b in konsole3), but I am not sure what is the best way for doing it.
A quick note about the implementation:
In QPainter3, there was an option to draw a text and tell the painter "please do not implement BiDi". In QPainter4 (up to 4.4) there is no such option. I am forcing it by
drawing "painter.drawText(rect,0,QChar(0x202D)+text)" (that is &LRO;), and it does seem to work, but I find it kinda "hackish". I will open a task in Trolltech and
request that new feature. Hopefully by Qt4.5/KDE4.2 I will be able to change the implementation.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=791374
using the Xterm Operating System Controls escape sequences.
See the "Operating System Controls" section on this page:
http://rtfm.etla.org/xterm/ctlseq.html
Other colors and multiple color sequences are not supported.
xtermcontrol --fg=<color> --bg=<color> now work as expected.
In addition to standard color names ("green","blue","red") etc, Qt
also accepts SVG color names:
http://www.w3.org/TR/SVG/types.html#ColorKeywords
BUG: 155801
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=787355
This makes it possible to scroll up and down in 'less' and other applications using the mouse wheel. One key press is sent for every 5 degrees of mouse wheel rotation. Typical mouse wheels operate in steps of 15 degrees which equals 3 lines scrolled per notch. This default is the same as Vim's default mouse wheel scroll step.
As in gnome-terminal and others, this has side effects such as the mouse wheel scrolling through history results in the shell if the shell is run in a program such as screen.
BUG: 159340
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=786780
area of the terminal display widget after the content is scrolled with QWidget::scroll() :
- Set the left edge of the scrolled rect to 0 (instead of the left margin used when
drawing the text)
- Set the right edge of the scrolled rect to width() - width of scroll bar - 1. If the
right edge of the scrolled rect touches the scroll bar then a full repaint of the widget
is triggered.
These changes are based on experimentation. I haven't had time to look into Qt to
find out exactly what changed between Qt 4.3 and 4.4.
Update comments to reflect changes and add a mention of Qt's QT_FLUSH_PAINT repaint
monitoring facility.
CCBUG: 158523
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=783788