Commit Graph

49 Commits

Author SHA1 Message Date
Robert Knight
6c9ae440f7 Fix 'Show in Menu' toggle not working when no favorites are currently selected
and the favorite status for the selected item is off in the config file.

BUG: 161708


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=808649
2008-05-17 08:58:09 +00:00
Robert Knight
0353940144 Fix unused variable warnings.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=801162
2008-04-25 20:20:09 +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
b08c09b533 Fix konsoleprofile changes to view-related properties not
being applied.

BUG: 160192

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=799576
2008-04-21 22:06:00 +00:00
Robert Knight
3ddffbd214 Re-implement 'Send Input to All' (now Edit -> Copy Input To...)
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
2008-04-13 18:49:20 +00:00
Robert Knight
b0ef618588 Fix test which was producing erroneous warning about sessions still being alive on exit.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=794023
2008-04-06 07:54:17 +00:00
Robert Knight
bd154850e1 Define environment variable in new sessions which is set to the initial working directory of the profile used for the session.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=791952
2008-03-30 20:26:34 +00:00
Adriaan de Groot
7153c133a3 Match const between .cpp and .h.
I'm not sure if SessionManager is public API; if not, reverting
this and adding the const in SessionManager.h is probably preferable.

CCMAIL: robertknight@gmail.com

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=790168
2008-03-26 00:24:47 +00:00
Robert Knight
85bada8fa8 Print a warning rather than aborting if the session count is non-zero at exit. Will look into this more carefully later.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=789684
2008-03-24 21:48:32 +00:00
Robert Knight
7c0e81dada Safer shutdown. Ensure all sessions are closed and session state saved
during Application destructor.

Make ~SessionManager do trivial tasks only.

BUG: 159657

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=789641
2008-03-24 19:30:51 +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
Robert Knight
ebef9f4b96 Remove debugging messages.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=787354
2008-03-19 03:04:24 +00:00
Robert Knight
08ec730013 Reduce code duplication. Change Profile::property(property).value<T>() to Profile::property<T>(), introduce helper ShouldApplyProperty class to simplify SessionManager::applyProfile()
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=781009
2008-03-01 20:43:07 +00:00
Robert Knight
c915120cc7 Fix hang when loading a profile with recursive inheritance.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=780701
2008-02-29 19:52:21 +00:00
Robert Knight
35556fdbdd Update profile shortcuts in the menus immediately when they are changed in the 'Manage Profiles' dialog. Previously the changes did not take effect until a new window was created.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=756866
2008-01-03 21:21:20 +00:00
Robert Knight
75ac16607a Replace qWarning() with kWarning(), which provides additional information about the context of the warnings.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=754559
2007-12-30 08:32:50 +00:00
Robert Knight
46cfc108d3 * Replace all usage of qDebug() with kDebug(), since kDebug() provides information about
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
2007-12-29 16:07:31 +00:00
Robert Knight
96b912e957 Fix serious bug where starting Konsole with arguments such as -e,--workdir or -p made changes to the default profile which applied to other Konsole windows and were saved on exit. Problem fixed by creating a new hidden profile which inherits from the window's default profile and applying the property changes to that. Modify SessionManager so that hidden profiles are not saved to disk.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=753735
2007-12-28 11:09:57 +00:00
Robert Knight
8171d4872f * Do not remove color schemes / key bindings from list if the
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
2007-12-08 01:51:37 +00:00
Jakub Stachowski
ffc0f1d9dc Don't try saving profile into unwritable file.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=737991
2007-11-17 15:44:58 +00:00
Andreas Pakulat
f412e5b5aa Merge the KConfig branch. This are the 3 main modules (+kdeadmin), which are
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
2007-10-05 22:21:25 +00:00
Robert Knight
42dce0374c Changes:
* 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
2007-08-31 17:56:35 +00:00
Robert Knight
7380d673e8 Ensure sessions are finished before attempting to delete them.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=698096
2007-08-09 05:44:07 +00:00
Robert Knight
503fdd023e Fix several memory leaks and uninitialized variables found with valgrind.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=696508
2007-08-05 05:53:05 +00:00
Robert Knight
2532b5d12a If no 'favorite' profiles (the ones shown in the 'Change Profile' menu have been defined, add the initial default profile.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=689762
2007-07-19 03:50:17 +00:00
Alexander Rodin
3a6c0d6410 svn path=/trunk/KDE/kdebase/apps/konsole/; revision=684802 2007-07-07 08:33:07 +00:00
Robert Knight
72241ef4a6 * Comment out many debugging messages
* 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
2007-07-03 09:14:21 +00:00
Robert Knight
573f763624 * konsoleprofile now only affects an individual session rather than modifying
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
2007-07-02 10:17:14 +00:00
Robert Knight
2a1109196f Save and load environment variables as part of the profile. Defaults to just 'TERM=xterm'. Allow editing of the environment in the profile editor (not just the TERM variable). Separate out the tab-related options into their own tab in the profile editor and rename 'Keyboard Setup' to 'Input' as that seems a more obvious name.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=679103
2007-06-23 02:09:21 +00:00
Robert Knight
6a36400ffc Reimplement Vt102Emulation::getErase() with new keyboard translator. Fixes backspace in Vim et. al. Correct API documentation for KeyboardTranslator::findEntry(). Use an explicit KSharedConfigPtr to get the global config when writing default profile setting. Appears to fix strange crash on exit.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=678227
2007-06-20 22:26:32 +00:00
Robert Knight
a4c6ca23a7 Record profile parent when saving to disk and reload them as needed when loading a profile.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=678033
2007-06-20 14:05:31 +00:00
Robert Knight
c345da0ccf Initial version of a command-line tool (konsoleprofile) to change profile options. Usage: konsoleprofile option=value . Applies to the profile used by the session in which konsoleprofile was executed. All of the logic is in Konsole itself. 'konsoleprofile' is just a very simple shell script which can be placed anywhere. Example usage: 'konsoleprofile colorscheme=WhiteOnBlack' will change the colors used by the active tab.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=670582
2007-06-02 05:02:55 +00:00
Robert Knight
3f1f8cac41 Add command line options to list available profiles and specify default profile for a particular Konsole instance.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=670562
2007-06-02 01:19:57 +00:00
Robert Knight
17d8d12249 Fix a couple of crashes. Sync configuration information in SessionManager's destructor and fix problem with scroll optimisation. Not sure about that first one, it shouldn't do any harm, but I don't think it should be necessary either.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=670398
2007-06-01 11:24:11 +00:00
Robert Knight
53f7666e8e Allow the default encoding to be specified per-profile. Something has caused the Edit Profile dialog's minimum size to become huge, I haven't figured out what it is yet.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=670153
2007-05-31 13:42:23 +00:00
Robert Knight
ffa03ca138 Make profile shortcuts work for favorite profiles (others are currently ignored).
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=667504
2007-05-23 00:08:03 +00:00
Robert Knight
0ef9ea5f41 Added 'Change Profile' menu to change the profile used by a running session.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=667162
2007-05-22 02:19:57 +00:00
Robert Knight
8e72dd41ce Fix primary/alternate shortcuts for next/previous tab (they were the wrong way round). More appropriate close icon in search bar. Make Quit menu item close only the current window, not all Konsole instances. Change the default shortcut for the Quit menu item to Ctrl+Shift+Q. The standard Ctrl+Q is reserved for use by terminal applications. Remove references to Application in MainWindow class.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=666372
2007-05-19 17:08:56 +00:00
Robert Knight
983271c55c Fix tab title syncing between multiple views of the same session.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=665823
2007-05-18 04:20:57 +00:00
Robert Knight
fca8970274 Better Qt-style signal/slot names in Session class.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=665439
2007-05-16 22:48:45 +00:00
Robert Knight
c5ab0f3cec Add basic code to associate shortcuts with profiles and load/save those shortcut/profile pairs. Move Profile class into its own source file. Move old TODO list into the 'old' directory.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=664308
2007-05-13 16:38:59 +00:00
Robert Knight
e9c4c9cca0 Cleanup the Session class's API. Remove redundant and unused methods, give better names to others, reorganise the order in the header file. Add checks in the view to behave properly when it is not attached to a session. Make the Konsole part's behaviour compliant with the TerminalInterface API documentation.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=663705
2007-05-12 04:55:02 +00:00
Robert Knight
33e1a53cf8 Fix crash when changing color scheme if none in the list were previously checked. Add API documentation.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=663366
2007-05-11 00:22:53 +00:00
Dirk Mueller
9ea3227384 include cleanup
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=663054
2007-05-09 22:23:52 +00:00
Robert Knight
33c913383d EBN fixes. Mostly copyright and implementations including their own headers first.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=662726
2007-05-09 00:01:01 +00:00
Robert Knight
955b371745 Revert back to the hardcoded xfree4.0.0 keyboard layout by default until I put this in its own keytab file where it belongs. Keep dirk happy :)
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=662334
2007-05-07 21:46:10 +00:00
Robert Knight
50e86f8fc6 Remove a work-around that now seems unnecessary.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=661607
2007-05-06 04:00:41 +00:00
Robert Knight
0f9cdfe2db Set session title to profile name when created. Rename tab dialog changes the tab title format rather than the session's title itself.
svn path=/branches/work/konsole-split-view/; revision=661587
2007-05-06 00:58:27 +00:00
Robert Knight
19a29d182a Rename directories for clarity. konsole -> src , other -> data.
svn path=/branches/work/konsole-split-view/; revision=661562
2007-05-05 23:33:05 +00:00