summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshawn.f.cook2011-11-01 15:06:29 (EDT)
committer Roberto E. Escobar2011-11-01 15:06:29 (EDT)
commit5ce3a4e51c04bf1611ba61cee07f3a8479053996 (patch)
treea6260e66d1236eefa5ad99819ac89eed4e84e712
parent70e521678d029ae282f517caaf80976ed0d3a6f5 (diff)
downloadorg.eclipse.osee-5ce3a4e51c04bf1611ba61cee07f3a8479053996.zip
org.eclipse.osee-5ce3a4e51c04bf1611ba61cee07f3a8479053996.tar.gz
org.eclipse.osee-5ce3a4e51c04bf1611ba61cee07f3a8479053996.tar.bz2
feature[ats_36Z52]: Implement email dialog
-rw-r--r--plugins/org.eclipse.osee.ats.presenter.mock/src/org/eclipse/osee/ats/presenter/mock/internal/MockAtsWebSearchPresenter.java4
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/CssConstants.java1
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeAttributeComponent.java2
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeExceptionDialogComponent.java263
-rw-r--r--plugins/org.eclipse.osee.support.config/launchConfig/UI.launch4
-rw-r--r--plugins/org.eclipse.osee.vaadin.themes/src/VAADIN/themes/osee/styles.css4
6 files changed, 241 insertions, 37 deletions
diff --git a/plugins/org.eclipse.osee.ats.presenter.mock/src/org/eclipse/osee/ats/presenter/mock/internal/MockAtsWebSearchPresenter.java b/plugins/org.eclipse.osee.ats.presenter.mock/src/org/eclipse/osee/ats/presenter/mock/internal/MockAtsWebSearchPresenter.java
index 8268763..397c763 100644
--- a/plugins/org.eclipse.osee.ats.presenter.mock/src/org/eclipse/osee/ats/presenter/mock/internal/MockAtsWebSearchPresenter.java
+++ b/plugins/org.eclipse.osee.ats.presenter.mock/src/org/eclipse/osee/ats/presenter/mock/internal/MockAtsWebSearchPresenter.java
@@ -23,6 +23,7 @@ import org.eclipse.osee.ats.api.search.AtsSearchPresenter;
import org.eclipse.osee.display.api.components.ArtifactHeaderComponent;
import org.eclipse.osee.display.api.components.AttributeComponent;
import org.eclipse.osee.display.api.components.DisplayOptionsComponent;
+import org.eclipse.osee.display.api.components.DisplaysErrorComponent.MsgType;
import org.eclipse.osee.display.api.components.RelationComponent;
import org.eclipse.osee.display.api.components.SearchResultComponent;
import org.eclipse.osee.display.api.components.SearchResultsListComponent;
@@ -241,6 +242,9 @@ public class MockAtsWebSearchPresenter<T extends AtsSearchHeaderComponent, K ext
attrComp.addAttribute(
"Word Content Template",
"Type: Graphic Format (Location): {MAP_overlay_UIG} {FLIGHT_UIG} {WEAPON_UIG} Local Data Definition: [{RF_HANDOVER_TARGET}.DELTA_NORTH_BETWEEN_AIRCRAFT]: (floating point number) meters Mode: North_Dist returned from {FIND_NORTH_EAST_DIST_BETWEEN_TWO_POINTS}( [RFHO_DATA.RFHO_R_LAT_(MSW,LSW)]LM -> Pt1.Lat, [RFHO_DATA.RFHO_R_LONG_(MSW,LSW)]LM -> Pt1.Long, [.AIRCRAFT_LATITUDE] -> Pt2.Lat, [.AIRCRAFT_LONGITUDE] -> Pt2.Long)");
+ } else {
+ artHeaderComp.setErrorMessage("No artifact found with ID:" + artGuid, "[no more information]",
+ MsgType.MSGTYPE_WARNING);
}
}
}
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/CssConstants.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/CssConstants.java
index ce378ec..d4630d4 100644
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/CssConstants.java
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/CssConstants.java
@@ -62,6 +62,7 @@ public final class CssConstants {
public static final String OSEE_EXCEPTION_ERROR_TITLE_TEXT = "osee-exception-error-title-text";
public static final String OSEE_EXCEPTION_WARNING_TITLE_TEXT = "osee-exception-warning-title-text";
public static final String OSEE_EXCEPTION_LONGMSG = "osee-exception-longmsg";
+ public static final String OSEE_EMAILDIALOG_TITLES = "osee-emaildialog-titles";
public static final String OSEE_WORKING_LABEL_1 = "osee-working-label-1";
public static final String OSEE_WORKING_LABEL_2 = "osee-working-label-2";
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeAttributeComponent.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeAttributeComponent.java
index 267393b..ac2849b 100644
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeAttributeComponent.java
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeAttributeComponent.java
@@ -78,7 +78,7 @@ public class OseeAttributeComponent extends VerticalLayout implements AttributeC
TextField attrValue = new TextField();
attrValue.setValue(value);
attrValue.setWidth(500, UNITS_PIXELS);
- attrValue.setHeight(150, UNITS_PIXELS);
+ attrValue.setHeight(100, UNITS_PERCENTAGE);
attributesLayout.setRows(attributesLayout.getRows() + 1);
attributesLayout.addComponent(attrValue, 2, rowIndex);
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeExceptionDialogComponent.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeExceptionDialogComponent.java
index 802c7f0..a9780e9 100644
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeExceptionDialogComponent.java
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeExceptionDialogComponent.java
@@ -10,8 +10,13 @@
*******************************************************************************/
package org.eclipse.osee.display.view.web.components;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import org.eclipse.osee.display.api.EmailView;
import org.eclipse.osee.display.api.components.DisplaysErrorComponent.MsgType;
import org.eclipse.osee.display.view.web.CssConstants;
+import com.vaadin.data.Property;
import com.vaadin.event.ShortcutAction.KeyCode;
import com.vaadin.terminal.ThemeResource;
import com.vaadin.ui.Alignment;
@@ -26,18 +31,31 @@ import com.vaadin.ui.Window;
* @author Shawn F. Cook
*/
@SuppressWarnings("serial")
-public class OseeExceptionDialogComponent extends Window {
+public class OseeExceptionDialogComponent extends Window implements EmailView {
private final Label msgTypeLabel = new Label();
+ private final Button closeButton = new Button();
private final Label shortMsgLabel = new Label();
private final TextField longMsgTextArea = new TextField();
private final Button showHideDetailsButton = new Button("Show Details");
- private final Button closeButton = new Button();
+ private final Button emailButton = new Button("Email Support");
+ private final Button emailSendButton = new Button("Send");
+ private final Label emailSubjectLabel = new Label();
+ private final TextField emailRecipTextArea = new TextField();
+ private final TextField emailBodyTextArea = new TextField();
+ private final Label emailStatusLabel = new Label();
+ private final Label emailDisplayMsgLabel = new Label();
+ private final VerticalLayout vLayout_Email = new VerticalLayout();
private final Window mainWindow;
private final int HEIGHT_CLOSED = 100;
private final int HEIGHT_OPEN = 210;
private final int WIDTH = 400;
private final int MARGIN = 15;
+ private String fromEmail = "";
+ private Collection<String> replyToEmails = new ArrayList<String>();
+ private Collection<String> recipientsEmails = new ArrayList<String>();
+ private final Collection<SendListener> sendListeners = new ArrayList<SendListener>();
+ private final Collection<Validator> validatorListeners = new ArrayList<Validator>();
public OseeExceptionDialogComponent(MsgType msgType, String shortMsg, String longMsg, Window mainWindow) {
this.mainWindow = mainWindow;
@@ -89,11 +107,45 @@ public class OseeExceptionDialogComponent extends Window {
private void createLayout() {
setWidth(WIDTH, UNITS_PIXELS);
- setHeight(HEIGHT_CLOSED, UNITS_PIXELS);
+ setHeight(HEIGHT_OPEN, UNITS_PIXELS);
setCloseShortcut(KeyCode.ESCAPE);
setScrollable(false);
setStyleName(CssConstants.OSEE_EXCEPTION);
+ VerticalLayout vLayout_body = new VerticalLayout();
+ HorizontalLayout hLayout_Row0 = new HorizontalLayout();
+ HorizontalLayout hLayout_Row1 = new HorizontalLayout();
+ HorizontalLayout hLayout_Row2 = new HorizontalLayout();
+ HorizontalLayout hLayout_Row3_Exception = new HorizontalLayout();
+ HorizontalLayout hLayout_Row3_Email = new HorizontalLayout();
+ HorizontalLayout hLayout_Row4_Email = new HorizontalLayout();
+ HorizontalLayout hLayout_Row5_Email = new HorizontalLayout();
+ HorizontalLayout hLayout_Row6_Email = new HorizontalLayout();
+
+ Label vSpacer_AboveButtons = new Label();
+ vSpacer_AboveButtons.setHeight(10, UNITS_PIXELS);
+ Label vSpacer_AboveDetails = new Label();
+ vSpacer_AboveDetails.setHeight(10, UNITS_PIXELS);
+ Label vSpacer_Email_1 = new Label();
+ vSpacer_Email_1.setHeight(10, UNITS_PIXELS);
+ Label vSpacer_Email_2 = new Label();
+ vSpacer_Email_2.setHeight(10, UNITS_PIXELS);
+ Label hSpacer_EmailSubject = new Label();
+ hSpacer_EmailSubject.setWidth(5, UNITS_PIXELS);
+ Label hSpacer_EmailRecip = new Label();
+ hSpacer_EmailRecip.setWidth(5, UNITS_PIXELS);
+
+ closeButton.setStyleName("link");
+ closeButton.setIcon(new ThemeResource("../osee/closebutton.png"));
+ closeButton.addListener(new Button.ClickListener() {
+ @Override
+ public void buttonClick(Button.ClickEvent event) {
+ mainWindow.removeWindow(OseeExceptionDialogComponent.this);
+ }
+ });
+ msgTypeLabel.setSizeUndefined();
+ closeButton.setSizeUndefined();
+
shortMsgLabel.setWidth(null);
longMsgTextArea.setWidth(WIDTH - MARGIN, UNITS_PIXELS);
@@ -106,54 +158,197 @@ public class OseeExceptionDialogComponent extends Window {
public void buttonClick(Button.ClickEvent event) {
longMsgTextArea.setVisible(!longMsgTextArea.isVisible());
if (longMsgTextArea.isVisible()) {
+ showHideDetailsButton.setCaption("Hide Details");
OseeExceptionDialogComponent.this.setHeight(HEIGHT_OPEN, UNITS_PIXELS);
+ emailButton.setCaption("Email Support");
+ vLayout_Email.setVisible(false);
+ emailSendButton.setVisible(false);
} else {
+ showHideDetailsButton.setCaption("Show Details");
OseeExceptionDialogComponent.this.setHeight(HEIGHT_CLOSED, UNITS_PIXELS);
}
}
});
- closeButton.setStyleName("link");
- closeButton.setIcon(new ThemeResource("../osee/closebutton.png"));
- closeButton.addListener(new Button.ClickListener() {
+ Label emailSubjectTitle = new Label("Subject:");
+ Label emailRecipTitle = new Label("Recipients:");
+ vLayout_Email.setSizeFull();
+ vLayout_Email.setVisible(false);
+ emailSubjectTitle.setWidth(70, UNITS_PIXELS);
+ emailSubjectTitle.setStyleName(CssConstants.OSEE_EMAILDIALOG_TITLES);
+ emailRecipTitle.setWidth(70, UNITS_PIXELS);
+ emailRecipTitle.setStyleName(CssConstants.OSEE_EMAILDIALOG_TITLES);
+ emailSubjectLabel.setSizeFull();
+ emailRecipTextArea.setWidth(100, UNITS_PERCENTAGE);
+ emailBodyTextArea.setWidth(WIDTH - MARGIN, UNITS_PIXELS);
+ emailBodyTextArea.setHeight(HEIGHT_CLOSED, UNITS_PIXELS);
+ emailSendButton.setStyleName("link");
+ emailButton.setStyleName("link");
+ emailButton.addListener(new Button.ClickListener() {
@Override
public void buttonClick(Button.ClickEvent event) {
- mainWindow.removeWindow(OseeExceptionDialogComponent.this);
+ vLayout_Email.setVisible(!vLayout_Email.isVisible());
+ if (vLayout_Email.isVisible()) {
+ emailButton.setCaption("Cancel");
+ OseeExceptionDialogComponent.this.setHeight(HEIGHT_OPEN + 70, UNITS_PIXELS);
+ emailSendButton.setVisible(true);
+ showHideDetailsButton.setCaption("Show Details");
+ longMsgTextArea.setVisible(false);
+ } else {
+ emailButton.setCaption("Email Support");
+ emailSendButton.setVisible(false);
+ OseeExceptionDialogComponent.this.setHeight(HEIGHT_CLOSED, UNITS_PIXELS);
+ }
}
});
-
- VerticalLayout vLayout_body = new VerticalLayout();
- HorizontalLayout row0 = new HorizontalLayout();
- HorizontalLayout row1 = new HorizontalLayout();
- HorizontalLayout row2 = new HorizontalLayout();
- HorizontalLayout row3 = new HorizontalLayout();
+ emailSendButton.addListener(new Button.ClickListener() {
+ @Override
+ public void buttonClick(Button.ClickEvent event) {
+ //TODO: Send email.
+ }
+ });
+ emailStatusLabel.setSizeFull();
+ emailDisplayMsgLabel.setSizeFull();
vLayout_body.setStyleName(CssConstants.OSEE_EXCEPTION);
-
- row0.setSizeFull();
- row1.setSizeFull();
- row2.setSizeFull();
- row3.setSizeFull();
vLayout_body.setWidth(WIDTH - MARGIN, UNITS_PIXELS);
- msgTypeLabel.setSizeUndefined();
- closeButton.setSizeUndefined();
- Label vSpacer_AboveDetails = new Label();
- vSpacer_AboveDetails.setHeight(20, UNITS_PIXELS);
-
- row0.addComponent(msgTypeLabel);
- row0.addComponent(closeButton);
- row1.addComponent(shortMsgLabel);
- row2.addComponent(longMsgTextArea);
- row3.addComponent(showHideDetailsButton);
- vLayout_body.addComponent(row0);
- vLayout_body.addComponent(row1);
- vLayout_body.addComponent(row2);
+ hLayout_Row0.setSizeFull();
+ hLayout_Row1.setSizeFull();
+ hLayout_Row2.setSizeFull();
+ hLayout_Row3_Exception.setSizeFull();
+ hLayout_Row3_Email.setSizeFull();
+ hLayout_Row4_Email.setSizeFull();
+ hLayout_Row5_Email.setSizeFull();
+ vLayout_Email.setSizeFull();
+
+ hLayout_Row0.addComponent(msgTypeLabel);
+ hLayout_Row0.addComponent(closeButton);
+ hLayout_Row1.addComponent(shortMsgLabel);
+ hLayout_Row2.addComponent(showHideDetailsButton);
+ hLayout_Row2.addComponent(emailButton);
+ hLayout_Row2.addComponent(emailSendButton);
+
+ hLayout_Row3_Exception.addComponent(longMsgTextArea);
+
+ hLayout_Row3_Email.addComponent(emailSubjectTitle);
+ hLayout_Row3_Email.addComponent(hSpacer_EmailSubject);
+ hLayout_Row3_Email.addComponent(emailSubjectLabel);
+ hLayout_Row4_Email.addComponent(emailRecipTitle);
+ hLayout_Row4_Email.addComponent(hSpacer_EmailRecip);
+ hLayout_Row4_Email.addComponent(emailRecipTextArea);
+ hLayout_Row5_Email.addComponent(emailBodyTextArea);
+ hLayout_Row6_Email.addComponent(emailStatusLabel);
+ hLayout_Row6_Email.addComponent(emailDisplayMsgLabel);
+ vLayout_Email.addComponent(hLayout_Row3_Email);
+ vLayout_Email.addComponent(vSpacer_Email_1);
+ vLayout_Email.addComponent(hLayout_Row4_Email);
+ vLayout_Email.addComponent(vSpacer_Email_2);
+ vLayout_Email.addComponent(hLayout_Row5_Email);
+ vLayout_Email.addComponent(hLayout_Row6_Email);
+
+ vLayout_body.addComponent(hLayout_Row0);
+ vLayout_body.addComponent(hLayout_Row1);
+ vLayout_body.addComponent(vSpacer_AboveButtons);
+ vLayout_body.addComponent(hLayout_Row2);
vLayout_body.addComponent(vSpacer_AboveDetails);
- vLayout_body.addComponent(row3);
+ vLayout_body.addComponent(hLayout_Row3_Exception);
+ vLayout_body.addComponent(vLayout_Email);
setContent(vLayout_body);
- row0.setComponentAlignment(closeButton, Alignment.TOP_RIGHT);
- row3.setComponentAlignment(showHideDetailsButton, Alignment.BOTTOM_CENTER);
+ hLayout_Row0.setComponentAlignment(closeButton, Alignment.TOP_RIGHT);
+ hLayout_Row3_Email.setExpandRatio(emailSubjectLabel, 1.0f);
+ hLayout_Row4_Email.setExpandRatio(emailRecipTextArea, 1.0f);
+ }
+
+ private void emailListToPropertyValue(Property property, Collection<String> emails) {
+ StringBuilder sb = new StringBuilder();
+ Iterator<String> iter = emails.iterator();
+ while (iter.hasNext()) {
+ String email = iter.next();
+ sb.append(email);
+ if (iter.hasNext()) {
+ sb.append(", ");
+ }
+ }
+ }
+
+ @Override
+ public void setFrom(String email) {
+ fromEmail = email;
+ }
+
+ @Override
+ public String getFrom() {
+ return fromEmail;
+ }
+
+ @Override
+ public void setReplyTo(Collection<String> emails) {
+ replyToEmails.clear();
+ replyToEmails.addAll(emails);
+ }
+
+ @Override
+ public Collection<String> getReplyTos() {
+ return replyToEmails;
+ }
+
+ @Override
+ public void setRecipients(Collection<String> emails) {
+ recipientsEmails.clear();
+ recipientsEmails.addAll(emails);
+ emailListToPropertyValue(emailRecipTextArea, emails);
+ }
+
+ @Override
+ public Collection<String> getRecipients() {
+ return recipientsEmails;
+ }
+
+ @Override
+ public void setSubject(String subject) {
+ emailSubjectLabel.setValue(subject);
+ }
+
+ @Override
+ public String getSubject() {
+ return (String) emailSubjectLabel.getValue();
+ }
+
+ @Override
+ public void setBody(String body) {
+ emailBodyTextArea.setValue(body);
+ }
+
+ @Override
+ public String getBody() {
+ return (String) emailBodyTextArea.getValue();
+ }
+
+ @Override
+ public void setEmailStatus(EmailSendStatus status) {
+ emailStatusLabel.setValue(status);
+ }
+
+ @Override
+ public void addOnSendListener(SendListener listener) {
+ sendListeners.add(listener);
+ }
+
+ @Override
+ public void addEmailValidator(Validator validator) {
+ validatorListeners.add(validator);
+ }
+
+ @Override
+ public void displayMessage(String caption) {
+ emailDisplayMsgLabel.setValue(caption);
+ }
+
+ @Override
+ public void displayMessage(String caption, String description) {
+ emailDisplayMsgLabel.setValue(caption);
+ emailDisplayMsgLabel.setDescription(description);//tooltip
}
}
diff --git a/plugins/org.eclipse.osee.support.config/launchConfig/UI.launch b/plugins/org.eclipse.osee.support.config/launchConfig/UI.launch
index fdfcb37..e04cf87 100644
--- a/plugins/org.eclipse.osee.support.config/launchConfig/UI.launch
+++ b/plugins/org.eclipse.osee.support.config/launchConfig/UI.launch
@@ -19,10 +19,10 @@
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.osgi.service.http.port=8089"/>
<stringAttribute key="pde.version" value="3.3"/>
<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.google.collect@default:default,com.ibm.icu@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.commons.codec@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.servletbridge.extensionbundle@default:false,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit*4.8.2.v4_8_2_v20110321-1705@default:default,org.mortbay.jetty.server@default:default,org.mortbay.jetty.util@default:default,org.objectweb.asm@default:default,org.slf4j.api@default:default,org.slf4j.jcl@default:default"/>
+<stringAttribute key="target_bundles" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.google.collect@default:default,com.ibm.icu@default:default,javax.activation@default:default,javax.mail.glassfish@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.commons.codec@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.servletbridge.extensionbundle@default:false,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit*4.8.2.v4_8_2_v20110321-1705@default:default,org.mortbay.jetty.server@default:default,org.mortbay.jetty.util@default:default,org.objectweb.asm@default:default,org.slf4j.api@default:default,org.slf4j.jcl@default:default"/>
<stringAttribute key="timestamp" value="1319756060609"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="workspace_bundles" value="com.vaadin@default:default,org.eclipse.osee.ats.api@default:default,org.eclipse.osee.ats.mocks@default:default,org.eclipse.osee.ats.presenter.mock@default:default,org.eclipse.osee.ats.view.web.test@default:false,org.eclipse.osee.ats.view.web@default:default,org.eclipse.osee.display.api@default:default,org.eclipse.osee.display.presenter.mocks@default:default,org.eclipse.osee.display.presenter.test@default:false,org.eclipse.osee.display.presenter@default:default,org.eclipse.osee.display.view.web@default:default,org.eclipse.osee.event.osgi@default:default,org.eclipse.osee.event@default:default,org.eclipse.osee.executor.admin.test@default:false,org.eclipse.osee.executor.admin@default:default,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.logging.test@default:false,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.logback.config@default:false,org.eclipse.osee.logger.slf4j@default:default,org.eclipse.osee.logger@default:default,org.eclipse.osee.orcs.mock@default:default,org.eclipse.osee.orcs@default:default,org.eclipse.osee.vaadin.themes@default:false,org.eclipse.osee.vaadin.widgets@default:default,org.eclipse.osee.vaadin@default:default"/>
+<stringAttribute key="workspace_bundles" value="com.vaadin@default:default,org.eclipse.osee.ats.api@default:default,org.eclipse.osee.ats.mocks@default:default,org.eclipse.osee.ats.presenter.mock@default:default,org.eclipse.osee.ats.view.web.test@default:false,org.eclipse.osee.ats.view.web@default:default,org.eclipse.osee.display.api@default:default,org.eclipse.osee.display.presenter.mocks@default:default,org.eclipse.osee.display.presenter.test@default:false,org.eclipse.osee.display.presenter@default:default,org.eclipse.osee.display.view.web@default:default,org.eclipse.osee.event.osgi@default:default,org.eclipse.osee.event@default:default,org.eclipse.osee.executor.admin.test@default:false,org.eclipse.osee.executor.admin@default:default,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.logging.test@default:false,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.logback.config@default:false,org.eclipse.osee.logger.slf4j@default:default,org.eclipse.osee.logger@default:default,org.eclipse.osee.mail.test@default:default,org.eclipse.osee.mail@default:default,org.eclipse.osee.orcs.mock@default:default,org.eclipse.osee.orcs@default:default,org.eclipse.osee.vaadin.themes@default:false,org.eclipse.osee.vaadin.widgets@default:default,org.eclipse.osee.vaadin@default:default"/>
</launchConfiguration>
diff --git a/plugins/org.eclipse.osee.vaadin.themes/src/VAADIN/themes/osee/styles.css b/plugins/org.eclipse.osee.vaadin.themes/src/VAADIN/themes/osee/styles.css
index bbe8653..14000c8 100644
--- a/plugins/org.eclipse.osee.vaadin.themes/src/VAADIN/themes/osee/styles.css
+++ b/plugins/org.eclipse.osee.vaadin.themes/src/VAADIN/themes/osee/styles.css
@@ -196,6 +196,10 @@
resize: none;
}
+.osee-emaildialog-titles {
+ text-align: right;
+ }
+
.v-window-wrap {
border: none;
-webkit-border-radius: 12px;