Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(726)

Unified Diff: editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/dialogs/AboutDartDialog.java

Issue 10702085: Improved UI for data preview copy/paste (dartbug.com/2197). (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/dialogs/AboutDartDialog.java
===================================================================
--- editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/dialogs/AboutDartDialog.java (revision 9365)
+++ editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/dialogs/AboutDartDialog.java (working copy)
@@ -17,6 +17,8 @@
import com.google.dart.tools.core.model.DartSdk;
import com.google.dart.tools.ui.DartToolsPlugin;
import com.google.dart.tools.ui.DartUI;
+import com.google.dart.tools.ui.actions.CopyDetailsToClipboardAction;
+import com.google.dart.tools.ui.actions.CopyDetailsToClipboardAction.DetailsProvider;
import com.google.dart.tools.update.core.UpdateAdapter;
import com.google.dart.tools.update.core.UpdateCore;
import com.google.dart.tools.update.core.UpdateListener;
@@ -41,7 +43,7 @@
/**
* A minimal "About Dart" dialog shell.
*/
-public class AboutDartDialog extends Shell {
+public class AboutDartDialog extends Shell implements DetailsProvider {
private static final ImageDescriptor ABOUT_IMG_DESC = ImageDescriptor.createFromURL(Platform.getBundle(
DartUI.ID_PLUGIN).getEntry(DialogsMessages.AboutDartDialog_about_image));
@@ -71,7 +73,26 @@
super.dispose();
}
+ //for copying to the clipboard
@Override
+ public String getDetails() {
+ StringBuilder builder = new StringBuilder();
+
+ builder.append(DialogsMessages.AboutDartDialog_version_string_prefix + getVersion() + ", "
+ + "Build " + DartToolsPlugin.getBuildId());
+
+ builder.append(NEW_LINE);
+
+ if (DartSdk.isInstalled()) {
+ builder.append("Dart SDK version " + DartSdk.getInstance().getSdkVersion());
+ } else {
+ builder.append("Dart SDK is not installed");
+ }
+
+ return builder.toString();
+ }
+
+ @Override
public void open() {
super.open();
UpdateCore.getUpdateManager().addListener(updateListener);
@@ -91,6 +112,8 @@
setSize(size);
+ addCopyDetailsPopup(this);
+
setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
Label graphic = newLabel(SWT.SHADOW_NONE | SWT.CENTER);
@@ -98,33 +121,28 @@
graphic);
graphic.setImage(DartToolsPlugin.getImage(ABOUT_IMG_DESC));
+ addCopyDetailsPopup(graphic);
+
Label productNameLabel = newLabel(SWT.BOLD);
productNameLabel.setFont(JFaceResources.getBannerFont());
productNameLabel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
productNameLabel.setText(DialogsMessages.AboutDartDialog_product_label);
+ addCopyDetailsPopup(productNameLabel);
+
StyledText buildDetailsText = new StyledText(this, SWT.WRAP);
buildDetailsText.setLineSpacing(7);
buildDetailsText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
buildDetailsText.setEditable(false);
center(buildDetailsText);
- StringBuilder builder = new StringBuilder();
+ String buildDetails = getDetails();
- builder.append(DialogsMessages.AboutDartDialog_version_string_prefix + getVersion() + ", "
- + "Build " + DartToolsPlugin.getBuildId());
+ buildDetailsText.setText(buildDetails);
+ buildDetailsText.setLineAlignment(1, 1, SWT.CENTER);
- builder.append(NEW_LINE);
+ addCopyDetailsPopup(buildDetailsText);
- if (DartSdk.isInstalled()) {
- builder.append("Dart SDK version " + DartSdk.getInstance().getSdkVersion());
- } else {
- builder.append("Dart SDK is not installed");
- }
-
- buildDetailsText.setText(builder.toString());
- buildDetailsText.setLineAlignment(1, 1, SWT.CENTER);
-
// spacer
newLabel(SWT.NONE);
@@ -132,10 +150,14 @@
center(copyrightLabel);
copyrightLabel.setText(DialogsMessages.AboutDartDialog_copyright);
+ addCopyDetailsPopup(copyrightLabel);
+
Label copyrightLabel2 = newLabel(SWT.NONE);
center(copyrightLabel2);
copyrightLabel2.setText(DialogsMessages.AboutDartDialog_copyright_line2);
+ addCopyDetailsPopup(copyrightLabel2);
+
//spacer and caret repressor
final StyledText spacer = new StyledText(this, SWT.NONE);
spacer.setFocus();
@@ -167,6 +189,10 @@
- initialSize.y)));
}
+ private void addCopyDetailsPopup(Control control) {
+ CopyDetailsToClipboardAction.addCopyDetailsPopup(control, this);
+ }
+
private void center(Control control) {
GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(control);
}
@@ -180,4 +206,5 @@
label.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
return label;
}
+
}

Powered by Google App Engine
This is Rietveld 408576698