summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorheiko tietze <tietze.heiko@gmail.com>2019-01-23 10:20:23 +0100
committerHeiko Tietze <tietze.heiko@gmail.com>2019-02-18 12:27:20 +0100
commit16bd9c99b8116f36e4f0825860e699d79cdf0d58 (patch)
treede7d4e3c183571d73a01bf7c0a5864ccb52b9e49 /sw
parent47819ba0534ce1893d5cb835c98147feacdf9faf (diff)
Resolves tdf#121596 - Include a key combination to insert thin spaces
uno:InsertNarrowNobreakSpace/ FN_INSERT_NNBSP added and asigned to shift+alt+space Change-Id: I20dd4159bc35ee378bee75af9734b1f25dfd8b1a Reviewed-on: https://gerrit.libreoffice.org/66776 Tested-by: Jenkins Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/inc/swtypes.hxx1
-rw-r--r--sw/sdi/_textsh.sdi6
-rw-r--r--sw/sdi/annotsh.sdi7
-rw-r--r--sw/sdi/drwtxtsh.sdi6
-rw-r--r--sw/source/uibase/shells/annotsh.cxx2
-rw-r--r--sw/source/uibase/shells/drwtxtsh.cxx2
-rw-r--r--sw/source/uibase/shells/textsh.cxx2
-rw-r--r--sw/source/uibase/uiview/view.cxx7
-rw-r--r--sw/uiconfig/swriter/menubar/menubar.xml1
9 files changed, 31 insertions, 3 deletions
diff --git a/sw/inc/swtypes.hxx b/sw/inc/swtypes.hxx
index 37f369c4c794..b37c36407a72 100644
--- a/sw/inc/swtypes.hxx
+++ b/sw/inc/swtypes.hxx
@@ -175,6 +175,7 @@ constexpr bool SW_ISPRINTABLE(sal_Unicode c) { return c >= ' ' && 127 != c; }
#define CHAR_LRM u'\x200E'
#define CHAR_ZWSP u'\x200B'
#define CHAR_ZWNBSP u'\x2060'
+#define CHAR_NNBSP u'\x202F' //NARROW NO-BREAK SPACE
// Returns the APP - CharClass instance - used for all ToUpper/ToLower/...
SW_DLLPUBLIC CharClass& GetAppCharClass();
diff --git a/sw/sdi/_textsh.sdi b/sw/sdi/_textsh.sdi
index 3724ee041ecc..bba7583b1d04 100644
--- a/sw/sdi/_textsh.sdi
+++ b/sw/sdi/_textsh.sdi
@@ -219,6 +219,12 @@ interface BaseText
StateMethod = NoState ;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
+ FN_INSERT_NNBSP // status(final|play)
+ [
+ ExecMethod = ExecInsert ;
+ StateMethod = NoState ;
+ DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
+ ]
SID_INSERT_RLM
[
ExecMethod = ExecInsert ;
diff --git a/sw/sdi/annotsh.sdi b/sw/sdi/annotsh.sdi
index 263f1e7f05f8..f8bd227b6873 100644
--- a/sw/sdi/annotsh.sdi
+++ b/sw/sdi/annotsh.sdi
@@ -92,6 +92,13 @@ interface Annotation : _Annotation
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
+ FN_INSERT_NNBSP // status(final|play)
+ [
+ ExecMethod = Exec ;
+ StateMethod = NoState ;
+ DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
+ ]
+
SID_INSERT_RLM
[
ExecMethod = Exec ;
diff --git a/sw/sdi/drwtxtsh.sdi b/sw/sdi/drwtxtsh.sdi
index a8e79c298b4f..7ad13589d2d0 100644
--- a/sw/sdi/drwtxtsh.sdi
+++ b/sw/sdi/drwtxtsh.sdi
@@ -147,6 +147,12 @@ interface TextDrawText
StateMethod = NoState ;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
+ FN_INSERT_NNBSP // status(final|play)
+ [
+ ExecMethod = ExecDraw ;
+ StateMethod = NoState ;
+ DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
+ ]
SID_INSERT_RLM
[
ExecMethod = ExecDraw ;
diff --git a/sw/source/uibase/shells/annotsh.cxx b/sw/source/uibase/shells/annotsh.cxx
index 6bc570387af3..d4fef3b5f36b 100644
--- a/sw/source/uibase/shells/annotsh.cxx
+++ b/sw/source/uibase/shells/annotsh.cxx
@@ -405,6 +405,7 @@ void SwAnnotationShell::Exec( SfxRequest &rReq )
case FN_INSERT_SOFT_HYPHEN:
case FN_INSERT_HARDHYPHEN:
case FN_INSERT_HARD_SPACE:
+ case FN_INSERT_NNBSP:
case SID_INSERT_RLM :
case SID_INSERT_LRM :
case SID_INSERT_ZWNBSP :
@@ -416,6 +417,7 @@ void SwAnnotationShell::Exec( SfxRequest &rReq )
case FN_INSERT_SOFT_HYPHEN: cIns = CHAR_SOFTHYPHEN; break;
case FN_INSERT_HARDHYPHEN: cIns = CHAR_HARDHYPHEN; break;
case FN_INSERT_HARD_SPACE: cIns = CHAR_HARDBLANK; break;
+ case FN_INSERT_NNBSP: cIns = CHAR_NNBSP; break;
case SID_INSERT_RLM : cIns = CHAR_RLM ; break;
case SID_INSERT_LRM : cIns = CHAR_LRM ; break;
case SID_INSERT_ZWSP : cIns = CHAR_ZWSP ; break;
diff --git a/sw/source/uibase/shells/drwtxtsh.cxx b/sw/source/uibase/shells/drwtxtsh.cxx
index f839e71615cf..532b92a56c5d 100644
--- a/sw/source/uibase/shells/drwtxtsh.cxx
+++ b/sw/source/uibase/shells/drwtxtsh.cxx
@@ -363,6 +363,7 @@ void SwDrawTextShell::ExecDraw(SfxRequest &rReq)
case FN_INSERT_SOFT_HYPHEN:
case FN_INSERT_HARDHYPHEN:
case FN_INSERT_HARD_SPACE:
+ case FN_INSERT_NNBSP:
case SID_INSERT_RLM :
case SID_INSERT_LRM :
case SID_INSERT_ZWNBSP :
@@ -374,6 +375,7 @@ void SwDrawTextShell::ExecDraw(SfxRequest &rReq)
case FN_INSERT_SOFT_HYPHEN: cIns = CHAR_SOFTHYPHEN; break;
case FN_INSERT_HARDHYPHEN: cIns = CHAR_HARDHYPHEN; break;
case FN_INSERT_HARD_SPACE: cIns = CHAR_HARDBLANK; break;
+ case FN_INSERT_NNBSP: cIns = CHAR_NNBSP; break;
case SID_INSERT_RLM : cIns = CHAR_RLM ; break;
case SID_INSERT_LRM : cIns = CHAR_LRM ; break;
case SID_INSERT_ZWSP : cIns = CHAR_ZWSP ; break;
diff --git a/sw/source/uibase/shells/textsh.cxx b/sw/source/uibase/shells/textsh.cxx
index 58e9648c9c7d..c9526288ea59 100644
--- a/sw/source/uibase/shells/textsh.cxx
+++ b/sw/source/uibase/shells/textsh.cxx
@@ -174,6 +174,7 @@ void SwTextShell::ExecInsert(SfxRequest &rReq)
}
break;
+ case FN_INSERT_NNBSP: // shift+mod2/alt+space inserts some other character w/o going through SwEditWin::KeyInput(), at least on macOS
case SID_INSERT_RLM :
case SID_INSERT_LRM :
case SID_INSERT_ZWNBSP :
@@ -186,6 +187,7 @@ void SwTextShell::ExecInsert(SfxRequest &rReq)
case SID_INSERT_LRM : cIns = CHAR_LRM ; break;
case SID_INSERT_ZWSP : cIns = CHAR_ZWSP ; break;
case SID_INSERT_ZWNBSP: cIns = CHAR_ZWNBSP; break;
+ case FN_INSERT_NNBSP: cIns = CHAR_NNBSP; break;
}
rSh.Insert( OUString( cIns ) );
}
diff --git a/sw/source/uibase/uiview/view.cxx b/sw/source/uibase/uiview/view.cxx
index af8a22b53001..63febf29b44a 100644
--- a/sw/source/uibase/uiview/view.cxx
+++ b/sw/source/uibase/uiview/view.cxx
@@ -593,11 +593,12 @@ void SwView::CheckReadonlyState()
SID_UNDO,
SID_REDO, SID_REPEAT, SID_PASTE,
SID_PASTE_UNFORMATTED,
- SID_PASTE_SPECIAL, SID_SBA_BRW_INSERT,
+ SID_PASTE_SPECIAL, SID_SBA_BRW_INSERT,
SID_BACKGROUND_COLOR, FN_INSERT_BOOKMARK, SID_CHARMAP_CONTROL,
SID_CHARMAP, SID_EMOJI_CONTROL, FN_INSERT_SOFT_HYPHEN,
- FN_INSERT_HARDHYPHEN, FN_INSERT_HARD_SPACE, FN_INSERT_BREAK,
- FN_INSERT_LINEBREAK, FN_INSERT_COLUMN_BREAK, FN_INSERT_BREAK_DLG,
+ FN_INSERT_HARDHYPHEN, FN_INSERT_HARD_SPACE, FN_INSERT_NNBSP,
+ FN_INSERT_BREAK, FN_INSERT_LINEBREAK, FN_INSERT_COLUMN_BREAK,
+ FN_INSERT_BREAK_DLG,
FN_DELETE_SENT, FN_DELETE_BACK_SENT, FN_DELETE_WORD,
FN_DELETE_BACK_WORD, FN_DELETE_LINE, FN_DELETE_BACK_LINE,
FN_DELETE_PARA, FN_DELETE_BACK_PARA, FN_DELETE_WHOLE_LINE,
diff --git a/sw/uiconfig/swriter/menubar/menubar.xml b/sw/uiconfig/swriter/menubar/menubar.xml
index 31cff9be3211..dc03cf7109a1 100644
--- a/sw/uiconfig/swriter/menubar/menubar.xml
+++ b/sw/uiconfig/swriter/menubar/menubar.xml
@@ -312,6 +312,7 @@
<menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
<menu:menuitem menu:id=".uno:InsertHardHyphen"/>
<menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertNarrowNobreakSpace"/>
<menu:menuitem menu:id=".uno:InsertZWSP"/>
<menu:menuitem menu:id=".uno:InsertZWNBSP"/>
<menu:menuitem menu:id=".uno:InsertLRM"/>