Mercurial > hg > bitcoin
annotate src/qt/optionsdialog.cpp @ 2425:aa46239b5b09 draft
Organize optionsdialog (split off Window and Network page)
author | Wladimir J. van der Laan <laanwj@gmail.com> |
---|---|
date | Mon, 07 May 2012 21:49:22 +0200 |
parents | af9cbdba761d |
children | 58abdd7d008b |
rev | line source |
---|---|
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
1 #include "optionsdialog.h" |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
2 #include "optionsmodel.h" |
1086
817dc99730ad
introduce bitcoin amount field with split amount/decimals, to protect against mistakes (https://forum.bitcoin.org/index.php?topic=19168.0)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1076
diff
changeset
|
3 #include "bitcoinamountfield.h" |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
4 #include "monitoreddatamapper.h" |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
5 #include "guiutil.h" |
1229
fa39b222e5e0
Full support for other units, add configuration option for default unit (used when displaying amounts)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1216
diff
changeset
|
6 #include "bitcoinunits.h" |
fa39b222e5e0
Full support for other units, add configuration option for default unit (used when displaying amounts)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1216
diff
changeset
|
7 #include "qvaluecombobox.h" |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
8 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
9 #include <QHBoxLayout> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
10 #include <QVBoxLayout> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
11 #include <QPushButton> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
12 #include <QListWidget> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
13 #include <QStackedWidget> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
14 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
15 #include <QCheckBox> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
16 #include <QLabel> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
17 #include <QLineEdit> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
18 #include <QIntValidator> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
19 #include <QDoubleValidator> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
20 #include <QRegExpValidator> |
1096
094cd284ab55
use buttonbox for options dialog
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1086
diff
changeset
|
21 #include <QDialogButtonBox> |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
22 |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
23 class OptionsPage: public QWidget |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
24 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
25 Q_OBJECT |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
26 public: |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
27 explicit OptionsPage(QWidget *parent=0): QWidget(parent) {} |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
28 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
29 virtual void setMapper(MonitoredDataMapper *mapper) = 0; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
30 }; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
31 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
32 class MainOptionsPage: public OptionsPage |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
33 { |
1339
904c43af509f
put Q_OBJECT everywhere it should be (removes warnings when running lupdate)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1258
diff
changeset
|
34 Q_OBJECT |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
35 public: |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
36 explicit MainOptionsPage(QWidget *parent=0); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
37 |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
38 virtual void setMapper(MonitoredDataMapper *mapper); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
39 private: |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
40 QCheckBox *detach_database; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
41 BitcoinAmountField *fee_edit; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
42 }; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
43 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
44 class WindowOptionsPage: public OptionsPage |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
45 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
46 Q_OBJECT |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
47 public: |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
48 explicit WindowOptionsPage(QWidget *parent=0); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
49 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
50 virtual void setMapper(MonitoredDataMapper *mapper); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
51 private: |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
52 QCheckBox *bitcoin_at_startup; |
1406
f5bfde96d9c3
Improved Mac experience; QDoubleSpinBox for BitcoinAmountField
p2k <patrick.p2k.schneider@gmail.com>
parents:
1339
diff
changeset
|
53 #ifndef Q_WS_MAC |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
54 QCheckBox *minimize_to_tray; |
1406
f5bfde96d9c3
Improved Mac experience; QDoubleSpinBox for BitcoinAmountField
p2k <patrick.p2k.schneider@gmail.com>
parents:
1339
diff
changeset
|
55 #endif |
f5bfde96d9c3
Improved Mac experience; QDoubleSpinBox for BitcoinAmountField
p2k <patrick.p2k.schneider@gmail.com>
parents:
1339
diff
changeset
|
56 #ifndef Q_WS_MAC |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
57 QCheckBox *minimize_on_close; |
1406
f5bfde96d9c3
Improved Mac experience; QDoubleSpinBox for BitcoinAmountField
p2k <patrick.p2k.schneider@gmail.com>
parents:
1339
diff
changeset
|
58 #endif |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
59 }; |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
60 |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
61 class DisplayOptionsPage: public OptionsPage |
1213
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
62 { |
1339
904c43af509f
put Q_OBJECT everywhere it should be (removes warnings when running lupdate)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1258
diff
changeset
|
63 Q_OBJECT |
1213
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
64 public: |
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
65 explicit DisplayOptionsPage(QWidget *parent=0); |
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
66 |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
67 virtual void setMapper(MonitoredDataMapper *mapper); |
1213
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
68 private: |
1229
fa39b222e5e0
Full support for other units, add configuration option for default unit (used when displaying amounts)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1216
diff
changeset
|
69 QValueComboBox *unit; |
1234
c6808cd4794a
Hide addresses in transaction overview by default, they can be re-shown as a configuration option
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1229
diff
changeset
|
70 QCheckBox *display_addresses; |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
71 }; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
72 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
73 class NetworkOptionsPage: public OptionsPage |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
74 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
75 Q_OBJECT |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
76 public: |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
77 explicit NetworkOptionsPage(QWidget *parent=0); |
1213
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
78 |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
79 virtual void setMapper(MonitoredDataMapper *mapper); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
80 private: |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
81 QCheckBox *map_port_upnp; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
82 QCheckBox *connect_socks4; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
83 QLineEdit *proxy_ip; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
84 QLineEdit *proxy_port; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
85 BitcoinAmountField *fee_edit; |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
86 }; |
1213
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
87 |
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
88 |
1339
904c43af509f
put Q_OBJECT everywhere it should be (removes warnings when running lupdate)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1258
diff
changeset
|
89 #include "optionsdialog.moc" |
904c43af509f
put Q_OBJECT everywhere it should be (removes warnings when running lupdate)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1258
diff
changeset
|
90 |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
91 OptionsDialog::OptionsDialog(QWidget *parent): |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
92 QDialog(parent), contents_widget(0), pages_widget(0), |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
93 model(0) |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
94 { |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
95 contents_widget = new QListWidget(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
96 contents_widget->setMaximumWidth(128); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
97 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
98 pages_widget = new QStackedWidget(); |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
99 pages_widget->setMinimumWidth(500); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
100 pages_widget->setMinimumHeight(300); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
101 |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
102 pages.append(new MainOptionsPage(this)); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
103 pages.append(new NetworkOptionsPage(this)); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
104 pages.append(new WindowOptionsPage(this)); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
105 pages.append(new DisplayOptionsPage(this)); |
1213
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
106 |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
107 foreach(OptionsPage *page, pages) |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
108 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
109 QListWidgetItem *item = new QListWidgetItem(page->windowTitle()); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
110 contents_widget->addItem(item); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
111 pages_widget->addWidget(page); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
112 } |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
113 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
114 contents_widget->setCurrentRow(0); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
115 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
116 QHBoxLayout *main_layout = new QHBoxLayout(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
117 main_layout->addWidget(contents_widget); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
118 main_layout->addWidget(pages_widget, 1); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
119 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
120 QVBoxLayout *layout = new QVBoxLayout(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
121 layout->addLayout(main_layout); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
122 |
1096
094cd284ab55
use buttonbox for options dialog
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1086
diff
changeset
|
123 QDialogButtonBox *buttonbox = new QDialogButtonBox(); |
094cd284ab55
use buttonbox for options dialog
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1086
diff
changeset
|
124 buttonbox->setStandardButtons(QDialogButtonBox::Apply|QDialogButtonBox::Ok|QDialogButtonBox::Cancel); |
094cd284ab55
use buttonbox for options dialog
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1086
diff
changeset
|
125 apply_button = buttonbox->button(QDialogButtonBox::Apply); |
094cd284ab55
use buttonbox for options dialog
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1086
diff
changeset
|
126 layout->addWidget(buttonbox); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
127 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
128 setLayout(layout); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
129 setWindowTitle(tr("Options")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
130 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
131 /* Widget-to-option mapper */ |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
132 mapper = new MonitoredDataMapper(this); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
133 mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
134 mapper->setOrientation(Qt::Vertical); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
135 /* enable apply button when data modified */ |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
136 connect(mapper, SIGNAL(viewModified()), this, SLOT(enableApply())); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
137 /* disable apply button when new data loaded */ |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
138 connect(mapper, SIGNAL(currentIndexChanged(int)), this, SLOT(disableApply())); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
139 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
140 /* Event bindings */ |
1213
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
141 connect(contents_widget, SIGNAL(currentRowChanged(int)), this, SLOT(changePage(int))); |
1096
094cd284ab55
use buttonbox for options dialog
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1086
diff
changeset
|
142 connect(buttonbox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), this, SLOT(okClicked())); |
094cd284ab55
use buttonbox for options dialog
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1086
diff
changeset
|
143 connect(buttonbox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), this, SLOT(cancelClicked())); |
094cd284ab55
use buttonbox for options dialog
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1086
diff
changeset
|
144 connect(buttonbox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(applyClicked())); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
145 } |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
146 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
147 void OptionsDialog::setModel(OptionsModel *model) |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
148 { |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
149 this->model = model; |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
150 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
151 mapper->setModel(model); |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
152 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
153 foreach(OptionsPage *page, pages) |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
154 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
155 page->setMapper(mapper); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
156 } |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
157 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
158 mapper->toFirst(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
159 } |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
160 |
1213
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
161 void OptionsDialog::changePage(int index) |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
162 { |
1213
b76439e5e887
preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1096
diff
changeset
|
163 pages_widget->setCurrentIndex(index); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
164 } |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
165 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
166 void OptionsDialog::okClicked() |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
167 { |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
168 mapper->submit(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
169 accept(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
170 } |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
171 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
172 void OptionsDialog::cancelClicked() |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
173 { |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
174 reject(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
175 } |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
176 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
177 void OptionsDialog::applyClicked() |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
178 { |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
179 mapper->submit(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
180 apply_button->setEnabled(false); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
181 } |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
182 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
183 void OptionsDialog::enableApply() |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
184 { |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
185 apply_button->setEnabled(true); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
186 } |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
187 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
188 void OptionsDialog::disableApply() |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
189 { |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
190 apply_button->setEnabled(false); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
191 } |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
192 |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
193 /* Main options */ |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
194 MainOptionsPage::MainOptionsPage(QWidget *parent): |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
195 OptionsPage(parent) |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
196 { |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
197 QVBoxLayout *layout = new QVBoxLayout(); |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
198 setWindowTitle(tr("Main")); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
199 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
200 QLabel *fee_help = new QLabel(tr("Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.")); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
201 fee_help->setWordWrap(true); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
202 layout->addWidget(fee_help); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
203 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
204 QHBoxLayout *fee_hbox = new QHBoxLayout(); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
205 fee_hbox->addSpacing(18); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
206 QLabel *fee_label = new QLabel(tr("Pay transaction &fee")); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
207 fee_hbox->addWidget(fee_label); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
208 fee_edit = new BitcoinAmountField(); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
209 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
210 fee_label->setBuddy(fee_edit); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
211 fee_hbox->addWidget(fee_edit); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
212 fee_hbox->addStretch(1); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
213 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
214 layout->addLayout(fee_hbox); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
215 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
216 detach_database = new QCheckBox(tr("Detach databases at shutdown")); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
217 detach_database->setToolTip(tr("Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.")); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
218 layout->addWidget(detach_database); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
219 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
220 layout->addStretch(1); // Extra space at bottom |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
221 setLayout(layout); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
222 } |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
223 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
224 void MainOptionsPage::setMapper(MonitoredDataMapper *mapper) |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
225 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
226 // Map model to widgets |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
227 mapper->addMapping(fee_edit, OptionsModel::Fee); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
228 mapper->addMapping(detach_database, OptionsModel::DetachDatabases); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
229 } |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
230 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
231 /* Display options */ |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
232 DisplayOptionsPage::DisplayOptionsPage(QWidget *parent): |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
233 OptionsPage(parent) |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
234 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
235 setWindowTitle(tr("Display")); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
236 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
237 QVBoxLayout *layout = new QVBoxLayout(); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
238 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
239 QHBoxLayout *unit_hbox = new QHBoxLayout(); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
240 unit_hbox->addSpacing(18); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
241 QLabel *unit_label = new QLabel(tr("&Unit to show amounts in: ")); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
242 unit_hbox->addWidget(unit_label); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
243 unit = new QValueComboBox(this); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
244 unit->setModel(new BitcoinUnits(this)); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
245 unit->setToolTip(tr("Choose the default subdivision unit to show in the interface, and when sending coins")); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
246 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
247 unit_label->setBuddy(unit); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
248 unit_hbox->addWidget(unit); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
249 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
250 layout->addLayout(unit_hbox); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
251 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
252 display_addresses = new QCheckBox(tr("&Display addresses in transaction list"), this); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
253 display_addresses->setToolTip(tr("Whether to show Bitcoin addresses in the transaction list")); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
254 layout->addWidget(display_addresses); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
255 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
256 layout->addStretch(); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
257 setLayout(layout); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
258 } |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
259 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
260 void DisplayOptionsPage::setMapper(MonitoredDataMapper *mapper) |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
261 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
262 mapper->addMapping(unit, OptionsModel::DisplayUnit); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
263 mapper->addMapping(display_addresses, OptionsModel::DisplayAddresses); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
264 } |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
265 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
266 /* Window options */ |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
267 WindowOptionsPage::WindowOptionsPage(QWidget *parent): |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
268 OptionsPage(parent) |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
269 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
270 QVBoxLayout *layout = new QVBoxLayout(); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
271 setWindowTitle(tr("Window")); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
272 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
273 bitcoin_at_startup = new QCheckBox(tr("&Start Bitcoin on window system startup")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
274 bitcoin_at_startup->setToolTip(tr("Automatically start Bitcoin after the computer is turned on")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
275 layout->addWidget(bitcoin_at_startup); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
276 |
1406
f5bfde96d9c3
Improved Mac experience; QDoubleSpinBox for BitcoinAmountField
p2k <patrick.p2k.schneider@gmail.com>
parents:
1339
diff
changeset
|
277 #ifndef Q_WS_MAC |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
278 minimize_to_tray = new QCheckBox(tr("&Minimize to the tray instead of the taskbar")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
279 minimize_to_tray->setToolTip(tr("Show only a tray icon after minimizing the window")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
280 layout->addWidget(minimize_to_tray); |
2197
18f37e80075e
Toggle main window hide on tray icon click
sje397 <sje397@gmail.com>
parents:
1802
diff
changeset
|
281 |
18f37e80075e
Toggle main window hide on tray icon click
sje397 <sje397@gmail.com>
parents:
1802
diff
changeset
|
282 minimize_on_close = new QCheckBox(tr("M&inimize on close")); |
18f37e80075e
Toggle main window hide on tray icon click
sje397 <sje397@gmail.com>
parents:
1802
diff
changeset
|
283 minimize_on_close->setToolTip(tr("Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.")); |
18f37e80075e
Toggle main window hide on tray icon click
sje397 <sje397@gmail.com>
parents:
1802
diff
changeset
|
284 layout->addWidget(minimize_on_close); |
1406
f5bfde96d9c3
Improved Mac experience; QDoubleSpinBox for BitcoinAmountField
p2k <patrick.p2k.schneider@gmail.com>
parents:
1339
diff
changeset
|
285 #endif |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
286 |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
287 layout->addStretch(1); // Extra space at bottom |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
288 setLayout(layout); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
289 } |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
290 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
291 void WindowOptionsPage::setMapper(MonitoredDataMapper *mapper) |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
292 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
293 // Map model to widgets |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
294 mapper->addMapping(bitcoin_at_startup, OptionsModel::StartAtStartup); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
295 #ifndef Q_WS_MAC |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
296 mapper->addMapping(minimize_to_tray, OptionsModel::MinimizeToTray); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
297 #endif |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
298 #ifndef Q_WS_MAC |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
299 mapper->addMapping(minimize_on_close, OptionsModel::MinimizeOnClose); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
300 #endif |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
301 } |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
302 |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
303 /* Network options */ |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
304 NetworkOptionsPage::NetworkOptionsPage(QWidget *parent): |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
305 OptionsPage(parent) |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
306 { |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
307 QVBoxLayout *layout = new QVBoxLayout(); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
308 setWindowTitle(tr("Network")); |
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
309 |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
310 map_port_upnp = new QCheckBox(tr("Map port using &UPnP")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
311 map_port_upnp->setToolTip(tr("Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
312 layout->addWidget(map_port_upnp); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
313 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
314 connect_socks4 = new QCheckBox(tr("&Connect through SOCKS4 proxy:")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
315 connect_socks4->setToolTip(tr("Connect to the Bitcon network through a SOCKS4 proxy (e.g. when connecting through Tor)")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
316 layout->addWidget(connect_socks4); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
317 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
318 QHBoxLayout *proxy_hbox = new QHBoxLayout(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
319 proxy_hbox->addSpacing(18); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
320 QLabel *proxy_ip_label = new QLabel(tr("Proxy &IP: ")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
321 proxy_hbox->addWidget(proxy_ip_label); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
322 proxy_ip = new QLineEdit(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
323 proxy_ip->setMaximumWidth(140); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
324 proxy_ip->setEnabled(false); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
325 proxy_ip->setValidator(new QRegExpValidator(QRegExp("[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}"), this)); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
326 proxy_ip->setToolTip(tr("IP address of the proxy (e.g. 127.0.0.1)")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
327 proxy_ip_label->setBuddy(proxy_ip); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
328 proxy_hbox->addWidget(proxy_ip); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
329 QLabel *proxy_port_label = new QLabel(tr("&Port: ")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
330 proxy_hbox->addWidget(proxy_port_label); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
331 proxy_port = new QLineEdit(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
332 proxy_port->setMaximumWidth(55); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
333 proxy_port->setValidator(new QIntValidator(0, 65535, this)); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
334 proxy_port->setEnabled(false); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
335 proxy_port->setToolTip(tr("Port of the proxy (e.g. 1234)")); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
336 proxy_port_label->setBuddy(proxy_port); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
337 proxy_hbox->addWidget(proxy_port); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
338 proxy_hbox->addStretch(1); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
339 layout->addLayout(proxy_hbox); |
2317
2d4c7d77f691
Make lsn_reset ("detach databases") optional and off by default.
Pieter Wuille <pieter.wuille@gmail.com>
parents:
2225
diff
changeset
|
340 |
1076
01bf48790a02
remove commented code, use // for one-line comments and comments inside functions
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1049
diff
changeset
|
341 layout->addStretch(1); // Extra space at bottom |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
342 setLayout(layout); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
343 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
344 connect(connect_socks4, SIGNAL(toggled(bool)), proxy_ip, SLOT(setEnabled(bool))); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
345 connect(connect_socks4, SIGNAL(toggled(bool)), proxy_port, SLOT(setEnabled(bool))); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
346 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
347 #ifndef USE_UPNP |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
348 map_port_upnp->setDisabled(true); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
349 #endif |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
350 } |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
351 |
2425
aa46239b5b09
Organize optionsdialog (split off Window and Network page)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2423
diff
changeset
|
352 void NetworkOptionsPage::setMapper(MonitoredDataMapper *mapper) |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
353 { |
1076
01bf48790a02
remove commented code, use // for one-line comments and comments inside functions
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1049
diff
changeset
|
354 // Map model to widgets |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
355 mapper->addMapping(map_port_upnp, OptionsModel::MapPortUPnP); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
356 mapper->addMapping(connect_socks4, OptionsModel::ConnectSOCKS4); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
357 mapper->addMapping(proxy_ip, OptionsModel::ProxyIP); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
358 mapper->addMapping(proxy_port, OptionsModel::ProxyPort); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
359 } |