summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/documentlist.cpp8
-rw-r--r--core/launcher/launcher.cpp10
-rw-r--r--core/launcher/launcher.h2
-rw-r--r--core/launcher/serverinterface.h2
4 files changed, 20 insertions, 2 deletions
diff --git a/core/launcher/documentlist.cpp b/core/launcher/documentlist.cpp
index 59dd721..19ceb0f 100644
--- a/core/launcher/documentlist.cpp
+++ b/core/launcher/documentlist.cpp
@@ -67,9 +67,9 @@ public:
const DocLnk *iterate();
bool store( DocLnk* dl );
void estimatedPercentScanned();
void appendDocpath(FileSystem*);
-
+
DocLnkSet dls;
QDict<void> reference;
QDictIterator<void> *dit;
@@ -189,8 +189,10 @@ void DocumentList::rescan()
void DocumentList::timerEvent( QTimerEvent *te )
{
if ( te->timerId() == d->tid ) {
// Do 3 at a time
+ if ( d->serverGui )
+ d->serverGui->aboutToAddBegin();
for (int i = 0; i < 3; i++ ) {
const DocLnk *lnk = d->iterate();
if ( lnk ) {
add( *lnk );
@@ -202,9 +204,11 @@ void DocumentList::timerEvent( QTimerEvent *te )
if ( d->needToSendAllDocLinks )
sendAllDocLinks();
break;
}
- }
+ }
+ if ( d->serverGui )
+ d->serverGui->aboutToAddEnd();
}
}
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp
index bf2287d..6afbcd8 100644
--- a/core/launcher/launcher.cpp
+++ b/core/launcher/launcher.cpp
@@ -695,8 +695,18 @@ void Launcher::documentAdded( const DocLnk& doc )
{
tabs->docView()->addItem( new DocLnk( doc ), FALSE );
}
+void Launcher::aboutToAddBegin()
+{
+ tabs->docView()->setUpdatesEnabled( false );
+}
+
+void Launcher::aboutToAddEnd()
+{
+ tabs->docView()->setUpdatesEnabled( true );
+}
+
void Launcher::showLoadingDocs()
{
tabs->docView()->hide();
}
diff --git a/core/launcher/launcher.h b/core/launcher/launcher.h
index 4f3ff8c..29bd7db 100644
--- a/core/launcher/launcher.h
+++ b/core/launcher/launcher.h
@@ -109,8 +109,10 @@ public:
void allApplicationsRemoved();
void applicationStateChanged( const QString& name, ApplicationState state );
void documentAdded( const DocLnk& doc );
void documentRemoved( const DocLnk& doc );
+ void aboutToAddBegin();
+ void aboutToAddEnd();
void allDocumentsRemoved();
void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc );
void storageChanged( const QList<FileSystem> & );
void applicationScanningProgress( int percent );
diff --git a/core/launcher/serverinterface.h b/core/launcher/serverinterface.h
index e57ea51..132766f 100644
--- a/core/launcher/serverinterface.h
+++ b/core/launcher/serverinterface.h
@@ -49,8 +49,10 @@ public:
virtual void applicationStateChanged( const QString& name, ApplicationState state ) = 0;
static const AppLnkSet& appLnks();
// These functions notify of adding, removal and changes of document links used in the documents tab for example
+ virtual void aboutToAddBegin() {}
+ virtual void aboutToAddEnd() {}
virtual void documentAdded( const DocLnk& doc ) = 0;
virtual void documentRemoved( const DocLnk& doc ) = 0;
virtual void allDocumentsRemoved() = 0;
virtual void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc ) = 0;