-rw-r--r-- | core/launcher/documentlist.cpp | 8 | ||||
-rw-r--r-- | core/launcher/launcher.cpp | 10 | ||||
-rw-r--r-- | core/launcher/launcher.h | 2 | ||||
-rw-r--r-- | core/launcher/serverinterface.h | 2 |
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 | |||
@@ -55,33 +55,33 @@ AppLnkSet *DocumentList::appLnkSet = 0; | |||
55 | static const int MAX_SEARCH_DEPTH = 10; | 55 | static const int MAX_SEARCH_DEPTH = 10; |
56 | 56 | ||
57 | 57 | ||
58 | class DocumentListPrivate : public QObject { | 58 | class DocumentListPrivate : public QObject { |
59 | Q_OBJECT | 59 | Q_OBJECT |
60 | public: | 60 | public: |
61 | DocumentListPrivate( ServerInterface *gui ); | 61 | DocumentListPrivate( ServerInterface *gui ); |
62 | ~DocumentListPrivate(); | 62 | ~DocumentListPrivate(); |
63 | 63 | ||
64 | void initialize(); | 64 | void initialize(); |
65 | 65 | ||
66 | const QString nextFile(); | 66 | const QString nextFile(); |
67 | const DocLnk *iterate(); | 67 | const DocLnk *iterate(); |
68 | bool store( DocLnk* dl ); | 68 | bool store( DocLnk* dl ); |
69 | void estimatedPercentScanned(); | 69 | void estimatedPercentScanned(); |
70 | void appendDocpath(FileSystem*); | 70 | void appendDocpath(FileSystem*); |
71 | 71 | ||
72 | 72 | ||
73 | DocLnkSet dls; | 73 | DocLnkSet dls; |
74 | QDict<void> reference; | 74 | QDict<void> reference; |
75 | QDictIterator<void> *dit; | 75 | QDictIterator<void> *dit; |
76 | enum { Find, RemoveKnownFiles, MakeUnknownFiles, Done } state; | 76 | enum { Find, RemoveKnownFiles, MakeUnknownFiles, Done } state; |
77 | 77 | ||
78 | QStringList docPaths; | 78 | QStringList docPaths; |
79 | unsigned int docPathsSearched; | 79 | unsigned int docPathsSearched; |
80 | 80 | ||
81 | int searchDepth; | 81 | int searchDepth; |
82 | QDir *listDirs[MAX_SEARCH_DEPTH]; | 82 | QDir *listDirs[MAX_SEARCH_DEPTH]; |
83 | const QFileInfoList *lists[MAX_SEARCH_DEPTH]; | 83 | const QFileInfoList *lists[MAX_SEARCH_DEPTH]; |
84 | unsigned int listPositions[MAX_SEARCH_DEPTH]; | 84 | unsigned int listPositions[MAX_SEARCH_DEPTH]; |
85 | 85 | ||
86 | StorageInfo *storage; | 86 | StorageInfo *storage; |
87 | 87 | ||
@@ -177,46 +177,50 @@ void DocumentList::resendWorker() | |||
177 | } | 177 | } |
178 | */ | 178 | */ |
179 | 179 | ||
180 | void DocumentList::rescan() | 180 | void DocumentList::rescan() |
181 | { | 181 | { |
182 | //odebug << "rescan" << oendl; | 182 | //odebug << "rescan" << oendl; |
183 | pause(); | 183 | pause(); |
184 | d->initialize(); | 184 | d->initialize(); |
185 | resume(); | 185 | resume(); |
186 | } | 186 | } |
187 | 187 | ||
188 | 188 | ||
189 | void DocumentList::timerEvent( QTimerEvent *te ) | 189 | void DocumentList::timerEvent( QTimerEvent *te ) |
190 | { | 190 | { |
191 | if ( te->timerId() == d->tid ) { | 191 | if ( te->timerId() == d->tid ) { |
192 | // Do 3 at a time | 192 | // Do 3 at a time |
193 | if ( d->serverGui ) | ||
194 | d->serverGui->aboutToAddBegin(); | ||
193 | for (int i = 0; i < 3; i++ ) { | 195 | for (int i = 0; i < 3; i++ ) { |
194 | const DocLnk *lnk = d->iterate(); | 196 | const DocLnk *lnk = d->iterate(); |
195 | if ( lnk ) { | 197 | if ( lnk ) { |
196 | add( *lnk ); | 198 | add( *lnk ); |
197 | } else { | 199 | } else { |
198 | // stop when done | 200 | // stop when done |
199 | pause(); | 201 | pause(); |
200 | if ( d->serverGui ) | 202 | if ( d->serverGui ) |
201 | d->serverGui->documentScanningProgress( 100 ); | 203 | d->serverGui->documentScanningProgress( 100 ); |
202 | if ( d->needToSendAllDocLinks ) | 204 | if ( d->needToSendAllDocLinks ) |
203 | sendAllDocLinks(); | 205 | sendAllDocLinks(); |
204 | break; | 206 | break; |
205 | } | 207 | } |
206 | } | 208 | } |
209 | if ( d->serverGui ) | ||
210 | d->serverGui->aboutToAddEnd(); | ||
207 | } | 211 | } |
208 | } | 212 | } |
209 | 213 | ||
210 | 214 | ||
211 | void DocumentList::reloadAppLnks() | 215 | void DocumentList::reloadAppLnks() |
212 | { | 216 | { |
213 | if ( d->sendAppLnks && d->serverGui ) { | 217 | if ( d->sendAppLnks && d->serverGui ) { |
214 | d->serverGui->applicationScanningProgress( 0 ); | 218 | d->serverGui->applicationScanningProgress( 0 ); |
215 | d->serverGui->allApplicationsRemoved(); | 219 | d->serverGui->allApplicationsRemoved(); |
216 | } | 220 | } |
217 | 221 | ||
218 | delete appLnkSet; | 222 | delete appLnkSet; |
219 | appLnkSet = new AppLnkSet( MimeType::appsFolderName() ); | 223 | appLnkSet = new AppLnkSet( MimeType::appsFolderName() ); |
220 | 224 | ||
221 | if ( d->sendAppLnks && d->serverGui ) { | 225 | if ( d->sendAppLnks && d->serverGui ) { |
222 | static QStringList prevTypeList; | 226 | static QStringList prevTypeList; |
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 | |||
@@ -683,32 +683,42 @@ void Launcher::applicationRemoved( const QString& type, const AppLnk& app ) | |||
683 | else | 683 | else |
684 | owarn << "removeAppLnk: No view for " << type << "!" << oendl; | 684 | owarn << "removeAppLnk: No view for " << type << "!" << oendl; |
685 | } | 685 | } |
686 | 686 | ||
687 | void Launcher::allApplicationsRemoved() | 687 | void Launcher::allApplicationsRemoved() |
688 | { | 688 | { |
689 | MimeType::clear(); | 689 | MimeType::clear(); |
690 | for ( QStringList::ConstIterator it=ids.begin(); it!= ids.end(); ++it) | 690 | for ( QStringList::ConstIterator it=ids.begin(); it!= ids.end(); ++it) |
691 | tabs->view( (*it) )->removeAllItems(); | 691 | tabs->view( (*it) )->removeAllItems(); |
692 | } | 692 | } |
693 | 693 | ||
694 | void Launcher::documentAdded( const DocLnk& doc ) | 694 | void Launcher::documentAdded( const DocLnk& doc ) |
695 | { | 695 | { |
696 | tabs->docView()->addItem( new DocLnk( doc ), FALSE ); | 696 | tabs->docView()->addItem( new DocLnk( doc ), FALSE ); |
697 | } | 697 | } |
698 | 698 | ||
699 | void Launcher::aboutToAddBegin() | ||
700 | { | ||
701 | tabs->docView()->setUpdatesEnabled( false ); | ||
702 | } | ||
703 | |||
704 | void Launcher::aboutToAddEnd() | ||
705 | { | ||
706 | tabs->docView()->setUpdatesEnabled( true ); | ||
707 | } | ||
708 | |||
699 | void Launcher::showLoadingDocs() | 709 | void Launcher::showLoadingDocs() |
700 | { | 710 | { |
701 | tabs->docView()->hide(); | 711 | tabs->docView()->hide(); |
702 | } | 712 | } |
703 | 713 | ||
704 | void Launcher::showDocTab() | 714 | void Launcher::showDocTab() |
705 | { | 715 | { |
706 | if ( tabs->categoryBar->currentView() == tabs->docView() ) | 716 | if ( tabs->categoryBar->currentView() == tabs->docView() ) |
707 | tabs->docView()->show(); | 717 | tabs->docView()->show(); |
708 | } | 718 | } |
709 | 719 | ||
710 | void Launcher::documentRemoved( const DocLnk& doc ) | 720 | void Launcher::documentRemoved( const DocLnk& doc ) |
711 | { | 721 | { |
712 | tabs->docView()->removeLink( doc.linkFile() ); | 722 | tabs->docView()->removeLink( doc.linkFile() ); |
713 | } | 723 | } |
714 | 724 | ||
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 | |||
@@ -97,32 +97,34 @@ class Launcher : public QMainWindow, public ServerInterface | |||
97 | Q_OBJECT | 97 | Q_OBJECT |
98 | public: | 98 | public: |
99 | Launcher(); | 99 | Launcher(); |
100 | ~Launcher(); | 100 | ~Launcher(); |
101 | 101 | ||
102 | // implementing ServerInterface | 102 | // implementing ServerInterface |
103 | void createGUI(); | 103 | void createGUI(); |
104 | void destroyGUI(); | 104 | void destroyGUI(); |
105 | void typeAdded( const QString& type, const QString& name, const QPixmap& pixmap, const QPixmap& bgPixmap ); | 105 | void typeAdded( const QString& type, const QString& name, const QPixmap& pixmap, const QPixmap& bgPixmap ); |
106 | void typeRemoved( const QString& type ); | 106 | void typeRemoved( const QString& type ); |
107 | void applicationAdded( const QString& type, const AppLnk& doc ); | 107 | void applicationAdded( const QString& type, const AppLnk& doc ); |
108 | void applicationRemoved( const QString& type, const AppLnk& doc ); | 108 | void applicationRemoved( const QString& type, const AppLnk& doc ); |
109 | void allApplicationsRemoved(); | 109 | void allApplicationsRemoved(); |
110 | void applicationStateChanged( const QString& name, ApplicationState state ); | 110 | void applicationStateChanged( const QString& name, ApplicationState state ); |
111 | void documentAdded( const DocLnk& doc ); | 111 | void documentAdded( const DocLnk& doc ); |
112 | void documentRemoved( const DocLnk& doc ); | 112 | void documentRemoved( const DocLnk& doc ); |
113 | void aboutToAddBegin(); | ||
114 | void aboutToAddEnd(); | ||
113 | void allDocumentsRemoved(); | 115 | void allDocumentsRemoved(); |
114 | void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc ); | 116 | void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc ); |
115 | void storageChanged( const QList<FileSystem> & ); | 117 | void storageChanged( const QList<FileSystem> & ); |
116 | void applicationScanningProgress( int percent ); | 118 | void applicationScanningProgress( int percent ); |
117 | void documentScanningProgress( int percent ); | 119 | void documentScanningProgress( int percent ); |
118 | bool requiresApplications() const { return TRUE; } | 120 | bool requiresApplications() const { return TRUE; } |
119 | bool requiresDocuments() const; | 121 | bool requiresDocuments() const; |
120 | void showLoadingDocs(); | 122 | void showLoadingDocs(); |
121 | void showDocTab(); | 123 | void showDocTab(); |
122 | 124 | ||
123 | QStringList idList() const { return ids; } | 125 | QStringList idList() const { return ids; } |
124 | 126 | ||
125 | public slots: | 127 | public slots: |
126 | void viewSelected(const QString&); | 128 | void viewSelected(const QString&); |
127 | void showTab(const QString&); | 129 | void showTab(const QString&); |
128 | void select( const AppLnk * ); | 130 | void select( const AppLnk * ); |
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 | |||
@@ -37,32 +37,34 @@ public: | |||
37 | 37 | ||
38 | // These notify of the application categories, like what is used in the current launcher tabs, | 38 | // These notify of the application categories, like what is used in the current launcher tabs, |
39 | // for example "Applications", "Games" etc. | 39 | // for example "Applications", "Games" etc. |
40 | virtual void typeAdded( const QString& type, const QString& name, const QPixmap& pixmap, const QPixmap& bgPixmap ) = 0; | 40 | virtual void typeAdded( const QString& type, const QString& name, const QPixmap& pixmap, const QPixmap& bgPixmap ) = 0; |
41 | virtual void typeRemoved( const QString& type ) = 0; | 41 | virtual void typeRemoved( const QString& type ) = 0; |
42 | 42 | ||
43 | // These functions notify when an application is added or removed and to which category it belongs | 43 | // These functions notify when an application is added or removed and to which category it belongs |
44 | virtual void applicationAdded( const QString& type, const AppLnk& doc ) = 0; | 44 | virtual void applicationAdded( const QString& type, const AppLnk& doc ) = 0; |
45 | virtual void applicationRemoved( const QString& type, const AppLnk& doc ) = 0; | 45 | virtual void applicationRemoved( const QString& type, const AppLnk& doc ) = 0; |
46 | virtual void allApplicationsRemoved() = 0; | 46 | virtual void allApplicationsRemoved() = 0; |
47 | // Useful for wait icons, or running application lists etc | 47 | // Useful for wait icons, or running application lists etc |
48 | enum ApplicationState { Launching, Running, Terminated }; | 48 | enum ApplicationState { Launching, Running, Terminated }; |
49 | virtual void applicationStateChanged( const QString& name, ApplicationState state ) = 0; | 49 | virtual void applicationStateChanged( const QString& name, ApplicationState state ) = 0; |
50 | static const AppLnkSet& appLnks(); | 50 | static const AppLnkSet& appLnks(); |
51 | 51 | ||
52 | // These functions notify of adding, removal and changes of document links used in the documents tab for example | 52 | // These functions notify of adding, removal and changes of document links used in the documents tab for example |
53 | virtual void aboutToAddBegin() {} | ||
54 | virtual void aboutToAddEnd() {} | ||
53 | virtual void documentAdded( const DocLnk& doc ) = 0; | 55 | virtual void documentAdded( const DocLnk& doc ) = 0; |
54 | virtual void documentRemoved( const DocLnk& doc ) = 0; | 56 | virtual void documentRemoved( const DocLnk& doc ) = 0; |
55 | virtual void allDocumentsRemoved() = 0; | 57 | virtual void allDocumentsRemoved() = 0; |
56 | virtual void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc ) = 0; | 58 | virtual void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc ) = 0; |
57 | 59 | ||
58 | virtual void storageChanged( const QList<FileSystem> & ) = 0; | 60 | virtual void storageChanged( const QList<FileSystem> & ) = 0; |
59 | 61 | ||
60 | virtual void applicationScanningProgress( int percent ) = 0; | 62 | virtual void applicationScanningProgress( int percent ) = 0; |
61 | virtual void documentScanningProgress( int percent ) = 0; | 63 | virtual void documentScanningProgress( int percent ) = 0; |
62 | 64 | ||
63 | // Tells the server if the GUI needs to be updated about documents or applnks | 65 | // Tells the server if the GUI needs to be updated about documents or applnks |
64 | virtual bool requiresApplications() const = 0; | 66 | virtual bool requiresApplications() const = 0; |
65 | virtual bool requiresDocuments() const = 0; | 67 | virtual bool requiresDocuments() const = 0; |
66 | 68 | ||
67 | enum DockArea { Top, Bottom, Left, Right }; | 69 | enum DockArea { Top, Bottom, Left, Right }; |
68 | static void dockWidget( QWidget *w, DockArea placement ); | 70 | static void dockWidget( QWidget *w, DockArea placement ); |