Skip to content

Commit

Permalink
add qtcreator back as a subtree
Browse files Browse the repository at this point in the history
  • Loading branch information
TrevorBramble committed Jun 27, 2013
1 parent 6d8a9ea commit d9d19cf
Show file tree
Hide file tree
Showing 6 changed files with 295 additions and 0 deletions.
Binary file added qtcreator/QtCreator.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 68 additions & 0 deletions qtcreator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Solarized colors for Qt Creator

See Ethan's [Solarized page](http://ethanschoonover.com/solarized) for the
background information.

[Dedicated repository of this port](https://github.com/artm/qtcreator-solarized-syntax).

[Main Solarized repository](https://github.com/altercation/solarized).

![Qt Creator with solarized (light) style](https://github.com/artm/qtcreator-solarized-syntax/raw/master/QtCreator.png)

## Notes

At this point only code editor's colors are affected. If you've
installed apple-colorpalette-solarized you can choose compatible
color for gui gradients, but most gui widgets and dialogs are
unaffected by this choice.

On some platforms (Linux?) Qt style can be controlled by
`~/.config/Trolltech.conf` file, in which case you might find [gist by
booiiing (Patric Schenke)](https://gist.github.com/929469) useful.

Apparently, Qt Creator:

- ignores some of the attributes (e.g. `background` of
`CurrentLineNumber`, `foreground` of `SearchResult`)
- derives extra colors from the style (for example for the backgrounds
of nested blocks)
- derives gradients from some colors (e.g. `Occurences`). I haven't
found a way to control all aspects of these elements. I let Qt
Creator control the color of `Occurences.Rename` and (in the light
style) of `SearchScope`)
- composes the gradients / backgrounds in some cases which makes the
result differ from style color. This makes the current line background
lighter then expected, for example.
- different types of background highlight which keep the thext color,
mean I had to deviate from the canonical solarized.


I use light theme myself, dark one will probably have more issued at any given
time.

## Installation

### Linux / Mac OS X

Use either:

ln solarized-*.xml ~/.config/Nokia/qtcreator/styles

or:

cp solarized-*.xml ~/.config/Nokia/qtcreator/styles

to install styles.

### Windows

On Windows XP styles should go to:

Documents and Settings\<user name>\Application Data\Nokia\qtcreator\styles

On Windows 7:

Users\<user name>\AppData\Roaming\Nokia\qtcreator\styles



47 changes: 47 additions & 0 deletions qtcreator/generate-styles.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/usr/bin/env perl
use strict;
use Template;

my $vars = {
base03 => "#002b36",
base02 => "#073642",
base01 => "#586e75",
base00 => "#657b83",
base0 => "#839496",
base1 => "#93a1a1",
base2 => "#eee8d5",
base3 => "#fdf6e3",
yellow => "#b58900",
orange => "#cb4b16",
red => "#dc322f",
magenta => "#d33682",
violet => "#6c71c4",
blue => "#268bd2",
cyan => "#2aa198",
green => "#859900",
};

my $tt = Template->new({INTERPOLATE=>1}) || die "$Template::ERROR\n";


# first light variant...
$vars->{variant} = "light";
$vars->{bg} = $vars->{base3};
$vars->{bg1} = $vars->{base2};
$vars->{text} = $vars->{base00};
$vars->{emph} = $vars->{base01};
$vars->{lite} = $vars->{base1};

$tt->process("qtcreator-template.xml", $vars, "solarized-light.xml");



$vars->{variant} = "dark";
$vars->{bg} = $vars->{base03};
$vars->{bg1} = $vars->{base02};
$vars->{text} = $vars->{base0};
$vars->{emph} = $vars->{base1};
$vars->{lite} = $vars->{base01};

$tt->process("qtcreator-template.xml", $vars, "solarized-dark.xml");

63 changes: 63 additions & 0 deletions qtcreator/qtcreator-template.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<style-scheme version="1.0" name="Solarized ($variant)">
<!--
Solarized theme ($variant background)
-->

<style name="Text" foreground="$text" background="$bg"/>
<style name="LineNumber" foreground="$lite" background="$bg1"/>
<style name="CurrentLine" background="$bg1"/>
<!-- inveted background -->
<style name="Selection" foreground="$bg1" background="$lite"/>
<style name="Occurrences" background="$lite"/>

<!-- non-solarized backgrounds -->
[% IF variant == 'light' %]
<!-- light yellow overlay that works on solarized background as well as
on top of default SearchScope -->
<style name="SearchResult" background="#FFFFB0"/>
[% ELSE %]
<style name="SearchResult" background="#555000"/>
<style name="SearchScope" background="#222000"/>
[% END %]

<style name="DisabledCode" foreground="$base1"/>
<style name="Comment" foreground="$base1"/>
<style name="Doxygen.Comment" foreground="$base1"/>
<style name="Keyword" foreground="$base01" bold="true"/>
<style name="Operator" foreground="$base01"/>
<style name="Label" foreground="$base01" bold="true"/>
<style name="CurrentLineNumber" foreground="$base01" bold="true"/>

<!-- highlights -->
<style name="Number" foreground="$cyan"/>
<style name="String" foreground="$cyan"/>
<style name="Type" foreground="$yellow"/>
<style name="Link" foreground="$blue"/>
<style name="Preprocessor" foreground="$violet"/>
<style name="Parentheses" foreground="$red"/>

<!-- WIP -->
<style name="Static" foreground="$green" italic="true"/>
<style name="Doxygen.Tag" foreground="$cyan"/>

<style name="DiffFile" foreground="$green"/>
<style name="DiffLocation" foreground="$yellow"/>
<style name="AddedLine" foreground="$cyan"/>
<style name="RemovedLine" foreground="$red"/>

<!-- no color / default -->
<style name="VirtualMethod" italic="true"/>

<!-- let QtCreator choose: these colors are composed on top of
existing text, I can't find a nice way to stay compatible with
Solarized and produce readable results.
<style name="Occurrences.Rename"/>
[% IF variant == 'light' %]
<style name="SearchScope"/>
[% END %]
<style name="Field"/>
<style name="Local"/>
-->
</style-scheme>
57 changes: 57 additions & 0 deletions qtcreator/solarized-dark.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<style-scheme version="1.0" name="Solarized (dark)">
<!--
Solarized theme (dark background)
-->

<style name="Text" foreground="#839496" background="#002b36"/>
<style name="LineNumber" foreground="#586e75" background="#073642"/>
<style name="CurrentLine" background="#073642"/>
<!-- inveted background -->
<style name="Selection" foreground="#073642" background="#586e75"/>
<style name="Occurrences" background="#586e75"/>

<!-- non-solarized backgrounds -->

<style name="SearchResult" background="#555000"/>
<style name="SearchScope" background="#222000"/>


<style name="DisabledCode" foreground="#93a1a1"/>
<style name="Comment" foreground="#93a1a1"/>
<style name="Doxygen.Comment" foreground="#93a1a1"/>
<style name="Keyword" foreground="#586e75" bold="true"/>
<style name="Operator" foreground="#586e75"/>
<style name="Label" foreground="#586e75" bold="true"/>
<style name="CurrentLineNumber" foreground="#586e75" bold="true"/>

<!-- highlights -->
<style name="Number" foreground="#2aa198"/>
<style name="String" foreground="#2aa198"/>
<style name="Type" foreground="#b58900"/>
<style name="Link" foreground="#268bd2"/>
<style name="Preprocessor" foreground="#6c71c4"/>
<style name="Parentheses" foreground="#dc322f"/>

<!-- WIP -->
<style name="Static" foreground="#859900" italic="true"/>
<style name="Doxygen.Tag" foreground="#2aa198"/>

<style name="DiffFile" foreground="#859900"/>
<style name="DiffLocation" foreground="#b58900"/>
<style name="AddedLine" foreground="#2aa198"/>
<style name="RemovedLine" foreground="#dc322f"/>

<!-- no color / default -->
<style name="VirtualMethod" italic="true"/>

<!-- let QtCreator choose: these colors are composed on top of
existing text, I can't find a nice way to stay compatible with
Solarized and produce readable results.
<style name="Occurrences.Rename"/>
<style name="Field"/>
<style name="Local"/>
-->
</style-scheme>
60 changes: 60 additions & 0 deletions qtcreator/solarized-light.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<style-scheme version="1.0" name="Solarized (light)">
<!--
Solarized theme (light background)
-->

<style name="Text" foreground="#657b83" background="#fdf6e3"/>
<style name="LineNumber" foreground="#93a1a1" background="#eee8d5"/>
<style name="CurrentLine" background="#eee8d5"/>
<!-- inveted background -->
<style name="Selection" foreground="#eee8d5" background="#93a1a1"/>
<style name="Occurrences" background="#93a1a1"/>

<!-- non-solarized backgrounds -->

<!-- light yellow overlay that works on solarized background as well as
on top of default SearchScope -->
<style name="SearchResult" background="#FFFFB0"/>


<style name="DisabledCode" foreground="#93a1a1"/>
<style name="Comment" foreground="#93a1a1"/>
<style name="Doxygen.Comment" foreground="#93a1a1"/>
<style name="Keyword" foreground="#586e75" bold="true"/>
<style name="Operator" foreground="#586e75"/>
<style name="Label" foreground="#586e75" bold="true"/>
<style name="CurrentLineNumber" foreground="#586e75" bold="true"/>

<!-- highlights -->
<style name="Number" foreground="#2aa198"/>
<style name="String" foreground="#2aa198"/>
<style name="Type" foreground="#b58900"/>
<style name="Link" foreground="#268bd2"/>
<style name="Preprocessor" foreground="#6c71c4"/>
<style name="Parentheses" foreground="#dc322f"/>

<!-- WIP -->
<style name="Static" foreground="#859900" italic="true"/>
<style name="Doxygen.Tag" foreground="#2aa198"/>

<style name="DiffFile" foreground="#859900"/>
<style name="DiffLocation" foreground="#b58900"/>
<style name="AddedLine" foreground="#2aa198"/>
<style name="RemovedLine" foreground="#dc322f"/>

<!-- no color / default -->
<style name="VirtualMethod" italic="true"/>

<!-- let QtCreator choose: these colors are composed on top of
existing text, I can't find a nice way to stay compatible with
Solarized and produce readable results.
<style name="Occurrences.Rename"/>
<style name="SearchScope"/>
<style name="Field"/>
<style name="Local"/>
-->
</style-scheme>

0 comments on commit d9d19cf

Please sign in to comment.