for example), close the pty instead and wait for the process to exit.
CCBUG:165994
BACKPORT-4.0
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=832426
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
No new methods have been added to the TerminalInterface class in kdelibs to avoid breaking
binary compatibility so the slot must be invoked via QMetaObject::invokeMethod() for now.
See tests/PartTest.cpp
CCMAIL:jr@jriddell.org
Squashed commit of the following:
commit 0759e22dc26b7c1c28e0d8a9b0d245d909629237
Author: Robert Knight <robertknight@gmail.com>
Date: Fri Apr 18 20:43:20 2008 +0100
Adapt test to kdelibs changes. Add a label to explain what the user should expect to see.
commit b67be2fd20178625f01f8f135751849082eddf04
Author: Robert Knight <robertknight@gmail.com>
Date: Fri Apr 18 00:47:32 2008 +0100
Export Pty, Session, KeyboardTranslator classes for use in tests.
commit 6dd28bf628fe1036c59f3383aba27ba98e23152c
Author: Robert Knight <robertknight@gmail.com>
Date: Fri Apr 18 00:46:27 2008 +0100
Build test
commit 0a9e1c9dc158f73e6bf9f7ef2fe7d4ea936a8066
Author: Robert Knight <robertknight@gmail.com>
Date: Fri Apr 18 00:46:10 2008 +0100
Remove temp file
commit 8e69bd56fef267ac0c31c989a4959453a8e3359e
Author: Robert Knight <robertknight@gmail.com>
Date: Fri Apr 18 00:45:28 2008 +0100
Add a test for using existing file descriptors with the Konsole part.
commit f1f5b8a7684e88db64769324496a5fa67dd4920b
Author: Robert Knight <robertknight@gmail.com>
Date: Tue Apr 15 18:36:14 2008 +0100
Add support in the KPart to use an existing terminal rather than opening a new one.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=798661
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
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
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
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
This makes sure that if you create a new tab it will always inherit the
current dir, unless the profile you use (either the default using 'new tab'
or using a profile specifically) has a directory set. In which case it will
go to that dir.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=749736
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
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
Starting _monitorTimer is already done if _monitorSilence is true, a few lines above, so removed it.
CCMAIL: robertknight@gmail.com
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=730779