Commit Graph

38 Commits

Author SHA1 Message Date
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
971a5315f9 Remove debugging messages.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=800628
2008-04-24 14:52:39 +00:00
Robert Knight
b93ed8ab63 Remove debugging messages.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=799804
2008-04-22 11:46:14 +00:00
Robert Knight
fcff55de16 Remove unused .moc reference
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=799575
2008-04-21 22:05:54 +00:00
Diego Iastrubni
f04dccea56 Final touches to the BiDirection disabling patch as requested by Robert. I am still missing a global shortcut, and when I find how to code this properly I will commit
(lazy lazy...). 

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=795807
2008-04-11 13:36:39 +00:00
Jordi Polo
deb9d1e50d The inherence chain can mistakenly be cut with an empty profile.
Use default profiles instead of empty profiles.


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=795383
2008-04-10 03:45:07 +00:00
Diego Iastrubni
60f0a0a59e New backport (??) from KDE3: now each profile can enable/disable BiDi rendering in the display. We need this since many console based application (vim, emacs, fribidi etc)
implement their own BiDi algorithm. There is also another reason: comatibility. All terminals are *not* aware of the BiDi issue and do not re-order the chars
(gnome-terminal, xterm, konsole, etc). It is possible to enable the BiDi rendering on each profile, so this is not a huge lost. I am still missing the keyboard shortcut to
quickly enable/disable it (alt+control+b in konsole3), but I am not sure what is the best way for doing it.

A quick note about the implementation:
In QPainter3, there was an option to draw a text and tell the painter "please do not implement BiDi". In QPainter4 (up to 4.4) there is no such option. I am forcing it by
drawing  "painter.drawText(rect,0,QChar(0x202D)+text)" (that is &LRO;), and it does seem to work, but I find it kinda "hackish". I will open a task in Trolltech and
request that new feature. Hopefully by Qt4.5/KDE4.2 I will be able to change the implementation.


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=791374
2008-03-29 10:35:29 +00:00
Robert Knight
f73cc9c754 Add an option to the profile editor to control whether new sessions start in the same directory as the current session.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=791273
2008-03-28 22:16:02 +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
c8a25a56ec Remove code duplication. Store type information for each property and use that and the group name to read/write most properties in a single method rather than requiring a call to readStandardElement / writeStandardElement for each property. Reduces code needed when a new property is added.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=781059
2008-03-01 22:40:26 +00:00
Robert Knight
952b5b79ac Add setting group name to the meta-information for each Profile property.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=781018
2008-03-01 21:17:53 +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
35e004fb80 Prevent profiles inheriting the Path property from their parent. Fixes bug with a new profile being automatically given the same shorctut as its parent since SessionManager::shortcut() does a lookup based on path or key match.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=756061
2008-01-02 17:33:17 +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
Harald Fernengel
b5c91a6658 Make anti-aliasing of fonts configurable. Anti-Aliased fonts just look bad on konsole on OS X with the default font, so I want to have a possibility to switch it off. No new user-visible strings were introduced, to switch off anti-aliasing, write "AntiAliasFonts=false" into your $KDEHOME/share/apps/konsole/Shell.profile, in the "Appearance" section.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=752393
2007-12-24 10:22:17 +00:00
Matt Rogers
8d9692170c If the shell profile already has a path that starts with
$KDEHOME, then use the path from the shell profile. Otherwise,
provide our own path.

Change suggested by Robert Knight after my last fix to always
save profiles in $KDEHOME


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=740989
2007-11-24 15:02:37 +00:00
Matt Rogers
b43902b568 Fix the saving of the profile configuration by always saving it under
$KDEHOME. Profile::path always pointed to my $KDEDIR which was fine since
it was writable by me (and would thus get saved), but as soon as my nightly
build process finished, I'd lose my profile settings.

Since konsole is kdeinit enabled, this is a friendly reminder you'll most
likely need to restart kdeinit4 in order for the fix to take effect.


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=738539
2007-11-19 05:01:44 +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
Constantin Berzan
865486938b * Get rid of an unused/duplicate property in Profile.
* 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
2007-09-11 15:47:38 +00:00
Robert Knight
38458e7927 Update to use new icon name. CCMAIL:djmdave@gmail.com
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=706980
2007-08-31 17:40:16 +00:00
Robert Knight
de8e6ee6c3 Use the standard KDE fixed font (as set in the fonts KDE control module) by default. Aside from correctness this also fixes the font slider in the 'Edit Profile' dialog always being '12' initially instead of the actual point size.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=690459
2007-07-21 07:14:25 +00:00
Robert Knight
75c7d9919e Begin work on an accessible color scheme which uses the system-wide colors provided by KColorScheme. Changed the default color scheme to 'Linux' because (a) it was the most popular amongst users in the survey and (b) having used it for a couple of months in KDE 4 it is much more comfortable to use for long periods of use than the glare of a white background. Updated TODOs with a few bugs that need fixing.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=690421
2007-07-21 01:33:30 +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
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
777d7cb56e Slightly nicer looking items in color scheme list. Record a profile's parent when saving to disk.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=677619
2007-06-19 14:40:44 +00:00
Robert Knight
5cf10be66f Allow multiple names for each property. Mainly for convenience so you can run 'konsoleprofile tabtitle=<some-text> instead of konsoleprofile localtabtitleformat=<some-text>
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=670603
2007-06-02 06:08:57 +00:00
Robert Knight
2b1b0c323f Accept upper-case characters in property names
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=670583
2007-06-02 05:04:29 +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
317c5cb153 Put the property enum value <-> string name mappings in a single place rather than duplicating them in the property reader and property writer.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=670568
2007-06-02 03:29:42 +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
5331bf720d Various EBN fixes.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=667655
2007-05-23 13:09:23 +00:00
Robert Knight
2739625dce Allow the tab bar position to be specified in the profile editing dialog. Other tweaks to the profile editing dialog.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=667497
2007-05-22 23:38:16 +00:00
Robert Knight
2fd69ce1ba Add internal support for choosing the tab bar's position with respect to the terminal display. Currently now defaults to positioning the tabs at the bottom of the screen as in KDE 3, haven't decided on what the final default setting will be.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=666706
2007-05-20 16:33:03 +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