Author: adietish
Date: 2011-08-16 04:39:59 -0400 (Tue, 16 Aug 2011)
New Revision: 33963
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/ResourcePropertyTester.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml
Log:
[JBIDE-9511] implemented menu item visibility
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF 2011-08-16
08:34:46 UTC (rev 33962)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF 2011-08-16
08:39:59 UTC (rev 33963)
@@ -4,8 +4,12 @@
Bundle-SymbolicName: org.jboss.ide.eclipse.as.egit.ui;singleton:=true
Bundle-Version: 0.0.1.qualifier
Bundle-Activator: org.jboss.ide.eclipse.as.egit.internal.ui.EGitUIActivator
-Require-Bundle: org.eclipse.ui,
+Require-Bundle: org.eclipse.egit.core;bundle-version="1.1.0",
+ org.eclipse.jgit;bundle-version="1.1.0",
+ org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.core.expressions;bundle-version="3.4.300"
+ org.eclipse.core.expressions;bundle-version="[3.4.300,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.7.100,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.7.0,4.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml 2011-08-16 08:34:46 UTC
(rev 33962)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml 2011-08-16 08:39:59 UTC
(rev 33963)
@@ -5,7 +5,7 @@
point="org.eclipse.ui.commands">
<command
description="psuhes and commits"
- id="org.jboss.ide.eclipse.as.egit.ui.commands.PushAndCommit"
+
id="org.jboss.ide.eclipse.as.egit.ui.commands.CommitAndPushCommand"
name="pushAndCommit">
</command>
</extension>
@@ -13,8 +13,8 @@
point="org.eclipse.ui.handlers">
<handler
class="org.jboss.ide.eclipse.as.egit.internal.ui.commands.CommitAndPushHandler"
-
commandId="org.jboss.ide.eclipse.as.egit.ui.commands.PushAndCommit">
-<!-- <activeWhen>
+
commandId="org.jboss.ide.eclipse.as.egit.ui.commands.CommitAndPushCommand">
+ <activeWhen>
<and>
<count
value="+">
@@ -33,7 +33,7 @@
</or>
</iterate>
</and>
- </activeWhen> -->
+ </activeWhen>
</handler>
</extension>
<extension
@@ -42,12 +42,39 @@
allPopups="true"
locationURI="popup:team.main?after=group1">
<command
-
commandId="org.jboss.ide.eclipse.as.egit.ui.commands.PushAndCommit"
+
commandId="org.jboss.ide.eclipse.as.egit.ui.commands.CommitAndPushCommand"
label="Commit and Push"
style="push"
tooltip="Commit And Push">
+ <visibleWhen
+ checkEnabled="false">
+ <and>
+ <count
+ value="1">
+ </count>
+ <iterate>
+ <and>
+ <adapt
+ type="org.eclipse.core.resources.IProject">
+ <test
+ property="GitResource.isShared">
+ </test>
+ </adapt>
+ </and>
+ </iterate>
+ </and>
+ </visibleWhen>
</command>
</menuContribution>
</extension>
-
+ <extension
+ point="org.eclipse.core.expressions.propertyTesters">
+ <propertyTester
+
class="org.jboss.ide.eclipse.as.egit.internal.ui.commands.ResourcePropertyTester"
+ id="org.eclipse.egit.ui.ResourceTester"
+ namespace="GitResource"
+ properties="isShared,isSafe,isContainer"
+ type="org.eclipse.core.resources.IResource">
+ </propertyTester>
+ </extension>
</plugin>
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/ResourcePropertyTester.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/ResourcePropertyTester.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/ResourcePropertyTester.java 2011-08-16
08:39:59 UTC (rev 33963)
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SAP AG.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Mathias Kinzler (SAP AG) - initial implementation
+ * Dariusz Luksza <dariusz(a)luksza.org> - add 'isSafe' implementation
+ *******************************************************************************/
+package org.jboss.ide.eclipse.as.egit.internal.ui.commands;
+
+import static org.eclipse.jgit.lib.RepositoryState.SAFE;
+
+import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.egit.core.project.RepositoryMapping;
+
+/**
+ * Resource-based property tester
+ */
+public class ResourcePropertyTester extends PropertyTester {
+
+ public boolean test(Object receiver, String property, Object[] args,
+ Object expectedValue) {
+ if (!(receiver instanceof IResource))
+ return false;
+ IResource res = (IResource) receiver;
+ if ("isShared".equals(property)) { //$NON-NLS-1$
+ RepositoryMapping mapping = RepositoryMapping.getMapping(res
+ .getProject());
+ return mapping != null && mapping.getRepository() != null;
+ } else if ("isSafe".equals(property)) { //$NON-NLS-1$
+ RepositoryMapping mapping = RepositoryMapping.getMapping(res
+ .getProject());
+ return mapping != null
+ && SAFE == mapping.getRepository().getRepositoryState();
+ } else if ("isContainer".equals(property)) { //$NON-NLS-1$
+ int type = res.getType();
+ return type == IResource.FOLDER || type == IResource.PROJECT;
+ }
+ return false;
+ }
+
+}
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/ResourcePropertyTester.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain