Commit Graph

65 Commits

Author SHA1 Message Date
Robert Knight
c91956542f Fix crash on logout if MainWindow::_defaultProfile is null
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=867477
2008-10-03 15:44:26 +00:00
Robert Knight
ef3e43e11d Initial implementation of session management in Konsole.
Patch from Stefan Becker <stefan.becker@nokia.com>

Thank-you very much Stefan!

CCBUG: 152761


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=867323
2008-10-03 10:38:50 +00:00
Robert Knight
849954b0a4 Change default shortcut for bookmarks from Ctrl+B to Ctrl+Shift+B, now possible
thanks to Aaron's fixes to KBookmarkMenu.

BUG:160346
CCBUG:168985


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=863371
2008-09-21 22:13:29 +00:00
Robert Knight
956277c014 Convert tabs to 4 spaces to match kdelibs conventions. Previously
there was a mix of tabs and spaces for indentation.

CCMAIL:Stefan.Becker@nokia.com


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=863326
2008-09-21 20:06:58 +00:00
Aaron J. Seigo
569235573d put the search bar on the correct side of the tabs .. INSIDE them ...
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=860035
2008-09-11 20:03:03 +00:00
Robert Knight
f3147ff807 Fix compile.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=837743
2008-07-25 15:46:24 +00:00
Robert Knight
8d3e6fad20 * Avoid unneccessarily updating shortcuts for active main window after accepting
'Configure Shortcuts' dialog
* Reload XML file for current controller as well as inactive controllers

CCBUG: 161021

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=837730
2008-07-25 15:05:29 +00:00
Robert Knight
5f5a438708 More detailed comments on updating shortcuts.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=837728
2008-07-25 15:05:19 +00:00
Robert Knight
946d1cdf11 Sync shortcut changes between main windows by copying shortcuts between
action collections.  KXMLGUIClient::reloadXML() required
the client to be removed and re-inserted for it to have an effect.

CCBUG: 161021

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=837727
2008-07-25 15:05:12 +00:00
Robert Knight
39a84903df Fix tab-specific actions (eg. Copy, Paste) not appearing in Configure Shortcuts dialog.
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
2008-07-25 15:05:05 +00:00
Robert Knight
c2cdf922d5 Make pattern string for accelerator stripping pattern translateable.
CCBUG: 165949

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=832424
2008-07-14 16:31:27 +00:00
Robert Knight
1084be50a7 Remove required space before parenthesies in accelerator stripping regular expression.
Chusslove informs me that there are no spaces in CJK.

CCBUG: 165949

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=832423
2008-07-14 16:31:23 +00:00
Robert Knight
2e26ed38bf Fix accelerator removal for non-Western languages which use "(&Letter)"
to represent accelerators in menu items rather than just '&' in front of one letter.

MainWindow::removeMenuAccelerators()
    Use a regexp to match "(&Letters)" as well as '&'

CCBUG: 165949

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=832422
2008-07-14 16:31:18 +00:00
Robert Knight
5f9fd5936a Remove accelerators from top-level menu items to avoid conflicting
with Alt+Letter shortcuts in the terminal.

* Use KAcceleratorManager::setNoAccel() to avoid generating
accelerators for non-standard top-level items.
* Strip ampersand characters from the text of standard top-level
menu items (File, Edit, View, Settings, Help) which have accelerators
defined in ui_standards.rc after creating the menus with XMLGUI

BUG: 162209

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=825353
2008-06-27 21:17:51 +00:00
Robert Knight
34a9e7ec42 * Add option to show new tab button with delayed popup menu on tab bar.
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
2008-05-02 00:59:47 +00:00
Robert Knight
5d9997446e Update copyright year to 2008. Remove '(C)' from copyright lines.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=800631
2008-04-24 14:53:43 +00:00
Robert Knight
5036d8cb00 Squashed commit of the following:
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
2008-03-22 21:06:59 +00:00
Stephan Binner
9fcace17f9 i18n style guide fix
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=784436
2008-03-11 10:33:14 +00:00
Luboš Luňák
0067cf82ce Remove usage of QWidget::show[FullScreen|Maximized|Minimized|Normal](),
they do more then just change the state of the window and all these usage
cases were wrong (that is, all their usage).
For changing the state, use something like
window->setWindowState( window->windowState() | Qt::WindowFullScreen ); // set
window->setWindowState( window->windowState() & ~Qt::WindowFullScreen ); // reset
or simply use the new KToggleFullScreenAction::setFullScreen() helper.


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=784333
2008-03-10 23:02:01 +00:00
Robert Knight
fba52f75b6 Forward port fix for #158131. Fix crash when removing actions owned by an invalid controller.
BUG: 158131


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=777943
2008-02-21 23:23:22 +00:00
Robert Knight
04a2943128 Potential fix for sporadic crash when selecting 'Close current tab' option when closing a window. Extract method for disconnecting a controller in the main window and call it in queryClose() before closing the plugged controller's session.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=761925
2008-01-15 17:37:44 +00:00
Robert Knight
496b6c979f Better language. 'Really Quit?' -> 'Confirm close'
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=760611
2008-01-13 03:52:55 +00:00
Robert Knight
6771f6943d Remove classes from the KPart build which are not used by the part. Remove an #ifndef KONSOLE_PART test from the MainWindow class which is not compiled into the part.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=757280
2008-01-04 16:27:31 +00:00
Robert Knight
a21df78248 Add a TODO about implementing support for 'Open Folder in Tabs' with SSH bookmarks.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=756953
2008-01-03 22:55:21 +00:00
Robert Knight
d33c750983 Fix 'Open Folder in Tabs' action on bookmark menu.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=756949
2008-01-03 22:52:16 +00:00
Robert Knight
0d87b3132b Fix bug where KPart did not emit setWindowCaption() signal until it gained focus. Call controllerChanged() in ViewManager::createController() so that an activeViewChanged() signal is emitted when the first controller in the view manager is created. Fix ViewManager::controllerChanged() to only emit an activeViewChanged() signal if the new and previous controllers are different. Remove the checks for this from the MainWindow and Part slots connected to this signal.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=755284
2007-12-31 23:17:37 +00:00
Robert Knight
5279d4ba4b Sync the state of the 'Show Menu Bar' action with the visibility of the menu bar when it is changed as a result of applying a profile setting.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=754736
2007-12-30 16:50:58 +00:00
Robert Knight
845a29f66f Fix unexpected behaviour when changing 'Show menu bar in new window' property. This property is now only applied once to a Konsole window. Subsequent changes to the setting have no effect until new windows are created.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=754731
2007-12-30 16:44:46 +00:00
Jakob Petsovits
114015c5c8 Icon naming spec compliance (code changes - KDE/):
network -> network-workgroup, or whatever fits best.
Plus some other icon name fixes.

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=754310
2007-12-29 14:44:22 +00:00
Thomas Zander
d180bad6f0 BUG: 152449
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
2007-12-17 18:48:26 +00:00
Anne-Marie Mahfouf
1b37e5b97d keep only "Show" for menubar action to be synch with all other Show/Hide actions in KDE
approved by Robert

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=740192
2007-11-22 19:31:57 +00:00
Thomas Zander
9e87abdf01 Add the hide action before we set the xmlguiclient so the action is found when
making the menu.
BUG: 151421

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=738433
2007-11-18 22:05:12 +00:00
Pino Toscano
8afb02899c icon renaming:
- openterm -> utilities-terminal

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=735071
2007-11-10 20:16:09 +00:00
Craig Drummond
d844806527 Fix parentless dialogs
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=734552
2007-11-09 08:02:24 +00:00
Robert Knight
be52337d18 Use the term 'tabs' rather than 'sessions' in the confirmation dialog shown when closing a window with multiple tabs. For consistency with other parts of the UI. Style adjustments.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=733658
2007-11-07 01:29:58 +00:00
Aaron J. Seigo
6abc4939de accidently closing a window with one session in it, no big deal. maybe annoying, but that's all.
closing a window with 10 active sesssions in it and it just disappearing ... no good. that's why every (ewll behaved) tabbed app asks for confirmation in these cases. konsole in kde3 did it too.

now, to set up those tabs again ... *sigh*

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=733577
2007-11-06 19:23:42 +00:00
Hamish Rodda
5183376f1e Remove associateWidget that was too effective (obviously not working before, the patched version prevented the actions from being invoked)
Commit results of setShortcut() audit

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=730686
2007-10-29 10:46:55 +00:00
Hamish Rodda
ad6e197df1 Port to KActionCollection::associateWidget and other api changes
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=730654
2007-10-29 09:01:28 +00:00
Olivier Goffart
16c4ec3350 make the "configure notification" menu entry working
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=729652
2007-10-26 14:28:19 +00:00
Robert Knight
d15e0ce434 Make ViewManager emit a signal to request the creation of a new view rather than accessing the menu item directly.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=711798
2007-09-12 20:46:32 +00:00
Robert Knight
4829812a49 Do not use the icon of the current tab as the window icon. I am finding that this can cause confusion when trying to find the terminal in the task bar.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=709239
2007-09-06 22:52:37 +00:00
Robert Knight
978403797e Use KMainWindow's provided facilities to save and restore window size instead of trying to record the line/column size of the last closed session which produces the wrong results for various reasons.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=700456
2007-08-15 15:41:59 +00:00
Robert Knight
80a5e77ec5 Disconnect search bar from previous controller when switching tabs. Fixes search bar not remembering its visibility for each tab properly.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=700323
2007-08-15 07:24:43 +00:00
Robert Knight
76943a4b26 Use correct 'terminal is using the mouse' status in newly added views.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=700303
2007-08-15 06:49:17 +00:00
Robert Knight
b73c3c5cd9 Correct method of making shortcuts work with hidden menu bar, now possible with kdelibs changes.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=693130
2007-07-27 07:26:28 +00:00
Robert Knight
8e56b074af Hide 'Show/Hide Menu Bar' item when a MacOS-style menu bar (top-level) is used.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=691950
2007-07-24 17:46:43 +00:00
Robert Knight
d30833dac7 Fix keyboard shortcuts when menu bar is hidden. Patch by Robin Stocker. Affects other KDE applications as well. See discussion on konsole-devel - http://lists.kde.org/?l=konsole-devel&m=118529209602516&w=2
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=691938
2007-07-24 17:10:36 +00:00
Robert Knight
35a7a587c8 Possibly controversial. Disabled F1 shortcut for handbook in Konsole because it interferes with terminal programs which need this key. Will review following beta feedback. Remove un-used includes and re-enable DBus adaptor for Session.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=690414
2007-07-21 00:11:09 +00:00
Robert Knight
8ac498d34c i18n fixes from Stefan Asserhall.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=685630
2007-07-09 10:54:44 +00:00
Robert Knight
942ecb745c Make new sessions start in the same directory as the previously active session. Does not apply when creating a new tab from a specific profile.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=670566
2007-06-02 02:17:14 +00:00