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
* Add a method in ScreenWindow to set the size of the window (in lines, the number of columns is still ifxed).
* Call this method in TerminalDisplay to set the window size when the widget is resized or when the screen window of a display is initially set.
* Fix ScreenWindow::getImage() and ScreenWindow::getLineProperties() so that they do not attempt to retrieve information about lines beyond the end of the screen.
* Fix ScreenWindow::getLineProperties() to always return result vector of size windowColumns(), though the number of elements copied from the screen may be less.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=749874
Instead a single buffer is created and maintained by ScreenWindow.
* Re-write Screen::getCookedImage() and rename to getImage() to make it possible
to retrieve an image of a section of the screen which is not the same size as
the terminal screen.
* Make various non-mutating Screen methods const
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=749864
colors was not readable with terminal display transparency enabled.
* Transparency works again, but requires --enable-transparency argument passed to command-line
due to artifacts that appear otherwise.
Re-enable the code which searches for a suitable display, visual and colormap when
starting the application in an environment which supports compositing. Still
need to resolve with other developers exactly how this will be done in KDE 4.0
* Fix problem where flow control warning banner was always displayed when
Ctrl+S, Ctrl+Q were pressed, regardless of whether flow control was
actually enabled.
* Fix artifacts when scrolling whilst the flow control warning banner was
visible. Scrolling optimisations in the terminal display are disabled whilst
the warning banner is being shown.
* Fix links which wrapped over more than one line being cut-off at the end of the line
(eg. when parsing "http://www.kd <END OF LINE> e.org" the link address would be reported
as "http://www.kd" instead of "http://www.kde.org"). The link underlining is not yet
corrected, only the part of the link on the first line is highlighted.
* Implement code to load and use a built-in keyboard translator for fallback purposes
in case no .keytab files exist. The actual translator text (in DefaultTranslatorText.h)
is currently incomplete.
* Replace hard-coded colors for flow control warning label with colors from
KColorScheme
* Replace hard-coded colors in incremental search line edit when a match is not found
with colors from KColorScheme
* Remove un-used variables in TerminalDisplay class, rename enums to match
CamelCase naming style used elsewhere.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=748936
was the last line in the selection.
* Do not attempt to reposition the mouse cursor when it moves outside
of the terminal display area. This happens in Konsole/KDE 3 as well,
I had never noticed it before though.
* Remove debugging code
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=740704