--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vmbx/vmbxcpplugin/src/customedit.cpp Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "customedit.h"
+#include "loggerutil.h"
+
+/*!
+ Constructor
+*/
+CustomEdit::CustomEdit(QGraphicsItem *parent)
+ : HbLineEdit(parent)
+{
+ _DBGLOG("CustomEdit::CustomEdit() >")
+ const bool ret = connect(&mItemClickedTimer, SIGNAL(timeout()),
+ this, SLOT(emitEditItemClicked()));
+ _DBGLOG2("CustomEdit::CustomEdit() <", ret)
+}
+
+/*!
+ Distructor
+*/
+CustomEdit::~CustomEdit()
+{
+ _DBGLOG("CustomEdit::CustomEdit()")
+ disconnect(&mItemClickedTimer, SIGNAL(timeout()),
+ this, SLOT(emitEditItemClicked()));
+}
+
+/*!
+ focusInEvent
+*/
+void CustomEdit::focusInEvent(QFocusEvent *event)
+{
+ _DBGLOG("CustomEdit::focusInEvent() >")
+ if (!event->gotFocus()) {
+ _DBGLOG("CustomEdit::focusInEvent() ignore")
+ event->ignore();
+ } else {
+ _DBGLOG("CustomEdit::focusInEvent() emit clicked")
+ // When focus comes to the controller, a 100 ms timer is started.
+ // a signal is emitted after this 100 ms, and focus transfer to other controller,
+ // after the other controller finished,to avoid focus gained again.
+ mItemClickedTimer.start(100);
+ event->accept();
+ }
+ _DBGLOG("CustomEdit::focusInEvent() <")
+}
+
+/*!
+ emitEditItemClicked
+*/
+void CustomEdit::emitEditItemClicked()
+{
+ _DBGLOG("CustomEdit::emitEditItemClicked() >")
+ emit editItemClicked();
+ mItemClickedTimer.stop();
+ _DBGLOG("CustomEdit::emitEditItemClicked() <")
+}
+
+// End of file