-bitcoin (0.5.0.3-natty1) natty; urgency=low
++bitcoin (0.5.2-natty1) natty; urgency=low
+
+ * Remove mentions on anonymity in package descriptions and manpage.
+ These should never have been there, bitcoin isnt anonymous without
+ a ton of work that virtually no users will ever be willing and
+ capable of doing
+
+ -- Matt Corallo <matt@bluematt.me> Sat, 7 Jan 2012 13:37:00 -0500
+
-bitcoin (0.5.0.3-natty0) natty; urgency=low
+bitcoin (0.5.2-natty0) natty; urgency=low
+
+ * New upstream release.
+
+ -- Luke Dashjr <luke+bitcoin+deb@dashjr.org> Fri, 16 Dec 2011 17:57:00 -0500
+
+bitcoin (0.5.1-natty0) natty; urgency=low
* New upstream release.
walletModel(0),
encryptWalletAction(0),
changePassphraseAction(0),
+ aboutQtAction(0),
trayIcon(0),
notificator(0)
{
sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2));
tabGroup->addAction(sendCoinsAction);
+ connect(overviewAction, SIGNAL(triggered()), this, SLOT(show()));
connect(overviewAction, SIGNAL(triggered()), this, SLOT(gotoOverviewPage()));
+ connect(historyAction, SIGNAL(triggered()), this, SLOT(show()));
connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage()));
+ connect(addressBookAction, SIGNAL(triggered()), this, SLOT(show()));
connect(addressBookAction, SIGNAL(triggered()), this, SLOT(gotoAddressBookPage()));
+ connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(show()));
connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(gotoReceiveCoinsPage()));
+ connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(show()));
connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(gotoSendCoinsPage()));
quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this);
quitAction->setMenuRole(QAction::QuitRole);
aboutAction = new QAction(QIcon(":/icons/bitcoin"), tr("&About %1").arg(qApp->applicationName()), this);
aboutAction->setToolTip(tr("Show information about Bitcoin"));
- aboutAction->setMenuRole(QAction::AboutQtRole);
+ aboutAction->setMenuRole(QAction::AboutRole);
+ aboutQtAction = new QAction(tr("About &Qt"), this);
+ aboutQtAction->setToolTip(tr("Show information about Qt"));
+ aboutQtAction->setMenuRole(QAction::AboutQtRole);
optionsAction = new QAction(QIcon(":/icons/options"), tr("&Options..."), this);
optionsAction->setToolTip(tr("Modify configuration options for bitcoin"));
optionsAction->setMenuRole(QAction::PreferencesRole);
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
connect(optionsAction, SIGNAL(triggered()), this, SLOT(optionsClicked()));
connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked()));
+ connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
connect(openBitcoinAction, SIGNAL(triggered()), this, SLOT(showNormal()));
connect(encryptWalletAction, SIGNAL(triggered(bool)), this, SLOT(encryptWallet(bool)));
connect(changePassphraseAction, SIGNAL(triggered()), this, SLOT(changePassphrase()));
QMenu *help = appMenuBar->addMenu(tr("&Help"));
help->addAction(aboutAction);
+ help->addAction(aboutQtAction);
}
void BitcoinGUI::createToolBars()
void BitcoinGUI::gotoOverviewPage()
{
- show();
overviewAction->setChecked(true);
centralWidget->setCurrentWidget(overviewPage);
void BitcoinGUI::gotoHistoryPage()
{
- show();
historyAction->setChecked(true);
centralWidget->setCurrentWidget(transactionsPage);
void BitcoinGUI::gotoAddressBookPage()
{
- show();
addressBookAction->setChecked(true);
centralWidget->setCurrentWidget(addressBookPage);
void BitcoinGUI::gotoReceiveCoinsPage()
{
- show();
receiveCoinsAction->setChecked(true);
centralWidget->setCurrentWidget(receiveCoinsPage);
void BitcoinGUI::gotoSendCoinsPage()
{
- show();
sendCoinsAction->setChecked(true);
centralWidget->setCurrentWidget(sendCoinsPage);
class QUrl;
QT_END_NAMESPACE
+/**
+ Bitcoin GUI main class. This class represents the main window of the Bitcoin UI. It communicates with both the client and
+ wallet models to give the user an up-to-date view of the current core state.
+*/
class BitcoinGUI : public QMainWindow
{
Q_OBJECT
explicit BitcoinGUI(QWidget *parent = 0);
~BitcoinGUI();
+ /** Set the client model.
+ The client model represents the part of the core that communicates with the P2P network, and is wallet-agnostic.
+ */
void setClientModel(ClientModel *clientModel);
+ /** Set the wallet model.
+ The wallet model represents a bitcoin wallet, and offers access to the list of transactions, address book and sending
+ functionality.
+ */
void setWalletModel(WalletModel *walletModel);
- /* Transaction table tab indices */
- enum {
- AllTransactions = 0,
- SentReceived = 1,
- Sent = 2,
- Received = 3
- } TabIndex;
-
protected:
void changeEvent(QEvent *e);
void closeEvent(QCloseEvent *event);
QAction *exportAction;
QAction *encryptWalletAction;
QAction *changePassphraseAction;
+ QAction *aboutQtAction;
QSystemTrayIcon *trayIcon;
Notificator *notificator;
QMovie *syncIconMovie;
+ /** Create the main UI actions. */
void createActions();
+ /** Create the menu bar and submenus. */
void createMenuBar();
+ /** Create the toolbars */
void createToolBars();
- QWidget *createTabs();
+ /** Create system tray (notification) icon */
void createTrayIcon();
public slots:
+ /** Set number of connections shown in the UI */
void setNumConnections(int count);
+ /** Set number of blocks shown in the UI */
void setNumBlocks(int count);
+ /** Set the encryption status as shown in the UI.
+ @param[in] status current encryption status
+ @see WalletModel::EncryptionStatus
+ */
void setEncryptionStatus(int status);
/** Set the status bar text if there are any warnings (removes sync progress bar if applicable) */
void refreshStatusBar();
+ /** Notify the user of an error in the network or transaction handling code. */
void error(const QString &title, const QString &message);
- /* It is currently not possible to pass a return value to another thread through
- BlockingQueuedConnection, so use an indirected pointer.
+ /** Asks the user whether to pay the transaction fee or to cancel the transaction.
+ It is currently not possible to pass a return value to another thread through
+ BlockingQueuedConnection, so an indirected pointer is used.
http://bugreports.qt.nokia.com/browse/QTBUG-10440
+
+ @param[in] nFeeRequired the required fee
+ @param[out] payFee true to pay the fee, false to not pay the fee
*/
void askFee(qint64 nFeeRequired, bool *payFee);
private slots:
- // UI pages
+ /** Switch to overview (home) page */
void gotoOverviewPage();
+ /** Switch to history (transactions) page */
void gotoHistoryPage();
+ /** Switch to address book page */
void gotoAddressBookPage();
+ /** Switch to receive coins page */
void gotoReceiveCoinsPage();
+ /** Switch to send coins page */
void gotoSendCoinsPage();
- // Misc actions
+ /** Show configuration dialog */
void optionsClicked();
+ /** Show about dialog */
void aboutClicked();
#ifndef Q_WS_MAC
+ /** Handle tray icon clicked */
void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
#endif
+ /** Show incoming transaction notification for new transactions.
+
+ The new items are those between start and end inclusive, under the given parent item.
+ */
void incomingTransaction(const QModelIndex & parent, int start, int end);
+ /** Encrypt the wallet */
void encryptWallet(bool status);
+ /** Change encrypted wallet passphrase */
void changePassphrase();
+ /** Ask for pass phrase to unlock wallet temporarily */
void unlockWallet();
};