|
39 | 39 | import org.fife.ui.rtextarea.RTextScrollPane;
|
40 | 40 | import processing.app.debug.RunnerException;
|
41 | 41 | import processing.app.forms.PasswordAuthorizationDialog;
|
| 42 | +import processing.app.git.GitManager; |
42 | 43 | import processing.app.helpers.Keys;
|
43 | 44 | import processing.app.helpers.OSUtils;
|
44 | 45 | import processing.app.helpers.PreferencesMapException;
|
@@ -202,6 +203,10 @@ public boolean test(Sketch sketch) {
|
202 | 203 | private Runnable exportAppHandler;
|
203 | 204 | private Runnable timeoutUploadHandler;
|
204 | 205 |
|
| 206 | + private GitManager gitManager = new GitManager(); |
| 207 | + |
| 208 | + |
| 209 | + |
205 | 210 | public Editor(Base ibase, File file, int[] storedLocation, int[] defaultLocation, Platform platform) throws Exception {
|
206 | 211 | super("Arduino");
|
207 | 212 | this.base = ibase;
|
@@ -572,6 +577,7 @@ public void menuSelected(MenuEvent e) {
|
572 | 577 | menubar.add(toolsMenu);
|
573 | 578 |
|
574 | 579 | menubar.add(buildHelpMenu());
|
| 580 | + menubar.add(buildGitMenu()); |
575 | 581 | setJMenuBar(menubar);
|
576 | 582 | }
|
577 | 583 |
|
@@ -696,6 +702,32 @@ public void actionPerformed(ActionEvent e) {
|
696 | 702 | return fileMenu;
|
697 | 703 | }
|
698 | 704 |
|
| 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 | + |
699 | 731 | public void rebuildRecentSketchesMenu() {
|
700 | 732 | recentSketchesMenu.removeAll();
|
701 | 733 | for (JMenuItem recentSketchMenuItem : base.getRecentSketchesMenuItems()) {
|
|
0 commit comments