Pass an invalid QColor() rather than the palette's foreground color
to QTabBar::setTabTextColor() to change a tab to the foreground color,
otherwise the tab continues to use the previous palette's foreground
color when a palette change occurs.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=796022
The new widget respects the current KDE color scheme.
BUG: 156119
Squashed commit of the following:
commit c7d81f7c65d2be87a4b70f485da6ec1b91be76b9
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Apr 12 11:05:11 2008 +0100
Use the warning box for the 'transparency not supported' warning display in the color scheme and profile editors.
commit e4149b67588123540144f0496257194058c92fe4
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Apr 12 11:04:25 2008 +0100
Add WarninBox to build.
commit d82adc02b9aad6cb99660a9b2d48cce2e3c42418
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Apr 12 11:04:02 2008 +0100
Add a generic warning box widget which uses colors from the current KDE color scheme.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=796014
from a terminal. This is useful because:
1) The environment from the terminal propagates into the new process
(including changes to DISPLAY)
2) Konsole/KDE 4 can be used for developing Konsole/KDE 4.
Squashed commit of the following:
commit a0bfaa3612b15937a773f3d7a3cfdf34b4fc123f
Author: Robert Knight <robertknight@gmail.com>
Date: Thu Apr 10 15:38:58 2008 +0100
Adapt to new KUniqueApplication::StartFlag names.
commit 25a7f64b9d9a9bc6e000bdd43a8f69652645542b
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Mar 23 04:42:01 2008 +0000
Force creation of a new Konsole process when Konsole is started from a terminal.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=795982
(He didn't have time to make it yesterday and will able to commit it next thursday)
This patch clean up some :
target_link_libraries(kfoo kdeinit_kfoo) which is already done in kde4_add_kdeinit_executable()
macro and use "INSTALL_TARGETS_DEFAULT_ARGS" in other place.
I tested all compile file, all works fine but if there is a pb send me a mail.
CCMAIL: neundorf@kde.org
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=795711
(which will be the case on non-first runs) then manually resize it to
its sizeHint() to work around Qt's restriction on the relative size of
top level windows compared to the desktop size.
CCBUG: 160422
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=793970
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
(Requires recent kdelibs rv. 792234 for the 'Clear' button to work)
Squashed commit of the following:
commit d60cba88cc4c4027220558cf6fe5487022beb767
Author: Robert Knight <robertknight@gmail.com>
Date: Mon Mar 31 19:05:00 2008 +0100
Make the Favorite column toggle respond to double click events as well so that quick clicks in succession are not ignored.
commit 5dd0730a2a838a88d50a91dc7a70ec2ffda23c4b
Author: Robert Knight <robertknight@gmail.com>
Date: Mon Mar 31 19:02:33 2008 +0100
Allow more width for the Shortcut column in the Manage Profiles dialog so that the shortcut editor has enough room.
commit 2271b154b1d3c03442827b7553a827ab0b199344
Author: Robert Knight <robertknight@gmail.com>
Date: Mon Mar 31 17:58:14 2008 +0100
Do not draw shortcut text whilst a shortcut is being edited. Move styled background drawing into new class.
commit 4b06713f63d41b0df22fa2e03ab3f7e90be8ab9f
Author: Robert Knight <robertknight@gmail.com>
Date: Mon Mar 31 17:35:57 2008 +0100
Prevent profile shortcut being cleared as soon as editing starts - do not connect to the keySequenceChanged() signal until after the existing shortcut has been applied to the editor. Change edit triggers for table view to start editing when a selected item is clicked.
commit 84ff71e40a1e6b9993c45d8fc17c6aba3a5e25a5
Author: Robert Knight <robertknight@gmail.com>
Date: Mon Mar 31 17:09:07 2008 +0100
Use KDE shortcut edit widget to edit shortcuts in Manage Profiles dialog. Rename ProfileItemDelegate to FavoriteItemDelegate and introduce a new ShortcutItemDelegate for the shortcut column which uses KKeySequenceWidget to edit shortcuts.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=792245
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
Squashed commit of the following:
commit 17bd4aee3b20b3d36e0891dfd516d986430133c2
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Mar 30 03:39:07 2008 +0100
Use a list of integers rather than a bitmap to record the character positions of new lines. This allows for empty lines in the buffer which means that multiple lines may start at the same character position.
commit d8ee8002f6ee87257f70f94e1a77a44f668617d9
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Mar 30 03:22:24 2008 +0100
Compute the line index of a match found during output search more accurately. Add a method to record the positions of new lines within the output stream to TerminalCharacterDecoder and use that in SearchHistoryTask to count the number of lines offset from the start of the current block. Unlike the previous method this works when there are wrapped lines in the output.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=791703
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
I'm not sure if SessionManager is public API; if not, reverting
this and adding the const in SessionManager.h is probably preferable.
CCMAIL: robertknight@gmail.com
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=790168
commit 99d61f9bdfe29347050162a5a675bb0c276bc1bf
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 20:45:45 2008 +0000
Allow a normal frame around the table view in ManageProfilesDialog. Works better with Oxygen style.
commit 7075de00d8cc88568e108e868e08d071d5aa7bcb
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 20:37:38 2008 +0000
Change base class of ProfileItemDelegate from QItemDelegate to QStyledItemDelegate for better rendering. Fix updates of favorite / non-favorite status in ManageProfilesDialog. QVariant equality comparisons are not properly supported for custom types so QAbstractItemModel::match() has to be replaced with manual iteration through the rows.
commit 3baa3307473e037efd500ade7df37d2fd62c60d9
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 20:09:27 2008 +0000
Remove unecessary deleteProfile() call. Explicitly add new profiles to the SessionManager. Mark the temporary profile in the EditProfileDialog as hidden.
commit 53d1e3515d3408c08ba4b019b5faceffae6b0f8a
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 20:02:28 2008 +0000
Do not track deletion of temporary un-named profiles.
commit 55c69e15a4247319b0cff73691f072fef39684c9
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 20:01:25 2008 +0000
Make SessionManager::addProfile() public. Call it automatically in SessionManager::setFavorite() if the profile is not already known to the manager. When a profile is deleted via SessionManager::deleteProfile() mark it as hidden so that it is not recreated on disk if later changed. Add debugging in ~Profile to track deletion of profiles.
commit 7a028bac5846cd3689e3351ab139c6f372ca173e
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 19:41:22 2008 +0000
Fix several signal/slot connections in ManageProfilesDialog after the SessionManager changes.
commit da7c7b4f939c17885cf0fbaa1fb93d2655021b83
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 19:36:57 2008 +0000
Use a helper class to pop elements from recursion guard stack when a call to loadProfile() returns rather than requiring a manual call to recursionGuard.pop()
commit 14a993d15722ec5270de708154408896fd7418b8
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 19:12:20 2008 +0000
Fix profiles not being loaded properly if their parent was a profile which had already been loaded. Profile paths were not being taken off the recursion guard stack at one exit from loadProfile().
commit f946fc0cbde26cd816e3f1d172a5e5327ff3295b
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 19:01:06 2008 +0000
Adapt Part to the SessionManager/Profile changes.
commit d3155ba0f6dc9ec0ca34a45b5787488c055dc4bf
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 18:55:05 2008 +0000
Update MainWindow API documentation to reflect string key -> ref counted pointer change for profiles.
commit 5d546054c031ae6ee6915f2cc6bcf61dd4e03520
Author: Robert Knight <robertknight@gmail.com>
Date: Sat Mar 22 18:53:16 2008 +0000
Update SessionManager API documentation to reflect string key -> ref counted pointer change for profiles.
commit 856fdf37a5bd81711ff0db1b307b8736ef4ae34e
Author: Robert Knight <robertknight@gmail.com>
Date: Thu Mar 20 23:43:53 2008 +0000
Fix assert. Fall back to current locale's codec if a null pointer is passed to Emulation::setCodec()
commit 127e894d076061b991934adf84256b651bf31724
Author: Robert Knight <robertknight@gmail.com>
Date: Thu Mar 20 22:45:11 2008 +0000
Replace string key for profiles with ref-counted profile pointer.
commit 53246e5bd4ffcec56ca0ff94730f9ef3946e3f4c
Author: Robert Knight <robertknight@gmail.com>
Date: Thu Mar 20 20:50:17 2008 +0000
First step towards removing string keys as a means to reference profiles. Change Profile base class from QObject to QSharedData and replace all usage of Profile* with KSharedPtr<Profile>
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=788936
fails because the binary does not exist or if the shell crashes or exits
with a non-zero status code.
In these cases, also prevent the tab from being closed automatically.
If the binary for the session cannot be found, display a warning and try
to fall back to $SHELL or as a last attempt, /bin/sh. This should mean
that users should always be given a semi-functional basic environment
if their profiles get messed up, the shell program gets uninstalled etc.
BUG: 120322
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=787709