From d2861d9c2ad1d12346d7b26d292b8b96b8503f76 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Wed, 3 Sep 2014 13:11:32 -0300 Subject: [PATCH] settings: create new model --- js/controllers/more.js | 16 ++++++++++------ js/controllers/settings.js | 24 ++++++++---------------- js/models/core/Settings.js | 12 ++++++++++++ js/models/core/Wallet.js | 2 ++ 4 files changed, 32 insertions(+), 22 deletions(-) create mode 100644 js/models/core/Settings.js diff --git a/js/controllers/more.js b/js/controllers/more.js index 7b972128f..8431f1634 100644 --- a/js/controllers/more.js +++ b/js/controllers/more.js @@ -1,10 +1,9 @@ 'use strict'; angular.module('copayApp.controllers').controller('MoreController', - function($scope, $rootScope, $location, backupService, walletFactory, controllerUtils, notification) { + function($scope, $rootScope, $location, backupService, walletFactory, controllerUtils, notification, rateService) { var w = $rootScope.wallet; - $scope.unitOpts = [{ name: 'Satoshis (100,000,000 satoshis = 1BTC)', shortName: 'SAT', @@ -49,6 +48,15 @@ angular.module('copayApp.controllers').controller('MoreController', break; } } + $scope.save = function() { + w.changeSettings({ + unitName: $scope.selectedUnit.shortName, + unitToSatoshi: $scope.selectedUnit.value, + unitDecimals: $scope.selectedUnit.decimals, + alternativeName: $scope.selectedAlternative.name, + alternativeIsoCode: $scope.selectedAlternative.isoCode, + }); + }; $scope.hideAdv = true; @@ -57,19 +65,16 @@ angular.module('copayApp.controllers').controller('MoreController', $scope.priv = w.privateKey.toObj().extendedPrivateKeyString; $scope.downloadBackup = function() { - var w = $rootScope.wallet; backupService.download(w); } $scope.deleteWallet = function() { - var w = $rootScope.wallet; walletFactory.delete(w.id, function() { controllerUtils.logout(); }); }; $scope.purge = function(deleteAll) { - var w = $rootScope.wallet; var removed = w.purgeTxProposals(deleteAll); if (removed) { controllerUtils.updateBalance(); @@ -78,7 +83,6 @@ angular.module('copayApp.controllers').controller('MoreController', }; $scope.updateIndexes = function() { - var w = $rootScope.wallet; notification.info('Scaning for transactions', 'Using derived addresses from your wallet'); w.updateIndexes(function(err) { notification.info('Scan Ended', 'Updating balance'); diff --git a/js/controllers/settings.js b/js/controllers/settings.js index 6d2ca9896..d4c3d1426 100644 --- a/js/controllers/settings.js +++ b/js/controllers/settings.js @@ -37,24 +37,16 @@ angular.module('copayApp.controllers').controller('SettingsController', function network.port = $scope.insightPort; network.schema = $scope.insightSecure ? 'https' : 'http'; + var insightSettings = { + host: $scope.insightHost, + port: $scope.insightPort, + schema: $scope.insightSecure ? 'https' : 'http', + } + localStorage.setItem('config', JSON.stringify({ - networkName: $scope.networkName, - blockchain: { - host: $scope.insightHost, - port: $scope.insightPort, - schema: $scope.insightSecure ? 'https' : 'http', - }, - socket: { - host: $scope.insightHost, - port: $scope.insightPort, - schema: $scope.insightSecure ? 'https' : 'http', - }, + blockchain: insightSettings, + socket: insightSettings, network: network, - unitName: $scope.selectedUnit.shortName, - unitToSatoshi: $scope.selectedUnit.value, - unitDecimals: $scope.selectedUnit.decimals, - alternativeName: $scope.selectedAlternative.name, - alternativeIsoCode: $scope.selectedAlternative.isoCode, version: copay.version, defaultLanguage: $scope.selectedLanguage.isoCode diff --git a/js/models/core/Settings.js b/js/models/core/Settings.js new file mode 100644 index 000000000..4d8cbc0de --- /dev/null +++ b/js/models/core/Settings.js @@ -0,0 +1,12 @@ +'use strict'; + +var preconditions = require('preconditions').singleton(); +var log = require('../../log'); + +var copayConfig = require('../../../config'); + +function Settings(opts) { + var self = this; +} + +module.exports = Settings; diff --git a/js/models/core/Wallet.js b/js/models/core/Wallet.js index f9af99d39..4ba28a149 100644 --- a/js/models/core/Wallet.js +++ b/js/models/core/Wallet.js @@ -25,6 +25,7 @@ var TxProposal = require('./TxProposal'); var TxProposals = require('./TxProposals'); var PrivateKey = require('./PrivateKey'); var WalletLock = require('./WalletLock'); +var Settings = require('./Settings'); var copayConfig = require('../../../config'); /** @@ -73,6 +74,7 @@ function Wallet(opts) { this.id = opts.id || Wallet.getRandomId(); this.secretNumber = opts.secretNumber || Wallet.getRandomNumber(); this.lock = new WalletLock(this.storage, this.id, opts.lockTimeOutMin); + this.settings = new Settings(opts.settings); this.name = opts.name; this.verbose = opts.verbose;