* Initial draft of dialogs to manage sessions
- SessionTypeDialog lists available session types and allows the
user to trigger creation, editing or removal of a type.
- EditSessionDialog allows the user to edit an individual session
type.
* Remove access to the old KDE 3 preferences dialog
* Began a re-write of the Konsole part, the intention is to avoid
the duplication of code between the part and the main application
which occurred in KDE 3 and also to make more of the functionality
from the main application available to the part's clients.
* Implement the history size dialog
* Implement SSH bookmarks
* Implement Bookmark Tabs as Folders
* Allow the user to choose which sessions are shown in the 'File' menu
* Implement 'background mode'. When Konsole is started in this mode
(by running "konsole --background-mode") it creates a new session in the
background which can be displayed or hidden at any time by pressing F12.
Idea taken from Yakuake.
* Use tab bar rather than a tab widget for the view container by default,
removes the frame around the terminal display, this does not look correct
if you are using the ported-from-3.5 KDE "Plastik" style in KDE 4.
Qt's very-similar-looking Platique style produces the desired results.
* Fixed two spectacular memory leaks.
* Add option to split the view left/right ( in addition to top/bottom ) and
allow more than two views open at once. Dividing the view into a grid
( aka. "recursive splitting" ) is not yet supported.
* Add menu options to Close Active View and Close Others ( which closes
all views except the active one )
// Behind the scenes stuff
* Rewrote color scheme code
ColorSchema -> ColorScheme
ColorSchemaList -> replaced with global ColorSchemeManager
KDE 4 INI-format color schemes are used if available with fallback to the KDE 3
.schema files otherwise.
* Some more Qt 3 -> 4 porting:
Q3TextEdit -> QTextEdit
Q3IntDict<V> -> QHash<int,V>
Q3PtrList<T> -> QList<T*>
* Various adjustments to resource loading so that the various
*Manager classes can find their resources when being used in
an application other than Konsole ( eg. when being used in a part )
* Change access to singleton managers, the *Manager classes
now have an instance() method to access the global instance and
a setInstance() method which is called by the Application or KPart
constructor to create the manager initially.
* Remove all references to MainWindow from the ViewManager and move
the relevant code to the MainWindow class itself.
svn path=/branches/work/konsole-split-view/; revision=654402
KonsoleApp -> Application
KonsoleMainWindow -> MainWindow
KonsoleBookmarkHandler -> BookmarkHandler
* Fix saving of history to include the correct number of lines
* Remove some unused code
svn path=/branches/work/konsole-split-view/; revision=643770
independantly. Added ScreenWindow class which represents a window
onto a terminal screen. Each terminal view has one screen window
associated with it.
This breaks the original design choice of not having the view know anything
about the session it was displaying, but I feel that no longer makes
sense when there is more than one view on a session.
Still work-in-progress
* Add methods to support tooltips in filters
* Add start of new history size dialog which I hope is easier to understand.
* Internal renaming for clarity
ca -> Character
cacol -> CharacterColor
CO_XYZ -> COLOR_SPACE_XYZ
ca.c -> ca.character
ca.r -> ca.rendition
ca.f -> ca.foregroundColor
ca.b -> ca.backgroundColor
svn path=/branches/work/konsole-split-view/; revision=640688
* Uncheck split-view menu action when detaching the view
* Fix deletion of characters in the terminal display image.
svn path=/branches/work/konsole-split-view/; revision=618303
New User-Visible Features:
* 'Merge Windows' feature. This merges all of the existing Konsole windows into a single
window. (The opposite of detach view in a sense). Only merges the views from the active
tab widget in each window at the moment.
* Split-view feature. Splits existing view top/bottom.
New Front-end Progress:
* Make creating a new tab and window work in the new front-end
* Add detach-view in new front-end
* Added ViewManager class which manges views and view containers in a main window as well
as creating new views and session controllers for terminal sessions.
* Added SessionController class which provides the actions associated with an individual session and view.
(including the Edit and History menus)
* Menu items now working: Copy,Paste,Clear,Clear & Reset,Clear History,Configure Konsole
* Wrote a widget for incremental searches in documents ( IncrementalSearchBar ). The widget
is closely modelled on the incremental search bar found in Firefox.
* SessionList class to provide the actions used to create new sessions in menus
Fixes:
* Fix crashes with multiple views caused by trying to change the size of the
terminal image ( via setSize() ) after the user manually resizes the display
* Update terminal size associated with pty when resizing display
* Fix broken signal-slot connection in TabbedViewContainer
* Check for a minimum terminal size of 1 line x 1 column when updating the terminal image
* Ensure that internal array used by display widget to store terminal characters is always non-zero
in size. Also ensure that 'lines' and 'columns' internal properties are always > 0.
Fixes crashes when display widget has a very small height or width.
* Fixed crash with small display widget caused by TEWidget's count of used lines and used columns
(usedLines,usedColumn fields) not being updated when the terminal image was made smaller.
Refactoring:
* Further file renaming for consistancy between file name and class name
* Make ViewContainer subclasses take a QObject* parent argument in their constructors
svn path=/branches/work/konsole-split-view/; revision=618089
- Add bookmarks menus under Main_Menu->Session and Toolbar->New.
These open a new session instead of inserting text into current session.
The patch was written by Berend De Schouwer <bds@jhb.ucs.co.za>.
svn path=/trunk/kdebase/konsole/; revision=151003
by the add-bookmark action) works only when the menu remains unshown. As
soon as you show it, kbookmarkmenu refills the menu and therefore
re-creates the action object, causing the accel to get installed again.
At the same time I noticed that similar functionality for disabling the
accelerator exists already, via KonsoleBookmarkHandler::setAddEnabled.
Too bad that it doesn't work, though ;) . It just calls setAccel()
on the menu, but that's not very effective, as the item was inserted
by an action, which has a KAccel object behind, which additionally
listens for AccelAvailable events. So I removed my code from yesterday,
moved the code from setAddEnabled to the caller method in the konsole
class (bookmarks_menu_check) and made it operate on the action. That's
also the reason for the move to the other class: The action is owned
by the konsole class, so code operating on that object belongs there,
as it's accessible from there. There's one bug left though: KAction doesn't
update the menu item's accel properly, in updateShortcut. Will fix that
now. Sorry for the long log :)
svn path=/trunk/kdebase/konsole/; revision=147925
- konsolepart uses BrowserExtension::openURLRequest() (only with "\[\e]31;\w\a\]" prompt).
- Session management saves initial or current (if set with "\[\e]31;\w\a\]" prompt) directory.
I'm satisfied with this, feel free to implement /proc/<pid>/cwd or LD_PRELOAD hacks. :-)
svn path=/trunk/kdebase/konsole/; revision=145221