Skip to content

Commit f847e0d

Browse files
committed
Fix bug not loading tickers on Firefox's start
1 parent 7ec568f commit f847e0d

File tree

4 files changed

+16
-80
lines changed

4 files changed

+16
-80
lines changed

changelist.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
4.8
2+
- Fix bug where price tickers will not automatically load on Firefox's start
3+
14
4.7
25
- Remove dead exchanges Vircurex and Cryptsy
36

index.js

Lines changed: 12 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ const TAG = "bitcoin-price-ticker";
4747
const DATA_PROVIDERS_URL = data.url("data-providers.json");
4848
const ADDON_UPDATE_DOCUMENT_URL = "http://neoranga55.github.io/bitcoin-price-ticker/";
4949
const ADDON_ID = "jid0-ziK34XHkBWB9ezxd4l9Q1yC7RP0@jetpack";
50-
const TICKERS_ORDER_PREF_ID = "extensions.ADDON_ID.tickers_order";
5150
const DEFAULT_REFRESH_RATE = 60;
5251
const DEFAULT_FONT_SIZE = 14;
5352
const WIDGET_SUFFIX = "-widget";
@@ -62,7 +61,6 @@ function dlog(message) {
6261
}
6362
}
6463

65-
var orderedTickers = [];
6664
var tickers = {}; // Store all tickers configuration here
6765
var tickersFrame = null;
6866
var toolbar = null;
@@ -188,79 +186,17 @@ function getTickerConfigurationData(tickerId) {
188186
}
189187

190188
/**
191-
* Load tickers in the order that they are enabled in preferences
189+
* Load tickers enabled in preferences
192190
**/
193-
function loadDefaultTickers() {
191+
function loadTickers() {
194192
for (var tickerId in tickers) {
195193
if ( getBooleanPreference("p" + tickerId) ) { // Create Ticker
196194
dlog("Loading ticker for " + tickerId);
197195
updateTickerConfiguration(tickerId);
198196
if (usingWidgets) {
199197
createNewTickersWidget(tickerId);
200198
}
201-
if (tickers[tickerId].enabled) {
202-
orderedTickers.push(tickerId);
203-
}
204-
}
205-
}
206-
if ((orderedTickers !== null) && (orderedTickers.length > 0)) {
207-
storeTickersOrder();
208-
}
209-
}
210-
211-
/**
212-
* Load the order of the tickers from Firefox's profile and create them
213-
**/
214-
function loadTickersInOrder() {
215-
var orderedActiveTickers = "";
216-
try {
217-
orderedActiveTickers = prefs.getCharPref("extensions.ADDON_ID.tickers_order");
218-
if (orderedActiveTickers.length < 1) {
219-
// There is no order of tickers in addon set yet
220-
loadDefaultTickers();
221-
return;
222-
}
223-
var listOrderedTickers = orderedActiveTickers.split(",");
224-
if (listOrderedTickers.length < 1) {
225-
// There is no order of tickers in addon set yet
226-
loadDefaultTickers();
227-
return;
228-
}
229-
for (var i = 0; i < listOrderedTickers.length; i++) {
230-
var tickerId = listOrderedTickers[i];
231-
updateTickerConfiguration(tickerId);
232-
if (usingWidgets) {
233-
createNewTickersWidget(tickerId);
234-
}
235199
}
236-
} catch (e) { // There is no order of tickers in addon set yet
237-
loadDefaultTickers();
238-
}
239-
}
240-
241-
/**
242-
* Store the order of the active tickers in Firefox's profile
243-
**/
244-
function storeTickersOrder() {
245-
if ((orderedTickers === null) || (orderedTickers.length === 0)) {
246-
loadDefaultTickers();
247-
} else {
248-
var orderedActiveTickers = "";
249-
if ((orderedTickers !== null) && (orderedTickers.length > 0)) {
250-
for (var i = 0; i < orderedTickers.length; i++) { // Traverse skipping empty
251-
if (orderedActiveTickers.length > 0) {
252-
orderedActiveTickers += "," + orderedTickers[i];
253-
} else {
254-
orderedActiveTickers = orderedTickers[i];
255-
}
256-
}
257-
}
258-
if (DEBUG) {
259-
console.dir(orderedTickers);
260-
dlog("Storing tickers in order:" + orderedActiveTickers);
261-
}
262-
// Update ordered list of active tickers in Firefox's profile
263-
prefs.setCharPref(TICKERS_ORDER_PREF_ID, orderedActiveTickers);
264200
}
265201
}
266202

@@ -275,23 +211,13 @@ function toggleTicker(tickerId) {
275211
} else {
276212
updateTickerRefreshIntervalForTicker(tickerId);
277213
}
278-
orderedTickers.push(tickerId);
279-
storeTickersOrder();
280214
} else if (tickers[tickerId].enabled) { // Disable Ticker if it exists
281215
tickers[tickerId].enabled = false;
282216
stopAutoPriceUpdate(tickerId);
283217
updateTickerConfiguration(tickerId);
284218
if (usingWidgets) {
285219
destroyTickersWidget(tickerId);
286220
}
287-
for (var i = 0; i < orderedTickers.length; i++) {
288-
if (orderedTickers[i] == tickerId) {
289-
// Remove the ticker completely from the array with reordering
290-
orderedTickers.splice(i, 1);
291-
break;
292-
}
293-
}
294-
storeTickersOrder();
295221
}
296222
}
297223

@@ -687,8 +613,8 @@ function loadProvidersData() {
687613
function initAfterLoad() {
688614
if (! usingWidgets) { // Widget tickers will do this on load
689615
sendUpdatedProvidersData();
690-
}
691-
loadTickersInOrder();
616+
}
617+
loadTickers();
692618
registerEvents();
693619
if (! usingWidgets) { // Widget tickers will do this on event onWidgetAdded
694620
updateTickerRefreshInterval(true);
@@ -738,7 +664,14 @@ function toggleBarDisplay() {
738664
}
739665
}
740666

741-
toggleBarDisplay();
667+
function startApplication() {
668+
toggleBarDisplay();
669+
}
670+
671+
setTimeout(function () { // Wait for Firefox to load
672+
startApplication();
673+
}, 3000);
674+
742675

743676
/*
744677
Feature disabled until refactored

[email protected]

-453 Bytes
Binary file not shown.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"description": "Bitcoin Price Ticker with multiple sources and configurable",
66
"author": "neoranga (neoranga55 AT yahoo DOT es)",
77
"license": "MPL 2.0",
8-
"version": "4.7",
8+
"version": "4.8",
99
"permissions": {"private-browsing": true},
1010
"preferences": [{
1111
"name": "infoButton",

0 commit comments

Comments
 (0)