[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/mobile/lib
From: Tobias Koenig <tokoe () kde ! org>
Date: 2010-11-30 11:45:36
Message-ID: 20101130114536.4CDADAC8A3 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1202299 by tokoe:
Restore the filter line edit and item list state
when returning from the BulkActionScreen
BUG: 255204
M +1 -0 kdeclarativemainview.cpp
M +28 -0 kdeclarativemainview_p.cpp
M +1 -0 kdeclarativemainview_p.h
--- trunk/KDE/kdepim/mobile/lib/kdeclarativemainview.cpp #1202298:1202299
@@ -217,6 +217,7 @@
// The global screen manager
d->mGuiStateManager = createGuiStateManager();
context->setContextProperty( "guiStateManager", QVariant::fromValue( \
static_cast<QObject*>( d->mGuiStateManager ) ) ); + connect( d->mGuiStateManager, \
SIGNAL( guiStateChanged( int, int ) ), d, SLOT( guiStateChanged( int, int ) ) );
// A list of available favorites
QAbstractItemModel *favsList = d->getFavoritesListModel();
--- trunk/KDE/kdepim/mobile/lib/kdeclarativemainview_p.cpp #1202298:1202299
@@ -122,3 +122,31 @@
q->restorePersistedSelection( "SelectionBeforeSearchStarted" );
q->clearPersistedSelection( "SelectionBeforeSearchStarted" );
}
+
+void KDeclarativeMainViewPrivate::guiStateChanged( int oldState, int newState )
+{
+ /**
+ * If we come back from the BulkActionScreen and we had a filter string
+ * entered before we entered the BulkActionScreen, we'll refresh this
+ * filter string now.
+ */
+ if ( oldState == GuiStateManager::BulkActionScreenState ) {
+ if ( newState == GuiStateManager::AccountScreenState ||
+ newState == GuiStateManager::SingleFolderScreenState ||
+ newState == GuiStateManager::MultipleFolderScreenState ) {
+
+ KLineEdit *lineEdit = mFilterLineEdit.data();
+ if ( lineEdit && mItemFilterModel ) {
+ const QString text = lineEdit->text();
+ if ( text.isEmpty() ) {
+ // just trigger a refresh of the item view
+ QMetaObject::invokeMethod( mItemFilterModel, "setFilterString", \
Qt::DirectConnection, Q_ARG( QString, text ) ); + } else {
+ // trigger a refresh of the line edit and item view
+ lineEdit->clear();
+ lineEdit->setText( text );
+ }
+ }
+ }
+ }
+}
--- trunk/KDE/kdepim/mobile/lib/kdeclarativemainview_p.h #1202298:1202299
@@ -85,6 +85,7 @@
void bulkActionFilterLineEditChanged( const QString &text );
void searchStarted( const Akonadi::Collection& );
void searchStopped();
+ void guiStateChanged( int oldState, int newState );
};
#endif // KDECLARATIVEMAINVIEW_P_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic