Package net.sourceforge.squirrel_sql.client.session.schemainfo

Source Code of net.sourceforge.squirrel_sql.client.session.schemainfo.SessionStartupTimeHintController

package net.sourceforge.squirrel_sql.client.session.schemainfo;

import net.sourceforge.squirrel_sql.client.mainframe.action.AliasPropertiesCommand;
import net.sourceforge.squirrel_sql.client.preferences.SquirrelPreferences;
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

public class SessionStartupTimeHintController
{
   private ISession _session;
   private SessionStartupTimeHintDlg _dlg;

   public SessionStartupTimeHintController(ISession session)
   {
      _session = session;
      _dlg = new SessionStartupTimeHintDlg(_session.getApplication().getMainFrame(), session.getApplication());

      _dlg.btnClose.addActionListener(new ActionListener()
      {
         public void actionPerformed(ActionEvent e)
         {
            close();
         }
      });

      _dlg.btnShowProps.addActionListener(new ActionListener()
      {
         public void actionPerformed(ActionEvent e)
         {
            showAliasProperties();
         }
      });

      AbstractAction closeAction = new AbstractAction()
      {
         public void actionPerformed(ActionEvent actionEvent)
         {
            close();
         }
      };
      KeyStroke escapeStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
      _dlg.getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(escapeStroke, "CloseAction");
      _dlg.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(escapeStroke, "CloseAction");
      _dlg.getRootPane().getInputMap(JComponent.WHEN_FOCUSED).put(escapeStroke, "CloseAction");
      _dlg.getRootPane().getActionMap().put("CloseAction", closeAction);



      _dlg.setSize(350, 180);
      GUIUtils.centerWithinParent(_dlg);
      _dlg.setVisible(true);
   }

   private void showAliasProperties()
   {
      close();

      SwingUtilities.invokeLater(new Runnable()
      {
         public void run()
         {
            new AliasPropertiesCommand(_session.getAlias(), _session.getApplication()).execute();
         }
      });
   }

   private void close()
   {
      _dlg.dispose();
      SquirrelPreferences squirrelPreferences = _session.getApplication().getSquirrelPreferences();
      squirrelPreferences.setShowSessionStartupTimeHint(false == _dlg.chkDontShowAgain.isSelected());
   }

}
TOP

Related Classes of net.sourceforge.squirrel_sql.client.session.schemainfo.SessionStartupTimeHintController

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.