summaryrefslogtreecommitdiff
authorsandman <sandman>2002-07-20 22:34:42 (UTC)
committer sandman <sandman>2002-07-20 22:34:42 (UTC)
commit594dfd3535846a536cebdb3381f4858239404c49 (patch) (side-by-side diff)
treed813fa27d282e03b732fb79985beabd3aa190064
parentd7e4bedb202300254511ad5949cb6176bcf4f37f (diff)
downloadopie-594dfd3535846a536cebdb3381f4858239404c49.zip
opie-594dfd3535846a536cebdb3381f4858239404c49.tar.gz
opie-594dfd3535846a536cebdb3381f4858239404c49.tar.bz2
Fix for a (obvious) bug that resulted in double pasting and/or hanging apps
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/clipboardapplet/clipboard.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/applets/clipboardapplet/clipboard.cpp b/core/applets/clipboardapplet/clipboard.cpp
index 181f4bf..5848d0f 100644
--- a/core/applets/clipboardapplet/clipboard.cpp
+++ b/core/applets/clipboardapplet/clipboard.cpp
@@ -162,72 +162,72 @@ void ClipboardApplet::mousePressEvent ( QMouseEvent *)
m_menu-> insertItem ( QIconSet ( Resource::loadPixmap ( "cut" )), tr( "Cut" ), 100 );
m_menu-> insertItem ( QIconSet ( Resource::loadPixmap ( "copy" )), tr( "Copy" ), 101 );
m_menu-> insertItem ( QIconSet ( Resource::loadPixmap ( "paste" )), tr( "Paste" ), 102 );
connect ( m_menu, SIGNAL( activated ( int )), this, SLOT( action ( int )));
m_dirty = false;
}
QPoint p = mapToGlobal ( QPoint ( 0, 0 ));
QSize s = m_menu-> sizeHint ( );
m_menu-> popup ( QPoint ( p. x ( ) + ( width ( ) / 2 ) - ( s. width ( ) / 2 ), p. y ( ) - s. height ( )));
}
void ClipboardApplet::action(int id)
{
ushort unicode = 0;
int scan = 0;
switch ( id ) {
case 100:
unicode = 'X' - '@';
scan = Key_X; // Cut
break;
case 101:
unicode = 'C' - '@';
scan = Key_C; // Copy
break;
case 102:
unicode = 'V' - '@';
scan = Key_V; // Paste
break;
default:
if (( id >= 0 ) && ( uint( id ) < m_history. count ( ))) {
QApplication::clipboard ( )-> setText ( m_history [id] );
for ( uint i = 0; i < m_history. count ( ); i++ )
m_menu-> setItemChecked ( i, i == uint( id ));
unicode = 'V' - '@';
scan = Key_V;
}
break;
}
if ( scan ) {
qwsServer-> sendKeyEvent ( unicode, scan, ControlButton, true, false );
- qwsServer-> sendKeyEvent ( unicode, scan, ControlButton, true, false );
+ qwsServer-> sendKeyEvent ( unicode, scan, ControlButton, false, false );
}
}
void ClipboardApplet::paintEvent ( QPaintEvent* )
{
QPainter p ( this );
p. drawPixmap ( 0, 1, m_clipboardPixmap );
}
void ClipboardApplet::newData ( )
{
QCString type = "plain";
QString txt = QApplication::clipboard ( )-> text ( type );
if ( !txt. isEmpty ( ) && !m_history. contains ( txt )) {
m_history. append ( txt );
if ( m_history. count ( ) > 5 )
m_history. remove ( m_history. begin ( ));
m_dirty = true;
}
}