Skip to content

Commit c3d3d88

Browse files
committed
Add Git menu
1 parent 53a6029 commit c3d3d88

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

app/src/processing/app/Editor.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.fife.ui.rtextarea.RTextScrollPane;
4040
import processing.app.debug.RunnerException;
4141
import processing.app.forms.PasswordAuthorizationDialog;
42+
import processing.app.git.GitManager;
4243
import processing.app.helpers.Keys;
4344
import processing.app.helpers.OSUtils;
4445
import processing.app.helpers.PreferencesMapException;
@@ -202,6 +203,10 @@ public boolean test(Sketch sketch) {
202203
private Runnable exportAppHandler;
203204
private Runnable timeoutUploadHandler;
204205

206+
private GitManager gitManager = new GitManager();
207+
208+
209+
205210
public Editor(Base ibase, File file, int[] storedLocation, int[] defaultLocation, Platform platform) throws Exception {
206211
super("Arduino");
207212
this.base = ibase;
@@ -572,6 +577,7 @@ public void menuSelected(MenuEvent e) {
572577
menubar.add(toolsMenu);
573578

574579
menubar.add(buildHelpMenu());
580+
menubar.add(buildGitMenu());
575581
setJMenuBar(menubar);
576582
}
577583

@@ -696,6 +702,32 @@ public void actionPerformed(ActionEvent e) {
696702
return fileMenu;
697703
}
698704

705+
private JMenu buildGitMenu() {
706+
JMenu gitMenu = new JMenu(tr("Git"));
707+
gitMenu.setMnemonic(KeyEvent.VK_G);
708+
709+
JMenuItem item = newJMenuItem(tr("Init"), 'I');
710+
item.addActionListener(e -> gitManager
711+
.init(sketch.getFolder())
712+
);
713+
gitMenu.add(item);
714+
715+
item = newJMenuItem(tr("Commit"), 'C');
716+
item.addActionListener(e -> {
717+
String commitMessage = JOptionPane.showInputDialog("Commit message:");
718+
gitManager.commit(sketch.getFolder(), commitMessage);
719+
});
720+
gitMenu.add(item);
721+
722+
item = newJMenuItem(tr("Log"), 'L');
723+
item.addActionListener(e ->
724+
gitManager.log(sketch.getFolder())
725+
);
726+
gitMenu.add(item);
727+
728+
return gitMenu;
729+
}
730+
699731
public void rebuildRecentSketchesMenu() {
700732
recentSketchesMenu.removeAll();
701733
for (JMenuItem recentSketchMenuItem : base.getRecentSketchesMenuItems()) {

0 commit comments

Comments
 (0)