[gnome-documents/wip/rishi/init-getting-started: 5/5] application: Create the window only after detecting the PDF
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-documents/wip/rishi/init-getting-started: 5/5] application: Create the window only after detecting the PDF
- Date: Fri, 8 Dec 2017 17:11:49 +0000 (UTC)
commit 06a17ca97ce19150d878fe2fa53bdcda43f33d07
Author: Debarshi Ray <debarshir gnome org>
Date: Fri Dec 8 17:36:49 2017 +0100
application: Create the window only after detecting the PDF
src/application.js | 53 ++++++++++++++++++++++++++++++++-------------------
1 files changed, 33 insertions(+), 20 deletions(-)
---
diff --git a/src/application.js b/src/application.js
index 09588a2..bc0ec7c 100644
--- a/src/application.js
+++ b/src/application.js
@@ -126,9 +126,16 @@ var Application = new Lang.Class({
_("Show the version of the program"), null);
},
- _initGettingStarted: function() {
- if (this.isBooks)
+ _initGettingStarted: function(callback) {
+ if (this.isBooks) {
+ Mainloop.idle_add(Lang.bind(this,
+ function() {
+ callback();
+ return GLib.SOURCE_REMOVE;
+ }));
+
return;
+ }
let manager = TrackerControl.MinerManager.new_full(false);
@@ -145,6 +152,7 @@ var Application = new Lang.Class({
let file = files.shift();
if (!file) {
log('Can\'t find a valid getting started PDF document');
+ callback();
return;
}
@@ -170,11 +178,17 @@ var Application = new Lang.Class({
} catch (e) {
logError(e, 'Error indexing the getting started PDF');
}
+
+ callback();
});
}));
}
- checkNextFile.apply(this);
+ Mainloop.idle_add(Lang.bind(this,
+ function() {
+ checkNextFile.apply(this);
+ return GLib.SOURCE_REMOVE;
+ }));
},
_nightModeCreateHook: function(action) {
@@ -436,26 +450,25 @@ var Application = new Lang.Class({
return;
}
- this._initGettingStarted();
-
- notificationManager = new Notifications.NotificationManager();
- this._mainWindow = new MainWindow.MainWindow(this);
- this._mainWindow.connect('destroy', Lang.bind(this, this._onWindowDestroy));
-
- try {
- this._extractPriority = TrackerExtractPriority();
- this._extractPriority.SetRdfTypesRemote(['nfo:Document']);
- } catch (e) {
- logError(e, 'Unable to connect to the tracker extractor');
- }
+ this.hold();
+ this._initGettingStarted(Lang.bind(this,
+ function() {
+ this.release();
+ notificationManager = new Notifications.NotificationManager();
+ this._mainWindow = new MainWindow.MainWindow(this);
+ this._mainWindow.connect('destroy', Lang.bind(this, this._onWindowDestroy));
+
+ try {
+ this._extractPriority = TrackerExtractPriority();
+ this._extractPriority.SetRdfTypesRemote(['nfo:Document']);
+ } catch (e) {
+ logError(e, 'Unable to connect to the tracker extractor');
+ }
- // start miners
- this._startMiners();
+ // start miners
+ this._startMiners();
- Mainloop.idle_add(Lang.bind(this,
- function() {
callback();
- return GLib.SOURCE_REMOVE;
}));
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]