Commit Graph

217 Commits

Author SHA1 Message Date
Kurt Hindenburg
c56db4cfd0 Use QRect instead of manually handling terminal margins
Instead of keeping track of constants and +1 -1, use a QRect to handle
the terminal margins.  There is no GUI for this currently and the
margins are hard-coded to what they are now.  Code to center the
terminal is also include (w/o GUI).

This patch comes from review 109891 w/ a few changes from me.
Thanks to Mariusz Glebocki mglb@arccos-1.net
2013-05-18 07:51:29 -04:00
Kurt Hindenburg
2d5df9cc09 Allow shortcuts up to 19 tabs
The current was 10; Ingo Molnar suggested 14 via email.  I have a
keyboard with 19 so that seems a reasonable limit.
2013-03-27 09:33:27 -04:00
Kurt Hindenburg
b5dbf6b32f minor space/tab fixes 2013-03-16 12:36:05 -04:00
Kurt Hindenburg
3cd4d2e440 Add profile option to scroll full/half height via Page Up/Down keys
The default is still half page - there is no GUI to change this;
either use konsoleprofile or change the .profile manually.

CCBUG: 280637
2013-02-24 12:03:46 -05:00
Kurt Hindenburg
7a2a5beb00 Correct spelling errors/word usage
All these are in the comments - no code changes
2013-01-09 22:07:11 -05:00
Kurt Hindenburg
417af269e5 Add option to disable ctrl+<mouse-wheel> zooming
The built-in behavior of Ctrl+<Mouse Wheel> to zoom in/out the terminal
can not be disabled. This patch adds an option to disable this
behavior. (Default to the original behavior).

Original patch by Yichao Yu yyc1992@gmail.com
I made some changes - bugs are mine as usual
REVIEW: 107281
FIXED-IN: 4.11
GUI:
2012-12-28 09:51:34 -05:00
Kurt Hindenburg
ca9dd11bf5 Allow option to trim spaces at end of line
In the ongoing issue with spaces at the end of lines, this allows for
an option to trim the spaces.  By default, it is disabled so only
people who need this will be affected.

Many thanks to David Smid <david@smidovi.eu>

CCBUG: 188528
2012-09-09 19:10:41 -04:00
Kurt Hindenburg
69dcbd3406 astyle fixes - spaces/{ 2012-09-02 17:28:43 -04:00
Jekyll Wu
131091c983 Adjust including form for some Qt headers as preparation for Qt5
So if someone notices later some Qt header is included in the form
of "#include <Class>" instead of the more common form of "#include
<Module/Class>", do not rush changing it.

REVIEW: 105819
2012-08-14 17:32:06 +08:00
Kurt Hindenburg
e02fea6e17 astyle fixes
use git diff -w --ignore-all-space to see non-space changes
2012-08-05 13:35:03 -04:00
Jekyll Wu
248f2c3cc9 Add profile option for opening URL by direct click(off by default)
Thanks to Asko Eronen<asko.eronen@gmail.com> for the idea and patch

REVIEW: 105282
FEATURE:
DIGEST:
2012-07-15 01:41:13 +08:00
Kurt Hindenburg
57994c1d5d Provide GUI to change line spacing
This provides a profile GUI to change the line spacing  (0-5).  Due to
the Qt4.8/BIDI issues, allowing the user to  change the spacing allows
the user to fix any issues w/ the font they are using.

FEATURE: 279490
REVIEW: 105478
FIXED-IN: 4.10
2012-07-10 10:41:38 -04:00
Kurt Hindenburg
ed31a8b0aa Provde a GUI option to disable requiring CTRL to dnd text
This adds a GUI checkbox per profile to enable/disable requiring the
CTRL key to drag-n-drop text.
The default is to require the CTRL key as before.

Thanks to Scott Kitterman (kde@kitterman.com) for patch.

BUG: 165923
REVIEW: 105423
FIXED-IN: 4.10
2012-07-06 16:37:27 -04:00
Kurt Hindenburg
692a48cbf9 Alter how newSession profile directory is coded
Use a loop and break out when the first profile match is found.
2012-06-26 11:11:49 -04:00
Jekyll Wu
6503473272 Use Qt::UniqueConnectio to avoid duplicate connection 2012-06-02 21:21:14 +08:00
Jekyll Wu
627a511daa Move the code for submenu of 'New Tab' button into class ViewContainer
This might feel like slight de-optimization of current code. However, it
helps abstracting and refactoring the code for the future.
2012-05-24 05:03:58 +08:00
Jekyll Wu
151b96fb0b Rename: konsoleadaptors ==> windowadaptors
TODO: it is really better to move those dbus interfaces up into class
MainWinow, which is more natural accroding to the '/Windows/N' naming
schema
2012-05-21 15:49:13 +08:00
Kurt Hindenburg
bee9aa8f78 minor style fixes - remove empty lines start/end code blocks 2012-05-13 10:08:05 -04:00
Jekyll Wu
3ddc6496b6 Add cmdline options for the visibility of menubar and tabbar
Since the menubar and tarbar settings are now global instead of per
profile , those cmdline options are useful to allow users to override
the defautl behavior.

The --hide-menubar and --hide-tabbar options can be used together
to simulate the miminal interface of xterm. I'm not sure whether
--show-menubar and --show-tabbar will be widely used , but add them at
the moment for the sake of completeness.
2012-05-13 03:06:14 +08:00
Jekyll Wu
02ae47c5fb Refactor the code for setting cursor color 2012-05-11 18:08:14 +08:00
Jekyll Wu
cf24bea6ab Add one global option for customizing the stylesheet of the tabbar
Note: this is just an experimental idea, so no GUI is added. It might
rename or disappear later.
2012-05-08 21:37:40 +08:00
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