/* * * Copyright 2014 http://Bither.net * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * / */ package net.bither.viewsystem.froms; import net.bither.Bither; import net.bither.BitherSetting; import net.bither.bitherj.BitherjSettings; import net.bither.bitherj.core.Address; import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.HDAccount; import net.bither.fonts.AwesomeIcon; import net.bither.languages.MessageKey; import net.bither.preference.UserPreference; import net.bither.utils.LocaliserUtils; import net.bither.viewsystem.base.Buttons; import net.bither.viewsystem.base.Panels; import net.bither.viewsystem.base.RadioButtons; import net.bither.viewsystem.dialogs.MessageDialog; import net.miginfocom.swing.MigLayout; import javax.swing.*; import java.awt.event.ActionEvent; import java.util.ArrayList; import java.util.List; public class MorePanel extends WizardPanel { private JButton btnAdvance; private JButton btnVanitygen; private JButton btnPeer; private JButton btnBlcok; private JButton btnExchange; private JButton btnVerfyMessage; private JButton btnSignMessage; private JButton btnDonate; private JButton btnChangePassword; public MorePanel() { super(MessageKey.MORE, AwesomeIcon.ELLIPSIS_H); } @Override public void initialiseContent(JPanel panel) { panel.setLayout(new MigLayout( Panels.migXYLayout(), "[][][][][][][]", // Column constraints "[][][][][][]" // Row constraints )); btnAdvance = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { AdvancePanel advancePanel = new AdvancePanel(); advancePanel.showPanel(); } }, MessageKey.ADVANCE, AwesomeIcon.FA_BOOK); btnVanitygen = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { closePanel(); VanitygenPanel vanitygenPanel = new VanitygenPanel(); vanitygenPanel.showPanel(); } }, MessageKey.vanity_address, AwesomeIcon.VIMEO_SQUARE); btnPeer = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { PeersPanel peersPanel = new PeersPanel(); peersPanel.showPanel(); } }, MessageKey.PEERS, AwesomeIcon.FA_USERS); btnBlcok = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { BlockPanel blockPanel = new BlockPanel(); blockPanel.showPanel(); } }, MessageKey.BLOCKS, AwesomeIcon.FA_SHARE_ALT); btnExchange = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { closePanel(); ExchangePreferencePanel exchangePreferencePanel = new ExchangePreferencePanel(); exchangePreferencePanel.showPanel(); } }, MessageKey.EXCHANGE_SETTINGS_TITLE, AwesomeIcon.DOLLAR); btnVerfyMessage = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { closePanel(); VerifyMessagePanel verifyMessagePanel = new VerifyMessagePanel(); verifyMessagePanel.showPanel(); } }, MessageKey.VERIFY_MESSAGE_TITLE, AwesomeIcon.CHECK); btnSignMessage = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { if (AddressManager.getInstance().getPrivKeyAddresses().size() > 0) { String defaultAddress = AddressManager.getInstance().getPrivKeyAddresses().get(0).getAddress(); SelectAddressPanel selectAddressPanel = new SelectAddressPanel(new SelectAddressPanel.SelectAddressListener() { @Override public void selectAddress(Address address) { closePanel(); SignMessagePanel signMessagePanel = new SignMessagePanel(address); signMessagePanel.showPanel(); } }, AddressManager.getInstance().getPrivKeyAddresses(), defaultAddress); selectAddressPanel.showPanel(); } else { new MessageDialog(LocaliserUtils.getString("private_key_is_empty")).showMsg(); } } }, MessageKey.SIGN_MESSAGE_TITLE, AwesomeIcon.PENCIL); btnChangePassword = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { ChangePasswordPanel wizardForm = new ChangePasswordPanel(); // wizardForm.setOkAction(changePasswordForm.getOKAction()); wizardForm.showPanel(); } }, MessageKey.SHOW_CHANGE_PASSWORD_WIZARD, AwesomeIcon.LOCK); if (UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.HOT) { panel.add(btnChangePassword, "align center,cell 3 0 ,grow ,shrink,wrap"); panel.add(btnVanitygen, "align center,cell 3 1 ,grow ,shrink,wrap"); panel.add(btnAdvance, "align center,cell 3 2 ,shrink,grow,wrap"); panel.add(btnExchange, "align center,cell 3 3,shrink,grow,wrap"); panel.add(btnSignMessage, "align center,cell 3 4,shrink,grow,wrap"); panel.add(btnVerfyMessage, "align center,cell 3 5,shrink,grow,wrap"); panel.add(btnPeer, "align center,cell 3 6,shrink,grow,wrap"); panel.add(btnBlcok, "align center,cell 3 7,shrink,grow,wrap"); btnDonate = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { List<Address> availableList = new ArrayList<Address>(); for (Address address : AddressManager.getInstance().getAllAddresses()) { if (address.getBalance() > 0) { availableList.add(address); } } if (AddressManager.getInstance().getHdAccount() != null && AddressManager.getInstance().getHdAccount().getBalance() > 0) { availableList.add(AddressManager.getInstance().getHdAccount()); } if (availableList.size() == 0) { new MessageDialog(LocaliserUtils.getString("donate_no_address")).showMsg(); return; } final String defaultAddress; if (Bither.getActionAddress() != null) { defaultAddress = Bither.getActionAddress().getAddress(); } else { defaultAddress = ""; } SelectAddressPanel selectAddressPanel = new SelectAddressPanel(new SelectAddressPanel.SelectAddressListener() { @Override public void selectAddress(Address address) { if (address.getBalance() == 0) { new MessageDialog(LocaliserUtils.getString("donate_no_address")).showMsg(); return; } if (address != null) { Bither.getMainFrame().getMainFrameUi().getWalletsView().selectWalletPanelByFilename(address.getAddress()); Bither.getCoreController().fireDataChangedUpdateNow(); closePanel(); if (address instanceof HDAccount) { HDAccountSendPanel hdAccountSendPanel = new HDAccountSendPanel(BitherjSettings.DONATE_ADDRESS); hdAccountSendPanel.showPanel(); } else if (address.isHDM()) { SendHDMBitcoinPanel sendHDMBitcoinPanel = new SendHDMBitcoinPanel(BitherjSettings.DONATE_ADDRESS); sendHDMBitcoinPanel.showPanel(); } else { if (address.hasPrivKey()) { SendBitcoinPanel sendBitcoinPanel = new SendBitcoinPanel(BitherjSettings.DONATE_ADDRESS); sendBitcoinPanel.showPanel(); } else { UnSignTxPanel unSignTxPanel = new UnSignTxPanel(BitherjSettings.DONATE_ADDRESS); unSignTxPanel.showPanel(); } } } } }, availableList, defaultAddress); selectAddressPanel.updateTitle(LocaliserUtils.getString("select_address_to_donate")); selectAddressPanel.showPanel(); } }, MessageKey.donate_button, AwesomeIcon.BITCOIN); panel.add(btnDonate, "align center,cell 3 8,grow,shrink,wrap"); } else { panel.add(btnChangePassword, "align center,cell 3 0 ,shrink"); panel.add(btnVanitygen, "align center,cell 3 1 ,shrink"); JCheckBox cbCheckPassword = RadioButtons.newCheckPassword(); panel.add(cbCheckPassword, "align center,cell 3 2 ,shrink"); } } }