Add action collection for current controller to dialog before showing and reload UI
for other controllers after the dialog is accepted.
There is a known bug at the moment where changing a shortcut from a custom value to
the default shortcut only updates the current tab and tabs created after the change.
This is a kdelibs issue being looked into.
BUG: 161021
BACKPORT: 4.1
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=837726
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
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
Improvements in the KDE 4 version:
- Input can be copied to all other sessions or only a subset of sessions,
selection is via a filter-able list which appears when 'Copy Input To...' is clicked.
- Input can be sent from a tab in one window to a tab in another window
(all sessions in all windows are displayed in the filter window)
BUG: 152072
BUG: 77682
Squashed commit of the following:
commit 3184e1958d3aa7e7574081df32814dbe44591c9e
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 19:24:22 2008 +0100
Remove debugging messages.
commit 31afd9b2a3a327ca3e43deff47415de41a1ad74e
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 19:16:33 2008 +0100
Copy input dialog. Hide 'Number' column and header. Show the check box in the title column. Focus the search filter before showing the dialog.
commit 8c74e736d322e74d7af812a14500d748e748a224
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 19:03:59 2008 +0100
Remove sessions from the internal checked/fixed sets when they are removed. Fix crashes if sessions exited while SessionController was showing a dialog for that session. Add QPointer<T> guards around the dialog exec() methods.
commit e4085069c2ff8cedb987639f50b73a3c679319f6
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 18:44:40 2008 +0100
Remove sessions from the SessionGroup and SessionListModel when they terminate.
commit 29db3a3dd84f392ee333918e261bd6bcd75fd062
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 18:39:24 2008 +0100
Use an extended rather than single selection in CopyInputDialog
commit 3f93507405053c84e09337225fa6e2a582776264
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 17:54:22 2008 +0100
Copy Input Dialog: Show tab text in the Title column. Show clear button in filter line edit.
commit 0619f7ad72a1a346118a0174e5aee01ce94ddc52
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 17:40:07 2008 +0100
Copy Input Dialog: Add buttons to select and deselect all visible sessions.
commit 126afb3d394894a0325c5772fb32a25380932c44
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 17:23:07 2008 +0100
Show the master session as checked and disabled.
commit c559bd5f5bcc59adecc3f29ee5b16200adb37b09
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 17:20:40 2008 +0100
Create a SessionGroup in the SessionController when copyInputToAll() is called and use the CopyInputDialog to allow the user to choose which sessions the current one copies to.
commit 64c12e58a582a17b5cdeddcc8f9df7a89885f9e5
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 17:19:47 2008 +0100
Display session list with check boxes and filter to select sessions to copy input to. Show master session as a disabled, checked item.
commit 43eb5ccdfc768b42c5e650b6e56d1e1120ab5c5b
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 17:19:06 2008 +0100
Add header data and Session* pointer to items in SessionListModel.
commit a8236a6658e1540a924aa6467dc90aeed346a0be
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 17:18:28 2008 +0100
Remove connection to removed slot.
commit 03990fa244159b50152cc721a0fe4e403551d47c
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 17:17:54 2008 +0100
Make SessionGroup take a QObject* parent argument in the constructor.
commit e2f91001c09a8422fb44ad58cf95f8dcba22c063
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 15:25:26 2008 +0100
Add CopyInputDialog to build.
commit 3b33e1d6abdde56bbafd2bbd64c89c008a41d096
Author: Robert Knight <robertknight@gmail.com>
Date: Sun Apr 13 14:32:36 2008 +0100
Add header and implementation files for 'Copy Input To' dialog.
commit 9ebc36e3f09865f29702768cbb17279054e8cb4c
Author: Robert Knight <robertknight@gmail.com>
Date: Thu Apr 10 07:04:48 2008 +0100
Add a dialog for selecting sessions to copy input to.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=796545
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
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
needed now because friday is the last BC day. The rest of the modules will
follow as fast as my laptop allows.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=721704
* Make it possible to rename a session by double-clicking on (one of) its tab(s).
* Make double-clicking on the empty tabbar area launch a new session.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=711160
all sessions using the same profile as the current tab.
* Re-implement support for underlined text
* Use a sensible size for the Manage Profiles dialog by default
* Tidy up SearchHistoryTask
- Remove unnecessary setMatchCase(), matchCase(), setRegExp(), regExp() methods.
- Implement highlighting the search box to indicate search success correctly.
(Previously did not work with 'highlight matches' turned off)
* start.cpp -> main.cpp for consistancy
* Remove old startup-notes
* #ifdef out the transparency setup code on startup, relevant code is now in
qt-copy instead.
* API documentation improvements in SessionController
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=682279
KWindowSystem::compositingActive() works without a QApplication instance.
* Make terminal display intercept shortcuts using the Backspace/Home/End keys
( fixes backspace key triggering the 'Go Back' action in Dolphin when
terminal part has the focus )
* Add some plumbing that will be used to handle resizing by the terminal
program.
* Misc. tidy-ups and EBN fixes.
* Update the right part of the terminal display when updating blinking
cursor.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=668460