diff --git a/src/main/java/info/istlab/Zemi01/gitmonitor/CommandRunner.java b/src/main/java/info/istlab/Zemi01/gitmonitor/CommandRunner.java index 872b77c..51c0a12 100644 --- a/src/main/java/info/istlab/Zemi01/gitmonitor/CommandRunner.java +++ b/src/main/java/info/istlab/Zemi01/gitmonitor/CommandRunner.java @@ -9,6 +9,7 @@ public static String prompt = "> "; String command; + String gitcommand; Thread thread; Process process; @@ -42,6 +43,8 @@ public void invoke() { con = mon.console; + gitcommand = "git "+command; + con.setText(""); // if (con != null) // con.frame.setTitle(command + " " + workingDir); startstop(); @@ -56,7 +59,7 @@ public void run() { // Run script // System.out.println(scriptfile); - List cmds = Arrays.asList(command.split(" ")); + List cmds = Arrays.asList(gitcommand.split(" ")); ProcessBuilder processBuilder = new ProcessBuilder(cmds); // ProcessBuilder processBuilder = new ProcessBuilder("pwd"); processBuilder.directory(new File(workingDir)); @@ -70,7 +73,7 @@ // } else { con.Systemoutprintln(prompt + "cd " + workingDir); // } - con.Systemoutprintln(prompt + command); + con.Systemoutprintln(prompt + gitcommand); try { process = processBuilder.start(); diff --git a/src/main/java/info/istlab/Zemi01/gitmonitor/GitMonitor.java b/src/main/java/info/istlab/Zemi01/gitmonitor/GitMonitor.java index c69bfb2..2f0029e 100644 --- a/src/main/java/info/istlab/Zemi01/gitmonitor/GitMonitor.java +++ b/src/main/java/info/istlab/Zemi01/gitmonitor/GitMonitor.java @@ -1,6 +1,8 @@ package info.istlab.Zemi01.gitmonitor; import java.awt.BorderLayout; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.File; @@ -14,39 +16,42 @@ import info.istlab.Zemi01.Launcher; /** - * MouseListener はJListに対して適用 + * MouseListener, KeyListener はJListに対して適用 */ -public class GitMonitor extends JFrame implements MouseListener { +public class GitMonitor extends JFrame implements MouseListener, KeyListener { File targetDir; ArrayList crlist; JList jlist; JTAConsole console; - public GitMonitor(File target){ + public GitMonitor(File target) { super(target.getAbsolutePath()); targetDir = target; crlist = new ArrayList(); - String[] coms = {"status", "diff","commit","log --graph","remote -v","branch -avv","checkout -b BR","switch BR"}; - for(String c: coms){ + String[] coms = { "status", "diff", "remote -v", "branch -avv", "log --graph", "commit -am \"[MES]\"", "checkout -b [BR]", + "switch [BR]" }; + for (String c : coms) { crlist.add(new CommandRunner(c, this)); } jlist = new JList(crlist.toArray(new CommandRunner[0])); jlist.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); jlist.addMouseListener(this); + jlist.addKeyListener(this); getContentPane().add(jlist, BorderLayout.WEST); console = new JTAConsole(); getContentPane().add(new JScrollPane(console)); - setSize(500, 200); + setSize(700, 800); setLocation(Launcher.centerOfScreen(this.getSize())); setVisible(true); setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); addWindowListener(console); + jlist.setSelectedIndex(0); } @Override @@ -54,30 +59,52 @@ int index = jlist.locationToIndex(e.getPoint()); CommandRunner item = jlist.getModel().getElementAt(index); item.invoke(); - } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub - + } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub - + } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub - + } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub - + + } + + @Override + public void keyTyped(KeyEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public void keyPressed(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + int pos; + if ((pos = jlist.getSelectedIndex()) != -1) { + CommandRunner item = jlist.getModel().getElementAt(pos); + item.invoke(); + } + } + } + + @Override + public void keyReleased(KeyEvent e) { + // TODO Auto-generated method stub + } } diff --git a/src/main/java/info/istlab/Zemi01/gitmonitor/MyRSJTextArea.java b/src/main/java/info/istlab/Zemi01/gitmonitor/MyRSJTextArea.java index 3b80e10..6e49527 100644 --- a/src/main/java/info/istlab/Zemi01/gitmonitor/MyRSJTextArea.java +++ b/src/main/java/info/istlab/Zemi01/gitmonitor/MyRSJTextArea.java @@ -19,7 +19,7 @@ public MyRSJTextArea() { String syn = "TokenMaker4MyRSJTextArea"; atmf = (AbstractTokenMakerFactory) TokenMakerFactory.getDefaultInstance(); - atmf.putMapping(syn, "istlab.KisoJikken.Test." + syn); //独自のTokenMakerを登録 + atmf.putMapping(syn, "info.istlab.Zemi01.gitmonitor." + syn); //独自のTokenMakerを登録 setSyntaxEditingStyle(syn); setFont(new FontUIResource("sansserif", Font.PLAIN, 14));