1
0
Fork 0
forked from lthn/blockchain

Merge branch 'develop' into release

This commit is contained in:
sowle 2019-10-05 15:19:24 +03:00
commit 3e6400ca60
No known key found for this signature in database
GPG key ID: C07A24B2D89D49FC
30 changed files with 995 additions and 924 deletions

View file

@ -45,6 +45,7 @@
#include <boost/cstdint.hpp>
#include <boost/thread.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/algorithm/string.hpp>
#endif
#if defined(WIN32)

View file

@ -46,7 +46,7 @@
"ONLINE": "Online",
"ERROR": "Systemfehler",
"COMPLETE": "Abschluss",
"SYNCING": "Synchronisiere Blockchain",
"SYNCING": "Syncing block",
"LOADING": "Lade Blockchain-Daten"
},
"UPDATE": {

View file

@ -150,8 +150,14 @@
"TIME3": "1 hour",
"TIME4": "Never"
},
"SCALE": {
"75": "75% scale",
"100": "100% scale",
"125": "125% scale",
"150": "150% scale"
},
"LANGUAGE": {
"TITLE": "Languages",
"TITLE": "Language",
"EN": "English",
"FR": "French",
"DE": "Deutsch",
@ -180,7 +186,10 @@
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
"LOCKED_BALANCE_LINK": "What does that mean?",
"CLOSE_MESSAGE": "<span class=\"message\">Remove wallet from the list</span> <br> <span>(To access it youll have to add it again)</span>",
"CONFIRM": {
"TITLE": "Remove wallet from the list?",
"MESSAGE": "To access it youll have to add it again"
},
"TABS": {
"SEND": "Send",
"RECEIVE": "Receive",

View file

@ -46,7 +46,7 @@
"ONLINE": "En ligne",
"ERROR": "Erreur de système",
"COMPLETE": "Fermeture",
"SYNCING": "Synchronisation de la blockchain",
"SYNCING": "Syncing block",
"LOADING": "Chargement des données de la blockchain"
},
"UPDATE": {

View file

@ -46,7 +46,7 @@
"ONLINE": "Online",
"ERROR": "Errore di sistema",
"COMPLETE": "Completata",
"SYNCING": "Sincronizzazione blockchain",
"SYNCING": "Syncing block",
"LOADING": "Caricamento dati blockchain"
},
"UPDATE": {

File diff suppressed because it is too large Load diff

View file

@ -789,6 +789,16 @@ input[type='checkbox'].style-checkbox {
&.custom-select {
width: 100%;
&.ng-select-single {
.ng-select-container {
.ng-value-container {
.ng-value {
line-height: 1.8rem;
}
}
}
}
.ng-select-container {
border: none;
border-radius: 0;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -2,12 +2,15 @@
<div class="content">
<i class="icon info"></i>
<div class="message-container">
<span [innerHTML]="message"></span>
<span class="title">{{title}}</span>
<span class="message">{{message}}</span>
<div class="wrap-btn">
<button type="button" class="action-button" (click)="onSubmit()" #btn>{{ 'MODALS.OK' | translate }}</button>
<button type="button" class="action-button" (click)="onClose()">{{ 'MODALS.CANCEL' | translate }}</button>
</div>
</div>
</div>
<div class="wrap-btn">
<button type="button" class="action-button" (click)="onSubmit()" #btn>{{ 'MODALS.OK' | translate }}</button>
<button type="button" class="action-button" (click)="onClose()">{{ 'MODALS.CANCEL' | translate }}</button>
</div>
<button type="button" class="close-button" (click)="onClose()"><i class="icon close"></i></button>
</div>

View file

@ -15,13 +15,12 @@
flex-direction: column;
background-position: center;
background-size: 200%;
padding: 2rem;
padding: 3rem;
min-width: 34rem;
max-width: 60rem;
.content {
display: flex;
margin: 1.2rem 0;
.icon {
flex: 0 0 auto;
@ -40,6 +39,12 @@
justify-content: center;
margin-left: 2rem;
.title {
font-size: 1.8rem;
font-weight: 600;
line-height: 2.2rem;
}
.message {
font-size: 1.3rem;
line-height: 1.8rem;
@ -50,10 +55,12 @@
.wrap-btn {
display: flex;
justify-content: space-between;
width: 100%;
margin-top: 3.5rem;
}
.action-button {
margin: 1.2rem auto 0.6rem;
width: 10rem;
height: 2.4rem;
}

View file

@ -7,6 +7,7 @@ import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef }
})
export class ConfirmModalComponent implements OnInit {
@Input() title: string;
@Input() message: string;
@Output() confirmed: EventEmitter<boolean> = new EventEmitter<boolean>();
@ViewChild('btn') button: ElementRef;

View file

@ -232,6 +232,7 @@ export class TooltipDirective implements OnDestroy {
ngOnDestroy() {
clearTimeout(this.removeTooltipTimeout);
clearTimeout(this.removeTooltipTimeoutInner);
clearTimeout(this.removeTooltipTimeDelay);
if (this.tooltip) {
this.renderer.removeChild(document.body, this.tooltip);
this.tooltip = null;

View file

@ -173,7 +173,7 @@ export class AppComponent implements OnInit, OnDestroy {
this.variablesService.last_build_displaymode = data.last_build_displaymode;
this.variablesService.setHeightApp(data.height);
this.variablesService.setHeightMax(data.max_net_seen_height);
this.backend.getContactAlias();
this.ngZone.run(() => {
this.variablesService.daemon_state = data['daemon_network_state'];
if (data['daemon_network_state'] === 1) {

View file

@ -1,4 +1,4 @@
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, NgZone } from '@angular/core';
import { Location } from '@angular/common';
import { BackendService } from '../_helpers/services/backend.service';
import { VariablesService } from '../_helpers/services/variables.service';
@ -6,6 +6,7 @@ import { Contact } from '../_helpers/models/contact.model';
import { ModalService } from '../_helpers/services/modal.service';
import { Papa } from 'ngx-papaparse';
import { TranslateService } from '@ngx-translate/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-export-import',
@ -21,7 +22,9 @@ export class ExportImportComponent implements OnInit {
private backend: BackendService,
private modalService: ModalService,
private papa: Papa,
private translate: TranslateService
private translate: TranslateService,
private router: Router,
private ngZone: NgZone
) {}
ngOnInit() {}
@ -78,10 +81,9 @@ export class ExportImportComponent implements OnInit {
});
}
this.backend.getContactAlias();
this.modalService.prepareModal(
'success',
'CONTACTS.SUCCESS_IMPORT'
);
this.ngZone.run(() => {
this.router.navigate(['/contacts']);
});
}
if (elements.errors.length) {
this.modalService.prepareModal(
@ -106,7 +108,7 @@ export class ExportImportComponent implements OnInit {
delete contact.alias;
contacts.push(contact);
});
this.backend.saveFileDialog(
'',
'*',
@ -118,10 +120,6 @@ export class ExportImportComponent implements OnInit {
const path = this.isValid(file_data.path) ? file_data.path : `${file_data.path}.csv`;
if (file_status && this.isValid(path) && this.variablesService.contacts.length) {
this.backend.storeFile(path, this.papa.unparse(contacts));
this.modalService.prepareModal(
'success',
'CONTACTS.SUCCESS_EXPORT'
);
}
if (!(file_data.error_code === 'CANCELED') && !this.isValid(path)) {
this.modalService.prepareModal('error', 'CONTACTS.ERROR_EXPORT');

View file

@ -35,13 +35,13 @@
display: flex;
cursor: pointer;
font-size: 1.3rem;
line-height: 1.4rem;
line-height: 1.5rem;
.icon {
mask: url(../../assets/icons/howto.svg) no-repeat center;
margin-right: 0.8rem;
width: 1.4rem;
height: 1.4rem;
width: 1.5rem;
height: 1.5rem;
}
}
}

View file

@ -27,7 +27,7 @@
<div class="scale-selection">
<button type="button" class="button-block" [class.active]="item.id === variablesService.settings.scale" *ngFor="let item of appScaleOptions" (click)="setScale(item.id)">
<span class="label">{{item.name}}</span>
<span class="label">{{item.name | translate}}</span>
</button>
</div>

View file

@ -58,19 +58,19 @@ export class SettingsComponent implements OnInit {
appScaleOptions = [
{
id: 7.5,
name: '75% scale'
name: 'SETTINGS.SCALE.75'
},
{
id: 10,
name: '100% scale'
name: 'SETTINGS.SCALE.100'
},
{
id: 12.5,
name: '125% scale'
name: 'SETTINGS.SCALE.125'
},
{
id: 15,
name: '150% scale'
name: 'SETTINGS.SCALE.150'
}
];
appLogOptions = [

View file

@ -38,7 +38,7 @@
</div>
</div>
<div class="sidebar-settings">
<div class="wrap-button" routerLinkActive="active" *ngIf="variablesService.appPass === ''; else contactsShow" tooltip="{{ 'SIDEBAR.CONTACTS_TOOLTIP' | translate }}" placement="top" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500">
<div class="wrap-button" routerLinkActive="active" *ngIf="variablesService.appPass === ''; else contactsShow" tooltip="{{ 'SIDEBAR.CONTACTS_TOOLTIP' | translate }}" placement="top" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500">
<button (click)="contactsRoute()" [class.disabled]="variablesService.daemon_state !== 2 || variablesService.appPass === ''"
[disabled]="variablesService.daemon_state !== 2 || variablesService.appPass === ''">
<i class="icon contacts"></i>
@ -47,7 +47,7 @@
</div>
<ng-template #contactsShow>
<div class="wrap-button" routerLinkActive="active">
<button (click)="contactsRoute()"
<button (click)="contactsRoute()" [class.disabled]="variablesService.daemon_state !== 2" [disabled]="variablesService.daemon_state !== 2"
(mouseover)="menuItem = true"
(mouseleave)="menuItem = false"
>
@ -71,7 +71,7 @@
<span>{{ 'SIDEBAR.SETTINGS' | translate }}</span>
</button>
</div>
<div class="wrap-button" *ngIf="variablesService.appPass === ''; else masterPass" tooltip="{{ 'SIDEBAR.LOG_OUT_TOOLTIP' | translate }}" placement="bottom" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500">
<div class="wrap-button" *ngIf="variablesService.appPass === ''; else masterPass" tooltip="{{ 'SIDEBAR.LOG_OUT_TOOLTIP' | translate }}" placement="bottom" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500">
<button (click)="logOut()" [class.disabled]="variablesService.appPass === ''" [disabled]="variablesService.appPass === ''">
<i class="icon logout"></i>
<span>{{ 'SIDEBAR.LOG_OUT' | translate }}</span>

View file

@ -8,16 +8,16 @@
<div class="alias" *ngIf="variablesService.currentWallet.alias.hasOwnProperty('name') && variablesService.currentWallet.loaded && variablesService.daemon_state === 2">
<span>{{variablesService.currentWallet.alias['name']}}</span>
<ng-container *ngIf="variablesService.currentWallet.alias_available">
<i class="icon edit" [routerLink]="['/edit-alias']" tooltip="{{ 'WALLET.TOOLTIPS.EDIT_ALIAS' | translate }}" placement="bottom-right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500"></i>
<i class="icon transfer" [routerLink]="['/transfer-alias']" tooltip="{{ 'WALLET.TOOLTIPS.TRANSFER_ALIAS' | translate }}" placement="right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500"></i>
<i class="icon edit" [routerLink]="['/edit-alias']" tooltip="{{ 'WALLET.TOOLTIPS.EDIT_ALIAS' | translate }}" placement="bottom-right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500"></i>
<i class="icon transfer" [routerLink]="['/transfer-alias']" tooltip="{{ 'WALLET.TOOLTIPS.TRANSFER_ALIAS' | translate }}" placement="right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500"></i>
</ng-container>
</div>
</div>
<div>
<button [routerLink]="['/details']" routerLinkActive="active" tooltip="{{ 'WALLET.TOOLTIPS.SETTINGS' | translate }}" placement="left" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500">
<button [routerLink]="['/details']" routerLinkActive="active" tooltip="{{ 'WALLET.TOOLTIPS.SETTINGS' | translate }}" placement="left" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500">
<i class="icon details"></i>
</button>
<button type="button" (click)="showDialog()" tooltip="{{ 'WALLET.TOOLTIPS.CLOSE' | translate }}" placement="bottom-right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500">
<button type="button" (click)="showDialog()" tooltip="{{ 'WALLET.TOOLTIPS.CLOSE' | translate }}" placement="bottom-right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500">
<i class="icon close-wallet"></i>
</button>
</div>
@ -48,4 +48,4 @@
</div>
</div>
<app-confirm-modal *ngIf="isModalDialogVisible" [message]=" 'WALLET.CLOSE_MESSAGE' | translate " (confirmed)="confirmed($event)"></app-confirm-modal>
<app-confirm-modal *ngIf="isModalDialogVisible" [title]=" 'WALLET.CONFIRM.TITLE' | translate " [message]=" 'WALLET.CONFIRM.MESSAGE' | translate " (confirmed)="confirmed($event)"></app-confirm-modal>

View file

@ -50,6 +50,7 @@
height: 1.7rem;
&.account {
height: 1.6rem;
mask: url(../../assets/icons/account.svg) no-repeat center;
}
@ -60,6 +61,7 @@
&.details {
mask: url(../../assets/icons/details-settings.svg) no-repeat center;
margin-right: 0;
height: 1.8rem;
}
&.close-wallet {
@ -105,6 +107,7 @@
height: 1.7rem;
&.copy {
width: 1.8rem;
mask: url(../../assets/icons/copy.svg) no-repeat center;
&:hover {

View file

@ -46,7 +46,7 @@
"ONLINE": "Online",
"ERROR": "Systemfehler",
"COMPLETE": "Abschluss",
"SYNCING": "Synchronisiere Blockchain",
"SYNCING": "Syncing block",
"LOADING": "Lade Blockchain-Daten"
},
"UPDATE": {

View file

@ -150,8 +150,14 @@
"TIME3": "1 hour",
"TIME4": "Never"
},
"SCALE": {
"75": "75% scale",
"100": "100% scale",
"125": "125% scale",
"150": "150% scale"
},
"LANGUAGE": {
"TITLE": "Languages",
"TITLE": "Language",
"EN": "English",
"FR": "French",
"DE": "Deutsch",
@ -180,7 +186,10 @@
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
"LOCKED_BALANCE_LINK": "What does that mean?",
"CLOSE_MESSAGE": "<span class=\"message\">Remove wallet from the list</span> <br> <span>(To access it youll have to add it again)</span>",
"CONFIRM": {
"TITLE": "Remove wallet from the list?",
"MESSAGE": "To access it youll have to add it again"
},
"TABS": {
"SEND": "Send",
"RECEIVE": "Receive",

View file

@ -46,7 +46,7 @@
"ONLINE": "En ligne",
"ERROR": "Erreur de système",
"COMPLETE": "Fermeture",
"SYNCING": "Synchronisation de la blockchain",
"SYNCING": "Syncing block",
"LOADING": "Chargement des données de la blockchain"
},
"UPDATE": {

View file

@ -46,7 +46,7 @@
"ONLINE": "Online",
"ERROR": "Errore di sistema",
"COMPLETE": "Completata",
"SYNCING": "Sincronizzazione blockchain",
"SYNCING": "Syncing block",
"LOADING": "Caricamento dati blockchain"
},
"UPDATE": {

File diff suppressed because it is too large Load diff

View file

@ -789,6 +789,16 @@ input[type='checkbox'].style-checkbox {
&.custom-select {
width: 100%;
&.ng-select-single {
.ng-select-container {
.ng-value-container {
.ng-value {
line-height: 1.8rem;
}
}
}
}
.ng-select-container {
border: none;
border-radius: 0;

View file

@ -4,9 +4,9 @@
#define PROJECT_MAJOR_VERSION "1"
#define PROJECT_MINOR_VERSION "1"
#define PROJECT_REVISION "0"
#define PROJECT_REVISION "2"
#define PROJECT_VERSION PROJECT_MAJOR_VERSION "." PROJECT_MINOR_VERSION "." PROJECT_REVISION
#define PROJECT_VERSION_BUILD_NO 65
#define PROJECT_VERSION_BUILD_NO 66
#define PROJECT_VERSION_BUILD_NO_STR STRINGIFY_EXPAND(PROJECT_VERSION_BUILD_NO)
#define PROJECT_VERSION_LONG PROJECT_VERSION "." PROJECT_VERSION_BUILD_NO_STR "[" BUILD_COMMIT_ID "]"