ooo-build r11972 - in trunk: . patches/src680
- From: jonp svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r11972 - in trunk: . patches/src680
- Date: Fri, 21 Mar 2008 03:11:14 +0000 (GMT)
Author: jonp
Date: Fri Mar 21 03:11:14 2008
New Revision: 11972
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11972&view=rev
Log:
* patches/src680/sc-paste-on-enter.diff: Remove the whitelist idea, and hook
into ScInputHandler and ScViewFunc functions to cancel pastemode at the
appropriate times. This seems more robust than the prior solution.
Modified:
trunk/ChangeLog
trunk/patches/src680/sc-paste-on-enter.diff
Modified: trunk/patches/src680/sc-paste-on-enter.diff
==============================================================================
--- trunk/patches/src680/sc-paste-on-enter.diff (original)
+++ trunk/patches/src680/sc-paste-on-enter.diff Fri Mar 21 03:11:14 2008
@@ -234,7 +234,7 @@
if( !rKeyCode.GetModifier() && (rKeyCode.GetCode() == KEY_F2) )
{
SC_MOD()->EndReference();
-@@ -2961,9 +3024,52 @@ void __EXPORT ScGridWindow::KeyInput(con
+@@ -2963,9 +3028,43 @@ void __EXPORT ScGridWindow::KeyInput(con
return;
}
}
@@ -262,17 +262,8 @@
// wenn semi-Modeless-SfxChildWindow-Dialog oben, keine KeyInputs:
else if( !pViewData->IsAnyFillMode() )
{
-+ USHORT nGroup = rKeyCode.GetGroup();
-+ // permit cursor keys
-+ if (!(nGroup == KEYGROUP_CURSOR ||
-+ // function keys
-+ nGroup == KEYGROUP_FKEYS ||
-+ // tab
-+ (nGroup == KEYGROUP_MISC && rKeyCode.GetCode() == KEY_TAB) ||
-+ // keyboard shortcuts
-+ (nGroup == KEYGROUP_ALPHA && rKeyCode.GetModifier())))
++ if (rKeyCode.GetCode() == KEY_ESCAPE)
+ {
-+ // all else cancels paste mode.
+ pViewData->SetPasteMode( FALSE );
+ UpdateCursorOverlay();
+ }
@@ -287,3 +278,33 @@
// query for existing note marker before calling ViewShell's keyboard handling
// which may remove the marker
BOOL bHadKeyMarker = ( pNoteMarker && pNoteMarker->IsByKeyboard() );
+Index: sc/source/ui/app/inputhdl.cxx
+===================================================================
+RCS file: /cvs/sc/sc/source/ui/app/inputhdl.cxx,v
+retrieving revision 1.74.90.1
+diff -u -p -r1.74.90.1 inputhdl.cxx
+--- sc/source/ui/app/inputhdl.cxx 18 Jan 2008 11:52:55 -0000 1.74.90.1
++++ sc/source/ui/app/inputhdl.cxx 21 Mar 2008 02:40:54 -0000
+@@ -1703,6 +1703,7 @@ IMPL_LINK( ScInputHandler, ModifyHdl, vo
+
+ BOOL ScInputHandler::DataChanging( sal_Unicode cTyped, BOOL bFromCommand ) // return TRUE = new view created
+ {
++ pActiveViewSh->GetViewData()->SetPasteMode( FALSE );
+ bInOwnChange = TRUE; // disable ModifyHdl (reset in DataChanged)
+
+ if ( eMode == SC_INPUT_NONE )
+Index: sc/source/ui/view/viewfunc.cxx
+===================================================================
+RCS file: /cvs/sc/sc/source/ui/view/viewfunc.cxx,v
+retrieving revision 1.38
+diff -u -p -r1.38 viewfunc.cxx
+--- sc/source/ui/view/viewfunc.cxx 2 Oct 2007 15:22:22 -0000 1.38
++++ sc/source/ui/view/viewfunc.cxx 21 Mar 2008 02:43:14 -0000
+@@ -1787,6 +1788,7 @@ void ScViewFunc::DeleteMulti( BOOL bRows
+
+ void ScViewFunc::DeleteContents( USHORT nFlags, BOOL bRecord )
+ {
++ GetViewData()->SetPasteMode( FALSE );
+ // nur wegen Matrix nicht editierbar? Attribute trotzdem ok
+ BOOL bOnlyNotBecauseOfMatrix;
+ BOOL bEditable = SelectionEditable( &bOnlyNotBecauseOfMatrix );
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]