예제 #1
0
void BitcoinGUI::createActions()
{
    QActionGroup *tabGroup = new QActionGroup(this);

    overviewAction = new QAction(QIcon(":/icons/overview"), tr("&Overview"), this);
    overviewAction->setStatusTip(tr("Show general overview of wallet"));
    overviewAction->setToolTip(overviewAction->statusTip());
    overviewAction->setCheckable(true);
    overviewAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_1));
    tabGroup->addAction(overviewAction);

    sendCoinsAction = new QAction(QIcon(":/icons/send"), tr("&Send"), this);
    sendCoinsAction->setStatusTip(tr("Send coins to a Aptcoin address"));
    sendCoinsAction->setToolTip(sendCoinsAction->statusTip());
    sendCoinsAction->setCheckable(true);
    sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2));
    tabGroup->addAction(sendCoinsAction);

    receiveCoinsAction = new QAction(QIcon(":/icons/receiving_addresses"), tr("&Receive"), this);
    receiveCoinsAction->setStatusTip(tr("Show the list of addresses for receiving payments"));
    receiveCoinsAction->setToolTip(receiveCoinsAction->statusTip());
    receiveCoinsAction->setCheckable(true);
    receiveCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3));
    tabGroup->addAction(receiveCoinsAction);

    historyAction = new QAction(QIcon(":/icons/history"), tr("&Transactions"), this);
    historyAction->setStatusTip(tr("Browse transaction history"));
    historyAction->setToolTip(historyAction->statusTip());
    historyAction->setCheckable(true);
    historyAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4));
    tabGroup->addAction(historyAction);

    addressBookAction = new QAction(QIcon(":/icons/address-book"), tr("&Addresses"), this);
    addressBookAction->setStatusTip(tr("Edit the list of stored addresses and labels"));
    addressBookAction->setToolTip(addressBookAction->statusTip());
    addressBookAction->setCheckable(true);
    addressBookAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5));
    tabGroup->addAction(addressBookAction);

    miningAction = new QAction(QIcon(":/icons/mining"), tr("&Mining Aptcoin"), this);
    miningAction->setStatusTip(tr("Edit the basic mining status of Aptcoin"));
    miningAction->setToolTip(miningAction->statusTip());
    miningAction->setCheckable(true);
    tabGroup->addAction(miningAction);

    connect(overviewAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(overviewAction, SIGNAL(triggered()), this, SLOT(gotoOverviewPage()));
    connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(gotoSendCoinsPage()));
    connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(gotoReceiveCoinsPage()));
    connect(historyAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage()));
    connect(addressBookAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(addressBookAction, SIGNAL(triggered()), this, SLOT(gotoAddressBookPage()));
    connect(miningAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(miningAction, SIGNAL(triggered()), this, SLOT(gotoMiningPage()));

    quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this);
    quitAction->setStatusTip(tr("Quit application"));
    quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q));
    quitAction->setMenuRole(QAction::QuitRole);
    aboutAction = new QAction(QIcon(":/icons/aptcoin"), tr("&About Aptcoin"), this);
    aboutAction->setStatusTip(tr("Show information about Aptcoin"));
    aboutAction->setMenuRole(QAction::AboutRole);
    aboutQtAction = new QAction(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this);
    aboutQtAction->setStatusTip(tr("Show information about Qt"));
    aboutQtAction->setMenuRole(QAction::AboutQtRole);
    optionsAction = new QAction(QIcon(":/icons/options"), tr("&Options..."), this);
    optionsAction->setStatusTip(tr("Modify configuration options for Aptcoin"));
    optionsAction->setMenuRole(QAction::PreferencesRole);
    toggleHideAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Show / Hide"), this);
    toggleHideAction->setStatusTip(tr("Show or hide the main Window"));

    encryptWalletAction = new QAction(QIcon(":/icons/lock_closed"), tr("&Encrypt Wallet..."), this);
    encryptWalletAction->setStatusTip(tr("Encrypt the private keys that belong to your wallet"));
    encryptWalletAction->setCheckable(true);
    backupWalletAction = new QAction(QIcon(":/icons/filesave"), tr("&Backup Wallet..."), this);
    backupWalletAction->setStatusTip(tr("Backup wallet to another location"));
    changePassphraseAction = new QAction(QIcon(":/icons/key"), tr("&Change Passphrase..."), this);
    changePassphraseAction->setStatusTip(tr("Change the passphrase used for wallet encryption"));
    signMessageAction = new QAction(QIcon(":/icons/edit"), tr("Sign &message..."), this);
    signMessageAction->setStatusTip(tr("Sign messages with your Aptcoin addresses to prove you own them"));
    verifyMessageAction = new QAction(QIcon(":/icons/transaction_0"), tr("&Verify message..."), this);
    verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Aptcoin addresses"));

    openRPCConsoleAction = new QAction(QIcon(":/icons/debugwindow"), tr("&Debug window"), this);
    openRPCConsoleAction->setStatusTip(tr("Open debugging and diagnostic console"));

    connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
    connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked()));
    connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
    connect(optionsAction, SIGNAL(triggered()), this, SLOT(optionsClicked()));
    connect(toggleHideAction, SIGNAL(triggered()), this, SLOT(toggleHidden()));
    connect(encryptWalletAction, SIGNAL(triggered(bool)), walletFrame, SLOT(encryptWallet(bool)));
    connect(backupWalletAction, SIGNAL(triggered()), walletFrame, SLOT(backupWallet()));
    connect(changePassphraseAction, SIGNAL(triggered()), walletFrame, SLOT(changePassphrase()));
    connect(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab()));
    connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab()));
}
예제 #2
0
void BitcoinGUI::createActions()
{
    QActionGroup *tabGroup = new QActionGroup(this);

    overviewAction = new QAction(QIcon(":/icons/overview"), tr("&Overview"), this);
    overviewAction->setToolTip(tr("Show general overview of wallet"));
    overviewAction->setCheckable(true);
    overviewAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_1));
    tabGroup->addAction(overviewAction);

    miningAction = new QAction(QIcon(":/icons/mining"), tr("&Mining"), this);
    miningAction->setToolTip(tr("Configure mining"));
    miningAction->setCheckable(true);
    tabGroup->addAction(miningAction);

    historyAction = new QAction(QIcon(":/icons/history"), tr("&Transactions"), this);
    historyAction->setToolTip(tr("Browse transaction history"));
    historyAction->setCheckable(true);
    historyAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4));
    tabGroup->addAction(historyAction);

    addressBookAction = new QAction(QIcon(":/icons/address-book"), tr("&Address Book"), this);
    addressBookAction->setToolTip(tr("Edit the list of stored addresses and labels"));
    addressBookAction->setCheckable(true);
    addressBookAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5));
    tabGroup->addAction(addressBookAction);

    receiveCoinsAction = new QAction(QIcon(":/icons/receiving_addresses"), tr("&Receive coins"), this);
    receiveCoinsAction->setToolTip(tr("Show the list of addresses for receiving payments"));
    receiveCoinsAction->setCheckable(true);
    receiveCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3));
    tabGroup->addAction(receiveCoinsAction);

    sendCoinsAction = new QAction(QIcon(":/icons/send"), tr("&Send coins"), this);
    sendCoinsAction->setToolTip(tr("Send coins to a DogeShares address"));
    sendCoinsAction->setCheckable(true);
    sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2));
    tabGroup->addAction(sendCoinsAction);

    signMessageAction = new QAction(QIcon(":/icons/edit"), tr("Sign &message..."), this);
    signMessageAction->setToolTip(tr("Sign a message to prove you own a Bitcoin address"));
    tabGroup->addAction(signMessageAction);

    verifyMessageAction = new QAction(QIcon(":/icons/transaction_0"), tr("&Verify message..."), this);
    verifyMessageAction->setToolTip(tr("Verify a message to ensure it was signed with a specified Bitcoin address"));
    tabGroup->addAction(verifyMessageAction);

#ifdef FIRST_CLASS_MESSAGING
    firstClassMessagingAction = new QAction(QIcon(":/icons/edit"), tr("S&ignatures"), this);
    firstClassMessagingAction->setToolTip(signMessageAction->toolTip() + QString(". / ") + verifyMessageAction->toolTip() + QString("."));
    firstClassMessagingAction->setCheckable(true);
    tabGroup->addAction(firstClassMessagingAction);
#endif

    connect(overviewAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(overviewAction, SIGNAL(triggered()), this, SLOT(gotoOverviewPage()));
    connect(miningAction, SIGNAL(triggered()), this, SLOT(gotoMiningPage()));
    connect(historyAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage()));
    connect(addressBookAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(addressBookAction, SIGNAL(triggered()), this, SLOT(gotoAddressBookPage()));
    connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(gotoReceiveCoinsPage()));
    connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(gotoSendCoinsPage()));
    connect(signMessageAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab()));
    connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab()));
#ifdef FIRST_CLASS_MESSAGING
    connect(firstClassMessagingAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
    // Always start with the sign message tab for FIRST_CLASS_MESSAGING
    connect(firstClassMessagingAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab()));
#endif

    quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this);
    quitAction->setToolTip(tr("Quit application"));
    quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q));
    quitAction->setMenuRole(QAction::QuitRole);
    aboutAction = new QAction(QIcon(":/icons/bitcoin"), tr("&About DogeShares"), this);
    aboutAction->setToolTip(tr("Show information about DogeShares"));
    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 DogeShares"));
    optionsAction->setMenuRole(QAction::PreferencesRole);
    toggleHideAction = new QAction(QIcon(":/icons/bitcoin"), tr("Show/Hide &DogeShares"), this);
    toggleHideAction->setToolTip(tr("Show or hide the DogeShares window"));
    exportAction = new QAction(QIcon(":/icons/export"), tr("&Export..."), this);
    exportAction->setToolTip(tr("Export the data in the current tab to a file"));
    encryptWalletAction = new QAction(QIcon(":/icons/lock_closed"), tr("&Encrypt Wallet..."), this);
    encryptWalletAction->setToolTip(tr("Encrypt or decrypt wallet"));
    encryptWalletAction->setCheckable(true);
    backupWalletAction = new QAction(QIcon(":/icons/filesave"), tr("&Backup Wallet..."), this);
    backupWalletAction->setToolTip(tr("Backup wallet to another location"));
    changePassphraseAction = new QAction(QIcon(":/icons/key"), tr("&Change Passphrase..."), this);
    changePassphraseAction->setToolTip(tr("Change the passphrase used for wallet encryption"));
    openRPCConsoleAction = new QAction(QIcon(":/icons/debugwindow"), tr("&Debug window"), this);
    openRPCConsoleAction->setToolTip(tr("Open debugging and diagnostic console"));

    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(toggleHideAction, SIGNAL(triggered()), this, SLOT(toggleHidden()));
    connect(encryptWalletAction, SIGNAL(triggered(bool)), this, SLOT(encryptWallet(bool)));
    connect(backupWalletAction, SIGNAL(triggered()), this, SLOT(backupWallet()));
    connect(changePassphraseAction, SIGNAL(triggered()), this, SLOT(changePassphrase()));
}
예제 #3
0
void BitcoinGUI::createActions()
{
    QString styleSheetToolButtonNormal = "QToolButton{ padding-top:0px; background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #fefbf6, stop: 1 #d7d5d0); border: 1px solid #98958f; border-radius: 5px;}";
    QString styleSheetToolButtonHover = "QToolButton:hover,QToolButton:checked{ padding-top:0px; background-color: #FFFFFF; border: 1px solid #98958f; border-radius: 5px;}";
    QString styleSheetToolButtonChecked = "QToolButton:checked{color:#000000; background-color: #C3C0BB; border: 1px solid #3F3F3F;}";

    walletButtonContainer = new QWidget(this);
    walletButtonContainer->setContentsMargins(0,0,0,0);
    walletButtonContainer->move(100,125+MENU_OFFSET-50);

    QHBoxLayout *walletButtonLayout = new QHBoxLayout();

    QSizePolicy sizePolicyWallet(QSizePolicy::Minimum, QSizePolicy::Minimum);
    sizePolicyWallet.setHorizontalStretch(0);
    sizePolicyWallet.setVerticalStretch(0);

    sendCoinsButton = new QToolButton(walletButtonContainer);
    sendCoinsButton->setStatusTip(tr("Send coins to a SpreadCoin address"));
    sendCoinsButton->setToolTip(sendCoinsButton->statusTip());
    sendCoinsButton->setCheckable(true);
    sendCoinsButton->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2));
    sizePolicyWallet.setHeightForWidth(sendCoinsButton->sizePolicy().hasHeightForWidth());
    sendCoinsButton->setSizePolicy(sizePolicyWallet);
    sendCoinsButton->setAutoExclusive(true);
    sendCoinsButton->setCheckable(true);

    receiveCoinsButton = new QToolButton(walletButtonContainer);
    receiveCoinsButton->setStatusTip(tr("Show the list of addresses for receiving payments"));
    receiveCoinsButton->setToolTip(receiveCoinsButton->statusTip());
    receiveCoinsButton->setCheckable(true);
    receiveCoinsButton->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3));
    sizePolicyWallet.setHeightForWidth(receiveCoinsButton->sizePolicy().hasHeightForWidth());
    receiveCoinsButton->setSizePolicy(sizePolicyWallet);
    receiveCoinsButton->setAutoExclusive(true);
    receiveCoinsButton->setCheckable(true);

    historyButton = new QToolButton(walletButtonContainer);
    historyButton->setStatusTip(tr("Browse transaction history"));
    historyButton->setToolTip(historyButton->statusTip());
    historyButton->setCheckable(true);
    historyButton->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4));
    sizePolicyWallet.setHeightForWidth(historyButton->sizePolicy().hasHeightForWidth());
    historyButton->setSizePolicy(sizePolicyWallet);
    historyButton->setAutoExclusive(true);
    historyButton->setCheckable(true);

    addressBookButton = new QToolButton(walletButtonContainer);
    addressBookButton->setStatusTip(tr("Edit the list of stored addresses and labels"));
    addressBookButton->setToolTip(addressBookButton->statusTip());
    addressBookButton->setCheckable(true);
    addressBookButton->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5));
    sizePolicyWallet.setHeightForWidth(addressBookButton->sizePolicy().hasHeightForWidth());
    addressBookButton->setSizePolicy(sizePolicyWallet);
    addressBookButton->setAutoExclusive(true);
    addressBookButton->setCheckable(true);

    vanityGenButton = new QToolButton(walletButtonContainer);
    vanityGenButton->setStatusTip(tr("Create your own vanity addresses"));
    vanityGenButton->setToolTip(vanityGenButton->statusTip());
    sizePolicyWallet.setHorizontalStretch(0);
    sizePolicyWallet.setHeightForWidth(vanityGenButton->sizePolicy().hasHeightForWidth());
    vanityGenButton->setSizePolicy(sizePolicyWallet);
    vanityGenButton->setAutoExclusive(true);
    vanityGenButton->setCheckable(true);

    backupButton = new QToolButton(walletButtonContainer);
    backupButton->setStatusTip(tr("Edit the list of stored addresses and labels"));
    backupButton->setToolTip(backupButton->statusTip());
    sizePolicyWallet.setHorizontalStretch(0);
    sizePolicyWallet.setHeightForWidth(backupButton->sizePolicy().hasHeightForWidth());
    backupButton->setSizePolicy(sizePolicyWallet);

    sendCoinsButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    sendCoinsButton->setIconSize(QSize(24,24));
    sendCoinsButton->setCursor(Qt::PointingHandCursor);
    sendCoinsButton->setIcon(QIcon(":/icons/send"));

    receiveCoinsButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    receiveCoinsButton->setIconSize(QSize(24,24));
    receiveCoinsButton->setCursor(Qt::PointingHandCursor);
    receiveCoinsButton->setIcon(QIcon(":/icons/receiving_addresses"));

    historyButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    historyButton->setIconSize(QSize(24,24));
    historyButton->setCursor(Qt::PointingHandCursor);
    historyButton->setIcon(QIcon(":/icons/history"));

    addressBookButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    addressBookButton->setIconSize(QSize(24,24));
    addressBookButton->setCursor(Qt::PointingHandCursor);
    addressBookButton->setIcon(QIcon(":/icons/address-book"));

    vanityGenButton->setCursor(Qt::PointingHandCursor);

    backupButton->setCursor(Qt::PointingHandCursor);

    walletButtonLayout->addWidget(sendCoinsButton);
    walletButtonLayout->addWidget(receiveCoinsButton);

    QFrame *line2a = new QFrame(walletButtonContainer);
    line2a->setFixedWidth(2);
    line2a->setFixedHeight(30);
    line2a->setFrameShape(QFrame::VLine);
    line2a->setFrameShadow(QFrame::Sunken);
    walletButtonLayout->addWidget(line2a);

    walletButtonLayout->addWidget(historyButton);
    walletButtonLayout->addWidget(addressBookButton);

    QFrame *line2b = new QFrame(walletButtonContainer);
    line2b->setFixedWidth(2);
    line2b->setFixedHeight(30);
    line2b->setFrameShape(QFrame::VLine);
    line2b->setFrameShadow(QFrame::Sunken);
    walletButtonLayout->addWidget(line2b);

    walletButtonLayout->addWidget(vanityGenButton);
    walletButtonLayout->setContentsMargins(0, 0, 0, 0);
    walletButtonLayout->addStretch();

    walletButtonLayout->addWidget(backupButton,Qt::AlignLeft);
    walletButtonLayout->setContentsMargins(0, 0, 0, 0);
    walletButtonLayout->addStretch();

    walletButtonLayout->addSpacing(1000);//addWidget(line2c,Qt::AlignLeft);

    walletButtonContainer->setFixedWidth(1000);
    walletButtonContainer->setFixedHeight(35);
    walletButtonContainer->setLayout(walletButtonLayout);

    sendCoinsButton->setText(" Send coins");
    receiveCoinsButton->setText(" Receive coins");
    historyButton->setText(" Transactions");
    addressBookButton->setText(" Address Book");
    vanityGenButton->setText(" Vanity Gen");
    backupButton->setText(" Backup wallet");

    sendCoinsButton->setStyleSheet(styleSheetToolButtonNormal+styleSheetToolButtonHover+styleSheetToolButtonChecked);
    receiveCoinsButton->setStyleSheet(styleSheetToolButtonNormal+styleSheetToolButtonHover+styleSheetToolButtonChecked);
    historyButton->setStyleSheet(styleSheetToolButtonNormal+styleSheetToolButtonHover+styleSheetToolButtonChecked);
    addressBookButton->setStyleSheet(styleSheetToolButtonNormal+styleSheetToolButtonHover+styleSheetToolButtonChecked);
    vanityGenButton->setStyleSheet(styleSheetToolButtonNormal+styleSheetToolButtonHover+styleSheetToolButtonChecked);
    backupButton->setStyleSheet(styleSheetToolButtonNormal+styleSheetToolButtonHover+styleSheetToolButtonChecked);

    connect(sendCoinsButton, SIGNAL(clicked()), this, SLOT(showNormalIfMinimized()));
    connect(sendCoinsButton, SIGNAL(clicked()), this, SLOT(gotoSendCoinsPage()));
    connect(receiveCoinsButton, SIGNAL(clicked()), this, SLOT(showNormalIfMinimized()));
    connect(receiveCoinsButton, SIGNAL(clicked()), this, SLOT(gotoReceiveCoinsPage()));
    connect(historyButton, SIGNAL(clicked()), this, SLOT(showNormalIfMinimized()));
    connect(historyButton, SIGNAL(clicked()), this, SLOT(gotoHistoryPage()));
    connect(addressBookButton, SIGNAL(clicked()), this, SLOT(showNormalIfMinimized()));
    connect(addressBookButton, SIGNAL(clicked()), this, SLOT(gotoAddressBookPage()));
    connect(vanityGenButton, SIGNAL(clicked()), this, SLOT(showNormalIfMinimized()));
    connect(vanityGenButton, SIGNAL(clicked()), this, SLOT(gotoVanityGenPage()));
    connect(backupButton, SIGNAL(clicked()), walletFrame, SLOT(backupWallet()));

    ////////////////////////////////////////////////////////////////

    miningButtonContainer = new QWidget(this);
    miningButtonContainer->setContentsMargins(0,0,0,0);
    miningButtonContainer->move(100,125+MENU_OFFSET-50);

    QHBoxLayout *miningButtonLayout = new QHBoxLayout();

    QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
    sizePolicy.setHorizontalStretch(0);
    sizePolicy.setVerticalStretch(0);

    miningInfoButton = new QToolButton(miningButtonContainer);
    miningInfoButton->setStatusTip(tr("Mining Information"));
    miningInfoButton->setToolTip(miningInfoButton->statusTip());
    miningInfoButton->setCheckable(true);
    //miningInfoButton->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2));
    sizePolicy.setHeightForWidth(miningInfoButton->sizePolicy().hasHeightForWidth());
    miningInfoButton->setSizePolicy(sizePolicy);
    miningInfoButton->setAutoExclusive(true);
    miningInfoButton->setCheckable(true);

    miningCPUButton = new QToolButton(miningButtonContainer);
    miningCPUButton->setStatusTip(tr("Mine SpreadCoins with your CPU"));
    miningCPUButton->setToolTip(miningCPUButton->statusTip());
    miningCPUButton->setCheckable(true);
    //miningCPUButton->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3));
    sizePolicy.setHeightForWidth(miningCPUButton->sizePolicy().hasHeightForWidth());
    miningCPUButton->setSizePolicy(sizePolicy);
    miningCPUButton->setAutoExclusive(true);
    miningCPUButton->setCheckable(true);

    miningInfoButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    miningInfoButton->setIconSize(QSize(24,24));
    miningInfoButton->setCursor(Qt::PointingHandCursor);
    miningInfoButton->setIcon(QIcon(":/icons/tx_mined"));

    miningCPUButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    miningCPUButton->setIconSize(QSize(24,24));
    miningCPUButton->setCursor(Qt::PointingHandCursor);
    miningCPUButton->setIcon(QIcon(":/icons/tx_mined"));


    miningButtonLayout->addWidget(miningInfoButton);
    miningButtonLayout->addWidget(miningCPUButton);
    miningButtonLayout->addWidget(miningCPUButton);
    miningButtonLayout->addWidget(miningCPUButton);
    miningButtonLayout->addWidget(miningCPUButton);

    miningButtonLayout->setContentsMargins(0, 0, 0, 0);
    miningButtonLayout->addStretch();

    miningButtonContainer->setFixedWidth(1000);
    miningButtonContainer->setFixedHeight(35);
    miningButtonContainer->setLayout(miningButtonLayout);

    miningInfoButton->setText(" Mining Info");
    miningCPUButton->setText(" CPU Miner");

    miningInfoButton->setStyleSheet(styleSheetToolButtonNormal+styleSheetToolButtonHover+styleSheetToolButtonChecked);
    miningCPUButton->setStyleSheet(styleSheetToolButtonNormal+styleSheetToolButtonHover+styleSheetToolButtonChecked);

    connect(miningInfoButton, SIGNAL(clicked()), this, SLOT(gotoMiningInfoPage()));
    connect(miningCPUButton, SIGNAL(clicked()), this, SLOT(gotoMiningPage()));

}