Bug 355946 - [CSS] "View and Editor Folders" color preferences don't work
Summary: [CSS] "View and Editor Folders" color preferences don't work
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.1   Edit
Hardware: All All
: P3 normal with 1 vote (vote)
Target Milestone: 4.4 M6   Edit
Assignee: Daniel Rolka CLA
QA Contact: Daniel Rolka CLA
URL:
Whiteboard: candidate43
Keywords: usability
: 401345 438836 (view as bug list)
Depends on: 419016
Blocks: 429336 429337 429338
  Show dependency tree
 
Reported: 2011-08-26 09:04 EDT by Markus Keller CLA
Modified: 2016-05-10 13:07 EDT (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Keller CLA 2011-08-26 09:04:22 EDT
M20110817-2001

The "View and Editor Folders" color preferences don't work in 4.1. The preview shows the old rendering of tabs (which is not used any more in the workspace window), and changing the colors doesn't affect anything other than the preview.
Comment 1 Dani Megert CLA 2012-08-15 06:05:15 EDT
Eric, Paul, that's something we should consider for 4.2.x.

See also bug 387253.
Comment 2 Markus Keller CLA 2013-02-26 05:53:43 EST
*** Bug 401345 has been marked as a duplicate of this bug. ***
Comment 3 Eric Moffatt CLA 2013-03-01 15:13:08 EST
IMO we should remove that page or replace it with something that links to the Appearance preference page with comments indicating how to adjust the CSS.

Over time it'd be nice to update the CSS editor to help with this and similar situations but this would likely be post Kepler...
Comment 4 Paul Webster CLA 2013-03-04 08:42:05 EST
There was a bug for preference/CSS interaction, and allowing some preferences to surface in the CSS (but I can't find it now)

PW
Comment 5 J.F.Lanting CLA 2013-04-02 09:10:13 EDT
As this problem still exists in 4.3M6, can somebody explain to me how the CSS
solution works, so that I can set the tab colors as I used to have them.
Thanks in advance.
;JOOP!
Comment 6 Paul Webster CLA 2013-04-02 10:06:29 EDT
Looks for entries like the one listed in http://wiki.eclipse.org/Eclipse4/CSS#Reducing_the_tab_font_size

There's also a description on editing the CSS on that page.

PW
Comment 7 J.F.Lanting CLA 2013-04-04 12:56:13 EDT
Thanks.
;JOOP!
Comment 8 Dani Megert CLA 2013-04-29 03:35:34 EDT
Same for fonts, see bug 344234.
Comment 9 Paul Webster CLA 2014-02-04 15:10:01 EST
Daniel's change for review:

https://git.eclipse.org/r/#/c/21460/
https://git.eclipse.org/r/#/c/21461
Comment 10 Daniel Rolka CLA 2014-02-05 02:53:15 EST
(In reply to Paul Webster from comment #9)
> Daniel's change for review:
> 
> https://git.eclipse.org/r/#/c/21460/
> https://git.eclipse.org/r/#/c/21461

It is the initial draft of the implementation. I will add another Gerrit's link when the entire patch is ready.

Daniel
Comment 11 Dani Megert CLA 2014-02-14 04:32:38 EST
Hi Daniel. Any progress on this?
Comment 12 Daniel Rolka CLA 2014-02-18 08:05:04 EST
The patch proposal has been sent to Gerrit:
https://git.eclipse.org/r/#/c/22155/ and https://git.eclipse.org/r/#/c/22157/

Daniel
Comment 13 Paul Webster CLA 2014-02-20 14:37:16 EST
Hi Daniel,

I included my code review on the Gerrit change.  Some non-code review comments on the latest patch:

1) when I first go to the Appearance pref page, the colorsAndFonts combo is greyed out.  I expect to be able to set it.

2) I get an exception from my CSS pref editor so I'm going to put a guard in and commit it as it shouldn't interfere with this.

3) The general behaviour I expect from the 2 combos is that changing the CSS theme will update the colorsAndFonts combo *if* there's a color and font theme associated with it, otherwise nothing happens to the colorsAndFont theme.  Then the user is free to update the colorsAndFonts theme.  When they click OK, changes to either one is recorded.

PW
Comment 14 Daniel Rolka CLA 2014-02-21 10:51:44 EST
(In reply to Paul Webster from comment #13)
> Hi Daniel,
> 
> I included my code review on the Gerrit change.  Some non-code review
> comments on the latest patch:
> 
> 1) when I first go to the Appearance pref page, the colorsAndFonts combo is
> greyed out.  I expect to be able to set it.
> 

It is disabled since the default e4 theme doesn't have a 3.x theme association at this moment. Adding the association for the 'e4 default' theme will enable the combo. Currently the 'classic' themes are associated with the 3.x ones only.

I've applied the review comments and sent the altered patch to Gerrit: https://git.eclipse.org/r/#/c/22155/

thanks,
Daniel
Comment 15 Paul Webster CLA 2014-02-24 09:32:19 EST
(In reply to Daniel Rolka from comment #14)
> It is disabled since the default e4 theme doesn't have a 3.x theme
> association at this moment. Adding the association for the 'e4 default'
> theme will enable the combo. Currently the 'classic' themes are associated
> with the 3.x ones only.

How am I supposed to select a different 3.x color theme if the CSS theme doesn't specify one (doesn't care)?

PW
Comment 16 Daniel Rolka CLA 2014-02-24 09:49:00 EST
(In reply to Paul Webster from comment #15)
> (In reply to Daniel Rolka from comment #14)
> > It is disabled since the default e4 theme doesn't have a 3.x theme
> > association at this moment. Adding the association for the 'e4 default'
> > theme will enable the combo. Currently the 'classic' themes are associated
> > with the 3.x ones only.
> 
> How am I supposed to select a different 3.x color theme if the CSS theme
> doesn't specify one (doesn't care)?
> 
> PW

In such situaction the 3.x theme can be set by the 'plugin_configuration.ini' file

Daniel
Comment 17 Paul Webster CLA 2014-02-24 10:00:20 EST
(In reply to Daniel Rolka from comment #16)
> In such situaction the 3.x theme can be set by the
> 'plugin_configuration.ini' file

Current 3.x themes are available to modify editors and views, and the user needs to be able to set them (that's why I put the combo back, they won't modify the .ini file just to try out multiple themes).  See the usecase below that need to be satisfied.

(In reply to Paul Webster from comment #13)
> Hi Daniel,
> 
> I included my code review on the Gerrit change.  Some non-code review
> comments on the latest patch:
> 
> 1) when I first go to the Appearance pref page, the colorsAndFonts combo is
> greyed out.  I expect to be able to set it.
> 
> 3) The general behaviour I expect from the 2 combos is that changing the CSS
> theme will update the colorsAndFonts combo *if* there's a color and font
> theme associated with it, otherwise nothing happens to the colorsAndFont
> theme.  Then the user is free to update the colorsAndFonts theme.  When they
> click OK, changes to either one is recorded.

PW
Comment 18 Paul Webster CLA 2014-02-26 15:04:28 EST
I started a clean eclipse, and in my case the theme is GTK.  I switched the 3.x theme to Extended theme 1 and clicked OK.  Then I restarted my eclipse.

I went to the pref page and switched the 3.x theme back to default and Applied.  Then I switched the CSS theme from GTK to Classic and clicked OK.

I get many errors in my console:


java.lang.IllegalArgumentException: Argument not valid
	at org.eclipse.swt.SWT.error(SWT.java:4422)
	at org.eclipse.swt.SWT.error(SWT.java:4356)
	at org.eclipse.swt.SWT.error(SWT.java:4327)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:476)
	at org.eclipse.swt.widgets.Control.setForeground(Control.java:4394)
	at org.eclipse.swt.custom.CTabFolder.setForeground(CTabFolder.java:2577)
	at org.eclipse.e4.ui.css.swt.properties.css2.CSSPropertyTextSWTHandler.applyCSSPropertyColor(CSSPropertyTextSWTHandler.java:69)
	at org.eclipse.e4.ui.css.core.dom.properties.css2.AbstractCSSPropertyTextHandler.applyCSSProperty(AbstractCSSPropertyTextHandler.java:25)
	at org.eclipse.e4.ui.css.swt.properties.css2.CSSPropertyTextSWTHandler.applyCSSProperty(CSSPropertyTextSWTHandler.java:38)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyCSSProperty(AbstractCSSEngine.java:692)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyleDeclaration(AbstractCSSEngine.java:490)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:400)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:353)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:424)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:353)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:424)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:353)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:424)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:353)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:424)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:353)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:424)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:353)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:424)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:353)
	at org.eclipse.e4.ui.css.swt.engine.CSSSWTEngineImpl.reapply(CSSSWTEngineImpl.java:69)
	at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine.setTheme(ThemeEngine.java:466)
	at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine.themeModified(ThemeEngine.java:594)
	at org.eclipse.e4.tools.orion.css.editor.CSSEditorPreferences.performOK(CSSEditorPreferences.java:228)
	at org.eclipse.ui.internal.dialogs.ViewsPreferencePage.performOk(ViewsPreferencePage.java:206)
	at org.eclipse.jface.preference.PreferenceDialog$12.run(PreferenceDialog.java:992)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:178)
	at org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:971)
	at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:449)
	at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.okPressed(WorkbenchPreferenceDialog.java:171)
	at org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:236)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:636)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4423)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3771)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3391)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:832)
	at org.eclipse.jface.window.Window.open(Window.java:808)
	at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:215)
	at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:65)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:519)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4423)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3771)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3391)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1122)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1006)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:147)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:630)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:574)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:133)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:103)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:378)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:232)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1462)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Comment 19 Daniel Rolka CLA 2014-02-27 09:49:17 EST
I've pushed to Gerrit the new patch that I believe solves the issue - https://git.eclipse.org/r/#/c/22622/

thanks,
Daniel
Comment 20 Paul Webster CLA 2014-02-27 15:44:27 EST
(In reply to Daniel Rolka from comment #19)
> I've pushed to Gerrit the new patch that I believe solves the issue -
> https://git.eclipse.org/r/#/c/22622/

With this patch I get a failure in

UI Test Suite-fixed
org.eclipse.ui.tests.UiTestSuite
org.eclipse.ui.tests.themes.ThemesTestSuite
org.eclipse.ui.tests.themes.JFaceThemeTest
testPushdown(org.eclipse.ui.tests.themes.JFaceThemeTest)
junit.framework.AssertionFailedError: expected:<10> but was:<38>
	at junit.framework.Assert.fail(Assert.java:57)
	at junit.framework.Assert.failNotEquals(Assert.java:329)
	at junit.framework.Assert.assertEquals(Assert.java:78)
	at junit.framework.Assert.assertEquals(Assert.java:234)
	at junit.framework.Assert.assertEquals(Assert.java:241)
	at junit.framework.TestCase.assertEquals(TestCase.java:409)
	at org.eclipse.ui.tests.themes.JFaceThemeTest.testPushdown(JFaceThemeTest.java:76)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at junit.framework.TestCase.runTest(TestCase.java:176)
	at junit.framework.TestCase.runBare(TestCase.java:141)
	at junit.framework.TestResult$1.protect(TestResult.java:122)
	at junit.framework.TestResult.runProtected(TestResult.java:142)
	at junit.framework.TestResult.run(TestResult.java:125)
	at junit.framework.TestCase.run(TestCase.java:129)
	at junit.framework.TestSuite.runTest(TestSuite.java:255)
	at junit.framework.TestSuite.run(TestSuite.java:250)
	at junit.framework.TestSuite.runTest(TestSuite.java:255)
	at junit.framework.TestSuite.run(TestSuite.java:250)
	at junit.framework.TestSuite.runTest(TestSuite.java:255)
	at junit.framework.TestSuite.run(TestSuite.java:250)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:131)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62)
	at org.eclipse.pde.internal.junit.runtime.PlatformUITestHarness$1.run(PlatformUITestHarness.java:47)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3746)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3394)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1122)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1006)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:147)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:630)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:574)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
	at org.eclipse.pde.internal.junit.runtime.NonUIThreadTestApplication.runApp(NonUIThreadTestApplication.java:54)
	at org.eclipse.pde.internal.junit.runtime.UITestApplication.runApp(UITestApplication.java:47)
	at org.eclipse.pde.internal.junit.runtime.NonUIThreadTestApplication.start(NonUIThreadTestApplication.java:48)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:133)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:103)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:378)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:232)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1462)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Comment 21 Paul Webster CLA 2014-02-27 15:58:18 EST
(In reply to Daniel Rolka from comment #19)
> I've pushed to Gerrit the new patch that I believe solves the issue -
> https://git.eclipse.org/r/#/c/22622/

The below is still a problem, and it kills painting on my eclipse.

(In reply to Paul Webster from comment #18)
> I started a clean eclipse, and in my case the theme is GTK.  I switched the
> 3.x theme to Extended theme 1 and clicked OK.  Then I restarted my eclipse.
> 
> I went to the pref page and switched the 3.x theme back to default and
> Applied.  Then I switched the CSS theme from GTK to Classic and clicked OK.
> 
> I get many errors in my console:
> 
> 
> java.lang.IllegalArgumentException: Argument not valid
> 	at org.eclipse.swt.SWT.error(SWT.java:4422)
> 	at org.eclipse.swt.SWT.error(SWT.java:4356)
> 	at org.eclipse.swt.SWT.error(SWT.java:4327)
> 	at org.eclipse.swt.widgets.Widget.error(Widget.java:476)
> 	at org.eclipse.swt.widgets.Control.setForeground(Control.java:4394)
> 	at org.eclipse.swt.custom.CTabFolder.setForeground(CTabFolder.java:2577)
Comment 22 Paul Webster CLA 2014-02-27 16:03:59 EST
I don't see the behaviour I mentioned in comment #17 usecase 3.  If I have my prefs set to GTK+extended theme 1 and I switch the CSS theme to Classic, I expect to see the 3.x combo change to default because of:

   <themeAssociation 
		themeId="org.eclipse.e4.ui.css.theme.e4_classic"
		colorAndFontId="org.eclipse.ui.defaultTheme">
   </themeAssociation>
Comment 23 Paul Webster CLA 2014-02-27 16:13:54 EST
(In reply to Paul Webster from comment #22)
> I don't see the behaviour I mentioned in comment #17 usecase 3.  If I have
> my prefs set to GTK+extended theme 1 and I switch the CSS theme to Classic,
> I expect to see the 3.x combo change to default because of:

OK, it *does* update the 3.x combo when I switch to Classic because of the association.

But it applies the classic style right away (my tabs sorta change color and definitely change style to the swooped classic style).


The system should not make any changes until the user hits Apply or OK.

PW
Comment 24 Daniel Rolka CLA 2014-02-28 04:16:55 EST
(In reply to Paul Webster from comment #23)
> (In reply to Paul Webster from comment #22)
> > I don't see the behaviour I mentioned in comment #17 usecase 3.  If I have
> > my prefs set to GTK+extended theme 1 and I switch the CSS theme to Classic,
> > I expect to see the 3.x combo change to default because of:
> 
> OK, it *does* update the 3.x combo when I switch to Classic because of the
> association.
> 
> But it applies the classic style right away (my tabs sorta change color and
> definitely change style to the swooped classic style).
> 
> 
> The system should not make any changes until the user hits Apply or OK.
> 
> PW

Do you want to modify the current behavior and apply the new CSS theme after pressing Apply or OK button only? Currently we switch the CSS theme when the combo value gets changed to show the new selected theme to user. Basing on it they are able to pick the best theme before applying the changes.

It still doesn't work as desired since we have some issues when CSS themes are not synchronized (contain different sets of CSS rules that produce 'phantoms' in layout), but I believe we are able to fix it and allow to apply the new theme without restarting the Workbench. The first part of changes regarding it has been introduced with the bug 423813

Daniel
Comment 25 Daniel Rolka CLA 2014-02-28 04:18:46 EST
(In reply to Paul Webster from comment #21)
> (In reply to Daniel Rolka from comment #19)
> > I've pushed to Gerrit the new patch that I believe solves the issue -
> > https://git.eclipse.org/r/#/c/22622/
> 
> The below is still a problem, and it kills painting on my eclipse.
> 

I was not able to recreate the issue in my local env, but I will put some guard in the code to avoid it

Daniel
Comment 26 Paul Webster CLA 2014-02-28 05:49:58 EST
(In reply to Daniel Rolka from comment #24)
> Do you want to modify the current behavior and apply the new CSS theme after
> pressing Apply or OK button only? Currently we switch the CSS theme when the
> combo value gets changed to show the new selected theme to user. Basing on
> it they are able to pick the best theme before applying the changes.

Has it always been this way?  If so, then I'm fine with leaving it this way for M6

PW
Comment 27 Daniel Rolka CLA 2014-02-28 05:53:49 EST
(In reply to Paul Webster from comment #26)
> (In reply to Daniel Rolka from comment #24)
> > Do you want to modify the current behavior and apply the new CSS theme after
> > pressing Apply or OK button only? Currently we switch the CSS theme when the
> > combo value gets changed to show the new selected theme to user. Basing on
> > it they are able to pick the best theme before applying the changes.
> 
> Has it always been this way?  If so, then I'm fine with leaving it this way
> for M6
> 
> PW

Regarding the CSS combo - yes. The 3.x theme combo has been changed in this patch and now applies the 3.x theme changes in the similar manner as the CSS one. So I can revert the change for the 3.x theme combo, if you want

Daniel
Comment 28 Paul Webster CLA 2014-02-28 05:58:57 EST
(In reply to Daniel Rolka from comment #27)
> 
> Regarding the CSS combo - yes. The 3.x theme combo has been changed in this
> patch and now applies the 3.x theme changes in the similar manner as the CSS
> one. So I can revert the change for the 3.x theme combo, if you want

Let's have them work both the same way for M6.

We might need to reconsider the behaviour for M7.  My concern is that it won't give a true representation to the user because we only get a full apply with a restart.  But if it's still bothering us, we can look at it in another bug.

PW
Comment 29 Paul Webster CLA 2014-02-28 12:26:56 EST
(In reply to Daniel Rolka from comment #19)
> I've pushed to Gerrit the new patch that I believe solves the issue -
> https://git.eclipse.org/r/#/c/22622/

OK, this fixes most of the issues.  We need to open new bugs for continued work.  I've released it as http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=78390725c71d3f58ccacb1748b135bde1b2d1c0f

PW
Comment 30 Paul Webster CLA 2014-02-28 12:38:42 EST
I've opened some bugs:

Bug 429336 - [CSS] Changing an associated CSS theme doesn't update the 3.x theme

Bug 429337 - [CSS] Changing Combos in the Appearance Pref page has an effect

Bug 429338 - [CSS] Colors and Fonts defined in CSS can't be overridden

I've targetted the last bug at M6, we should try and address it now.

PW
Comment 31 Paul Webster CLA 2014-03-04 06:24:20 EST
.
Comment 32 Daniel Rolka CLA 2014-03-04 09:09:55 EST
Verified in the build: I20140303-2000

Daniel
Comment 33 Daniel Rolka CLA 2014-03-06 06:07:41 EST
There are two issues that we have to also consider - Bug 429543 and Bug 429754 

Daniel
Comment 34 Paul Webster CLA 2014-07-03 09:32:16 EDT
*** Bug 438836 has been marked as a duplicate of this bug. ***