diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7794f20..f2a3d14 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,7 +38,6 @@ set(SOURCES
src/logger.cpp
src/okbutton.cpp
src/statusbar.cpp
- src/tableview.cpp
src/windoweditemmodel.cpp
src/walletmodel.cpp
src/sendframe.cpp
@@ -46,7 +45,6 @@ set(SOURCES
src/resizablescrollarea.cpp
src/common.cpp
src/connectionoptionsframe.cpp
- src/optionsdialog.cpp
src/settings.cpp
src/Miner/Miner.cpp
src/Miner/StratumClient.cpp
@@ -56,7 +54,6 @@ set(SOURCES
src/MiningFrame.cpp
src/MiningManager.cpp
src/PoolHeaderView.cpp
- src/QuestionDialog.cpp
src/connectselectiondialog.cpp
src/walletd.cpp
src/rpcapi.cpp
@@ -76,6 +73,10 @@ set(SOURCES
src/popup.cpp
src/logframe.cpp
src/askpassworddialog.cpp
+ src/importkeydialog.cpp
+ src/questiondialog.cpp
+ src/PoolTreeView.cpp
+
)
include_directories(${CMAKE_BINARY_DIR} src )
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..65c5ca8
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/ReleaseNotes.md b/ReleaseNotes.md
new file mode 100644
index 0000000..59f673c
--- /dev/null
+++ b/ReleaseNotes.md
@@ -0,0 +1,13 @@
+## Release Notes
+
+### v.2.0.0-beta-20180219
+
+- Added importing keys.
+- Fixed stealing focus.
+- Fixed mining pools table (deleting and moving).
+- Added HTTP basic authentication.
+- Made small GUI fixes and stability improvements.
+
+### v2.0.0-beta-20180206
+
+- Project is moved to the new public GitHub repository.
diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt
deleted file mode 100644
index 07eb1d2..0000000
--- a/ReleaseNotes.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Release notes
-
-v2.0.0-beta-20180206
-
-- Project is moved to the new public GitHub repository
diff --git a/Windows Installer/Installer.sln b/Windows Installer/Installer.sln
index 876d80f..0c11853 100644
--- a/Windows Installer/Installer.sln
+++ b/Windows Installer/Installer.sln
@@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27130.2010
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Installer", "Installer.vdproj", "{301C59C1-45B8-4C42-9696-555FBB855FD6}"
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Bytecoin", "Installer.vdproj", "{301C59C1-45B8-4C42-9696-555FBB855FD6}"
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Bytecoin(32)", "Installer32.vdproj", "{0E4F4AED-6460-4A0A-A77F-C3E093DF3825}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,6 +17,10 @@ Global
{301C59C1-45B8-4C42-9696-555FBB855FD6}.Debug|Default.Build.0 = Debug
{301C59C1-45B8-4C42-9696-555FBB855FD6}.Release|Default.ActiveCfg = Release
{301C59C1-45B8-4C42-9696-555FBB855FD6}.Release|Default.Build.0 = Release
+ {0E4F4AED-6460-4A0A-A77F-C3E093DF3825}.Debug|Default.ActiveCfg = Debug
+ {0E4F4AED-6460-4A0A-A77F-C3E093DF3825}.Debug|Default.Build.0 = Debug
+ {0E4F4AED-6460-4A0A-A77F-C3E093DF3825}.Release|Default.ActiveCfg = Release
+ {0E4F4AED-6460-4A0A-A77F-C3E093DF3825}.Release|Default.Build.0 = Release
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Windows Installer/Installer.vdproj b/Windows Installer/Installer.vdproj
index 9053b24..eff6637 100644
--- a/Windows Installer/Installer.vdproj
+++ b/Windows Installer/Installer.vdproj
@@ -345,7 +345,7 @@
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
- "Compression" = "3:2"
+ "Compression" = "3:3"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
@@ -390,7 +390,7 @@
{
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0203959C71B948929CC2F70BA18158FD"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_ja.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_ja.qm"
"TargetName" = "8:qt_ja.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -410,7 +410,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_08C03B2A62BB43A6A31DA9B700C142CD"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_bg.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_bg.qm"
"TargetName" = "8:qt_bg.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -430,7 +430,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0A9F9DE7818243CC9AF6FF9848954234"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_en.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_en.qm"
"TargetName" = "8:qt_en.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -450,7 +450,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0AA7B0360D694CADB8A9912880F5C9C5"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\iconengines\\qsvgicon.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\iconengines\\qsvgicon.dll"
"TargetName" = "8:qsvgicon.dll"
"Tag" = "8:"
"Folder" = "8:_D97798E34DCA448BB8DA3C08A746F952"
@@ -470,7 +470,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0DA43F67412F414582078021360EF274"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\opengl32sw.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\opengl32sw.dll"
"TargetName" = "8:opengl32sw.dll"
"Tag" = "8:"
"Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
@@ -490,7 +490,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0DE48B59DBC94FEC8C96C25CAAAEFAB6"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_pl.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_pl.qm"
"TargetName" = "8:qt_pl.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -510,7 +510,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_12A3F30B97CE41F0815A84642A6717CE"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_lv.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_lv.qm"
"TargetName" = "8:qt_lv.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -530,7 +530,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_135BB60BCD7D4FA0B115023A3B4BEDDA"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\platforms\\qwindows.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\platforms\\qwindows.dll"
"TargetName" = "8:qwindows.dll"
"Tag" = "8:"
"Folder" = "8:_504C7D1A8F884C06BB98B0FC897AA7A2"
@@ -550,7 +550,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1BCAC82F50454F6FA8D4423CD1A5FE08"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qjpeg.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qjpeg.dll"
"TargetName" = "8:qjpeg.dll"
"Tag" = "8:"
"Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
@@ -570,7 +570,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_313AB37945054BAEB8EF17B6637DBE77"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\Qt5Svg.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\Qt5Svg.dll"
"TargetName" = "8:Qt5Svg.dll"
"Tag" = "8:"
"Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
@@ -610,7 +610,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3E0AFADE5BD540FCA5287616A92F8A3A"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\walletd.exe"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\walletd.exe"
"TargetName" = "8:walletd.exe"
"Tag" = "8:"
"Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
@@ -650,7 +650,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_44CED5AA68DB4B55A39C31DCBEA48E3B"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_it.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_it.qm"
"TargetName" = "8:qt_it.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -670,7 +670,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_48D4A1E27FBD45C09F1B09BEE3F14DFA"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_he.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_he.qm"
"TargetName" = "8:qt_he.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -690,7 +690,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4FDB85C519914B479EA99059664812B9"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_es.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_es.qm"
"TargetName" = "8:qt_es.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -710,7 +710,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_519AD3588A78412FB1F6FA3F0345C539"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\styles\\qwindowsvistastyle.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\styles\\qwindowsvistastyle.dll"
"TargetName" = "8:qwindowsvistastyle.dll"
"Tag" = "8:"
"Folder" = "8:_33FFE844C8BD495AA690C73EFF447FC6"
@@ -730,7 +730,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_58C0BC1B16E54DDB8E1C86674EB9872D"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qwbmp.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qwbmp.dll"
"TargetName" = "8:qwbmp.dll"
"Tag" = "8:"
"Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
@@ -750,7 +750,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5E0362FCFEC84A85A36680A3DCFAA7C4"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\libEGL.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\libEGL.dll"
"TargetName" = "8:libEGL.dll"
"Tag" = "8:"
"Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
@@ -810,7 +810,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6E9CB246C9F74BBCA1EC3422E1425E5D"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_fr.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_fr.qm"
"TargetName" = "8:qt_fr.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -830,7 +830,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_715B92B7C3F04EFCA6A4BD7538F1AEB7"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\libGLESV2.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\libGLESV2.dll"
"TargetName" = "8:libGLESV2.dll"
"Tag" = "8:"
"Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
@@ -850,7 +850,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_75E67CD50F9E40618B5B9E6F81178934"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\bearer\\qgenericbearer.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\bearer\\qgenericbearer.dll"
"TargetName" = "8:qgenericbearer.dll"
"Tag" = "8:"
"Folder" = "8:_EA323EA245EE499B85F5030B0B43A82A"
@@ -870,7 +870,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_775D2937B44142639FC68F643D84110A"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\bytecoin-gui.exe"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\bytecoin-gui.exe"
"TargetName" = "8:bytecoin-gui.exe"
"Tag" = "8:"
"Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
@@ -890,7 +890,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7F4120E589E14325823C59D41CDDD222"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_uk.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_uk.qm"
"TargetName" = "8:qt_uk.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -910,7 +910,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_88FE57A6A8354A4E97A7019B72C07FB5"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_ru.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_ru.qm"
"TargetName" = "8:qt_ru.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -930,7 +930,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_902D9E05D49544E48BC784C9EBED1F8B"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qtga.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qtga.dll"
"TargetName" = "8:qtga.dll"
"Tag" = "8:"
"Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
@@ -950,7 +950,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_908AD2C2A4B640F59CB51A8D3F5DF23A"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_de.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_de.qm"
"TargetName" = "8:qt_de.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -970,7 +970,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_93884783620140F8A8B365EE1B5BF4F4"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_cs.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_cs.qm"
"TargetName" = "8:qt_cs.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -990,7 +990,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_95EA28C236124730A9D75133C147DF70"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_hu.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_hu.qm"
"TargetName" = "8:qt_hu.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -1010,7 +1010,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_960761EF866A42DA82FBB23D42BA1C17"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_fi.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_fi.qm"
"TargetName" = "8:qt_fi.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -1030,7 +1030,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9726E9734DAF439EAD4CE9A87313AF8E"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qico.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qico.dll"
"TargetName" = "8:qico.dll"
"Tag" = "8:"
"Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
@@ -1050,7 +1050,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9A4DCFB50F174B449495FB00D1E1DAD7"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\bearer\\qnativewifibearer.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\bearer\\qnativewifibearer.dll"
"TargetName" = "8:qnativewifibearer.dll"
"Tag" = "8:"
"Folder" = "8:_EA323EA245EE499B85F5030B0B43A82A"
@@ -1070,7 +1070,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9F9F092199BB47A89D76CAA1D1027B6E"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qtiff.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qtiff.dll"
"TargetName" = "8:qtiff.dll"
"Tag" = "8:"
"Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
@@ -1110,7 +1110,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B146F08012F144E99E9D087255813C95"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qwebp.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qwebp.dll"
"TargetName" = "8:qwebp.dll"
"Tag" = "8:"
"Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
@@ -1130,7 +1130,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B71851698DCC418DB79B131BFED724F3"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_ko.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_ko.qm"
"TargetName" = "8:qt_ko.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -1150,7 +1150,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BE1137420D5A48BFB217A8E35488DD64"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_gd.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_gd.qm"
"TargetName" = "8:qt_gd.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -1170,7 +1170,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C6CB2B9377E545BC9F927EE42FA0BB1D"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_sk.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_sk.qm"
"TargetName" = "8:qt_sk.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -1190,7 +1190,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CA2FB00860F84D8F8BC86E8BD6D7F73A"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\d3dcompiler_47.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\d3dcompiler_47.dll"
"TargetName" = "8:d3dcompiler_47.dll"
"Tag" = "8:"
"Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
@@ -1210,7 +1210,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D5E855BCEA934554A96B1560ACB3F65D"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qicns.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qicns.dll"
"TargetName" = "8:qicns.dll"
"Tag" = "8:"
"Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
@@ -1230,7 +1230,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DD5007E49F1F453191894B877B55E55A"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qgif.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qgif.dll"
"TargetName" = "8:qgif.dll"
"Tag" = "8:"
"Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
@@ -1250,7 +1250,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DF5100E4F45A4E618B94E705BC2009C3"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qsvg.dll"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\imageformats\\qsvg.dll"
"TargetName" = "8:qsvg.dll"
"Tag" = "8:"
"Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
@@ -1270,7 +1270,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E18D08080847465797E94E676AE85E12"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_da.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_da.qm"
"TargetName" = "8:qt_da.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -1290,7 +1290,7 @@
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F36C8615A39E4E719D968137A1427FA7"
{
- "SourcePath" = "8:..\\..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_ca.qm"
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2017_64bit-Release\\release\\translations\\qt_ca.qm"
"TargetName" = "8:qt_ca.qm"
"Tag" = "8:"
"Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
@@ -1483,12 +1483,12 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:Bytecoin"
- "ProductCode" = "8:{ACD8D8C5-20B0-47A8-8ED1-BB8FB5F76CC3}"
+ "ProductCode" = "8:{8589E67D-599D-4959-B521-1F10908FA3F5}"
"PackageCode" = "8:{97B81D4E-0610-41F0-9D01-CDECD35E90F1}"
"UpgradeCode" = "8:{DC5C7D60-BB08-4B97-B634-E87679CCEB3C}"
"AspNetVersion" = "8:"
"RestartWWWService" = "11:FALSE"
- "RemovePreviousVersions" = "11:FALSE"
+ "RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:2.0.0"
@@ -1499,7 +1499,7 @@
"Subject" = "8:"
"ARPCONTACT" = "8:Bytecoin Developers"
"Keywords" = "8:"
- "ARPCOMMENTS" = "8:Beta version of new bytecoin from 06 February 2018"
+ "ARPCOMMENTS" = "8:Beta version of new bytecoin from 19 February 2018"
"ARPURLINFOABOUT" = "8:https://bytecoin.org"
"ARPPRODUCTICON" = "8:_ABCF8F071D16461785EDF6D56ED2ABCE"
"ARPIconIndex" = "3:0"
@@ -1706,7 +1706,7 @@
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:2"
- "Value" = "8:WARNING: This is Beta (pre-release) version of new bytecoin core and GUI wallet from 2018/02/06. Proceed with caution."
+ "Value" = "8:WARNING: This is Beta (pre-release) version of new bytecoin core and GUI wallet from 2018/02/19. Proceed with caution."
"DefaultValue" = "8:#1202"
"UsePlugInResources" = "11:TRUE"
}
@@ -1945,7 +1945,7 @@
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:2"
- "Value" = "8:WARNING: This is Beta (pre-release) version of new bytecoin core and GUI wallet from 2018/02/06. Proceed with caution."
+ "Value" = "8:WARNING: This is Beta (pre-release) version of new bytecoin core and GUI wallet from 2018/02/19. Proceed with caution."
"DefaultValue" = "8:#1202"
"UsePlugInResources" = "11:TRUE"
}
diff --git a/Windows Installer/Installer32.vdproj b/Windows Installer/Installer32.vdproj
new file mode 100644
index 0000000..7b5d11d
--- /dev/null
+++ b/Windows Installer/Installer32.vdproj
@@ -0,0 +1,2050 @@
+"DeployProject"
+{
+"VSVersion" = "3:800"
+"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
+"IsWebType" = "8:FALSE"
+"ProjectName" = "8:Bytecoin(32)"
+"LanguageId" = "3:1033"
+"CodePage" = "3:1252"
+"UILanguageId" = "3:1033"
+"SccProjectName" = "8:"
+"SccLocalPath" = "8:"
+"SccAuxPath" = "8:"
+"SccProvider" = "8:"
+ "Hierarchy"
+ {
+ "Entry"
+ {
+ "MsmKey" = "8:_0203959C71B948929CC2F70BA18158FD"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_08C03B2A62BB43A6A31DA9B700C142CD"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_0A9F9DE7818243CC9AF6FF9848954234"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_0AA7B0360D694CADB8A9912880F5C9C5"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_0DA43F67412F414582078021360EF274"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_0DE48B59DBC94FEC8C96C25CAAAEFAB6"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_12A3F30B97CE41F0815A84642A6717CE"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_135BB60BCD7D4FA0B115023A3B4BEDDA"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_1BCAC82F50454F6FA8D4423CD1A5FE08"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_3E0AFADE5BD540FCA5287616A92F8A3A"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_44CED5AA68DB4B55A39C31DCBEA48E3B"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_48D4A1E27FBD45C09F1B09BEE3F14DFA"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_4FDB85C519914B479EA99059664812B9"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_519AD3588A78412FB1F6FA3F0345C539"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_58C0BC1B16E54DDB8E1C86674EB9872D"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_5E0362FCFEC84A85A36680A3DCFAA7C4"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_6E9CB246C9F74BBCA1EC3422E1425E5D"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_715B92B7C3F04EFCA6A4BD7538F1AEB7"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_75B1365FF49546AEA9E5353463DC61D5"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_75E67CD50F9E40618B5B9E6F81178934"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_775D2937B44142639FC68F643D84110A"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_7DB6004822064C4AADAC250A24321BF5"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_7EFCC668F6904FD1B039A285F6757445"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_7F4120E589E14325823C59D41CDDD222"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_88FE57A6A8354A4E97A7019B72C07FB5"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_902D9E05D49544E48BC784C9EBED1F8B"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_908AD2C2A4B640F59CB51A8D3F5DF23A"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_93884783620140F8A8B365EE1B5BF4F4"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_95EA28C236124730A9D75133C147DF70"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_960761EF866A42DA82FBB23D42BA1C17"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_9726E9734DAF439EAD4CE9A87313AF8E"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_9A4DCFB50F174B449495FB00D1E1DAD7"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_9F9F092199BB47A89D76CAA1D1027B6E"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_ABCF8F071D16461785EDF6D56ED2ABCE"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_B146F08012F144E99E9D087255813C95"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_B71851698DCC418DB79B131BFED724F3"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_BE1137420D5A48BFB217A8E35488DD64"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_BEF909DD7F7F4A68A8F44192BEEB23B2"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_C112ECDC5C69428EA46CA8F0FDC765E0"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_C6CB2B9377E545BC9F927EE42FA0BB1D"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_CA2FB00860F84D8F8BC86E8BD6D7F73A"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_D5E855BCEA934554A96B1560ACB3F65D"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_DD5007E49F1F453191894B877B55E55A"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_DF5100E4F45A4E618B94E705BC2009C3"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_E18D08080847465797E94E676AE85E12"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_F36C8615A39E4E719D968137A1427FA7"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_F63D3E9D60F746E7B58F2A909EA49724"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_F8897CB5C8F549E6AE8935F6EB8EEB22"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ }
+ "Configurations"
+ {
+ "Debug"
+ {
+ "DisplayName" = "8:Debug"
+ "IsDebugOnly" = "11:TRUE"
+ "IsReleaseOnly" = "11:FALSE"
+ "OutputFilename" = "8:Debug\\Bytecoin32.msi"
+ "PackageFilesAs" = "3:2"
+ "PackageFileSize" = "3:-2147483648"
+ "CabType" = "3:1"
+ "Compression" = "3:2"
+ "SignOutput" = "11:FALSE"
+ "CertificateFile" = "8:"
+ "PrivateKeyFile" = "8:"
+ "TimeStampServer" = "8:"
+ "InstallerBootstrapper" = "3:2"
+ "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
+ {
+ "Enabled" = "11:TRUE"
+ "PromptEnabled" = "11:TRUE"
+ "PrerequisitesLocation" = "2:1"
+ "Url" = "8:"
+ "ComponentsUrl" = "8:"
+ "Items"
+ {
+ "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.6.1"
+ {
+ "Name" = "8:Microsoft .NET Framework 4.6.1 (x86 and x64)"
+ "ProductCode" = "8:.NETFramework,Version=v4.6.1"
+ }
+ }
+ }
+ }
+ "Release"
+ {
+ "DisplayName" = "8:Release"
+ "IsDebugOnly" = "11:FALSE"
+ "IsReleaseOnly" = "11:TRUE"
+ "OutputFilename" = "8:Release\\Bytecoin32.msi"
+ "PackageFilesAs" = "3:2"
+ "PackageFileSize" = "3:-2147483648"
+ "CabType" = "3:1"
+ "Compression" = "3:3"
+ "SignOutput" = "11:FALSE"
+ "CertificateFile" = "8:"
+ "PrivateKeyFile" = "8:"
+ "TimeStampServer" = "8:"
+ "InstallerBootstrapper" = "3:2"
+ "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
+ {
+ "Enabled" = "11:TRUE"
+ "PromptEnabled" = "11:TRUE"
+ "PrerequisitesLocation" = "2:1"
+ "Url" = "8:"
+ "ComponentsUrl" = "8:"
+ "Items"
+ {
+ "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.6.1"
+ {
+ "Name" = "8:Microsoft .NET Framework 4.6.1 (x86 and x64)"
+ "ProductCode" = "8:.NETFramework,Version=v4.6.1"
+ }
+ }
+ }
+ }
+ }
+ "Deployable"
+ {
+ "CustomAction"
+ {
+ }
+ "DefaultFeature"
+ {
+ "Name" = "8:DefaultFeature"
+ "Title" = "8:"
+ "Description" = "8:"
+ }
+ "ExternalPersistence"
+ {
+ "LaunchCondition"
+ {
+ }
+ }
+ "File"
+ {
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0203959C71B948929CC2F70BA18158FD"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_ja.qm"
+ "TargetName" = "8:qt_ja.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_08C03B2A62BB43A6A31DA9B700C142CD"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_bg.qm"
+ "TargetName" = "8:qt_bg.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0A9F9DE7818243CC9AF6FF9848954234"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_en.qm"
+ "TargetName" = "8:qt_en.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0AA7B0360D694CADB8A9912880F5C9C5"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\iconengines\\qsvgicon.dll"
+ "TargetName" = "8:qsvgicon.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_D97798E34DCA448BB8DA3C08A746F952"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0DA43F67412F414582078021360EF274"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\opengl32sw.dll"
+ "TargetName" = "8:opengl32sw.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0DE48B59DBC94FEC8C96C25CAAAEFAB6"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_pl.qm"
+ "TargetName" = "8:qt_pl.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_12A3F30B97CE41F0815A84642A6717CE"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_lv.qm"
+ "TargetName" = "8:qt_lv.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_135BB60BCD7D4FA0B115023A3B4BEDDA"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\platforms\\qwindows.dll"
+ "TargetName" = "8:qwindows.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_504C7D1A8F884C06BB98B0FC897AA7A2"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1BCAC82F50454F6FA8D4423CD1A5FE08"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\imageformats\\qjpeg.dll"
+ "TargetName" = "8:qjpeg.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3E0AFADE5BD540FCA5287616A92F8A3A"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\walletd.exe"
+ "TargetName" = "8:walletd.exe"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_44CED5AA68DB4B55A39C31DCBEA48E3B"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_it.qm"
+ "TargetName" = "8:qt_it.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_48D4A1E27FBD45C09F1B09BEE3F14DFA"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_he.qm"
+ "TargetName" = "8:qt_he.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4FDB85C519914B479EA99059664812B9"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_es.qm"
+ "TargetName" = "8:qt_es.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_519AD3588A78412FB1F6FA3F0345C539"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\styles\\qwindowsvistastyle.dll"
+ "TargetName" = "8:qwindowsvistastyle.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_33FFE844C8BD495AA690C73EFF447FC6"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_58C0BC1B16E54DDB8E1C86674EB9872D"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\imageformats\\qwbmp.dll"
+ "TargetName" = "8:qwbmp.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5E0362FCFEC84A85A36680A3DCFAA7C4"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\libEGL.dll"
+ "TargetName" = "8:libEGL.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6E9CB246C9F74BBCA1EC3422E1425E5D"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_fr.qm"
+ "TargetName" = "8:qt_fr.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_715B92B7C3F04EFCA6A4BD7538F1AEB7"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\libGLESV2.dll"
+ "TargetName" = "8:libGLESV2.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_75B1365FF49546AEA9E5353463DC61D5"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\Qt5Core.dll"
+ "TargetName" = "8:Qt5Core.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_75E67CD50F9E40618B5B9E6F81178934"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\bearer\\qgenericbearer.dll"
+ "TargetName" = "8:qgenericbearer.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_EA323EA245EE499B85F5030B0B43A82A"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_775D2937B44142639FC68F643D84110A"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\bytecoin-gui.exe"
+ "TargetName" = "8:bytecoin-gui.exe"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7EFCC668F6904FD1B039A285F6757445"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\Qt5Gui.dll"
+ "TargetName" = "8:Qt5Gui.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7F4120E589E14325823C59D41CDDD222"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_uk.qm"
+ "TargetName" = "8:qt_uk.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_88FE57A6A8354A4E97A7019B72C07FB5"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_ru.qm"
+ "TargetName" = "8:qt_ru.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_902D9E05D49544E48BC784C9EBED1F8B"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\imageformats\\qtga.dll"
+ "TargetName" = "8:qtga.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_908AD2C2A4B640F59CB51A8D3F5DF23A"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_de.qm"
+ "TargetName" = "8:qt_de.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_93884783620140F8A8B365EE1B5BF4F4"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_cs.qm"
+ "TargetName" = "8:qt_cs.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_95EA28C236124730A9D75133C147DF70"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_hu.qm"
+ "TargetName" = "8:qt_hu.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_960761EF866A42DA82FBB23D42BA1C17"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_fi.qm"
+ "TargetName" = "8:qt_fi.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9726E9734DAF439EAD4CE9A87313AF8E"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\imageformats\\qico.dll"
+ "TargetName" = "8:qico.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9A4DCFB50F174B449495FB00D1E1DAD7"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\bearer\\qnativewifibearer.dll"
+ "TargetName" = "8:qnativewifibearer.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_EA323EA245EE499B85F5030B0B43A82A"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9F9F092199BB47A89D76CAA1D1027B6E"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\imageformats\\qtiff.dll"
+ "TargetName" = "8:qtiff.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_ABCF8F071D16461785EDF6D56ED2ABCE"
+ {
+ "SourcePath" = "8:..\\src\\images\\bytecoin.ico"
+ "TargetName" = "8:bytecoin.ico"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B146F08012F144E99E9D087255813C95"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\imageformats\\qwebp.dll"
+ "TargetName" = "8:qwebp.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B71851698DCC418DB79B131BFED724F3"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_ko.qm"
+ "TargetName" = "8:qt_ko.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BE1137420D5A48BFB217A8E35488DD64"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_gd.qm"
+ "TargetName" = "8:qt_gd.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BEF909DD7F7F4A68A8F44192BEEB23B2"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\Qt5Network.dll"
+ "TargetName" = "8:Qt5Network.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C112ECDC5C69428EA46CA8F0FDC765E0"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\Qt5Svg.dll"
+ "TargetName" = "8:Qt5Svg.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C6CB2B9377E545BC9F927EE42FA0BB1D"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_sk.qm"
+ "TargetName" = "8:qt_sk.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CA2FB00860F84D8F8BC86E8BD6D7F73A"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\d3dcompiler_47.dll"
+ "TargetName" = "8:d3dcompiler_47.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D5E855BCEA934554A96B1560ACB3F65D"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\imageformats\\qicns.dll"
+ "TargetName" = "8:qicns.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DD5007E49F1F453191894B877B55E55A"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\imageformats\\qgif.dll"
+ "TargetName" = "8:qgif.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DF5100E4F45A4E618B94E705BC2009C3"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\imageformats\\qsvg.dll"
+ "TargetName" = "8:qsvg.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_C7F63F2123B94583B0F30CBAB8C44FAC"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E18D08080847465797E94E676AE85E12"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_da.qm"
+ "TargetName" = "8:qt_da.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F36C8615A39E4E719D968137A1427FA7"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\translations\\qt_ca.qm"
+ "TargetName" = "8:qt_ca.qm"
+ "Tag" = "8:"
+ "Folder" = "8:_CC86214A25E848578B056E8B0C7DF93F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F63D3E9D60F746E7B58F2A909EA49724"
+ {
+ "SourcePath" = "8:..\\..\\bytecoin\\bin\\bytecoind.exe"
+ "TargetName" = "8:bytecoind.exe"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F8897CB5C8F549E6AE8935F6EB8EEB22"
+ {
+ "SourcePath" = "8:..\\build-bytecoin-gui-Desktop_Qt_5_10_0_MSVC2015_32bit-Release\\release\\Qt5Widgets.dll"
+ "TargetName" = "8:Qt5Widgets.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ }
+ "FileType"
+ {
+ }
+ "Folder"
+ {
+ "{1525181F-901A-416C-8A58-119130FE478E}:_0973797F0EF04BC99D8EACDD4B7C6B51"
+ {
+ "Name" = "8:#1919"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:ProgramMenuFolder"
+ "Folders"
+ {
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_FB523710BEF24C0BAD2342CECFDD610B"
+ {
+ "Name" = "8:Bytecoin"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_7CA6897CC2204570BAD6B3E019216C78"
+ "Folders"
+ {
+ }
+ }
+ }
+ }
+ "{1525181F-901A-416C-8A58-119130FE478E}:_762A9620D22149E1ABFE76FCE68367A6"
+ {
+ "Name" = "8:#1916"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:DesktopFolder"
+ "Folders"
+ {
+ }
+ }
+ "{1525181F-901A-416C-8A58-119130FE478E}:_7C33DDB3295F4859AB1DD1A6E41BF3E3"
+ {
+ "Name" = "8:#1915"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:AppDataFolder"
+ "Folders"
+ {
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_950739CF6A65416F8DBB9C76E035DA20"
+ {
+ "Name" = "8:bytecoin"
+ "AlwaysCreate" = "11:TRUE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_2E72A52970B140DDB9F00AE0E5908B94"
+ "Folders"
+ {
+ }
+ }
+ }
+ }
+ "{3C67513D-01DD-4637-8A68-80971EB9504F}:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ {
+ "DefaultLocation" = "8:[ProgramFilesFolder][ProductName]"
+ "Name" = "8:#1925"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:TARGETDIR"
+ "Folders"
+ {
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_33FFE844C8BD495AA690C73EFF447FC6"
+ {
+ "Name" = "8:styles"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_B17CB599C49B40B2B11DD876DA1B9260"
+ "Folders"
+ {
+ }
+ }
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_504C7D1A8F884C06BB98B0FC897AA7A2"
+ {
+ "Name" = "8:platforms"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_0A83900D95FC4DC38EC6601B5E1484ED"
+ "Folders"
+ {
+ }
+ }
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_C7F63F2123B94583B0F30CBAB8C44FAC"
+ {
+ "Name" = "8:imageformats"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_9CDF5FBC999C4D6BAABEBA10BA74BDE6"
+ "Folders"
+ {
+ }
+ }
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_CC86214A25E848578B056E8B0C7DF93F"
+ {
+ "Name" = "8:translations"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_7027DF4AB17A4E389AC8CDE3792823EB"
+ "Folders"
+ {
+ }
+ }
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_D97798E34DCA448BB8DA3C08A746F952"
+ {
+ "Name" = "8:iconengines"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_B3E79557EE314641A024E5D0F79F72ED"
+ "Folders"
+ {
+ }
+ }
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_EA323EA245EE499B85F5030B0B43A82A"
+ {
+ "Name" = "8:bearer"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_74E4E0988DB8411FB3756EE026C9C79F"
+ "Folders"
+ {
+ }
+ }
+ }
+ }
+ }
+ "LaunchCondition"
+ {
+ }
+ "Locator"
+ {
+ }
+ "MsiBootstrapper"
+ {
+ "LangId" = "3:1033"
+ "RequiresElevation" = "11:FALSE"
+ }
+ "Product"
+ {
+ "Name" = "8:Microsoft Visual Studio"
+ "ProductName" = "8:Bytecoin"
+ "ProductCode" = "8:{8589E67D-599D-4959-B521-1F10908FA3F5}"
+ "PackageCode" = "8:{27B3D69D-6186-4724-84CD-2C5627792B8D}"
+ "UpgradeCode" = "8:{DC5C7D60-BB08-4B97-B634-E87679CCEB3C}"
+ "AspNetVersion" = "8:"
+ "RestartWWWService" = "11:FALSE"
+ "RemovePreviousVersions" = "11:TRUE"
+ "DetectNewerInstalledVersion" = "11:TRUE"
+ "InstallAllUsers" = "11:FALSE"
+ "ProductVersion" = "8:2.0.0"
+ "Manufacturer" = "8:Bytecoin Developers"
+ "ARPHELPTELEPHONE" = "8:"
+ "ARPHELPLINK" = "8:"
+ "Title" = "8:Bytecoin Beta Installer"
+ "Subject" = "8:"
+ "ARPCONTACT" = "8:Bytecoin Developers"
+ "Keywords" = "8:"
+ "ARPCOMMENTS" = "8:Beta version of new bytecoin from 19 February 2018"
+ "ARPURLINFOABOUT" = "8:https://bytecoin.org"
+ "ARPPRODUCTICON" = "8:_ABCF8F071D16461785EDF6D56ED2ABCE"
+ "ARPIconIndex" = "3:0"
+ "SearchPath" = "8:"
+ "UseSystemSearchPath" = "11:TRUE"
+ "TargetPlatform" = "3:0"
+ "PreBuildEvent" = "8:"
+ "PostBuildEvent" = "8:"
+ "RunPostBuildEvent" = "3:0"
+ }
+ "Registry"
+ {
+ "HKLM"
+ {
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_43A1751BD75D4E12AE9B93DA0F36B340"
+ {
+ "Name" = "8:Software"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_7211E44FE2434F3DA65627DCD3DFA379"
+ {
+ "Name" = "8:[Manufacturer]"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ }
+ "HKCU"
+ {
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_DDD3E9CE6AD442A48143FEB5297BCB7E"
+ {
+ "Name" = "8:Software"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_0514F08109174BCA9C57C32568EFBB80"
+ {
+ "Name" = "8:[Manufacturer]"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ }
+ "HKCR"
+ {
+ "Keys"
+ {
+ }
+ }
+ "HKU"
+ {
+ "Keys"
+ {
+ }
+ }
+ "HKPU"
+ {
+ "Keys"
+ {
+ }
+ }
+ }
+ "Sequences"
+ {
+ }
+ "Shortcut"
+ {
+ "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_22A0659C46CD4E28984022F67B515433"
+ {
+ "Name" = "8:Data Folder"
+ "Arguments" = "8:"
+ "Description" = "8:"
+ "ShowCmd" = "3:1"
+ "IconIndex" = "3:0"
+ "Transitive" = "11:FALSE"
+ "Target" = "8:_950739CF6A65416F8DBB9C76E035DA20"
+ "Folder" = "8:_FB523710BEF24C0BAD2342CECFDD610B"
+ "WorkingFolder" = "8:_7C33DDB3295F4859AB1DD1A6E41BF3E3"
+ "Icon" = "8:_ABCF8F071D16461785EDF6D56ED2ABCE"
+ "Feature" = "8:"
+ }
+ "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_99D2372F91FF458A9B6D982EE866F189"
+ {
+ "Name" = "8:Wallet (GUI)"
+ "Arguments" = "8:"
+ "Description" = "8:"
+ "ShowCmd" = "3:1"
+ "IconIndex" = "3:0"
+ "Transitive" = "11:FALSE"
+ "Target" = "8:_775D2937B44142639FC68F643D84110A"
+ "Folder" = "8:_FB523710BEF24C0BAD2342CECFDD610B"
+ "WorkingFolder" = "8:_BB6FE95E6903428FBAEC9FE62CB0FE39"
+ "Icon" = "8:_ABCF8F071D16461785EDF6D56ED2ABCE"
+ "Feature" = "8:"
+ }
+ }
+ "UserInterface"
+ {
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_265F635E5B674F4B80568487ACFA5F79"
+ {
+ "Name" = "8:#1900"
+ "Sequence" = "3:1"
+ "Attributes" = "3:1"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1566A1EB3D974076B8469A8450D8D1EA"
+ {
+ "Sequence" = "3:200"
+ "DisplayName" = "8:Installation Folder"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdFolderDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "InstallAllUsersVisible"
+ {
+ "Name" = "8:InstallAllUsersVisible"
+ "DisplayName" = "8:#1059"
+ "Description" = "8:#1159"
+ "Type" = "3:5"
+ "ContextData" = "8:1;True=1;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:1"
+ "DefaultValue" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D03EA7EAB88C4179B470752A1B3789F7"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Welcome"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdWelcomeDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "CopyrightWarning"
+ {
+ "Name" = "8:CopyrightWarning"
+ "DisplayName" = "8:#1002"
+ "Description" = "8:#1102"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:2"
+ "Value" = "8:WARNING: This is Beta (pre-release) version of new bytecoin core and GUI wallet from 2018/02/19. Proceed with caution."
+ "DefaultValue" = "8:#1202"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "Welcome"
+ {
+ "Name" = "8:Welcome"
+ "DisplayName" = "8:#1003"
+ "Description" = "8:#1103"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1203"
+ "DefaultValue" = "8:#1203"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EE07D03869C04738BFCA6FCF155100CA"
+ {
+ "Sequence" = "3:300"
+ "DisplayName" = "8:Confirm Installation"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdConfirmDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_716833504C8F49848F8AD2C15E1E4E80"
+ {
+ "UseDynamicProperties" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdBasicDialogs.wim"
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_A8E95A525C7642D2A38BE8A159DE037A"
+ {
+ "Name" = "8:#1901"
+ "Sequence" = "3:2"
+ "Attributes" = "3:2"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_0E95132D7BCF4CF29C255CA46C332AD2"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Progress"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdAdminProgressDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "ShowProgress"
+ {
+ "Name" = "8:ShowProgress"
+ "DisplayName" = "8:#1009"
+ "Description" = "8:#1109"
+ "Type" = "3:5"
+ "ContextData" = "8:1;True=1;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:1"
+ "DefaultValue" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_A90E2305464A41258073ACBF6F30A706"
+ {
+ "Name" = "8:#1901"
+ "Sequence" = "3:1"
+ "Attributes" = "3:2"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8E93E158E27E4583B2FB752FAA35F2A5"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Progress"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdProgressDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "ShowProgress"
+ {
+ "Name" = "8:ShowProgress"
+ "DisplayName" = "8:#1009"
+ "Description" = "8:#1109"
+ "Type" = "3:5"
+ "ContextData" = "8:1;True=1;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:1"
+ "DefaultValue" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_A9E725CA648543A892522CBCC6821FA2"
+ {
+ "Name" = "8:#1902"
+ "Sequence" = "3:1"
+ "Attributes" = "3:3"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FC11EAEC9BC54C069D471C162F7C7693"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Finished"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdFinishedDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "UpdateText"
+ {
+ "Name" = "8:UpdateText"
+ "DisplayName" = "8:#1058"
+ "Description" = "8:#1158"
+ "Type" = "3:15"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1258"
+ "DefaultValue" = "8:#1258"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_B804DD8E25AF483CA56E285A6C1DD9B9"
+ {
+ "Name" = "8:#1900"
+ "Sequence" = "3:2"
+ "Attributes" = "3:1"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_016279FD87454476BC12F69B9533C3CB"
+ {
+ "Sequence" = "3:200"
+ "DisplayName" = "8:Installation Folder"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdAdminFolderDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1A49EA5E8AD34F9AB01F432788B7FEDD"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Welcome"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "CopyrightWarning"
+ {
+ "Name" = "8:CopyrightWarning"
+ "DisplayName" = "8:#1002"
+ "Description" = "8:#1102"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:2"
+ "Value" = "8:WARNING: This is Beta (pre-release) version of new bytecoin core and GUI wallet from 2018/02/19. Proceed with caution."
+ "DefaultValue" = "8:#1202"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "Welcome"
+ {
+ "Name" = "8:Welcome"
+ "DisplayName" = "8:#1003"
+ "Description" = "8:#1103"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1203"
+ "DefaultValue" = "8:#1203"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2DCCD96FF3FC4B82B9A861064100B45E"
+ {
+ "Sequence" = "3:300"
+ "DisplayName" = "8:Confirm Installation"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdAdminConfirmDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_BD77DD50E584475290D4AD56F217F412"
+ {
+ "UseDynamicProperties" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdUserInterface.wim"
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_C96EA7C108534BB0AAC250D680F676B0"
+ {
+ "Name" = "8:#1902"
+ "Sequence" = "3:2"
+ "Attributes" = "3:3"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E805CD30DB15487E9B26EBF818B9A6E5"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Finished"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdAdminFinishedDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ }
+ "MergeModule"
+ {
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_7DB6004822064C4AADAC250A24321BF5"
+ {
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Redist\\MSVC\\14.12.25810\\MergeModules\\Microsoft_VC141_CRT_x86.msm"
+ "Properties"
+ {
+ }
+ "LanguageId" = "3:0"
+ "Exclude" = "11:FALSE"
+ "Folder" = "8:"
+ "Feature" = "8:"
+ "IsolateTo" = "8:"
+ }
+ }
+ "ProjectOutput"
+ {
+ }
+ }
+}
diff --git a/src/BlockExplorerFrame.cpp b/src/BlockExplorerFrame.cpp
deleted file mode 100644
index 91f8a7a..0000000
--- a/src/BlockExplorerFrame.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#include
-#include
-#include
-
-#ifdef Q_OS_WIN
-#include
-#endif
-
-#include "BlockExplorerFrame.h"
-#include "Settings/Settings.h"
-#include "BlockDetailsDialog.h"
-#include "Common/RightAlignmentColumnDelegate.h"
-#include "Models/BlockchainModel.h"
-#include "Models/TransactionPoolModel.h"
-#include "Common/PoolTransactionDetailsDialog.h"
-#include "WindowedBlockModel.h"
-
-#include "ui_BlockExplorerFrame.h"
-
-namespace WalletGui {
-
-namespace {
-
-const quint32 SHOW_FILTER_DURATION = 200;
-const quint32 FILTER_FRAME_HEIGHT = 70;
-
-}
-
-BlockExplorerFrame::BlockExplorerFrame(QWidget* _parent) : QFrame(_parent), m_ui(new Ui::BlockExplorerFrame),
- m_cryptoNoteAdapter(nullptr), m_mainWindow(nullptr), m_blockChainModel(nullptr), m_transactionPoolModel(nullptr),
- m_animation(new QPropertyAnimation(this)) {
- m_ui->setupUi(this);
- m_ui->m_filterFrame->hide();
- m_ui->m_resetFilterButton->hide();
- m_ui->m_filterPeriodFrame->hide();
-
- m_animation->setTargetObject(m_ui->m_filterFrame);
- m_animation->setPropertyName("maximumHeight");
- m_animation->setDuration(SHOW_FILTER_DURATION);
-
- QDateTime currentDateTime = QDateTime::currentDateTimeUtc();
- m_ui->m_filterBeginDtedit->setDateTime(currentDateTime.addDays(-1));
- m_ui->m_filterEndDtedit->setDateTime(currentDateTime);
-
- connect(m_animation, &QPropertyAnimation::finished, this, &BlockExplorerFrame::updateButtonsText);
- connect(m_animation, &QPropertyAnimation::finished, this, [this] {
- m_ui->m_blockSearchButton->setEnabled(true);
- m_ui->m_blockExplorerView->setAutoUpdateRowCount(true);
- m_ui->m_blockExplorerView->updateRowCount();
- });
-}
-
-BlockExplorerFrame::~BlockExplorerFrame() {
-}
-
-void BlockExplorerFrame::setCryptoNoteAdapter(ICryptoNoteAdapter* _cryptoNoteAdapter) {
- m_cryptoNoteAdapter = _cryptoNoteAdapter;
- m_cryptoNoteAdapter->addObserver(this);
-}
-
-void BlockExplorerFrame::setMainWindow(QWidget* _mainWindow) {
- m_mainWindow = _mainWindow;
-}
-
-void BlockExplorerFrame::setBlockChainModel(QAbstractItemModel* _model) {
- if (_model == nullptr) {
- return;
- }
-
- m_blockChainModel = _model;
- WindowedBlockModel* windowedBlocksModel = new WindowedBlockModel(m_cryptoNoteAdapter, m_blockChainModel, this);
- m_ui->m_blockExplorerView->setModel(windowedBlocksModel);
- m_ui->m_blockExplorerView->setLinkLikeColumnSet(QSet() << BlockchainModel::COLUMN_BLOCK_HEIGHT << BlockchainModel::COLUMN_BLOCK_HASH);
- RightAlignmentColumnDelegate* blockExplorerDelegate = new RightAlignmentColumnDelegate(false, this);
- m_ui->m_blockExplorerView->setItemDelegateForColumn(BlockchainModel::COLUMN_BLOCK_SIZE, blockExplorerDelegate);
- m_ui->m_blockExplorerView->setItemDelegateForColumn(BlockchainModel::COLUMN_BLOCK_TRANSACTION_COUNT, blockExplorerDelegate);
- m_ui->m_blockExplorerView->horizontalHeader()->setSectionResizeMode(BlockchainModel::COLUMN_BLOCK_TIME, QHeaderView::Fixed);
- m_ui->m_blockExplorerView->horizontalHeader()->setSectionResizeMode(BlockchainModel::COLUMN_BLOCK_HEIGHT, QHeaderView::Fixed);
- m_ui->m_blockExplorerView->horizontalHeader()->setSectionResizeMode(BlockchainModel::COLUMN_BLOCK_SIZE, QHeaderView::Fixed);
- m_ui->m_blockExplorerView->horizontalHeader()->setSectionResizeMode(BlockchainModel::COLUMN_BLOCK_TRANSACTION_COUNT, QHeaderView::Fixed);
- m_ui->m_blockExplorerView->horizontalHeader()->setSectionResizeMode(BlockchainModel::COLUMN_BLOCK_HASH, QHeaderView::Stretch);
- m_ui->m_blockExplorerView->horizontalHeader()->resizeSection(BlockchainModel::COLUMN_BLOCK_TIME, 180);
- m_ui->m_blockExplorerView->horizontalHeader()->resizeSection(BlockchainModel::COLUMN_BLOCK_HEIGHT, 100);
- m_ui->m_blockExplorerView->horizontalHeader()->resizeSection(BlockchainModel::COLUMN_BLOCK_SIZE, 100);
- m_ui->m_blockExplorerView->horizontalHeader()->resizeSection(BlockchainModel::COLUMN_BLOCK_TRANSACTION_COUNT, 100);
-
- qobject_cast(m_ui->m_blockExplorerView)->updateRowCount();
- windowedBlocksModel->lastPage();
- updateButtonsText();
- connect(windowedBlocksModel, &WindowedBlockModel::pageCountUpdated, this, &BlockExplorerFrame::updateButtonsText);
-}
-
-void BlockExplorerFrame::setTransactionPoolModel(QAbstractItemModel* _model) {
- if (_model == nullptr) {
- return;
- }
-
- m_transactionPoolModel = _model;
- m_ui->m_transactionPoolView->setModel(m_transactionPoolModel);
- m_ui->m_transactionPoolView->horizontalHeader()->setSectionHidden(TransactionPoolModel::COLUMN_MIXIN, true);
- m_ui->m_transactionPoolView->horizontalHeader()->setSectionHidden(TransactionPoolModel::COLUMN_PAYMENT_ID, true);
- m_ui->m_transactionPoolView->setLinkLikeColumnSet(QSet() << TransactionPoolModel::COLUMN_HASH);
- RightAlignmentColumnDelegate* transactionsPoolDelegate = new RightAlignmentColumnDelegate(false, this);
- m_ui->m_transactionPoolView->setItemDelegateForColumn(TransactionPoolModel::COLUMN_AMOUNT, transactionsPoolDelegate);
- m_ui->m_transactionPoolView->setItemDelegateForColumn(TransactionPoolModel::COLUMN_FEE, transactionsPoolDelegate);
- m_ui->m_transactionPoolView->setItemDelegateForColumn(TransactionPoolModel::COLUMN_SIZE, transactionsPoolDelegate);
- m_ui->m_transactionPoolView->horizontalHeader()->setSectionResizeMode(TransactionPoolModel::COLUMN_TIME, QHeaderView::Fixed);
- m_ui->m_transactionPoolView->horizontalHeader()->setSectionResizeMode(TransactionPoolModel::COLUMN_AMOUNT, QHeaderView::Fixed);
- m_ui->m_transactionPoolView->horizontalHeader()->setSectionResizeMode(TransactionPoolModel::COLUMN_FEE, QHeaderView::Fixed);
- m_ui->m_transactionPoolView->horizontalHeader()->setSectionResizeMode(TransactionPoolModel::COLUMN_SIZE, QHeaderView::Fixed);
- m_ui->m_transactionPoolView->horizontalHeader()->setSectionResizeMode(TransactionPoolModel::COLUMN_HASH, QHeaderView::Stretch);
-
- m_ui->m_transactionPoolView->horizontalHeader()->resizeSection(TransactionPoolModel::COLUMN_TIME, 190);
- m_ui->m_transactionPoolView->horizontalHeader()->resizeSection(TransactionPoolModel::COLUMN_AMOUNT, 200);
- m_ui->m_transactionPoolView->horizontalHeader()->resizeSection(TransactionPoolModel::COLUMN_FEE, 120);
- m_ui->m_transactionPoolView->horizontalHeader()->resizeSection(TransactionPoolModel::COLUMN_SIZE, 120);
-}
-
-void BlockExplorerFrame::cryptoNoteAdapterInitCompleted(int _status) {
- if (_status == 0) {
- qobject_cast(m_ui->m_blockExplorerView)->updateRowCount();
- updateButtonsText();
- }
-}
-
-void BlockExplorerFrame::cryptoNoteAdapterDeinitCompleted() {
- // Do nothing
-}
-
-void BlockExplorerFrame::showEvent(QShowEvent* _event) {
- lastPage();
- QFrame::showEvent(_event);
-}
-
-void BlockExplorerFrame::resizeEvent(QResizeEvent* _event) {
- if (_event->oldSize().height() != _event->size().height()) {
- updateButtonsText();
- }
-
- QFrame::resizeEvent(_event);
-}
-
-void BlockExplorerFrame::nextPage() {
- m_ui->m_nextPageButton->setEnabled(false);
- setCursor(Qt::WaitCursor);
- static_cast(m_ui->m_blockExplorerView->model())->nextPage();
- m_ui->m_nextPageButton->setEnabled(true);
- unsetCursor();
- updateButtonsText();
-}
-
-void BlockExplorerFrame::prevPage() {
- m_ui->m_prevPageButton->setEnabled(false);
- setCursor(Qt::WaitCursor);
- static_cast(m_ui->m_blockExplorerView->model())->prevPage();
- m_ui->m_prevPageButton->setEnabled(true);
- unsetCursor();
- updateButtonsText();
-}
-
-void BlockExplorerFrame::lastPage() {
- setCursor(Qt::WaitCursor);
- static_cast(m_ui->m_blockExplorerView->model())->lastPage();
- unsetCursor();
- updateButtonsText();
-}
-
-void BlockExplorerFrame::showBlockDetails(const QModelIndex& _index) {
- if(!_index.isValid()) {
- return;
- }
-
- QModelIndex filteredIndex = static_cast(m_ui->m_blockExplorerView->model())->mapToSource(_index);
- QModelIndex blockIndex = static_cast(
- static_cast(m_ui->m_blockExplorerView->model())->sourceModel())->mapToSource(filteredIndex);
- BlockDetailsDialog dlg(m_blockChainModel, blockIndex, m_mainWindow);
- dlg.exec();
-}
-
-void BlockExplorerFrame::showTransactionDetails(const QModelIndex& _index) {
- PoolTransactionDetailsDialog dlg(m_transactionPoolModel, _index, m_mainWindow);
- dlg.exec();
-}
-
-void BlockExplorerFrame::showSearch(bool _on) {
- m_ui->m_blockSearchButton->setText(_on ? tr("Hide search") : tr("Show search"));
- m_ui->m_blockSearchButton->setEnabled(false);
- m_animation->setStartValue(_on ? 0 : FILTER_FRAME_HEIGHT);
- m_animation->setEndValue(_on ? FILTER_FRAME_HEIGHT : 0);
- if(_on) {
- m_ui->m_filterFrame->setMaximumHeight(0);
- m_ui->m_filterFrame->show();
- disconnect(m_animation, &QPropertyAnimation::finished, m_ui->m_filterFrame, &QFrame::hide);
- } else {
- resetFilter();
- connect(m_animation, &QPropertyAnimation::finished, m_ui->m_filterFrame, &QFrame::hide);
- connect(m_animation, &QPropertyAnimation::finished, this, static_cast(&BlockExplorerFrame::update));
- }
-
- m_ui->m_blockExplorerView->setAutoUpdateRowCount(false);
- m_animation->start();
- m_ui->m_resetFilterButton->setVisible(_on);
-}
-
-void BlockExplorerFrame::applyFilter() {
- m_ui->m_applyFilterButton->setEnabled(false);
- setCursor(Qt::WaitCursor);
- QDateTime begin = m_ui->m_filterBeginDtedit->dateTime();
- QDateTime end = m_ui->m_filterEndDtedit->dateTime();
- QString hash = m_ui->m_filterHashEdit->text().trimmed();
- static_cast(
- m_ui->m_blockExplorerView->model())->setFilter(static_cast(m_ui->m_filterCombo->currentIndex()),
- m_ui->m_filterCombo->currentIndex() == FilteredBlockModel::Custom, begin, end, hash);
- lastPage();
- unsetCursor();
- m_ui->m_applyFilterButton->setEnabled(true);
-}
-
-void BlockExplorerFrame::resetFilterClicked() {
- resetFilter();
-}
-
-void BlockExplorerFrame::resetFilter() {
- QDateTime currentDateTime = QDateTime::currentDateTimeUtc();
- m_ui->m_filterCombo->setCurrentIndex(FilteredBlockModel::All);
- m_ui->m_filterBeginDtedit->setDateTime(currentDateTime);
- m_ui->m_filterEndDtedit->setDateTime(currentDateTime);
- m_ui->m_filterHashEdit->clear();
- static_cast(m_ui->m_blockExplorerView->model())->resetFilter();
- lastPage();
-}
-
-void BlockExplorerFrame::filterChanged(int _index) {
- m_ui->m_filterPeriodFrame->setVisible(_index == FilteredBlockModel::Custom);
-}
-
-void BlockExplorerFrame::updateButtonsText() {
- QPair prevInterval = static_cast(m_ui->m_blockExplorerView->model())->prevPageInterval();
- QPair nextInterval = static_cast(m_ui->m_blockExplorerView->model())->nextPageInterval();
-
- if(prevInterval.first == std::numeric_limits::max()) {
- m_ui->m_prevPageButton->hide();
- } else {
- m_ui->m_prevPageButton->show();
- m_ui->m_prevPageButton->setText(QString("< %1 - %2").arg(prevInterval.first).arg(prevInterval.second));
- }
-
- if(nextInterval.first == std::numeric_limits::max()) {
- m_ui->m_nextPageButton->hide();
- m_ui->m_topButton->hide();
- } else {
- m_ui->m_nextPageButton->show();
- m_ui->m_topButton->show();
- m_ui->m_nextPageButton->setText(QString("%1 - %2 >").arg(nextInterval.first).arg(nextInterval.second));
- }
-}
-
-}
diff --git a/src/BlockExplorerFrame.h b/src/BlockExplorerFrame.h
deleted file mode 100644
index edf82a3..0000000
--- a/src/BlockExplorerFrame.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#if 0
-
-#pragma once
-
-#include
-#include
-
-#include "Application/IWalletUiItem.h"
-#include "ICryptoNoteAdapter.h"
-
-class QPropertyAnimation;
-
-namespace Ui {
-class BlockExplorerFrame;
-}
-
-namespace WalletGui {
-
-class BlockExplorerFrame : public QFrame, public IWalletUiItem, public ICryptoNoteAdapterObserver {
- Q_OBJECT
- Q_DISABLE_COPY(BlockExplorerFrame)
-
-public:
- explicit BlockExplorerFrame(QWidget* _parent);
- ~BlockExplorerFrame();
-
- // IWalletUiItem
- virtual void setCryptoNoteAdapter(ICryptoNoteAdapter* _cryptoNoteAdapter) override;
- virtual void setMainWindow(QWidget* _mainWindow) override;
- virtual void setBlockChainModel(QAbstractItemModel* _model) override;
- virtual void setTransactionPoolModel(QAbstractItemModel* _model) override;
-
- // ICryptoNoteAdapterObserver
- Q_SLOT virtual void cryptoNoteAdapterInitCompleted(int _status) override;
- Q_SLOT virtual void cryptoNoteAdapterDeinitCompleted() override;
-
-protected:
- virtual void showEvent(QShowEvent* _event) override;
- virtual void resizeEvent(QResizeEvent* _event) override;
-
-private:
- QScopedPointer m_ui;
- ICryptoNoteAdapter* m_cryptoNoteAdapter;
- QWidget* m_mainWindow;
- QAbstractItemModel* m_blockChainModel;
- QAbstractItemModel* m_transactionPoolModel;
- QPropertyAnimation* m_animation;
-
- void updateButtonsText();
- void resetFilter();
-
- Q_SLOT void nextPage();
- Q_SLOT void prevPage();
- Q_SLOT void lastPage();
- Q_SLOT void showBlockDetails(const QModelIndex &_index);
- Q_SLOT void showTransactionDetails(const QModelIndex &_index);
- Q_SLOT void showSearch(bool _on);
- Q_SLOT void applyFilter();
- Q_SLOT void resetFilterClicked();
- Q_SLOT void filterChanged(int _index);
-};
-
-}
-
-#endif
diff --git a/src/BlockExplorerFrame.ui b/src/BlockExplorerFrame.ui
deleted file mode 100644
index 7518147..0000000
--- a/src/BlockExplorerFrame.ui
+++ /dev/null
@@ -1,737 +0,0 @@
-
-
- BlockExplorerFrame
-
-
-
- 0
- 0
- 950
- 627
-
-
-
- Frame
-
-
- QFrame::StyledPanel
-
-
- QFrame::Raised
-
-
-
- 0
-
-
- 0
-
-
- 12
-
-
- 0
-
-
- 0
-
- -
-
-
- 0
-
-
-
- Blockchain
-
-
-
- 0
-
-
- 25
-
-
- 15
-
-
- 25
-
-
- 12
-
-
-
-
-
- 10
-
-
- 0
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- PointingHandCursor
-
-
- Reset
-
-
- true
-
-
-
- -
-
-
- PointingHandCursor
-
-
- Show search
-
-
- true
-
-
- true
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 7
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 0
-
-
- 5
-
-
- 0
-
-
- 30
-
-
-
-
-
- 0
-
-
- 0
-
-
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 8
-
-
- 0
-
-
- 0
-
-
- 25
-
-
- 0
-
-
-
-
-
- PERIOD
-
-
-
- -
-
-
- Qt::NoFocus
-
-
-
-
- All time
-
-
- -
-
- Last hour
-
-
- -
-
- Last day
-
-
- -
-
- Last week
-
-
- -
-
- Last month
-
-
- -
-
- Last year
-
-
- -
-
- Custom
-
-
-
-
-
-
-
- -
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 8
-
-
- 0
-
-
- 0
-
-
- 25
-
-
- 0
-
-
-
-
-
- FROM
-
-
-
- -
-
-
- true
-
-
-
-
-
- dd MMM yyyy, hh:mm
-
-
- true
-
-
- Qt::UTC
-
-
-
- -
-
-
- TO
-
-
-
- -
-
-
- true
-
-
-
-
-
- dd MMM yyyy, hh:mm
-
-
- true
-
-
- Qt::UTC
-
-
-
-
-
-
- -
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 8
-
-
- 0
-
-
- 0
-
-
- 10
-
-
- 0
-
-
-
-
-
- HASH / HEIGHT
-
-
-
- -
-
-
-
-
-
- -
-
-
- Apply
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 7
-
-
-
-
- -
-
-
- Qt::NoFocus
-
-
- QFrame::NoFrame
-
-
- Qt::ScrollBarAlwaysOff
-
-
- true
-
-
- QAbstractItemView::NoSelection
-
-
- QAbstractItemView::SelectItems
-
-
- Qt::ElideMiddle
-
-
- false
-
-
- false
-
-
- false
-
-
- false
-
-
- false
-
-
-
- -
-
-
- 10
-
-
- 0
-
-
- 5
-
-
- 0
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 30
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
- Back to Top
-
-
-
-
-
-
-
-
-
- Transaction pool
-
-
-
- 0
-
-
- 25
-
-
- 23
-
-
- 25
-
-
- 12
-
- -
-
-
- Qt::NoFocus
-
-
- QFrame::NoFrame
-
-
- QAbstractItemView::NoSelection
-
-
- QAbstractItemView::ScrollPerPixel
-
-
- false
-
-
- false
-
-
- false
-
-
- false
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
- WalletGui::WalletTinyLinkLikeButton
- QPushButton
- Gui/Common/WalletLinkLikeButton.h
-
-
- WalletGui::WalletOkButton
- QPushButton
- Gui/Common/WalletOkButton.h
-
-
- WalletGui::WalletNormalGrayTextLabel
- QLabel
- Gui/Common/WalletTextLabel.h
-
-
- WalletGui::WalletTableView
- QTableView
- Gui/Common/WalletTableView.h
-
-
- WalletGui::WalletNavigationButton
- QPushButton
- Gui/Common/WalletNavigationButton.h
-
-
-
-
-
- m_nextPageButton
- clicked()
- BlockExplorerFrame
- nextPage()
-
-
- 726
- 591
-
-
- 384
- 310
-
-
-
-
- m_prevPageButton
- clicked()
- BlockExplorerFrame
- prevPage()
-
-
- 44
- 591
-
-
- 384
- 310
-
-
-
-
- m_blockSearchButton
- toggled(bool)
- BlockExplorerFrame
- showSearch(bool)
-
-
- 712
- 39
-
-
- 384
- 310
-
-
-
-
- m_applyFilterButton
- clicked()
- BlockExplorerFrame
- applyFilter()
-
-
- 814
- 212
-
-
- 473
- 313
-
-
-
-
- m_resetFilterButton
- clicked()
- BlockExplorerFrame
- resetFilterClicked()
-
-
- 894
- 212
-
-
- 473
- 313
-
-
-
-
- m_filterCombo
- currentIndexChanged(int)
- BlockExplorerFrame
- filterChanged(int)
-
-
- 144
- 75
-
-
- 473
- 313
-
-
-
-
- m_topButton
- clicked()
- BlockExplorerFrame
- lastPage()
-
-
- 862
- 597
-
-
- 473
- 313
-
-
-
-
- m_filterHashEdit
- returnPressed()
- m_applyFilterButton
- click()
-
-
- 813
- 77
-
-
- 877
- 79
-
-
-
-
- m_blockExplorerView
- doubleClicked(QModelIndex)
- BlockExplorerFrame
- showBlockDetails(QModelIndex)
-
-
- 474
- 368
-
-
- 474
- 313
-
-
-
-
- m_transactionPoolView
- doubleClicked(QModelIndex)
- BlockExplorerFrame
- showTransactionDetails(QModelIndex)
-
-
- 474
- 333
-
-
- 474
- 313
-
-
-
-
-
- nextPage()
- prevPage()
- firstPage()
- lastPage()
- showBlockDetails(QModelIndex)
- showSearch(bool)
- applyFilter()
- resetFilterClicked()
- filterChanged(int)
- showTransactionDetails(QModelIndex)
-
-
diff --git a/src/CopyMagicLabel.cpp b/src/CopyMagicLabel.cpp
deleted file mode 100644
index a803c2b..0000000
--- a/src/CopyMagicLabel.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#include "CopyMagicLabel.h"
-#include "Settings/Settings.h"
-#include "Style/Style.h"
-
-namespace WalletGui {
-
-namespace {
-
-const char COPY_MAGIC_LABEL_STYLE_SHEET_TEMPLATE[] =
- "* {"
- "font-family: %fontFamily%;"
- "}"
-
- "WalletGui--CopyMagicLabel {"
- "color: %fontColorGreen%;"
- "font-size: %fontSizeSmall%;"
- "}";
-
-}
-
-CopyMagicLabel::CopyMagicLabel(QWidget* _parent) : MagicLabel(_parent) {
- setStyleSheet(Settings::instance().getCurrentStyle().makeStyleSheet(COPY_MAGIC_LABEL_STYLE_SHEET_TEMPLATE));
-}
-
-CopyMagicLabel::~CopyMagicLabel() {
-}
-
-}
diff --git a/src/CopyMagicLabel.h b/src/CopyMagicLabel.h
deleted file mode 100644
index 459b211..0000000
--- a/src/CopyMagicLabel.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#if 0
-
-#pragma once
-
-#include "MagicLabel.h"
-
-namespace WalletGui {
-
-class CopyMagicLabel : public MagicLabel {
- Q_OBJECT
- Q_DISABLE_COPY(CopyMagicLabel)
-
-public:
- explicit CopyMagicLabel(QWidget* _parent);
- ~CopyMagicLabel();
-};
-
-}
-
-#endif
diff --git a/src/JsonRpc/JsonRpcClient.cpp b/src/JsonRpc/JsonRpcClient.cpp
index 39b0e84..5aff2b8 100644
--- a/src/JsonRpc/JsonRpcClient.cpp
+++ b/src/JsonRpc/JsonRpcClient.cpp
@@ -1,3 +1,5 @@
+#include
+
#include "JsonRpcClient.h"
#include "common.h"
#include "rpcapi.h"
@@ -57,6 +59,7 @@ Client::Client(QObject* parent)
, idCount_(0)
{
connect(httpClient_, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
+ connect(httpClient_, &QNetworkAccessManager::authenticationRequired, this, &Client::authenticationRequired);
}
void Client::setUrl(const QString& endPoint)
@@ -177,6 +180,11 @@ void Client::replyFinished(QNetworkReply* reply)
}
}
+void Client::authenticationRequired(QNetworkReply* /*reply*/, QAuthenticator* authenticator)
+{
+ emit authRequiredSignal(authenticator);
+}
+
void Client::sendJson(const QByteArray& json)
{
// Q_ASSERT(!url_.isEmpty());
diff --git a/src/JsonRpc/JsonRpcClient.h b/src/JsonRpc/JsonRpcClient.h
index 5066524..84450bd 100644
--- a/src/JsonRpc/JsonRpcClient.h
+++ b/src/JsonRpc/JsonRpcClient.h
@@ -37,6 +37,7 @@ class Client : public QObject
private slots:
void replyFinished(QNetworkReply* reply);
+ void authenticationRequired(QNetworkReply* reply, QAuthenticator* authenticator);
signals:
// void error(const QString& msg, const QString& desc) const;
@@ -47,6 +48,7 @@ private slots:
void packetSent(const QByteArray& data);
void packetReceived(const QByteArray& data);
+ void authRequiredSignal(QAuthenticator* authenticator);
protected:
// template
diff --git a/src/MinerDelegate.cpp b/src/MinerDelegate.cpp
index 0db59a3..eaa237b 100644
--- a/src/MinerDelegate.cpp
+++ b/src/MinerDelegate.cpp
@@ -18,7 +18,6 @@
#include
#include "MinerDelegate.h"
-//#include "Style/Style.h"
#include "MinerModel.h"
namespace WalletGUI {
diff --git a/src/MinerModel.cpp b/src/MinerModel.cpp
index 123476a..0e4c8cf 100644
--- a/src/MinerModel.cpp
+++ b/src/MinerModel.cpp
@@ -28,7 +28,6 @@
#include "settings.h"
#include "IMiningManager.h"
#include "IPoolMiner.h"
-//#include "Style/Style.h"
namespace WalletGUI {
@@ -107,8 +106,7 @@ Qt::ItemFlags MinerModel::flags(const QModelIndex& _index) const {
if (!_index.isValid()) {
return 0;
}
-
- Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemNeverHasChildren | Qt::ItemIsDropEnabled;
+ Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemNeverHasChildren /*| Qt::ItemIsDropEnabled*/;
if (_index.column() != COLUMN_REMOVE) {
flags |= Qt::ItemIsSelectable | Qt::ItemIsDragEnabled;
}
@@ -132,8 +130,6 @@ QVariant MinerModel::headerData(int _section, Qt::Orientation _orientation, int
return tr("Good shares");
case COLUMN_BAD_SHARES:
return tr("Bad shares");
- case COLUMN_DONATED_SHARES:
- return tr("Donated shares");
case COLUMN_CONNECTION_ERROR_COUNT:
return tr("Connection error");
case COLUMN_LAST_CONNECTION_ERROR_TIME:
@@ -260,9 +256,9 @@ void MinerModel::hashRateChanged(quintptr _minerIndex, quint32 /*_hashRate*/) {
Q_EMIT dataChanged(minerIndex, minerIndex);
}
-void MinerModel::alternateHashRateChanged(quintptr _minerIndex, quint32 /*_hashRate*/) {
- QModelIndex minerIndex = index(_minerIndex, COLUMN_DONATION_HASHRATE);
- Q_EMIT dataChanged(minerIndex, minerIndex);
+void MinerModel::alternateHashRateChanged(quintptr /*_minerIndex*/, quint32 /*_hashRate*/) {
+// QModelIndex minerIndex = index(_minerIndex, COLUMN_DONATION_HASHRATE);
+// Q_EMIT dataChanged(minerIndex, minerIndex);
}
void MinerModel::difficultyChanged(quintptr _minerIndex, quint32 /*_difficulty*/) {
@@ -280,9 +276,9 @@ void MinerModel::badShareCountChanged(quintptr _minerIndex, quint32 /*_badShareC
Q_EMIT dataChanged(minerIndex, minerIndex);
}
-void MinerModel::goodAlternateShareCountChanged(quintptr _minerIndex, quint32 /*_goodShareCount*/) {
- QModelIndex minerIndex = index(_minerIndex, COLUMN_DONATED_SHARES);
- Q_EMIT dataChanged(minerIndex, minerIndex);
+void MinerModel::goodAlternateShareCountChanged(quintptr /*_minerIndex*/, quint32 /*_goodShareCount*/) {
+// QModelIndex minerIndex = index(_minerIndex, COLUMN_DONATED_SHARES);
+// Q_EMIT dataChanged(minerIndex, minerIndex);
}
void MinerModel::connectionErrorCountChanged(quintptr _minerIndex, quint32 /*_connectionErrorCount*/) {
@@ -343,8 +339,6 @@ QVariant MinerModel::getDislayRole(const QModelIndex& _index) const {
return _index.data(ROLE_GOOD_SHARES);
case COLUMN_BAD_SHARES:
return _index.data(ROLE_BAD_SHARES);
- case COLUMN_DONATED_SHARES:
- return _index.data(ROLE_DONATED_SHARES);
case COLUMN_CONNECTION_ERROR_COUNT:
return _index.data(ROLE_CONNECTION_ERROR_COUNT);
case COLUMN_LAST_CONNECTION_ERROR_TIME: {
@@ -364,10 +358,6 @@ QVariant MinerModel::getDislayRole(const QModelIndex& _index) const {
return tr("%1 H/s").arg(hashrate);
}
- case COLUMN_DONATION_HASHRATE: {
- quint32 hashrate = _index.data(ROLE_DONATION_HASHRATE).toUInt();
- return tr("%1 H/s").arg(hashrate);
- }
}
return QVariant();
@@ -386,8 +376,6 @@ QVariant MinerModel::getUserRoles(const QModelIndex& _index, int _role) const {
return miner->getGoodShareCount();
case ROLE_BAD_SHARES:
return miner->getBadShareCount();
- case ROLE_DONATED_SHARES:
- return miner->getGoodAlternateShareCount();
case ROLE_CONNECTION_ERROR_COUNT:
return miner->getConnectionErrorCount();
case ROLE_LAST_CONNECTION_ERROR_TIME:
@@ -396,8 +384,6 @@ QVariant MinerModel::getUserRoles(const QModelIndex& _index, int _role) const {
return miner->getCurrentState();
case ROLE_HASHRATE:
return miner->getHashRate();
- case ROLE_DONATION_HASHRATE:
- return miner->getAlternateHashRate();
}
return QVariant();
diff --git a/src/MinerModel.h b/src/MinerModel.h
index e4821eb..80dcae0 100644
--- a/src/MinerModel.h
+++ b/src/MinerModel.h
@@ -19,9 +19,6 @@
#include
-//#include "ICryptoNoteAdapter.h"
-//#include "IDonationManager.h"
-//#include "IWalletAdapter.h"
#include "IMiningManager.h"
namespace WalletGUI {
@@ -34,15 +31,13 @@ class MinerModel : public QAbstractItemModel, public IMinerManagerObserver {
public:
enum Columns {
- COLUMN_POOL_URL = 0, COLUMN_DIFFICULTY, COLUMN_GOOD_SHARES, COLUMN_BAD_SHARES, COLUMN_DONATED_SHARES,
+ COLUMN_POOL_URL = 0, COLUMN_DIFFICULTY, COLUMN_GOOD_SHARES, COLUMN_BAD_SHARES,
COLUMN_CONNECTION_ERROR_COUNT, COLUMN_LAST_CONNECTION_ERROR_TIME, COLUMN_REMOVE, COLUMN_HASHRATE,
- COLUMN_DONATION_HASHRATE
};
enum Roles {
- ROLE_POOL_HOST = Qt::UserRole, ROLE_POOL_PORT, ROLE_DIFFICULTY, ROLE_GOOD_SHARES, ROLE_BAD_SHARES, ROLE_DONATED_SHARES,
+ ROLE_POOL_HOST = Qt::UserRole, ROLE_POOL_PORT, ROLE_DIFFICULTY, ROLE_GOOD_SHARES, ROLE_BAD_SHARES,
ROLE_CONNECTION_ERROR_COUNT, ROLE_LAST_CONNECTION_ERROR_TIME, ROLE_STATE, ROLE_START_MINER, ROLE_HASHRATE,
- ROLE_DONATION_HASHRATE
};
MinerModel(IMiningManager* _minerManager, QObject* _parent);
diff --git a/src/MiningFrame.cpp b/src/MiningFrame.cpp
index 8e0159d..5ab0dcc 100644
--- a/src/MiningFrame.cpp
+++ b/src/MiningFrame.cpp
@@ -24,16 +24,12 @@
#include "MiningFrame.h"
#include "settings.h"
-//#include "ApplicationEventHandler.h"
-#include "QuestionDialog.h"
-//#include "Common/RightAlignmentColumnDelegate.h"
+#include "questiondialog.h"
#include "IMiningManager.h"
#include "IPoolMiner.h"
#include "MinerDelegate.h"
-//#include "Models/AddressBookModel.h"
#include "MinerModel.h"
#include "PoolHeaderView.h"
-//#include "Style/Style.h"
#include "ui_MiningFrame.h"
@@ -81,18 +77,15 @@ bool isIpOrHostName(const QString& _string) {
MiningFrame::MiningFrame(QWidget* _parent)
: QFrame(_parent)
, m_ui(new Ui::MiningFrame)
-// , m_cryptoNoteAdapter(nullptr)
, m_miningManager(nullptr)
-// , m_donationManager(nullptr)
, m_minerModel(nullptr)
, m_dataMapper(new QDataWidgetMapper(this))
, m_restorePoolListButton(new /*WalletLargeBlueButton*/QPushButton(this))
{
m_ui->setupUi(this);
m_ui->m_hashRateFrame->hide();
-// m_ui->m_lockedScreenMiningCheck->hide();
m_ui->m_poolView->setHorizontalHeader(new /*PoolHeaderView*/QHeaderView(Qt::Horizontal, this));
- m_ui->m_poolView->setAcceptDrops(true);
+// m_ui->m_poolView->setAcceptDrops(true);
m_restorePoolListButton->setFixedWidth(200);
m_restorePoolListButton->setText(tr("Restore default pool list"));
@@ -106,19 +99,6 @@ MiningFrame::MiningFrame(QWidget* _parent)
MiningFrame::~MiningFrame() {
}
-//void MiningFrame::setCryptoNoteAdapter(ICryptoNoteAdapter* _cryptoNoteAdapter) {
-// m_cryptoNoteAdapter = _cryptoNoteAdapter;
-//}
-
-//void MiningFrame::setApplicationEventHandler(IApplicationEventHandler* _applicationEventHandler) {
-// _applicationEventHandler->addObserver(this);
-//}
-
-//void MiningFrame::setDonationManager(IDonationManager* _donationManager) {
-// m_donationManager = _donationManager;
-// m_donationManager->addObserver(this);
-//}
-
void MiningFrame::setMiningManager(IMiningManager* _miningManager) {
m_miningManager = _miningManager;
initCpuCoresCombo();
@@ -142,26 +122,22 @@ void MiningFrame::setMinerModel(QAbstractItemModel* _model) {
m_ui->m_poolView->setItemDelegateForColumn(MinerModel::COLUMN_DIFFICULTY, delegate);
m_ui->m_poolView->setItemDelegateForColumn(MinerModel::COLUMN_GOOD_SHARES, delegate);
m_ui->m_poolView->setItemDelegateForColumn(MinerModel::COLUMN_BAD_SHARES, delegate);
- m_ui->m_poolView->setItemDelegateForColumn(MinerModel::COLUMN_DONATED_SHARES, delegate);
m_ui->m_poolView->setItemDelegateForColumn(MinerModel::COLUMN_CONNECTION_ERROR_COUNT, delegate);
m_ui->m_poolView->setItemDelegateForColumn(MinerModel::COLUMN_LAST_CONNECTION_ERROR_TIME, delegate);
m_ui->m_poolView->horizontalHeader()->setSectionResizeMode(MinerModel::COLUMN_POOL_URL, QHeaderView::Stretch);
m_ui->m_poolView->horizontalHeader()->setSectionResizeMode(MinerModel::COLUMN_DIFFICULTY, QHeaderView::Fixed);
m_ui->m_poolView->horizontalHeader()->setSectionResizeMode(MinerModel::COLUMN_GOOD_SHARES, QHeaderView::Fixed);
m_ui->m_poolView->horizontalHeader()->setSectionResizeMode(MinerModel::COLUMN_BAD_SHARES, QHeaderView::Fixed);
- m_ui->m_poolView->horizontalHeader()->setSectionResizeMode(MinerModel::COLUMN_DONATED_SHARES, QHeaderView::Fixed);
m_ui->m_poolView->horizontalHeader()->setSectionResizeMode(MinerModel::COLUMN_CONNECTION_ERROR_COUNT, QHeaderView::Fixed);
m_ui->m_poolView->horizontalHeader()->setSectionResizeMode(MinerModel::COLUMN_LAST_CONNECTION_ERROR_TIME, QHeaderView::Fixed);
m_ui->m_poolView->horizontalHeader()->setSectionResizeMode(MinerModel::COLUMN_REMOVE, QHeaderView::Fixed);
m_ui->m_poolView->horizontalHeader()->resizeSection(MinerModel::COLUMN_DIFFICULTY, 90);
m_ui->m_poolView->horizontalHeader()->resizeSection(MinerModel::COLUMN_GOOD_SHARES, 120);
m_ui->m_poolView->horizontalHeader()->resizeSection(MinerModel::COLUMN_BAD_SHARES, 120);
- m_ui->m_poolView->horizontalHeader()->resizeSection(MinerModel::COLUMN_DONATED_SHARES, 130);
m_ui->m_poolView->horizontalHeader()->resizeSection(MinerModel::COLUMN_CONNECTION_ERROR_COUNT, 160);
m_ui->m_poolView->horizontalHeader()->resizeSection(MinerModel::COLUMN_LAST_CONNECTION_ERROR_TIME, 160);
m_ui->m_poolView->horizontalHeader()->resizeSection(MinerModel::COLUMN_REMOVE, 60);
m_ui->m_poolView->horizontalHeader()->hideSection(MinerModel::COLUMN_HASHRATE);
- m_ui->m_poolView->horizontalHeader()->hideSection(MinerModel::COLUMN_DONATION_HASHRATE);
// m_ui->m_poolView->setLinkLikeColumnSet(QSet() << MinerModel::COLUMN_REMOVE);
m_ui->m_poolView->setItemDelegateForColumn(MinerModel::COLUMN_REMOVE, new MinerRemoveDelegate(m_ui->m_poolView, this));
@@ -171,48 +147,6 @@ void MiningFrame::setMinerModel(QAbstractItemModel* _model) {
connect(m_minerModel, &MinerModel::rowsRemoved, this, &MiningFrame::showRestoreButton);
}
-//void MiningFrame::donationManagerOpened() {
-// donationMiningEnabled(m_donationManager->isDonationMiningEnabled());
-//}
-
-//void MiningFrame::donationManagerClosed() {
-// if (m_ui->m_startMiningButton->isChecked()) {
-// m_ui->m_startMiningButton->click();
-// }
-//}
-
-//void MiningFrame::donationMiningEnabled(bool _on) {
-// if (_on) {
-// m_ui->m_poolView->header()->showSection(MinerModel::COLUMN_DONATED_SHARES);
-// m_ui->m_donationHashRateTextLabel->show();
-// m_ui->m_donationHashRateLabel->show();
-// } else {
-// m_ui->m_poolView->header()->hideSection(MinerModel::COLUMN_DONATED_SHARES);
-// m_ui->m_donationHashRateTextLabel->hide();
-// m_ui->m_donationHashRateLabel->hide();
-// }
-//}
-
-//void MiningFrame::donationMiningAddressChanged(const QString& _address) {
-// // Do nothing
-//}
-
-//void MiningFrame::donationMiningAmountChanged(int _amount) {
-// // Do nothing
-//}
-
-//void MiningFrame::donationChangeEnabled(bool _on) {
-// // Do nothing
-//}
-
-//void MiningFrame::donationChangeAddressChanged(const QString& _address) {
-// // Do nothing
-//}
-
-//void MiningFrame::donationChangeAmountChanged(int _amount) {
-// // Do nothing
-//}
-
void MiningFrame::minersLoaded() {
if (m_miningManager->getMinerCount() == 0) {
showRestoreButton();
@@ -311,22 +245,6 @@ void MiningFrame::lastConnectionErrorTimeChanged(quintptr /*_minerIndex*/, const
// Do nothing
}
-//void MiningFrame::urlReceived(const QUrl& _url) {
-// // Do nothing
-//}
-
-//void MiningFrame::screenLocked() {
-// if (m_ui->m_lockedScreenMiningCheck->isChecked() && !m_ui->m_startMiningButton->isChecked()) {
-// m_ui->m_startMiningButton->click();
-// }
-//}
-
-//void MiningFrame::screenUnlocked() {
-// if (m_ui->m_lockedScreenMiningCheck->isChecked() && m_ui->m_startMiningButton->isChecked()) {
-// m_ui->m_startMiningButton->click();
-// }
-//}
-
void MiningFrame::resizeEvent(QResizeEvent* _event) {
QFrame::resizeEvent(_event);
if (m_restorePoolListButton->isVisible()) {
@@ -398,10 +316,6 @@ void MiningFrame::deleteClicked(const QModelIndex& _index) {
}
}
-//void MiningFrame::miningOnLockedScreenChecked(bool _enabled) {
-// Settings::instance().setMiningOnLockedScreenEnabled(_enabled);
-//}
-
void MiningFrame::newPoolUrlChanged() {
m_ui->m_addPoolButton->setEnabled(isIpOrHostName(m_ui->m_newPoolHostEdit->text().trimmed()));
}
diff --git a/src/MiningFrame.h b/src/MiningFrame.h
index 238ebfc..7c3f8fb 100644
--- a/src/MiningFrame.h
+++ b/src/MiningFrame.h
@@ -19,9 +19,6 @@
#include
-//#include "Application/IWalletUiItem.h"
-//#include "IApplicationEventHandler.h"
-//#include "IDonationManager.h"
#include "IMiningManager.h"
class QPushButton;
@@ -38,8 +35,8 @@ namespace WalletGUI {
class IApplicationEventHandler;
class WalletLargeBlueButton;
-class MiningFrame : public QFrame, /*public IWalletUiItem, public IDonationManagerObserver,*/ public IMinerManagerObserver/*,
- public IApplicationEventHandlerObserver*/ {
+class MiningFrame : public QFrame, public IMinerManagerObserver
+{
Q_OBJECT
Q_DISABLE_COPY(MiningFrame)
@@ -47,25 +44,10 @@ class MiningFrame : public QFrame, /*public IWalletUiItem, public IDonationManag
explicit MiningFrame(QWidget* _parent);
~MiningFrame();
- // IWalletUiItem
-// virtual void setCryptoNoteAdapter(ICryptoNoteAdapter *_cryptoNoteAdapter) override;
-// virtual void setApplicationEventHandler(IApplicationEventHandler* _applicationEventHandler) override;
-// virtual void setDonationManager(IDonationManager* _donationManager) override;
virtual void setMiningManager(IMiningManager* _miningManager);
virtual void setMainWindow(QWidget *_mainWindow);
virtual void setMinerModel(QAbstractItemModel* _model);
- // IDonationManagerObserver
-// Q_SLOT virtual void donationManagerOpened() override;
-// Q_SLOT virtual void donationManagerClosed() override;
-// Q_SLOT virtual void donationMiningEnabled(bool _on) override;
-// Q_SLOT virtual void donationMiningAddressChanged(const QString& _address) override;
-// Q_SLOT virtual void donationMiningAmountChanged(int _amount) override;
-// Q_SLOT virtual void donationChangeEnabled(bool _on) override;
-// Q_SLOT virtual void donationChangeAddressChanged(const QString& _address) override;
-// Q_SLOT virtual void donationChangeAmountChanged(int _amount) override;
-
- // IMinerManagerObserver
Q_SLOT virtual void minersLoaded() override;
Q_SLOT virtual void minersUnloaded() override;
Q_SLOT virtual void miningStarted() override;
@@ -85,23 +67,15 @@ class MiningFrame : public QFrame, /*public IWalletUiItem, public IDonationManag
Q_SLOT virtual void connectionErrorCountChanged(quintptr _minerIndex, quint32 _connectionErrorCount) override;
Q_SLOT virtual void lastConnectionErrorTimeChanged(quintptr _minerIndex, const QDateTime& _lastConnectionErrorTime) override;
- // IApplicationEventHandlerObserver
-// Q_SLOT virtual void urlReceived(const QUrl& _url) override;
-// Q_SLOT virtual void screenLocked() override;
-// Q_SLOT virtual void screenUnlocked() override;
-
protected:
void resizeEvent(QResizeEvent* _event) override;
private:
QScopedPointer m_ui;
-// ICryptoNoteAdapter* m_cryptoNoteAdapter;
IMiningManager* m_miningManager;
-// IDonationManager* m_donationManager;
QWidget* m_mainWindow;
QAbstractItemModel* m_minerModel;
QDataWidgetMapper* m_dataMapper;
-// WalletLargeBlueButton* m_restorePoolListButton;
QPushButton* m_restorePoolListButton;
void initCpuCoresCombo();
@@ -113,7 +87,6 @@ class MiningFrame : public QFrame, /*public IWalletUiItem, public IDonationManag
Q_SLOT void addPoolClicked();
Q_SLOT void cpuCoreCountChangedByUser(int _cpuCoreCount);
Q_SLOT void deleteClicked(const QModelIndex& _index);
-// Q_SLOT void miningOnLockedScreenChecked(bool _enabled);
Q_SLOT void newPoolUrlChanged();
Q_SLOT void schedulePolicyChanged(QAbstractButton* _button, bool _checked);
Q_SLOT void startMiningClicked(bool _on);
diff --git a/src/MiningFrame.ui b/src/MiningFrame.ui
index c2b64b6..cd2cec2 100644
--- a/src/MiningFrame.ui
+++ b/src/MiningFrame.ui
@@ -337,7 +337,7 @@
20
-
-
+
Qt::NoFocus
@@ -347,6 +347,9 @@
QAbstractScrollArea::AdjustToContents
+
+ false
+
false
@@ -486,6 +489,13 @@
+
+
+ WalletGUI::PoolTreeView
+ QTableView
+
+
+
@@ -584,6 +594,22 @@
+
+ m_poolView
+ clicked(QModelIndex)
+ MiningFrame
+ deleteClicked(QModelIndex)
+
+
+ 434
+ 271
+
+
+ 434
+ 249
+
+
+
startMiningClicked(bool)
diff --git a/src/MiningManager.cpp b/src/MiningManager.cpp
index 2bbe77e..b48220e 100644
--- a/src/MiningManager.cpp
+++ b/src/MiningManager.cpp
@@ -19,7 +19,6 @@
#include
#include "MiningManager.h"
-//#include "INodeAdapter.h"
#include "Miner/Miner.h"
#include "settings.h"
#include "logger.h"
@@ -27,9 +26,8 @@
namespace WalletGUI {
-MiningManager::MiningManager(/*ICryptoNoteAdapter* _cryptoNoteAdapter, IDonationManager* _donationManager,*/ QObject* _parent) :
- QObject(_parent)/*, m_cryptoNoteAdapter(_cryptoNoteAdapter), m_donationManager(_donationManager)*/, walletModel_(nullptr), m_activeMinerIndex(-1) {
-// m_donationManager->addObserver(this);
+MiningManager::MiningManager(QObject* _parent) :
+ QObject(_parent), walletModel_(nullptr), m_activeMinerIndex(-1) {
}
MiningManager::~MiningManager() {
@@ -226,48 +224,6 @@ void MiningManager::disconnectedFromWalletd() {
Q_EMIT minersUnloadedSignal();
}
-//void MiningManager::donationMiningEnabled(bool _on) {
-// for (IPoolMiner* miner : m_miners) {
-// if (_on) {
-// miner->setAlternateAccount(m_donationManager->getDonationMiningAddress(), m_donationManager->getDonationMiningAmount());
-// } else {
-// miner->unsetAlternateAccount();
-// }
-// }
-//}
-
-//void MiningManager::donationMiningAddressChanged(const QString& _address) {
-// for (IPoolMiner* miner : m_miners) {
-// if (m_donationManager->isDonationMiningEnabled()) {
-// miner->setAlternateAccount(_address, m_donationManager->getDonationMiningAmount());
-// } else {
-// miner->unsetAlternateAccount();
-// }
-// }
-//}
-
-//void MiningManager::donationMiningAmountChanged(int _amount) {
-// for (IPoolMiner* miner : m_miners) {
-// if (m_donationManager->isDonationMiningEnabled()) {
-// miner->setAlternateAccount(m_donationManager->getDonationMiningAddress(), _amount);
-// } else {
-// miner->unsetAlternateAccount();
-// }
-// }
-//}
-
-//void MiningManager::donationChangeEnabled(bool _on) {
-// // Do nothing
-//}
-
-//void MiningManager::donationChangeAddressChanged(const QString& _address) {
-// // Do nothing
-//}
-
-//void MiningManager::donationChangeAmountChanged(int _amount) {
-// // Do nothing
-//}
-
void MiningManager::switchToNextPool() {
QList errorMinerIndexes = getErrorMiners();
if (errorMinerIndexes.size() == m_miners.size()) {
@@ -353,14 +309,10 @@ void MiningManager::updateActiveMinerIndex() {
}
void MiningManager::addNewMiner(const QString& _host, quint16 _port, quint32 _difficulty) {
-// IWalletAdapter* walletAdapter = m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter();
Q_ASSERT(walletModel_ != nullptr);
Miner* miner = new Miner(_host, _port, _difficulty, walletModel_->getAddress(), "x", this);
miner->addObserver(this);
m_miners.append(miner);
-// if (m_donationManager->isDonationMiningEnabled()) {
-// miner->setAlternateAccount(m_donationManager->getDonationMiningAddress(), m_donationManager->getDonationMiningAmount());
-// }
}
void MiningManager::loadMiners() {
diff --git a/src/MiningManager.h b/src/MiningManager.h
index e5c8896..824392a 100644
--- a/src/MiningManager.h
+++ b/src/MiningManager.h
@@ -23,22 +23,18 @@
#include
#include "IMiningManager.h"
-//#include "ICryptoNoteAdapter.h"
-//#include "IDonationManager.h"
#include "IPoolMiner.h"
-//#include "IWalletAdapter.h"
namespace WalletGUI {
-//class ICryptoNoteAdapter;
class WalletModel;
-class MiningManager : public QObject, public IMiningManager, public IPoolMinerObserver/*, public IDonationManagerObserver*/ {
+class MiningManager : public QObject, public IMiningManager, public IPoolMinerObserver {
Q_OBJECT
Q_DISABLE_COPY(MiningManager)
public:
- MiningManager(/*ICryptoNoteAdapter* _cryptoNoteAdapter, IDonationManager* _donationManager,*/ QObject* _parent);
+ MiningManager(QObject* _parent);
~MiningManager();
// IMinerManager
@@ -69,22 +65,10 @@ class MiningManager : public QObject, public IMiningManager, public IPoolMinerOb
Q_SLOT virtual void connectionErrorCountChanged(quint32 _connectionErrorCount) override;
Q_SLOT virtual void lastConnectionErrorTimeChanged(const QDateTime& _lastConnectionErrorTime) override;
- // IDonationManagerObserver
-// Q_SLOT virtual void donationManagerOpened() override;
-// Q_SLOT virtual void donationManagerClosed() override;
-// Q_SLOT virtual void donationMiningEnabled(bool _on) override;
-// Q_SLOT virtual void donationMiningAddressChanged(const QString& _address) override;
-// Q_SLOT virtual void donationMiningAmountChanged(int _amount) override;
-// Q_SLOT virtual void donationChangeEnabled(bool _on) override;
-// Q_SLOT virtual void donationChangeAddressChanged(const QString& _address) override;
-// Q_SLOT virtual void donationChangeAmountChanged(int _amount) override;
-
void connectedToWalletd();
void disconnectedFromWalletd();
private:
-// ICryptoNoteAdapter* m_cryptoNoteAdapter;
-// IDonationManager* m_donationManager;
WalletModel* walletModel_;
QList m_miners;
QMap> m_observerConnections;
diff --git a/src/NoWalletFrame.cpp b/src/NoWalletFrame.cpp
deleted file mode 100644
index 23c0c29..0000000
--- a/src/NoWalletFrame.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#include
-
-#include "NoWalletFrame.h"
-#include "Settings/Settings.h"
-#include "ICryptoNoteAdapter.h"
-#include "INodeAdapter.h"
-
-#include "ui_NoWalletFrame.h"
-
-namespace WalletGui {
-
-NoWalletFrame::NoWalletFrame(QWidget* _parent) : QFrame(_parent), m_ui(new Ui::NoWalletFrame),
- m_walletFile(), m_legacyKeysFile() {
- m_ui->setupUi(this);
- m_ui->m_passwordFrame->hide();
-}
-
-NoWalletFrame::~NoWalletFrame() {
-}
-
-void NoWalletFrame::openWallet(const QString& _walletFile, const QString& _legacyKeysFile) {
- m_ui->m_passwordFrame->hide();
- setPasswordError(false);
- m_walletFile = _walletFile;
- m_legacyKeysFile = _legacyKeysFile;
- m_ui->m_walletNameLabel->setText(QFileInfo(_walletFile).completeBaseName().split(".wallet")[0]);
- if (m_legacyKeysFile.isEmpty()) {
- QMetaObject::invokeMethod(this, "loadWallet", Qt::QueuedConnection, Q_ARG(QString, ""));
- } else {
- QMetaObject::invokeMethod(this, "loadLegacyKeys", Qt::QueuedConnection, Q_ARG(QString, ""));
- }
-}
-
-void NoWalletFrame::setPasswordError(bool _isErrorOccured) {
- m_ui->m_passwordEdit->setProperty("errorState", _isErrorOccured);
- m_ui->m_passwordTextLabel->setProperty("errorState", _isErrorOccured);
- m_ui->m_passwordTextLabel->setText(_isErrorOccured ? tr("INCORRECT PASSWORD") : tr("PASSWORD FOR "));
- m_ui->m_walletTextLabel->setVisible(_isErrorOccured ? false : true);
- m_ui->m_walletNameLabel->setVisible(_isErrorOccured ? false : true);
-
- m_ui->m_passwordEdit->style()->unpolish(m_ui->m_passwordEdit);
- m_ui->m_passwordEdit->style()->polish(m_ui->m_passwordEdit);
- m_ui->m_passwordEdit->update();
-
- m_ui->m_passwordTextLabel->style()->unpolish(m_ui->m_passwordTextLabel);
- m_ui->m_passwordTextLabel->style()->polish(m_ui->m_passwordTextLabel);
- m_ui->m_passwordTextLabel->update();
-}
-
-void NoWalletFrame::setCryptoNoteAdapter(ICryptoNoteAdapter* _cryptoNoteAdapter) {
- m_cryptoNoteAdapter = _cryptoNoteAdapter;
- m_cryptoNoteAdapter->addObserver(this);
- m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter()->addObserver(this);
-}
-
-void NoWalletFrame::setMainWindow(QWidget* _mainWindow) {
- QList actions = _mainWindow->actions();
- for (const auto& action : actions) {
- if (!action->objectName().compare("m_createWalletAction")) {
- connect(m_ui->m_createWalletButton, &WalletLargeBlueButton::clicked, action, &QAction::trigger, Qt::UniqueConnection);
- } else if (!action->objectName().compare("m_openWalletAction")) {
- connect(m_ui->m_openWalletButton, &WalletLargeBlueButton::clicked, action, &QAction::trigger, Qt::UniqueConnection);
- }
- }
-}
-
-void NoWalletFrame::walletOpened() {
- setPasswordError(false);
- m_ui->m_passwordFrame->hide();
- setEnabled(true);
-}
-
-void NoWalletFrame::walletOpenError(int _initStatus) {
- setEnabled(true);
- m_ui->m_passwordEdit->setFocus();
-}
-
-void NoWalletFrame::walletClosed() {
- setEnabled(true);
- m_ui->m_passwordEdit->setFocus();
-}
-
-void NoWalletFrame::passwordChanged() {
- // Do nothing
-}
-
-void NoWalletFrame::synchronizationProgressUpdated(quint32 _current, quint32 _total) {
- // Do nothing
-}
-
-void NoWalletFrame::synchronizationCompleted() {
- // Do nothing
-}
-
-void NoWalletFrame::balanceUpdated(quint64 _actualBalance, quint64 _pendingBalance) {
- // Do nothing
-}
-
-void NoWalletFrame::externalTransactionCreated(quintptr _transactionId, const FullTransactionInfo& _transaction) {
- // Do nothing
-}
-
-void NoWalletFrame::transactionUpdated(quintptr _transactionId, const FullTransactionInfo& _transaction) {
- // Do nothing
-}
-
-void NoWalletFrame::cryptoNoteAdapterInitCompleted(int _status) {
- if (_status == 0) {
- m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter()->addObserver(this);
- }
-}
-
-void NoWalletFrame::cryptoNoteAdapterDeinitCompleted() {
- // Do nothing
-}
-
-void NoWalletFrame::loadWallet(const QString& _password) {
- IWalletAdapter* walletAdapter = m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter();
- IWalletAdapter::WalletInitStatus status = walletAdapter->load(m_walletFile, _password);
- if (status == IWalletAdapter::INIT_WRONG_PASSWORD) {
- if (m_ui->m_passwordFrame->isVisible()) {
- setPasswordError(true);
- } else {
- m_ui->m_passwordFrame->show();
- }
- } else if (status == IWalletAdapter::INIT_SUCCESS) {
- Settings::instance().setWalletFile(m_walletFile);
- }
-}
-
-void NoWalletFrame::loadLegacyKeys(const QString& _password) {
- IWalletAdapter* walletAdapter = m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter();
- IWalletAdapter::WalletInitStatus status = walletAdapter->loadLegacyKeys(m_legacyKeysFile, m_walletFile, _password);
- if (status == IWalletAdapter::INIT_WRONG_PASSWORD) {
- if (m_ui->m_passwordFrame->isVisible()) {
- setPasswordError(true);
- } else {
- m_ui->m_passwordFrame->show();
- }
- } else if (status == IWalletAdapter::INIT_SUCCESS) {
- Settings::instance().setWalletFile(m_walletFile);
- }
-}
-
-void NoWalletFrame::okClicked() {
- setEnabled(false);
- QString password = m_ui->m_passwordEdit->text();
- m_ui->m_passwordEdit->clear();
- if (m_legacyKeysFile.isEmpty()) {
- loadWallet(password);
- } else {
- loadLegacyKeys(password);
- }
-}
-
-void NoWalletFrame::passwordChanged(const QString& _password) {
- setPasswordError(false);
-}
-
-}
diff --git a/src/NoWalletFrame.h b/src/NoWalletFrame.h
deleted file mode 100644
index d944e7e..0000000
--- a/src/NoWalletFrame.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#if 0
-
-#pragma once
-
-#include
-
-#include "Application/IWalletUiItem.h"
-#include "IWalletAdapter.h"
-#include "ICryptoNoteAdapter.h"
-
-namespace Ui {
-class NoWalletFrame;
-}
-
-namespace WalletGui {
-
-class NoWalletFrame : public QFrame, public IWalletUiItem, public IWalletAdapterObserver, public ICryptoNoteAdapterObserver {
- Q_OBJECT
- Q_DISABLE_COPY(NoWalletFrame)
-
-public:
- explicit NoWalletFrame(QWidget* _parent);
- ~NoWalletFrame();
-
- void openWallet(const QString& _walletFile, const QString& _legacyKeysFile);
-
- // IWalletUiItem
- virtual void setCryptoNoteAdapter(ICryptoNoteAdapter* _cryptoNoteAdapter) override;
- virtual void setMainWindow(QWidget *_mainWindow) override;
-
- // IWalletAdapterObserver
- Q_SLOT virtual void walletOpened() override;
- Q_SLOT virtual void walletOpenError(int _initStatus) override;
- Q_SLOT virtual void walletClosed() override;
- Q_SLOT virtual void passwordChanged() override;
- Q_SLOT virtual void synchronizationProgressUpdated(quint32 _current, quint32 _total) override;
- Q_SLOT virtual void synchronizationCompleted() override;
- Q_SLOT virtual void balanceUpdated(quint64 _actualBalance, quint64 _pendingBalance) override;
- Q_SLOT virtual void externalTransactionCreated(quintptr _transactionId, const FullTransactionInfo& _transaction) override;
- Q_SLOT virtual void transactionUpdated(quintptr _transactionId, const FullTransactionInfo& _transaction) override;
-
- // ICryptoNoteAdapterObserver
- Q_SLOT virtual void cryptoNoteAdapterInitCompleted(int _status) override;
- Q_SLOT virtual void cryptoNoteAdapterDeinitCompleted() override;
-
-private:
- QScopedPointer m_ui;
- ICryptoNoteAdapter* m_cryptoNoteAdapter;
- QString m_walletFile;
- QString m_legacyKeysFile;
-
- Q_INVOKABLE void loadWallet(const QString& _password);
- Q_INVOKABLE void loadLegacyKeys(const QString& _password);
- void setPasswordError(bool _isErrorOccured);
- Q_SLOT void okClicked();
- Q_SLOT void passwordChanged(const QString& _password);
-
-Q_SIGNALS:
- void createWalletClickedSignal();
- void openWalletClickedSignal();
-};
-
-}
-
-#endif
diff --git a/src/NoWalletFrame.ui b/src/NoWalletFrame.ui
deleted file mode 100644
index 4755531..0000000
--- a/src/NoWalletFrame.ui
+++ /dev/null
@@ -1,404 +0,0 @@
-
-
- NoWalletFrame
-
-
-
- 0
- 0
- 838
- 660
-
-
-
- Frame
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 170
-
-
-
-
- -
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 25
-
-
-
-
- -
-
-
-
- 476
- 0
-
-
-
-
- 338
- 16777215
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 8
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- [errorState="true"] {
- color: #ef3131;
-}
-
-
- PASSWORD FOR
-
-
-
- -
-
-
-
-
-
-
- -
-
-
- WALLET
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
- [errorState="true"] {
- border-color: #ef3131;
-}
-
-
- QLineEdit::Password
-
-
-
- -
-
-
- true
-
-
- OK
-
-
- true
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 30
-
-
-
-
- -
-
-
- 0
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 220
- 50
-
-
-
-
- 220
- 50
-
-
-
- Create wallet
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 32
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 220
- 50
-
-
-
-
- 220
- 50
-
-
-
- Open wallet
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 376
-
-
-
-
-
-
-
-
- WalletGui::WalletOkButton
- QPushButton
- Gui/Common/WalletOkButton.h
-
-
- WalletGui::WalletHeaderLabel
- QLabel
- Gui/Common/WalletTextLabel.h
-
-
- WalletGui::WalletLargeBlueButton
- QPushButton
- Gui/Common/WalletBlueButton.h
-
-
-
-
-
- m_okButton
- clicked()
- NoWalletFrame
- okClicked()
-
-
- 498
- 266
-
-
- 418
- 329
-
-
-
-
- m_passwordEdit
- textChanged(QString)
- NoWalletFrame
- passwordChanged(QString)
-
-
- 374
- 265
-
-
- 418
- 329
-
-
-
-
- m_passwordEdit
- returnPressed()
- m_okButton
- click()
-
-
- 374
- 265
-
-
- 616
- 256
-
-
-
-
-
- createWalletClickedSignal()
- openWalletClickedSignal()
- okClicked()
- passwordChanged(QString)
-
-
diff --git a/src/PoolTreeView.cpp b/src/PoolTreeView.cpp
index d03777c..4711ab0 100644
--- a/src/PoolTreeView.cpp
+++ b/src/PoolTreeView.cpp
@@ -21,11 +21,12 @@
#include
#include "PoolTreeView.h"
-#include "Settings/Settings.h"
-#include "Style/Style.h"
-#include "Models/MinerModel.h"
+//#include "Settings/Settings.h"
+//#include "Style/Style.h"
+#include "MinerModel.h"
-namespace WalletGui {
+namespace WalletGUI
+{
namespace {
@@ -82,11 +83,11 @@ class CursorManager {
}
-PoolTreeView::PoolTreeView(QWidget* _parent) : WalletTreeView(_parent) {
- QString styleSheetString = styleSheet();
- styleSheetString.append(POOL_TREE_VIEW_STYLE_SHEET_TEMPLATE);
+PoolTreeView::PoolTreeView(QWidget* _parent) : QTableView(_parent) {
+// QString styleSheetString = styleSheet();
+// styleSheetString.append(POOL_TREE_VIEW_STYLE_SHEET_TEMPLATE);
- setStyleSheet(Settings::instance().getCurrentStyle().makeStyleSheet(styleSheetString));
+// setStyleSheet(Settings::instance().getCurrentStyle().makeStyleSheet(styleSheetString));
setAcceptDrops(true);
viewport()->installEventFilter(this);
}
@@ -99,7 +100,7 @@ bool PoolTreeView::eventFilter(QObject* _object, QEvent* _event) {
selectionModel()->clearSelection();
}
- return WalletTreeView::eventFilter(_object, _event);
+ return QTableView::eventFilter(_object, _event);
}
void PoolTreeView::dragEnterEvent(QDragEnterEvent* _event) {
@@ -131,7 +132,7 @@ void PoolTreeView::dropEvent(QDropEvent* _event) {
void PoolTreeView::mouseMoveEvent(QMouseEvent* _event) {
CursorManager cursorMan(this, _event, state() == PoolTreeView::DraggingState);
if (!(_event->buttons() & Qt::LeftButton)) {
- WalletTreeView::mouseMoveEvent(_event);
+ QTableView::mouseMoveEvent(_event);
QModelIndex index = indexAt(_event->pos());
if (index.isValid() && index.column() != MinerModel::COLUMN_REMOVE) {
selectionModel()->setCurrentIndex(index, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows);
@@ -143,17 +144,17 @@ void PoolTreeView::mouseMoveEvent(QMouseEvent* _event) {
}
if (!m_pressedIndex.isValid()) {
- WalletTreeView::mouseMoveEvent(_event);
+ QTableView::mouseMoveEvent(_event);
return;
}
if ((_event->pos() - m_pressedPosition).manhattanLength() < QApplication::startDragDistance()) {
- WalletTreeView::mouseMoveEvent(_event);
+ QTableView::mouseMoveEvent(_event);
return;
}
if (m_pressedTime.msecsTo(QDateTime::currentDateTime()) < QApplication::startDragTime()) {
- WalletTreeView::mouseMoveEvent(_event);
+ QTableView::mouseMoveEvent(_event);
return;
}
@@ -165,12 +166,12 @@ void PoolTreeView::mousePressEvent(QMouseEvent* _event) {
m_pressedTime = QDateTime::currentDateTime();
m_pressedPosition = _event->pos();
m_pressedIndex = indexAt(m_pressedPosition);
- WalletTreeView::mousePressEvent(_event);
+ QTableView::mousePressEvent(_event);
}
void PoolTreeView::mouseReleaseEvent(QMouseEvent* _event) {
CursorManager cursorMan(this, _event);
- WalletTreeView::mouseReleaseEvent(_event);
+ QTableView::mouseReleaseEvent(_event);
}
}
diff --git a/src/PoolTreeView.h b/src/PoolTreeView.h
index 71f4406..8e202a8 100644
--- a/src/PoolTreeView.h
+++ b/src/PoolTreeView.h
@@ -18,28 +18,31 @@
#pragma once
#include
+#include
-#include "Common/WalletTreeView.h"
+//#include "Common/WalletTreeView.h"
-namespace WalletGui {
+namespace WalletGUI
+{
-class PoolTreeView : public WalletTreeView {
- Q_OBJECT
- Q_DISABLE_COPY(PoolTreeView)
+class PoolTreeView : public QTableView
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(PoolTreeView)
public:
- explicit PoolTreeView(QWidget* _parent);
+ explicit PoolTreeView(QWidget* parent);
~PoolTreeView();
- bool eventFilter(QObject* _object, QEvent* _event) override;
+ bool eventFilter(QObject* object, QEvent* event) override;
protected:
- void dragEnterEvent(QDragEnterEvent* _event) override;
- void dragMoveEvent(QDragMoveEvent* _event) override;
- void dropEvent(QDropEvent* _event) override;
- void mouseMoveEvent(QMouseEvent* _event) override;
- void mousePressEvent(QMouseEvent* _event) override;
- void mouseReleaseEvent(QMouseEvent* _event) override;
+ void dragEnterEvent(QDragEnterEvent* event) override;
+ void dragMoveEvent(QDragMoveEvent* event) override;
+ void dropEvent(QDropEvent* event) override;
+ void mouseMoveEvent(QMouseEvent* event) override;
+ void mousePressEvent(QMouseEvent* event) override;
+ void mouseReleaseEvent(QMouseEvent* event) override;
private:
QDateTime m_pressedTime;
diff --git a/src/TransactionsFrame.cpp b/src/TransactionsFrame.cpp
deleted file mode 100644
index 85cb748..0000000
--- a/src/TransactionsFrame.cpp
+++ /dev/null
@@ -1,273 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#include
-#include
-#include
-#include
-#include
-
-#include "TransactionsFrame.h"
-#include "Settings/Settings.h"
-#include "Common/RightAlignmentColumnDelegate.h"
-#include "Common/NewTransactionDelegate.h"
-#include "Common/TransactionsAmountDelegate.h"
-#include "Common/TransactionDetailsDialog.h"
-#include "Common/TransactionsHeaderView.h"
-#include "Common/TransactionsTimeDelegate.h"
-#include "FilteredByAddressTransactionsModel.h"
-#include "FilteredByAgeTransactionsModel.h"
-#include "FilteredByHashTransactionsModel.h"
-#include "FilteredByPeriodTransactionsModel.h"
-#include "FilteredTransactionsModel.h"
-#include "Models/TransactionsModel.h"
-#include "Style/Style.h"
-#include "TransactionsDelegate.h"
-
-#include "ui_TransactionsFrame.h"
-
-namespace WalletGui {
-
-namespace {
-
-const char TRANSACTIONS_FRAME_STYLE_SHEET_TEMPLATE[] =
- "WalletGui--TransactionsFrame {"
- "background-color: #ffffff;"
- "border: none;"
- "}"
-
- "WalletGui--TransactionsFrame #m_resetFilterButton,"
- "WalletGui--TransactionsFrame #m_filterButton {"
- "margin-top: 2px;"
- "}"
-
- "WalletGui--TransactionsFrame > #m_filterFrame > #m_filterPeriodComboFrame > #m_filterCombo {"
- "min-width: 100px;"
- "max-width: 100px;"
- "}"
-
- "WalletGui--TransactionsFrame > #m_filterFrame > #m_filterHashFrame > QLineEdit,"
- "WalletGui--TransactionsFrame > #m_filterFrame > #m_filterAddressFrame > QLineEdit {"
- "font-size: %fontSizeNormal%;"
- "}";
-
-const quint32 FILTER_FRAME_HEIGHT = 70;
-
-}
-
-TransactionsFrame::TransactionsFrame(QWidget* _parent) : QFrame(_parent), m_ui(new Ui::TransactionsFrame),
- m_mainWindow(nullptr), m_transactionsModel(nullptr), m_walletStateModel(nullptr), m_filterByAgeModel(nullptr),
- m_filterByPeriodModel(nullptr), m_filterByHashModel(nullptr), m_filterByAddressModel(nullptr), m_animation(new QPropertyAnimation(this)) {
- m_ui->setupUi(this);
- m_ui->m_filterFrame->hide();
- m_ui->m_filterPeriodFrame->hide();
- m_animation->setTargetObject(m_ui->m_filterFrame);
- m_animation->setPropertyName("maximumHeight");
- m_animation->setDuration(200);
- m_ui->m_resetFilterButton->hide();
- setStyleSheet(Settings::instance().getCurrentStyle().makeStyleSheet(TRANSACTIONS_FRAME_STYLE_SHEET_TEMPLATE));
- connect(m_animation, &QPropertyAnimation::finished, this, [this] {
- m_ui->m_filterButton->setEnabled(true);
- });
-}
-
-TransactionsFrame::~TransactionsFrame() {
-}
-
-void TransactionsFrame::setCryptoNoteAdapter(ICryptoNoteAdapter* _cryptoNoteAdapter) {
- m_cryptoNoteAdapter = _cryptoNoteAdapter;
-}
-
-void TransactionsFrame::setAddressBookManager(IAddressBookManager* _addressBookManager) {
- m_addressBookManager = _addressBookManager;
-}
-
-void TransactionsFrame::setMainWindow(QWidget* _mainWindow) {
- m_mainWindow = _mainWindow;
-}
-
-void TransactionsFrame::setWalletStateModel(QAbstractItemModel* _model) {
- m_walletStateModel = _model;
-}
-
-void TransactionsFrame::setTransactionsModel(QAbstractItemModel* _model) {
- m_transactionsModel = _model;
-}
-
-void TransactionsFrame::setSortedTransactionsModel(QAbstractItemModel* _model) {
- FilteredByAgeTransactionsModel* filterByAgeModel = new FilteredByAgeTransactionsModel(this);
- FilteredByPeriodTransactionsModel* filterByPeriodModel = new FilteredByPeriodTransactionsModel(this);
- FilteredByHashTransactionsModel* filteredByHashModel = new FilteredByHashTransactionsModel(this);
- FilteredByAddressTransactionsModel* filteredByAddressModel = new FilteredByAddressTransactionsModel(this);
- m_filterByAgeModel = filterByAgeModel;
- m_filterByPeriodModel = filterByPeriodModel;
- m_filterByHashModel = filteredByHashModel;
- m_filterByAddressModel = filteredByAddressModel;
- FilteredTransactionsModel* transactionsModel = new FilteredTransactionsModel(this);
- TransactionsDelegate* transactionsDelegate = new TransactionsDelegate(m_cryptoNoteAdapter, m_addressBookManager, transactionsModel,
- m_transactionsModel, m_walletStateModel, this);
- filterByAgeModel->setSourceModel(_model);
- filterByPeriodModel->setSourceModel(m_filterByAgeModel);
- filteredByHashModel->setSourceModel(m_filterByPeriodModel);
- filteredByAddressModel->setSourceModel(m_filterByHashModel);
- transactionsModel->setSourceModel(m_filterByAddressModel);
- int newTransactionColumn = TransactionsModel::findProxyColumn(transactionsModel, TransactionsModel::COLUMN_NEW_TRANSACTION);
- int amountColumn = TransactionsModel::findProxyColumn(transactionsModel, TransactionsModel::COLUMN_AMOUNT);
- int transfersColumn = TransactionsModel::findProxyColumn(transactionsModel, TransactionsModel::COLUMN_TRANSFERS);
- int hashColumn = TransactionsModel::findProxyColumn(transactionsModel, TransactionsModel::COLUMN_HASH);
- int timeColumn = TransactionsModel::findProxyColumn(transactionsModel, TransactionsModel::COLUMN_TIME);
- int showTransfersColumn = TransactionsModel::findProxyColumn(transactionsModel, TransactionsModel::COLUMN_SHOW_TRANSFERS);
-
- m_ui->m_transactionsView->setModel(transactionsModel);
- m_ui->m_transactionsView->setLinkLikeColumnSet(QSet() << hashColumn << showTransfersColumn);
- m_ui->m_transactionsView->setHorizontalHeader(new TransactionsHeaderView(this));
- m_ui->m_transactionsView->setItemDelegateForColumn(newTransactionColumn, new NewTransactionDelegate(this));
- m_ui->m_transactionsView->setItemDelegateForColumn(timeColumn, new TransactionsTimeDelegate(this));
- m_ui->m_transactionsView->setItemDelegateForColumn(amountColumn, new TransactionsAmountDelegate(true, this));
- m_ui->m_transactionsView->setItemDelegateForColumn(transfersColumn, transactionsDelegate);
- m_ui->m_transactionsView->setItemDelegateForColumn(showTransfersColumn, transactionsDelegate);
- m_ui->m_transactionsView->horizontalHeader()->setSectionResizeMode(newTransactionColumn, QHeaderView::Fixed);
- m_ui->m_transactionsView->horizontalHeader()->setSectionResizeMode(timeColumn, QHeaderView::Fixed);
- m_ui->m_transactionsView->horizontalHeader()->setSectionResizeMode(amountColumn, QHeaderView::Fixed);
- m_ui->m_transactionsView->horizontalHeader()->setSectionResizeMode(hashColumn, QHeaderView::Fixed);
- m_ui->m_transactionsView->horizontalHeader()->setSectionResizeMode(transfersColumn, QHeaderView::Stretch);
- m_ui->m_transactionsView->horizontalHeader()->resizeSection(newTransactionColumn, 6);
- m_ui->m_transactionsView->horizontalHeader()->resizeSection(timeColumn, 180);
- m_ui->m_transactionsView->horizontalHeader()->resizeSection(hashColumn, 280);
- m_ui->m_transactionsView->horizontalHeader()->resizeSection(amountColumn, 220);
- m_ui->m_transactionsView->horizontalHeader()->resizeSection(showTransfersColumn, 30);
- QDateTime currentDateTime = QDateTime::currentDateTime();
- m_ui->m_filterBeginDtedit->setDateTime(currentDateTime.addDays(-1));
- m_ui->m_filterEndDtedit->setDateTime(currentDateTime);
- connect(transactionsModel, &QAbstractItemModel::rowsInserted, this, &TransactionsFrame::rowsInserted);
-}
-
-void TransactionsFrame::exportToCsv() {
- Q_ASSERT(m_mainWindow != nullptr);
- QString file = QFileDialog::getSaveFileName(m_mainWindow, tr("Select CSV file"), QDir::homePath(), "CSV (*.csv)");
- if (!file.isEmpty()) {
- QByteArray csv = static_cast(m_transactionsModel)->toCsv();
- QFile f(file);
- if (f.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
- f.write(csv);
- f.close();
- }
- }
-}
-
-void TransactionsFrame::transactionDoubleClicked(const QModelIndex& _index) {
- if (!_index.isValid()) {
- return;
- }
-
- if (_index.data(TransactionsModel::ROLE_COLUMN).toInt() == TransactionsModel::COLUMN_HASH) {
- TransactionDetailsDialog dlg(m_cryptoNoteAdapter, m_transactionsModel, _index, m_mainWindow);
- dlg.exec();
- }
-}
-
-void TransactionsFrame::transactionClicked(const QModelIndex& _index) {
- if (!_index.isValid()) {
- return;
- }
-
- if (_index.data(TransactionsModel::ROLE_COLUMN).toInt() == TransactionsModel::COLUMN_SHOW_TRANSFERS) {
- m_ui->m_transactionsView->model()->setData(_index, !_index.data(TransactionsModel::ROLE_SHOW_TRANSFERS).toBool(),
- TransactionsModel::ROLE_SHOW_TRANSFERS);
- int transfersColumn = TransactionsModel::findProxyColumn(m_ui->m_transactionsView->model(), TransactionsModel::COLUMN_TRANSFERS);
- QAbstractItemDelegate* delegate = m_ui->m_transactionsView->itemDelegateForColumn(transfersColumn);
- int rowHeight = delegate->sizeHint(QStyleOptionViewItem(), _index.sibling(_index.row(), TransactionsModel::COLUMN_TRANSFERS)).height();
- m_ui->m_transactionsView->setRowHeight(_index.row(), rowHeight);
- }
-}
-
-void TransactionsFrame::filterChanged(int _index) {
- static_cast(m_filterByAgeModel)->setFilter(static_cast(_index));
- if (_index == FilteredByAgeTransactionsModel::FILTER_CUSTOM) {
- m_ui->m_filterPeriodFrame->show();
- QDateTime begin = m_ui->m_filterBeginDtedit->dateTime();
- QDateTime end = m_ui->m_filterEndDtedit->dateTime();
- static_cast(m_filterByPeriodModel)->setFilter(begin, end);
- } else {
- m_ui->m_filterPeriodFrame->hide();
- static_cast(m_filterByPeriodModel)->setFilter(QDateTime(), QDateTime());
- }
-}
-
-void TransactionsFrame::filterPeriodChanged(const QDateTime& _date_time) {
- if (m_ui->m_filterCombo->currentIndex() == FilteredByAgeTransactionsModel::FILTER_CUSTOM) {
- QDateTime begin = m_ui->m_filterBeginDtedit->dateTime();
- QDateTime end = m_ui->m_filterEndDtedit->dateTime();
- static_cast(m_filterByPeriodModel)->setFilter(begin, end);
- }
-}
-
-void TransactionsFrame::filterHashChanged(const QString& _hash) {
- QString hash = m_ui->m_filterHashEdit->text().trimmed();
- static_cast(m_filterByHashModel)->setFilter(hash);
-}
-
-void TransactionsFrame::filterAddressChanged(const QString& _hash) {
- QString address = m_ui->m_filterAddressEdit->text().trimmed();
- static_cast(m_filterByAddressModel)->setFilter(address);
-}
-
-void TransactionsFrame::showFilter(bool _on) {
- m_ui->m_filterButton->setText(_on ? tr("Hide filter") : tr("Show filter"));
- m_ui->m_filterButton->setEnabled(false);
- m_animation->setStartValue(_on ? 0 : FILTER_FRAME_HEIGHT);
- m_animation->setEndValue(_on ? FILTER_FRAME_HEIGHT : 0);
- if (_on) {
- m_ui->m_filterFrame->setMaximumHeight(0);
- m_ui->m_filterFrame->show();
- disconnect(m_animation, &QPropertyAnimation::finished, m_ui->m_filterFrame, &QFrame::hide);
- } else {
- connect(m_animation, &QPropertyAnimation::finished, m_ui->m_filterFrame, &QFrame::hide);
- connect(m_animation, &QPropertyAnimation::finished, this, static_cast(&TransactionsFrame::update));
- }
-
- m_animation->start();
- if (!_on) {
- resetFilter();
- }
-}
-
-void TransactionsFrame::resetClicked() {
- resetFilter();
-}
-
-void TransactionsFrame::rowsInserted(const QModelIndex& _parent, int _first, int _last) {
- if (_first != _last) {
- return;
- }
-
- QModelIndex index = m_ui->m_transactionsView->model()->index(_first, TransactionsModel::COLUMN_NEW_TRANSACTION);
- if (index.data(TransactionsModel::ROLE_NUMBER_OF_CONFIRMATIONS).value() == 0) {
- m_ui->m_transactionsView->openPersistentEditor(index);
- }
-}
-
-void TransactionsFrame::resetFilter() {
- QDateTime currentDateTime = QDateTime::currentDateTime();
- m_ui->m_filterCombo->setCurrentIndex(0);
- m_ui->m_filterBeginDtedit->setDateTime(currentDateTime.addDays(-1));
- m_ui->m_filterEndDtedit->setDateTime(currentDateTime);
- m_ui->m_filterHashEdit->clear();
- m_ui->m_filterAddressEdit->clear();
-}
-
-}
diff --git a/src/TransactionsFrame.h b/src/TransactionsFrame.h
deleted file mode 100644
index aa62062..0000000
--- a/src/TransactionsFrame.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#pragma once
-
-#include
-
-#include "Application/IWalletUiItem.h"
-
-class QPropertyAnimation;
-
-namespace Ui {
-class TransactionsFrame;
-}
-
-namespace WalletGui {
-
-class TransactionsFrame : public QFrame, public IWalletUiItem {
- Q_OBJECT
- Q_DISABLE_COPY(TransactionsFrame)
-
-public:
- explicit TransactionsFrame(QWidget* _parent);
- ~TransactionsFrame();
-
- // IWalletUiItem
- virtual void setCryptoNoteAdapter(ICryptoNoteAdapter* _cryptoNoteAdapter) override;
- virtual void setAddressBookManager(IAddressBookManager* _addressBookManager) override;
- virtual void setMainWindow(QWidget* _mainWindow) override;
- virtual void setWalletStateModel(QAbstractItemModel* _model) override;
- virtual void setTransactionsModel(QAbstractItemModel* _model) override;
- virtual void setSortedTransactionsModel(QAbstractItemModel* _model) override;
-
-private:
- QScopedPointer m_ui;
- ICryptoNoteAdapter* m_cryptoNoteAdapter;
- IAddressBookManager* m_addressBookManager;
- QWidget* m_mainWindow;
- QAbstractItemModel* m_transactionsModel;
- QAbstractItemModel* m_walletStateModel;
- QAbstractItemModel* m_filterByAgeModel;
- QAbstractItemModel* m_filterByPeriodModel;
- QAbstractItemModel* m_filterByHashModel;
- QAbstractItemModel* m_filterByAddressModel;
- QPropertyAnimation* m_animation;
-
- void rowsInserted(const QModelIndex& _parent, int _first, int _last);
- void resetFilter();
-
- Q_SLOT void exportToCsv();
- Q_SLOT void transactionDoubleClicked(const QModelIndex& _index);
- Q_SLOT void transactionClicked(const QModelIndex& _index);
- Q_SLOT void filterChanged(int _index);
- Q_SLOT void filterPeriodChanged(const QDateTime& _dateTime);
- Q_SLOT void filterHashChanged(const QString& _hash);
- Q_SLOT void filterAddressChanged(const QString& _hash);
- Q_SLOT void showFilter(bool _on);
- Q_SLOT void resetClicked();
-};
-
-}
diff --git a/src/TransactionsFrame.ui b/src/TransactionsFrame.ui
deleted file mode 100644
index 4ff83f6..0000000
--- a/src/TransactionsFrame.ui
+++ /dev/null
@@ -1,753 +0,0 @@
-
-
- TransactionsFrame
-
-
-
- 0
- 0
- 894
- 638
-
-
-
-
- 0
- 0
-
-
-
- Frame
-
-
- QFrame::NoFrame
-
-
- QFrame::Plain
-
-
-
- 0
-
-
- 25
-
-
- 23
-
-
- 25
-
- -
-
-
- 10
-
-
- 0
-
-
- 0
-
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- PointingHandCursor
-
-
- Reset
-
-
- true
-
-
-
- -
-
-
- PointingHandCursor
-
-
- Qt::NoFocus
-
-
- Show filter
-
-
- true
-
-
- true
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 25
-
-
- 0
-
-
- 5
-
-
- 0
-
-
- 30
-
-
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 8
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- PERIOD
-
-
-
- -
-
-
- Qt::NoFocus
-
-
-
-
- All time
-
-
- -
-
- Last hour
-
-
- -
-
- Last day
-
-
- -
-
- Last week
-
-
- -
-
- Last month
-
-
- -
-
- Last year
-
-
- -
-
- Custom
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 8
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- FROM
-
-
-
- -
-
-
- true
-
-
-
-
-
- dd MMM yyyy, HH:mm
-
-
- true
-
-
-
- -
-
-
- TO
-
-
-
- -
-
-
- true
-
-
-
-
-
- dd MMM yyyy, hh:mm
-
-
- true
-
-
-
-
-
-
- -
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 8
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- HASH
-
-
-
- -
-
-
-
-
-
- -
-
-
- QFrame::NoFrame
-
-
- QFrame::Raised
-
-
-
- 8
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- ADDRESS
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 10
-
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
- Qt::NoFocus
-
-
- QFrame::NoFrame
-
-
- QAbstractItemView::NoEditTriggers
-
-
- false
-
-
- false
-
-
- true
-
-
- QAbstractItemView::NoSelection
-
-
- QAbstractItemView::SelectItems
-
-
- Qt::ElideMiddle
-
-
- QAbstractItemView::ScrollPerPixel
-
-
- QAbstractItemView::ScrollPerPixel
-
-
- false
-
-
- Qt::NoPen
-
-
- false
-
-
- false
-
-
- false
-
-
- false
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 10
-
-
-
-
- -
-
-
- 0
-
-
- 0
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 110
- 30
-
-
-
-
- 110
- 30
-
-
-
- Qt::NoFocus
-
-
- Save as CSV
-
-
-
-
-
-
-
-
-
- WalletGui::WalletNormalBlueButton
- QPushButton
- Gui/Common/WalletBlueButton.h
-
-
- WalletGui::WalletHeaderLabel
- QLabel
- Gui/Common/WalletTextLabel.h
-
-
- WalletGui::WalletNormalGrayTextLabel
- QLabel
- Gui/Common/WalletTextLabel.h
-
-
- WalletGui::WalletTinyLinkLikeButton
- QPushButton
- Gui/Common/WalletLinkLikeButton.h
-
-
- WalletGui::WalletTableView
- QTableView
- Gui/Common/WalletTableView.h
-
-
-
-
-
- m_exportToCsvButton
- clicked()
- TransactionsFrame
- exportToCsv()
-
-
- 761
- 587
-
-
- 414
- 306
-
-
-
-
- m_filterCombo
- currentIndexChanged(int)
- TransactionsFrame
- filterChanged(int)
-
-
- 93
- 92
-
-
- 414
- 306
-
-
-
-
- m_filterEndDtedit
- dateTimeChanged(QDateTime)
- TransactionsFrame
- filterPeriodChanged(QDateTime)
-
-
- 243
- 150
-
-
- 414
- 306
-
-
-
-
- m_filterHashEdit
- textChanged(QString)
- TransactionsFrame
- filterHashChanged(QString)
-
-
- 566
- 92
-
-
- 414
- 306
-
-
-
-
- m_filterAddressEdit
- textChanged(QString)
- TransactionsFrame
- filterAddressChanged(QString)
-
-
- 566
- 150
-
-
- 414
- 306
-
-
-
-
- m_filterBeginDtedit
- dateTimeChanged(QDateTime)
- TransactionsFrame
- filterPeriodChanged(QDateTime)
-
-
- 93
- 150
-
-
- 414
- 306
-
-
-
-
- m_filterButton
- toggled(bool)
- TransactionsFrame
- showFilter(bool)
-
-
- 135
- 38
-
-
- 414
- 306
-
-
-
-
- m_resetFilterButton
- clicked()
- TransactionsFrame
- resetClicked()
-
-
- 712
- 39
-
-
- 446
- 318
-
-
-
-
- m_filterButton
- toggled(bool)
- m_resetFilterButton
- setVisible(bool)
-
-
- 814
- 39
-
-
- 712
- 39
-
-
-
-
- m_transactionsView
- doubleClicked(QModelIndex)
- TransactionsFrame
- transactionDoubleClicked(QModelIndex)
-
-
- 446
- 360
-
-
- 446
- 318
-
-
-
-
- m_transactionsView
- clicked(QModelIndex)
- TransactionsFrame
- transactionClicked(QModelIndex)
-
-
- 446
- 360
-
-
- 446
- 318
-
-
-
-
-
- exportToCsv()
- transactionDoubleClicked(QModelIndex)
- filterChanged(int)
- filterPeriodChanged(QDateTime)
- filterHashChanged(QString)
- filterAddressChanged(QString)
- showFilter(bool)
- resetClicked()
- transactionClicked(QModelIndex)
-
-
diff --git a/src/WalletLinkLikeButton.cpp b/src/WalletLinkLikeButton.cpp
deleted file mode 100644
index 05f76a6..0000000
--- a/src/WalletLinkLikeButton.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#include "WalletLinkLikeButton.h"
-#include "Settings/Settings.h"
-#include "Style/Style.h"
-
-namespace WalletGui {
-
-namespace {
-
-const char WALLET_LINK_LIKE_BUTTON_STYLE_SHEET_TEMPLATE[] =
- "* {"
- "font-family: %fontFamily%;"
- "}"
-
- "WalletGui--WalletLinkLikeButton {"
- "border: 1px solid transparent;"
- "background-color: transparent;"
- "color: %fontColorBlueNormal%;"
- "}"
-
- "WalletGui--WalletLinkLikeButton:hover {"
- "color: %fontColorBlueHover%;"
- "}"
-
- "WalletGui--WalletLinkLikeButton:pressed {"
- "color: %fontColorBluePressed%;"
- "}"
-
- "WalletGui--WalletTinyLinkLikeButton {"
- "font-size: %fontSizeTiny%;"
- "min-height: 12px;"
- "}"
-
- "WalletGui--WalletNormalLinkLikeButton {"
- "font-size: %fontSizeNormal%;"
- "min-height: %fontSizeNormal%;"
- "}";
-
-}
-
-WalletLinkLikeButton::WalletLinkLikeButton(QWidget* _parent) : QPushButton(_parent) {
- setStyleSheet(Settings::instance().getCurrentStyle().makeStyleSheet(WALLET_LINK_LIKE_BUTTON_STYLE_SHEET_TEMPLATE));
-}
-
-WalletLinkLikeButton::~WalletLinkLikeButton() {
-}
-
-WalletTinyLinkLikeButton::WalletTinyLinkLikeButton(QWidget* _parent) : WalletLinkLikeButton(_parent) {
-}
-
-WalletTinyLinkLikeButton::~WalletTinyLinkLikeButton() {
-}
-
-WalletNormalLinkLikeButton::WalletNormalLinkLikeButton(QWidget* _parent) : WalletLinkLikeButton(_parent) {
-}
-
-WalletNormalLinkLikeButton::~WalletNormalLinkLikeButton() {
-}
-
-}
diff --git a/src/WalletLinkLikeButton.h b/src/WalletLinkLikeButton.h
deleted file mode 100644
index a75092e..0000000
--- a/src/WalletLinkLikeButton.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#pragma once
-
-#include
-
-namespace WalletGui {
-
-class WalletLinkLikeButton : public QPushButton {
- Q_OBJECT
- Q_DISABLE_COPY(WalletLinkLikeButton)
-
-public:
- explicit WalletLinkLikeButton(QWidget* _parent);
- ~WalletLinkLikeButton();
-};
-
-class WalletTinyLinkLikeButton : public WalletLinkLikeButton {
- Q_OBJECT
- Q_DISABLE_COPY(WalletTinyLinkLikeButton)
-
-public:
- explicit WalletTinyLinkLikeButton(QWidget* _parent);
- ~WalletTinyLinkLikeButton();
-};
-
-class WalletNormalLinkLikeButton : public WalletLinkLikeButton {
- Q_OBJECT
- Q_DISABLE_COPY(WalletNormalLinkLikeButton)
-
-public:
- explicit WalletNormalLinkLikeButton(QWidget* _parent);
- ~WalletNormalLinkLikeButton();
-};
-
-}
diff --git a/src/WalletTextLabel.cpp b/src/WalletTextLabel.cpp
deleted file mode 100644
index 5475ce5..0000000
--- a/src/WalletTextLabel.cpp
+++ /dev/null
@@ -1,179 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#include "WalletTextLabel.h"
-#include "Settings/Settings.h"
-#include "Style/Style.h"
-
-namespace WalletGui {
-
-namespace {
-
-const char WALLET_TEXT_LABEL_STYLE_SHEET_TEMPLATE[] =
- "WalletGui--WalletTextLabel {"
- "border: 1px solid transparent;"
- "}"
-
- "WalletGui--WalletTextLabel[errorState=\"true\"] {"
- "color: %fontColorRed%;"
- "}"
-
- "WalletGui--WalletTinyGrayTextLabel {"
- "color: %fontColorGray%;"
- "font-size: %fontSizeTiny%;"
- "}"
-
- "WalletGui--WalletSmallGrayTextLabel {"
- "color: %fontColorGray%;"
- "font-size: %fontSizeSmall%;"
- "}"
-
- "WalletGui--WalletSmallGreenBoldTextLabel {"
- "color: %fontColorGreen%;"
- "font-size: %fontSizeSmall%;"
- "font-weight: bold;"
- "}"
-
- "WalletGui--WalletSmallBlackTextLabel {"
- "color: #000000;"
- "font-size: %fontSizeSmall%;"
- "}"
-
- "WalletGui--WalletNormalGrayTextLabel {"
- "color: %fontColorGray%;"
- "font-size: %fontSizeNormal%;"
- "}"
-
- "WalletGui--WalletNormalGreenBoldTextLabel {"
- "color: %fontColorGreen%;"
- "font-size: %fontSizeNormal%;"
- "font-weight: bold;"
- "}"
-
- "WalletGui--WalletExtraNormalGrayTextLabel {"
- "color: %fontColorGray%;"
- "font-size: %fontSizeExtraNormal%;"
- "}"
-
- "WalletGui--WalletNormalBlackTextLabel {"
- "color: #000000;"
- "font-size: %fontSizeNormal%;"
- "}"
-
- "WalletGui--WalletExtraNormalBlackTextLabel {"
- "color: #000000;"
- "font-size: %fontSizeExtraNormal%;"
- "}"
-
- "WalletGui--WalletLargeBlackTextLabel {"
- "color: #000000;"
- "font-size: %fontSizeLarge%;"
- "}"
-
- "WalletGui--WalletExtraLargeBlackTextLabel {"
- "color: #000000;"
- "font-size: %fontSizeExtraLarge%;"
- "}"
-
- "WalletGui--WalletHeaderLabel {"
- "min-height: 17;"
- "font-size: %fontSizeLarge%;"
- "font-weight: bold;"
- "}";
-
-}
-
-WalletTextLabel::WalletTextLabel(QWidget* _parent) : QLabel(_parent) {
- setStyleSheet(Settings::instance().getCurrentStyle().makeStyleSheet(WALLET_TEXT_LABEL_STYLE_SHEET_TEMPLATE));
-}
-
-WalletTextLabel::~WalletTextLabel() {
-}
-
-WalletTinyGrayTextLabel::WalletTinyGrayTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletTinyGrayTextLabel::~WalletTinyGrayTextLabel() {
-}
-
-WalletSmallGrayTextLabel::WalletSmallGrayTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletSmallGrayTextLabel::~WalletSmallGrayTextLabel() {
-}
-
-WalletSmallGreenBoldTextLabel::WalletSmallGreenBoldTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletSmallGreenBoldTextLabel::~WalletSmallGreenBoldTextLabel() {
-}
-
-WalletSmallBlackTextLabel::WalletSmallBlackTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletSmallBlackTextLabel::~WalletSmallBlackTextLabel() {
-}
-
-WalletNormalGrayTextLabel::WalletNormalGrayTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletNormalGrayTextLabel::~WalletNormalGrayTextLabel() {
-}
-
-WalletNormalGreenBoldTextLabel::WalletNormalGreenBoldTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletNormalGreenBoldTextLabel::~WalletNormalGreenBoldTextLabel() {
-}
-
-WalletExtraNormalGrayTextLabel::WalletExtraNormalGrayTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletExtraNormalGrayTextLabel::~WalletExtraNormalGrayTextLabel() {
-}
-
-WalletNormalBlackTextLabel::WalletNormalBlackTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletNormalBlackTextLabel::~WalletNormalBlackTextLabel() {
-}
-
-WalletExtraNormalBlackTextLabel::WalletExtraNormalBlackTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletExtraNormalBlackTextLabel::~WalletExtraNormalBlackTextLabel() {
-}
-
-WalletLargeBlackTextLabel::WalletLargeBlackTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletLargeBlackTextLabel::~WalletLargeBlackTextLabel() {
-}
-
-WalletExtraLargeBlackTextLabel::WalletExtraLargeBlackTextLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletExtraLargeBlackTextLabel::~WalletExtraLargeBlackTextLabel() {
-}
-
-WalletHeaderLabel::WalletHeaderLabel(QWidget* _parent) : WalletTextLabel(_parent) {
-}
-
-WalletHeaderLabel::~WalletHeaderLabel() {
-}
-
-}
diff --git a/src/WalletTextLabel.h b/src/WalletTextLabel.h
deleted file mode 100644
index 70bdb70..0000000
--- a/src/WalletTextLabel.h
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#pragma once
-
-#include
-
-namespace WalletGui {
-
-class WalletTextLabel : public QLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletTextLabel)
-
-public:
- explicit WalletTextLabel(QWidget* _parent);
- ~WalletTextLabel();
-};
-
-class WalletTinyGrayTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletTinyGrayTextLabel)
-
-public:
- explicit WalletTinyGrayTextLabel(QWidget* _parent);
- ~WalletTinyGrayTextLabel();
-};
-
-class WalletSmallGrayTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletSmallGrayTextLabel)
-
-public:
- explicit WalletSmallGrayTextLabel(QWidget* _parent);
- ~WalletSmallGrayTextLabel();
-};
-
-class WalletSmallGreenBoldTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletSmallGreenBoldTextLabel)
-
-public:
- explicit WalletSmallGreenBoldTextLabel(QWidget* _parent);
- ~WalletSmallGreenBoldTextLabel();
-};
-
-class WalletSmallBlackTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletSmallBlackTextLabel)
-
-public:
- explicit WalletSmallBlackTextLabel(QWidget* _parent);
- ~WalletSmallBlackTextLabel();
-};
-
-class WalletNormalGrayTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletNormalGrayTextLabel)
-
-public:
- explicit WalletNormalGrayTextLabel(QWidget* _parent);
- ~WalletNormalGrayTextLabel();
-};
-
-class WalletNormalGreenBoldTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletNormalGreenBoldTextLabel)
-
-public:
- explicit WalletNormalGreenBoldTextLabel(QWidget* _parent);
- ~WalletNormalGreenBoldTextLabel();
-};
-
-class WalletExtraNormalGrayTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletExtraNormalGrayTextLabel)
-
-public:
- explicit WalletExtraNormalGrayTextLabel(QWidget* _parent);
- ~WalletExtraNormalGrayTextLabel();
-};
-
-class WalletNormalBlackTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletNormalBlackTextLabel)
-
-public:
- explicit WalletNormalBlackTextLabel(QWidget* _parent);
- ~WalletNormalBlackTextLabel();
-};
-
-class WalletExtraNormalBlackTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletExtraNormalBlackTextLabel)
-
-public:
- explicit WalletExtraNormalBlackTextLabel(QWidget* _parent);
- ~WalletExtraNormalBlackTextLabel();
-};
-
-class WalletLargeBlackTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletLargeBlackTextLabel)
-
-public:
- explicit WalletLargeBlackTextLabel(QWidget* _parent);
- ~WalletLargeBlackTextLabel();
-};
-
-class WalletExtraLargeBlackTextLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletExtraLargeBlackTextLabel)
-
-public:
- explicit WalletExtraLargeBlackTextLabel(QWidget* _parent);
- ~WalletExtraLargeBlackTextLabel();
-};
-
-class WalletHeaderLabel : public WalletTextLabel {
- Q_OBJECT
- Q_DISABLE_COPY(WalletHeaderLabel)
-
-public:
- explicit WalletHeaderLabel(QWidget* _parent);
- ~WalletHeaderLabel();
-};
-
-}
diff --git a/src/aboutdialog.ui b/src/aboutdialog.ui
index 2fd0b3c..2dfeaef 100644
--- a/src/aboutdialog.ui
+++ b/src/aboutdialog.ui
@@ -41,7 +41,7 @@
- <html><head/><body><p>Bytecoin version %1-%2-%3</p><p>Bytecoin is the next generation anonymous cryptocurrency based on CryptoNote.</p><p>Copyright © 2012-%4 The Bytecoin developers</p><p>This is free software.</p><p>Distributed under the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.</p><p>Distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details:</p><p><a href="https://www.gnu.org/licenses/lgpl.html"><span style=" text-decoration: underline; color:#0000ff;">https://www.gnu.org/licenses/lgpl.html</span></a></p><p><a href="http://bytecoin.org/"><span style=" text-decoration: underline; color:#0000ff;">https://bytecoin.org/</span></a></p></body></html>
+ <html><head/><body><p>Bytecoin GUI version %1-%2-%3</p><p>Bytecoin is the next generation anonymous cryptocurrency based on CryptoNote.</p><p>Copyright © 2012-%4 The Bytecoin developers</p><p>This is free software.</p><p>Distributed under the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.</p><p>Distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details:</p><p><a href="https://www.gnu.org/licenses/lgpl.html"><span style=" text-decoration: underline; color:#0000ff;">https://www.gnu.org/licenses/lgpl.html</span></a></p><p><a href="http://bytecoin.org/"><span style=" text-decoration: underline; color:#0000ff;">https://bytecoin.org/</span></a></p></body></html>
Qt::RichText
diff --git a/src/addressbookdialog.cpp b/src/addressbookdialog.cpp
index 0759369..a11ebae 100644
--- a/src/addressbookdialog.cpp
+++ b/src/addressbookdialog.cpp
@@ -17,7 +17,6 @@
#include "addressbookdialog.h"
#include "addressbookmodel.h"
-//#include "Common/RightAlignmentColumnDelegate.h"
#include "ui_addressbookdialog.h"
diff --git a/src/addressbookframe.cpp b/src/addressbookframe.cpp
index 7ff07b0..a31b3c9 100644
--- a/src/addressbookframe.cpp
+++ b/src/addressbookframe.cpp
@@ -23,9 +23,7 @@
#include "addressbookframe.h"
#include "addressbookdelegate.h"
#include "addressbookmanager.h"
-#include "QuestionDialog.h"
-//#include "Common/RightAlignmentColumnDelegate.h"
-//#include "DonationColumnDelegate.h"
+#include "questiondialog.h"
#include "addressbookmodel.h"
#include "newaddressdialog.h"
#include "ui_addressbookframe.h"
diff --git a/src/addressbookmanager.cpp b/src/addressbookmanager.cpp
index 5e6973f..85cfd31 100644
--- a/src/addressbookmanager.cpp
+++ b/src/addressbookmanager.cpp
@@ -37,7 +37,6 @@ constexpr const char ADDRESS_ITEM_ADDRESS_TAG_NAME[] = "address";
AddressBookManager::AddressBookManager(QObject* _parent)
: QObject(_parent)
{
-// const QSettings::Format jsonFormat = QSettings::registerFormat("json", readJsonFile, writeJsonFile);
const QString jsonFile = Settings::instance().getDefaultWorkDir().absoluteFilePath("address_book.json");
addressBook_.reset(new QSettings(jsonFile/*, jsonFormat*/, Settings::instance().getFormat()));
@@ -51,7 +50,6 @@ AddressBookManager::~AddressBookManager()
AddressIndex AddressBookManager::getAddressCount() const
{
-// return m_addressBookObject[ADDRESS_BOOK_TAG_NAME].toArray().size();
return addressBook_->value(ADDRESS_BOOK_TAG_NAME).toList().size();
}
@@ -110,7 +108,6 @@ void AddressBookManager::addAddress(const QString& _label, const QString& _addre
addressBook_->setValue(ADDRESS_BOOK_TAG_NAME, addressArray);
addressIndexes_.insert(_address, addressArray.size() - 1);
labelIndexes_.insert(_label, addressArray.size() - 1);
-// saveAddressBook();
emit addressAddedSignal(addressArray.size() - 1);
}
@@ -132,7 +129,6 @@ void AddressBookManager::editAddress(AddressIndex _addressIndex, const QString&
labelIndexes_.remove(oldLabel);
addressIndexes_.insert(_address, _addressIndex);
labelIndexes_.insert(_label, _addressIndex);
-// saveAddressBook();
emit addressEditedSignal(_addressIndex);
}
@@ -158,73 +154,9 @@ void AddressBookManager::removeAddress(AddressIndex _addressIndex)
}
addressBook_->setValue(ADDRESS_BOOK_TAG_NAME, addressArray);
-// saveAddressBook();
emit addressRemovedSignal(_addressIndex);
}
-//void AddressBookManager::addObserver(IAddressBookManagerObserver* _observer) {
-// QObject* observer = dynamic_cast(_observer);
-// connect(this, SIGNAL(addressBookOpenedSignal()), observer, SLOT(addressBookOpened()));
-// connect(this, SIGNAL(addressBookClosedSignal()), observer, SLOT(addressBookClosed()));
-// connect(this, SIGNAL(addressAddedSignal(AddressIndex)), observer, SLOT(addressAdded(AddressIndex)));
-// connect(this, SIGNAL(addressEditedSignal(AddressIndex)), observer, SLOT(addressEdited(AddressIndex)));
-// connect(this, SIGNAL(addressRemovedSignal(AddressIndex)), observer, SLOT(addressRemoved(AddressIndex)));
-//}
-
-//void AddressBookManager::removeObserver(IAddressBookManagerObserver* _observer) {
-// QObject* observer = dynamic_cast(_observer);
-// disconnect(this, SIGNAL(addressBookOpenedSignal()), observer, SLOT(addressBookOpened()));
-// disconnect(this, SIGNAL(addressBookClosedSignal()), observer, SLOT(addressBookClosed()));
-// disconnect(this, SIGNAL(addressAddedSignal(AddressIndex)), observer, SLOT(addressAdded(AddressIndex)));
-// disconnect(this, SIGNAL(addressEditedSignal(AddressIndex)), observer, SLOT(addressEdited(AddressIndex)));
-// disconnect(this, SIGNAL(addressRemovedSignal(AddressIndex)), observer, SLOT(addressRemoved(AddressIndex)));
-//}
-
-//void AddressBookManager::walletOpened() {
-// QByteArray userData = m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter()->getUserData();
-// bool needOverwrite = false;
-// if (userData.isEmpty()) {
-// QFile addressBookFile(Settings::instance().getLegacyAddressBookFile());
-// if (addressBookFile.open(QIODevice::ReadOnly)) {
-// needOverwrite = true;
-// userData = addressBookFile.readAll();
-// }
-// }
-
-// if (!userData.isEmpty()) {
-// QJsonDocument doc = QJsonDocument::fromBinaryData(qUncompress(userData));
-// if (doc.isNull()) {
-// doc = QJsonDocument::fromJson(userData);
-// if (!doc.isNull()) {
-// needOverwrite = true;
-// }
-// }
-
-// if (!doc.isNull()) {
-// if (doc.isArray()) {
-// m_addressBookObject.insert(ADDRESS_BOOK_TAG_NAME, doc.array());
-// needOverwrite = true;
-// } else {
-// m_addressBookObject = doc.object();
-// }
-
-// if (needOverwrite) {
-// saveAddressBook();
-// }
-// }
-// }
-
-// buildIndexes();
-// Q_EMIT addressBookOpenedSignal();
-// Q_EMIT donationManagerOpenedSignal();
-//}
-
-void AddressBookManager::saveAddressBook()
-{
-// m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter()->setUserData(qCompress(QJsonDocument(m_addressBookObject).toBinaryData()));
-
-}
-
void AddressBookManager::buildIndexes() {
const QVariantList addressArray = addressBook_->value(ADDRESS_BOOK_TAG_NAME).toList();
for (int i = 0; i < addressArray.size(); ++i) {
diff --git a/src/addressbookmanager.h b/src/addressbookmanager.h
index ffa9440..eb6fe52 100644
--- a/src/addressbookmanager.h
+++ b/src/addressbookmanager.h
@@ -51,16 +51,11 @@ class AddressBookManager : public QObject
void editAddress(AddressIndex _addressIndex, const QString& _label, const QString& _address);
void removeAddress(AddressIndex _addressIndex);
-// void addObserver(IAddressBookManagerObserver* _observer);
-// void removeObserver(IAddressBookManagerObserver* _observer);
-
private:
-// QJsonObject addressBookObject_;
QScopedPointer addressBook_;
QHash addressIndexes_;
QHash labelIndexes_;
- void saveAddressBook();
void buildIndexes();
signals:
diff --git a/src/addressbookmodel.cpp b/src/addressbookmodel.cpp
index 9ea9671..cfc05f6 100644
--- a/src/addressbookmodel.cpp
+++ b/src/addressbookmodel.cpp
@@ -37,9 +37,6 @@ AddressBookModel::AddressBookModel(AddressBookManager* _addressBookManager, QObj
, m_columnCount(AddressBookModel::staticMetaObject.enumerator(AddressBookModel::staticMetaObject.indexOfEnumerator("Columns")).keyCount())
, m_rowCount(0)
{
-// m_addressBookManager->addObserver(this);
-// connect(m_addressBookManager, &AddressBookManager::addressBookOpenedSignal, this, &AddressBookModel::addressBookOpened);
-// connect(m_addressBookManager, &AddressBookManager::addressBookClosedSignal, this, &AddressBookModel::addressBookClosed);
connect(m_addressBookManager, &AddressBookManager::addressAddedSignal, this, &AddressBookModel::addressAdded);
connect(m_addressBookManager, &AddressBookManager::addressEditedSignal, this, &AddressBookModel::addressEdited);
connect(m_addressBookManager, &AddressBookManager::addressRemovedSignal, this, &AddressBookModel::addressRemoved);
@@ -92,8 +89,6 @@ QVariant AddressBookModel::headerData(int _section, Qt::Orientation _orientation
return tr("Label");
case COLUMN_ADDRESS:
return tr("Address");
-// case COLUMN_DONATION:
-// return tr("Donation");
}
break;
@@ -105,8 +100,6 @@ QVariant AddressBookModel::headerData(int _section, Qt::Orientation _orientation
return static_cast(Qt::AlignLeft | Qt::AlignVCenter);
case COLUMN_ADDRESS:
return static_cast(Qt::AlignRight | Qt::AlignVCenter);
-// case COLUMN_DONATION:
-// return static_cast(Qt::AlignCenter);
}
break;
@@ -186,10 +179,6 @@ QVariant AddressBookModel::getDisplayRole(const QModelIndex& _index) const {
}
QVariant AddressBookModel::getDecorationRole(const QModelIndex& /*_index*/) const {
-// if (_index.column() == COLUMN_DONATION && _index.data(ROLE_IS_DONATION_ADDRESS).toBool()) {
-// return QPixmap(":icons/donation");
-// }
-
return QVariant();
}
@@ -200,8 +189,6 @@ QVariant AddressBookModel::getUserRole(const QModelIndex& _index, int _role) con
return addressItem.label;
case ROLE_ADDRESS:
return addressItem.address;
-// case ROLE_IS_DONATION_ADDRESS:
-// return addressItem.isDonationAddress;
case ROLE_COLUMN:
return headerData(_index.column(), Qt::Horizontal, _role);
case ROLE_ROW:
diff --git a/src/application.cpp b/src/application.cpp
index 0a7c177..ff80e3f 100644
--- a/src/application.cpp
+++ b/src/application.cpp
@@ -5,6 +5,7 @@
#include
#include
#include
+#include
#include "application.h"
#include "signalhandler.h"
@@ -21,6 +22,7 @@
#include "changepassworddialog.h"
#include "askpassworddialog.h"
#include "crashdialog.h"
+#include "importkeydialog.h"
namespace WalletGUI {
@@ -74,13 +76,13 @@ bool WalletApplication::init()
makeDataDir(logsDir);
WalletLogger::init(logsDir, true, this);
WalletLogger::info(tr("[Application] Initializing..."));
- QString path = dataDir.absoluteFilePath("bytecoinwallet.lock");
+ QString path = dataDir.absoluteFilePath("bytecoin-gui.lock");
m_lockFile.reset(new QLockFile(path));
if (!m_lockFile->tryLock())
{
- WalletLogger::warning(tr("[Application] Bytecoin wallet already running"));
- QMessageBox::warning(nullptr, QObject::tr("Fail"), "Bytecoin wallet already running");
+ WalletLogger::warning(tr("[Application] Bytecoin wallet GUI already running"));
+ QMessageBox::warning(nullptr, QObject::tr("Fail"), "Bytecoin wallet GUI already running");
return false;
}
@@ -107,6 +109,7 @@ bool WalletApplication::init()
connect(m_mainWindow, &MainWindow::restartDaemon, this, &WalletApplication::restartDaemon);
connect(m_mainWindow, &MainWindow::createWalletSignal, this, &WalletApplication::createWallet);
+ connect(m_mainWindow, &MainWindow::importKeysSignal, this, &WalletApplication::importKeys);
connect(m_mainWindow, &MainWindow::openWalletSignal, this, &WalletApplication::openWallet);
connect(m_mainWindow, &MainWindow::remoteWalletSignal, this, &WalletApplication::remoteWallet);
connect(m_mainWindow, &MainWindow::encryptWalletSignal, this, &WalletApplication::encryptWallet);
@@ -141,6 +144,8 @@ void WalletApplication::subscribeToWalletd()
connect(walletd_, &RemoteWalletd::networkErrorSignal, m_miningManager, &MiningManager::disconnectedFromWalletd);
connect(walletd_, &RemoteWalletd::packetSent, m_mainWindow, &MainWindow::packetSent);
connect(walletd_, &RemoteWalletd::packetReceived, m_mainWindow, &MainWindow::packetReceived);
+
+ connect(walletd_, &RemoteWalletd::authRequiredSignal, this, &WalletApplication::requestWalletdAuth);
}
/* static */
@@ -213,7 +218,7 @@ void WalletApplication::createWalletd()
{
const QString& walletFile = Settings::instance().getWalletFile();
Q_ASSERT(!walletFile.isEmpty());
- runBuiltinWalletd(walletFile, false);
+ runBuiltinWalletd(walletFile, false, QByteArray{});
}
else
connectToRemoteWalletd();
@@ -230,7 +235,7 @@ void WalletApplication::splashMsg(const QString& msg)
m_mainWindow->splashMsg(msg);
}
-void WalletApplication::runBuiltinWalletd(const QString& walletFile, bool createNew)
+void WalletApplication::runBuiltinWalletd(const QString& walletFile, bool createNew, QByteArray&& keys)
{
if (walletd_)
{
@@ -239,7 +244,7 @@ void WalletApplication::runBuiltinWalletd(const QString& walletFile, bool create
}
splashMsg(tr("Running walletd..."));
- BuiltinWalletd* walletd = new BuiltinWalletd(walletFile, createNew, this);
+ BuiltinWalletd* walletd = new BuiltinWalletd(walletFile, createNew, std::move(keys), this);
walletd_ = walletd;
connect(walletd, &BuiltinWalletd::daemonStandardOutputSignal, m_mainWindow, &MainWindow::addDaemonOutput);
@@ -388,7 +393,7 @@ void WalletApplication::createWallet(QWidget* parent)
if (fileName.isEmpty())
return;
- runBuiltinWalletd(fileName, true);
+ runBuiltinWalletd(fileName, true, QByteArray{});
}
void WalletApplication::openWallet(QWidget* parent)
@@ -401,7 +406,7 @@ void WalletApplication::openWallet(QWidget* parent)
if (fileName.isEmpty())
return;
- runBuiltinWalletd(fileName, false);
+ runBuiltinWalletd(fileName, false, QByteArray{});
}
void WalletApplication::remoteWallet(QWidget* parent)
@@ -423,9 +428,27 @@ void WalletApplication::encryptWallet(QWidget *parent)
walletd->changeWalletPassword(dlg.getOldPassword(), dlg.getNewPassword());
}
+void WalletApplication::importKeys(QWidget* parent)
+{
+ ImportKeyDialog dlg(parent);
+ if (dlg.exec() != QDialog::Accepted)
+ return;
+
+ const QString fileName = QFileDialog::getSaveFileName(
+ parent,
+ tr("Create wallet file"),
+ QDir::homePath(),
+ tr("Wallet files (*.wallet);;All files (*)"));
+ if (fileName.isEmpty())
+ return;
+
+ QByteArray keys = dlg.getKey();
+ runBuiltinWalletd(fileName, true, std::move(keys));
+}
+
void WalletApplication::requestPassword()
{
- AskPasswordDialog dlg(m_mainWindow);
+ AskPasswordDialog dlg(false, m_mainWindow);
if (dlg.exec() == QDialog::Accepted)
static_cast(walletd_)->setPassword(dlg.getPassword());
else
@@ -441,4 +464,19 @@ void WalletApplication::requestPasswordWithConfirmation()
walletd_->stop();
}
+void WalletApplication::requestWalletdAuth(QAuthenticator* authenticator)
+{
+ AskPasswordDialog dlg(true, m_mainWindow);
+ if (dlg.exec() == QDialog::Accepted)
+ {
+ authenticator->setUser(dlg.getUser());
+ authenticator->setPassword(dlg.getPassword());
+ }
+ else
+ {
+ walletd_->stop();
+ detached();
+ }
+}
+
}
diff --git a/src/application.h b/src/application.h
index c4b9185..6d35055 100644
--- a/src/application.h
+++ b/src/application.h
@@ -9,6 +9,7 @@
class QLockFile;
class QDir;
+class QAuthenticator;
namespace WalletGUI
{
@@ -56,6 +57,7 @@ class WalletApplication: public QApplication
void createWalletd();
void subscribeToWalletd();
void firstRun();
+ void runBuiltinWalletd(const QString& walletFile, bool createNew, QByteArray&& keys);
signals:
void builtinRunSignal();
@@ -66,7 +68,6 @@ public slots:
void sendTx(const RpcApi::SendTransaction::Request& req);
void restartDaemon();
- void runBuiltinWalletd(const QString& walletFile, bool createNew);
void connectToRemoteWalletd();
@@ -74,6 +75,7 @@ public slots:
void openWallet(QWidget* parent);
void remoteWallet(QWidget* parent);
void encryptWallet(QWidget* parent);
+ void importKeys(QWidget* parent);
void splashMsg(const QString& msg);
@@ -85,6 +87,7 @@ private slots:
void daemonFinished(int exitCode, QProcess::ExitStatus exitStatus);
void requestPassword();
void requestPasswordWithConfirmation();
+ void requestWalletdAuth(QAuthenticator* authenticator);
#ifdef Q_OS_MAC
private:
diff --git a/src/askpassworddialog.cpp b/src/askpassworddialog.cpp
index 96276ca..e0132b6 100644
--- a/src/askpassworddialog.cpp
+++ b/src/askpassworddialog.cpp
@@ -4,13 +4,15 @@
namespace WalletGUI
{
-AskPasswordDialog::AskPasswordDialog(QWidget *parent) :
- QDialog(parent, Qt::Dialog),
- ui(new Ui::AskPasswordDialog)
+AskPasswordDialog::AskPasswordDialog(bool askUserName, QWidget *parent)
+ : QDialog(parent, Qt::Dialog)
+ , ui(new Ui::AskPasswordDialog)
{
ui->setupUi(this);
-// setWindowTitle("Bytecoin");
+ ui->userLabel->setVisible(askUserName);
+ ui->userEdit->setVisible(askUserName);
+ adjustSize();
}
AskPasswordDialog::~AskPasswordDialog()
@@ -26,9 +28,19 @@ void AskPasswordDialog::passwordChanged(const QString& password)
password_ = password;
}
+void AskPasswordDialog::userChanged(const QString& user)
+{
+ user_ = user;
+}
+
QString AskPasswordDialog::getPassword() const
{
return password_;
}
+QString AskPasswordDialog::getUser() const
+{
+ return user_;
+}
+
}
diff --git a/src/askpassworddialog.h b/src/askpassworddialog.h
index 5b8c5b1..33ec135 100644
--- a/src/askpassworddialog.h
+++ b/src/askpassworddialog.h
@@ -15,18 +15,21 @@ class AskPasswordDialog : public QDialog
Q_OBJECT
public:
- explicit AskPasswordDialog(QWidget *parent = 0);
+ explicit AskPasswordDialog(bool askUserName, QWidget *parent = 0);
~AskPasswordDialog();
QString getPassword() const;
+ QString getUser() const;
private slots:
void passwordChanged(const QString& password);
+ void userChanged(const QString& password);
private:
Ui::AskPasswordDialog *ui;
QString password_;
+ QString user_;
};
}
diff --git a/src/askpassworddialog.ui b/src/askpassworddialog.ui
index 65ac084..06d334d 100644
--- a/src/askpassworddialog.ui
+++ b/src/askpassworddialog.ui
@@ -9,8 +9,8 @@
0
0
- 337
- 112
+ 349
+ 177
@@ -25,11 +25,21 @@
20
- 40
+ 0
+ -
+
+
+ User:
+
+
+
+ -
+
+
-
@@ -52,7 +62,7 @@
20
- 40
+ 0
@@ -119,8 +129,25 @@
+
+ userEdit
+ textChanged(QString)
+ AskPasswordDialog
+ userChanged(QString)
+
+
+ 174
+ 55
+
+
+ 174
+ 88
+
+
+
passwordChanged(QString)
+ userChanged(QString)
diff --git a/src/balanceoverviewframe.cpp b/src/balanceoverviewframe.cpp
index 520abd8..33560fa 100644
--- a/src/balanceoverviewframe.cpp
+++ b/src/balanceoverviewframe.cpp
@@ -27,7 +27,6 @@ BalanceOverviewFrame::BalanceOverviewFrame(QWidget *parent)
, syncLabel_(new QLabel(this))
{
ui->setupUi(this);
-// ui->m_copyLabel->hide();
ui->m_overviewSpendableBalanceLabel->installEventFilter(this);
ui->m_overviewLockedOrUnconfirmedBalanceLabel->installEventFilter(this);
diff --git a/src/bytecoin-gui.pro b/src/bytecoin-gui.pro
index 1e90004..2c146bb 100644
--- a/src/bytecoin-gui.pro
+++ b/src/bytecoin-gui.pro
@@ -12,14 +12,15 @@ TARGET = bytecoin-gui
TEMPLATE = app
!win32: QMAKE_CXXFLAGS += -std=c++14 -Wall -Wextra -pedantic
-macx: QMAKE_CXXFLAGS += -mmacosx-version-min=10.11
-macx: QMAKE_CFLAGS += -mmacosx-version-min=10.11
+macx: QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.11
macx: ICON = images/bytecoin.icns
+win32: RC_ICONS = images/bytecoin.ico
+win32: VERSION = 2.18.2.19
#QMAKE_CXXFLAGS += -fno-omit-frame-pointer -fsanitize=address,undefined
#LIBS += -lasan -lubsan
-CONFIG += c++14 strict_c++
+CONFIG += c++14 strict_c++ no-opengl
# copy walletd adjacent to bytecoin-gui binary on all 3 platforms
win32 {
@@ -57,7 +58,6 @@ SOURCES += main.cpp\
logger.cpp \
okbutton.cpp \
statusbar.cpp \
- tableview.cpp \
windoweditemmodel.cpp \
walletmodel.cpp \
sendframe.cpp \
@@ -65,7 +65,6 @@ SOURCES += main.cpp\
resizablescrollarea.cpp \
common.cpp \
connectionoptionsframe.cpp \
- optionsdialog.cpp \
settings.cpp \
Miner/Miner.cpp \
Miner/StratumClient.cpp \
@@ -75,7 +74,6 @@ SOURCES += main.cpp\
MiningFrame.cpp \
MiningManager.cpp \
PoolHeaderView.cpp \
- QuestionDialog.cpp \
connectselectiondialog.cpp \
walletd.cpp \
rpcapi.cpp \
@@ -94,7 +92,10 @@ SOURCES += main.cpp\
addressbookdialog.cpp \
popup.cpp \
logframe.cpp \
- askpassworddialog.cpp
+ askpassworddialog.cpp \
+ importkeydialog.cpp \
+ questiondialog.cpp \
+ PoolTreeView.cpp
HEADERS += mainwindow.h \
signalhandler.h \
@@ -110,7 +111,6 @@ HEADERS += mainwindow.h \
logger.h \
okbutton.h \
statusbar.h \
- tableview.h \
windoweditemmodel.h \
walletmodel.h \
sendframe.h \
@@ -118,7 +118,6 @@ HEADERS += mainwindow.h \
resizablescrollarea.h \
common.h \
connectionoptionsframe.h \
- optionsdialog.h \
settings.h \
Miner/Miner.h \
Miner/StratumClient.h \
@@ -128,7 +127,6 @@ HEADERS += mainwindow.h \
MiningFrame.h \
MiningManager.h \
PoolHeaderView.h \
- QuestionDialog.h \
IMinerWorker.h \
IMiningManager.h \
IPoolClient.h \
@@ -151,7 +149,10 @@ HEADERS += mainwindow.h \
addressbookdialog.h \
popup.h \
logframe.h \
- askpassworddialog.h
+ askpassworddialog.h \
+ importkeydialog.h \
+ questiondialog.h \
+ PoolTreeView.h
FORMS += mainwindow.ui \
overviewframe.ui \
@@ -161,7 +162,6 @@ FORMS += mainwindow.ui \
connectionoptionsframe.ui \
optionsdialog.ui \
MiningFrame.ui \
- QuestionDialog.ui \
connectselectiondialog.ui \
addressbookframe.ui \
newaddressdialog.ui \
@@ -171,7 +171,9 @@ FORMS += mainwindow.ui \
changepassworddialog.ui \
addressbookdialog.ui \
logframe.ui \
- askpassworddialog.ui
+ askpassworddialog.ui \
+ importkeydialog.ui \
+ questiondialog.ui
RESOURCES += \
resources.qrc \
diff --git a/src/changepassworddialog.cpp b/src/changepassworddialog.cpp
index 6d65a98..09b8560 100644
--- a/src/changepassworddialog.cpp
+++ b/src/changepassworddialog.cpp
@@ -10,7 +10,6 @@ ChangePasswordDialog::ChangePasswordDialog(bool askCurrentPassword, QWidget *par
, ui(new Ui::ChangePasswordDialog)
{
ui->setupUi(this);
-// setWindowTitle("Bytecoin");
ui->currPasswordLabel->setVisible(askCurrentPassword);
ui->currPasswordEdit->setVisible(askCurrentPassword);
diff --git a/src/connectionoptionsframe.cpp b/src/connectionoptionsframe.cpp
index 63d9b54..1566863 100644
--- a/src/connectionoptionsframe.cpp
+++ b/src/connectionoptionsframe.cpp
@@ -21,10 +21,6 @@
//#include
#include "connectionoptionsframe.h"
-//#include "Settings/Settings.h"
-//#include "ICryptoNoteAdapter.h"
-//#include "INodeAdapter.h"
-//#include "Style/Style.h"
#include "settings.h"
#include "common.h"
@@ -70,12 +66,6 @@ ConnectionOptionsFrame::ConnectionOptionsFrame(QWidget* parent)
, m_ui(new Ui::ConnectionOptionsFrame)
{
m_ui->setupUi(this);
-// m_ui->m_connectionButtonGroup->setId(m_ui->m_builtinRadio, static_cast(ConnectionMethod::BUILTIN));
-// m_ui->m_connectionButtonGroup->setId(m_ui->m_localRadio, static_cast(ConnectionMethod::LOCAL));
-// m_ui->m_connectionButtonGroup->setId(m_ui->m_remoteRadio, static_cast(ConnectionMethod::REMOTE));
-// setStyleSheet(Settings::instance().getCurrentStyle().makeStyleSheet(CONNECTION_OPTIONS_STYLE_SHEET_TEMPLATE));
-// m_ui->m_validationLabel->setText("");
-// m_ui->m_validationLabel->setStyleSheet(VALIDATION_LABEL_STYLE_SHEET);
}
ConnectionOptionsFrame::~ConnectionOptionsFrame()
@@ -83,7 +73,6 @@ ConnectionOptionsFrame::~ConnectionOptionsFrame()
void ConnectionOptionsFrame::load()
{
-// m_ui->m_localPortSpin->setValue(Settings::instance().getLocalRpcPort());
const QUrl remoteUrl = QUrl::fromUserInput(Settings::instance().getRemoteRpcEndPoint());
if (!remoteUrl.isValid())
m_ui->m_remotePortSpin->setValue(Settings::instance().getDefaultRpcPort());
@@ -92,39 +81,17 @@ void ConnectionOptionsFrame::load()
m_ui->m_remoteHostEdit->setText(remoteUrl.host());
m_ui->m_remotePortSpin->setValue(remoteUrl.port());
}
-// const QStringList recentWallets = Settings::instance().getRecentWallets();
-// m_ui->m_walletFileEdit->setText(recentWallets.empty() ? QString() : recentWallets.first());
-// m_ui->m_walletFileEdit->setText(Settings::instance().getWalletFile());
-
-// switch (Settings::instance().getConnectionMethod())
-// {
-// case ConnectionMethod::BUILTIN:
-// m_ui->m_builtinRadio->toggle();
-// break;
-// case ConnectionMethod::LOCAL:
-// m_ui->m_localRadio->toggle();
-// break;
-// case ConnectionMethod::REMOTE:
-// m_ui->m_remoteRadio->toggle();
-// break;
-// }
-
-// walletFileNameChanged(m_ui->m_walletFileEdit->text());
remoteHostNameChanged(m_ui->m_remoteHostEdit->text());
}
void ConnectionOptionsFrame::save()
{
-// Settings::instance().setConnectionMethod(static_cast(m_ui->m_connectionButtonGroup->checkedId()));
-// Settings::instance().setLocalRpcPort(m_ui->m_localPortSpin->value());
Settings::instance().setConnectionMethod(ConnectionMethod::REMOTE);
Settings::instance().setRemoteRpcEndPoint(m_ui->m_remoteHostEdit->text(), m_ui->m_remotePortSpin->value());
-// Settings::instance().setWalletFile(m_ui->m_walletFileEdit->text());
switch (Settings::instance().getConnectionMethod())
{
case ConnectionMethod::BUILTIN:
-// Settings::instance().addRecentWallet(m_ui->m_walletFileEdit->text());
break;
case ConnectionMethod::LOCAL:
case ConnectionMethod::REMOTE:
@@ -135,43 +102,25 @@ void ConnectionOptionsFrame::save()
bool ConnectionOptionsFrame::canAccept() const
{
-// if (m_ui->m_remoteRadio->isChecked())
- return isIpOrHostName(m_ui->m_remoteHostEdit->text());
-// return true;
+ return isIpOrHostName(m_ui->m_remoteHostEdit->text());
}
bool ConnectionOptionsFrame::remoteHostNameChanged(const QString& host)
{
bool valid = true;
-// if (m_ui->m_remoteRadio->isChecked())
-// {
- valid = isIpOrHostName(host);
- const QString errMsg = valid ? QString() : tr("Invalid host name.");
-// m_ui->m_validationLabel->setText(errMsg);
-// }
+ valid = isIpOrHostName(host);
+// const QString errMsg = valid ? QString() : tr("Invalid host name.");
emit disableAcceptButtonSignal(!valid);
return valid;
}
bool ConnectionOptionsFrame::walletFileNameChanged(const QString& /*wallet*/)
{
-// bool valid = true;
-// if (m_ui->m_builtinRadio->isChecked())
-// {
-// const QFileInfo walletFile(wallet);
-// valid = walletFile.isFile() && walletFile.exists(wallet);
-// const QString errMsg = valid ? QString() : tr("The wallet file does not exist.");
-//// m_ui->m_validationLabel->setText(errMsg);
-// }
-// emit disableAcceptButtonSignal(!valid);
-// return valid;
return true;
}
void ConnectionOptionsFrame::connectionButtonClicked(int /*buttonId*/)
{
-// m_ui->m_validationLabel->setText("");
-// walletFileNameChanged(m_ui->m_walletFileEdit->text());
remoteHostNameChanged(m_ui->m_remoteHostEdit->text());
}
@@ -184,8 +133,6 @@ void ConnectionOptionsFrame::showOpenWalletFileDialog()
tr("Wallet files (*.wallet);;All files (*)"));
if (fileName.isEmpty())
return;
-// m_ui->m_walletFileEdit->setText(fileName);
-// walletFileNameChanged(fileName);
}
void ConnectionOptionsFrame::showCreateWalletFileDialog()
@@ -197,8 +144,6 @@ void ConnectionOptionsFrame::showCreateWalletFileDialog()
tr("Wallet files (*.wallet);;All files (*)"));
if (fileName.isEmpty())
return;
-// m_ui->m_walletFileEdit->setText(fileName);
-// walletFileNameChanged(fileName);
}
}
diff --git a/src/connectionoptionsframe.h b/src/connectionoptionsframe.h
index c4cae3f..f1423f0 100644
--- a/src/connectionoptionsframe.h
+++ b/src/connectionoptionsframe.h
@@ -19,9 +19,6 @@
#include
-//#include "IOptionsPage.h"
-//#include "Application/IWalletUiItem.h"
-
namespace Ui {
class ConnectionOptionsFrame;
}
diff --git a/src/connectionoptionsframe.ui b/src/connectionoptionsframe.ui
index 382dbb3..5d049b2 100644
--- a/src/connectionoptionsframe.ui
+++ b/src/connectionoptionsframe.ui
@@ -7,7 +7,7 @@
0
0
424
- 88
+ 115
@@ -37,165 +37,123 @@
-
-
+
+
+ 10
+
+
-
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 22
+ 20
+
+
+
+
+ -
+
+
+ Host:
+
+
+
+ -
+
+
+ true
+
+
+ 127.0.0.1
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 15
+ 20
+
+
+
+
+ -
+
+
+ Port:
+
+
+
+ -
+
+
+ true
+
+
+ 1
+
+
+ 65535
+
+
+ 8070
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
-
+
0
0
- 0
- 70
+ 406
+ 36
-
-
- 16777215
- 70
-
+
+ Wallet will connect to Bytecoin node in the local or global network. Please specify IP address or domain name and the port.
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+
+
+ true
+
+
+ 0
-
-
- 3
-
-
- QLayout::SetMinimumSize
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- 10
-
-
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 22
- 20
-
-
-
-
- -
-
-
- Host:
-
-
-
- -
-
-
- true
-
-
- 127.0.0.1
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 15
- 20
-
-
-
-
- -
-
-
- Port:
-
-
-
- -
-
-
- true
-
-
- 1
-
-
- 65535
-
-
- 8070
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 406
- 36
-
-
-
- Wallet will connect to Bytecoin node in the local or global network. Please specify IP address or domain name and the port.
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
-
-
- true
-
-
- 0
-
-
-
-
-
diff --git a/src/connectselectiondialog.cpp b/src/connectselectiondialog.cpp
index 363b9c5..9fba4e5 100644
--- a/src/connectselectiondialog.cpp
+++ b/src/connectselectiondialog.cpp
@@ -12,17 +12,12 @@ ConnectSelectionDialog::ConnectSelectionDialog(QWidget *parent) :
{
ui->setupUi(this);
ui->buttonBox->button(QDialogButtonBox::Ok)-> setEnabled(false);
-// QFont font = ui->label->font();
-// font.setBold(true);
-// ui->label->setFont(font);
-// ui->label->setText(reason);
connect(ui->m_connectionOptionsFrame, &ConnectionOptionsFrame::disableAcceptButtonSignal,
[this](bool disable)
{
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!disable);
});
ui->m_connectionOptionsFrame->load();
-// setWindowTitle("Bytecoin");
}
ConnectSelectionDialog::~ConnectSelectionDialog()
diff --git a/src/crashdialog.cpp b/src/crashdialog.cpp
index 8fddcee..8f39211 100644
--- a/src/crashdialog.cpp
+++ b/src/crashdialog.cpp
@@ -10,7 +10,6 @@ CrashDialog::CrashDialog(QWidget *parent)
, mainWindow_(nullptr)
{
ui->setupUi(this);
-// setWindowTitle("Bytecoin");
}
CrashDialog::~CrashDialog()
@@ -39,7 +38,6 @@ QString CrashDialog::getPassword() const
void CrashDialog::showDaemonConsole()
{
-// consoleDlg_.show();
if (mainWindow_)
mainWindow_->showLog();
}
diff --git a/src/importkeydialog.cpp b/src/importkeydialog.cpp
new file mode 100644
index 0000000..6211899
--- /dev/null
+++ b/src/importkeydialog.cpp
@@ -0,0 +1,55 @@
+#include
+
+#include "importkeydialog.h"
+#include "ui_importkeydialog.h"
+
+namespace WalletGUI
+{
+
+ImportKeyDialog::ImportKeyDialog(QWidget *parent)
+ : QDialog(parent)
+ , ui(new Ui::ImportKeyDialog)
+{
+ ui->setupUi(this);
+ ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
+}
+
+ImportKeyDialog::~ImportKeyDialog()
+{
+ ui->keyEdit->setText(QString{1000, '0'});
+ ui->keyEdit->clear();
+ delete ui;
+}
+
+QByteArray ImportKeyDialog::getKey() const
+{
+ return QByteArray::fromHex(ui->keyEdit->toPlainText().toLatin1());
+}
+
+void ImportKeyDialog::loadKey()
+{
+ const QString filePath =
+ QFileDialog::getOpenFileName(
+ this,
+ tr("Load key from..."),
+ QDir::homePath(),
+ tr("Key file (*.*)"));
+
+ if (filePath.isEmpty())
+ return;
+
+ QFile keyFile(filePath);
+ if (!keyFile.open(QIODevice::ReadOnly))
+ return;
+
+ key_ = keyFile.readAll();
+ keyFile.close();
+ ui->keyEdit->setPlainText(key_.toHex().toUpper());
+}
+
+void ImportKeyDialog::keyChanged()
+{
+ ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(ui->keyEdit->toPlainText().length() == 256);
+}
+
+}
diff --git a/src/importkeydialog.h b/src/importkeydialog.h
new file mode 100644
index 0000000..4593886
--- /dev/null
+++ b/src/importkeydialog.h
@@ -0,0 +1,34 @@
+#ifndef IMPORTKEYDIALOG_H
+#define IMPORTKEYDIALOG_H
+
+#include
+
+namespace Ui {
+class ImportKeyDialog;
+}
+
+namespace WalletGUI
+{
+
+class ImportKeyDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ explicit ImportKeyDialog(QWidget *parent = 0);
+ ~ImportKeyDialog();
+
+ QByteArray getKey() const;
+
+private slots:
+ void loadKey();
+ void keyChanged();
+
+private:
+ Ui::ImportKeyDialog *ui;
+ QByteArray key_;
+};
+
+}
+
+#endif // IMPORTKEYDIALOG_H
diff --git a/src/importkeydialog.ui b/src/importkeydialog.ui
new file mode 100644
index 0000000..d5463cf
--- /dev/null
+++ b/src/importkeydialog.ui
@@ -0,0 +1,131 @@
+
+
+ ImportKeyDialog
+
+
+
+ 0
+ 0
+ 366
+ 133
+
+
+
+ Import key
+
+
+
-
+
+
+ QFrame::NoFrame
+
+
+
+ -
+
+
-
+
+
+ Load from file
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+
+
+
+
+
+
+
+
+
+
+ buttonBox
+ accepted()
+ ImportKeyDialog
+ accept()
+
+
+ 248
+ 254
+
+
+ 157
+ 274
+
+
+
+
+ buttonBox
+ rejected()
+ ImportKeyDialog
+ reject()
+
+
+ 316
+ 260
+
+
+ 286
+ 274
+
+
+
+
+ loadButton
+ clicked()
+ ImportKeyDialog
+ loadKey()
+
+
+ 56
+ 109
+
+
+ 182
+ 66
+
+
+
+
+ keyEdit
+ textChanged()
+ ImportKeyDialog
+ keyChanged()
+
+
+ 182
+ 49
+
+
+ 182
+ 66
+
+
+
+
+
+ keyChanged()
+ loadKey()
+
+
diff --git a/src/initialdialog.cpp.autosave b/src/initialdialog.cpp.autosave
deleted file mode 100644
index 5193282..0000000
--- a/src/initialdialog.cpp.autosave
+++ /dev/null
@@ -1,61 +0,0 @@
-#include
-
-#include "initialdialog.h"
-#include "settings.h"
-#include "connectselectiondialog.h"
-#include "ui_initialdialog.h"
-
-namespace WalletGUI {
-
-InitialDialog::InitialDialog(const QString& reason, QWidget *parent)
- : QDialog(parent)
- , ui(new Ui::InitialDialog)
-{
- ui->setupUi(this);
- ui->m_reasonLabel->setText(reason);
-}
-
-InitialDialog::~InitialDialog()
-{
- delete ui;
-}
-
-void InitialDialog::createWallet()
-{
- const QString fileName = QFileDialog::getSaveFileName(
- this,
- tr("Create wallet file"),
- QString(),
- tr("Wallet files (*.wallet);;All files (*)"));
- if (fileName.isEmpty())
- return;
-
- emit runBuiltinWalletdSignal(fileName, true);
- QDialog::accept();
-}
-
-void InitialDialog::openWallet()
-{
- const QString fileName = QFileDialog::getOpenFileName(
- this,
- tr("Open wallet file"),
- QString(),
- tr("Wallet files (*.wallet);;All files (*)"));
- if (fileName.isEmpty())
- return;
-
- emit runBuiltinWalletdSignal(fileName, false);
- QDialog::accept();
-}
-
-void InitialDialog::remoteWallet()
-{
- ConnectSelectionDialog dlg(this);
- if (dlg.exec() != QDialog::Accepted)
- return;
-
- emit connectToRemoteWalletdSignal();
- QDialog::accept();
-}
-
-}
diff --git a/src/logframe.cpp b/src/logframe.cpp
index d2286c0..47fa88a 100644
--- a/src/logframe.cpp
+++ b/src/logframe.cpp
@@ -69,15 +69,6 @@ void LogFrame::addNetworkMessage(const QString& data)
void LogFrame::print(const QString& data, const QColor& color)
{
QMutexLocker locker(mutex_);
-// const int lines = ui->textEdit->document()->blockCount();
-// if (lines > MAX_LINES)
-// {
-// ui->textEdit->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor);
-// for (int i = lines - MAX_LINES; i > 0; --i)
-// ui->textEdit->moveCursor(QTextCursor::Down, QTextCursor::KeepAnchor);
-// ui->textEdit->textCursor().removeSelectedText();
-// }
-// ui->textEdit->moveCursor(QTextCursor::End);
insertText(data, color);
if (autoScroll_)
scrollDown();
@@ -85,9 +76,7 @@ void LogFrame::print(const QString& data, const QColor& color)
void LogFrame::insertText(const QString& data, const QColor& color)
{
-// ui->textEdit->moveCursor(QTextCursor::End);
ui->textEdit->setTextColor(color.isValid() ? color : defaultColor_);
-// ui->textEdit->insertPlainText(data);
ui->textEdit->append(data);
}
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index b0e4026..96c4dd2 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -34,15 +34,9 @@
#include "mainwindow.h"
-//#include "Settings/Settings.h"
#include "logger.h"
#include "aboutdialog.h"
-//#include "statusmodel.h"
-//#include "historymodel.h"
-//#include "addressesmodel.h"
-//#include "unspentsmodel.h"
#include "walletmodel.h"
-#include "optionsdialog.h"
#include "settings.h"
#include "common.h"
#include "JsonRpc/JsonRpcClient.h"
@@ -69,8 +63,6 @@ const char REPORT_ISSUE_URL[] = "https://bytecoin.org/contact";
const char BUTTON_STYLE_SHEET[] =
"QPushButton {border: none;}"
"QPushButton:checked {background-color: #EE4486; color: #FFFFFF}";
-// "QPushButton:pressed {background-color: #EE4486;}";
-
}
MainWindow::MainWindow(
@@ -94,7 +86,6 @@ MainWindow::MainWindow(
setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, this->size(), qApp->desktop()->availableGeometry()));
setWindowIcon(QIcon(":images/bytecoin_lin"));
-// setTitle();
clearTitle();
m_ui->m_overviewButton->setStyleSheet(BUTTON_STYLE_SHEET);
@@ -311,6 +302,11 @@ void MainWindow::encryptWallet()
emit encryptWalletSignal(this);
}
+void MainWindow::importKeys()
+{
+ emit importKeysSignal(this);
+}
+
void MainWindow::communityForumTriggered()
{
QDesktopServices::openUrl(QUrl::fromUserInput(COMMUNITY_FORUM_URL));
@@ -341,8 +337,8 @@ void MainWindow::addDaemonError(const QString& msg)
void MainWindow::showLog()
{
m_ui->m_logButton->setChecked(true);
- activateWindow();
- raise();
+// activateWindow();
+// raise();
}
void MainWindow::setTitle()
@@ -354,7 +350,6 @@ void MainWindow::setTitle()
#ifdef Q_OS_MAC
setWindowFilePath(fileName);
#else
-// setWindowTitle(fileName + tr(" — Bytecoin Wallet %1-%2-%3").arg(Settings::getVersion()).arg(Settings::getVersionSuffix()).arg(Settings::getRevision()));
setWindowTitle(fileName);
#endif
}
@@ -378,7 +373,6 @@ void MainWindow::setConnectedState()
m_ui->m_overviewButton->click();
setTitle();
-// clearTitle();
#ifdef Q_OS_MAC
if (Settings::instance().getConnectionMethod() == ConnectionMethod::BUILTIN)
setWindowFilePath(Settings::instance().getWalletFile());
@@ -403,7 +397,6 @@ void MainWindow::setDisconnectedState()
m_ui->m_changePasswordAction->setEnabled(false);
clearTitle();
-// setTitle();
#ifdef Q_OS_MAC
setWindowFilePath(QString());
#endif
@@ -446,6 +439,4 @@ void MainWindow::packetReceived(const QByteArray& data)
m_ui->m_logFrame->addNetworkMessage(QString("<-- ") + QString::fromUtf8(data) + '\n');
}
-
-
}
diff --git a/src/mainwindow.h b/src/mainwindow.h
index c1de6de..4e05aeb 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -78,6 +78,7 @@ class MainWindow : public QMainWindow
Q_SLOT void packetSent(const QByteArray& data);
Q_SLOT void packetReceived(const QByteArray& data);
+ Q_SLOT void importKeys();
protected:
void changeEvent(QEvent* event) override;
@@ -112,8 +113,6 @@ class MainWindow : public QMainWindow
Q_SLOT void about();
Q_SLOT void copyAddress();
Q_SLOT void copyBalance();
-// Q_SLOT void showPreferences();
-// Q_SLOT void showConsole();
Q_SLOT void communityForumTriggered();
Q_SLOT void reportIssueTriggered();
@@ -122,12 +121,6 @@ class MainWindow : public QMainWindow
Q_SLOT void remoteWallet();
Q_SLOT void encryptWallet();
-// Q_SLOT void daemonOutputReady();
-// Q_SLOT void daemonErrorReady();
-// Q_SLOT void daemonErrorOccured(QProcess::ProcessError error);
-
-//Q_SIGNALS:
-// void reinitCryptoNoteAdapterSignal();
signals:
void createTxSignal(const RpcApi::CreateTransaction::Request& req, QPrivateSignal);
void sendTxSignal(const RpcApi::SendTransaction::Request& req, QPrivateSignal);
@@ -137,6 +130,7 @@ class MainWindow : public QMainWindow
void openWalletSignal(QWidget* parent);
void remoteWalletSignal(QWidget* parent);
void encryptWalletSignal(QWidget* parent);
+ void importKeysSignal(QWidget* parent);
};
}
diff --git a/src/mainwindow.ui b/src/mainwindow.ui
index d191a74..1584b1c 100644
--- a/src/mainwindow.ui
+++ b/src/mainwindow.ui
@@ -669,10 +669,11 @@
&Wallet
+
-
+
@@ -707,7 +708,7 @@
true
- &Create wallet
+ &Create new wallet
@@ -762,6 +763,11 @@
Open data &folder
+
+
+ Create wallet from keys
+
+
@@ -1036,11 +1042,24 @@
+
+ m_importKeysAction
+ triggered()
+ MainWindow
+ importKeys()
+
+
+ -1
+ -1
+
+
+ 636
+ 411
+
+
+
- openWalletSignal()
- createWalletSignal()
- remoteWalletSignal()
aboutQt()
showLog()
about()
@@ -1056,6 +1075,7 @@
remoteWallet()
copiedToClipboard()
openDataFolder()
+ importKeys()
diff --git a/src/miningoverviewframe.cpp b/src/miningoverviewframe.cpp
index b790933..bb0e611 100644
--- a/src/miningoverviewframe.cpp
+++ b/src/miningoverviewframe.cpp
@@ -75,22 +75,14 @@ void MiningOverviewFrame::startMiningClicked()
void MiningOverviewFrame::miningStarted()
{
-// ui->m_startMiningButton->setText(tr("Stop mining"));
ui->m_miningStateLabel->setText(tr("ON"));
started_ = true;
-// ui->m_miningStateLabel->setProperty("miningRunning", true);
-// ui->m_miningStateLabel->style()->unpolish(m_ui->m_miningStateLabel);
-// ui->m_miningStateLabel->style()->polish(m_ui->m_miningStateLabel);
}
void MiningOverviewFrame::miningStopped()
{
-// ui->m_startMiningButton->setText(tr("Start mining"));
ui->m_miningStateLabel->setText(tr("OFF"));
started_ = false;
-// ui->m_miningStateLabel->setProperty("miningRunning", true);
-// ui->m_miningStateLabel->style()->unpolish(m_ui->m_miningStateLabel);
-// ui->m_miningStateLabel->style()->polish(m_ui->m_miningStateLabel);
}
void MiningOverviewFrame::activeMinerChanged(quintptr _minerIndex)
diff --git a/src/miningoverviewframe.h b/src/miningoverviewframe.h
index 444b2f2..7f58077 100644
--- a/src/miningoverviewframe.h
+++ b/src/miningoverviewframe.h
@@ -37,9 +37,7 @@ class MiningOverviewFrame : public QFrame
Ui::MiningOverviewFrame *ui;
MiningManager* miningManager_;
-// WalletModel* walletModel_;
QDataWidgetMapper* miningMapper_;
-// QDataWidgetMapper* stateMapper_;
bool started_;
};
diff --git a/src/okbutton.cpp b/src/okbutton.cpp
index dacd5ea..bc7438b 100644
--- a/src/okbutton.cpp
+++ b/src/okbutton.cpp
@@ -16,8 +16,6 @@
// along with Bytecoin. If not, see .
#include "okbutton.h"
-//#include "Settings/Settings.h"
-//#include "Style/Style.h"
namespace WalletGUI {
diff --git a/src/optionsdialog.cpp b/src/optionsdialog.cpp
deleted file mode 100644
index 62b33a1..0000000
--- a/src/optionsdialog.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#include
-#include
-
-#include "optionsdialog.h"
-//#include "Application/IWalletUiItem.h"
-//#include "Settings/Settings.h"
-//#include "IOptionsPage.h"
-//#include "Style/Style.h"
-
-#include "ui_optionsdialog.h"
-
-namespace WalletGUI
-{
-
-namespace {
-
-const char OPTIONS_DIALOG_STYLE_SHEET_TEMPLATE[] =
- "WalletGui--OptionsDialog {"
- "min-height: 563px;"
- "max-height: 563px;"
- "background-color: %backgroundColorGray%;"
- "}"
-
- "WalletGui--OptionsDialog > #m_buttonFrame {"
- "background: #ffffff;"
- "}"
-
- "WalletGui--OptionsDialog > #m_buttonFrame > #m_warningLabel {"
- "font-size: %fontSizeLarge%;"
- "font-weight: bold;"
- "}"
-
- "WalletGui--OptionsDialog > #m_optionsTabWidget {"
- "border: none;"
- "}"
-
- "WalletGui--OptionsDialog > #m_optionsTabWidget::pane {"
- "border: none;"
- "border-top: 1px solid %borderColorDark%;"
- "top: -1px;"
- "}"
-
- "WalletGui--OptionsDialog > #m_optionsTabWidget::tab-bar {"
- "alignment: center;"
- "}"
-
- "WalletGui--OptionsDialog > #m_optionsTabWidget QTabBar::tab {"
- "font-size: %fontSizeLarge%;"
- "font-weight: bold;"
- "min-width: 165px;"
- "max-width: 165px;"
- "min-height: 30px;"
- "max-height: 30px;"
- "border: 1px solid %borderColorDark%;"
- "margin-left: 2px;"
- "margin-right: 2px;"
- "border-top-left-radius: 2px;"
- "border-top-right-radius: 2px;"
- "}"
-
- "WalletGui--OptionsDialog > #m_optionsTabWidget QTabBar::tab:selected {"
- "background: #ffffff;"
- "border: 1px solid %borderColorDark%;"
- "border-bottom: 1px solid #ffffff;"
- "}"
-
- "WalletGui--OptionsDialog > #m_optionsTabWidget QTabBar::tab:!selected {"
- "background: %backgroundColorGray%;"
- "border: 1px solid %borderColorDark%;"
- "}";
-
-}
-
-OptionsDialog::OptionsDialog(QWidget* parent)
- : QDialog(parent, static_cast(Qt::WindowCloseButtonHint))
- , m_ui(new Ui::OptionsDialog)
- , needToRestart_(false)
-{
- m_ui->setupUi(this);
- m_ui->m_warningLabel->hide();
-
- connectionOptionsFrame_ = dynamic_cast(m_ui->m_optionsTabWidget->widget(0));
- Q_ASSERT(connectionOptionsFrame_ != nullptr);
-
- connect(connectionOptionsFrame_, SIGNAL(disableAcceptButtonSignal(bool)), this, SLOT(disableAcceptButton(bool)));
- connect(connectionOptionsFrame_, SIGNAL(showRestartWarningSignal(bool)), this, SLOT(showRestartWarning(bool)));
- connectionOptionsFrame_->load();
-
-// for (int i = 0; i < m_ui->m_optionsTabWidget->count(); ++i)
-// {
-// IOptionsPage* page = dynamic_cast(m_ui->m_optionsTabWidget->widget(i));
-// IWalletUiItem* uiItem = dynamic_cast(m_ui->m_optionsTabWidget->widget(i));
-// QObject* pageObject = qobject_cast(m_ui->m_optionsTabWidget->widget(i));
-// connect(pageObject, SIGNAL(disableAcceptButtonSignal(bool)), this, SLOT(disableAcceptButton(bool)));
-// connect(pageObject, SIGNAL(showRestartWarningSignal(bool)), this, SLOT(showRestartWarning(bool)));
-// uiItem->setCryptoNoteAdapter(_cryptoNoteAdapter);
-// uiItem->setDonationManager(_donationManager);
-// uiItem->setOptimizationManager(_optimizationManager);
-// uiItem->setAddressBookModel(_addressBookModel);
-// page->load();
-// m_ui->m_optionsTabWidget->setTabEnabled(i, page->isEnabled());
-// }
-
-// setStyleSheet(Settings::instance().getCurrentStyle().makeStyleSheet(OPTIONS_DIALOG_STYLE_SHEET_TEMPLATE));
-}
-
-OptionsDialog::~OptionsDialog()
-{}
-
-bool OptionsDialog::needToRestartApplication() const
-{
- return needToRestart_;
-}
-
-void OptionsDialog::accept()
-{
- connectionOptionsFrame_->save();
- QDialog::accept();
-}
-
-void OptionsDialog::showRestartWarning(bool /*show*/)
-{
- needToRestart_ = false;
-// for (int i = 0; i < m_ui->m_optionsTabWidget->count(); ++i)
-// {
-// IOptionsPage* page = dynamic_cast(m_ui->m_optionsTabWidget->widget(i));
-// m_needToRestart |= page->needToRestartApplication();
-// }
-
-// needToRestart_ |= connectionOptionsFrame_->needToRestartApplication();
- m_ui->m_warningLabel->setVisible(needToRestart_);
-}
-
-void OptionsDialog::disableAcceptButton(bool /*disable*/)
-{
- bool canAccept = true;
-
- canAccept &= connectionOptionsFrame_->canAccept();
- m_ui->m_okButton->setEnabled(canAccept);
-}
-
-//void WalletGui::OptionsDialog::setDonationAddress(const QString& _label, const QString& _address)
-//{
-// QVariantMap params;
-// params.insert("label", _label);
-// params.insert("address", _address);
-// m_ui->m_donationTab->setData(params);
-// int donationTabIndex = m_ui->m_optionsTabWidget->indexOf(m_ui->m_donationTab);
-// m_ui->m_optionsTabWidget->setCurrentIndex(donationTabIndex);
-//}
-
-}
diff --git a/src/optionsdialog.h b/src/optionsdialog.h
deleted file mode 100644
index 79f5aa0..0000000
--- a/src/optionsdialog.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#pragma once
-
-#include
-
-class QAbstractItemModel;
-
-namespace Ui {
- class OptionsDialog;
-}
-
-namespace WalletGUI
-{
-
-class ConnectionOptionsFrame;
-
-class OptionsDialog : public QDialog
-{
- Q_OBJECT
- Q_DISABLE_COPY(OptionsDialog)
-
-public:
- OptionsDialog(QWidget* parent);
- ~OptionsDialog();
-
- bool needToRestartApplication() const;
-
- Q_SLOT void accept() override;
-
-private:
- QScopedPointer m_ui;
- ConnectionOptionsFrame* connectionOptionsFrame_;
- bool needToRestart_;
-
- Q_SLOT void showRestartWarning(bool show);
- Q_SLOT void disableAcceptButton(bool disable);
-};
-
-}
diff --git a/src/overviewframe.cpp b/src/overviewframe.cpp
index 0133598..26a8b14 100644
--- a/src/overviewframe.cpp
+++ b/src/overviewframe.cpp
@@ -21,7 +21,6 @@
#include
#include "overviewframe.h"
-//#include "historymodel.h"
#include "walletmodel.h"
#include "ui_overviewframe.h"
@@ -144,47 +143,13 @@ void OverviewFrame::setMinerModel(QAbstractItemModel* model)
m_ui->m_miningOverviewFrame->setMinerModel(model);
}
-//void OverviewFrame::setSortedTransactionsModel(QAbstractItemModel* model)
-//{
-// RecentTransactionsModel* recentTransactionsModel = new RecentTransactionsModel(model, this);
-// int newTransactionColumn = TransactionsModel::findProxyColumn(recentTransactionsModel, TransactionsModel::COLUMN_NEW_TRANSACTION);
-// int amountColumn = TransactionsModel::findProxyColumn(recentTransactionsModel, TransactionsModel::COLUMN_AMOUNT);
-// int hashColumn = TransactionsModel::findProxyColumn(recentTransactionsModel, TransactionsModel::COLUMN_HASH);
-// int timeColumn = TransactionsModel::findProxyColumn(recentTransactionsModel, TransactionsModel::COLUMN_TIME);
-// m_ui->m_recentTransactionsView->setModel(recentTransactionsModel);
-// m_ui->m_recentTransactionsView->setLinkLikeColumnSet(QSet() << hashColumn);
-// m_ui->m_recentTransactionsView->setHorizontalHeader(new TransactionsHeaderView(this));
-// m_ui->m_recentTransactionsView->setItemDelegateForColumn(newTransactionColumn, new NewTransactionDelegate(this));
-// m_ui->m_recentTransactionsView->setItemDelegateForColumn(timeColumn, new TransactionsTimeDelegate(this));
-// m_ui->m_recentTransactionsView->setItemDelegateForColumn(amountColumn, new TransactionsAmountDelegate(true, this));
-// m_ui->m_recentTransactionsView->horizontalHeader()->setSectionResizeMode(newTransactionColumn, QHeaderView::Fixed);
-// m_ui->m_recentTransactionsView->horizontalHeader()->setSectionResizeMode(timeColumn, QHeaderView::Fixed);
-// m_ui->m_recentTransactionsView->horizontalHeader()->setSectionResizeMode(amountColumn, QHeaderView::Fixed);
-// m_ui->m_recentTransactionsView->horizontalHeader()->setSectionResizeMode(hashColumn, QHeaderView::Stretch);
-// m_ui->m_recentTransactionsView->horizontalHeader()->resizeSection(newTransactionColumn, 6);
-// m_ui->m_recentTransactionsView->horizontalHeader()->resizeSection(timeColumn, 180);
-// m_ui->m_recentTransactionsView->horizontalHeader()->resizeSection(amountColumn, 220);
-
-// connect(recentTransactionsModel, &QAbstractItemModel::rowsInserted, this, &OverviewFrame::rowsInserted);
-//}
-
void OverviewFrame::rowsInserted(const QModelIndex& /*parent*/, int /*first*/, int /*last*/)
{
-// if (first != last)
-// return;
-
-// QModelIndex index = m_ui->m_recentTransactionsView->model()->index(first, TransactionsModel::COLUMN_NEW_TRANSACTION);
-// if (index.data(TransactionsModel::ROLE_NUMBER_OF_CONFIRMATIONS).value() == 0)
-// m_ui->m_recentTransactionsView->openPersistentEditor(index);
}
void OverviewFrame::setMainWindow(QWidget* mainWindow)
{
m_mainWindow = mainWindow;
-// QList buttonList = m_mainWindow->findChildren("m_transactionsButton");
-// Q_ASSERT(!buttonList.isEmpty());
-// connect(m_ui->m_allTransactionsButton, &WalletTinyLinkLikeButton::clicked, buttonList.first(), &QPushButton::click);
-// m_ui->m_overviewHeaderFrame->setMainWindow(m_mainWindow);
}
bool OverviewFrame::eventFilter(QObject* object, QEvent* event)
diff --git a/src/overviewframe.h b/src/overviewframe.h
index 7927861..7bb88f2 100644
--- a/src/overviewframe.h
+++ b/src/overviewframe.h
@@ -18,8 +18,6 @@
#pragma once
#include
-//#include "Application/IWalletUiItem.h"
-//#include "Settings/Settings.h"
class QAbstractItemModel;
@@ -29,12 +27,11 @@ class OverviewFrame;
namespace WalletGUI {
-//class ICryptoNoteAdapter;
class WalletModel;
class MiningManager;
class CopiedToolTip;
-class OverviewFrame : public QFrame//, public IWalletUiItem, public ISettingsObserver
+class OverviewFrame : public QFrame
{
Q_OBJECT
Q_DISABLE_COPY(OverviewFrame)
diff --git a/src/popup.cpp b/src/popup.cpp
index 7baf483..1ce2cf9 100644
--- a/src/popup.cpp
+++ b/src/popup.cpp
@@ -5,23 +5,6 @@
namespace WalletGUI
{
-//ToolTipMessage::ToolTipMessage(QWidget *parent) : QWidget(parent){
-// QHBoxLayout *mainLay = new QHBoxLayout(this);
-// mainLay->addWidget(messageText = new QLabel(this));
-
-// this->setLayout(mainLay);
-
-// Qt::WindowFlags flags = Qt::ToolTip;
-// flags |= Qt::WindowStaysOnTopHint;
-// this->setWindowFlags(flags);
-//}
-
-//void ToolTipMessage::setLabelText(const QString& text){
-// messageText->setText(text);
-// this->setMaximumSize(messageText->size().width(), messageText->size().height());
-// QTimer::singleShot(3000, this, SLOT(deleteLater()));
-//}
-
MagicToolTip::MagicToolTip(QWidget *parent)
: QWidget(parent)
, opacity_(0.)
@@ -62,11 +45,9 @@ void MagicToolTip::paintEvent(QPaintEvent* /*event*/)
roundedRect.setWidth(rect().width() - 10);
roundedRect.setHeight(rect().height() - 10);
-// painter.setBrush(QBrush(QColor(0,0,0,180)));
painter.setBrush(QBrush(QColor(0xEE4486))); // TODO: make setter
painter.setPen(Qt::NoPen);
painter.drawRoundedRect(roundedRect, 7, 7);
-// painter.drawRoundedRect(rect(), 5, 5);
}
void MagicToolTip::setToolTip(const QString &text)
@@ -112,12 +93,6 @@ void MagicToolTip::hideAnimation()
animation_.start();
}
-//void PopUp::hide()
-//{
-// if(getPopupOpacity() == 0.0)
-// QWidget::hide();
-//}
-
void MagicToolTip::setOpacity(float value)
{
opacity_ = value;
diff --git a/src/popup.h b/src/popup.h
index 81f9806..77872f2 100644
--- a/src/popup.h
+++ b/src/popup.h
@@ -9,19 +9,6 @@
namespace WalletGUI
{
-//class ToolTipMessage : public QWidget
-//{
-// Q_OBJECT
-
-//public:
-// explicit ToolTipMessage(QWidget *parent = 0);
-// void setLabelText(const QString& text);
-
-//private:
-// QLabel *messageText;
-//};
-
-
class MagicToolTip : public QWidget
{
Q_OBJECT
diff --git a/src/QuestionDialog.cpp b/src/questiondialog.cpp
similarity index 64%
rename from src/QuestionDialog.cpp
rename to src/questiondialog.cpp
index ebc9006..02310cc 100644
--- a/src/QuestionDialog.cpp
+++ b/src/questiondialog.cpp
@@ -15,20 +15,23 @@
// You should have received a copy of the GNU Lesser General Public License
// along with Bytecoin. If not, see .
-#include "QuestionDialog.h"
+#include "questiondialog.h"
-#include "ui_QuestionDialog.h"
+#include "ui_questiondialog.h"
-namespace WalletGUI {
+namespace WalletGUI
+{
-QuestionDialog::QuestionDialog(const QString& _title, const QString& _text, QWidget* _parent) : QDialog(_parent, static_cast(Qt::WindowCloseButtonHint)),
- m_ui(new Ui::QuestionDialog) {
- m_ui->setupUi(this);
- setWindowTitle(_title);
- m_ui->m_questionLabel->setText(_text);
+QuestionDialog::QuestionDialog(const QString& title, const QString& text, QWidget* parent)
+ : QDialog(parent, static_cast(Qt::WindowCloseButtonHint))
+ , ui(new Ui::QuestionDialog)
+{
+ ui->setupUi(this);
+ setWindowTitle(title);
+ ui->questionLabel->setText(text);
}
-QuestionDialog::~QuestionDialog() {
-}
+QuestionDialog::~QuestionDialog()
+{}
}
diff --git a/src/QuestionDialog.h b/src/questiondialog.h
similarity index 76%
rename from src/QuestionDialog.h
rename to src/questiondialog.h
index 5a4d486..5789e3e 100644
--- a/src/QuestionDialog.h
+++ b/src/questiondialog.h
@@ -23,18 +23,20 @@ namespace Ui {
class QuestionDialog;
}
-namespace WalletGUI {
+namespace WalletGUI
+{
-class QuestionDialog : public QDialog {
- Q_OBJECT
- Q_DISABLE_COPY(QuestionDialog)
+class QuestionDialog : public QDialog
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(QuestionDialog)
public:
- QuestionDialog(const QString& _title, const QString& _text, QWidget* _parent);
- ~QuestionDialog();
+ QuestionDialog(const QString& title, const QString& text, QWidget* parent);
+ ~QuestionDialog();
private:
- QScopedPointer m_ui;
+ QScopedPointer ui;
};
}
diff --git a/src/QuestionDialog.ui b/src/questiondialog.ui
similarity index 90%
rename from src/QuestionDialog.ui
rename to src/questiondialog.ui
index 8f44ec2..868a46f 100644
--- a/src/QuestionDialog.ui
+++ b/src/questiondialog.ui
@@ -33,7 +33,7 @@
-
-
+
@@ -55,14 +55,14 @@
-
-
+
No
-
-
+
Yes
@@ -75,7 +75,7 @@
- m_okButton
+ okButton
clicked()
QuestionDialog
accept()
@@ -91,7 +91,7 @@
- m_cancelButton
+ cancelButton
clicked()
QuestionDialog
reject()
diff --git a/src/sendframe.cpp b/src/sendframe.cpp
index 22fd30d..692a25d 100644
--- a/src/sendframe.cpp
+++ b/src/sendframe.cpp
@@ -19,19 +19,7 @@
#include
#include
-//#include
-
#include "sendframe.h"
-//#include "Settings/Settings.h"
-//#include "Common/QuestionDialog.h"
-//#include "ICryptoNoteAdapter.h"
-//#include "IDonationManager.h"
-//#include "INodeAdapter.h"
-//#include "IWallet.h"
-//#include "Models/AddressBookModel.h"
-//#include "Models/WalletStateModel.h"
-//#include "SendGlassFrame.h"
-//#include "Style/Style.h"
#include "transferframe.h"
#include "walletmodel.h"
#include "mainwindow.h"
@@ -89,14 +77,6 @@ const char MIXIN_SLIDER_STYLE_SHEET_TEMPLATE[] =
bool isValidPaymentId(const QString& /*paymentIdString*/)
{
-// if (!paymentIdString.trimmed().isEmpty() &&
-// (paymentIdString.trimmed().size() != sizeof(Crypto::Hash) * 2 ||
-// QByteArray::fromHex(paymentIdString.toLatin1()).size() != sizeof(Crypto::Hash) ||
-// QByteArray::fromHex(paymentIdString.toLatin1()).toHex().toLower() != paymentIdString.trimmed().toLower()))
-// {
-// return false;
-// }
-
return true;
}
@@ -142,17 +122,6 @@ void SendFrame::addRecipient(const QString& address, const QString& label)
}
}
-//void SendFrame::setMainWindow(QWidget* mainWindow)
-//{
-// m_mainWindow = mainWindow;
-// for (auto& transfer : m_transfers)
-// transfer->setMainWindow(mainWindow);
-
-// QList buttonList = m_mainWindow->findChildren("m_transactionsButton");
-// Q_ASSERT(!buttonList.isEmpty());
-// connect(this, &SendFrame::showTransactionsFrameSignal, buttonList.first(), &QPushButton::click);
-//}
-
void SendFrame::setMainWindow(MainWindow* mainWindow)
{
m_mainWindow = mainWindow;
@@ -261,20 +230,9 @@ void SendFrame::sendClicked()
Q_ASSERT(walletModel_ != nullptr);
m_ui->m_sendButton->setEnabled(false);
- m_ui->m_sendButton->setText(tr("Sending..."));
+ m_ui->m_sendButton->setText(tr("Checking..."));
quint64 transferSum = 0;
-// const QString feeStr = m_ui->m_feeSpin->cleanText();
-// const double dfee = m_ui->m_feeSpin->value();
-// if (dfee < 0)
-// {
-// setFeeFormatError(true);
-// m_ui->m_sendScrollarea->ensureWidgetVisible(m_ui->m_feeSpin);
-// return;
-// }
-// const quint64 fee = convertAmountFromHumanReadable(dfee);
-
-// const qint64 fee = m_cryptoNoteAdapter->parseAmount(m_ui->m_feeSpin->cleanText());
QList trs;
for (TransferFrame* transfer : m_transfers)
{
@@ -284,15 +242,7 @@ void SendFrame::sendClicked()
addressBookManager_->findAddressByLabel(label) == INVALID_ADDRESS_INDEX)
addressBookManager_->addAddress(label, address);
-// if (!m_cryptoNoteAdapter->isValidAddress(address))
-// {
-// transfer->setAddressError();
-// m_ui->m_sendScrollarea->ensureWidgetVisible(transfer);
-// return;
-// }
-
const double damount = transfer->getAmountString().toDouble();
-// qint64 amount = m_cryptoNoteAdapter->parseAmount(transfer->getAmountString());
if (damount <= 0)
{
transfer->setAmountFormatError(true);
@@ -317,18 +267,7 @@ void SendFrame::sendClicked()
tx.anonymity = m_ui->m_mixinSlider->value();
tx.unlock_time = 0;
-
- emit createTxSignal(tx, getFeeFromSlider(m_ui->m_feeSlider->value())/*m_ui->m_feeValue->text().toULongLong()*/);
-
-// RpcApi::CreateTransaction::Request req;
-// req.any_spend_address = true;
-// req.send_immediately = false;
-// req.transaction = tx;
-// req.change_address = m_mainWindow->getAddress();
-// req.confirmed_height_or_depth = -static_cast(CONFIRMATIONS) - 1;
-// req.fee_per_byte = fee;
-
-// m_mainWindow->createTransaction(req);
+ emit createTxSignal(tx, getFeeFromSlider(m_ui->m_feeSlider->value()));
}
void SendFrame::mixinValueChanged(int value)
@@ -412,26 +351,6 @@ void SendFrame::setMixinError(bool error)
void SendFrame::setFeeFormatError(bool /*error*/)
{
-// m_ui->m_feeSpin->setProperty("errorState", error);
-// if (error)
-// {
-// m_ui->m_feeTextLabel->setText(tr("WRONG FEE"));
-// connect(m_ui->m_feeSpin, static_cast(&QDoubleSpinBox::valueChanged), this, [this](double fee)
-// {
-// if (fee >= 0)
-// setFeeFormatError(false);
-// }, Qt::UniqueConnection);
-// }
-// else
-// m_ui->m_feeTextLabel->setText(tr("FEE"));
-
-// m_ui->m_feeSpin->style()->unpolish(m_ui->m_feeSpin);
-// m_ui->m_feeSpin->style()->polish(m_ui->m_feeSpin);
-// m_ui->m_feeSpin->update();
-
-// m_ui->m_feeTextLabel->style()->unpolish(m_ui->m_feeTextLabel);
-// m_ui->m_feeTextLabel->style()->polish(m_ui->m_feeTextLabel);
-// m_ui->m_feeTextLabel->update();
}
void SendFrame::updateMixinSliderStyleSheet()
diff --git a/src/sendframe.h b/src/sendframe.h
index 182ec2b..466cb15 100644
--- a/src/sendframe.h
+++ b/src/sendframe.h
@@ -20,12 +20,6 @@
#include
#include
-//#include "Application/IWalletUiItem.h"
-//#include "IAddressBookManager.h"
-//#include "IApplicationEventHandler.h"
-//#include "ICryptoNoteAdapter.h"
-//#include "IWalletAdapter.h"
-
class QAbstractItemModel;
namespace Ui {
@@ -38,8 +32,6 @@ struct Transaction;
namespace WalletGUI {
-//class ICryptoNoteAdapter;
-//class SendGlassFrame;
class TransferFrame;
class WalletModel;
class MainWindow;
@@ -55,7 +47,6 @@ class SendFrame : public QFrame
~SendFrame();
void addRecipient(const QString& address, const QString& label = QString());
- // void setMainWindow(QWidget* mainWindow);
void setWalletModel(WalletModel* model);
void setMainWindow(MainWindow* mainWindow);
void setAddressBookModel(QAbstractItemModel* model);
@@ -66,14 +57,12 @@ class SendFrame : public QFrame
private:
QScopedPointer m_ui;
- // QWidget* m_mainWindow;
MainWindow* m_mainWindow;
QList m_transfers;
WalletModel* walletModel_;
QAbstractItemModel* addressBookModel_;
AddressBookManager* addressBookManager_;
- // void processTranactionSendStatus(IWalletAdapter::SendTransactionStatus status);
void setPaymentIdError(bool error);
void setMixinError(bool error);
void setFeeFormatError(bool error);
diff --git a/src/settings.cpp b/src/settings.cpp
index 83dfd4b..a012829 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -28,7 +28,7 @@ constexpr char LOCAL_HOST[] = "127.0.0.1";
constexpr char VERSION[] = "2.0.0";
constexpr char VERSION_SUFFIX[] = "beta";
-constexpr char REVISION[] = "20180206";
+constexpr char REVISION[] = "20180219";
#if defined(Q_OS_LINUX)
constexpr char DEFAULT_WORK_DIR[] = ".bytecoin";
@@ -63,8 +63,6 @@ int getCoreCount()
}
Settings::Settings()
-// : settings_("bytecoin.org", "bytecoin", this)
-// : settings_(getDefaultWorkDir().absoluteFilePath("config.json"), QSettings::registerFormat("json", readJsonFile, writeJsonFile))
{
const QSettings::Format jsonFormat = QSettings::registerFormat("json", readJsonFile, writeJsonFile);
QSettings::setDefaultFormat(jsonFormat);
@@ -72,7 +70,6 @@ Settings::Settings()
const QString jsonFile = getDefaultWorkDir().absoluteFilePath("bytecoin-gui.config");
settings_.reset(new QSettings(jsonFile, jsonFormat));
-// QSettings settings("test.json", QSettings::registerFormat("json", readJsonFile, writeJsonFile));
}
Settings& Settings::instance()
@@ -324,12 +321,6 @@ void Settings::restoreDefaultPoolList()
QStringList Settings::getStringList(const QString& key, const QVariant& defaultValue) const
{
-// QStringList result;
-// const QVariantList vpoolList = settings_->value(key, defaultValue).toList();
-// for (const QVariant& vpool : vpoolList)
-// result << vpool.toString();
-// return result;
-
return settings_->value(key, defaultValue).value();
}
diff --git a/src/statusbar.cpp b/src/statusbar.cpp
index e134a30..d127a50 100644
--- a/src/statusbar.cpp
+++ b/src/statusbar.cpp
@@ -146,117 +146,6 @@ void WalletStatusBar::setWalletModel(WalletModel* model)
connect(walletModel_, &QAbstractItemModel::dataChanged, this, &WalletStatusBar::nodeStateChanged);
}
-//void WalletStatusBar::updateStyle()
-//{
-// if (m_syncMovie->state() == QMovie::Running)
-// m_syncMovie->stop();
-
-// m_syncMovie->setFileName(Settings::instance().getCurrentStyle().getWalletSyncGifFile());
-// if (walletAdapter->isOpen())
-// {
-// updateEncryptedState(walletAdapter->isEncrypted());
-// updateSyncState(m_walletIsSynchronized);
-// }
-
-// setStyleSheet(Settings::instance().getCurrentStyle().makeStyleSheet(STATUS_BAR_STYLE_SHEET_TEMPLATE));
-//}
-
-//void WalletStatusBar::walletOpened()
-//{
-// showMessage(tr("Wallet opened"), TEMP_MESSAGE_DURATION);
-// m_encryptionStatusIconLabel->show();
-// m_syncStatusIconLabel->show();
-//// updateEncryptedState(m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter()->isEncrypted());
-// updateSyncState(true);
-//}
-
-//void WalletStatusBar::walletOpenError(int initStatus)
-//{
-// m_walletIsSynchronized = false;
-//}
-
-//void WalletStatusBar::walletClosed()
-//{
-// if (m_checkSyncStateTimerId != -1) {
-// killTimer(m_checkSyncStateTimerId);
-// m_checkSyncStateTimerId = -1;
-// }
-
-// m_syncMovie->stop();
-// m_encryptionStatusIconLabel->hide();
-// m_syncStatusIconLabel->hide();
-// showMessage(tr("Wallet closed"));
-//}
-
-//void WalletStatusBar::passwordChanged() {
-// showMessage(tr("Password changed"), TEMP_MESSAGE_DURATION);
-// updateEncryptedState(m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter()->isEncrypted());
-//}
-
-//void WalletStatusBar::synchronizationProgressUpdated(quint32 _current, quint32 _total) {
-// if (m_checkSyncStateTimerId != -1) {
-// killTimer(m_checkSyncStateTimerId);
-// m_checkSyncStateTimerId = -1;
-// }
-
-// quint64 currentDateTime = QDateTime::currentDateTimeUtc().toMSecsSinceEpoch() / 1000;
-// quint64 lastBlockTimestamp = m_nodeStateModel->index(0, NodeStateModel::COLUMN_LAST_LOCAL_BLOCK_TIMESTAMP).data(NodeStateModel::ROLE_LAST_LOCAL_BLOCK_TIMESTAMP).value();
-// quint64 timeDiff = currentDateTime - lastBlockTimestamp;
-// QString formattedTimeDiff = lastBlockTimestamp > 0 ? formatTimeDiff(timeDiff) : tr("unknown");
-// QString blockchainAge = lastBlockTimestamp > 0 ? QStringLiteral("%1 ago").arg(formattedTimeDiff) : QStringLiteral("%1").arg(formattedTimeDiff);
-
-// m_walletIsSynchronized = false;
-// m_syncStatusLabel->setText(tr("Synchronization: %1/%2 (%3)").arg(_current).arg(_total).arg(blockchainAge));
-// updateSyncState(false);
-//}
-
-//void WalletStatusBar::synchronizationCompleted() {
-// if (m_checkSyncStateTimerId == -1) {
-// m_checkSyncStateTimerId = startTimer(MSECS_IN_MINUTE);
-// }
-
-// m_walletIsSynchronized = true;
-// updateStatusDescription();
-// updateSyncState(true);
-//}
-
-//void WalletStatusBar::balanceUpdated(quint64 _actualBalance, quint64 _pendingBalance) {
-// // Do nothing
-//}
-
-//void WalletStatusBar::externalTransactionCreated(quintptr _transactionId, const FullTransactionInfo& _transaction) {
-// // Do nothing
-//}
-
-//void WalletStatusBar::transactionUpdated(quintptr _transactionId, const FullTransactionInfo& _transaction) {
-// // Do nothing
-//}
-
-//void WalletStatusBar::cryptoNoteAdapterInitCompleted(int _status) {
-// if (_status == 0) {
-// m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter()->addObserver(this);
-// if (m_cryptoNoteAdapter->getNodeAdapter()->getWalletAdapter()->isOpen()) {
-// walletOpened();
-// }
-// }
-//}
-
-//void WalletStatusBar::cryptoNoteAdapterDeinitCompleted() {
-// // Do nothing
-//}
-
-//void WalletStatusBar::timerEvent(QTimerEvent* event)
-//{
-// Q_ASSERT(jsonClient_ != nullptr);
-// if (event->timerId() == getStatusTimerID_)
-// {
-// jsonClient_.sendGetStatus();
-// return;
-// }
-
-// QStatusBar::timerEvent(event);
-//}
-
void WalletStatusBar::nodeStateChanged(const QModelIndex& /*topLeft*/, const QModelIndex& /*bottomRight*/, const QVector& roles)
{
if (roles.contains(WalletModel::ROLE_TXPOOL_VERSION) || roles.contains(WalletModel::ROLE_TOP_BLOCK_HASH) || roles.contains(WalletModel::ROLE_PEER_COUNT_SUM))
@@ -291,11 +180,9 @@ void WalletStatusBar::updateStatusDescription()
warningString.append(tr(" No network connection."));
const QString statusText = isSynchronized_ ?
-// tr("Wallet synchronized. Top block height: %1 / Time (UTC): %2%3")
tr("Wallet synchronized. Top block height: %1 / Received: %2 ago.%3")
.arg(knownBlockHeight)
.arg(formattedTimeDiff)
-// .arg(QLocale(QLocale::English).toString(lastBlockTimestamp, "dd MMM yyyy, HH:mm:ss"))
.arg(warningString) :
tr("Synchronization: %1 blocks left (%2)")
.arg(knownBlockHeight - lastBlockHeight)
@@ -323,10 +210,6 @@ void WalletStatusBar::updateSyncState()
void WalletStatusBar::updateEncryptedState(bool /*isEncrypted*/)
{
-// if (isEncrypted)
-// m_encryptionStatusIconLabel->setPixmap(Settings::instance().getCurrentStyle().getEncryptedIcon());
-// else
-// m_encryptionStatusIconLabel->setPixmap(Settings::instance().getCurrentStyle().getNotEncryptedIcon());
}
}
diff --git a/src/tableview.cpp b/src/tableview.cpp
deleted file mode 100644
index df72ef6..0000000
--- a/src/tableview.cpp
+++ /dev/null
@@ -1,221 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#include
-#include
-#include
-#include
-
-#include "tableview.h"
-//#include "Settings/Settings.h"
-//#include "LinkLikeColumnDelegate.h"
-//#include "Style/Style.h"
-#include "windoweditemmodel.h"
-
-
-namespace WalletGUI {
-
-namespace {
-
-const char WALLET_VIEW_STYLE_SHEET_TEMPLATE[] =
- "* {"
- "font-family: %fontFamily%;"
- "}"
-
- "WalletGui--WalletTableView {"
- "border: none;"
- "font-size: %fontSizeNormal%;"
- "background-color: #ffffff;"
- "border-bottom: 1px solid transparent;"
- "}"
-
- "WalletGui--WalletTableView[showBottomBorder=\"true\"] {"
- "border: none;"
- "border-bottom: 1px solid %borderColor%;"
- "}"
-
- "WalletGui--WalletTableView > QHeaderView {"
- "background-color: #ffffff;"
- "border: none;"
- "border-bottom: 1px solid %borderColor%;"
- "}"
-
- "WalletGui--WalletTableView > QHeaderView::section:horizontal {"
- "height: 20px;"
- "font-size: %fontSizeSmall%;"
- "color: %fontColorGray%;"
- "background-color: #ffffff;"
- "border: none;"
- "border-left: 23px solid transparent;"
- "border-right: 20px solid transparent;"
- "}"
-
- "WalletGui--WalletTableView::item {"
- "background: %backgroundColorAlternate%;"
- "border: none;"
- "border-left: 20px solid transparent;"
- "border-right: 20px solid transparent;"
- "}"
-
- "WalletGui--WalletTableView::item:alternate {"
- "background: #ffffff;"
- "}"
-
- "WalletGui--WalletTableView::item:selected {"
- "color: #ffffff;"
- "background: %selectionColor%;"
- "}"
-
- "WalletGui--WalletTableView[hoverIsVisible=\"true\"]::item:hover {"
- "background: #e9eaec;"
- "alternate-background-color: #e9eaec;"
- "}";
-
-}
-
-WalletTableView::WalletTableView(QWidget* _parent)
- : QTableView(_parent)
-// , m_linkLikeColumnDelegate(nullptr)
- , m_autoUpdateRowCount(true)
-{
- setMouseTracking(true);
- setAlternatingRowColors(true);
- setTextElideMode(Qt::ElideMiddle);
- setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
-// setStyleSheet(Settings::instance().getCurrentStyle().makeStyleSheet(WALLET_VIEW_STYLE_SHEET_TEMPLATE));
- connect(this, &WalletTableView::clicked, this, &WalletTableView::itemClicked);
- setToolTipDuration(1000);
-// verticalHeader()->setDefaultSectionSize(Settings::instance().getCurrentStyle().viewItemHeight());
-}
-
-WalletTableView::~WalletTableView()
-{}
-
-void WalletTableView::setLinkLikeColumnSet(const QSet& linkLikeColumnSet)
-{
- m_linkLikeColumnSet = linkLikeColumnSet;
-// if (!m_linkLikeColumnSet.isEmpty() && m_linkLikeColumnDelegate == nullptr) {
-// m_linkLikeColumnDelegate = new LinkLikeColumnDelegate(this);
-// for (int _column : m_linkLikeColumnSet) {
-// setItemDelegateForColumn(_column, m_linkLikeColumnDelegate);
-// }
-// }
-}
-
-void WalletTableView::setCopyableColumnSet(const QSet& copyableColumnSet)
-{
- m_copyableColumnSet = copyableColumnSet;
-}
-
-void WalletTableView::setHoverIsVisible(bool hoverIsVisible)
-{
- setProperty("hoverIsVisible", hoverIsVisible);
- style()->unpolish(this);
- style()->polish(this);
-}
-
-void WalletTableView::setModel(QAbstractItemModel* model)
-{
- QTableView::setModel(model);
- updateRowCount();
-}
-
-void WalletTableView::updateRowCount()
-{
- if (verticalScrollBarPolicy() == Qt::ScrollBarAlwaysOff)
- {
- WalletWindowedItemModel* windowedModel = qobject_cast(model());
- if (windowedModel != nullptr)
- {
- int rows = calculateVisibleRowCount();
- windowedModel->setWindowSize(rows);
- }
- }
-}
-
-void WalletTableView::setAutoUpdateRowCount(bool autoUpdateRowCount)
-{
- m_autoUpdateRowCount = autoUpdateRowCount;
-}
-
-void WalletTableView::mouseMoveEvent(QMouseEvent* event)
-{
- QPoint pos = event->pos();
- QModelIndex index = indexAt(pos);
- if (index.isValid() && (m_linkLikeColumnSet.contains(index.column()) || m_copyableColumnSet.contains(index.column())))
- setCursor(Qt::PointingHandCursor);
- else
- setCursor(Qt::ArrowCursor);
-
- QTableView::mouseMoveEvent(event);
-}
-
-void WalletTableView::paintEvent(QPaintEvent* event)
-{
- if (!property("showBottomBorder").toBool() && verticalScrollBar()->isVisible())
- {
- setProperty("showBottomBorder", true);
- style()->unpolish(this);
- style()->polish(this);
- }
- else if (property("showBottomBorder").toBool() && !verticalScrollBar()->isVisible())
- {
- setProperty("showBottomBorder", false);
- style()->unpolish(this);
- style()->polish(this);
- }
-
- QTableView::paintEvent(event);
-}
-
-void WalletTableView::resizeEvent(QResizeEvent* event)
-{
- QTableView::resizeEvent(event);
- if (!m_autoUpdateRowCount)
- return;
-
- const int viewItemHeight = /*Settings::instance().getCurrentStyle().viewItemHeight()*/ 46;
- if (model() != nullptr &&
- (event->size().height() < model()->rowCount() * viewItemHeight || event->size().height() >= model()->rowCount() * viewItemHeight + viewItemHeight))
- {
- updateRowCount();
- }
-}
-
-void WalletTableView::itemClicked(const QModelIndex& index)
-{
- if (index.isValid())
- {
- if (m_linkLikeColumnSet.contains(index.column()))
- {
- emit doubleClicked(index);
- }
- else if (m_copyableColumnSet.contains(index.column()))
- {
- emit copyableItemClickedSignal(index);
- }
- }
-}
-
-int WalletTableView::calculateVisibleRowCount() const
-{
- if (model() == nullptr)
- return 0;
- return viewport()->height() / /*Settings::instance().getCurrentStyle().viewItemHeight()*/ 46;
-}
-
-}
diff --git a/src/tableview.h b/src/tableview.h
deleted file mode 100644
index d2f0fff..0000000
--- a/src/tableview.h
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright (c) 2015-2017, The Bytecoin developers
-//
-// This file is part of Bytecoin.
-//
-// Bytecoin is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Lesser General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Bytecoin is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public License
-// along with Bytecoin. If not, see .
-
-#pragma once
-
-#include
-
-namespace WalletGUI {
-
-class WalletTableView : public QTableView
-{
- Q_OBJECT
- Q_DISABLE_COPY(WalletTableView)
-
-public:
- explicit WalletTableView(QWidget* parent);
- virtual ~WalletTableView();
-
- void setLinkLikeColumnSet(const QSet& linkLikeColumnSet);
- void setCopyableColumnSet(const QSet& copyableColumnSet);
- void setHoverIsVisible(bool hoverIsVisible);
- void updateRowCount();
- void setAutoUpdateRowCount(bool autoUpdateRowCount);
-
- virtual void setModel(QAbstractItemModel* model) override;
-
-protected:
- virtual void mouseMoveEvent(QMouseEvent* event) override;
- virtual void paintEvent(QPaintEvent* event) override;
- virtual void resizeEvent(QResizeEvent* event) override;
-
-private:
- QSet m_linkLikeColumnSet;
- QSet m_copyableColumnSet;
-// LinkLikeColumnDelegate* m_linkLikeColumnDelegate;
- bool m_autoUpdateRowCount;
-
- void itemClicked(const QModelIndex& index);
- int calculateVisibleRowCount() const;
-
-Q_SIGNALS:
- void copyableItemClickedSignal(const QModelIndex& index);
-};
-
-}
diff --git a/src/transferframe.h b/src/transferframe.h
index cd37ff5..036bb50 100644
--- a/src/transferframe.h
+++ b/src/transferframe.h
@@ -19,7 +19,6 @@
#include
#include
-//#include "Application/IWalletUiItem.h"
class QCompleter;
@@ -65,7 +64,6 @@ class TransferFrame : public QFrame
void setBigTransactionError(bool error = true);
void setLabelLikePaymentIdError(bool error = true);
- // QObject
virtual bool eventFilter(QObject* object, QEvent* event) override;
private:
diff --git a/src/walletd.cpp b/src/walletd.cpp
index 731ef50..56793b5 100644
--- a/src/walletd.cpp
+++ b/src/walletd.cpp
@@ -2,7 +2,9 @@
#include
#include
#include
+#include
+#include
#include "walletd.h"
#include "JsonRpc/JsonRpcClient.h"
#include "settings.h"
@@ -131,6 +133,8 @@ RemoteWalletd::RemoteWalletd(const QString& endPoint, QObject* parent)
connect(jsonClient_, &JsonRpc::WalletClient::packetSent, this, &RemoteWalletd::packetSent);
connect(jsonClient_, &JsonRpc::WalletClient::packetReceived, this, &RemoteWalletd::packetReceived);
+ connect(jsonClient_, &JsonRpc::WalletClient::authRequiredSignal, this, &RemoteWalletd::authRequired);
+
connect(this, &RemoteWalletd::errorOccurred, this, &RemoteWalletd::rerun);
}
@@ -146,7 +150,6 @@ void RemoteWalletd::run()
if (isConnected())
return;
-// connect(this, &RemoteWalletd::errorOccurred, this, &RemoteWalletd::rerun);
setState(State::CONNECTING);
onceCallOrDieConnect(
@@ -168,7 +171,6 @@ void RemoteWalletd::run()
/*virtual*/
void RemoteWalletd::stop()
{
-// disconnect(this, &RemoteWalletd::errorOccurred, this, &RemoteWalletd::rerun);
if (rerunTimerId_ != -1)
{
killTimer(rerunTimerId_);
@@ -196,28 +198,15 @@ void RemoteWalletd::statusReceived(const RpcApi::Status& status)
status.incoming_peer_count});
jsonClient_->sendGetBalance(RpcApi::GetBalance::Request{QString{}, -1});
-// jsonClient_->sendGetTransfers(RpcApi::GetTransfers::Request{});
-// RpcApi::GetTransfers::Request req;
-// req.desired_transactions_count = 200;
-// req.from_height = status.top_known_block_height > (CONFIRMATIONS + 2) ? (status.top_known_block_height - CONFIRMATIONS - 2) : 0;
-// jsonClient_->sendGetTransfers(req);
}
}
void RemoteWalletd::rerun()
{
-// QTimer::singleShot(RERUN_TIMER_MSEC, [this]() { RemoteWalletd::run(); }); // could not call the 'run' as a slot because it is virtual, but we want to use it here as non-virtual function
-// if (state_ != State::STOPPED)
-// QTimer::singleShot(RERUN_TIMER_MSEC, this, &RemoteWalletd::rerunImpl); // could not call the 'run' as a slot because it is virtual, but we want to use it here as non-virtual function
if (rerunTimerId_ == -1)
rerunTimerId_ = startTimer(RERUN_TIMER_MSEC);
}
-//void RemoteWalletd::rerunImpl()
-//{
-// return RemoteWalletd::run();
-//}
-
void RemoteWalletd::timerEvent(QTimerEvent* event)
{
if (event->timerId() == rerunTimerId_)
@@ -345,14 +334,20 @@ void RemoteWalletd::getTransfers(const RpcApi::GetTransfers::Request& req)
jsonClient_->sendGetTransfers(req);
}
+void RemoteWalletd::authRequired(QAuthenticator* authenticator)
+{
+ emit authRequiredSignal(authenticator);
+}
-BuiltinWalletd::BuiltinWalletd(const QString& pathToWallet, bool createNew, QObject* parent)
+
+BuiltinWalletd::BuiltinWalletd(const QString& pathToWallet, bool createNew, QByteArray&& keys, QObject* parent)
: RemoteWalletd(Settings::instance().getBuilinRpcEndPoint(), parent)
, walletd_(new QProcess(this))
, state_(State::STOPPED)
, pathToWallet_(pathToWallet)
, createNew_(createNew)
, changePassword_(false)
+ , keys_(std::move(keys))
{
walletd_->setProgram(Settings::getDefaultWalletdPath());
connect(walletd_, &QProcess::readyReadStandardOutput, this, &BuiltinWalletd::daemonStandardOutputReady);
@@ -383,10 +378,13 @@ void BuiltinWalletd::run()
{
QStringList args;
args << QString("--wallet-file=%1").arg(pathToWallet_);
+ args << QString("--walletd-authorization=%1").arg(auth_.getHttpBasicAuth());
if (createNew_)
args << "--generate-wallet";
-// if (!password_.isEmpty())
-// args << QString("--wallet-password=%1").arg(password_);
+
+ const bool importKeys = !keys_.isEmpty();
+ if (importKeys)
+ args << "--import-keys";
run(args);
@@ -395,6 +393,9 @@ void BuiltinWalletd::run()
else
emit requestPasswordSignal();
+ if (importKeys)
+ walletd_->write(keys_.toHex() + QString{'\n'}.toUtf8());
+
walletd_->write((password_ + '\n').toUtf8());
if (createNew_)
walletd_->write((password_ + '\n').toUtf8()); // write confirmation
@@ -457,12 +458,7 @@ void BuiltinWalletd::changeWalletPassword(QString&& oldPassword, QString&& newPa
[this, &oldPassword, &newPassword]()
{
QStringList args;
-// if (!password_.isEmpty())
-// args << QString("--wallet-password=%1").arg(oldPassword);
args << QString("--wallet-file=%1").arg(pathToWallet_);
-//// args << QString("--wallet-password=%1").arg(oldPassword);
-// args << QString("--set-password=%1").arg(newPassword);
-
args << QString("--set-password");
run(args);
walletd_->write((oldPassword + '\n').toUtf8());
@@ -502,7 +498,6 @@ void BuiltinWalletd::daemonErrorOccurred(QProcess::ProcessError error)
void BuiltinWalletd::daemonFinished(int exitCode, QProcess::ExitStatus exitStatus)
{
-// const State state = (state_ == State::FINISHING || exitStatus == QProcess::NormalExit) ? State::STOPPED : State::CRASHED;
const State state = (state_ == State::FINISHING || state_ == State::STOPPED) ? State::STOPPED : State::CRASHED;
setState(state);
RemoteWalletd::stop();
@@ -547,10 +542,6 @@ void BuiltinWalletd::daemonStandardOutputReady()
emit daemonStandardOutputSignal(QString(data));
}
-//void BuiltinWalletd::daemonStateChanged(QProcess::ProcessState state)
-//{
-//}
-
QString BuiltinWalletd::errorString() const
{
return walletd_->errorString();
@@ -566,4 +557,47 @@ void BuiltinWalletd::connected()
createNew_ = false;
}
+void BuiltinWalletd::authRequired(QAuthenticator* authenticator)
+{
+ authenticator->setUser(auth_.getUser());
+ authenticator->setPassword(auth_.getPass());
+}
+
+
+static QString generatePass()
+{
+ static constexpr size_t length = 25;
+ static constexpr char alphabet[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
+ std::default_random_engine generator;
+ generator.seed(QDateTime::currentMSecsSinceEpoch() / 1000);
+ std::uniform_int_distribution distribution(0, sizeof(alphabet) - 2);
+ QString res;
+ for (size_t i = 0; i < length; ++i)
+ res += alphabet[distribution(generator)];
+
+ return res;
+}
+
+RandomAuth::RandomAuth()
+ : user_("user")
+ , pass_(generatePass())
+{}
+
+const QString& RandomAuth::getUser() const
+{
+ return user_;
+}
+
+const QString& RandomAuth::getPass() const
+{
+ return pass_;
+}
+
+QString RandomAuth::getHttpBasicAuth() const
+{
+ const QString concatenated = user_ + ":" + pass_;
+ return QString::fromLatin1(concatenated.toLocal8Bit().toBase64());
+}
+
+
}
diff --git a/src/walletd.h b/src/walletd.h
index 5a03b78..cd4dc21 100644
--- a/src/walletd.h
+++ b/src/walletd.h
@@ -6,6 +6,8 @@
#include "rpcapi.h"
+class QAuthenticator;
+
namespace JsonRpc
{
class WalletClient;
@@ -32,13 +34,6 @@ class RemoteWalletd : public QObject
virtual void run();
virtual void stop();
-// void sendGetStatus(const QString& topBlockHash, quint32 txPoolVersion = 0);
-// void sendGetHistory(quint32 blockIndex = 0, quint32 blockCount = std::numeric_limits::max());
-// void sendGetAddresses();
-// void sendGetUnspent();
-// void sendCreateTransaction(const QList& sourceAddresses, const QString& changeAddress, quint32 confirmations, const QVariantMap& transaction, bool sendImmediately);
-
-// void sendTx(const QString& spendAddress, const QString& changeAddress, quint32 confirmations, const QVariantMap& transaction, bool sendImmediately);
void createTx(const RpcApi::CreateTransaction::Request& tx);
void sendTx(const RpcApi::SendTransaction::Request& tx);
void getTransfers(const RpcApi::GetTransfers::Request& req);
@@ -68,6 +63,8 @@ class RemoteWalletd : public QObject
void packetSent(const QByteArray& data);
void packetReceived(const QByteArray& data);
+ void authRequiredSignal(QAuthenticator* authenticator);
+
private:
JsonRpc::WalletClient* jsonClient_;
State state_;
@@ -75,8 +72,8 @@ class RemoteWalletd : public QObject
void setState(State state);
void rerun();
-// void rerunImpl();
virtual void timerEvent(QTimerEvent* event) override;
+ virtual void authRequired(QAuthenticator* authenticator);
private slots:
void statusReceived(const RpcApi::Status& status);
@@ -95,6 +92,20 @@ private slots:
};
+class RandomAuth
+{
+public:
+ RandomAuth();
+
+ const QString& getUser() const;
+ const QString& getPass() const;
+ QString getHttpBasicAuth() const;
+
+private:
+ QString user_;
+ QString pass_;
+};
+
class BuiltinWalletd : public RemoteWalletd
{
Q_OBJECT
@@ -124,7 +135,7 @@ class BuiltinWalletd : public RemoteWalletd
Q_ENUM(ReturnCode)
- BuiltinWalletd(const QString& pathToWallet, bool createNew, QObject* parent = nullptr);
+ BuiltinWalletd(const QString& pathToWallet, bool createNew, QByteArray&& keys, QObject* parent = nullptr);
virtual ~BuiltinWalletd() override;
virtual void run() override;
@@ -159,11 +170,14 @@ class BuiltinWalletd : public RemoteWalletd
QString password_;
bool createNew_;
bool changePassword_;
+ QByteArray keys_;
+ RandomAuth auth_;
void setState(State state);
void run(const QStringList& args);
void connected();
+ virtual void authRequired(QAuthenticator* authenticator) override;
private slots:
void daemonStandardOutputReady();
@@ -173,7 +187,7 @@ private slots:
void daemonErrorOccurred(QProcess::ProcessError error);
void daemonFinished(int exitCode, QProcess::ExitStatus exitStatus);
// void daemonStateChanged(QProcess::ProcessState state);
-
+// void authRequired(QAuthenticator* authenticator);
};
}
diff --git a/src/walletmodel.cpp b/src/walletmodel.cpp
index c0c2a08..cd21e33 100644
--- a/src/walletmodel.cpp
+++ b/src/walletmodel.cpp
@@ -90,16 +90,9 @@ QVariant WalletModel::headerData(int section, Qt::Orientation orientation, int r
break;
case Qt::TextAlignmentRole:
{
-// if (section == COLUMN_TIMESTAMP)
- return static_cast(Qt::AlignLeft | Qt::AlignVCenter);
-// return static_cast(Qt::AlignRight | Qt::AlignVCenter);
- }
- case Qt::FontRole:
- {
-// QFont font;
-// font.setPointSize(11);
-// return font;
+ return static_cast(Qt::AlignLeft | Qt::AlignVCenter);
}
+// case Qt::FontRole:
}
return QVariant();
@@ -367,9 +360,6 @@ void WalletModel::stateChanged(RemoteWalletd::State /*oldState*/, RemoteWalletd:
QVector changedRoles;
changedRoles << Qt::EditRole << Qt::DisplayRole
<< ROLE_STATE;
-// if (pimpl_->walletdState != RemoteWalletd::State::CONNECTED && pimpl_->walletdState != RemoteWalletd::State::JSON_ERROR)
-// statusReceived(RpcApi::Status{});
-// reset();
emit dataChanged(index(0, COLUMN_STATE), index(0, COLUMN_STATE), changedRoles);
}
diff --git a/src/walletmodel.h b/src/walletmodel.h
index 3211632..04ea202 100644
--- a/src/walletmodel.h
+++ b/src/walletmodel.h
@@ -50,23 +50,12 @@ class WalletModel : public QAbstractItemModel
COLUMN_KNOWN_TOP_BLOCK_HEIGHT,
COLUMN_PEER_COUNT_SUM, // additional status
-// COLUMN_WALLET_CONNECT,
COLUMN_STATE,
COLUMN_SPENDABLE, // getBalance
COLUMN_SPENDABLE_DUST,
COLUMN_LOCKED_OR_UNCONFIRMED,
COLUMN_TOTAL,
-
-// COLUMN_PUBLIC_KEY,
-// COLUMN_GLOBAL_INDEX,
-// COLUMN_AMOUNT,
-// COLUMN_UNLOCK_TIME,
-// COLUMN_HEIGHT,
-// COLUMN_KEY_IMAGE,
-
-// COLUMN_VIEW_SECRET_KEY, // getViewKey
-// COLUMN_VIEW_PUBLIC_KEY,
};
enum Roles
@@ -101,22 +90,11 @@ class WalletModel : public QAbstractItemModel
ROLE_PEER_COUNT_SUM,
ROLE_STATE, // state
-// ROLE_WALLET_CONNECT,
ROLE_SPENDABLE, // getBalance
ROLE_SPENDABLE_DUST,
ROLE_LOCKED_OR_UNCONFIRMED,
ROLE_TOTAL,
-
-// ROLE_PUBLIC_KEY,
-// ROLE_GLOBAL_INDEX,
-// ROLE_AMOUNT,
-// ROLE_UNLOCK_TIME,
-// ROLE_HEIGHT,
-// ROLE_KEY_IMAGE,
-
-// ROLE_VIEW_SECRET_KEY, // getViewKey
-// ROLE_VIEW_PUBLIC_KEY,
};
WalletModel(QObject* parent);
@@ -132,15 +110,10 @@ class WalletModel : public QAbstractItemModel
virtual bool canFetchMore(const QModelIndex& parent) const override;
virtual void fetchMore(const QModelIndex& parent) override;
-// bool isInitialized() const;
void reset();
-// bool isConnected() const;
-// bool hasAddress() const;
-
QString getAddress() const;
-// QVariant getAddress(int index = 0) const;
quint32 getLastBlockHeight() const;
QString getLastBlockHash() const;
QDateTime getLastBlockTimestamp() const;
@@ -154,13 +127,6 @@ class WalletModel : public QAbstractItemModel
void getTransfersSignal(const RpcApi::GetTransfers::Request& req);
public slots:
-// void addressesChanged(const QVariantMap& addresses);
-// void historyChanged(const QVariantMap& history);
-// void statusChanged(const QVariantMap& status);
-// void unspentsChanged(const QVariantMap& unspents);
-// void transactionSent(const QVariantMap& sendTransaction);
-// void errorOccured(const QString& message, const QString& description);
-
void statusReceived(const RpcApi::Status& status);
void transfersReceived(const RpcApi::Transfers& history);
void addressesReceived(const RpcApi::Addresses& addresses);
@@ -198,38 +164,8 @@ public slots:
quint32 getTopConfirmedBlock() const;
quint32 getBottomConfirmedBlock() const;
-// virtual bool canFetchMore(const QModelIndex& parent) const override;
-// virtual void fetchMore(const QModelIndex& parent) override;
-
-// QPair getUnspent() const;
-// qint64 getAmount(const QVariantMap& tx) const;
-
-// QVariantList addresses_;
-// QVariantList txs_;
-// QVariantMap status_;
-// QVariantMap unspents_;
-
const int columnCount_;
QScopedPointer pimpl_;
-
-// RpcApi::Status status_;
-// RpcApi::Balance balance_;
-// QList txs_;
-//// QList confirmedTxs_;
-//// QList unconfirmedTxs_;
-// QList addresses_;
-//// RpcApi::ViewKey viewKey_;
-//// RpcApi::Unspents unspents_;
-
-// RemoteWalletd::State state_;
-//// bool canFetchMore_;
-//// int unconfirmedTxsSize_;
-
-// const int columnCount_;
-//// quint32 topReceivedBlock_;
-//// quint32 bottomReceivedBlock_;
-// int unconfimedSize_;
-// bool canFetchMore_;
};
}