Commit Graph

196 Commits

Author SHA1 Message Date
Jekyll Wu
bb818010b4 Add two profile options for the copy & paste behavior of mouse
* support "automatially copy selected text into clipboard"
  * mouse middle button can be customized to paste from selectio or
    clipboard

The first feature might look like a unnecessary duplicate of the
"synchronize selection and clipboard" feature of Klipper. However, that
klipper feature is generally problematic, while doing it only in Konsole
is generally useful and harmless.

FEATURE: 183490
FIXED-IN: 4.9.0
REVIEW: 103861
DIGEST:
2012-04-25 12:55:38 +08:00
Jekyll Wu
3c958a2c97 Rename and remove the no longer needed signal relayer 2012-04-21 11:41:31 +08:00
Jekyll Wu
caaa91a08c Add support for KDE Web Shortcus
There is a submenu in the context menu for searching selected text using
any of the enabled search provider and opening the result in the default
web browser.

This could be useful for searching compilation failure messages, warning
messages in logfile, etc.

DIGEST:
FEATURE:
FIXED-IN: 4.9.0
REVIEW: 104493
2012-04-18 00:00:29 +08:00
Jekyll Wu
dc1144cc7f Revert "Less explict call of session->run()"
Unfortunately, that commit makes all tabs in the restored Konsole window
show fallback tab until you switch to it.

Cleearly, the way when and how to start a session is messy.

Note: reverting does means calling session->run() explicitly is the
OK way.

This reverts commit c6bb999066.
2012-04-16 03:42:34 +08:00
Jekyll Wu
50668d65b0 Set the initial/preferred terminal size accroding to profile options
The old code always set the hardcoded 80x40 size.

Two profile options are added under the "General" group:

  * TerminalColumns
  * terminalRows

Note: Due to the way KMainWindow works, those profile options may not
work :(. Do not take this commit as something completed.
2012-04-09 11:37:04 +08:00
Kurt Hindenburg
ba34c4ebe2 normalize SIGNALS
It is annoying that kdelibs-style and Qt normalize conflict
2012-04-06 08:57:47 -04:00
Kurt Hindenburg
5b083640ce whitespace and style fixes
Use 'git diff -w --ignore-all-space' to see non-whitespace changes
2012-04-05 11:08:53 -04:00
Jekyll Wu
60e4e6a7dc Remove another unneeded #include 2012-04-05 15:52:43 +08:00
Jekyll Wu
6b612d73d2 Add method "ProfileManager::availableProfileNames() const"
Now ViewManager::profileList() is just a simple wrapper of that method.
2012-04-04 20:15:28 +08:00
Jekyll Wu
193777e21a Split class SessionManager into ProfileMananger and SessionManager
REVIEW: 104425
2012-03-30 01:23:28 +08:00
Jekyll Wu
562ee87e51 Trivial style change 2012-03-19 18:44:06 +08:00
Jekyll Wu
33678e7ca4 Add more convenient methods for accessing profile option 2012-03-19 18:29:44 +08:00
Jekyll Wu
cf0a3e3cd0 Merge Profile::TripleClickModeEnum and TerminalDisplay::TripleClickMode into Enum::TripleClickModeEnum 2012-03-19 16:08:54 +08:00
Jekyll Wu
0e35037be6 Merge Profile::CursorShapeEnum and TerminalDisplay::KeyboardCursorShape into Enum::CursorShapeEnum 2012-03-19 16:08:54 +08:00
Jekyll Wu
d1a1b11762 Merge Profile::ScrollBarPositionEnum and TerminalDisplay::ScrollBarPosition into Enum::ScrollBarPositionEnum 2012-03-19 16:08:42 +08:00
Kurt Hindenburg
519e2614d6 Style fixes - remove spaces before ; and add spaces in for loops 2012-03-18 15:11:06 -04:00
Jekyll Wu
25b8b5353c Trivial style change: remove extra blank lines 2012-03-17 19:53:21 +08:00
Jekyll Wu
5b8dd7df88 Remove unneeded casting 2012-03-17 14:04:50 +08:00
Jekyll Wu
35da7697ec Make ViewManager::colorSchemeForProfile() a static method 2012-03-17 12:53:53 +08:00
Jekyll Wu
5ebbba6efb Rename for clarity and consitency 2012-03-16 20:21:39 +08:00
Jekyll Wu
7179de8f3d Prefer qobject_cast to dynamic_cast when appropriate 2012-03-16 13:37:15 +08:00
Jekyll Wu
d99cf71a62 Rename method to match what it really does 2012-03-16 10:53:07 +08:00
Jekyll Wu
3bdf6bbe8c Remove unused signal: ViewContainer::closeRequest(QWidget*) 2012-03-16 10:25:20 +08:00
Jekyll Wu
4b7eedfb19 Add inline explanation for the casting 2012-03-16 10:25:10 +08:00
Jekyll Wu
edd9d2cfdf Revert "Use the appropriate casting"
The received QWidget has already been destroyed, so using dynamic_cast
or qobject_cast does not work.

Another stupid mistake by me !

BUG: 296116

This reverts commit 02ac6dbf4d.
2012-03-16 09:50:52 +08:00
Jekyll Wu
02ac6dbf4d Use the appropriate casting 2012-03-13 16:47:26 +08:00
Jekyll Wu
fa7fb637ff Move the code settings up 'split view' actions closer 2012-03-12 15:52:52 +08:00
Jekyll Wu
972ef5f97e Rename methods related with "split view" to avoid confusion
"view" is reused to refer to two different things in ViewMananger:

  * one TerminalDisplay(tab/session)
  * one ViewContainer(tabbar)

That causes understanding problems for those who are not that familiar
with the code.

Maybe those actions related with "split view" defined in konsoleui.rc
should also be rename to avoid confusion further
2012-03-12 15:35:36 +08:00
Jekyll Wu
0e152d9596 Remove old comment 2012-03-12 15:35:36 +08:00
Jekyll Wu
74eb0d9a59 More constness 2012-03-12 15:35:35 +08:00
Jekyll Wu
f4fb943132 Most of time we only need <KLocalizedString> instead of <KLocale> 2012-03-07 06:48:26 +08:00
Jekyll Wu
2f7a0965f5 Move class ColorSchemeMananger into its own file
class KDE3ColorSchemeReader is also moved since it is supposed to an
compatibility helpr of which class ColorScheme does not need to know,
and eventualy it should be removed
2012-02-29 22:31:56 +08:00
Jekyll Wu
f42fd4721b Clean up unneeded #includes 2012-02-20 19:41:38 +08:00
Jekyll Wu
b7498925b2 Fix #include 2012-02-20 03:38:38 +08:00
Jekyll Wu
2ba24db12c Add per-profile option 'BellMode' for choosing the type of bell
There are no GUI elements for controlling that option, so it is a hidden
option at the moment.

To configure this option manually, put following lines into some konsole
profile under ~/.kde4/share/apps/konsole/ :

    [Terminal Features]
    BellMode=N

Where N could be 0 for system beep, 1 for system notification and 2 for
visual bell. That mapping might change before next major release.

CCBUG: 155622
CCBUG: 177861

REVIEW: 104013
2012-02-19 06:50:52 +08:00
Jekyll Wu
07cddfe302 Create dbus object for each Konsole window respectively
Its naming scheme is "/Windows/N", similar to "/Sessions/N" for
sessions. That is not the final decision and might change before next
major release.

The old "/Konsole" dbus object is still available at this moment, but
it might disappear or be used for something different in the future, so
it is better to use "/Windows/N" from now on.

For convenience, $KONSOLE_DBUS_WINDOW can be used to refer to the dbus
object corresponding to the Konsole window containing current session.
Note, that environment variable does not work well with detaching and
draging. Maybe it should not be added at all.

CCBUG:276912
CCBUG:281513
CCBUG:292309

REVIEW:103790
2012-02-09 01:50:43 +08:00
Jekyll Wu
52f656663f Add dbus method for returning the name of the default profile
FEATURE:252532
FIXED-IN:4.9
2012-02-07 19:16:49 +08:00
Jekyll Wu
6b6a5944f6 Prefer foreach(...) over while(...) for simplicity and readability 2012-01-22 10:21:45 +08:00
Jekyll Wu
56f3805ac1 Move options influencing tabbar from profiles into global setting 2012-01-22 10:21:44 +08:00
Jekyll Wu
e3e960ab95 Move the 'show menubar' option from profiles into global settings 2012-01-22 10:21:29 +08:00
Jekyll Wu
6bf0fcf565 Remove two unnecessary calls to the applyProfileToContainer() method.
That method only needs to be called once when the Container is created,
or when the related settings has changed.
2012-01-16 23:32:13 +08:00
Jekyll Wu
455909a42c Dbus method profileList() should not list hidden profiles 2012-01-16 15:04:29 +08:00
Jekyll Wu
81167d1084 Move the logic of ensuring all profiles are loaded into SessionManager itself.
The idea of delaying loading all profiles until needed is an internal
optimization, and should be hidden to the users of SessionManager.
2012-01-16 14:58:46 +08:00
Jekyll Wu
3191cd00b4 Ensure the dbus method profileList() will list all profiles 2012-01-16 13:17:01 +08:00
Jekyll Wu
c6bb999066 Less explict call of session->run() 2012-01-15 22:34:56 +08:00
Jekyll Wu
3d8da1f878 Make 'foreach(...)' more readable 2012-01-14 22:54:56 +08:00
Kurt Hindenburg
1baa56feda White space changes - astyle and Qt normalize don't like each other.
Use 'git diff -w --ignore-all-space' to see non-whitespace changes.
2011-12-25 13:13:55 -05:00
Kurt Hindenburg
59db5e74d2 Apply astyle-kdelibs
Over the years, the coding style is all over the place.

Use 'git diff -w --ignore-all-space' to see non-whitespace changes.
2011-12-24 11:41:55 -05:00
Kurt Hindenburg
bc087ae51b Remove unused KDebug includes 2011-12-18 00:01:32 -05:00
Jekyll Wu
b95f9443a0 Trivial change on #include 2011-11-16 13:31:24 +08:00