diff options
author | Wim Jongman | 2018-05-28 21:15:32 +0000 |
---|---|---|
committer | Wim Jongman | 2018-05-29 08:17:38 +0000 |
commit | acc5369af6573206c36bd65665654bed6ad066df (patch) | |
tree | d461e2e3db8a0160d5b93eb435f8274a457e2bbe | |
parent | 86a4693beb249cb5a792a826cf64fa03f1e6c787 (diff) | |
download | eclipse.platform.ua-acc5369af6573206c36bd65665654bed6ad066df.tar.gz eclipse.platform.ua-acc5369af6573206c36bd65665654bed6ad066df.tar.xz eclipse.platform.ua-acc5369af6573206c36bd65665654bed6ad066df.zip |
Bug 535154: [Tips] If all tips are read, Tips dialog shows empty page
#PS1
* Fixed some documentation
* A notification is shown if no tips can be found after 1.5 seconds
Change-Id: If537e6f3e6a8e20c80ce5ab27e274d86c4092864
Signed-off-by: Wim Jongman <wim.jongman@remainsoftware.com>
3 files changed, 36 insertions, 3 deletions
diff --git a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/Messages.java b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/Messages.java index b03d15f9d..907305636 100644 --- a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/Messages.java +++ b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/Messages.java @@ -12,6 +12,7 @@ public class Messages extends NLS { public static String TipComposite_11; public static String TipComposite_12; public static String TipComposite_13; + public static String TipComposite_14; public static String TipComposite_2; public static String TipComposite_3; public static String TipComposite_4; diff --git a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipComposite.java b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipComposite.java index c98bd4d6d..1067e4d5d 100644 --- a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipComposite.java +++ b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipComposite.java @@ -138,7 +138,7 @@ public class TipComposite extends Composite implements ProviderSelectionListener fStartupItem = new ToolItem(ftoolBar, SWT.DROP_DOWN); fStartupItem.setText(Messages.TipComposite_13); fStartupItem.addListener(SWT.Selection, event -> { - showStartupOptions(menu); + showStartupOptions(menu); }); fUnreadOnly = new Button(preferenceBar, SWT.CHECK); @@ -250,6 +250,8 @@ public class TipComposite extends Composite implements ProviderSelectionListener fSlider.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, false, false, 1, 1)); fContentStack.topControl = fBrowserComposite; fSlider.addTipProviderListener(this); + + loadWaitingScript(); } private void showStartupOptions(final Menu menu) { @@ -420,7 +422,7 @@ public class TipComposite extends Composite implements ProviderSelectionListener } /** - * Sets content in the browser that displays a message after 500ms if the Tip + * Sets content in the browser that displays a message after 1500ms if the Tip * could not load fast enough. */ private void loadTimeOutScript() { @@ -432,6 +434,35 @@ public class TipComposite extends Composite implements ProviderSelectionListener } } + /** + * Sets content in the browser that displays a message after 1500ms if tips + * could not be loaded. + */ + private void loadWaitingScript() { + fBrowser.setText(getWaitingScript(1500)); + while (!isDisposed()) { + if (!getDisplay().readAndDispatch()) { + break; + } + } + } + + /** + * Get the timeout script in case the tips are not loading. + * + * @param timeout the timeout in milliseconds + * @return the script + */ + private static String getWaitingScript(int timeout) { + return "<style>div{height: 90vh;display: flex;justify-content: center;align-items: center;}</style>" //$NON-NLS-1$ + + "<div id=\"txt\"></div>" //$NON-NLS-1$ + + "<script>var wss=function(){document.getElementById(\"txt\").innerHTML=\"" //$NON-NLS-1$ + + Messages.TipComposite_14 // + + "\"};window.setTimeout(wss," //$NON-NLS-1$ + + timeout // + + ");</script>"; //$NON-NLS-1$ + } + private void enableActionButtons(Tip tip) { disposeActionImages(); if (tip.getActions().isEmpty()) { @@ -509,7 +540,7 @@ public class TipComposite extends Composite implements ProviderSelectionListener } /** - * Get the timeout script in case the tips takes too to load. + * Get the timeout script in case a tip takes time to load. * * @param timeout the timeout in milliseconds * @return the script diff --git a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/messages.properties b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/messages.properties index 93565db12..a646ead63 100644 --- a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/messages.properties +++ b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/messages.properties @@ -9,6 +9,7 @@ TipComposite_3=More... TipComposite_4=New Button TipComposite_1=&Show dialog on new tips TipComposite_13=&Startup Options +TipComposite_14=Waiting for a provider with content. Are all tips read? TipComposite_5=&Indicate new tips in status bar TipComposite_6=&Disable TipComposite_7=&Previous Tip |