
net.sourceforge.squirrel_sql.client.session.schemainfo.SessionStartupTimeHintController Maven / Gradle / Ivy
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());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy