Browse Source

32/64 bit os switch

v0.25
pbca26 7 years ago
parent
commit
535c42f728
  1. 15
      assets/mainWindow/js/loading.js
  2. 4
      react/src/components/addcoin/addcoin.render.js
  3. 7
      react/src/components/addcoin/addcoinOptionsAC.js
  4. 11
      react/src/components/addcoin/addcoinOptionsCrypto.js
  5. 5
      react/src/components/addcoin/coin-selectors.render.js
  6. 7
      react/src/components/dashboard/settings/settings.appInfoPanel.js
  7. 8
      react/src/components/dashboard/settings/settings.appSettingsPanel.js
  8. 9
      react/src/components/dashboard/settings/settings.render.js
  9. 1
      react/src/components/dashboard/settings/settings.scss
  10. 2
      react/src/components/main/main.js

15
assets/mainWindow/js/loading.js

@ -288,9 +288,19 @@ function init() {
const remote = require('electron').remote; const remote = require('electron').remote;
var window = remote.getCurrentWindow(); var window = remote.getCurrentWindow();
var appConf = remote.getCurrentWindow().appConfig; var appConf = remote.getCurrentWindow().appConfig;
var arch = remote.getCurrentWindow().arch;
if (arch !== 'x64') {
$('.settings-help').hide();
$('#agamaModeStatusText').html('Choose a shortcut or custom selection');
$('#settingsBtn').hide();
$('.mode-desc.native').hide();
$('#nativeOnlyBtn').hide();
$('#nativeOnlyBtnCarret').hide();
$('.mode-desc.spv').css('left', '200px');
$('.dropdown-menu.lite').css('left', '180px');
} else {
if (!appConf.experimentalFeatures) { if (!appConf.experimentalFeatures) {
$('#kmdPassiveMode').hide();
$('#spvBtn').hide(); $('#spvBtn').hide();
$('#spvBtnCarret').hide(); $('#spvBtnCarret').hide();
$('.dropdown-menu.native').css('right', '165px'); $('.dropdown-menu.native').css('right', '165px');
@ -299,4 +309,5 @@ function init() {
$('.mode-desc.spv').hide(); $('.mode-desc.spv').hide();
$('.mode-desc.native').css('left', '180px'); $('.mode-desc.native').css('left', '180px');
} }
}
} }

4
react/src/components/addcoin/addcoin.render.js

@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import { translate } from '../../translate/translate'; import { translate } from '../../translate/translate';
import mainWindow from '../../util/mainWindow';
// TODO: add modal close on modal overlay click evt // TODO: add modal close on modal overlay click evt
const AddCoinRender = function() { const AddCoinRender = function() {
@ -50,6 +50,7 @@ const AddCoinRender = function() {
{ translate('ADD_COIN.ACTIVATE_ALL') } { translate('ADD_COIN.ACTIVATE_ALL') }
</button> </button>
</div> </div>
{ mainWindow.arch === 'x64' &&
<div className="col-sm-12"> <div className="col-sm-12">
<p> <p>
<strong>{ translate('INDEX.NATIVE_MODE') }:</strong> { translate('INDEX.NATIVE_MODE_DESC1') }&nbsp; <strong>{ translate('INDEX.NATIVE_MODE') }:</strong> { translate('INDEX.NATIVE_MODE_DESC1') }&nbsp;
@ -63,6 +64,7 @@ const AddCoinRender = function() {
<i>{ translate('INDEX.NATIVE_MODE_DESC5') }</i>. <i>{ translate('INDEX.NATIVE_MODE_DESC5') }</i>.
</div> </div>
</div> </div>
}
</div> </div>
</div> </div>
</div> </div>

7
react/src/components/addcoin/addcoinOptionsAC.js

@ -1,5 +1,6 @@
import React from 'react'; import React from 'react';
import { translate } from '../../translate/translate'; import { translate } from '../../translate/translate';
import mainWindow from '../../util/mainWindow';
class AddCoinOptionsAC extends React.Component { class AddCoinOptionsAC extends React.Component {
render() { render() {
@ -25,7 +26,11 @@ class AddCoinOptionsAC extends React.Component {
let _items = []; let _items = [];
for (let i = 0; i < _assetChains.length; i++) { for (let i = 0; i < _assetChains.length; i++) {
const availableModes = _assetChains[i] !== 'kv' && _assetChains[i] !== 'mgw' ? 'native|spv' : 'native'; let availableModes = _assetChains[i] !== 'kv' && _assetChains[i] !== 'mgw' ? 'native|spv' : 'native';
if (mainWindow.arch !== 'x64') {
availableModes = 'spv';
}
_items.push( _items.push(
<option <option

11
react/src/components/addcoin/addcoinOptionsCrypto.js

@ -1,5 +1,6 @@
import React from 'react'; import React from 'react';
import { translate } from '../../translate/translate'; import { translate } from '../../translate/translate';
import mainWindow from '../../util/mainWindow';
class AddCoinOptionsCrypto extends React.Component { class AddCoinOptionsCrypto extends React.Component {
constructor() { constructor() {
@ -10,11 +11,7 @@ class AddCoinOptionsCrypto extends React.Component {
} }
componentWillMount() { componentWillMount() {
let appConfig; const appConfig = mainWindow.appConfig;
try {
appConfig = window.require('electron').remote.getCurrentWindow().appConfig;
} catch (e) {}
this.setState({ this.setState({
isExperimentalOn: appConfig.experimentalFeatures, isExperimentalOn: appConfig.experimentalFeatures,
@ -22,9 +19,11 @@ class AddCoinOptionsCrypto extends React.Component {
} }
render() { render() {
let availableKMDModes = mainWindow.arch === 'x64' ? 'native|spv' : 'spv';
return ( return (
<optgroup label={ translate('ADD_COIN.CRYPTO_CURRENCIES') }> <optgroup label={ translate('ADD_COIN.CRYPTO_CURRENCIES') }>
<option value="KMD|native|spv">Komodo (KMD)</option> <option value={ `KMD|${availableKMDModes}` }>Komodo (KMD)</option>
<option <option
value="CHIPS|spv" value="CHIPS|spv"
className={ this.state.isExperimentalOn ? '' : 'hide' }>Chips (CHIPS)</option> className={ this.state.isExperimentalOn ? '' : 'hide' }>Chips (CHIPS)</option>

5
react/src/components/addcoin/coin-selectors.render.js

@ -3,6 +3,7 @@ import { translate } from '../../translate/translate';
import AddCoinOptionsCrypto from '../addcoin/addcoinOptionsCrypto'; import AddCoinOptionsCrypto from '../addcoin/addcoinOptionsCrypto';
import AddCoinOptionsAC from '../addcoin/addcoinOptionsAC'; import AddCoinOptionsAC from '../addcoin/addcoinOptionsAC';
import AddCoinOptionsACFiat from '../addcoin/addcoinOptionsACFiat'; import AddCoinOptionsACFiat from '../addcoin/addcoinOptionsACFiat';
import mainWindow from '../../util/mainWindow';
const CoinSelectorsRender = function(item, coin, i) { const CoinSelectorsRender = function(item, coin, i) {
return ( return (
@ -24,7 +25,9 @@ const CoinSelectorsRender = function(item, coin, i) {
<option>{ translate('INDEX.SELECT') }</option> <option>{ translate('INDEX.SELECT') }</option>
<AddCoinOptionsCrypto appSettings={ this.props.Settings } /> <AddCoinOptionsCrypto appSettings={ this.props.Settings } />
<AddCoinOptionsAC appSettings={ this.props.Settings } /> <AddCoinOptionsAC appSettings={ this.props.Settings } />
{ mainWindow.arch === 'x64' &&
<AddCoinOptionsACFiat appSettings={ this.props.Settings } /> <AddCoinOptionsACFiat appSettings={ this.props.Settings } />
}
</select> </select>
</div> </div>
<div className={ this.hasMoreThanOneCoin() && (item.mode === '-1' || item.mode === -1) ? 'col-sm-6' : 'hide' }> <div className={ this.hasMoreThanOneCoin() && (item.mode === '-1' || item.mode === -1) ? 'col-sm-6' : 'hide' }>
@ -82,6 +85,7 @@ const CoinSelectorsRender = function(item, coin, i) {
</span> </span>
</label> </label>
</div> </div>
{ mainWindow.arch === 'x64' &&
<div <div
className="form-group col-lg-4 col-md-4 col-sm-6 col-xs-6" className="form-group col-lg-4 col-md-4 col-sm-6 col-xs-6"
style={{ paddingLeft: '0' }}> style={{ paddingLeft: '0' }}>
@ -114,6 +118,7 @@ const CoinSelectorsRender = function(item, coin, i) {
</span> </span>
</label> </label>
</div> </div>
}
</div> </div>
<div className={ this.hasMoreThanOneCoin() && i !== 0 ? 'col-sm-1' : 'hide' }> <div className={ this.hasMoreThanOneCoin() && i !== 0 ? 'col-sm-1' : 'hide' }>
<button <button

7
react/src/components/dashboard/settings/settings.appInfoPanel.js

@ -1,6 +1,7 @@
import React from 'react'; import React from 'react';
import { translate } from '../../../translate/translate'; import { translate } from '../../../translate/translate';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import mainWindow from '../../../util/mainWindow';
class AppInfoPanel extends React.Component { class AppInfoPanel extends React.Component {
constructor() { constructor() {
@ -20,7 +21,7 @@ class AppInfoPanel extends React.Component {
<p> <p>
{ translate('SETTINGS.NAME') }: { this.props.Settings.appInfo.releaseInfo.name } { translate('SETTINGS.NAME') }: { this.props.Settings.appInfo.releaseInfo.name }
<br /> <br />
{ translate('SETTINGS.VERSION') }: { `${this.props.Settings.appInfo.releaseInfo.version.replace('version=', '')}-beta` } { translate('SETTINGS.VERSION') }: { `${this.props.Settings.appInfo.releaseInfo.version.replace('version=', '')}${mainWindow.arch === 'x64' ? '' : '-32bit'}-beta` }
<br /> <br />
{ translate('SETTINGS.APP_SESSION') }: { this.props.Settings.appInfo.appSession } { translate('SETTINGS.APP_SESSION') }: { this.props.Settings.appInfo.appSession }
</p> </p>
@ -40,7 +41,10 @@ class AppInfoPanel extends React.Component {
<br /> <br />
{ translate('SETTINGS.MEM') }: { this.props.Settings.appInfo.sysInfo.totalmem_readable } { translate('SETTINGS.MEM') }: { this.props.Settings.appInfo.sysInfo.totalmem_readable }
</p> </p>
{ mainWindow.arch === 'x64' &&
<h5>{ translate('SETTINGS.LOCATIONS') }</h5> <h5>{ translate('SETTINGS.LOCATIONS') }</h5>
}
{ mainWindow.arch === 'x64' &&
<p> <p>
{ translate('SETTINGS.CACHE') }: { this.props.Settings.appInfo.dirs.cacheLocation } { translate('SETTINGS.CACHE') }: { this.props.Settings.appInfo.dirs.cacheLocation }
<br /> <br />
@ -56,6 +60,7 @@ class AppInfoPanel extends React.Component {
<br /> <br />
Komodo wallet.dat: { this.props.Settings.appInfo.dirs.komodoDir } Komodo wallet.dat: { this.props.Settings.appInfo.dirs.komodoDir }
</p> </p>
}
</div> </div>
</div> </div>
); );

8
react/src/components/dashboard/settings/settings.appSettingsPanel.js

@ -11,6 +11,7 @@ import {
triggerToaster, triggerToaster,
} from '../../../actions/actionCreators'; } from '../../../actions/actionCreators';
import Store from '../../../store'; import Store from '../../../store';
import mainWindow from '../../../util/mainWindow';
class AppSettingsPanel extends React.Component { class AppSettingsPanel extends React.Component {
constructor() { constructor() {
@ -26,15 +27,13 @@ class AppSettingsPanel extends React.Component {
} }
componentWillMount() { componentWillMount() {
try { const _appConfigSchema = mainWindow.appConfigSchema;
const _appConfigSchema = window.require('electron').remote.getCurrentWindow().appConfigSchema; const _appSettings = this.props.Settings.appSettings ? this.props.Settings.appSettings : Object.assign({}, mainWindow.appConfig);
const _appSettings = this.props.Settings.appSettings ? this.props.Settings.appSettings : Object.assign({}, window.require('electron').remote.getCurrentWindow().appConfig);
this.setState(Object.assign({}, this.state, { this.setState(Object.assign({}, this.state, {
appConfigSchema: _appConfigSchema, appConfigSchema: _appConfigSchema,
appSettings: _appSettings, appSettings: _appSettings,
})); }));
} catch(e) {}
} }
componentDidMount(props) { componentDidMount(props) {
@ -119,6 +118,7 @@ class AppSettingsPanel extends React.Component {
renderConfigEditForm() { renderConfigEditForm() {
let items = []; let items = [];
const _appConfig = this.state.appSettings; const _appConfig = this.state.appSettings;
for (let key in _appConfig) { for (let key in _appConfig) {
if (this.state.appConfigSchema[key] && typeof _appConfig[key] === 'object') { if (this.state.appConfigSchema[key] && typeof _appConfig[key] === 'object') {
if (this.state.appConfigSchema[key].display) { if (this.state.appConfigSchema[key].display) {

9
react/src/components/dashboard/settings/settings.render.js

@ -17,6 +17,7 @@ import SPVServersPanel from './settings.spvServersPanel';
import DaemonStdoutPanel from './settings.daemonStdoutPanel'; import DaemonStdoutPanel from './settings.daemonStdoutPanel';
import NativeWalletDatKeysPanel from './settings.nativeWalletDatKeysPanel'; import NativeWalletDatKeysPanel from './settings.nativeWalletDatKeysPanel';
import CoindClearDataDirPanel from './settings.coindClearDataDirPanel'; import CoindClearDataDirPanel from './settings.coindClearDataDirPanel';
import mainWindow from '../../../util/mainWindow';
// import WalletInfoPanel from './settings.walletInfoPanel'; // import WalletInfoPanel from './settings.walletInfoPanel';
// import WalletBackupPanel from './settings.walletBackupPanel'; // import WalletBackupPanel from './settings.walletBackupPanel';
@ -71,12 +72,14 @@ export const SettingsRender = function() {
<Panel <Panel
uniqId={'SettingsAccordion'} uniqId={'SettingsAccordion'}
singleOpen={true}> singleOpen={true}>
{ mainWindow.arch === 'x64' &&
<PanelSection <PanelSection
title={ translate('INDEX.DEBUG_LOG') } title={ translate('INDEX.DEBUG_LOG') }
icon="icon fa-bug" icon="icon fa-bug"
openByDefault={this.props.disableWalletSpecificUI}> openByDefault={this.props.disableWalletSpecificUI}>
<DebugLogPanel /> <DebugLogPanel />
</PanelSection> </PanelSection>
}
{ this.props.Main.coins && { this.props.Main.coins &&
this.props.Main.coins.native && this.props.Main.coins.native &&
Object.keys(this.props.Main.coins.native).length > 0 && Object.keys(this.props.Main.coins.native).length > 0 &&
@ -86,11 +89,13 @@ export const SettingsRender = function() {
<DaemonStdoutPanel /> <DaemonStdoutPanel />
</PanelSection> </PanelSection>
} }
{ mainWindow.arch === 'x64' &&
<PanelSection <PanelSection
title={ translate('SETTINGS.APP_CONFIG') + ' (config.json)' } title={ translate('SETTINGS.APP_CONFIG') + ' (config.json)' }
icon="icon fa-wrench"> icon="icon fa-wrench">
<AppSettingsPanel /> <AppSettingsPanel />
</PanelSection> </PanelSection>
}
<PanelSection <PanelSection
title={ translate('SETTINGS.APP_INFO') } title={ translate('SETTINGS.APP_INFO') }
icon="icon md-info"> icon="icon md-info">
@ -106,16 +111,20 @@ export const SettingsRender = function() {
<ExportKeysPanel /> <ExportKeysPanel />
</PanelSection> </PanelSection>
} }
{ mainWindow.arch === 'x64' &&
<PanelSection <PanelSection
title={ 'Wallet.dat keys' } title={ 'Wallet.dat keys' }
icon="icon md-key"> icon="icon md-key">
<NativeWalletDatKeysPanel /> <NativeWalletDatKeysPanel />
</PanelSection> </PanelSection>
}
{ mainWindow.arch === 'x64' &&
<PanelSection <PanelSection
title={ 'Clear native coin data dir' } title={ 'Clear native coin data dir' }
icon="icon fa-trash"> icon="icon fa-trash">
<CoindClearDataDirPanel /> <CoindClearDataDirPanel />
</PanelSection> </PanelSection>
}
{ this.props.Main.coins && { this.props.Main.coins &&
this.props.Main.coins.spv && this.props.Main.coins.spv &&
Object.keys(this.props.Main.coins.spv).length && Object.keys(this.props.Main.coins.spv).length &&

1
react/src/components/dashboard/settings/settings.scss

@ -111,6 +111,7 @@
#section-iguana-wallet-settings { #section-iguana-wallet-settings {
background: #f3f4f5; background: #f3f4f5;
height: 100%;
.panel-title { .panel-title {
cursor: pointer; cursor: pointer;

2
react/src/components/main/main.js

@ -21,7 +21,7 @@ class Main extends React.Component {
const appConfig = mainWindow.appConfig; const appConfig = mainWindow.appConfig;
if (appVersion) { if (appVersion) {
document.title = `${appVersion.name} (v${appVersion.version.replace('version=', '')}-beta)`; document.title = `${appVersion.name} (v${appVersion.version.replace('version=', '')}${mainWindow.arch === 'x64' ? '' : '-32bit'}-beta)`;
} }
} }

Loading…
Cancel
Save