summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShireesh Anjal <anjalshireesh@gmail.com>2011-08-19 04:07:54 -0700
committerShireesh Anjal <anjalshireesh@gmail.com>2011-08-19 04:07:54 -0700
commit91828e674deeb6b7979bd3ace6029698763c02ce (patch)
treef4b0ed9a3acad237c60d4610d27af3a0e42a0352
parentf75bf5f45ffc3bf62646b1cfd7e4503cccc81ab3 (diff)
parent747535b8750020b3783891da56fa098c2d6bab9b (diff)
Merge pull request #253 from Dhandapani/master
Gluster support contact dialog added
-rw-r--r--src/com.gluster.storage.management.console/plugin.xml19
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ApplicationActionBarAdvisor.java4
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/SupportAction.java48
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/GlusterSupportDialog.java139
4 files changed, 209 insertions, 1 deletions
diff --git a/src/com.gluster.storage.management.console/plugin.xml b/src/com.gluster.storage.management.console/plugin.xml
index cf3c8eb3..90fa2c5b 100644
--- a/src/com.gluster.storage.management.console/plugin.xml
+++ b/src/com.gluster.storage.management.console/plugin.xml
@@ -1182,6 +1182,25 @@
</groupMarker>
</menu>
</actionSet>
+ <actionSet
+ description="Set of Actions in &quot;Edit&quot; menu"
+ id="com.gluster.storage.management.console.actionsets.help"
+ label="Help Action Set"
+ visible="true">
+ <action
+ allowLabelUpdate="false"
+ class="com.gluster.storage.management.console.actions.SupportAction"
+ definitionId="com.gluster.storage.management.console.commands.Support"
+ id="com.gluster.storage.management.console.actions.SupportAction"
+ label="&amp;Support"
+ menubarPath="help/helpEnd"
+ pulldown="false"
+ retarget="false"
+ state="false"
+ style="push"
+ tooltip="Support Information">
+ </action>
+ </actionSet>
</extension>
<extension
point="org.eclipse.ui.perspectiveExtensions">
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ApplicationActionBarAdvisor.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ApplicationActionBarAdvisor.java
index e49e1275..e8d2dd8c 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ApplicationActionBarAdvisor.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ApplicationActionBarAdvisor.java
@@ -23,6 +23,7 @@ import org.eclipse.jface.action.ICoolBarManager;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
+import org.eclipse.swt.SWT;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.actions.ActionFactory;
@@ -70,7 +71,8 @@ public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
register(aboutAction);
helpContentsAction = ActionFactory.HELP_CONTENTS.create(window);
- helpContentsAction.setText("&Contents");
+ helpContentsAction.setText("&Management Console Help");
+ helpContentsAction.setAccelerator(SWT.F1);
//helpContentsAction.setImageDescriptor(newImage)
register(helpContentsAction);
}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/SupportAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/SupportAction.java
new file mode 100644
index 00000000..5d0bc833
--- /dev/null
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/SupportAction.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+ * This file is part of Gluster Management Console.
+ *
+ * Gluster Management Console is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *******************************************************************************/
+package com.gluster.storage.management.console.actions;
+
+import org.eclipse.jface.action.IAction;
+
+import com.gluster.storage.management.console.dialogs.GlusterSupportDialog;
+
+/**
+ *
+ */
+public class SupportAction extends AbstractActionDelegate {
+
+ /* (non-Javadoc)
+ * @see com.gluster.storage.management.console.actions.AbstractActionDelegate#performAction(org.eclipse.jface.action.IAction)
+ */
+ @Override
+ protected void performAction(IAction action) {
+ GlusterSupportDialog dialog = new GlusterSupportDialog(getShell());
+ dialog.create();
+ dialog.getShell().setSize(770, 430);
+ dialog.open();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
+ */
+ @Override
+ public void dispose() {
+
+ }
+}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/GlusterSupportDialog.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/GlusterSupportDialog.java
new file mode 100644
index 00000000..a2659650
--- /dev/null
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/GlusterSupportDialog.java
@@ -0,0 +1,139 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+ * This file is part of Gluster Management Console.
+ *
+ * Gluster Management Console is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *******************************************************************************/
+package com.gluster.storage.management.console.dialogs;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.forms.FormDialog;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.events.HyperlinkAdapter;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.widgets.FormText;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+
+import com.gluster.storage.management.console.utils.GUIHelper;
+
+public class GlusterSupportDialog extends FormDialog {
+
+ private final GUIHelper guiHelper = GUIHelper.getInstance();
+ private FormToolkit toolkit;
+ private ScrolledForm form;
+ private Composite parent;
+
+ public GlusterSupportDialog(Shell shell) {
+ super(shell);
+ }
+
+ @Override
+ protected void configureShell(Shell newShell) {
+ super.configureShell(newShell);
+ this.parent = newShell;
+ newShell.setText("Gluster Management Console - Support Information");
+ }
+
+ protected void createFormContent(IManagedForm mform) {
+ form = mform.getForm();
+ toolkit = mform.getToolkit();
+ form.getBody().setLayout(new GridLayout());
+ createSections();
+ }
+
+ private void createSections() {
+ contactGlusterSupportSection();
+ commingSoonSection();
+ form.layout();
+ form.getParent().layout();
+ }
+
+
+ private void contactGlusterSupportSection() {
+ Composite section = guiHelper.createSection(form, toolkit, "Contact Gluster Support", null, 1, false);
+
+ FormText formText = toolkit.createFormText(section, false);
+ toolkit.createLabel(section, "Call 1-800-805-5215", SWT.NONE);
+ toolkit.createLabel(section, "or", SWT.NONE);
+ toolkit.createLabel(section, "Email:support@gluster.com", SWT.NONE);
+// String supportInfo = "<form>" +
+// "Call 1-800-805-5215<br />" +
+// "or<br />" +
+// "Email:support@gluster.com" +
+// "</form>";
+// formText.setText(supportInfo, true, true);
+ GridData layoutData = new GridData();
+ layoutData.widthHint = 730;
+ layoutData.grabExcessHorizontalSpace = true;
+ formText.setLayoutData(layoutData);
+ }
+
+ private void commingSoonSection() {
+ Composite section = guiHelper.createSection(form, toolkit, "Coming Soon", null, 7, false);
+ FormText formText = toolkit.createFormText(section, true);
+ String commingSoonInfo = "<form>" +
+ "The following features of GlusterFS will soon be supported in upcoming releases of Gluster Management Console " +
+ "<li>Geo-replication</li>" +
+ "<li>Directory Quota</li>" +
+ "<li>Top and Profile</li>" +
+ "<li>POSIX ACLs Support</li><br />" +
+ "More information about these features can be found at<br /> " +
+ "http://www.gluster.com/community/documentation/index.php/Gluster_3.2:_What_is_New_in_this_Release" +
+ "</form>";
+ formText.setText(commingSoonInfo, true, true);
+ GridData layoutData = new GridData();
+ layoutData.widthHint = 700;
+ layoutData.grabExcessHorizontalSpace = true;
+ formText.setLayoutData(layoutData);
+ formText.addHyperlinkListener(new HyperlinkAdapter() {
+ public void linkActivated(HyperlinkEvent e) {
+ System.out.println("Link activated: " + e.getHref());
+ try {
+ PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser()
+ .openURL(new URL((String) e.getHref()));
+ } catch (PartInitException e1) {
+ e1.printStackTrace();
+ } catch (MalformedURLException e1) {
+ e1.printStackTrace();
+ }
+ }
+ });
+ }
+
+ @Override
+ protected Control createButtonBar(Composite parent) {
+ return null;
+ }
+ /**
+ * Overriding to make sure that the dialog is centered in screen
+ */
+ @Override
+ protected void initializeBounds() {
+ super.initializeBounds();
+ guiHelper.centerShellInScreen(getShell());
+ }
+
+}