right of the tab bar when the "Show 'New Tab' and 'Close Tab' buttons on tab bar" option
is enabled - which brings tab management back to the way it was in KDE 3.
Several users (esp. those working with laptop trackpads) were having problems with
accidentally closing tabs. It seems KTabBar's close buttons need some refinements before
they can be used in the terminal.
CCMAIL: wstephenson@kde.org
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=809838
Go to Settings -> Edit Current Profile -> Tabs page and tick "Show 'New tab' button in tab bar"
This was added for the benefit of users with existing habits from KDE 3 and is not
shown by default.
* Add close buttons on tabs using the new style ppenz added to KTabBar
* Add confirmation when closing via middle-click/close button if a program other than a shell or
nested shell is running in the foreground of that session.
BUG: 157015
Squashed commit of the following:
commit 54a5db9c31a5527e44d7358b30587c28bab965bc
Author: Robert Knight <robertknight@gmail.com>
Date: Fri May 2 01:48:05 2008 +0100
UI text correction: 'on tab bar' -> 'in tab bar'
commit ed8e70238e2cc4240f8334cd091fa2707785a908
Author: Robert Knight <robertknight@gmail.com>
Date: Fri May 2 01:46:42 2008 +0100
Do not show the confirm-on-close prompt if the foreground program is another shell.
commit 010370c12950a532d93c99d0983c74c47e26ad07
Author: Robert Knight <robertknight@gmail.com>
Date: Fri May 2 01:40:05 2008 +0100
Add a confirmation which is displayed when closing a tab via middle-click / close button if the program has an active program running in the session (other than the shell itself).
commit 49812e26e5fd8c44dd01f1a6a4c0e7271c6366fd
Author: Robert Knight <robertknight@gmail.com>
Date: Fri May 2 01:25:29 2008 +0100
Add confirmClose() method to ViewProperties which is can be re-implemented to prompt whether to close the session. Make the presence of the close button in the ViewContainer dependent on a QuickCloseView feature being enabled.
commit ece191ad5ad550af47cd2ca0bc75a517119e7189
Author: Robert Knight <robertknight@gmail.com>
Date: Fri May 2 01:09:17 2008 +0100
Show 'close' button on tabs using the new close button style added to KTabBar by ppenz.
commit f975f04c993effdd2afef588c5f765192b6fab5a
Author: Robert Knight <robertknight@gmail.com>
Date: Fri May 2 01:03:54 2008 +0100
Better UI text for 'Show New Tab' option.
commit 642c5b1d07cd2288c78446efe395da050730decb
Author: Robert Knight <robertknight@gmail.com>
Date: Thu May 1 21:04:47 2008 +0100
Sync 'new tab' tab bar menu actions with profile list.
commit c6c556980e43afcb1bb5fdfaaa9dd7e12e524688
Author: Robert Knight <robertknight@gmail.com>
Date: Wed Apr 30 23:01:34 2008 +0100
Hook up actions in new tab popup menu so a new tab is created with the right profile when an action is chosen.
commit dece8a23ff101dda47d495ba38e57e55059c4e63
Author: Robert Knight <robertknight@gmail.com>
Date: Wed Apr 30 22:51:28 2008 +0100
Apply ShowNewTabButton profile property to current view container.
commit e244a95512dc535198fa69c3afe34b597402de15
Author: Robert Knight <robertknight@gmail.com>
Date: Wed Apr 30 22:50:57 2008 +0100
Add support for enabling/disabling a 'quick new view' widget in view containers. Add an implementation of it (quick new tab button) in TabbedViewContainerV2
commit 9fdc2e450aefb9b602f8fb6b66d3508e6750531b
Author: Robert Knight <robertknight@gmail.com>
Date: Wed Apr 30 22:50:22 2008 +0100
Hook up 'Show new tab button' UI option.
commit 7326e6dccbc095f0f784fd6f4da532f250ca5437
Author: Robert Knight <robertknight@gmail.com>
Date: Wed Apr 30 22:50:04 2008 +0100
Add ShowNewTabButton profile property and set a default for it (false)
commit 273f85f0d21d8b755712c67c50a939400f15a169
Author: Robert Knight <robertknight@gmail.com>
Date: Wed Apr 30 21:22:09 2008 +0100
Add checkbox for toggling new tab menu button.
commit 200744ce620cd6bd9a9d1791e62863c618921788
Author: Robert Knight <robertknight@gmail.com>
Date: Wed Apr 30 21:21:33 2008 +0100
Formatting. Remove extra lines.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=803112
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
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
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
which part of the code the message came from and allows filtering of output
using kdebugdialog
* Remove explicit creation of singleton classes SessionManager,ColorSchemeManager and
KeyboardTranslatorManager and automate it with K_GLOBAL_STATIC.
This ensures that the singleton destructors are called appropriately by KPart clients
when they unload the libkonsolepart library.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=754334
call to delete the file fails.
* Make deletion of color schemes, key bindings and profiles
atomic operations from the point of view of outside classes.
* Fix various warning produced by the -Woverloaded-virtual flag.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=746168
Edit Profile dialog:
* Fix selection of color schemes and key bindings not being
remembered after the color scheme/key binding list is changed
(eg. due to adding a new color scheme or editing an existing one).
This also fixes the preview not being updated when mousing outside
the list after adding a new color scheme.
-> After updates to the color scheme / key bindings list the model
was being deleted and a new model was created. This caused the
selection model to be changed without the signal-slot connections
from the selection model to the dialog being re-established.
This commit changes that so that the model is not replaced but
simply cleared when the color scheme / key binding list is updated.
* Disable the Edit, Remove buttons on the Appearance and
Key Bindings tabs when there is no selection.
* Fix crash when clicking 'New' button on the Appearance tab
if the color scheme list is empty.
* Fix crash when loading the Appearance tab if the color scheme
associated with the profile does not exist
* Fix crash when loading the Key Bindings tab if the key binding
associated with the profile does not exist
* Fix crash when attempting to load a color scheme with no name,
instead the color scheme is simply not loaded.
* Fix all colors except one being set to black when making changes
to a color scheme which was based on the default fallback color scheme.
-> When creating a new array inside the ColorScheme class to hold color
entries, initialize its elements with values from the default color
array.
* Use qWarning() instead of qDebug() to print out error message if attempting
to delete a color scheme fails.
* Minor formatting changes in Session.cpp,SessionController.h
Known bugs introduced by this commit:
* Attempting to create a new keyboard translator when no existing translator
is selected will crash because KeyboardTranslator::defaultTranslator() has
not been implemented yet.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=746071
* Add a passive warning widget which is displayed when a color scheme is selected which
uses transparency but the system does not support transparency
* Always show the vertical scroll bar in the color scheme list
* Remove quotes around links and email addresses in mouse-over tooltip
Bug Fixes:
* Fix a few odd behaviours with the live color scheme preview
* Fix the 'Show in Menu' status of newly added profiles not being
saved when Konsole exits.
( Update Profile's path property when saving the profile to
a new location )
Internal:
* Removed many debugging statements and dead / commented out code
* Fix several unused parameter warnings
* API documentation corrections in Emulation class
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=706986
letters://any-non-whitespace-characters is treated as a Url
* Correct the test which compares the old and new values and ranges when
updating the terminal display's scroll bar.
This fixes the scroll bar being repainted unnecessarily often. Found
with the nifty QT_FLUSH_PAINT debugging tool.
* Select the profile name (set to "New Profile" by default) and focus the
profile name edit area when showing the Edit Profile dialog for a new
profile to allow the user to easily set the name.
* Always use color scheme list animation, not just when the Edit Profile
dialog is first displayed as per richmoore's suggestion.
* Update Edit Profile dialog caption when profile name is changed.
* Update favorite status icon in Manage Profiles dialog when the favorite
status is changed by another object.
* Add disabled menu item which is shown in the 'Change Profile' list
when there are no other profiles there
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=683787
* Experimental optimization, disable kerning since this is not required
with the mono-spaced fonts which are used in the terminal.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=682702