summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-10-18 15:31:23 (UTC)
committer llornkcor <llornkcor>2002-10-18 15:31:23 (UTC)
commit0910b94b5b6618c84b3eb6c457c9137d63a7277f (patch) (unidiff)
tree44df052721286af898978416a1efcce3c472baaa
parent88b3a159060ed7057bfee4cc1ccfcf81a63a4780 (diff)
downloadopie-0910b94b5b6618c84b3eb6c457c9137d63a7277f.zip
opie-0910b94b5b6618c84b3eb6c457c9137d63a7277f.tar.gz
opie-0910b94b5b6618c84b3eb6c457c9137d63a7277f.tar.bz2
handle Ctrl-V event
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/TEWidget.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/core/apps/embeddedkonsole/TEWidget.cpp b/core/apps/embeddedkonsole/TEWidget.cpp
index 6d5c6e9..b1ad008 100644
--- a/core/apps/embeddedkonsole/TEWidget.cpp
+++ b/core/apps/embeddedkonsole/TEWidget.cpp
@@ -1007,55 +1007,60 @@ bool TEWidget::eventFilter( QObject *obj, QEvent *e )
1007 break; 1007 break;
1008 default: 1008 default:
1009 if ( control ) { 1009 if ( control ) {
1010 int a = toupper(ke->ascii())-64; 1010 int a = toupper(ke->ascii())-64;
1011 if ( a >= 0 && a < ' ' ) { 1011 if ( a >= 0 && a < ' ' ) {
1012 e = new QKeyEvent(e->type(), ke->key(), 1012 e = new QKeyEvent(e->type(), ke->key(),
1013 a, ke->state()|ControlButton, QChar(a,0)); 1013 a, ke->state()|ControlButton, QChar(a,0));
1014 dele=TRUE; 1014 dele=TRUE;
1015 } 1015 }
1016 } 1016 }
1017 if ( alt ) { 1017 if ( alt ) {
1018 e = new QKeyEvent(e->type(), ke->key(), 1018 e = new QKeyEvent(e->type(), ke->key(),
1019 ke->ascii(), ke->state()|AltButton, ke->text()); 1019 ke->ascii(), ke->state()|AltButton, ke->text());
1020 dele=TRUE; 1020 dele=TRUE;
1021 } 1021 }
1022 } 1022 }
1023 } 1023 }
1024#endif 1024#endif
1025 1025
1026 if ( e->type() == QEvent::KeyPress ) { 1026 if ( e->type() == QEvent::KeyPress ) {
1027 QKeyEvent* ke = (QKeyEvent*)e; 1027 QKeyEvent* ke = (QKeyEvent*)e;
1028 actSel=0; // Key stroke implies a screen update, so TEWidget won't 1028 actSel=0; // Key stroke implies a screen update, so TEWidget won't
1029 // know where the current selection is. 1029 // know where the current selection is.
1030 1030
1031// qDebug("key pressed is 0x%x",ke->key()); 1031// qDebug("key pressed is 0x%x, state %d",ke->key(), ke->state());
1032 1032
1033 if( ke->state() == ShiftButton && ke->key() == Key_Tab) { //lets hardcode this sucker 1033 if( ke->state() == ShiftButton && ke->key() == Key_Tab) {
1034 //lets hardcode this sucker
1034 1035
1035// qDebug("key pressed 2 is 0x%x",ke->key()); 1036// qDebug("key pressed 2 is 0x%x",ke->key());
1036 emitText("\\"); // expose 1037 emitText("\\"); // expose
1037 } else 1038 }
1039 else if( ke->state() == ControlButton && ke->key() == Key_V) {
1040 pasteClipboard();
1041 }
1042 else
1038 emit keyPressedSignal(ke); // expose 1043 emit keyPressedSignal(ke); // expose
1039 ke->accept(); 1044 ke->accept();
1040#ifdef FAKE_CTRL_AND_ALT 1045#ifdef FAKE_CTRL_AND_ALT
1041 if ( dele ) delete e; 1046 if ( dele ) delete e;
1042#endif 1047#endif
1043 return true; // stop the event 1048 return true; // stop the event
1044 } 1049 }
1045 if ( e->type() == QEvent::Enter ) { 1050 if ( e->type() == QEvent::Enter ) {
1046 QObject::disconnect( (QObject*)cb, SIGNAL(dataChanged()), 1051 QObject::disconnect( (QObject*)cb, SIGNAL(dataChanged()),
1047 this, SLOT(onClearSelection()) ); 1052 this, SLOT(onClearSelection()) );
1048 } 1053 }
1049 if ( e->type() == QEvent::Leave ) { 1054 if ( e->type() == QEvent::Leave ) {
1050 QObject::connect( (QObject*)cb, SIGNAL(dataChanged()), 1055 QObject::connect( (QObject*)cb, SIGNAL(dataChanged()),
1051 this, SLOT(onClearSelection()) ); 1056 this, SLOT(onClearSelection()) );
1052 } 1057 }
1053 return QFrame::eventFilter( obj, e ); 1058 return QFrame::eventFilter( obj, e );
1054} 1059}
1055 1060
1056/* ------------------------------------------------------------------------- */ 1061/* ------------------------------------------------------------------------- */
1057/* */ 1062/* */
1058/* Frame */ 1063/* Frame */
1059/* */ 1064/* */
1060/* ------------------------------------------------------------------------- */ 1065/* ------------------------------------------------------------------------- */
1061 1066