Aditya Kulkarni
5 years ago
21 changed files with 2519 additions and 822 deletions
File diff suppressed because it is too large
File diff suppressed because it is too large
Binary file not shown.
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,212 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<ui version="4.0"> |
|||
<class>createZcashConf</class> |
|||
<widget class="QDialog" name="createZcashConf"> |
|||
<property name="geometry"> |
|||
<rect> |
|||
<x>0</x> |
|||
<y>0</y> |
|||
<width>508</width> |
|||
<height>352</height> |
|||
</rect> |
|||
</property> |
|||
<property name="windowTitle"> |
|||
<string>Configure zcash.conf</string> |
|||
</property> |
|||
<layout class="QGridLayout" name="gridLayout"> |
|||
<item row="0" column="1"> |
|||
<widget class="FilledIconLabel" name="lblTopIcon"> |
|||
<property name="sizePolicy"> |
|||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding"> |
|||
<horstretch>0</horstretch> |
|||
<verstretch>0</verstretch> |
|||
</sizepolicy> |
|||
</property> |
|||
<property name="styleSheet"> |
|||
<string notr="true">background: #fff;</string> |
|||
</property> |
|||
<property name="text"> |
|||
<string notr="true"/> |
|||
</property> |
|||
<property name="scaledContents"> |
|||
<bool>true</bool> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="1" column="1"> |
|||
<widget class="Line" name="line"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Horizontal</enum> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="6" column="1"> |
|||
<widget class="QDialogButtonBox" name="buttonBox"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Horizontal</enum> |
|||
</property> |
|||
<property name="standardButtons"> |
|||
<set>QDialogButtonBox::Ok</set> |
|||
</property> |
|||
<property name="centerButtons"> |
|||
<bool>true</bool> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="3" column="1"> |
|||
<layout class="QHBoxLayout" name="horizontalLayout_3"> |
|||
<item> |
|||
<widget class="QPushButton" name="btnAdvancedConfig"> |
|||
<property name="text"> |
|||
<string>Show Advanced Configuration</string> |
|||
</property> |
|||
<property name="checkable"> |
|||
<bool>true</bool> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item> |
|||
<spacer name="horizontalSpacer_2"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Horizontal</enum> |
|||
</property> |
|||
<property name="sizeHint" stdset="0"> |
|||
<size> |
|||
<width>40</width> |
|||
<height>20</height> |
|||
</size> |
|||
</property> |
|||
</spacer> |
|||
</item> |
|||
</layout> |
|||
</item> |
|||
<item row="2" column="1"> |
|||
<widget class="QLabel" name="label"> |
|||
<property name="text"> |
|||
<string>Your zcash node will be configured for you automatically</string> |
|||
</property> |
|||
<property name="alignment"> |
|||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="4" column="1"> |
|||
<widget class="QGroupBox" name="grpAdvanced"> |
|||
<property name="title"> |
|||
<string/> |
|||
</property> |
|||
<layout class="QGridLayout" name="gridLayout_2"> |
|||
<item row="0" column="0"> |
|||
<widget class="QCheckBox" name="chkCustomDatadir"> |
|||
<property name="text"> |
|||
<string>Use custom datadir</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="1" column="0"> |
|||
<widget class="QLabel" name="label_2"> |
|||
<property name="text"> |
|||
<string>Please chose a directory to store your wallet.dat and blockchain</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="2" column="0"> |
|||
<layout class="QHBoxLayout" name="horizontalLayout"> |
|||
<item> |
|||
<widget class="QPushButton" name="btnPickDir"> |
|||
<property name="text"> |
|||
<string>Choose directory</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item> |
|||
<widget class="QLabel" name="lblDirName"> |
|||
<property name="text"> |
|||
<string notr="true"/> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item> |
|||
<spacer name="horizontalSpacer"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Horizontal</enum> |
|||
</property> |
|||
<property name="sizeHint" stdset="0"> |
|||
<size> |
|||
<width>40</width> |
|||
<height>20</height> |
|||
</size> |
|||
</property> |
|||
</spacer> |
|||
</item> |
|||
</layout> |
|||
</item> |
|||
<item row="3" column="0"> |
|||
<widget class="QLabel" name="label_4"> |
|||
<property name="text"> |
|||
<string notr="true"/> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="4" column="0"> |
|||
<widget class="QCheckBox" name="chkUseTor"> |
|||
<property name="text"> |
|||
<string>Connect over Tor</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="5" column="0"> |
|||
<widget class="QLabel" name="label_5"> |
|||
<property name="text"> |
|||
<string>Please note that you'll need to already have a Tor service configured on port 9050</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
</layout> |
|||
</widget> |
|||
</item> |
|||
</layout> |
|||
</widget> |
|||
<customwidgets> |
|||
<customwidget> |
|||
<class>FilledIconLabel</class> |
|||
<extends>QLabel</extends> |
|||
<header>fillediconlabel.h</header> |
|||
</customwidget> |
|||
</customwidgets> |
|||
<resources/> |
|||
<connections> |
|||
<connection> |
|||
<sender>buttonBox</sender> |
|||
<signal>accepted()</signal> |
|||
<receiver>createZcashConf</receiver> |
|||
<slot>accept()</slot> |
|||
<hints> |
|||
<hint type="sourcelabel"> |
|||
<x>248</x> |
|||
<y>254</y> |
|||
</hint> |
|||
<hint type="destinationlabel"> |
|||
<x>157</x> |
|||
<y>274</y> |
|||
</hint> |
|||
</hints> |
|||
</connection> |
|||
<connection> |
|||
<sender>buttonBox</sender> |
|||
<signal>rejected()</signal> |
|||
<receiver>createZcashConf</receiver> |
|||
<slot>reject()</slot> |
|||
<hints> |
|||
<hint type="sourcelabel"> |
|||
<x>316</x> |
|||
<y>260</y> |
|||
</hint> |
|||
<hint type="destinationlabel"> |
|||
<x>286</x> |
|||
<y>274</y> |
|||
</hint> |
|||
</hints> |
|||
</connection> |
|||
</connections> |
|||
</ui> |
@ -0,0 +1,245 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<ui version="4.0"> |
|||
<class>newRecurringDialog</class> |
|||
<widget class="QDialog" name="newRecurringDialog"> |
|||
<property name="geometry"> |
|||
<rect> |
|||
<x>0</x> |
|||
<y>0</y> |
|||
<width>740</width> |
|||
<height>403</height> |
|||
</rect> |
|||
</property> |
|||
<property name="windowTitle"> |
|||
<string>Edit Schedule</string> |
|||
</property> |
|||
<layout class="QGridLayout" name="gridLayout"> |
|||
<item row="5" column="2"> |
|||
<layout class="QHBoxLayout" name="horizontalLayout"> |
|||
<item> |
|||
<widget class="QComboBox" name="cmbSchedule"/> |
|||
</item> |
|||
<item> |
|||
<spacer name="horizontalSpacer"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Horizontal</enum> |
|||
</property> |
|||
<property name="sizeHint" stdset="0"> |
|||
<size> |
|||
<width>40</width> |
|||
<height>20</height> |
|||
</size> |
|||
</property> |
|||
</spacer> |
|||
</item> |
|||
</layout> |
|||
</item> |
|||
<item row="10" column="2"> |
|||
<widget class="QDialogButtonBox" name="buttonBox"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Horizontal</enum> |
|||
</property> |
|||
<property name="standardButtons"> |
|||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="5" column="1"> |
|||
<widget class="QLabel" name="label_3"> |
|||
<property name="text"> |
|||
<string>Schedule</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="0" column="1"> |
|||
<widget class="QLabel" name="label_7"> |
|||
<property name="text"> |
|||
<string>Payment Description</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="8" column="2"> |
|||
<widget class="QLabel" name="lblNextPayment"> |
|||
<property name="text"> |
|||
<string>TextLabel</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="7" column="1" colspan="2"> |
|||
<widget class="Line" name="line"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Horizontal</enum> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="3" column="2"> |
|||
<layout class="QHBoxLayout" name="horizontalLayout_3"> |
|||
<item> |
|||
<widget class="QLineEdit" name="txtAmt"> |
|||
<property name="sizePolicy"> |
|||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed"> |
|||
<horstretch>0</horstretch> |
|||
<verstretch>0</verstretch> |
|||
</sizepolicy> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item> |
|||
<widget class="QComboBox" name="cmbCurrency"/> |
|||
</item> |
|||
<item> |
|||
<spacer name="horizontalSpacer_3"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Horizontal</enum> |
|||
</property> |
|||
<property name="sizeHint" stdset="0"> |
|||
<size> |
|||
<width>40</width> |
|||
<height>20</height> |
|||
</size> |
|||
</property> |
|||
</spacer> |
|||
</item> |
|||
</layout> |
|||
</item> |
|||
<item row="0" column="2"> |
|||
<widget class="QLineEdit" name="txtDesc"/> |
|||
</item> |
|||
<item row="1" column="1"> |
|||
<widget class="QLabel" name="label"> |
|||
<property name="text"> |
|||
<string>From</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="6" column="1"> |
|||
<widget class="QLabel" name="label_5"> |
|||
<property name="text"> |
|||
<string>Number of payments</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="3" column="1"> |
|||
<widget class="QLabel" name="label_6"> |
|||
<property name="text"> |
|||
<string>Amount</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="9" column="1"> |
|||
<spacer name="verticalSpacer"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Vertical</enum> |
|||
</property> |
|||
<property name="sizeHint" stdset="0"> |
|||
<size> |
|||
<width>20</width> |
|||
<height>40</height> |
|||
</size> |
|||
</property> |
|||
</spacer> |
|||
</item> |
|||
<item row="1" column="2"> |
|||
<widget class="AddressCombo" name="cmbFromAddress"/> |
|||
</item> |
|||
<item row="6" column="2"> |
|||
<layout class="QHBoxLayout" name="horizontalLayout_2"> |
|||
<item> |
|||
<widget class="QLineEdit" name="txtNumPayments"/> |
|||
</item> |
|||
<item> |
|||
<spacer name="horizontalSpacer_2"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Horizontal</enum> |
|||
</property> |
|||
<property name="sizeHint" stdset="0"> |
|||
<size> |
|||
<width>40</width> |
|||
<height>20</height> |
|||
</size> |
|||
</property> |
|||
</spacer> |
|||
</item> |
|||
</layout> |
|||
</item> |
|||
<item row="8" column="1"> |
|||
<widget class="QLabel" name="label_8"> |
|||
<property name="text"> |
|||
<string>Next Payment</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="2" column="2"> |
|||
<widget class="QLineEdit" name="txtToAddr"/> |
|||
</item> |
|||
<item row="2" column="1"> |
|||
<widget class="QLabel" name="label_2"> |
|||
<property name="text"> |
|||
<string>To</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item row="4" column="2"> |
|||
<widget class="QPlainTextEdit" name="txtMemo"/> |
|||
</item> |
|||
<item row="4" column="1"> |
|||
<widget class="QLabel" name="label_4"> |
|||
<property name="text"> |
|||
<string>Memo</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
</layout> |
|||
</widget> |
|||
<customwidgets> |
|||
<customwidget> |
|||
<class>AddressCombo</class> |
|||
<extends>QComboBox</extends> |
|||
<header>addresscombo.h</header> |
|||
</customwidget> |
|||
</customwidgets> |
|||
<tabstops> |
|||
<tabstop>txtDesc</tabstop> |
|||
<tabstop>cmbFromAddress</tabstop> |
|||
<tabstop>txtToAddr</tabstop> |
|||
<tabstop>txtAmt</tabstop> |
|||
<tabstop>cmbCurrency</tabstop> |
|||
<tabstop>cmbSchedule</tabstop> |
|||
<tabstop>txtNumPayments</tabstop> |
|||
</tabstops> |
|||
<resources/> |
|||
<connections> |
|||
<connection> |
|||
<sender>buttonBox</sender> |
|||
<signal>accepted()</signal> |
|||
<receiver>newRecurringDialog</receiver> |
|||
<slot>accept()</slot> |
|||
<hints> |
|||
<hint type="sourcelabel"> |
|||
<x>248</x> |
|||
<y>254</y> |
|||
</hint> |
|||
<hint type="destinationlabel"> |
|||
<x>157</x> |
|||
<y>274</y> |
|||
</hint> |
|||
</hints> |
|||
</connection> |
|||
<connection> |
|||
<sender>buttonBox</sender> |
|||
<signal>rejected()</signal> |
|||
<receiver>newRecurringDialog</receiver> |
|||
<slot>reject()</slot> |
|||
<hints> |
|||
<hint type="sourcelabel"> |
|||
<x>316</x> |
|||
<y>260</y> |
|||
</hint> |
|||
<hint type="destinationlabel"> |
|||
<x>286</x> |
|||
<y>274</y> |
|||
</hint> |
|||
</hints> |
|||
</connection> |
|||
</connections> |
|||
</ui> |
@ -0,0 +1,48 @@ |
|||
#include "recurring.h" |
|||
|
|||
#include "mainwindow.h" |
|||
#include "rpc.h" |
|||
#include "settings.h" |
|||
#include "ui_newrecurring.h" |
|||
|
|||
void Recurring::showEditDialog(QWidget* parent, MainWindow* main, Tx tx) { |
|||
Ui_newRecurringDialog ui; |
|||
QDialog d(parent); |
|||
ui.setupUi(&d); |
|||
Settings::saveRestore(&d); |
|||
|
|||
// Add all the from addresses
|
|||
auto allBalances = main->getRPC()->getAllBalances(); |
|||
for (QString addr : allBalances->keys()) { |
|||
ui.cmbFromAddress->addItem(addr, allBalances->value(addr)); |
|||
} |
|||
|
|||
if (!tx.fromAddr.isEmpty()) { |
|||
ui.cmbFromAddress->setCurrentText(tx.fromAddr); |
|||
ui.cmbFromAddress->setEnabled(false); |
|||
} |
|||
|
|||
ui.cmbCurrency->addItem(Settings::getTokenName()); |
|||
ui.cmbCurrency->addItem("USD"); |
|||
|
|||
if (tx.toAddrs.length() > 0) { |
|||
ui.txtToAddr->setText(tx.toAddrs[0].addr); |
|||
ui.txtToAddr->setEnabled(false); |
|||
|
|||
ui.txtAmt->setText(Settings::getDecimalString(tx.toAddrs[0].amount)); |
|||
ui.txtAmt->setEnabled(false); |
|||
|
|||
ui.txtMemo->setPlainText(tx.toAddrs[0].txtMemo); |
|||
ui.txtMemo->setEnabled(false); |
|||
} |
|||
|
|||
ui.cmbSchedule->addItem("Every Day", QVariant(Schedule::DAY)); |
|||
ui.cmbSchedule->addItem("Every Week", QVariant(Schedule::WEEK)); |
|||
ui.cmbSchedule->addItem("Every Month", QVariant(Schedule::MONTH)); |
|||
ui.cmbSchedule->addItem("Every Year", QVariant(Schedule::YEAR)); |
|||
|
|||
ui.txtNumPayments->setText("10"); |
|||
|
|||
ui.txtDesc->setFocus(); |
|||
d.exec(); |
|||
} |
@ -0,0 +1,36 @@ |
|||
#ifndef RECURRING_H |
|||
#define RECURRING_H |
|||
|
|||
#include "precompiled.h" |
|||
|
|||
#include "mainwindow.h" |
|||
|
|||
enum Schedule { |
|||
DAY = 1, |
|||
WEEK, |
|||
MONTH, |
|||
YEAR |
|||
}; |
|||
|
|||
struct RecurringPaymentInfo { |
|||
QString desc; |
|||
QString fromAddr; |
|||
QString toAddr; |
|||
double amt; |
|||
QString currency; |
|||
Schedule schedule; |
|||
int numPayments; |
|||
|
|||
long startBlock; |
|||
int completedPayments; |
|||
}; |
|||
|
|||
class Recurring |
|||
{ |
|||
public: |
|||
Recurring(); |
|||
|
|||
static void showEditDialog(QWidget* parent, MainWindow* main, Tx tx); |
|||
}; |
|||
|
|||
#endif // RECURRING_H
|
@ -0,0 +1,92 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<ui version="4.0"> |
|||
<class>RecurringDialog</class> |
|||
<widget class="QDialog" name="RecurringDialog"> |
|||
<property name="geometry"> |
|||
<rect> |
|||
<x>0</x> |
|||
<y>0</y> |
|||
<width>601</width> |
|||
<height>438</height> |
|||
</rect> |
|||
</property> |
|||
<property name="windowTitle"> |
|||
<string>Dialog</string> |
|||
</property> |
|||
<layout class="QGridLayout" name="gridLayout"> |
|||
<item row="0" column="0"> |
|||
<widget class="QTableView" name="tableView"/> |
|||
</item> |
|||
<item row="0" column="1"> |
|||
<layout class="QVBoxLayout" name="verticalLayout"> |
|||
<item> |
|||
<widget class="QPushButton" name="pushButton"> |
|||
<property name="text"> |
|||
<string>Add</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item> |
|||
<widget class="QPushButton" name="pushButton_2"> |
|||
<property name="text"> |
|||
<string>Edit</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item> |
|||
<widget class="QPushButton" name="pushButton_3"> |
|||
<property name="text"> |
|||
<string>Delete</string> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
<item> |
|||
<widget class="QDialogButtonBox" name="buttonBox"> |
|||
<property name="orientation"> |
|||
<enum>Qt::Vertical</enum> |
|||
</property> |
|||
<property name="standardButtons"> |
|||
<set>QDialogButtonBox::Close</set> |
|||
</property> |
|||
</widget> |
|||
</item> |
|||
</layout> |
|||
</item> |
|||
</layout> |
|||
</widget> |
|||
<resources/> |
|||
<connections> |
|||
<connection> |
|||
<sender>buttonBox</sender> |
|||
<signal>accepted()</signal> |
|||
<receiver>RecurringDialog</receiver> |
|||
<slot>accept()</slot> |
|||
<hints> |
|||
<hint type="sourcelabel"> |
|||
<x>248</x> |
|||
<y>254</y> |
|||
</hint> |
|||
<hint type="destinationlabel"> |
|||
<x>157</x> |
|||
<y>274</y> |
|||
</hint> |
|||
</hints> |
|||
</connection> |
|||
<connection> |
|||
<sender>buttonBox</sender> |
|||
<signal>rejected()</signal> |
|||
<receiver>RecurringDialog</receiver> |
|||
<slot>reject()</slot> |
|||
<hints> |
|||
<hint type="sourcelabel"> |
|||
<x>316</x> |
|||
<y>260</y> |
|||
</hint> |
|||
<hint type="destinationlabel"> |
|||
<x>286</x> |
|||
<y>274</y> |
|||
</hint> |
|||
</hints> |
|||
</connection> |
|||
</connections> |
|||
</ui> |
Loading…
Reference in new issue