Merge branch 'dev'
2
.gitignore
vendored
@@ -42,3 +42,5 @@ silentdragonlite_plugin_import.cpp
|
||||
silentdragonlite_resource.rc
|
||||
SilentDragonLite
|
||||
.gdb_history
|
||||
.*sw?
|
||||
core
|
||||
|
||||
2
LICENSE
@@ -1,4 +1,4 @@
|
||||
Copyright 2019-2021 The Hush developers
|
||||
Copyright 2019-2023 The Hush developers
|
||||
Copyright 2018 adityapk
|
||||
|
||||
|
||||
|
||||
23
README.md
@@ -30,17 +30,30 @@ Go to the [releases page](https://git.hush.is/hush/SilentDragonLite/releases) an
|
||||
|
||||
* SilentDragonLite is written in C++ 14, and can be compiled with g++/clang++/visual c++.
|
||||
* It also depends on Qt5, which you can get from [here](https://www.qt.io/download) or we recommend installing using your Linux version's package manager (if available).
|
||||
* **You'll need Rust v1.49**, so install it via [Rustup in Linux](https://rustup.rs/).
|
||||
* **You'll need Rust v1.49**, so install it via [Rustup in Linux](https://rustup.rs/). **If you use a version greater then 1.63, then it will not currently build** as seen in [Issue #89](https://git.hush.is/hush/SilentDragonLite/issues/89).
|
||||
|
||||
#### Building on Linux
|
||||
|
||||
**Nothing below will work without rust. Check that your system has rustc 1.49. If not then you need to use [Rustup in Linux](https://rustup.rs/).**
|
||||
**Nothing below will work without rust. Check that your system has rustc 1.49. If not then you need to use [Rustup in Linux](https://rustup.rs/).**
|
||||
|
||||
An example of how to install Rust 1.49 with rustup is below:
|
||||
|
||||
```
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
Choose: 1) Proceed with installation (default)
|
||||
source $HOME/.cargo/env
|
||||
rustup install 1.49
|
||||
rustup default 1.49
|
||||
rustup -V
|
||||
```
|
||||
|
||||
**Nothing below will work without the Linux "build-essential" package. Check that your system has it installed. If not, and you're using a Ubuntu/Debian distro, then you can install with `apt install build-essential`.**
|
||||
|
||||
Compiling can take some time, so be patient and wait for it to finish. It will take potentially a long time for slower systems. Be Patient and please report compiler problems!
|
||||
|
||||
##### Ubuntu 18.04 and 20.04:
|
||||
```shell script
|
||||
sudo apt-get -y install qt5-default qt5-qmake libqt5websockets5-dev qtcreator
|
||||
sudo apt-get -y install build-essential qt5-default qt5-qmake libqt5websockets5-dev qtcreator qttools5-dev-tools
|
||||
git clone https://git.hush.is/hush/SilentDragonLite
|
||||
cd SilentDragonLite
|
||||
./build.sh linguist
|
||||
@@ -78,9 +91,11 @@ Linux: `~/.silentdragonlite`
|
||||
|
||||
Windows 10: `C:\Users\%user\AppData\Roaming\silentdragonlite`
|
||||
|
||||
Mac: `~/Library/Application Support/silentdragonlite`
|
||||
|
||||
## Support
|
||||
|
||||
For support join us on [Telegram Support](https://hush.is/telegram_support), or our [Main Telegram](https://hush.is/telegram) or tweet at [@MyHushTeam](https://twitter.com/MyHushTeam), or toot at our [Mastodon](https://fosstodon.org/@myhushteam), or [file an issue](https://git.hush.is/hush/SilentDragonLite/issues).
|
||||
For support join us on [Telegram Support](https://hush.is/telegram_support), or our [Main Telegram](https://hush.is/telegram), or toot at our [Mastodon](https://fosstodon.org/@myhushteam), or [file an issue](https://git.hush.is/hush/SilentDragonLite/issues).
|
||||
|
||||
You can also subscribe to our channels on [PeerTube](https://videos.hush.is), on [YouTube](https://hush.is/yt), or on [Odyssee/LBRY](https://odysee.com/@MyHushTeam:3).
|
||||
|
||||
|
||||
@@ -8,21 +8,15 @@
|
||||
<file>res/paymentreq.gif</file>
|
||||
<file>res/icon.ico</file>
|
||||
<file>res/mail.png</file>
|
||||
<file>res/darkwing.png</file>
|
||||
<file>res/SDLogo.png</file>
|
||||
<file>res/sdlogo2.png</file>
|
||||
<file>res/Berg.png</file>
|
||||
<file>res/Denio.png</file>
|
||||
<file>res/Duke.png</file>
|
||||
<file>res/onryo.png</file>
|
||||
<file>res/fekt.png</file>
|
||||
<file>res/jahway603.png</file>
|
||||
<file>res/Sharpee.png</file>
|
||||
<file>res/Yoda.png</file>
|
||||
<file>res/Mickey.png</file>
|
||||
<file>res/Snoopy.png</file>
|
||||
<file>res/Popey.png</file>
|
||||
<file>res/Garfield.png</file>
|
||||
<file>res/Pinguin.png</file>
|
||||
<file>res/Stag.png</file>
|
||||
<file>res/Elsa.png</file>
|
||||
<file>res/Anonymous.png</file>
|
||||
<file>res/send.png</file>
|
||||
<file>res/send.svg</file>
|
||||
<file>res/addcontact.svg</file>
|
||||
@@ -51,7 +45,9 @@
|
||||
<file>res/money-mouth.png</file>
|
||||
<file>res/money-outgoing.png</file>
|
||||
<file>res/hush-money-white.png</file>
|
||||
|
||||
<file>res/tx_input.png</file>
|
||||
<file>res/tx_output.png</file>
|
||||
<file>res/tx_mined.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/img">
|
||||
<file>res/hushdlogo.png</file>
|
||||
@@ -62,30 +58,32 @@
|
||||
<file>res/silentdragonlite-animated-startup-dark.gif</file>
|
||||
<file>res/loaderblack.gif</file>
|
||||
<file>res/loaderwhite.gif</file>
|
||||
<file>res/logobig.gif</file>
|
||||
</qresource>
|
||||
<qresource prefix="/emoji">
|
||||
<file>res/emoji/emoji1.png</file>
|
||||
<file>res/emoji/laughing.png</file>
|
||||
<file>res/emoji/money-mouth.png</file>
|
||||
<file>res/emoji/joy.png</file>
|
||||
<file>res/emoji/innocent.png</file>
|
||||
<file>res/emoji/partying_face.png</file>
|
||||
<file>res/emoji/face_with_3hearts.png</file>
|
||||
<file>res/emoji/face-with-rolling-eyes.png</file>
|
||||
<file>res/emoji/face-with-tongue.png</file>
|
||||
<file>res/emoji/heart_shaped_eyes.png</file>
|
||||
<file>res/emoji/nauseated-face.png</file>
|
||||
<file>res/emoji/pile-of-poo.png</file>
|
||||
<file>res/emoji/serious-face-with-symbols-covering-mouth.png</file>
|
||||
<file>res/emoji/smiling-face-with-sunglasses.png</file>
|
||||
<file>res/emoji/stuck-out.png</file>
|
||||
<file>res/emoji/sweet_smile.png</file>
|
||||
<file>res/emoji/hush-money-white.png</file>
|
||||
<file>res/emoji/SD.png</file>
|
||||
<file>res/emoji/emoji1.png</file>
|
||||
<file>res/emoji/laughing.png</file>
|
||||
<file>res/emoji/money-mouth.png</file>
|
||||
<file>res/emoji/joy.png</file>
|
||||
<file>res/emoji/innocent.png</file>
|
||||
<file>res/emoji/partying_face.png</file>
|
||||
<file>res/emoji/face_with_3hearts.png</file>
|
||||
<file>res/emoji/face-with-rolling-eyes.png</file>
|
||||
<file>res/emoji/face-with-tongue.png</file>
|
||||
<file>res/emoji/heart_shaped_eyes.png</file>
|
||||
<file>res/emoji/nauseated-face.png</file>
|
||||
<file>res/emoji/pile-of-poo.png</file>
|
||||
<file>res/emoji/serious-face-with-symbols-covering-mouth.png</file>
|
||||
<file>res/emoji/smiling-face-with-sunglasses.png</file>
|
||||
<file>res/emoji/stuck-out.png</file>
|
||||
<file>res/emoji/sweet_smile.png</file>
|
||||
<file>res/emoji/hush-money-white.png</file>
|
||||
<file>res/emoji/SD.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/translations">
|
||||
<file>res/silentdragonlite_ar.qm</file>
|
||||
<file>res/silentdragonlite_be.qm</file>
|
||||
<file>res/silentdragonlite_pl.qm</file>
|
||||
<file>res/silentdragonlite_de.qm</file>
|
||||
<file>res/silentdragonlite_es.qm</file>
|
||||
<file>res/silentdragonlite_fa.qm</file>
|
||||
|
||||
28
build.sh
@@ -1,5 +1,6 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2019-2021 The Hush Developers
|
||||
# Copyright 2019-2023 The Hush Developers
|
||||
# Released under the GPLv3
|
||||
|
||||
UNAME=$(uname)
|
||||
|
||||
@@ -13,6 +14,31 @@ else
|
||||
JOBS=1
|
||||
fi
|
||||
|
||||
# check if rustc and cargo are installed, otherwise exit with error
|
||||
if ! command -v rustc &> /dev/null
|
||||
then
|
||||
echo "rustc could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v cargo &> /dev/null
|
||||
then
|
||||
echo "cargo could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v qmake &> /dev/null
|
||||
then
|
||||
echo "qmake could not be found. Please install QT and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v make &> /dev/null
|
||||
then
|
||||
echo "make could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION=$(cat src/version.h |cut -d\" -f2)
|
||||
echo "Compiling SilentDragonLite $VERSION with $JOBS threads..."
|
||||
CONF=silentdragon-lite.pro
|
||||
|
||||
58
doc/release-process.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# SilentDragonLite Release Process
|
||||
|
||||
## High-Level Philosophy
|
||||
|
||||
Beware of making high-risk changes too close to a new release, because they will not get as much testing as they should. Don't merge large branches which haven't undergone lots of testing just before a release.
|
||||
|
||||
It is best to keep doc/relnotes/README.md up to date as changes and bug fixes are made. It's more work to summarize all changes and bugfixes just before the release.
|
||||
|
||||
## Check for changes on master that should be on dev
|
||||
|
||||
See https://git.hush.is/hush/hush3/src/branch/master/doc/release-process.md#check-for-changes-on-master-that-should-be-on-dev , there is no sense repeating the exact same thing here.
|
||||
|
||||
SD+SDL very often has merge conflicts in generated translation files, because QT embeds line numbers in XML.
|
||||
Read how to deal with them efficiently here: https://git.hush.is/hush/SilentDragon/src/branch/dev/doc/release-process.md#dealing-with-merge-conflicts
|
||||
|
||||
## Git Issues
|
||||
|
||||
Look for Git issues that should be fixed in the next release: https://git.hush.is/hush/SilentDragonLite/issues Especially low-risk and simple things and like documentation changes and improvements to error messages. Take note that changing strings in the source code, such as adding a new string or changing an existing one, will affect translations.
|
||||
|
||||
## Translations
|
||||
|
||||
...
|
||||
|
||||
```
|
||||
# update generated translation data
|
||||
./build.sh linguist
|
||||
git commit -am "update translations"
|
||||
git push
|
||||
```
|
||||
|
||||
## Adding Checkpoints
|
||||
|
||||
Adding checkpoints make SDL sync much faster, especially for brand new wallets. If there are no recent checkpoints,
|
||||
when a user makes a new wallet, it will sync from a block far in the past, which wastes time, bandwidth and CPU resources. To add a checkpoint , they are added to the file `lib/src/lightclient/checkpoints.rs` in the silentdragonlite-cli repo, and then the dependency on silentdragonlite-cli is updated in this SDL repo. Here is an example commit that updates checkpoints:
|
||||
|
||||
https://git.hush.is/hush/silentdragonlite-cli/commit/ef477f152e1a8bb8a5f7883a99e2a74a6f9eeb0b
|
||||
|
||||
To actually generate the checkpoint data, use the `sdl_checkpoints.pl` script in the hush3 repo: https://git.hush.is/hush/hush3/src/branch/master/contrib/sdl_checkpoints.pl . It uses the `getblockmerkletree` RPC to get the merkle tree data for a block height. It prints the data out in the format that checkpoints.rs wants it in, you simply need to copy and paste the output into the checkpoints.rs file. Once the data is updated in silentdragonlite-cli checkpoints.rs file, the file `lib/Cargo.toml` must be updated in this repo, and point to the commit id of the updated data. Once you update the manually-edited `Cargo.toml` you must run `cargo update` to update the generated `Cargo.lock` file. See https://doc.rust-lang.org/cargo/commands/cargo-update.html for more info. Once both files are updates, commit and push.
|
||||
|
||||
---
|
||||
|
||||
To fix `error: failed to select a version for the requirement 'aes = "^0.3"'` add the following to `.cargo/config.toml`:
|
||||
|
||||
```
|
||||
[source.crates-io]
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source.vendored-sources]
|
||||
directory = "vendor"
|
||||
```
|
||||
|
||||
To update the file run `cargo vendor` as was mentioned in https://git.hush.is/hush/SilentDragonLite/issues/91.
|
||||
|
||||
---
|
||||
|
||||
## Release process
|
||||
|
||||
...
|
||||
33
doc/relnotes.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# SilentDragonLite v1.5.3 "Mythical Coelacanth"
|
||||
|
||||
* Change lite server after sending a tx for improved privacy: https://git.hush.is/hush/SilentDragonLite/commit/a8fc12e0e2b2324db21407f4848f2d4aa59f4575.
|
||||
* Update silentdragonlite-cli dependency, this makes syncing new wallets drastically faster: https://git.hush.is/hush/SilentDragonLite/commit/670bc598265f70b7140af4b8287ddcf28a6a6a04.
|
||||
* Add backend servers `lite.hushpool.is` and `lite2.hushpool.is`: https://git.hush.is/hush/SilentDragonLite/commit/6c5ffca05615b21ea3651897f108eb576ecc07a8, https://git.hush.is/hush/SilentDragonLite/commit/1a7af9682c2bb42959d0a8e0c826477f1ee79c95.
|
||||
* Add backend servers `poop.granitefone.me` and `wtfistheinternet.hush.is`: https://git.hush.is/hush/SilentDragonLite/commit/8a5c8e4898aac993736a150f77c880a3b6c153f8, https://git.hush.is/hush/SilentDragonLite/commit/5427d400e406915562aa285bbc3bb325092672c7.
|
||||
* Add backend servers `lite.myhush.org` and `lite.hush.community`: https://git.hush.is/hush/SilentDragonLite/commit/c0fe5d281cdd21da6f55d0fc300842ab4f729c22
|
||||
* Remove sprout code and unused migration ui: https://git.hush.is/hush/SilentDragonLite/commit/6cab5f68f9b2c59b23ae590515ed802abe7d08e7, https://git.hush.is/hush/SilentDragonLite/commit/3f9fc49207c2455dad857f76984fef5ba35560a9.
|
||||
* Fix cancelEvent warning and better logging and error checking, fix some compiler warnings: https://git.hush.is/hush/SilentDragonLite/commit/5f8babd5a192f0f7a30b2b22321c9919fba67187, https://git.hush.is/hush/SilentDragonLite/commit/cbc77e9d58c4808297f63c6da1950ba9a5945b2c.
|
||||
* Fix various bugs in the New Wallet Wizard: https://git.hush.is/hush/SilentDragonLite/commit/7649418a7b52c6452726ba047c8039eb90a79714, https://git.hush.is/hush/SilentDragonLite/commit/ff8692fa391ccb6ea889002a6fff14419a5e68c6, https://git.hush.is/hush/SilentDragonLite/commit/5825b30e71847663fa2666f629c598c781b1480d.
|
||||
* Ignore leading/trailing spaces in wallet birthday when importing a seed: https://git.hush.is/hush/SilentDragonLite/commit/9e8e95200c80cdc9280d406d935dbe9074412a9c.
|
||||
* Welcome screen fix: https://git.hush.is/hush/SilentDragonLite/commit/1f7b8186f06fe6807e107b0ebe5e24c3551a54fd, https://git.hush.is/hush/SilentDragonLite/commit/7398c70e2b9f592310e8727f5c9542ccbcb933a9, https://git.hush.is/hush/SilentDragonLite/commit/7398c70e2b9f592310e8727f5c9542ccbcb933a9.
|
||||
* Show QT Version in About screen: https://git.hush.is/hush/SilentDragonLite/commit/825e50b2ea0a1ce9be9bd78bff784c4790cb11e5.
|
||||
* Removed confusing text about mining: https://git.hush.is/hush/SilentDragonLite/commit/4aeab433a46437ee42b8852c3f455bcae63065e6.
|
||||
* Update translations for Spanish, Russian and Belarusian languages: https://git.hush.is/hush/SilentDragonLite/commit/aabb8c5f292d11fbb73f007dda6651928de63d63, https://git.hush.is/hush/SilentDragonLite/commit/fc3c445f219532440b262721d6bc52f251e20b5e, https://git.hush.is/hush/SilentDragonLite/commit/19e12ba5a6e17264873e4ed084391bb13c30f475.
|
||||
* Add Polish language: https://git.hush.is/hush/SilentDragonLite/commit/a1bb19da8d3242cd1acd80acaaecee8a1979a6dd, https://git.hush.is/hush/SilentDragonLite/commit/78806743b665069d0f65d54d6c69edbec2c89de4.
|
||||
* Memo stuff: https://git.hush.is/hush/SilentDragonLite/commit/25fab30e1dadefdb93f634692d5ff11f10162f0b, https://git.hush.is/hush/SilentDragonLite/commit/fc3f4ce99b813b57e1a81cf053242ccd17ab13d8, https://git.hush.is/hush/SilentDragonLite/commit/fc3f4ce99b813b57e1a81cf053242ccd17ab13d8, https://git.hush.is/hush/SilentDragonLite/commit/fc3f4ce99b813b57e1a81cf053242ccd17ab13d8.
|
||||
* Fix no connection status on sync: https://git.hush.is/hush/SilentDragonLite/commit/e179e723f5d6243e74a432273da7ea73893fe174.
|
||||
* Try to avoid coredumping if zrpc object doesn't exist, which can happen if backend server is misbehaving: https://git.hush.is/hush/SilentDragonLite/commit/fd2fb3757add1d407bf9b8a46652712b9ca88fa7, https://git.hush.is/hush/SilentDragonLite/commit/42b5d182ee639933a8dd639f12f5c99e66f55a63.
|
||||
* Add debugging: https://git.hush.is/hush/SilentDragonLite/commit/f872c0af6b3a8c6116c580cf9883ac21e14b4d6b, https://git.hush.is/hush/SilentDragonLite/commit/760729f1b1833e4a4fdb398abfed09e405c633ff.
|
||||
* Add rustc, cargo and libsodium checks: https://git.hush.is/hush/SilentDragonLite/commit/e6d3c8db51752179e630ab271eba4eea53dd2ac2, https://git.hush.is/hush/SilentDragonLite/commit/fc474d797dc170126a9451d4336bad3d36101cf4.
|
||||
* Update graphics: https://git.hush.is/hush/SilentDragonLite/commit/69ea9ace50de72593c86be7f54871130631c3ba1, https://git.hush.is/hush/SilentDragonLite/commit/fe15384c10783e061a41165ea3fd82b55bb932de.
|
||||
* Less Microsoft: https://git.hush.is/hush/SilentDragonLite/commit/b0d6aa3285706b50b233a8b8c523b9f2899a272f.
|
||||
* Windows binary was provided. (in progress)
|
||||
* Linux binary and debian package were provided. (in progress)
|
||||
|
||||
# SilentDragonLite v1.5.2 "Zany Zulu"
|
||||
|
||||
* Fixes connection problems for older versions
|
||||
* Updated one of the community servers to new domain: lite.hush.land
|
||||
* Fix bug where trailing slash on server name crashes SDL
|
||||
* Improved error-handling of invalid data at libsodium layer
|
||||
* Avoid showing corrupted ciphertext in GUI
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
## Crosscompile for Windows (only tested for Ubuntu 18.04)
|
||||
## Crosscompile for Windows (only tested for Ubuntu 18.04) by DenioD
|
||||
|
||||
```
|
||||
# build dependencies
|
||||
@@ -52,7 +52,7 @@ make -j$(nproc) install
|
||||
```
|
||||
# Build MXE (Cross-compiled Qt5 for Windows in Linux)
|
||||
```
|
||||
mkdir ~/github && cd ~/github
|
||||
mkdir ~/git && cd ~/git
|
||||
git clone https://github.com/mxe/mxe.git
|
||||
cd mxe
|
||||
|
||||
@@ -71,3 +71,10 @@ echo 'source $HOME/.cargo/env' >> $HOME/.bashrc
|
||||
./win-static-build.sh
|
||||
|
||||
```
|
||||
|
||||
# Adding a new SDL lite server backend to the code
|
||||
|
||||
* Add the new server name to the array in getRandomServer() in settings.cpp
|
||||
* Add the new server to dropdown in mainwindow.cpp
|
||||
|
||||
TODO: Make both of these places use a single list of servers.
|
||||
1957
lib/Cargo.lock
generated
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "qtlib"
|
||||
version = "0.1.0"
|
||||
authors = ["zecwallet"]
|
||||
authors = ["zecwallet", "The Hush Developers"]
|
||||
edition = "2018"
|
||||
|
||||
[lib]
|
||||
@@ -12,4 +12,4 @@ crate-type = ["staticlib"]
|
||||
libc = "0.2.58"
|
||||
lazy_static = "1.4.0"
|
||||
blake3 = "0.3.4"
|
||||
silentdragonlitelib = { git = "https://git.hush.is/hush/silentdragonlite-cli", rev = "8535a11e3774d79de2ebeaa5540567ccb4988f81" }
|
||||
silentdragonlitelib = { git = "https://git.hush.is/hush/silentdragonlite-cli", rev = "0181b16fd037f98c760e668bb6af8a41dd0d6267" }
|
||||
|
||||
@@ -223,4 +223,4 @@ pub extern fn litelib_rust_free_string(s: *mut c_char) {
|
||||
if s.is_null() { return }
|
||||
CString::from_raw(s)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
break FileSystem::readContactsOldFormat
|
||||
|
||||
BIN
res/Anonymous.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
res/Berg.png
|
Before Width: | Height: | Size: 68 KiB |
BIN
res/Elsa.png
|
Before Width: | Height: | Size: 92 KiB |
BIN
res/Garfield.png
|
Before Width: | Height: | Size: 106 KiB |
BIN
res/Mickey.png
|
Before Width: | Height: | Size: 57 KiB |
BIN
res/Pinguin.png
|
Before Width: | Height: | Size: 52 KiB |
BIN
res/Popey.png
|
Before Width: | Height: | Size: 38 KiB |
BIN
res/Snoopy.png
|
Before Width: | Height: | Size: 45 KiB |
BIN
res/Stag.png
|
Before Width: | Height: | Size: 140 KiB |
BIN
res/Yoda.png
|
Before Width: | Height: | Size: 82 KiB |
@@ -1,5 +1,5 @@
|
||||
|
||||
QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow, ChatModel, requestDialog
|
||||
QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow
|
||||
{
|
||||
background-color: #303335;
|
||||
color: #ffffff;
|
||||
@@ -25,7 +25,7 @@ QTabWidget QTabBar::tab:hover {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #747577, stop: 1 #3E4244);
|
||||
color:#fff;
|
||||
border: 1px ridge #fff;
|
||||
min-height: 20px;
|
||||
min-height: 20px
|
||||
}
|
||||
|
||||
QHeaderView { /* Table Header */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QWidget, QPlainTextEdit, QLineEdit, QLabel, MainWindow
|
||||
QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QScrollArea, QGroupBox, QWidget, QPlainTextEdit, QLineEdit, QLabel, MainWindow
|
||||
{
|
||||
background-color: #dadada;
|
||||
color: #000000;
|
||||
|
||||
@@ -9,7 +9,7 @@ Website: https://www.csharpe.me
|
||||
License: https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow
|
||||
QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow, QPixmap, QHBoxLayout, QVBoxLayout, QGridLayout, QAbstractItemView, QFrame
|
||||
{
|
||||
background-color: #111;
|
||||
color: #fff;
|
||||
@@ -23,6 +23,7 @@ QPushButton:hover {
|
||||
background: #222;
|
||||
}
|
||||
|
||||
/*
|
||||
QLineEdit, QRadioButton::indicator::unchecked, QCheckBox::indicator::unchecked {
|
||||
background: #222;
|
||||
border: 1px solid #333;
|
||||
@@ -35,19 +36,24 @@ font-size: 12px;
|
||||
|
||||
QLineEdit:focus {
|
||||
border: 1px solid #9d8400;
|
||||
}
|
||||
}*/
|
||||
|
||||
/*
|
||||
QWidget QLabel {
|
||||
font-size: 11pt;
|
||||
}
|
||||
*/
|
||||
|
||||
QWidget QCheckBox {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
QTabWidget QTabBar::tab {
|
||||
min-height: 15px;
|
||||
padding: 15px 25px;
|
||||
/*min-height: 15px;*/
|
||||
padding-left:20px;
|
||||
padding-right:20px;
|
||||
padding-top:5px;
|
||||
padding-bottom:5px;
|
||||
border: 1px ridge #222;
|
||||
left: 1px; /* Fix 1px alignment */
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111);
|
||||
@@ -62,6 +68,7 @@ border-bottom: 0px; /* Overwrites border-bottom */
|
||||
|
||||
QTabWidget QTabBar::tab:hover {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #555, stop: 1 #111);
|
||||
min-height: 20px
|
||||
}
|
||||
|
||||
QHeaderView { /* Table Header */
|
||||
@@ -74,7 +81,7 @@ background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, st
|
||||
color:#fff;
|
||||
min-height:25px;
|
||||
font-weight:bold;
|
||||
font-size:12px;
|
||||
font-size:11px;
|
||||
outline:0;
|
||||
border:1px ridge #222;
|
||||
padding: 2px 5px;
|
||||
@@ -112,8 +119,8 @@ color: #fff;
|
||||
QMenuBar::item {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #222, stop: 1 #111);
|
||||
color: #fff;
|
||||
padding: 5px 7px;
|
||||
margin: 0px;
|
||||
/*padding: 5px 7px;
|
||||
margin: 0px;*/
|
||||
}
|
||||
|
||||
QMenuBar::item:selected {
|
||||
|
||||
114
res/css/dragonx.css
Normal file
@@ -0,0 +1,114 @@
|
||||
QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow {
|
||||
background-color: #232834;
|
||||
color: #91a4b8;
|
||||
}
|
||||
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);
|
||||
}
|
||||
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;
|
||||
}
|
||||
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
|
||||
}
|
||||
QHeaderView {
|
||||
/* Table Header */
|
||||
background-color:#232834;
|
||||
}
|
||||
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;
|
||||
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;
|
||||
}
|
||||
QHeaderView::section:last {
|
||||
border-right: 0px solid #d7d7d7;
|
||||
}
|
||||
QScrollArea {
|
||||
background:transparent;
|
||||
border:0px;
|
||||
}
|
||||
QTableView {
|
||||
/* Table - has to be selected as a class otherwise it throws off QCalendarWidget */
|
||||
background:#232834;
|
||||
}
|
||||
QTableView::item {
|
||||
/* Table Item */
|
||||
background-color:#232834;
|
||||
border:1px solid #91a4b8;
|
||||
font-size:12px;
|
||||
}
|
||||
QTableView::item:selected {
|
||||
/* Table Item Selected */
|
||||
background-color:#91a4b8;
|
||||
color:#232834;
|
||||
}
|
||||
QMenuBar {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #343F4B, stop: 1 #232834);
|
||||
color: #91a4b8;
|
||||
}
|
||||
QMenuBar::item {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #343F4B, stop: 1 #232834);
|
||||
color: #91a4b8;
|
||||
}
|
||||
QMenuBar::item:selected {
|
||||
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #343F4B, stop: 1 #232834);
|
||||
}
|
||||
QPushButton#startmining {
|
||||
background-color: #343F4B;
|
||||
border-color: #91A4B8;
|
||||
padding: 10px;
|
||||
}
|
||||
QPushButton#startmining:hover {
|
||||
background-color: #232834;
|
||||
}
|
||||
QPushButton#startmining:pressed {
|
||||
background-color: #232834;
|
||||
}
|
||||
QPushButton#startmining:disabled {
|
||||
background-color: #232834;
|
||||
}
|
||||
QPushButton#stopmining {
|
||||
background-color: #343F4B;
|
||||
border-color: #91A4B8;
|
||||
padding: 10px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
QPushButton#stopmining:hover {
|
||||
background-color: #232834;
|
||||
}
|
||||
QPushButton#stopmining:pressed {
|
||||
background-color: #232834;
|
||||
}
|
||||
QPushButton#stopmining:disabled {
|
||||
background-color: #232834;
|
||||
}
|
||||
QComboBox#genproclimit{
|
||||
font-size: 24px;
|
||||
height: 40px;
|
||||
}
|
||||
QMenu::item:selected{
|
||||
background-color: #343F4B
|
||||
}
|
||||
BIN
res/darkwing.png
|
Before Width: | Height: | Size: 174 KiB |
BIN
res/fekt.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 19 KiB |
BIN
res/jahway603.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
res/libsodium.a
Normal file
@@ -1,26 +1,51 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2019-2023 The Hush developers
|
||||
# Released under the GPLv3
|
||||
VERSION=1.0.18
|
||||
|
||||
# First thing to do is see if libsodium.a exists in the res folder. If it does, then there's nothing to do
|
||||
if [ -f res/libsodium.a ]; then
|
||||
echo "libsodium $VERSION is already built! Nothing to do"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Building libsodium"
|
||||
echo "Building libsodium $VERSION"
|
||||
|
||||
if ! command -v curl &> /dev/null
|
||||
then
|
||||
echo "curl could not be found. Please install it and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Go into the lib sodium directory
|
||||
cd res/libsodium
|
||||
if [ ! -f libsodium-1.0.18.tar.gz ]; then
|
||||
curl -LO https://github.com/MyHush/libsodium/releases/download/1.0.18/libsodium-1.0.18.tar.gz
|
||||
echo "Downloading libsodium $VERSION"
|
||||
curl -L https://git.hush.is/attachments/0d9f589e-a9f9-4ddb-acaa-0f1b423b32eb -o libsodium-1.0.18.tar.gz
|
||||
fi
|
||||
|
||||
if [ ! -f libsodium-1.0.18.tar.gz ]; then
|
||||
echo "Unable to download libsodium $VERSION !!! Aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d libsodium-1.0.18 ]; then
|
||||
echo "Unpacking libsodium $VERSION"
|
||||
tar xf libsodium-1.0.18.tar.gz
|
||||
fi
|
||||
|
||||
if [ ! -d libsodium-1.0.18 ]; then
|
||||
echo "Unable to unpack libsodium $VERSION !!! Aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Now build it
|
||||
cd libsodium-1.0.18
|
||||
echo "Configuring libsodium $VERSION"
|
||||
LIBS="" ./configure
|
||||
make clean
|
||||
|
||||
echo "Compiling libsodium $VERSION"
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
make CFLAGS="-mmacosx-version-min=10.11" CPPFLAGS="-mmacosx-version-min=10.11" -j4
|
||||
else
|
||||
@@ -28,5 +53,10 @@ else
|
||||
fi
|
||||
cd ..
|
||||
|
||||
if [ ! -e libsodium-1.0.18/src/libsodium/.libs/libsodium.a ]; then
|
||||
echo "Unable to compile libsodium $VERSION !!! Aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# copy the library to the parents's res/ folder
|
||||
cp libsodium-1.0.18/src/libsodium/.libs/libsodium.a ../
|
||||
|
||||
BIN
res/lock_closed.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
res/lock_open.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
res/logobig.gif
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 8.3 KiB |
BIN
res/onryo.png
Normal file
|
After Width: | Height: | Size: 119 KiB |
BIN
res/remove.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
res/send.png
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
res/silentdragonlite_be.qm
Normal file
BIN
res/silentdragonlite_nl.qm
Normal file
2843
res/silentdragonlite_nl.ts
Normal file
BIN
res/silentdragonlite_pl.qm
Normal file
2850
res/silentdragonlite_pl.ts
Normal file
BIN
res/silentdragonlite_ru.qm
Normal file
BIN
res/synced.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
res/transaction0.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
res/transaction2.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
res/transaction_abandoned.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
res/transaction_conflicted.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
res/tx_inout.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
res/tx_input.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
res/tx_mined.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
res/tx_output.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
res/verify.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
res/warning.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 79 KiB |
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2019-2021 The Hush Developers
|
||||
# Copyright 2019-2023 The Hush Developers
|
||||
|
||||
./build.sh && ./SilentDragonLite
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
# Project created by QtCreator 2018-10-05T09:54:45
|
||||
#
|
||||
#-------------------------------------------------
|
||||
# Copyright 2019-2021 The Hush Developers
|
||||
# Copyright 2019-2023 The Hush Developers
|
||||
# Released under the GPLv3
|
||||
|
||||
QT += core gui network
|
||||
|
||||
@@ -87,6 +88,7 @@ SOURCES += \
|
||||
src/Crypto/passwd.cpp
|
||||
|
||||
HEADERS += \
|
||||
src/guiconstants.h \
|
||||
src/firsttimewizard.h \
|
||||
src/mainwindow.h \
|
||||
src/precompiled.h \
|
||||
@@ -125,7 +127,6 @@ FORMS += \
|
||||
src/encryption.ui \
|
||||
src/hushrequest.ui \
|
||||
src/mainwindow.ui \
|
||||
src/migration.ui \
|
||||
src/newseed.ui \
|
||||
src/newwallet.ui \
|
||||
src/recurringpayments.ui \
|
||||
@@ -163,7 +164,9 @@ TRANSLATIONS = res/silentdragonlite_ar.ts \
|
||||
res/silentdragonlite_hr.ts \
|
||||
res/silentdragonlite_id.ts \
|
||||
res/silentdragonlite_it.ts \
|
||||
res/silentdragonlite_nl.ts \
|
||||
res/silentdragonlite_pt.ts \
|
||||
res/silentdragonlite_pl.ts \
|
||||
res/silentdragonlite_ro.ts \
|
||||
res/silentdragonlite_ru.ts \
|
||||
res/silentdragonlite_sr.ts \
|
||||
|
||||
2
src/3rdparty/sodium.h
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
|
||||
#ifndef sodium_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
|
||||
#include "Chat.h"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#ifndef CHAT_H
|
||||
#define CHAT_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// GPLv3
|
||||
|
||||
#ifndef CHATDELEGATOR_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#include "FileEncryption.h"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#ifndef FILEENCRYPTION_H
|
||||
#define FILEENCRYPTION_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#include "passwd.h"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#ifndef PASSWD_H
|
||||
#define PASSWD_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
|
||||
#include "ChatDataStore.h"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#ifndef CHATDATASTORE_H
|
||||
#define CHATDATASTORE_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// GPLv3
|
||||
|
||||
#include "ContactDataStore.h"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#ifndef CONTACTDATASTORE_H
|
||||
#define CONTACTDATASTORE_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#ifndef DATASTORE_H
|
||||
#define DATASTORE_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#include "DataStore.h"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#ifndef DATASTORE_H
|
||||
#define DATASTORE_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#include "SietchDataStore.h"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#ifndef SIETCHDATASTORE_H
|
||||
#define SIETCHDATASTORE_H
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019-2021 The Hush developers
|
||||
// Copyright 2019-2023 The Hush developers
|
||||
// Released under the GPLv3
|
||||
#include "FileSystem.h"
|
||||
|
||||
|
||||