Compare commits

...

11 Commits

Author SHA1 Message Date
cd5a9f3736 DragonX compatibility: crash fixes, reorg detection, server failover, sync perf
- Fix Rust FFI panics with catch_unwind wrappers and safe CString handling
- Handle poisoned mutex/RwLock from prior panics instead of crashing
- Add stuck sync detection (10s stall threshold) and chain reorg user prompt
- Add "Skip Verification" button to seed phrase wizard
- Update payment URIs from hush: to drgx:
- Update branding strings throughout UI
- Add all 6 lite servers (lite, lite1-5.dragonx.is) with random selection
- Add server connectivity probing to skip unreachable servers
- Reuse Tokio runtime across block fetch batches to reduce sync overhead
- Update Cargo.lock dependencies
2026-03-21 03:43:23 -05:00
fekt
b0d7319182 Merge pull request 'Merge dev into master' (#2) from dev into master
Reviewed-on: https://git.hush.is/dragonx/SilentDragonXLite/pulls/2
2024-11-18 04:23:38 +01:00
fekt
336d85e6c7 Update checkpoints 2024-11-17 22:09:45 -05:00
dan_s
54813c8827 updating checkpoints and build script 2024-11-05 16:40:05 -06:00
dan_s
0865358171 updated css for dragonx theme and added as option to settings menu 2024-05-08 23:21:51 -05:00
fekt
573fba9ba0 More translation replacements 2024-04-15 21:10:44 -04:00
fekt
054dcb451b Fix halving calculation 2024-04-15 15:01:39 +00:00
duke
9947c14411 DRGX has a blocktime of 36s 2024-04-15 13:49:54 +00:00
fekt
9f47d1e293 Update blocktime for DRGX
Difficulty, longestchain, and some other data does not render in UI and needs to be fixed. Halving calculations also need to be reviewed for accuracy for DRGX.
2024-04-15 01:41:53 -04:00
fekt
f620f6c519 Update 'README.md' 2024-04-15 05:39:43 +00:00
onryo
00fe0ea59d Merge pull request 'Merge dev into main' (#149) from dev into master
Reviewed-on: https://git.hush.is/hush/SilentDragonLite/pulls/149
2024-03-25 01:49:10 +00:00
284 changed files with 124360 additions and 123671 deletions

View File

@@ -1,6 +1,6 @@
# SilentDragonXLite
SilentDragonXLite is a lightwallet for DRAGONX ($DRAGONX) runs on Linux and Windows which does not require you to download the full blockchain. This is experimental software under active development!
SilentDragonXLite is a lightwallet for DRAGONX ($DRAGONX) runs on Linux, Windows, and Mac which does not require you to download the full blockchain. This is experimental software under active development!
## PRIVACY NOTICE

BIN
SilentDragonXLite Executable file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
#include <windows.h>
IDI_ICON1 ICON DISCARDABLE "/home/d/external/SilentDragonXLite/res/icon.ico"
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,0,0,0
PRODUCTVERSION 0,0,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "\0"
VALUE "FileDescription", "\0"
VALUE "FileVersion", "0.0.0.0\0"
VALUE "LegalCopyright", "\0"
VALUE "OriginalFilename", "SilentDragonXLite.exe\0"
VALUE "ProductName", "SilentDragonXLite\0"
VALUE "ProductVersion", "0.0.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0409, 1200
END
END
/* End of Version info */

View File

@@ -103,7 +103,7 @@
<file>res/css/Default.css</file>
<file>res/css/Light.css</file>
<file>res/css/Midnight.css</file>
<file>res/css/test.css</file>
<file>res/css/dragonx.css</file>
</qresource>
<qresource prefix="/images/blue">
<file>res/images/blue/unchecked.png</file>

2
lib/.cargo/config.toml Normal file
View File

@@ -0,0 +1,2 @@
[net]
git-fetch-with-cli = true

49
lib/Cargo.lock generated
View File

@@ -127,7 +127,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f80256bc78f67e7df7e36d77366f636ed976895d91fe2ab9efa3973e8fe8c4f"
dependencies = [
"backtrace-sys",
"cfg-if",
"cfg-if 0.1.10",
"libc",
"rustc-demangle",
]
@@ -230,7 +230,7 @@ dependencies = [
"arrayref",
"arrayvec",
"cc",
"cfg-if",
"cfg-if 0.1.10",
"constant_time_eq",
"crypto-mac",
"digest",
@@ -330,6 +330,12 @@ version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
version = "0.4.10"
@@ -378,7 +384,7 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
]
[[package]]
@@ -394,7 +400,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
dependencies = [
"autocfg 0.1.7",
"cfg-if",
"cfg-if 0.1.10",
"lazy_static",
]
@@ -438,7 +444,7 @@ version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"dirs-sys",
]
@@ -448,7 +454,7 @@ version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"libc",
"redox_users",
"winapi 0.3.8",
@@ -523,7 +529,7 @@ version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"libc",
"redox_syscall",
"winapi 0.3.8",
@@ -541,7 +547,7 @@ version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"crc32fast",
"libc",
"miniz_oxide",
@@ -657,7 +663,7 @@ version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"libc",
"wasi",
]
@@ -861,9 +867,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.66"
version = "0.2.161"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
[[package]]
name = "libflate"
@@ -912,7 +918,7 @@ version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"serde",
]
@@ -974,7 +980,7 @@ version = "0.6.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"fuchsia-zircon",
"fuchsia-zircon-sys",
"iovec",
@@ -1044,7 +1050,7 @@ version = "0.2.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"libc",
"winapi 0.3.8",
]
@@ -1335,6 +1341,7 @@ dependencies = [
"lazy_static",
"libc",
"silentdragonxlitelib",
"socket2",
]
[[package]]
@@ -1849,7 +1856,6 @@ dependencies = [
[[package]]
name = "silentdragonxlitelib"
version = "0.1.0"
source = "git+https://git.hush.is/dragonx/silentdragonxlite-cli?rev=39ec5f36662ba7370dffa6c8346f93633dfa29ce#39ec5f36662ba7370dffa6c8346f93633dfa29ce"
dependencies = [
"base58",
"bellman",
@@ -1908,13 +1914,12 @@ dependencies = [
[[package]]
name = "socket2"
version = "0.3.11"
version = "0.3.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
dependencies = [
"cfg-if",
"cfg-if 1.0.0",
"libc",
"redox_syscall",
"winapi 0.3.8",
]
@@ -2011,7 +2016,7 @@ version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"libc",
"rand 0.7.3",
"redox_syscall",
@@ -2367,7 +2372,7 @@ version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e213bd24252abeb86a0b7060e02df677d367ce6cb772cef17e9214b8390a8d3"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"log",
"tracing-attributes",
"tracing-core",
@@ -2507,7 +2512,7 @@ version = "0.2.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5205e9afdf42282b192e2310a5b463a6d1c1d774e30dc3c791ac37ab42d2616c"
dependencies = [
"cfg-if",
"cfg-if 0.1.10",
"wasm-bindgen-macro",
]

View File

@@ -12,4 +12,5 @@ crate-type = ["staticlib"]
libc = "0.2.58"
lazy_static = "1.4.0"
blake3 = "0.3.4"
silentdragonxlitelib = { git = "https://git.hush.is/dragonx/silentdragonxlite-cli", rev = "39ec5f36662ba7370dffa6c8346f93633dfa29ce" }
silentdragonxlitelib = { path = "/home/d/external/silentdragonxlite-cli/lib" }
socket2 = "0.3.11"

View File

@@ -7,9 +7,21 @@ use std::ffi::{CStr, CString};
use std::sync::{Mutex, Arc};
use std::cell::RefCell;
use std::ptr;
use std::panic;
use silentdragonxlitelib::{commands, lightclient::{LightClient, LightClientConfig}};
/// Helper to create a CString, replacing null bytes to avoid panics
fn safe_cstring(s: &str) -> CString {
let cleaned: String = s.replace('\0', "");
CString::new(cleaned).unwrap_or_else(|_| CString::new("Error: failed to create CString").unwrap())
}
/// Helper to create an error CString
fn error_cstring(msg: &str) -> *mut c_char {
safe_cstring(&format!("Error: {}", msg)).into_raw()
}
// We'll use a MUTEX to store a global lightclient instance,
// so we don't have to keep creating it. We need to store it here, in rust
// because we can't return such a complex structure back to C++
@@ -100,10 +112,13 @@ pub extern fn litelib_initialize_new(dangerous: bool,server: *const c_char) -> *
}
}
LIGHTCLIENT.lock().unwrap().replace(Some(lc));
match LIGHTCLIENT.lock() {
Ok(l) => { l.replace(Some(lc)); },
Err(poisoned) => { poisoned.into_inner().replace(Some(lc)); },
};
// Return the wallet's seed
let s_str = CString::new(seed).unwrap();
let s_str = safe_cstring(&seed);
return s_str.into_raw();
}
@@ -159,9 +174,12 @@ pub extern "C" fn litelib_initialize_new_from_phrase(dangerous: bool, server: *c
Err(e) => println!("Could not start mempool: {}", e)
}
LIGHTCLIENT.lock().unwrap().replace(Some(lc));
match LIGHTCLIENT.lock() {
Ok(l) => { l.replace(Some(lc)); },
Err(poisoned) => { poisoned.into_inner().replace(Some(lc)); },
};
let c_str = CString::new("OK").unwrap_or_else(|_| CString::new("CString creation failed").unwrap());
let c_str = safe_cstring("OK");
return c_str.into_raw();
}
@@ -202,23 +220,25 @@ pub extern fn litelib_initialize_existing(dangerous: bool, server: *const c_char
}
}
LIGHTCLIENT.lock().unwrap().replace(Some(lc));
match LIGHTCLIENT.lock() {
Ok(l) => { l.replace(Some(lc)); },
Err(poisoned) => { poisoned.into_inner().replace(Some(lc)); },
};
let c_str = CString::new("OK").unwrap();
let c_str = safe_cstring("OK");
return c_str.into_raw();
}
#[no_mangle]
pub extern fn litelib_execute(cmd: *const c_char, args: *const c_char) -> *mut c_char {
let result = panic::catch_unwind(|| {
let cmd_str = unsafe {
assert!(!cmd.is_null());
CStr::from_ptr(cmd).to_string_lossy().into_owned()
};
let arg_str = unsafe {
assert!(!args.is_null());
CStr::from_ptr(args).to_string_lossy().into_owned()
};
@@ -226,11 +246,13 @@ pub extern fn litelib_execute(cmd: *const c_char, args: *const c_char) -> *mut c
{
let lightclient: Arc<LightClient>;
{
let lc = LIGHTCLIENT.lock().unwrap();
let lc = match LIGHTCLIENT.lock() {
Ok(l) => l,
Err(poisoned) => poisoned.into_inner(),
};
if lc.borrow().is_none() {
let e_str = CString::new("Error: Light Client is not initialized").unwrap();
return e_str.into_raw();
return error_cstring("Light Client is not initialized");
}
lightclient = lc.borrow().as_ref().unwrap().clone();
@@ -241,8 +263,13 @@ pub extern fn litelib_execute(cmd: *const c_char, args: *const c_char) -> *mut c
resp = commands::do_user_command(&cmd_str, &args, lightclient.as_ref()).clone();
};
let c_str = CString::new(resp.as_bytes()).unwrap();
return c_str.into_raw();
safe_cstring(&resp).into_raw()
});
match result {
Ok(ptr) => ptr,
Err(_) => error_cstring("Rust panic in litelib_execute"),
}
}
// Check is Server Connection is fine

View File

@@ -1,114 +1,535 @@
/*
colors
background: rgb(24, 12, 12)
object-background: #45505e
object-background-hover: #1f242b
object-background-press: #0c0e11
text-main: white
text-secondary: rgba(255, 255, 255, 0.75)
text-dark: rgb(24, 12, 12)
border: rgb(216, 38, 82)
*/
QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow {
background-color: #232834;
color: #91a4b8;
color: white;
border: 0px solid rgba(0, 0, 0, 0);
background-color: rgb(24, 21, 21);
}
/* window menu options */
QMenu {
color: white;
border: 1px solid rgba(216, 38, 82, .5);
border-radius: 8px;
background-color: rgba(24, 21, 21, 1);
}
QMenuBar {
color: rgb(216, 38, 82);
color: white;
}
QMenuBar::item {
color: rgb(216, 38, 82);
color: white;
}
#title {
margin-bottom: 8px;
}
QTabWidget QTabBar {
background-color: rgba(41, 21, 21, .25);
width: 600px;
}
QTabWidget QTabBar::tab {
padding-left:20px;
padding-right:20px;
padding-top:5px;
padding-bottom:5px;
border: 1px solid #343F4B;
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #343F4B, stop: 1 #232834);
margin: 12px 4px;
padding: 6px 4px;
font-size: 20px;
border: 0px solid white;
border-radius: 9px;
background-color: rgba(41, 21, 21, 1);
min-width: 130px;
}
QTabWidget QTabBar::tab::last {
min-width: 280px;
}
QTabWidget QTabBar::tab:selected {
min-height: 10px;
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #343F4B, stop: 1 #232834);
color:#91a4b8;
border: 1px ridge #91a4b8;
color: rgba(255, 255, 255, 0.85);
border: 1px solid rgba(216, 38, 82, 0.85);
background-color: rgba(216, 38, 82, 0.25);
}
QTabWidget QTabBar::tab:hover {
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #343F4B, stop: 1 #232834);
color:#91a4b8;
border: 1px ridge #91a4b8;
min-height: 20px
color: white;
border: 1px solid rgba(216, 38, 82, 1);
background-color: rgba(216, 38, 82, 0.4);
}
QHeaderView {
/* Table Header */
background-color:#232834;
background-color: rgba(0, 0, 0, 0);
}
QHeaderView::section {
/* Table Header Sections */
qproperty-alignment:center;
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #343F4B, stop: 1 #232834);
color:#91a4b8;
/* qproperty-alignment:center; */
min-height:25px;
font-weight:bold;
font-size:11px;
outline:0;
border:1px solid #343F4B;
border-right:1px solid #91a4b8;
border-left:1px solid #91a4b8;
padding-left:5px;
padding-right:5px;
padding-top:2px;
padding-bottom:2px;
color:#91a4b8;
font-weight:bold;
font-size:11px;
border:1px solid rgb(41, 21, 21);
border-right:1px solid #91a4b8;
border-left:1px solid #91a4b8;
}
QHeaderView::section:last {
border-right: 0px solid #d7d7d7;
QTabBar {
margin-bottom: 16px;
}
QScrollArea {
background:transparent;
border:0px;
QLabel {
color: rgba(255, 255, 255, 0.75);
border: 0px solid rgba(255, 255, 255, 0);
background-color: rgba(255, 255, 255, 0);
}
QLineEdit {
padding: 2px 4px;
color: white;
border: 1px solid rgb(216, 38, 82);
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background-color: rgba(41, 21, 21, 0.75);
}
QGroupBox{
padding: 12px;
padding-top: 32px;
background-color: rgba(24, 12, 12, 0.45);
border: 1px solid rgba(216, 38, 82, 0.6);
border-radius: 8px;
font-size: 18px;
}
QGroupBox::title {
padding: 4px 12px;
color: rgba(255, 255, 255, 0.85);
border: 1px solid rgba(216, 38, 82, 0.25);
border-top-left-radius: 8px;
border-bottom-right-radius: 8px;
background-color: rgba(216, 38, 82, 0.05);
}
QGroupBox#groupBox QLabel {
font-size: 16px;
}
QPushButton {
padding: 6px 10px;
color: rgba(255, 255, 255, 0.5);
border: 1px solid rgba(216, 38, 82, 0.5);
border-radius: 4px;
background-color: rgba(216, 38, 82, 0.15);
font-size: 16px;
}
QPushButton:hover {
color: rgba(255, 255, 255, 0.75);
border: 1px solid rgba(216, 38, 82, 0.55);
background-color: rgba(216, 38, 82, 0.45);
}
QPushButton:selected {
color: rgba(255, 255, 255, 0.75);
border: 1px solid rgba(216, 38, 82, 0.75);
background-color: rgba(216, 38, 82, 0.75);
}
QPushButton:disabled {
color: rgba(255, 255, 255, 0.15);
border: 1px solid rgba(216, 38, 82, 0.15);
background-color: rgba(255, 255, 255, 0.796);
opacity: 25%;
}
QComboBox{
margin: 0;
padding: 2px 4px;
border: 1px solid rgba(216, 38, 82, 0.75);
border-radius: 2px;
background-color: rgba(24, 12, 12, 0.5);
}
QScrollArea#sendToScrollArea QWidget {
border: 0px solid rgb(216, 38, 82, 0);
background-color: rgba(24, 12, 12, 0.45);
}
QScrollBar {
border: 0px solid rgba(216, 38, 82, 0);
background-color: rgba(24, 12, 12, 0);
}
QScrollBar:vertical {
width: 22px;
margin: 0 2px;
border: 2px solid rgba(216, 38, 82, 0);
background-color: rgba(0, 0, 0 , 0);
}
QScrollBar::handle:vertical,
QScrollBar::handle:horizontal {
border: 1px solid rgba(216, 38, 82, 1);
border-radius: 6px;
background-color: rgba(216, 38, 82, 0.25);
}
QScrollBar::handle:vertical {
border-radius: 6px;
}
QScrollBar::add-line {
height: 0px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line {
height: 0px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::add-page, QScrollBar::sub-page {
background: none;
}
QComboBox QAbstractItemView {
margin: 0;
padding: 2px 4px;
border: 1px solid rgba(216, 38, 82, 0.75);
border-radius: 2px;
background-color: rgba(24, 12, 12, 0.5);
selection-background-color: rgb(118, 132, 153);
}
QComboBox QAbstractItemView::item{
margin: 0;
padding: 2px 4px;
border: 1px solid rgba(216, 38, 82, 0.25);
border-radius: 2px;
background-color: rgba(24, 12, 12, 0.5);
outline: none;
}
QComboBox QAbstractItemView::item:selected{
margin: 0;
padding: 2px 4px;
border: 1px solid rgba(216, 38, 82, 0.75);
border-radius: 2px;
background-color: rgba(24, 12, 12, 0.5);
outline:none;
}
QComboBox QAbstractItemView::item:hover {
margin: 0;
padding: 2px 4px;
border: 1px solid rgba(216, 38, 82, 0.75);
border-radius: 2px;
background-color: rgba(24, 12, 12, 0.75);
outline:none;
}
QListView{
margin: 0;
padding: 2px 4px;
border: 1px solid rgba(216, 38, 82, 0.75);
border-radius: 2px;
background-color: rgba(24, 12, 12, 0.5);
}
/* TAB 1 - HUSHCHAT */
/* chat window */
QListView#listChat,
QListView#listContactWidget {
border-radius: 8px;
border: 1px solid rgba(216, 38, 82, 0.5);
background-color: rgba(216, 38, 82, 0.05);
}
QPushButton#emojiButton,
QPushButton#pushContact,
QPushButton#safeContactRequest,
QPushButton#givemeZaddr,
QPushButton#sendChatButton {
border-radius: 4px;
}
QLabel#lblMessage {
color: white;
border: 1px solid rgba(216, 38, 82, 0.5);
background-color: rgba(216, 38, 82, 0.05);
}
QLabel#lblMessage{
color: rgb(24, 21, 21);
border: 1px solid rgba(255, 255, 255, 0.5);
background-color: rgba(216, 38, 82, 0.05);
}
/* SEND TAB */
QWidget#tab_2 QLabel{
border: 0px solid white;
background-color: rgba(255, 255, 255, 0);
}
/* MEMO */
QWidget#tab_2 QLabel#MemoTxt1,
QWidget#tab_2 QLabel#MemoTxt2,
QWidget#tab_2 QLabel#MemoTxt3,
QWidget#tab_2 QLabel#MemoTxt4,
QWidget#tab_2 QLabel#MemoTxt5,
QWidget#tab_2 QLabel#MemoTxt6 {
border: 1px solid rgba(216, 38, 82, 0.25);
background-color: rgba(24, 12, 12, 0.25);
border-radius: 4px;
padding: 4px 2px;
}
QWidget#tab_2 QLineEdit {
border: 1px solid rgb(216, 38, 82);
padding: 2px 4px;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background-color: rgba(24, 12, 12, 0.75);
}
/* From Section */
/* drop down address menu */
AddressCombo {
margin: 0;
padding: 2px 4px;
border: 1px solid rgba(216, 38, 82, 0.75);
border-radius: 2px;
background-color: rgba(24, 12, 12, 0.5);
}
/* Send To Section */
/* Recipient sub-section */
QWidget#tab_2 QGroupBox{
border: 1px solid rgba(216, 38, 82, 0.5);
border-radius: 4px;
background-color: rgba(216, 38, 82, 0.1);
}
QWidget#tab_2 QGroupBox::title {
margin-left: 24px;
font-size: 6px;
border-radius: 0;
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
}
/* To Section */
QWidget#tab_2 QGroupBox#groupBox_3,
QWidget#tab_2 QGroupBox#groupBox_4 {
border: 1px solid rgba(216, 38, 82, 0.6);
border-radius: 8px;
background-color: rgba(24, 12, 12, 0.45);
}
QWidget#tab_2 QGroupBox#groupBox_3::title,
QWidget#tab_2 QGroupBox#groupBox_4::title {
border-radius: 0;
border-top-left-radius: 8px;
border-bottom-right-radius: 8px;
margin: 0;
}
/* Max Available */
QCheckBox#Max1 {
padding: 4px;
border-radius: 4px;
background-color: rgba(24, 12, 12, 0.25);
}
QCheckBox#Max1:hover {
border: 1px solid rgba(216, 38, 82, 0.25);
background-color: rgba(216, 38, 82, 0.25);
}
QCheckBox#Max1:pressed,
QCheckBox#Max1:checked {
border: 1px solid rgba(216, 38, 82, 0.75);
background-color: rgba(216, 38, 82, 0.5);
color: white;
}
QLabel#AmtUSD1,
QLabel#txtAvailableUSD {
border: 0px solid rgba(216, 38, 82, 0.25);
background-color: rgba(255, 255, 255, 0.15);
border-radius: 2px;
}
QWidget#tab_2 QGroupBox#groupBox_4 {
height: 12px;
padding: 0;
margin: 0;
border: 1px solid rgba(216, 38, 82, 0.25);
color: white;
}
QWidget#tab_2 QPushButton {
color: rgba(255, 255, 255, 0.75);
border: 1px solid rgba(216, 38, 82, 0.25);
background-color: rgba(216, 38, 82, 0.25);
}
QWidget#tab_2 QPushButton:hover {
color: rgba(255, 255, 255, 0.75);
border: 1px solid rgba(216, 38, 82, 0.55);
background-color: rgba(216, 38, 82, 0.45);
}
QWidget#tab_2 QPushButton:selected {
color: rgba(255, 255, 255, 1);
border: 1px solid rgba(216, 38, 82, 0.75);
background-color: rgba(216, 38, 82, 0.5);
}
QWidget#tab_2 QPushButton:disabled {
color: rgba(24, 12, 12, 0.75);
border: 1px solid rgba(216, 38, 82, 0.05);
background-color: rgba(255, 255, 255, 0.15);
}
QTableView {
/* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
background:#232834;
qproperty-showGrid: "false";
padding-right: 8px;
color: rgba(0, 0, 0, 0);
background-color: rgba(0, 0, 0, 0);
}
QTableView QTableCornerButton::section {
border: 0px solid rgba(0, 0, 0, 0);
background-color:rgba(0, 0, 0, 0);
}
QTableView::item {
/* Table Item */
background-color:#232834;
border:1px solid #91a4b8;
padding: 2px;
color: white;
font-size:12px;
border: 1px solid rgba(216, 38, 82, .5);
background-color:rgba(216, 38, 82, 0.25);
}
QTableView::item:selected {
/* Table Item Selected */
background-color:#91a4b8;
color:#232834;
margin: 4px 0;
color:rgb(41, 21, 21);
border: 1px solid rgba(216, 38, 82, .75);
background-color:rgba(216, 38, 82, 0.5);
}
QMenuBar {
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #343F4B, stop: 1 #232834);
color: #91a4b8;
QTableView { outline:none; }
QTableView#balancesTable {
/* background-color: rgba(255, 255, 255, 0); */
}
QMenuBar::item {
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #343F4B, stop: 1 #232834);
color: #91a4b8;
QTableView#balancesTable::item {
/* background-color: rgba(255, 255, 255, 0); */
border: 1px solid rgba(216, 38, 82, 0.25);
}
QMenuBar::item:selected {
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #343F4B, stop: 1 #232834);
QHeaderView::section {
border: 1px solid rgba(216, 38, 82, 0.5);
background-color: rgba(0, 0, 0, 0);
}
QPushButton#startmining {
background-color: #343F4B;
border-color: #91A4B8;
padding: 10px;
QHeaderView::section::first {
border-top-left-radius: 10px;
background-color: rgb(41, 21, 21);
}
QPushButton#startmining:hover {
background-color: #232834;
QHeaderView::section::middle {
background-color: rgb(41, 21, 21);
}
QPushButton#startmining:pressed {
background-color: #232834;
QHeaderView::section::last {
border: 1px solid rgba(216, 38, 82, 0.5);
border-top-right-radius: 10px;
background-color: rgb(41, 21, 21);
}
QPushButton#startmining:disabled {
background-color: #232834;
QHeaderView::section::vertical {
border: 0px solid rgba(0, 0, 0, 0);
background-color: rgba(0, 0, 0, 0);
}
QPushButton#stopmining {
background-color: #343F4B;
border-color: #91A4B8;
padding: 10px;
margin-top: 7px;
QDialog#requestDialog {
min-width: 820;
min-height: 520;
}
QPushButton#stopmining:hover {
background-color: #232834;
QDialog#requestDialog QLabel#label_8
{
min-height: 25;
padding-top: 7px;
}
QPushButton#stopmining:pressed {
background-color: #232834;
QDialog#requestDialog QLabel#label_7{
padding-left: 2px;
min-height: 25;
}
QPushButton#stopmining:disabled {
background-color: #232834;
QDialog#requestDialog QLabel#label_5,
QDialog#requestDialog QLabel#label_6 {
min-height: 25;
padding-top: 2px;
}
QComboBox#genproclimit{
font-size: 24px;
height: 40px;
QDialog#requestDialog QPushButton {
min-height: 32;
}
QMenu::item:selected{
background-color: #343F4B
QDialog#requestDialog QPushButton#addContact {
min-width: 150px;
}

View File

@@ -82,7 +82,7 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation></translation>
</message>
<message>
@@ -279,7 +279,7 @@ p, li { white-space: pre-wrap; }
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation></translation>
</message>
<message>
@@ -819,7 +819,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1579,7 +1579,7 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<source>Please wait for SilentDragonXLite to exit</source>
<translation></translation>
</message>
<message>
@@ -2037,7 +2037,7 @@ Would you like to visit the releases page?</source>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation></translation>
</message>
<message>

View File

@@ -82,8 +82,8 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -509,8 +509,8 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="1592"/>
@@ -918,8 +918,8 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite патрабуе 24 словы для аднаўлення кашалька</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite патрабуе 24 словы для аднаўлення кашалька</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="198"/>
@@ -1614,8 +1614,8 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<translation>Пачакайце, калі ласка SilentDragonLite выходзіць</translation>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Пачакайце, калі ласка SilentDragonXLite выходзіць</translation>
</message>
<message>
<location filename="../src/controller.cpp" line="2018"/>
@@ -2072,8 +2072,8 @@ Would you like to visit the releases page?</source>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite патрабуе 24 словы для аднаўлення кашалька</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite патрабуе 24 словы для аднаўлення кашалька</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="678"/>
@@ -2265,7 +2265,7 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/about.ui" line="14"/>
<source>About</source>
<translation>Аб SilentDragonLite</translation>
<translation>Аб SilentDragonXLite</translation>
</message>
</context>
<context>
@@ -2454,7 +2454,7 @@ p, li { white-space: pre-wrap; }
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Ubuntu&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;Ubuntu&apos;; font-size:16pt;&quot;&gt;Калі ласка, выкарыстоўвайце наступны hush-адрас для пераводу сродкаў на SilentDragonLite. Вы можаце скапіяваць адрас альбо скарыстаць QR-код. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;Ubuntu&apos;; font-size:16pt;&quot;&gt;Калі ласка, выкарыстоўвайце наступны hush-адрас для пераводу сродкаў на SilentDragonXLite. Вы можаце скапіяваць адрас альбо скарыстаць QR-код. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/deposithush.ui" line="134"/>

View File

@@ -82,12 +82,12 @@
<name>ConnectionDialog</name>
<message>
<source>silentdragon</source>
<translation type="vanished">SilentDragonLite</translation>
<translation type="vanished">SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -303,7 +303,7 @@ p, li { white-space: pre-wrap; }
<name>MainWindow</name>
<message>
<source>silentdragon</source>
<translation type="vanished">SilentDragonLite</translation>
<translation type="vanished">SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="566"/>
@@ -556,8 +556,8 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="1592"/>
@@ -877,23 +877,23 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Please restart Silentdragonlite to have the theme apply</source>
<translation type="vanished">Bitte starten sie SilentDragonLite neu</translation>
<translation type="vanished">Bitte starten sie SilentDragonXLite neu</translation>
</message>
<message>
<source>You&apos;re using an external hushd. Please restart hushd with -rescan</source>
<translation type="vanished">Starte SilentDragonLite neu</translation>
<translation type="vanished">Starte SilentDragonXLite neu</translation>
</message>
<message>
<source>Some feedback about SilentDragonlite or Hush...</source>
<translation type="vanished">Etwas Feedback über SilentDragonLite...</translation>
<translation type="vanished">Etwas Feedback über SilentDragonXLite...</translation>
</message>
<message>
<source>Send Duke some private and shielded feedback about</source>
<translation type="vanished">Sende DenioD anonym Feedback über</translation>
</message>
<message>
<source> or SilentDragonLite</source>
<translation type="vanished"> oder SilentDragonLite</translation>
<source> or SilentDragonXLite</source>
<translation type="vanished"> oder SilentDragonXLite</translation>
</message>
<message>
<source>Send DenioD some private and shielded feedback about</source>
@@ -952,12 +952,12 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Wallet is already encrypted</source>
<translation type="vanished">SilentDragonLite ist bereits verschlüsselt</translation>
<translation type="vanished">SilentDragonXLite ist bereits verschlüsselt</translation>
</message>
<message>
<source>Your wallet is already encrypted with a password.
Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet encryption.</source>
<translation type="vanished">SilentDragonLite ist bereits mit einem Passwort verschlüsselt. Bitte benutzen Sie die Funktion &apos;Verschlüsselung entfernen&apos;.</translation>
<translation type="vanished">SilentDragonXLite ist bereits mit einem Passwort verschlüsselt. Bitte benutzen Sie die Funktion &apos;Verschlüsselung entfernen&apos;.</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="555"/>
@@ -972,11 +972,11 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
</message>
<message>
<source>Wallet Encrypted</source>
<translation type="vanished">SilentDragonLite verschlüsselt</translation>
<translation type="vanished">SilentDragonXLite verschlüsselt</translation>
</message>
<message>
<source>Your wallet was successfully encrypted! The password will be needed to send funds or export private keys.</source>
<translation type="vanished">SilentDragonLite wurde erfolgreich verschlüsselt. Sie benötigen Ihr Passwort um Zahlungen zu senden oder Ihre private Keys zu exportieren.</translation>
<translation type="vanished">SilentDragonXLite wurde erfolgreich verschlüsselt. Sie benötigen Ihr Passwort um Zahlungen zu senden oder Ihre private Keys zu exportieren.</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="616"/>
@@ -987,15 +987,15 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
<message>
<location filename="../src/mainwindow.cpp" line="537"/>
<source>Wallet is not encrypted</source>
<translation>SilentDragonLite ist nicht verschlüsselt</translation>
<translation>SilentDragonXLite ist nicht verschlüsselt</translation>
</message>
<message>
<source>Your wallet is not encrypted with a password.</source>
<translation type="vanished">SilentDragonLite ist nicht mit einem Passwort verschlüsselt.</translation>
<translation type="vanished">SilentDragonXLite ist nicht mit einem Passwort verschlüsselt.</translation>
</message>
<message>
<source>Wallet Password</source>
<translation type="vanished">SilentDragonLite Passwort</translation>
<translation type="vanished">SilentDragonXLite Passwort</translation>
</message>
<message>
<source>Please enter your wallet password</source>
@@ -1003,11 +1003,11 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
</message>
<message>
<source>Wallet Decryption Failed</source>
<translation type="vanished">SilentDragonLite konnte nicht entschlüsselt werden</translation>
<translation type="vanished">SilentDragonXLite konnte nicht entschlüsselt werden</translation>
</message>
<message>
<source>Please enter a password to decrypt your wallet!</source>
<translation type="vanished">Bitte geben Sie das Passwort ein, um SilentDragonLite zu entschlüsseln!</translation>
<translation type="vanished">Bitte geben Sie das Passwort ein, um SilentDragonXLite zu entschlüsseln!</translation>
</message>
<message>
<source>Wallet Encryption Removed</source>
@@ -1015,7 +1015,7 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
</message>
<message>
<source>Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys.</source>
<translation type="vanished">SilentDragonLite wurde erfolgreich entschlüsselt. Sie benötigen Ihr Passwort nicht mehr.</translation>
<translation type="vanished">SilentDragonXLite wurde erfolgreich entschlüsselt. Sie benötigen Ihr Passwort nicht mehr.</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="771"/>
@@ -1034,13 +1034,13 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
<translation>Die übernahme der Änderung kann ein paar sekunden dauern.</translation>
</message>
<message>
<source>Please restart SilentDragonLite to have new currencies apply</source>
<translation type="vanished">Bitte starten sie SilentDragonLite neu</translation>
<source>Please restart SilentDragonXLite to have new currencies apply</source>
<translation type="vanished">Bitte starten sie SilentDragonXLite neu</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1177"/>
<source>This is your wallet seed. Please back it up carefully and safely.</source>
<translation>Dies ist Ihr SilentDragonLite Seed. Bitte sichern Sie ihn sorgfältig.</translation>
<translation>Dies ist Ihr SilentDragonXLite Seed. Bitte sichern Sie ihn sorgfältig.</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1185"/>
@@ -1070,7 +1070,7 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished">Der Seed benötigt 24 Wörter um das Wallet mit dem Seed wiederherzustellen</translation>
</message>
<message>
@@ -1548,7 +1548,7 @@ Anmerkung: Sie bnötigen 2 Bestätigungen {1
</message>
<message>
<source>This is your new wallet&apos;s seed phrase. PLEASE BACK IT UP SECURELY.</source>
<translation type="vanished">Dies ist Ihr SilentDragonLite Seed. Bitte sichern Sie ihn sorgfältig.</translation>
<translation type="vanished">Dies ist Ihr SilentDragonXLite Seed. Bitte sichern Sie ihn sorgfältig.</translation>
</message>
<message>
<location filename="../src/newseed.ui" line="20"/>
@@ -1836,8 +1836,8 @@ Möchten Sie die Release Seite besuchen?</translation>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<translation>Bitte warten Sie bis SilentDragonLite beendet ist</translation>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Bitte warten Sie bis SilentDragonXLite beendet ist</translation>
</message>
<message>
<location filename="../src/controller.cpp" line="2018"/>
@@ -1924,7 +1924,7 @@ Möchten Sie die Release Seite besuchen?</translation>
<location filename="../src/websockets.cpp" line="695"/>
<location filename="../src/websockets.cpp" line="783"/>
<source>Node is still syncing.</source>
<translation>SilentDragonLite synchronisiert noch.</translation>
<translation>SilentDragonXLite synchronisiert noch.</translation>
</message>
<message>
<location filename="../src/websockets.cpp" line="716"/>
@@ -2078,7 +2078,7 @@ Möchten Sie die Release Seite besuchen?</translation>
<message>
<location filename="../src/recurringmultiple.ui" line="44"/>
<source>How should silentdragon proceed?</source>
<translation>Wie soll SilentDragonLite die Zahlung verarbeiten?</translation>
<translation>Wie soll SilentDragonXLite die Zahlung verarbeiten?</translation>
</message>
<message>
<location filename="../src/recurringmultiple.ui" line="51"/>
@@ -2318,7 +2318,7 @@ Möchten Sie die Release Seite besuchen?</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>Der Seed benötigt 24 Wörter um das Wallet mit dem Seed wiederherzustellen</translation>
</message>
<message>
@@ -2671,7 +2671,7 @@ Möchten Sie die Release Seite besuchen?</translation>
<message>
<location filename="../src/confirm.ui" line="164"/>
<source>You are sending a transaction while your node is still syncing. This may not work.</source>
<translation>SilentDragonLite sollte erst vollständig synchronisiert sein, bevor Sie eine Zahlung tätigen.</translation>
<translation>SilentDragonXLite sollte erst vollständig synchronisiert sein, bevor Sie eine Zahlung tätigen.</translation>
</message>
</context>
<context>
@@ -2792,7 +2792,7 @@ li.checked::marker { content: &quot;\2612&quot;; }
<message>
<location filename="../src/encryption.ui" line="32"/>
<source>Encrypt Your Wallet</source>
<translation>SilentDragonLite verschlüsseln</translation>
<translation>SilentDragonXLite verschlüsseln</translation>
</message>
<message>
<location filename="../src/encryption.ui" line="38"/>

View File

@@ -86,7 +86,7 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation>DragónSilenciosoLigero</translation>
</message>
<message>
@@ -364,7 +364,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation>DragónSilenciosoLigero</translation>
</message>
<message>
@@ -854,7 +854,7 @@ p, li { white-space: pre-wrap; }
<translation type="vanished">Algunos comentarios sobre Dragón silencioso ligero o Hush ...</translation>
</message>
<message>
<source> or SilentDragonLite</source>
<source> or SilentDragonXLite</source>
<translation type="vanished">o Dragón silencioso ligero</translation>
</message>
<message>
@@ -1059,7 +1059,7 @@ Por favor use &apos;Eliminar la encriptacion de la billetera &apos;si desea elim
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished">Dragón silencioso ligero necesita 24 palabras para restaurar la billetera</translation>
</message>
<message>
@@ -1785,7 +1785,7 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Espere a que DragónSilenciosoLigero salga</translation>
</message>
<message>
@@ -2271,7 +2271,7 @@ Would you like to visit the releases page?</source>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>Dragón silencioso ligero necesita 24 palabras para restaurar la billetera</translation>
</message>
<message>

View File

@@ -86,7 +86,7 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation>سایلنت دراگون سبک</translation>
</message>
<message>
@@ -303,7 +303,7 @@ p, li { white-space: pre-wrap; }
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation>سایلنت دراگون سبک</translation>
</message>
<message>
@@ -943,7 +943,7 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
<translation>تغییر واحد پول</translation>
</message>
<message>
<source>Please restart SilentDragonLite to have new currencies apply</source>
<source>Please restart SilentDragonXLite to have new currencies apply</source>
<translation type="vanished">لطفا برای اعمال واحد پول جدید، سایلنت دراگون سبک خود را مجدداً اجرا کنید</translation>
</message>
<message>
@@ -960,7 +960,7 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
<translation></translation>
</message>
<message>
<source> or SilentDragonLite</source>
<source> or SilentDragonXLite</source>
<translation type="vanished">یا سایلنت دراگون سبک</translation>
</message>
<message>
@@ -1051,7 +1051,7 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished">سایلنت دراگون سبک برای بازیابی کیف پول، به 24 کلمه نیاز دارد</translation>
</message>
<message>
@@ -1807,7 +1807,7 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>لطفا تا خروج سایلنت دراگون سبک، منتظر بمانید</translation>
</message>
<message>
@@ -2293,7 +2293,7 @@ Would you like to visit the releases page?</source>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>سایلنت دراگون سبک برای بازیابی کیف پول، به 24 کلمه نیاز دارد</translation>
</message>
<message>

View File

@@ -90,8 +90,8 @@
</message>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -520,8 +520,8 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="678"/>
@@ -1174,8 +1174,8 @@ Veuillez utiliser &quot;Supprimer le chiffrement du wallet&quot; si vous souhait
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonLite a besoin de 24 mots pour restaurer son wallet</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonXLite a besoin de 24 mots pour restaurer son wallet</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="198"/>
@@ -1289,7 +1289,7 @@ Veuillez utiliser &quot;Supprimer le chiffrement du wallet&quot; si vous souhait
</message>
<message>
<source>Please restart Silentdragonlite to have the theme apply</source>
<translation type="vanished">Veuillez redémarrer SilentDragonLite pour aplliqué le thème.</translation>
<translation type="vanished">Veuillez redémarrer SilentDragonXLite pour aplliqué le thème.</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="835"/>
@@ -1301,8 +1301,8 @@ Veuillez utiliser &quot;Supprimer le chiffrement du wallet&quot; si vous souhait
<translation type="vanished">Quelques commentaires sur SilentDragonlite ou Hush ...</translation>
</message>
<message>
<source> or SilentDragonLite</source>
<translation type="vanished"> ou SilentDragonLite</translation>
<source> or SilentDragonXLite</source>
<translation type="vanished"> ou SilentDragonXLite</translation>
</message>
<message>
<source>Send DenioD some private and shielded feedback about</source>
@@ -1980,8 +1980,8 @@ Voulez-vous visiter la page des nouvelles versions ?</translation>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<translation>Merci d&apos;attendre la fermeture de SilentDragonLite</translation>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Merci d&apos;attendre la fermeture de SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/controller.cpp" line="2018"/>
@@ -2659,8 +2659,8 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite a besoin de 24 mots pour restaurer son wallet</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite a besoin de 24 mots pour restaurer son wallet</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="678"/>

View File

@@ -86,8 +86,8 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -304,8 +304,8 @@ p, li { white-space: pre-wrap; }
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="566"/>
@@ -932,7 +932,7 @@ Molimo koristite &apos;Uklonite šifriranje novčanika&apos; ako želite uklonit
</message>
<message>
<source>Please restart Silentdragonlite to have the theme apply</source>
<translation type="vanished">Molimo ponovno pokrenite SilentDragonLite ako želite primjeniti temu</translation>
<translation type="vanished">Molimo ponovno pokrenite SilentDragonXLite ako želite primjeniti temu</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="835"/>
@@ -940,8 +940,8 @@ Molimo koristite &apos;Uklonite šifriranje novčanika&apos; ako želite uklonit
<translation>Razmjena valuta</translation>
</message>
<message>
<source>Please restart SilentDragonLite to have new currencies apply</source>
<translation type="vanished">Molimo ponovno pokrenite SilentDragonLite ako želite primjeniti novu valutu</translation>
<source>Please restart SilentDragonXLite to have new currencies apply</source>
<translation type="vanished">Molimo ponovno pokrenite SilentDragonXLite ako želite primjeniti novu valutu</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="835"/>
@@ -950,15 +950,15 @@ Molimo koristite &apos;Uklonite šifriranje novčanika&apos; ako želite uklonit
</message>
<message>
<source>Some feedback about SilentDragonlite or Hush...</source>
<translation type="vanished">Neke povratne informaciej o SilentDragonLite ili Hush...</translation>
<translation type="vanished">Neke povratne informaciej o SilentDragonXLite ili Hush...</translation>
</message>
<message>
<source>Send Duke some private and shielded feedback about</source>
<translation type="vanished">Pošaljite Duke neku privatnu i zaštićenu povratnu informaciju</translation>
</message>
<message>
<source> or SilentDragonLite</source>
<translation type="vanished"> ili SilentDragonLite</translation>
<source> or SilentDragonXLite</source>
<translation type="vanished"> ili SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1011"/>
@@ -1044,8 +1044,8 @@ Molimo koristite &apos;Uklonite šifriranje novčanika&apos; ako želite uklonit
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonLite treba 24 riječi za obnovu novčanika</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonXLite treba 24 riječi za obnovu novčanika</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="198"/>
@@ -1810,8 +1810,8 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<translation>Molimo pričekajte da se SilentDragonLite zatvori</translation>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Molimo pričekajte da se SilentDragonXLite zatvori</translation>
</message>
<message>
<location filename="../src/controller.cpp" line="2018"/>
@@ -2296,8 +2296,8 @@ Would you like to visit the releases page?</source>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite treba 24 riječi za obnovu novčanika</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite treba 24 riječi za obnovu novčanika</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="678"/>

View File

@@ -82,8 +82,8 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -326,8 +326,8 @@ p, li { white-space: pre-wrap; }
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="567"/>
@@ -948,8 +948,8 @@ Mohon Gunakan &apos;Hapus Enkripsi Dompet&apos; Jika anda ingin menghapus Enkrip
</message>
<message>
<location filename="../src/mainwindow.cpp" line="207"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonLite membutuhkan 24 kata untuk mengembalikan dompet</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonXLite membutuhkan 24 kata untuk mengembalikan dompet</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="218"/>
@@ -993,8 +993,8 @@ Mohon Gunakan &apos;Hapus Enkripsi Dompet&apos; Jika anda ingin menghapus Enkrip
</message>
<message>
<location filename="../src/mainwindow.cpp" line="918"/>
<source> or SilentDragonLite</source>
<translation>atau SilentDragonLite</translation>
<source> or SilentDragonXLite</source>
<translation>atau SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="918"/>
@@ -1763,8 +1763,8 @@ Maukah anda mengunjungi laman pembaruan ini</translation>
<message>
<location filename="../src/controller.cpp" line="2042"/>
<location filename="../src/controller.cpp" line="2050"/>
<source>Please wait for SilentDragonLite to exit</source>
<translation>Mohon tunggu untuk SilentDragonLite untuk keluar</translation>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Mohon tunggu untuk SilentDragonXLite untuk keluar</translation>
</message>
<message>
<location filename="../src/controller.cpp" line="2043"/>
@@ -2236,8 +2236,8 @@ Maukah anda mengunjungi laman pembaruan ini</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="643"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite membutuhkan 24 kata untuk mengembalikan dompet</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite membutuhkan 24 kata untuk mengembalikan dompet</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="653"/>

View File

@@ -90,7 +90,7 @@
</message>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -509,7 +509,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1017,7 +1017,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1756,7 +1756,7 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<source>Please wait for SilentDragonXLite to exit</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -2416,7 +2416,7 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished"></translation>
</message>
<message>

View File

@@ -82,7 +82,7 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation>Silent Dragon Lite</translation>
</message>
<message>
@@ -508,7 +508,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation>Silent Dragon Lite</translation>
</message>
<message>
@@ -912,7 +912,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>Silent Dragon Lite heeft 24 woorden nodig om de wallet te herstellen</translation>
</message>
<message>
@@ -1608,7 +1608,7 @@ Wilt u de releasepagina bezoeken?</translation>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Wacht totdat Silent Dragon Lite afgesloten is</translation>
</message>
<message>
@@ -2066,7 +2066,7 @@ Wilt u de releasepagina bezoeken?</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>Silent Dragon Lite heeft 24 woorden nodig om de wallet te herstellen</translation>
</message>
<message>

View File

@@ -82,8 +82,8 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -514,8 +514,8 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="1592"/>
@@ -918,8 +918,8 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite potrzebuje 24 słów, aby przywrócić portfel</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite potrzebuje 24 słów, aby przywrócić portfel</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="198"/>
@@ -1611,8 +1611,8 @@ Czy chciałbyś odwiedzić stronę wydań?</translation>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<translation>Proszę poczekać na SilentDragonLite zakończy pracę</translation>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Proszę poczekać na SilentDragonXLite zakończy pracę</translation>
</message>
<message>
<location filename="../src/controller.cpp" line="2018"/>
@@ -2069,8 +2069,8 @@ Czy chciałbyś odwiedzić stronę wydań?</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite potrzebuje 24 słów, aby przywrócić portfel</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite potrzebuje 24 słów, aby przywrócić portfel</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="678"/>
@@ -2262,7 +2262,7 @@ Czy chciałbyś odwiedzić stronę wydań?</translation>
<message>
<location filename="../src/about.ui" line="14"/>
<source>About</source>
<translation>O SilentDragonLite</translation>
<translation>O SilentDragonXLite</translation>
</message>
</context>
<context>
@@ -2451,7 +2451,7 @@ p, li { white-space: pre-wrap; }
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Ubuntu&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;Ubuntu&apos;; font-size:16pt;&quot;&gt;Prosimy o użycie następującego hush adresu do przelewu środków na SilentDragonLite. Można skopiować adres lub użyć kodu QR. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;Ubuntu&apos;; font-size:16pt;&quot;&gt;Prosimy o użycie następującego hush adresu do przelewu środków na SilentDragonXLite. Można skopiować adres lub użyć kodu QR. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/deposithush.ui" line="134"/>

View File

@@ -90,8 +90,8 @@
</message>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -703,8 +703,8 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="744"/>
@@ -956,8 +956,8 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonLite precisa de 24 palavras para recuperar a carteira</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonXLite precisa de 24 palavras para recuperar a carteira</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="198"/>
@@ -1252,7 +1252,7 @@ Por favor usa &apos;Desencriptar carteira&apos; se quiser remover a encriptaçã
</message>
<message>
<source>Please restart Silentdragonlite to have the theme apply</source>
<translation type="vanished">Por favor reinicie a SilentDragonLite para aplicar o tema</translation>
<translation type="vanished">Por favor reinicie a SilentDragonXLite para aplicar o tema</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="835"/>
@@ -1264,8 +1264,8 @@ Por favor usa &apos;Desencriptar carteira&apos; se quiser remover a encriptaçã
<translation type="vanished">Alguma sugestão acerca da SilentDragonlite ou Hush...</translation>
</message>
<message>
<source> or SilentDragonLite</source>
<translation type="vanished">ou SilentDragonLite</translation>
<source> or SilentDragonXLite</source>
<translation type="vanished">ou SilentDragonXLite</translation>
</message>
<message>
<source>Send DenioD some private and shielded feedback about</source>
@@ -1924,8 +1924,8 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<translation>Por favor aguarde pela SilentDragonLite terminar</translation>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Por favor aguarde pela SilentDragonXLite terminar</translation>
</message>
<message>
<location filename="../src/controller.cpp" line="2018"/>
@@ -1935,7 +1935,7 @@ Would you like to visit the releases page?</source>
</message>
<message>
<source>Please wait for silentdragon to exit</source>
<translation type="vanished">Por favor aguarde pela SilentDragonLite terminar</translation>
<translation type="vanished">Por favor aguarde pela SilentDragonXLite terminar</translation>
</message>
<message>
<source>Waiting for hushd to exit</source>
@@ -2604,8 +2604,8 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite precisa de 24 palavras para recuperar a carteira</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite precisa de 24 palavras para recuperar a carteira</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="678"/>

View File

@@ -82,8 +82,8 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -326,8 +326,8 @@ p, li { white-space: pre-wrap; }
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="567"/>
@@ -933,7 +933,7 @@ Rugam sa folositi &apos;Eliminati Criptarea Portofelului&apos; daca doriti sa el
<message>
<location filename="../src/mainwindow.cpp" line="916"/>
<source>Some feedback about SilentDragonlite or Hush...</source>
<translation>Feedback despre SilentDragonLite sau Hush...</translation>
<translation>Feedback despre SilentDragonXLite sau Hush...</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="832"/>
@@ -948,8 +948,8 @@ Rugam sa folositi &apos;Eliminati Criptarea Portofelului&apos; daca doriti sa el
</message>
<message>
<location filename="../src/mainwindow.cpp" line="207"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonLite are nevoie de semnatura de 24 de cuvinte pentru restabilirea portofelului</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonXLite are nevoie de semnatura de 24 de cuvinte pentru restabilirea portofelului</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="218"/>
@@ -993,8 +993,8 @@ Rugam sa folositi &apos;Eliminati Criptarea Portofelului&apos; daca doriti sa el
</message>
<message>
<location filename="../src/mainwindow.cpp" line="918"/>
<source> or SilentDragonLite</source>
<translation>sau SilentDragonLite</translation>
<source> or SilentDragonXLite</source>
<translation>sau SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="918"/>
@@ -1755,8 +1755,8 @@ Doriti sa vizitati pagina veriunii?</translation>
<message>
<location filename="../src/controller.cpp" line="2042"/>
<location filename="../src/controller.cpp" line="2050"/>
<source>Please wait for SilentDragonLite to exit</source>
<translation>Rugam sa asteptati pina ce SilentDragonLite sa o sa iasa</translation>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Rugam sa asteptati pina ce SilentDragonXLite sa o sa iasa</translation>
</message>
<message>
<location filename="../src/controller.cpp" line="2043"/>
@@ -2228,8 +2228,8 @@ Doriti sa vizitati pagina veriunii?</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="643"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite are nevoie de semnatura de 24 de cuvinte pentru restabilirea portofelului</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite are nevoie de semnatura de 24 de cuvinte pentru restabilirea portofelului</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="653"/>

View File

@@ -82,8 +82,8 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -478,8 +478,8 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="678"/>
@@ -903,8 +903,8 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite требует 24 слова для восстановления кошелька</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite требует 24 слова для восстановления кошелька</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="198"/>
@@ -1475,8 +1475,8 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<translation>Пожалуйста подождите SilentDragonLite для выхода</translation>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Пожалуйста подождите SilentDragonXLite для выхода</translation>
</message>
<message>
<location filename="../src/controller.cpp" line="2018"/>
@@ -2072,8 +2072,8 @@ Would you like to visit the releases page?</source>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite нужно 24 слова для восстановления кошелька</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite нужно 24 слова для восстановления кошелька</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="678"/>
@@ -2454,7 +2454,7 @@ p, li { white-space: pre-wrap; }
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Ubuntu&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;Ubuntu&apos;; font-size:16pt;&quot;&gt;Используйте следующий hush адрес для перевода средств в SilentDragonLite. Вы можете скопировать адрес или использовать QR-код. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:&apos;Ubuntu&apos;; font-size:16pt;&quot;&gt;Используйте следующий hush адрес для перевода средств в SilentDragonXLite. Вы можете скопировать адрес или использовать QR-код. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/deposithush.ui" line="134"/>

View File

@@ -86,8 +86,8 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -304,8 +304,8 @@ p, li { white-space: pre-wrap; }
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="566"/>
@@ -932,7 +932,7 @@ Molimo koristite &apos;Uklonite šifrovanje novčanika&apos; ako želite uklonit
</message>
<message>
<source>Please restart Silentdragonlite to have the theme apply</source>
<translation type="vanished">Molimo ponovo pokrenite SilentDragonLite ako želite primeniti temu</translation>
<translation type="vanished">Molimo ponovo pokrenite SilentDragonXLite ako želite primeniti temu</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="835"/>
@@ -940,8 +940,8 @@ Molimo koristite &apos;Uklonite šifrovanje novčanika&apos; ako želite uklonit
<translation>Razmena valuta</translation>
</message>
<message>
<source>Please restart SilentDragonLite to have new currencies apply</source>
<translation type="vanished">Molimo ponovo pokrenite SilentDragonLite ako želite primeniti novu valutu</translation>
<source>Please restart SilentDragonXLite to have new currencies apply</source>
<translation type="vanished">Molimo ponovo pokrenite SilentDragonXLite ako želite primeniti novu valutu</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="835"/>
@@ -950,15 +950,15 @@ Molimo koristite &apos;Uklonite šifrovanje novčanika&apos; ako želite uklonit
</message>
<message>
<source>Some feedback about SilentDragonlite or Hush...</source>
<translation type="vanished">Neke povratne informacije o SilentDragonLite ili Hush...</translation>
<translation type="vanished">Neke povratne informacije o SilentDragonXLite ili Hush...</translation>
</message>
<message>
<source>Send Duke some private and shielded feedback about</source>
<translation type="vanished">Pošaljite Duke neku privatnu i zaštićenu povratnu informaciju</translation>
</message>
<message>
<source> or SilentDragonLite</source>
<translation type="vanished"> ili SilentDragonLite</translation>
<source> or SilentDragonXLite</source>
<translation type="vanished"> ili SilentDragonXLite</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1011"/>
@@ -1044,8 +1044,8 @@ Molimo koristite &apos;Uklonite šifrovanje novčanika&apos; ako želite uklonit
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonLite treba 24 reči za obnovu novčanika</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished">SilentDragonXLite treba 24 reči za obnovu novčanika</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="198"/>
@@ -1810,8 +1810,8 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<translation>Molimo pričekajte da se SilentDragonLite zatvori</translation>
<source>Please wait for SilentDragonXLite to exit</source>
<translation>Molimo pričekajte da se SilentDragonXLite zatvori</translation>
</message>
<message>
<location filename="../src/controller.cpp" line="2018"/>
@@ -2296,8 +2296,8 @@ Would you like to visit the releases page?</source>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<translation>SilentDragonLite treba 24 reči za obnovu novčanika</translation>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>SilentDragonXLite treba 24 reči za obnovu novčanika</translation>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="678"/>

View File

@@ -31,7 +31,7 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="17"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -102,7 +102,7 @@ Please enter your wallet password</source>
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.ui" line="14"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -681,7 +681,7 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
</message>
<message>
<location filename="../src/mainwindow.cpp" line="537"/>
<source> or SilentDragonLite</source>
<source> or SilentDragonXLite</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1212,7 +1212,7 @@ Would you like to visit the releases page?</source>
</message>
<message>
<location filename="../src/controller.cpp" line="1660"/>
<source>Please wait for SilentDragonLite to exit</source>
<source>Please wait for SilentDragonXLite to exit</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1616,7 +1616,7 @@ Would you like to visit the releases page?</source>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="133"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished"></translation>
</message>
<message>

View File

@@ -577,7 +577,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1100,7 +1100,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1900,7 +1900,7 @@ Yayınlanan sürümler sayfasını ziyaret etmek ister misiniz?</translation>
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<source>Please wait for SilentDragonXLite to exit</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -2609,7 +2609,7 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük.</tr
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished"></translation>
</message>
<message>

View File

@@ -86,8 +86,8 @@
<name>ConnectionDialog</name>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite سائلینٹ ڈراگون لائٹ</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite سائلینٹ ڈراگون لائٹ</translation>
</message>
<message>
<location filename="../src/connection.ui" line="70"/>
@@ -330,8 +330,8 @@ p, li { white-space: pre-wrap; }
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<translation>SilentDragonLite سائلینٹ ڈراگون لائٹ</translation>
<source>SilentDragonXLite</source>
<translation>SilentDragonXLite سائلینٹ ڈراگون لائٹ</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="567"/>
@@ -952,7 +952,7 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
</message>
<message>
<location filename="../src/mainwindow.cpp" line="207"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished">سائلنٹ ڈریگن لائٹ والیٹ کو بحال کرنے کے لئے 24 خوفیا الفاظ کی ضرورت ہے</translation>
</message>
<message>
@@ -997,7 +997,7 @@ Please use &apos;Remove Wallet Encryption&apos; if you want to remove the wallet
</message>
<message>
<location filename="../src/mainwindow.cpp" line="918"/>
<source> or SilentDragonLite</source>
<source> or SilentDragonXLite</source>
<translation>یا سائلنٹ ڈریگن لائٹ</translation>
</message>
<message>
@@ -1772,7 +1772,7 @@ Would you like to visit the releases page?</source>
<message>
<location filename="../src/controller.cpp" line="2042"/>
<location filename="../src/controller.cpp" line="2050"/>
<source>Please wait for SilentDragonLite to exit</source>
<source>Please wait for SilentDragonXLite to exit</source>
<translation> باہر جانے کا انتظار کریں Silent DragonLite براہ کرم</translation>
</message>
<message>
@@ -2253,7 +2253,7 @@ Would you like to visit the releases page?</source>
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="643"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation>سائلنٹ ڈریگن لائٹ والیٹ کو بحال کرنے کے لئے 24 خوفیا الفاظ کی ضرورت ہے</translation>
</message>
<message>

View File

@@ -90,7 +90,7 @@
</message>
<message>
<location filename="../src/connection.ui" line="29"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -383,7 +383,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.ui" line="51"/>
<source>SilentDragonLite</source>
<source>SilentDragonXLite</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1058,7 +1058,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../src/mainwindow.cpp" line="187"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1986,7 +1986,7 @@ Please set the host/port and user/password in the Edit-&gt;Settings menu.</sourc
<message>
<location filename="../src/controller.cpp" line="2017"/>
<location filename="../src/controller.cpp" line="2025"/>
<source>Please wait for SilentDragonLite to exit</source>
<source>Please wait for SilentDragonXLite to exit</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -2557,7 +2557,7 @@ You either have unconfirmed funds or the balance is too low for an automatic mig
</message>
<message>
<location filename="../src/firsttimewizard.cpp" line="666"/>
<source>SilentDragonLite needs 24 words to restore wallet</source>
<source>SilentDragonXLite needs 24 words to restore wallet</source>
<translation type="unfinished"></translation>
</message>
<message>

View File

@@ -201,11 +201,11 @@ distclean.depends += librustclean
QMAKE_EXTRA_TARGETS += librust libsodium librustclean distclean
QMAKE_CLEAN += $$PWD/lib/target/release/libsilentdragonxlite.a res/libsodium.a
win32: LIBS += -L$$PWD/lib/target/x86_64-pc-windows-gnu/release -lsilentdragonxlite -L$$PWD/res/ -llibsodium -lsecur32 -lcrypt32 -lncrypt
win32: LIBS += -L$$PWD/lib/target/x86_64-pc-windows-gnu/release -lsilentdragonxlite -L$$PWD/lib/libsodium-mingw/ -lsodium -lsecur32 -lcrypt32 -lncrypt
else:macx: LIBS += -L$$PWD/lib/target/release -lsilentdragonxlite -framework Security -framework Foundation -L$$PWD/res/ -lsodium
else:unix: LIBS += -L$$PWD/lib/target/release -lsilentdragonxlite -ldl -L$$PWD/res/ -lsodium
win32: PRE_TARGETDEPS += $$PWD/lib/target/x86_64-pc-windows-gnu/release/silentdragonxlite.lib $$PWD/res/libsodium.a
win32: PRE_TARGETDEPS += $$PWD/lib/target/x86_64-pc-windows-gnu/release/silentdragonxlite.lib $$PWD/lib/libsodium-mingw/libsodium.a
else:unix::PRE_TARGETDEPS += $$PWD/lib/target/release/libsilentdragonxlite.a $$PWD/res/libsodium.a
INCLUDEPATH += $$PWD/res

View File

@@ -0,0 +1,16 @@
// This file is autogenerated by qmake. It imports static plugin classes for
// static plugins specified using QTPLUGIN and QT_PLUGIN_CLASS.<plugin> variables.
#include <QtPlugin>
Q_IMPORT_PLUGIN(QWindowsVistaStylePlugin)
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
Q_IMPORT_PLUGIN(QGifPlugin)
Q_IMPORT_PLUGIN(QICNSPlugin)
Q_IMPORT_PLUGIN(QICOPlugin)
Q_IMPORT_PLUGIN(QJp2Plugin)
Q_IMPORT_PLUGIN(QJpegPlugin)
Q_IMPORT_PLUGIN(QMngPlugin)
Q_IMPORT_PLUGIN(QTgaPlugin)
Q_IMPORT_PLUGIN(QTiffPlugin)
Q_IMPORT_PLUGIN(QWbmpPlugin)
Q_IMPORT_PLUGIN(QWebpPlugin)
Q_IMPORT_PLUGIN(QGenericEnginePlugin)

View File

@@ -18,7 +18,7 @@
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string notr="true">SilentDragonLite</string>
<string notr="true">SilentDragonXLite</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>

View File

@@ -212,7 +212,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target)
QMessageBox::critical(
parent,
QObject::tr("Address Format Error"),
QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr),
QObject::tr("%1 doesn't seem to be a valid DRGX address.").arg(addr),
QMessageBox::Ok
);
return;

View File

@@ -105,7 +105,7 @@ QVariant BalancesTableModel::data(const QModelIndex &index, int role) const
QString theme_name = Settings::getInstance()->get_theme_name();
QBrush b;
QColor color;
if (theme_name == "Dark" || theme_name == "Midnight") {
if (theme_name == "Dark" || theme_name == "Midnight" || theme_name == "dragonx") {
color = COLOR_WHITE;
}else{
color = COLOR_BLACK;

View File

@@ -97,7 +97,7 @@ void MainWindow::renderContactRequest(){
QString icon;
auto theme = Settings::getInstance()->get_theme_name();
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
icon = ":/icons/res/unknownWhite.png";
}else{
icon = ":/icons/res/unknownBlack.png";
@@ -571,7 +571,7 @@ void MainWindow::sendChat() {
movie1->setFileName(":/img/res/loaderwhite.gif");
auto theme = Settings::getInstance()->get_theme_name();
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
connect(movie, &QMovie::frameChanged, [=]{
ui->sendChatButton->setIcon(movie->currentPixmap());
@@ -603,7 +603,7 @@ void MainWindow::sendChat() {
QTimer::singleShot(1000, [=]() {
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
QPixmap send(":/icons/res/send-white.png");
QIcon sendIcon(send);
ui->sendChatButton->setIcon(sendIcon);
@@ -640,7 +640,7 @@ void MainWindow::sendChat() {
movie->stop();
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
QPixmap send(":/icons/res/send-white.png");
QIcon sendIcon(send);
ui->sendChatButton->setIcon(sendIcon);
@@ -870,7 +870,7 @@ void MainWindow::ContactRequest() {
QMovie *movie1 = new QMovie(":/img/res/silentdragonxlite-animated-startup-dark.gif");
QMovie *movie2 = new QMovie(":/img/res/silentdragonxlite-animated-startup-dark.gif");
auto theme = Settings::getInstance()->get_theme_name();
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
movie2->setScaledSize(QSize(512,512));
connD->topIcon->setMovie(movie2);
movie2->start();

View File

@@ -37,7 +37,7 @@ ConnectionLoader::ConnectionLoader(MainWindow* main, Controller* rpc)
//DEBUG("theme " << theme << " has loaded");
auto size = QSize(512,512);
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
QMovie *movie2 = new QMovie(":/img/res/silentdragonxlite-animated-startup-dark.gif");;
movie2->setScaledSize(size);
qDebug() << "Animation dark loaded";
@@ -108,6 +108,7 @@ void ConnectionLoader::ShowProgress()
}
auto me = this;
delete isSyncing;
isSyncing = new QAtomicInteger<bool>(true);
DEBUG("isSyncing set to true");
@@ -123,6 +124,9 @@ void ConnectionLoader::ShowProgress()
DEBUG("sync rpc error! server=" << config->server);
});
lastSyncedBlock = -1;
syncStallCount = 0;
QObject::connect(syncTimer, &QTimer::timeout, [=]() {
if (!isSyncing || !isSyncing->load()) {
DEBUG("Syncing complete or isSyncing is null, stopping timer");
@@ -140,6 +144,29 @@ void ConnectionLoader::ShowProgress()
me->showInformation(
"Syncing... " + QString::number(synced) + " / " + QString::number(total)
);
// Stuck sync detection
if (synced <= me->lastSyncedBlock && synced < total) {
me->syncStallCount++;
if (me->syncStallCount >= 10) {
qDebug() << "Import sync stuck at block" << synced << "for 10s, clearing and rescanning";
me->showInformation("Sync stuck, rescanning...");
me->syncStallCount = 0;
me->lastSyncedBlock = -1;
connection->doRPC("clear", "", [=](auto) {
connection->doRPC("rescan", "", [=](auto) {
qDebug() << "Rescan complete after stuck import sync";
}, [=](auto) {
qDebug() << "Rescan error after stuck import sync";
});
}, [=](auto) {
qDebug() << "Clear error during stuck import sync";
});
}
} else {
me->syncStallCount = 0;
me->lastSyncedBlock = synced;
}
}
}, [=](QString err) {
DEBUG("Sync status error: " << err);
@@ -148,7 +175,6 @@ void ConnectionLoader::ShowProgress()
});
} catch (const std::exception& e) {
DEBUG("Exception caught in syncstatus: " << e.what());
throw;
}
});
@@ -225,6 +251,7 @@ void ConnectionLoader::doAutoConnect()
DEBUG("Connection is online.");
connection->setInfo(reply);
DEBUG("getting Connection reply");
delete isSyncing;
isSyncing = new QAtomicInteger<bool>();
isSyncing->store(true);
DEBUG("isSyncing set to true");
@@ -239,7 +266,76 @@ void ConnectionLoader::doAutoConnect()
syncTimer->deleteLater();
// When sync is done, set the connection
this->doRPCSetConnection(connection);
}, [=](auto) mutable {
}, [=](QString err) mutable {
qDebug() << "sync rpc error:" << err;
// If user already confirmed clearing from stuck detection, do it now (old sync is finished)
if (me->reorgHandled) {
qDebug() << "Old sync finished, performing deferred clear+resync";
me->showInformation("Clearing old data and resyncing...");
syncTimer->stop();
connection->doRPC("clear", "", [=](auto) {
qDebug() << "State cleared, starting fresh sync";
me->syncStallCount = 0;
me->lastSyncedBlock = -1;
me->reorgHandled = false;
isSyncing->store(true);
syncTimer->start();
connection->doRPC("sync", "", [=](auto) {
qDebug() << "Fresh sync complete";
isSyncing->store(false);
syncTimer->deleteLater();
this->doRPCSetConnection(connection);
}, [=](auto) {
qDebug() << "Fresh sync also failed";
});
}, [=](auto) {
qDebug() << "Failed to clear wallet state";
});
return;
}
// Detect reorg failure from incompatible old chain data
if (err.contains("Reorg") || err.contains("reorg")) {
qDebug() << "Detected incompatible chain data, prompting user for fresh sync";
isSyncing->store(false);
syncTimer->stop();
QMessageBox::StandardButton reply = QMessageBox::question(
main,
QObject::tr("Incompatible Block Data"),
QObject::tr("The wallet contains block data from an old or incompatible chain. "
"This prevents syncing.\n\n"
"Would you like to clear the old data and sync fresh from the network?\n"
"(Your wallet keys and addresses will be preserved)"),
QMessageBox::Yes | QMessageBox::No
);
if (reply == QMessageBox::Yes) {
qDebug() << "User chose to rescan, clearing state";
me->showInformation("Clearing old data and resyncing...");
connection->doRPC("clear", "", [=](auto) {
qDebug() << "State cleared, starting fresh sync";
isSyncing->store(true);
syncTimer->start();
connection->doRPC("sync", "", [=](auto) {
qDebug() << "Fresh sync complete";
isSyncing->store(false);
syncTimer->deleteLater();
this->doRPCSetConnection(connection);
}, [=](auto) {
qDebug() << "Fresh sync also failed";
});
}, [=](auto) {
qDebug() << "Failed to clear wallet state";
});
} else {
me->showError(QObject::tr("Sync cannot proceed with incompatible chain data. "
"Please manually delete the wallet data file and restart."));
}
return;
}
DEBUG("sync rpc error! server=" << config->server);
// Attempt to retry sync RPC with a delay
QTimer::singleShot(5000, [=]() { // 5-second delay
@@ -257,6 +353,12 @@ void ConnectionLoader::doAutoConnect()
});
// While it is syncing, we'll show the status updates while it is alive.
// Also detect stuck syncs: if synced_blocks doesn't advance (or goes backwards) for 10 ticks (10s),
// show reorg dialog.
lastSyncedBlock = -1;
syncStallCount = 0;
reorgHandled = false;
QObject::connect(syncTimer, &QTimer::timeout, [=]() {
DEBUG("Check the sync status");
if (isSyncing != nullptr && isSyncing->load()) {
@@ -269,6 +371,38 @@ void ConnectionLoader::doAutoConnect()
me->showInformation(
"Syncing... " + QString::number(synced) + " / " + QString::number(total)
);
// Stuck sync detection: if synced block hasn't advanced (or goes backwards) in 10 seconds
if (synced <= me->lastSyncedBlock && synced < total) {
me->syncStallCount++;
if (me->syncStallCount >= 10 && !me->reorgHandled) {
qDebug() << "Sync stuck/backwards at block" << synced << "for 10s, showing reorg dialog";
// Set flag BEFORE showing dialog to prevent re-entry from timer events
me->reorgHandled = true;
QMessageBox::StandardButton reply = QMessageBox::question(
main,
QObject::tr("Incompatible Block Data"),
QObject::tr("The wallet contains block data from an old or incompatible chain. "
"This prevents syncing.\n\n"
"Would you like to clear the old data and sync fresh from the network?\n"
"(Your wallet keys and addresses will be preserved)"),
QMessageBox::Yes | QMessageBox::No
);
if (reply == QMessageBox::Yes) {
qDebug() << "User chose to clear, waiting for current sync to finish";
me->showInformation("Please wait, preparing to clear old data...");
} else {
syncTimer->stop();
me->showError(QObject::tr("Sync cannot proceed with incompatible chain data. "
"Please manually delete the wallet data file and restart."));
}
}
} else {
me->syncStallCount = 0;
me->lastSyncedBlock = synced;
}
}
},
[=](QString err) {

View File

@@ -49,6 +49,10 @@ private:
QTimer* syncTimer = nullptr;
QAtomicInteger<bool>* isSyncing = nullptr;
qint64 lastSyncedBlock = -1;
int syncStallCount = 0;
bool reorgHandled = false;
QDialog* d = nullptr;
Ui_ConnectionDialog* connD = nullptr;

View File

@@ -26,7 +26,7 @@
</size>
</property>
<property name="windowTitle">
<string>SilentDragonLite</string>
<string>SilentDragonXLite</string>
</property>
<property name="modal">
<bool>true</bool>

View File

@@ -130,13 +130,13 @@ void MainWindow::showRequesthush() {
}
if (d.exec() == QDialog::Accepted) {
// Construct a hush Payment URI with the data and pay it immediately.
// Construct a DRGX Payment URI with the data and pay it immediately.
CAmount amount = CAmount::fromDecimalString(req.txtAmount->text());
QString memoURI = "hush:" + req.lblAddressInfo->text()
QString memoURI = "drgx:" + req.lblAddressInfo->text()
+ "?amt=" + amount.toDecimalString()
+ "&memo=" + QUrl::toPercentEncoding(req.txtMemo->toPlainText());
QString sendURI = "hush:" + AddressBook::addressFromAddressLabel(req.txtFrom->text())
QString sendURI = "drgx:" + AddressBook::addressFromAddressLabel(req.txtFrom->text())
+ "?amt=0.0001"
+ "&memo=" + QUrl::toPercentEncoding(memoURI);

View File

@@ -320,9 +320,10 @@ void Controller::getInfoThenRefresh(bool force)
int curBlock = reply["latest_block_height"].get<json::number_integer_t>();
bool doUpdate = force || (model->getLatestBlock() != curBlock);
int difficulty = reply["difficulty"].get<json::number_integer_t>();
int num_halvings = 1; // number of halvings that have occured already
int blocks_until_halving = (num_halvings*1680000 + 340000) - curBlock;
int blocktime = 75;
int halving_interval = 3500000;
int num_halvings = curBlock / halving_interval;
int blocks_until_halving = ((num_halvings + 1) * halving_interval) - curBlock;
int blocktime = 36;
int halving_days = (blocks_until_halving * blocktime) / (60 * 60 * 24) ;
int longestchain = reply["longestchain"].get<json::number_integer_t>();
int notarized = reply["notarized"].get<json::number_integer_t>();
@@ -2032,7 +2033,7 @@ void Controller::shutdownhushd()
auto theme = Settings::getInstance()->get_theme_name();
auto size = QSize(512,512);
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
QMovie *movie2 = new QMovie(":/img/res/silentdragonxlite-animated-startup-dark.gif");;
movie2->setScaledSize(size);
qDebug() << "Animation dark loaded";

View File

@@ -28,12 +28,10 @@ void FilledIconLabel::resizeEvent(QResizeEvent*) {
color = COLOR_BLUE_BG;
}else if(theme_name == "Light"){
color = COLOR_LIGHT_BG;
}else if(theme_name == "Dark"){
}else if(theme_name == "Dark" || theme_name == "dragonx"){
color = COLOR_DARK_BG;
}else if(theme_name =="Midnight"){
color = COLOR_MIDNIGHT_BG;
}else if(theme_name =="dragonx"){
color = COLOR_DRAGONX_BG;
}else{
color = COLOR_DEFAULT_BG;
}

View File

@@ -36,7 +36,7 @@ void FirstTimeWizard::slot_change_theme(const QString& theme_name) {
}
catch (...)
{
saved_theme_name = "Dark";
saved_theme_name = "dragonx";
}
QFile qFile(":/css/res/css/" + saved_theme_name +".css");
@@ -209,7 +209,10 @@ NewOrRestorePage::NewOrRestorePage(FirstTimeWizard *parent) : QWizardPage(parent
crypto_pwhash_ALG_DEFAULT) != 0) {
/* out of memory */
qDebug() << __func__ << ": crypto_pwhash failed! Possibly out of memory";
exit(1);
QMessageBox::critical(nullptr, "Fatal Error",
"Password hashing failed (possibly out of memory). The application cannot continue.");
qApp->exit(1);
return;
}
QString passphraseHash1 = QByteArray(reinterpret_cast<const char*>(key), KEY_LEN).toHex();
DataStore::getChatDataStore()->setPassword(passphraseHash1);
@@ -623,7 +626,31 @@ bool NewSeedPage::validatePage() {
verifyseed.word24->setEnabled(false);
});
dialog.exec();
// Add a "Skip Verification" button to the dialog
QPushButton *skipButton = verifyseed.buttonBox->addButton(tr("Skip Verification"), QDialogButtonBox::ActionRole);
QObject::connect(skipButton, &QPushButton::clicked, [&dialog] () {
dialog.done(2); // custom result code for skip
});
int dialogResult = dialog.exec();
// Skip verification: save wallet and proceed
if (dialogResult == 2) {
QString reply = "";
try {
char* resp = litelib_execute("save", "");
reply = litelib_process_response(resp);
} catch (const std::exception& e) {
qDebug() << __func__ << ": caught an exception, ignoring: " << e.what();
}
auto parsed = json::parse(reply.toStdString().c_str(), nullptr, false);
if (parsed.is_discarded() || parsed.is_null() || parsed.find("result") == parsed.end()) {
QMessageBox::warning(this, tr("Failed to save wallet"),
tr("Couldn't save the wallet") + "\n" + reply, QMessageBox::Ok);
return false;
}
return true;
}
QString reply = "";
if ((verifyseed.verify->toPlainText() == seed) && (verifyseed.verifyBirthday->toPlainText() == birthday)) {

View File

@@ -150,11 +150,11 @@ public:
// Command line parser
QCommandLineParser parser;
parser.setApplicationDescription("Shielded desktop light wallet for hush");
parser.setApplicationDescription("Shielded desktop light wallet for DragonX");
parser.addHelpOption();
// Positional argument will specify a hush payment URI
parser.addPositionalArgument("hushURI", "An optional hush URI to pay");
// Positional argument will specify a DRGX payment URI
parser.addPositionalArgument("drgxURI", "An optional DRGX URI to pay");
parser.process(a);
@@ -201,7 +201,9 @@ public:
if (sodium_init() < 0) {
/* panic! the library couldn't be initialized, it is not safe to use */
qDebug() << "libsodium is not initialized!";
exit(0);
QMessageBox::critical(nullptr, "Fatal Error",
"Failed to initialize libsodium cryptography library. The application cannot continue.");
return 1;
}
Settings::getInstance()->setUseEmbedded(false);

View File

@@ -71,7 +71,7 @@ MainWindow::MainWindow(QWidget *parent) :
}
catch (...)
{
theme_name = "Dark";
theme_name = "dragonx";
}
this->slot_change_theme(theme_name);
@@ -847,7 +847,11 @@ void MainWindow::setupSettingsModal() {
// List of default servers
settings.cmbServer->addItem("https://lite.dragonx.is");
settings.cmbServer->addItem("https://dragonlite.printogre.com");
settings.cmbServer->addItem("https://lite1.dragonx.is");
settings.cmbServer->addItem("https://lite2.dragonx.is");
settings.cmbServer->addItem("https://lite3.dragonx.is");
settings.cmbServer->addItem("https://lite4.dragonx.is");
settings.cmbServer->addItem("https://lite5.dragonx.is");
//TODO: seperate lists of https/Tor servers, only show user or attempt
// connection to .onion if user has it enabled
@@ -1026,7 +1030,7 @@ void MainWindow::payhushURI(QString uri, QString myAddr) {
PaymentURI paymentInfo = Settings::parseURI(uri);
if (!paymentInfo.error.isEmpty()) {
QMessageBox::critical(this, tr("Error paying DRGX URI"),
tr("URI should be of the form 'hush:<addr>?amt=x&memo=y") + "\n" + paymentInfo.error);
tr("URI should be of the form 'drgx:<addr>?amt=x&memo=y") + "\n" + paymentInfo.error);
return;
}
@@ -1429,7 +1433,7 @@ void MainWindow::setupTransactionsTab() {
});
// Payment Request
if (!memo.isEmpty() && memo.startsWith("hush:")) {
if (!memo.isEmpty() && memo.startsWith("drgx:")) {
menu.addAction(tr("View Payment Request"), [=] () {
RequestDialog::showPaymentConfirmation(this, memo);
});
@@ -1486,7 +1490,7 @@ void MainWindow::setupchatTab() {
/////////////Setting Icons for Chattab and different themes
auto theme = Settings::getInstance()->get_theme_name();
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
QPixmap send(":/icons/res/send-white.png");
QIcon sendIcon(send);
ui->sendChatButton->setIcon(sendIcon);
@@ -2003,7 +2007,7 @@ void MainWindow::sendMoneyChat() {
movie1->setFileName(":/img/res/loaderwhite.gif");
auto theme = Settings::getInstance()->get_theme_name();
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
connect(movie, &QMovie::frameChanged, [=]{
ui->sendChatButton->setIcon(movie->currentPixmap());
@@ -2033,7 +2037,7 @@ void MainWindow::sendMoneyChat() {
QTimer::singleShot(1000, [=]() {
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
QPixmap send(":/icons/res/send-white.png");
QIcon sendIcon(send);
ui->sendChatButton->setIcon(sendIcon);
@@ -2071,7 +2075,7 @@ void MainWindow::sendMoneyChat() {
ui->memoTxtChat->setEnabled(true);
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
QPixmap send(":/icons/res/send-white.png");
QIcon sendIcon(send);
ui->sendChatButton->setIcon(sendIcon);
@@ -2292,7 +2296,7 @@ void MainWindow::sendMoneyRequestChat() {
movie1->setFileName(":/img/res/loaderwhite.gif");
auto theme = Settings::getInstance()->get_theme_name();
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
connect(movie, &QMovie::frameChanged, [=]{
ui->sendChatButton->setIcon(movie->currentPixmap());
@@ -2321,7 +2325,7 @@ void MainWindow::sendMoneyRequestChat() {
QTimer::singleShot(1000, [=]() {
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
QPixmap send(":/icons/res/send-white.png");
QIcon sendIcon(send);
ui->sendChatButton->setIcon(sendIcon);
@@ -2354,7 +2358,7 @@ void MainWindow::sendMoneyRequestChat() {
movie->stop();
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
QPixmap send(":/icons/res/send-white.png");
QIcon sendIcon(send);
ui->sendChatButton->setIcon(sendIcon);
@@ -2692,7 +2696,7 @@ void MainWindow::slot_change_theme(const QString& theme_name) {
Settings::getInstance()->set_theme_name(theme_name);
} else {
qDebug() << __func__ << ": ignoring invalid theme_name=" << theme_name;
Settings::getInstance()->set_theme_name("Dark");
Settings::getInstance()->set_theme_name("dragonx");
}
// Include css
@@ -2701,7 +2705,7 @@ void MainWindow::slot_change_theme(const QString& theme_name) {
saved_theme_name = Settings::getInstance()->get_theme_name();
} catch (const std::exception& e) {
qDebug() << QString("Ignoring theme change Exception! : ");
saved_theme_name = "Dark";
saved_theme_name = "dragonx";
}
QString filename = ":/css/res/css/" + saved_theme_name +".css";

View File

@@ -50,7 +50,7 @@ void RequestDialog::showPaymentConfirmation(MainWindow* main, QString paymentURI
PaymentURI payInfo = Settings::parseURI(paymentURI);
if (!payInfo.error.isEmpty()) {
QMessageBox::critical(main, tr("Error paying DRGX URI"),
tr("URI should be of the form 'hush:<addr>?amt=x&memo=y") + "\n" + payInfo.error);
tr("URI should be of the form 'drgx:<addr>?amt=x&memo=y") + "\n" + payInfo.error);
return;
}
@@ -177,13 +177,13 @@ void RequestDialog::showRequesthush(MainWindow* main) {
req.txtFrom->setFocus();
if (d.exec() == QDialog::Accepted) {
// Construct a hush Payment URI with the data and pay it immediately.
// Construct a DRGX Payment URI with the data and pay it immediately.
CAmount amount = CAmount::fromDecimalString(req.txtAmount->text());
QString memoURI = "hush:" + req.cmbMyAddress->currentText()
QString memoURI = "drgx:" + req.cmbMyAddress->currentText()
+ "?amt=" + amount.toDecimalString()
+ "&memo=" + QUrl::toPercentEncoding(req.txtMemo->toPlainText());
QString sendURI = "hush:" + AddressBook::addressFromAddressLabel(req.txtFrom->text())
QString sendURI = "drgx:" + AddressBook::addressFromAddressLabel(req.txtFrom->text())
+ "?amt=0.0001"
+ "&memo=" + QUrl::toPercentEncoding(memoURI);

View File

@@ -864,7 +864,7 @@ void MainWindow::sendButton() {
QMovie *movie1 = new QMovie(":/img/res/silentdragonxlite-animated-startup-dark.gif");;
QMovie *movie2 = new QMovie(":/img/res/silentdragonxlite-animated-startup-dark.gif");;
auto theme = Settings::getInstance()->get_theme_name();
if (theme == "Dark" || theme == "Midnight") {
if (theme == "Dark" || theme == "Midnight" || theme == "dragonx") {
movie2->setScaledSize(QSize(512,512));
connD->topIcon->setMovie(movie2);
movie2->start();

View File

@@ -277,7 +277,7 @@ void Settings::set_currency_name(QString currency_name) {
QString Settings::get_theme_name() {
// Load from the QT Settings.
return QSettings().value("options/theme_name", "Dark").toString();
return QSettings().value("options/theme_name", "dragonx").toString();
}
void Settings::set_theme_name(QString theme_name) {
@@ -307,7 +307,11 @@ QString Settings::getRandomServer() {
// The more servers from different TLDs, the better
QList<QString> servers = {
"https://lite.dragonx.is",
"https://dragonlite.printogre.com"
"https://lite1.dragonx.is",
"https://lite2.dragonx.is",
"https://lite3.dragonx.is",
"https://lite4.dragonx.is",
"https://lite5.dragonx.is"
};
// we don't need cryptographic random-ness, but we want
@@ -401,7 +405,7 @@ PaymentURI Settings::parseURI(QString uri) {
return ans;
}
uri = uri.right(uri.length() - QString("hush:").length());
uri = uri.right(uri.length() - QString("drgx:").length());
QRegExp re("([a-zA-Z0-9]+)");
int pos;

View File

@@ -127,6 +127,11 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>dragonx</string>
</property>
</item>
<item>
<property name="text">
<string>Dark</string>
@@ -152,6 +157,7 @@
<string>Default</string>
</property>
</item>
</widget>
<widget class="QCheckBox" name="chkFetchPrices">
<property name="geometry">

View File

@@ -93,7 +93,7 @@ QVariant TxTableModel::data(const QModelIndex &index, int role) const {
QString theme_name = Settings::getInstance()->get_theme_name();
QBrush b;
QColor color;
if (theme_name == "Dark" || theme_name == "Midnight") {
if (theme_name == "Dark" || theme_name == "Midnight" || theme_name == "dragonx") {
color = COLOR_WHITE;
}else{
color = COLOR_BLACK;
@@ -143,7 +143,7 @@ QVariant TxTableModel::data(const QModelIndex &index, int role) const {
// If there are multiple memos, then mark them as such
if (dat.items.length() == 1) {
auto memo = dat.items[0].memo;
if (memo.startsWith("hush:")) {
if (memo.startsWith("drgx:")) {
return Settings::paymentURIPretty(Settings::parseURI(memo));
} else {
return modeldata->at(index.row()).type +
@@ -205,7 +205,7 @@ QVariant TxTableModel::data(const QModelIndex &index, int role) const {
}
// If the memo is a Payment URI, then show a payment request icon
if (dat.items.length() == 1 && dat.items[0].memo.startsWith("hush:")) {
if (dat.items.length() == 1 && dat.items[0].memo.startsWith("drgx:")) {
QImage image = colorizeIcon(QIcon(":/icons/res/paymentreq.gif"), color);
QIcon icon;
icon.addPixmap(QPixmap::fromImage(image));

View File

@@ -3,12 +3,12 @@
VERSION=$(cat src/version.h |cut -d\" -f2)
echo "Compiling SilentDragonXLite $VERSION .exe with $JOBS threads..."
CONF=silentdragon-lite.pro
CONF=silentdragonx-lite.pro
set -e
echo 'source $HOME/.cargo/env' >> $HOME/.bashrc
CC_x86_64_pc_windows_gnu="x86_64-w64-mingw32.static-gcc"
PATH="/home/$USER/git/mxe/usr/bin:${PATH}"
PATH="/home/$USER/mxe/usr/bin:${PATH}"
if [ ! -d "release" ]
then
@@ -17,7 +17,7 @@ fi
cp src/precompiled.h release/
qbuild () {
/home/$USER/git/mxe/usr/bin/x86_64-w64-mingw32.static-qmake-qt5 $CONF CONFIG+=release
/home/$USER/mxe/usr/bin/x86_64-w64-mingw32.static-qmake-qt5 $CONF CONFIG+=release
#lupdate $CONF
#lrelease $CONF