Package com.fisbein.joan.gui

Source Code of com.fisbein.joan.gui.ImapCopyGui

package com.fisbein.joan.gui;

import java.awt.FlowLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.mail.MessagingException;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

import org.apache.log4j.Logger;

import com.fisbein.joan.model.ImapCopier;
import com.fisbein.joan.model.ImapCopyAplicationEvent;
import com.fisbein.joan.model.ImapCopyEvent;
import com.fisbein.joan.model.ImapCopyFolderEvent;
import com.fisbein.joan.model.ImapCopyListenerInterface;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;

/**
* This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI Builder, which is free
* for non-commercial use. If Jigloo is being used commercially (ie, by a corporation, company or
* business for any purpose whatever) then you should purchase a license for each developer using
* Jigloo. Please visit www.cloudgarden.com for details. Use of Jigloo implies acceptance of these
* licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS
* CODE CANNOT BE USED LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class ImapCopyGui extends javax.swing.JFrame implements ImapCopyListenerInterface {
  private static final long serialVersionUID = 3773683855479203142L;

  private final static Logger log = Logger.getLogger(ImapCopyGui.class);

  private JButton btnStop;

  private JLabel labelLog;

  private JButton btnCopy;

  private JButton btnEditImapSource;

  private JButton btnEditImapTarget;

  private JTextField textImapTarget;

  private JTextField textImapSource;

  private JLabel labelImapTarget;

  private JLabel labelImapSource;

  private Thread copyThread;

  /**
   * Auto-generated main method to display this JFrame
   */
  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        ImapCopyGui inst = new ImapCopyGui();
        inst.setLocationRelativeTo(null);
        inst.setVisible(true);
      }
    });
  }

  public ImapCopyGui() {
    super();
    initGUI();
  }

  private void initGUI() {
    try {
      FormLayout thisLayout = new FormLayout("max(p;5dlu), 83dlu, 78dlu, max(p;5dlu)",
          "max(p;5dlu), max(p;5dlu), max(p;5dlu), max(p;5dlu), max(p;15dlu)");
      getContentPane().setLayout(thisLayout);
      this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
      this.setTitle("Imap Copy");
      this.setPreferredSize(new java.awt.Dimension(474, 128));
      this.setResizable(false);
      {
        labelImapSource = new JLabel();
        getContentPane().add(labelImapSource, new CellConstraints("1, 1, 1, 1, default, default"));
        labelImapSource.setText("Source Account:");
      }
      {
        labelImapTarget = new JLabel();
        getContentPane().add(labelImapTarget, new CellConstraints("1, 2, 1, 1, default, default"));
        labelImapTarget.setText("Target Account:");
      }
      {
        textImapSource = new JTextField();
        getContentPane().add(textImapSource, new CellConstraints("2, 1, 2, 1, default, default"));
      }
      {
        textImapTarget = new JTextField();
        getContentPane().add(textImapTarget, new CellConstraints("2, 2, 2, 1, default, default"));
      }
      {
        btnEditImapTarget = new JButton();
        getContentPane().add(btnEditImapTarget, new CellConstraints("4, 2, 1, 1, default, default"));
        btnEditImapTarget.setText("...");
        btnEditImapTarget.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            btnEditImapTargetActionPerformed(evt);
          }
        });
      }
      {
        btnEditImapSource = new JButton();
        getContentPane().add(btnEditImapSource, new CellConstraints("4, 1, 1, 1, default, default"));
        btnEditImapSource.setText("...");
        btnEditImapSource.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            btnEditImapSourceActionPerformed(evt);
          }
        });
      }
      {
        btnCopy = new JButton();
        FlowLayout btnCopyLayout = new FlowLayout();
        btnCopy.setLayout(btnCopyLayout);
        getContentPane().add(btnCopy, new CellConstraints("2, 4, 1, 1, default, default"));
        btnCopy.setText("Copy");
        btnCopy.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            btnCopyActionPerformed(evt);
          }
        });
      }
      {
        labelLog = new JLabel();
        getContentPane().add(labelLog, new CellConstraints("2, 3, 3, 1, default, default"));
        labelLog.setText("log");
      }
      {
        btnStop = new JButton();
        FlowLayout btnStopLayout = new FlowLayout();
        btnStop.setLayout(btnStopLayout);
        getContentPane().add(btnStop, new CellConstraints("3, 4, 1, 1, default, default"));
        btnStop.setText("Stop");
        btnStop.setEnabled(false);
        btnStop.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            btnStopActionPerformed(evt);
          }
        });
      }
      this.setSize(474, 128);
    } catch (Exception e) {
      log.error(e.getMessage(), e);
    }
  }

  private void btnCopyActionPerformed(ActionEvent evt) {
    log.debug("btnCopy.actionPerformed, event=" + evt);

    ImapCopier ic = new ImapCopier();
    ic.addImapCopyListener(this);
    try {
      ic.openSourceConnection(textImapSource.getText());
      ic.openTargetConnection(textImapTarget.getText());
      btnCopy.setEnabled(false);
      btnStop.setEnabled(true);
      copyThread = new Thread(ic);
      copyThread.start();
    } catch (MessagingException e) {
      log.error(e.getMessage(), e);
    }
  }

  private void btnEditImapSourceActionPerformed(ActionEvent evt) {
    log.debug("btnEditImapSource.actionPerformed, event=" + evt);
    imapUrlCreatorDialog dialog = new imapUrlCreatorDialog(this);
    Rectangle bounds = dialog.getBounds();
    bounds.x = this.getBounds().x;
    bounds.y = this.getBounds().y;
    dialog.setBounds(bounds);

    dialog.setURL(textImapSource.getText());
    dialog.setModal(true);
    dialog.setVisible(true);
  }

  private void btnEditImapTargetActionPerformed(ActionEvent evt) {
    log.debug("btnEditImapTarget.actionPerformed, event=" + evt);
    imapUrlCreatorDialog dialog = new imapUrlCreatorDialog(this);
    Rectangle bounds = dialog.getBounds();
    bounds.x = this.getBounds().x;
    bounds.y = this.getBounds().y;
    dialog.setBounds(bounds);

    dialog.setURL(textImapTarget.getText());
    dialog.setModal(true);
    dialog.setVisible(true);
  }

  public void eventNotification(ImapCopyEvent event) {
    if (event instanceof ImapCopyFolderEvent) {
      labelLog.setText("Copying Folder:" + ((ImapCopyFolderEvent) event).getFolderName());
      this.repaint();
    } else if (event instanceof ImapCopyAplicationEvent) {
      if (((ImapCopyAplicationEvent) event).getType() == ImapCopyAplicationEvent.END) {
        btnCopy.setEnabled(true);
        btnStop.setEnabled(false);
      }
    }
  }

  @SuppressWarnings("deprecation")
  private void btnStopActionPerformed(ActionEvent evt) {
    log.debug("btnStop.actionPerformed, event=" + evt);
    this.copyThread.stop();
    btnCopy.setEnabled(true);
    btnStop.setEnabled(false);
  }
}
TOP

Related Classes of com.fisbein.joan.gui.ImapCopyGui

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.