diff options
| author | André Dietisheim | 2012-09-25 21:24:54 +0000 |
|---|---|---|
| committer | Matthias Sohn | 2012-09-25 21:24:54 +0000 |
| commit | 2091948aada1ebcadb0831a0f39445f7af57852f (patch) | |
| tree | d958e4941b61c0b210ebca28206594b1787e70a4 | |
| parent | 334390383c858261dc51d9501c21aa01d2756795 (diff) | |
| download | egit-2091948aada1ebcadb0831a0f39445f7af57852f.tar.gz egit-2091948aada1ebcadb0831a0f39445f7af57852f.tar.xz egit-2091948aada1ebcadb0831a0f39445f7af57852f.zip | |
Add "Commit and Push" button to the commit dialog
Removed the push section with the "push to upstream" checkbox. Replaced
it by an additional button that allows committing and pushing in 1 step.
Bug: 389708
Change-Id: I4ada4d8768f119c2f5320f31b68d64333a55c1ae
Signed-off-by: Andre Dietisheim <adietish@redhat.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
5 files changed, 34 insertions, 46 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIPreferences.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIPreferences.java index a88ae8bb09..dbed5321fa 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIPreferences.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIPreferences.java @@ -73,8 +73,6 @@ public class UIPreferences { /** */ public final static String COMMIT_DIALOG_INCLUDE_UNTRACKED = "commit_dialog_include_untracked"; //$NON-NLS-1$ /** */ - public final static String COMMIT_DIALOG_PUSH_UPSTREAM = "commit_dialog_push_upstream"; //$NON-NLS-1$ - /** */ public final static String CHECKOUT_PROJECT_RESTORE = "restore_projects_on_checkout"; //$NON-NLS-1$ /** */ public final static String THEME_CommitGraphNormalFont = "org.eclipse.egit.ui.CommitGraphNormalFont"; //$NON-NLS-1$ diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java index 5bc5874be4..2e6639c8be 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java @@ -1863,6 +1863,9 @@ public class UIText extends NLS { public static String CommitDialog_Commit; /** */ + public static String CommitDialog_CommitAndPush; + + /** */ public static String CommitDialog_CommitChanges; /** */ @@ -1968,12 +1971,6 @@ public class UIText extends NLS { public static String CommitDialog_Title; /** */ - public static String CommitDialog_PushSectionTitle; - - /** */ - public static String CommitDialog_PushUpstream; - - /** */ public static String ConfigurationChecker_gitPrefixWarningMessage; /** */ diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java index 288bd61042..19e85e9c45 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java @@ -212,7 +212,7 @@ public class CommitUI { if (commitHelper.isMergedResolved) commitOperation.setRepository(repo); Job commitJob = createCommitJob(repo, commitOperation, false); - if (commitDialog.isPushEnabled()) + if (commitDialog.isPushRequested()) pushWhenFinished(commitJob); commitJob.schedule(); diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java index 2a29c7c0e3..61fff7af75 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java @@ -301,6 +301,11 @@ public class CommitDialog extends TitleAreaDialog { private static final String SHOW_UNTRACKED_PREF = "CommitDialog.showUntracked"; //$NON-NLS-1$ + /** + * A constant used for the 'commit and push button' button + */ + public static final int COMMIT_AND_PUSH_ID = 30; + FormToolkit toolkit; CommitMessageComponent commitMessageComponent; @@ -325,6 +330,8 @@ public class CommitDialog extends TitleAreaDialog { Button commitButton; + Button commitAndPushButton; + ArrayList<CommitItem> items = new ArrayList<CommitItem>(); private String commitMessage = null; @@ -354,7 +361,7 @@ public class CommitDialog extends TitleAreaDialog { private Repository repository; - private boolean pushEnabled = false; + private boolean isPushRequested = false; /** * @param parentShell @@ -510,23 +517,34 @@ public class CommitDialog extends TitleAreaDialog { } /** - * Returns whether we are pushing after the commit - * @return pushing + * @return true if push shall be executed */ - public boolean isPushEnabled() { - return pushEnabled; + public boolean isPushRequested() { + return isPushRequested; } @Override protected void createButtonsForButtonBar(Composite parent) { toolkit.adapt(parent, false, false); - commitButton = createButton(parent, IDialogConstants.OK_ID, - UIText.CommitDialog_Commit, true); createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false); + commitButton = createButton(parent, IDialogConstants.OK_ID, + UIText.CommitDialog_Commit, true); + commitAndPushButton = createButton(parent, COMMIT_AND_PUSH_ID, + UIText.CommitDialog_CommitAndPush, false); updateMessage(); } + protected void buttonPressed(int buttonId) { + if (IDialogConstants.OK_ID == buttonId) + okPressed(); + else if (COMMIT_AND_PUSH_ID == buttonId) { + isPushRequested = true; + okPressed(); + } else if (IDialogConstants.CANCEL_ID == buttonId) + cancelPressed(); + } + @Override protected Control createButtonBar(Composite parent) { toolkit.adapt(parent, false, false); @@ -890,32 +908,6 @@ public class CommitDialog extends TitleAreaDialog { } } - Section pushSection = toolkit.createSection(container, - ExpandableComposite.TITLE_BAR - | ExpandableComposite.CLIENT_INDENT); - GridDataFactory.fillDefaults().grab(true, true).applyTo(pushSection); - Composite pushArea = toolkit.createComposite(pushSection); - pushSection.setClient(pushArea); - toolkit.paintBordersFor(pushArea); - GridLayoutFactory.fillDefaults().extendedMargins(2, 2, 2, 2) - .applyTo(pushArea); - pushSection.setText(UIText.CommitDialog_PushSectionTitle); - final Button pushCheckbox = toolkit.createButton(pushArea, - UIText.CommitDialog_PushUpstream, SWT.CHECK); - pushCheckbox.setSelection(getPreferenceStore().getBoolean( - UIPreferences.COMMIT_DIALOG_PUSH_UPSTREAM)); - pushEnabled = getPreferenceStore().getBoolean( - UIPreferences.COMMIT_DIALOG_PUSH_UPSTREAM); - pushCheckbox.addSelectionListener(new SelectionAdapter() { - - @Override - public void widgetSelected(SelectionEvent e) { - pushEnabled = pushCheckbox.getSelection(); - getPreferenceStore().setValue( - UIPreferences.COMMIT_DIALOG_PUSH_UPSTREAM, pushEnabled); - } - }); - applyDialogFont(container); statCol.pack(); resourceCol.pack(); @@ -985,8 +977,10 @@ public class CommitDialog extends TitleAreaDialog { } setMessage(message, type); - commitButton.setEnabled(type == IMessageProvider.WARNING - || type == IMessageProvider.NONE); + boolean commitEnabled = type == IMessageProvider.WARNING + || type == IMessageProvider.NONE; + commitButton.setEnabled(commitEnabled); + commitAndPushButton.setEnabled(commitEnabled); } private boolean isCommitWithoutFilesAllowed() { diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties index 942af9787a..c7d25cc902 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties @@ -648,6 +648,7 @@ CommitDialog_AddSOB=Add Signed-off-&by CommitDialog_AmendPreviousCommit=Am&end Previous Commit CommitDialog_Author=&Author: CommitDialog_Commit=&Commit +CommitDialog_CommitAndPush=Commit and &Push CommitDialog_CommitChanges=Commit Changes CommitDialog_Committer=Committer: CommitDialog_CommitMessage=Commit message @@ -683,8 +684,6 @@ CommitDialog_MessageNoFilesSelected=Select one or more files to commit CommitDialog_Path=Path CommitDialog_Title=Commit Changes to Git Repository CommitDialog_WrongTypeOfCommitMessageProvider=The extension used as CommitMessageProvider has the wrong type (it must implement org.eclipse.egit.ui.ICommitMessageProvider) -CommitDialog_PushSectionTitle=Push -CommitDialog_PushUpstream=&Push the changes to upstream SpellcheckableMessageArea_redo=Redo SpellcheckableMessageArea_showWhitespace=Show &Whitespace Characters |
