--- a/logsui/logsapp/src/logsmatchesview.cpp Fri Jun 11 13:38:41 2010 +0300
+++ b/logsui/logsapp/src/logsmatchesview.cpp Thu Jun 24 14:44:14 2010 +0300
@@ -45,7 +45,8 @@
: LogsBaseView(LogsMatchesViewId, repository, viewManager),
mListView(0),
mModel(0),
- mAddToContactsButton(0)
+ mAddToContactsButton(0),
+ mAddToContactsButtonDisabled(false)
{
LOGS_QDEBUG( "logs [UI] <-> LogsMatchesView::LogsMatchesView()" );
@@ -69,7 +70,10 @@
//
void LogsMatchesView::activated(bool showDialer, QVariant args)
{
- //base class handling first
+ // Disable add to contacts button handling while view is activated
+ // to avoid unnecessary quick appear/dissappear of it.
+ mAddToContactsButtonDisabled = true;
+
LogsBaseView::activated(showDialer, args);
LogsMatchesModel* model = qVariantValue<LogsMatchesModel*>(args);
@@ -77,6 +81,10 @@
dialpadEditorTextChanged();
activateEmptyListIndicator(mModel);
+
+ scrollToTopItem(mListView);
+
+ mAddToContactsButtonDisabled = false;
}
// -----------------------------------------------------------------------------
@@ -190,8 +198,9 @@
void LogsMatchesView::handleBackSoftkey()
{
LOGS_QDEBUG( "logs [UI] -> LogsMatchesView::::handleBackSoftkey()" );
-
+ mDialpad->editor().blockSignals(true);
mDialpad->editor().setText(QString());
+ mDialpad->editor().blockSignals(false);
if (mDialpad->isOpen()){
LOGS_QDEBUG( "logs [UI] -> LogsMatchesView::::handleBackSoftkey() closeDialpad" );
@@ -201,7 +210,7 @@
mDialpad->closeDialpad();
mDialpad->blockSignals(false);
}
-
+
LogsBaseView::handleBackSoftkey();
LOGS_QDEBUG( "logs [UI] <- LogsMatchesView::::handleBackSoftkey()" );
@@ -213,6 +222,7 @@
//
void LogsMatchesView::dialpadEditorTextChanged()
{
+ LOGS_QDEBUG( "logs [UI] -> LogsMatchesView::::dialpadEditorTextChanged()" );
updateCallButton();
updateMenu();
@@ -223,6 +233,7 @@
} else if ( mModel ) {
mModel->logsMatches( pattern );
}
+ LOGS_QDEBUG_2( "logs [UI] <- LogsMatchesView::::dialpadEditorTextChanged(), text: ", pattern );
}
// -----------------------------------------------------------------------------
@@ -257,7 +268,7 @@
if ( mListView ) {
updateMenu();
updateListLayoutName(*mListView);
- updateListSize();
+ updateListSize(*mListView);
}
LOGS_QDEBUG( "logs [UI] <- LogsMatchesView::updateWidgetsSizeAndLayout()" );
}
@@ -295,9 +306,9 @@
{
LOGS_QDEBUG( "logs [UI] -> LogsMatchesView::updateMenu()" );
- updateDialpadCallAndMessagingActions();
-
+ updateDialpadCallAndMessagingActions();
updateContactSearchAction();
+ updateMenuVisibility();
LOGS_QDEBUG( "logs [UI] <- LogsMatchesView::updateMenu()" );
}
@@ -311,6 +322,7 @@
if (mAddToContactsButton) {
LOGS_QDEBUG( "logs [UI] <-> LogsMatchesView::updateAddContactButton()" );
bool matchesFound(model() && (model()->rowCount() > 0));
- mAddToContactsButton->setVisible(!matchesFound && isDialpadInput());
+ mAddToContactsButton->setVisible(
+ !mAddToContactsButtonDisabled && !matchesFound && isDialpadInput() );
}
}