diff --git a/.gitignore b/.gitignore
index 6584f61..ae1206b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@ bin/
debug/
release/
x64/
+artifacts/
.vscode/
src/ui_*.h
*.autosave
diff --git a/src/scripts/mkrelease.sh b/src/scripts/mkrelease.sh
index 69be80c..aefff34 100755
--- a/src/scripts/mkrelease.sh
+++ b/src/scripts/mkrelease.sh
@@ -53,14 +53,15 @@ cp README.md bin/zec-qt-wallet-v$APP_VERSION > /dev/null
cp LICENSE bin/zec-qt-wallet-v$APP_VERSION > /dev/null
cd bin && tar cvf linux-zec-qt-wallet-v$APP_VERSION.tar.gz zec-qt-wallet-v$APP_VERSION/ > /dev/null
cd ..
-cp bin/linux-zec-qt-wallet-v$APP_VERSION.tar.gz .
+mkdir artifacts
+cp bin/linux-zec-qt-wallet-v$APP_VERSION.tar.gz ./artifacts
-if [ -f linux-zec-qt-wallet-v$APP_VERSION.tar.gz ] ; then
+if [ -f artifacts/linux-zec-qt-wallet-v$APP_VERSION.tar.gz ] ; then
echo "[OK]"
- echo "Done. Build is linux-zec-qt-wallet-v$APP_VERSION.tar.gz"
+ echo "Done. Build is artifacts/linux-zec-qt-wallet-v$APP_VERSION.tar.gz"
echo "Package contents:"
- tar tf "linux-zec-qt-wallet-v$APP_VERSION.tar.gz"
+ tar tf "artifacts/linux-zec-qt-wallet-v$APP_VERSION.tar.gz"
else
echo "[ERROR]"
exit 1
@@ -92,15 +93,16 @@ cp README.md release/zec-qt-wallet-v$APP_VERSION
cp LICENSE release/zec-qt-wallet-v$APP_VERSION
cd release && zip -r Windows-zec-qt-wallet-v$APP_VERSION.zip zec-qt-wallet-v$APP_VERSION/ > /dev/null
cd ..
-cp release/Windows-zec-qt-wallet-v$APP_VERSION.zip .
+mkdir artifacts
+cp release/Windows-zec-qt-wallet-v$APP_VERSION.zip ./artifacts
-if [ -f Windows-zec-qt-wallet-v$APP_VERSION.zip ] ; then
+if [ -f artifacts/Windows-zec-qt-wallet-v$APP_VERSION.zip ] ; then
echo "[OK]"
- echo "Done. Build is Windows-zec-qt-wallet-v$APP_VERSION.zip"
+ echo "Done. Build is artifacts/Windows-zec-qt-wallet-v$APP_VERSION.zip"
echo "Package contents:"
- unzip -l "Windows-zec-qt-wallet-v$APP_VERSION.zip"
+ unzip -l "artifacts/Windows-zec-qt-wallet-v$APP_VERSION.zip"
else
echo "[ERROR]"
exit 1
diff --git a/src/scripts/mkwininstaller.ps1 b/src/scripts/mkwininstaller.ps1
new file mode 100644
index 0000000..06edc8c
--- /dev/null
+++ b/src/scripts/mkwininstaller.ps1
@@ -0,0 +1,15 @@
+if (-not (Test-Path env:APP_VERSION)) { echo "APP_VERSION is not set. Please set it to the version you want to build, like 0.1.6"; exit; }
+$target="zec-qt-wallet-v$Env:APP_VERSION"
+
+echo "Building Installer"
+Remove-Item -Path release/wininstaller -Recurse | Out-Null
+New-Item release/wininstaller -itemtype directory | Out-Null
+
+Copy-Item release/$target/zec-qt-wallet.exe release/wininstaller/
+Copy-Item src/scripts/zec-qt-wallet.wxs release/wininstaller/
+
+candle.exe release/wininstaller/zec-qt-wallet.wxs -o release/wininstaller/zec-qt-wallet.wixobj
+light.exe -ext WixUIExtension -cultures:en-us release/wininstaller/zec-qt-wallet.wixobj -out release/wininstaller/zec-qt-wallet.msi
+
+New-Item artifacts -itemtype directory | Out-Null
+Copy-Item release/wininstaller/zec-qt-wallet.msi ./artifacts/$target.msi
\ No newline at end of file
diff --git a/src/scripts/mkwinrelease.ps1 b/src/scripts/mkwinrelease.ps1
deleted file mode 100644
index af34195..0000000
--- a/src/scripts/mkwinrelease.ps1
+++ /dev/null
@@ -1,46 +0,0 @@
-if (-not (Test-Path env:QT_DIR)) { echo "QT_DIR is not set. Please set it to the Qt directory from where you'd like to build. Usually, this is the installation directory of Qt."; exit; }
-if (-not (Test-Path env:APP_VERSION)) { echo "APP_VERSION is not set. Please set it to the version you want to build, like 0.1.6"; exit; }
-
-$target="zec-qt-wallet-v$Env:APP_VERSION"
-
-echo "Git Status"
-$branch= &git branch | select -first 1
-if ($branch -ne "* master") {
- echo "Not on master branch!"
- exit;
-}
-git pull
-
-echo "Cleaning"
-nmake clean *>$null
-Remove-Item -Path debug -Recurse | Out-Null
-Remove-Item -Path release -Recurse | Out-Null
-
-# Run qmake
-echo "Configuring"
-& "$Env:QT_DIR\bin\qmake.exe" zec-qt-wallet.pro -spec win32-msvc "CONFIG+=release"
-
-echo "Building"
-nmake *>$null
-# Make a dist directory in release
-New-Item release/$target -itemtype directory | Out-Null
-Move-Item release/zec-qt-wallet.exe release/$target | Out-Null
-
-echo "Copying"
-# No need for deploy, since we're using a static Qt5 library
-& "$Env:QT_DIR\bin\windeployqt.exe" release/$target/zec-qt-wallet.exe *>$null
-Copy-Item LICENSE release/$target | Out-Null
-Copy-Item README.md release/$target | Out-Null
-
-echo "Zipping"
-Compress-Archive -LiteralPath release/$target -DestinationPath "release/Windows-$target.zip"
-
-#echo "Package Contents"
-#[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')
-#foreach($sourceFile in (Get-ChildItem "release/Windows-$target.zip"))
-#{
-# [IO.Compression.ZipFile]::OpenRead($sourceFile.FullName).Entries.FullName |
-# %{ "$sourcefile`:$_" }
-#}
-
-echo "Done"
\ No newline at end of file
diff --git a/src/scripts/qt5.natvis b/src/scripts/qt5.natvis
deleted file mode 100644
index 95eedd0..0000000
--- a/src/scripts/qt5.natvis
+++ /dev/null
@@ -1,712 +0,0 @@
-
-
-
-
-
-
-
- {{ x = {xp}, y = {yp} }}
-
- - xp
- - yp
-
-
-
-
- {{ x = {x1}, y = {y1}, width = {x2 - x1 + 1}, height = {y2 - y1 + 1} }}
-
- - x1
- - y1
- - x2 - x1 + 1
- - y2 - y1 + 1
-
-
-
-
- {{ x = {xp}, y = {yp}, width = {w}, height = {h} }}
-
- - xp
- - yp
- - w
- - h
-
-
-
-
-
- {{ width = {wd}, height = {ht} }}
-
- - wd
- - ht
-
-
-
-
-
- {{ start point = {pt1}, end point = {pt2} }}
-
-
- {pt1}
-
- pt1
-
-
-
- {pt2}
-
- pt2
-
-
-
-
-
-
-
- {{ size = {d->size} }}
-
- - d->ref.atomic._q_value
-
- d->size
- (QPoint*)((reinterpret_cast<char*>(d)) + d->offset)
-
-
-
-
-
- {{ size = {d->size} }}
-
- -
- d->size > 0
- && ((((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[0]).xp
- == (((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[d->size - 1]).xp)
- && ((((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[0]).yp
- == (((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[d->size - 1]).yp)
-
- - d->ref.atomic._q_value
-
- d->size
- (QPointF*)((reinterpret_cast<char*>(d)) + d->offset)
-
-
-
-
-
- {{ x = {xp}, y = {yp} }}
-
- - xp
- - yp
-
-
-
-
- {{ x = {xp}, y = {yp}, z = {zp} }}
-
- - xp
- - yp
- - zp
-
-
-
-
- {{ x = {xp}, y = {yp}, z = {zp}, w = {wp} }}
-
- - xp
- - yp
- - zp
- - wp
-
-
-
-
-
- {{ m11 = {_m11}, m12 = {_m12}, m21 = {_m21}, m22 = {_m22}, ... }}
-
-
- - _m11
- - _m12
- - _m21
- - _m22
- - _dx
- - _dy
-
-
-
-
-
- {{ m11 = {m[0][0]}, m12 = {m[1][0]}, m13 = {m[2][0]}, m14 = {m[3][0]}, ... }}
-
-
- - m[0][0]
- - m[1][0]
- - m[2][0]
- - m[3][0]
- - m[0][1]
- - m[1][1]
- - m[2][1]
- - m[3][1]
- - m[0][2]
- - m[1][2]
- - m[2][2]
- - m[3][2]
- - m[0][3]
- - m[1][3]
- - m[2][3]
- - m[3][3]
-
-
-
-
-
- {{ horizontal = {static_cast<Policy>(bits.horPolicy)}, vertical = {static_cast<Policy>(bits.verPolicy)}, type = {ControlType(1 << bits.ctype)} }}
-
-
-
- QSizePolicy::Policy::{static_cast<Policy>(bits.verPolicy)}
-
-
- QSizePolicy::Policy::{static_cast<Policy>(bits.horPolicy)}
-
-
- QSizePolicy::ControlType::{ControlType(1 << bits.ctype)}
-
-
-
- Qt::Vertical (2)
-
-
- Qt::Horizontal (1)
-
-
- - static_cast<int>(bits.verStretch)
- - static_cast<int>(bits.horStretch)
- - bits.hfw == 1
- - bits.wfh == 1
-
-
-
-
- {ucs,c}
- ucs,c
-
- - ucs > 0xff ? '\0' : char(ucs),c
- - ucs,c
-
-
-
-
- {((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub}
- ((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub
-
- - d->size
- - d->ref.atomic._q_value
-
- d->size
- ((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),c
-
-
-
-
-
- {((reinterpret_cast<char*>(d)) + d->offset),sb}
- ((reinterpret_cast<char*>(d)) + d->offset),sb
-
- - d->size
- - d->ref.atomic._q_value
-
- d->size
- ((reinterpret_cast<char*>(d)) + d->offset),c
-
-
-
-
-
- {{ size = {(d.d->size << 3) - *((reinterpret_cast<char*>(d.d)) + d.d->offset)} }}
-
- - d.d->ref.atomic._q_value
-
- (d.d->size << 3) - *((reinterpret_cast<char*>(d.d)) + d.d->offset)
-
- (*(reinterpret_cast<const unsigned char*>((reinterpret_cast<char*>(d.d)) + d.d->offset) + 1
- + ($i >> 3)) & (1 << ($i & 7))) != 0
-
-
-
-
-
-
-
- {{ size = {s} }}
-
- - a
-
- s
- ptr
-
-
-
-
-
- {{ julian day = {jd} }}
-
-
-
-
- {{ millisecond = {mds} }}
- {{ milliseconds = {mds} }}
-
- - mds / 3600000, d
- - mds / 3600000, d
- - (mds % 3600000) / 60000, d
- - (mds % 3600000) / 60000, d
- - (mds / 1000) % 60, d
- - (mds / 1000) % 60, d
- - mds % 1000, d
- - mds % 1000, d
-
-
-
-
- {d.pattern}
-
-
-
-
- - ref._q_value
-
-
-
-
- strong reference to shared pointer of type {"$T1"}
-
- - value == 0
- - d->weakref._q_value
- - d->strongref._q_value
-
-
-
-
- pointer to implicit shared object of type {"$T1"}
-
- d
-
-
-
-
- pointer to explicit shared object of type {"$T1"}
-
- d
-
-
-
-
- guarded pointer to subclass of QObject of type {"$T1"}
-
- - wp.d == 0 || wp.d->strongref._q_value == 0 || wp.value == 0
-
-
-
-
- weak reference to shared pointer of type {"$T1"}
-
- - d == 0 || d->strongref._q_value == 0 || value == 0
- - d->weakref._q_value
- - d->strongref._q_value
-
-
-
-
- scoped pointer to a dynamically allocated object of type {"$T1"}
-
- - !d
-
-
-
-
- scoped pointer to dynamically allocated array of objects of type {"$T1"}
-
- - !d
-
-
-
-
- ({first}, {second})
-
- - first
- - second
-
-
-
-
-
- {{ size = {d->size} }}
-
- - d->ref.atomic._q_value
-
- d->size
- ($T1*)((reinterpret_cast<char*>(d)) + d->offset)
-
-
-
-
-
-
-
- {{ size = {d->end - d->begin} }}
-
- - d->ref.atomic._q_value
-
- d->end - d->begin
- *reinterpret_cast<$T1*>((sizeof($T1) > sizeof(void*))
- ? reinterpret_cast<Node*>(d->array + d->begin + $i)->v
- : reinterpret_cast<$T1*>(d->array + d->begin + $i))
-
-
-
-
-
-
- {{ size = {d->size} }}
-
- - d->ref.atomic._q_value
-
- d->size
- d->n
- n
- (*(QLinkedListNode<$T1>*)this).t
-
-
-
-
-
- ({key}, {value})
-
- - key
- - value
-
-
-
-
-
- {{ size = {d->size} }}
-
- - d->ref.atomic._q_value
-
- d->size
- d->header.left
- left
- right
- *((QMapNode<$T1,$T2>*)this)
-
-
-
-
-
- (empty)
- ({key}, {value})
-
- - key
- - value
-
-
-
-
-
- {{ size = {d->size} }}
-
- - d->ref.atomic._q_value
-
- d->numBuckets
- *((QHashNode<$T1,$T2>*)d->buckets[$i])
-
-
-
-
-
- (empty)
- ({key})
-
- - key
-
-
-
-
- {{ size = {q_hash.d->size} }}
-
- q_hash
-
-
-
-
- ({*keyPtr}, {*t})
-
- - *keyPtr
- - *t
-
-
-
-
- {{ size = {hash.d->size} }}
-
- - mx
- - total
- - hash.d->ref.atomic._q_value
-
- hash.d->size
- f
- n
- *((Node*)this)
-
-
-
-
-
-
-
- Invalid
- {d.data.b}
- {d.data.i}
- {d.data.u}
- {d.data.ll}
- {d.data.ull}
- {d.data.d}
- {d.data.c}
-
- {*((QMap<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QList<QVariant>*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QString*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QStringList*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QByteArray*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QBitArray*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QDate*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QTime*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
- DateTime
- Url
- Locale
-
- {*((QRect*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QRectF*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QSize*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QSizeF*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QLine*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QLineF*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QPoint*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
-
- {*((QPointF*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
- RegExp
- RegularExpression
-
- {*((QHash<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))}
-
- EasingCurve
- Uuid
- ModelIndex
- LastCoreType
- Font
- Pixmap
- Brush
- Color
- Palette
- Image
- Polygon
- Region
- Bitmap
- Cursor
- KeySequence
- Pen
- TextLength
- TextFormat
- Matrix
- Transform
- Matrix4x4
- Vector2D
- Vector3D
- Vector4D
- Quaternion
- PolygonF
- Icon
- LastGuiType
- SizePolicy
- UserType
- LastType
-
-
-
-
-
- d.data.c
-
-
- *((QString*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
-
- *((QByteArray*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
-
-
-
-
-
-
- *((QMap<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QList<QVariant>*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QString*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QStringList*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QByteArray*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QBitArray*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QDate*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QTime*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QRect*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QRectF*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QSize*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QSizeF*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QLine*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QLineF*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QPoint*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QPointF*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
- *((QHash<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr
- : reinterpret_cast<const void *>(&d.data.ptr)))
-
-
-
-
-
-
-
diff --git a/src/scripts/zec-qt-wallet.wxs b/src/scripts/zec-qt-wallet.wxs
index 2f0ac4a..cd31f87 100644
--- a/src/scripts/zec-qt-wallet.wxs
+++ b/src/scripts/zec-qt-wallet.wxs
@@ -55,6 +55,7 @@
Name="zec-qt-wallet" WorkingDirectory="INSTALLFOLDER" >
+