Catchup to latest Symbian^4 GCC_SURGE
authorWilliam Roberts <williamr@symbian.org>
Thu, 22 Jul 2010 16:38:28 +0100
branchGCC_SURGE
changeset 10 3bdc12ef1448
parent 5 10b7194ec8b4 (current diff)
parent 8 02a1dd166f2b (diff)
Catchup to latest Symbian^4
bin/sync.py
makeindex.mk
rom/sfblacknvgtheme.themeindex
rom/sfblacktheme.themeindex
rom/sfwhitetheme.themeindex
src/effects/sfblacktheme/applications.zip
src/effects/sfblacktheme/effects.zip
src/effects/sfblacktheme/widgets.zip
src/icons/sfblacknvgtheme/index.theme
src/icons/sfblacknvgtheme/scalable/applications.zip
src/icons/sfblacknvgtheme/scalable/icons.zip
src/icons/sfblacknvgtheme/scalable/smileys.zip
src/icons/sfblacknvgtheme/scalable/widgets.zip
src/style/sfblacknvgtheme/variables/color/hbapplicationcolorgroup.css
src/style/sfblacknvgtheme/variables/color/hbcolorgroup.css
src/style/sfblacknvgtheme/variables/color/hbwidgetcolorgroup.css
src/style/sfblacktheme/variables/color/hbcolorgroup.css
src/style/sfwhitetheme/variables/color/hbcolorgroup.css
src/theme.theme_new
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hg_archival.txt	Thu Jul 22 16:38:28 2010 +0100
@@ -0,0 +1,2 @@
+repo: 3d51a84f3bf4dec77d58f1fac7210a6385dd25ec
+node: 2103b889d8045565157030549ac7e0805672f8a4
--- a/.hgtags	Fri Jun 11 16:25:39 2010 +0100
+++ b/.hgtags	Thu Jul 22 16:38:28 2010 +0100
@@ -2,3 +2,17 @@
 b0950401b844cc4460b4a24fcdfda23035afcadc 2010wk09_rc
 bff35c9a6221cf815339f49887ae16e7a751676a 2010wk09_rel
 821369dbf08b6aed4c2c6f992381d1f974cc8a23 2010wk11_rc
+2c99524b3cb5b1a20cc3f335049013a0ecb64bc9 2010wk11_rel
+390a3c18521b0f792bf2ce4bc4bf55922ed7d364 2010wk13_rc
+d65c35959cc2fa89718df7192cdedb15cc7a7a0a 2010wk13_rel
+6fd8fce204a753ee5c22e18e57668b6bf5ee74aa 2010wk15_rc
+34af997bec3a7e40cea4548d9f499d9259270f17 2010wk15_rel
+e18709034041cb5125f9829fd557402ca4bd29ae 2010wk17_rc
+8b378bdb55718df53b098ca0a9a1ad4d2d38db8c 2010wk17_rel
+f8ccbc2fb5d4ae2f192fcad9b09ee76f8b892dad 2010wk19_rc
+9863ee40a2b9487b7b5176cb4b0bf48846fac2de 2010wk19_rel
+280b969636c8b48588392f9b5fb91f215d0a7333 2010wk21_rc
+939c40e61bc5445a2257a72882ee36f7b4c933ff 2010wk21_rel
+5cb3a8613dd1bec9f1463066dca3e14bc949f41e 2010wk23_rc
+0be404b69d35728f6b7f252b1a332d7303263783 2010wk23_rel
+4a7ffa9f281804f1ba41c9d7886fbed0bb2cce42 2010wk25_rc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/extract.py	Thu Jul 22 16:38:28 2010 +0100
@@ -0,0 +1,173 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# ============================================================================
+#  Name        : extract.py
+#  Part of     : Hb
+#  Description : Hb themes script for extracting theme archives
+#  Version     : %version: %
+#
+#  Copyright (c) 2008-2010 Nokia.  All rights reserved.
+#  This material, including documentation and any related computer
+#  programs, is protected by copyright controlled by Nokia.  All
+#  rights are reserved.  Copying, including reproducing, storing,
+#  adapting or translating, any or all of this material requires the
+#  prior written consent of Nokia.  This material also contains
+#  confidential information which may not be disclosed to others
+#  without the prior written consent of Nokia.
+# ============================================================================
+
+import os
+import re
+import sys
+import shutil
+import zipfile
+import fnmatch
+import optparse
+
+# ============================================================================
+# Globals
+# ============================================================================
+VERBOSE = False
+INPUT_DIR = os.getcwd()
+OUTPUT_DIR = os.getcwd()
+INCLUDE = None
+EXCLUDE = None
+
+# ============================================================================
+# OptionParser
+# ============================================================================
+class OptionParser(optparse.OptionParser):
+    def __init__(self):
+        optparse.OptionParser.__init__(self)
+        self.add_option("-v", "--verbose", action="store_true", dest="verbose",
+                        help="print verbose information about each step of the sync process")
+        self.add_option("-q", "--quiet", action="store_false", dest="verbose",
+                        help="do not print information about each step of the sync process")
+        self.add_option("-i", "--input", dest="input", metavar="dir",
+                        help="specify the input <dir> (default %s)" % INPUT_DIR)
+        self.add_option("-o", "--output", dest="output", metavar="dir",
+                        help="specify the output <dir> (default %s)" % OUTPUT_DIR)
+        self.add_option("--include", dest="include", action="append", metavar="pattern",
+                        help="specify the include <pattern> (default %s)" % INCLUDE)
+        self.add_option("--exclude", dest="exclude", action="append", metavar="pattern",
+                        help="specify the exclude <pattern> (default %s)" % EXCLUDE)
+
+# ============================================================================
+# Utils
+# ============================================================================
+if not hasattr(os.path, "relpath"):
+    def relpath(path, start=os.curdir):
+        abspath = os.path.abspath(path)
+        absstart = os.path.abspath(start)
+        if abspath == absstart:
+            return "."
+        i = len(absstart)
+        if not absstart.endswith(os.path.sep):
+            i += len(os.path.sep)
+        if not abspath.startswith(absstart):
+            i = 0
+        return abspath[i:]
+    os.path.relpath = relpath
+
+def extract(archive):
+    global INPUT_DIR, OUTPUT_DIR
+
+    path, filename = os.path.split(archive)
+    relpath = os.path.relpath(path, INPUT_DIR)
+    outpath = os.path.join(OUTPUT_DIR, relpath)
+
+    # extract
+    zip = zipfile.ZipFile(archive)
+    for name in zip.namelist():
+        data = zip.read(name)
+        outfile = os.path.join(outpath, name)
+        # overwrite only if different size
+        if not os.path.exists(outfile) or os.path.getsize(outfile) != len(data):
+            file = open(outfile, "w")
+            file.write(data)
+            file.close()
+
+def include_exclude(filepath):
+    global INCLUDE, EXCLUDE
+    result = True
+    if INCLUDE != None:
+        for pattern in INCLUDE:
+            if not fnmatch.fnmatch(filepath, pattern):
+                result = False
+    if EXCLUDE != None:
+        for pattern in EXCLUDE:
+            if fnmatch.fnmatch(filepath, pattern):
+                result = False
+    return result
+
+# ============================================================================
+# main()
+# ============================================================================
+def main():
+    global VERBOSE, INPUT_DIR, OUTPUT_DIR, INCLUDE, EXCLUDE
+
+    parser = OptionParser()
+    (options, args) = parser.parse_args()
+
+    if options.verbose != None:
+        VERBOSE = options.verbose
+    if options.input != None:
+        INPUT_DIR = options.input
+    if options.output != None:
+        OUTPUT_DIR = options.output
+    if options.include != None:
+        INCLUDE = options.include
+    if options.exclude != None:
+        EXCLUDE = options.exclude
+
+    extracted = 0
+    copied = 0
+    omitted = 0
+    workpath = None
+    newline = False
+    sys.stdout.write("Processing: ")
+    for root, dirs, files in os.walk(INPUT_DIR):
+        for file in files:
+            filepath = os.path.join(root, file)
+            extension = os.path.splitext(file)[1]
+            if include_exclude(filepath):
+                # ensure that output dir exists
+                relfilepath = os.path.relpath(filepath, INPUT_DIR)
+                relpath = os.path.split(relfilepath)[0]
+                outpath = os.path.join(OUTPUT_DIR, relpath)
+                if not os.path.exists(outpath):
+                    os.makedirs(outpath)
+
+                # output processing dir info
+                tmppath = os.path.split(filepath)[0]
+                if tmppath != workpath:
+                    if workpath != None:
+                        newline = True
+                        sys.stdout.write("\n            ")
+                    workpath = tmppath
+                    sys.stdout.write(os.path.relpath(workpath, INPUT_DIR).replace("\\", "/"))
+                    sys.stdout.write(".")
+                else:
+                    sys.stdout.write(".")
+
+                # extract zips
+                if extension == ".zip":
+                    extracted += 1
+                    extract(filepath)
+                # copy others
+                else:
+                    copied += 1
+                    shutil.copy(filepath, outpath)
+            else:
+                omitted += 1
+    if newline:
+        sys.stdout.write("\n")
+    print "        ==> %s archives(s) extracted" % extracted
+    print "        ==> %s file(s) copied" % copied
+    print "        ==> %s file(s) omitted" % omitted
+
+    return 0
+
+if __name__ == "__main__":
+    sys.exit(main())
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/installs.py	Thu Jul 22 16:38:28 2010 +0100
@@ -0,0 +1,138 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# ============================================================================
+#  Name        : installs.py
+#  Part of     : Hb
+#  Description : Hb themes script for generating installs.pri
+#  Version     : %version: %
+#
+#  Copyright (c) 2008-2010 Nokia.  All rights reserved.
+#  This material, including documentation and any related computer
+#  programs, is protected by copyright controlled by Nokia.  All
+#  rights are reserved.  Copying, including reproducing, storing,
+#  adapting or translating, any or all of this material requires the
+#  prior written consent of Nokia.  This material also contains
+#  confidential information which may not be disclosed to others
+#  without the prior written consent of Nokia.
+# ============================================================================
+
+import os
+import re
+import sys
+import fnmatch
+import optparse
+import posixpath
+
+# ============================================================================
+# Globals
+# ============================================================================
+INPUT_DIR = os.getcwd()
+OUTPUT_DIR = os.getcwd()
+INCLUDE = None
+EXCLUDE = None
+
+# ============================================================================
+# OptionParser
+# ============================================================================
+class OptionParser(optparse.OptionParser):
+    def __init__(self):
+        optparse.OptionParser.__init__(self)
+        self.add_option("-i", "--input", dest="input", metavar="dir",
+                        help="specify the input <dir> (default %s)" % INPUT_DIR)
+        self.add_option("-o", "--output", dest="output", metavar="dir",
+                        help="specify the output <dir> (default %s)" % OUTPUT_DIR)
+        self.add_option("--include", dest="include", action="append", metavar="pattern",
+                        help="specify the include <pattern> (default %s)" % INCLUDE)
+        self.add_option("--exclude", dest="exclude", action="append", metavar="pattern",
+                        help="specify the exclude <pattern> (default %s)" % EXCLUDE)
+
+# ============================================================================
+# Utils
+# ============================================================================
+if not hasattr(os.path, "relpath"):
+    def relpath(path, start=os.curdir):
+        abspath = os.path.abspath(path)
+        absstart = os.path.abspath(start)
+        if abspath == absstart:
+            return "."
+        i = len(absstart)
+        if not absstart.endswith(os.path.sep):
+            i += len(os.path.sep)
+        if not abspath.startswith(absstart):
+            i = 0
+        return abspath[i:]
+    os.path.relpath = relpath
+
+def make_target(path):
+    # generate a compatible make target name from path
+    target = os.path.splitdrive(path)[1].strip("\\/")
+    return "_".join(re.split("[\\\/\.]+", target))
+
+def write_pri(filepath, input_dir):
+    outpath = os.path.dirname(filepath)
+    if not os.path.exists(outpath):
+        os.makedirs(outpath)
+    out = open(filepath, "w")
+
+    roots = []
+    for root, dirs, files in os.walk(input_dir):
+        for file in files:
+            filepath = os.path.abspath(root + "/" + file).replace("\\", "/")
+            filepath = os.path.splitdrive(filepath)[1]
+            if include_exclude(filepath):
+                target = make_target(root)
+                relpath = os.path.relpath(root, input_dir).replace("\\", "/")
+                if os.path.splitext(file)[1] == ".zip":
+                    out.write("symbian:BLD_INF_RULES.prj_exports += \":zip %s $${EPOCROOT}epoc32/data/z/resource/hb/themes/%s/\"\n" % (filepath, relpath))
+                    out.write("symbian:BLD_INF_RULES.prj_exports += \":zip %s $${EPOCROOT}epoc32/winscw/c/resource/hb/themes/%s/\"\n" % (filepath, relpath))
+                    out.write("!isEmpty(%s.commands): %s.commands += &&\n" % (target, target))
+                    out.write("%s.commands += $$QMAKE_UNZIP %s -d $$(HB_THEMES_DIR)/themes/%s\n" % (target, filepath, relpath))
+                else:
+                    out.write("symbian:BLD_INF_RULES.prj_exports += \"%s $${EPOCROOT}epoc32/data/z/resource/hb/themes/%s/\"\n" % (filepath, relpath))
+                    out.write("symbian:BLD_INF_RULES.prj_exports += \"%s $${EPOCROOT}epoc32/winscw/c/resource/hb/themes/%s/\"\n" % (filepath, relpath))
+                    out.write("%s.files += %s\n" % (target, filepath))
+                if root not in roots:
+                    out.write("%s.CONFIG += no_build\n" % target)
+                    out.write("%s.path = $$(HB_THEMES_DIR)/themes/%s\n" % (target, relpath))
+                    out.write("INSTALLS += %s\n" % target)
+                    roots.append(root)
+    out.close()
+    return 0
+
+def include_exclude(filepath):
+    global INCLUDE, EXCLUDE
+    result = True
+    if INCLUDE != None:
+        for pattern in INCLUDE:
+            if not fnmatch.fnmatch(filepath, pattern):
+                result = False
+    if EXCLUDE != None:
+        for pattern in EXCLUDE:
+            if fnmatch.fnmatch(filepath, pattern):
+                result = False
+    return result
+
+# ============================================================================
+# main()
+# ============================================================================
+def main():
+    global INPUT_DIR, OUTPUT_DIR, INCLUDE, EXCLUDE
+
+    parser = OptionParser()
+    (options, args) = parser.parse_args()
+
+    if options.input != None:
+        INPUT_DIR = options.input
+    if options.output != None:
+        OUTPUT_DIR = options.output
+    if options.include != None:
+        INCLUDE = options.include
+    if options.exclude != None:
+        EXCLUDE = options.exclude
+
+    print "Generating: %s/installs.pri" % os.path.basename(OUTPUT_DIR)
+    return write_pri(OUTPUT_DIR + "/installs.pri", INPUT_DIR)
+
+if __name__ == "__main__":
+    sys.exit(main())
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/rom.py	Thu Jul 22 16:38:28 2010 +0100
@@ -0,0 +1,217 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# ============================================================================
+#  Name        : rom.py
+#  Part of     : Hb
+#  Description : Hb themes script for generating IBY files
+#  Version     : %version: %
+#
+#  Copyright (c) 2008-2010 Nokia.  All rights reserved.
+#  This material, including documentation and any related computer
+#  programs, is protected by copyright controlled by Nokia.  All
+#  rights are reserved.  Copying, including reproducing, storing,
+#  adapting or translating, any or all of this material requires the
+#  prior written consent of Nokia.  This material also contains
+#  confidential information which may not be disclosed to others
+#  without the prior written consent of Nokia.
+# ============================================================================
+
+import os
+import sys
+import fnmatch
+import zipfile
+import optparse
+import posixpath
+
+# ============================================================================
+# Globals
+# ============================================================================
+VERBOSE = False
+INCLUDE = None
+EXCLUDE = None
+INPUT_DIR = os.getcwd()
+OUTPUT_DIR = os.getcwd()
+SOURCE_PREFIX = "ZRESOURCE/hb/themes"
+TARGET_PREFIX = "RESOURCE_FILES_DIR/hb/themes"
+EXIT_STATUS = 0
+
+# ============================================================================
+# OptionParser
+# ============================================================================
+class OptionParser(optparse.OptionParser):
+    def __init__(self):
+        optparse.OptionParser.__init__(self)
+        self.add_option("-v", "--verbose", action="store_true", dest="verbose",
+                        help="print verbose information about each step of the sync process")
+        self.add_option("-q", "--quiet", action="store_false", dest="verbose",
+                        help="do not print information about each step of the sync process")
+
+        group = optparse.OptionGroup(self, "Input/output options")
+        group.add_option("-i", "--input", dest="input", metavar="dir",
+                         help="specify the input <dir> (default %s)" % INPUT_DIR)
+        group.add_option("-o", "--output", dest="output", metavar="dir",
+                         help="specify the output <dir> (default %s)" % OUTPUT_DIR)
+        group.add_option("--include", dest="include", action="append", metavar="pattern",
+                         help="specify the include <pattern> (default %s)" % INCLUDE)
+        group.add_option("--exclude", dest="exclude", action="append", metavar="pattern",
+                         help="specify the exclude <pattern> (default %s)" % EXCLUDE)
+        self.add_option_group(group)
+
+        group = optparse.OptionGroup(self, "Prefix options")
+        group.add_option("--source-prefix", dest="sourceprefix", metavar="prefix",
+                         help="specify the source <prefix> (default %s)" % SOURCE_PREFIX)
+        group.add_option("--target-prefix", dest="targetprefix", metavar="prefix",
+                         help="specify the target <prefix> (default %s)" % TARGET_PREFIX)
+        self.add_option_group(group)
+
+# ============================================================================
+# Utils
+# ============================================================================
+if not hasattr(os.path, "relpath"):
+    def relpath(path, start=os.curdir):
+        abspath = os.path.abspath(path)
+        absstart = os.path.abspath(start)
+        if abspath == absstart:
+            return "."
+        i = len(absstart)
+        if not absstart.endswith(os.path.sep):
+            i += len(os.path.sep)
+        if not abspath.startswith(absstart):
+            i = 0
+        return abspath[i:]
+    os.path.relpath = relpath
+
+def zip_filelist(filepath):
+    files = list()
+    archive = zipfile.ZipFile(filepath)
+    for entry in archive.namelist():
+        if not entry.endswith("/"):
+            files.append(entry)
+    return files
+
+class Theme:
+    def __init__(self, name):
+        self.name = name
+        self.paths = []
+        self.files = {}
+        self.archives = {}
+
+    def initialize(self):
+        for path in self.paths:
+            for root, dirs, files in os.walk(path):
+                for file in files:
+                    filepath = posixpath.join(root, file).replace("\\", "/")
+                    if self._include(filepath):
+                        extension = os.path.splitext(filepath)[1]
+                        if extension == ".zip":
+                            if root not in self.archives:
+                                self.archives[root] = list()
+                            self.archives[root].append(filepath)
+                        else:
+                            if root not in self.files:
+                                self.files[root] = list()
+                            self.files[root].append(filepath)
+
+    def write_iby(self, ibypath):
+        global SOURCE_PREFIX, TARGET_PREFIX, EXIT_STATUS
+        outpath = os.path.dirname(ibypath)
+        if not os.path.exists(outpath):
+            os.makedirs(outpath)
+        out = open(ibypath, "w")
+        out.write("#ifndef __%s_IBY__\n" % self.name.upper())
+        out.write("#define __%s_IBY__\n" % self.name.upper())
+        out.write("\n")
+        out.write("#include <bldvariant.hrh>\n")
+        out.write("\n")
+        out.write("data=%s/%s.themeindex\t%s/%s.themeindex\n" % (SOURCE_PREFIX, self.name, TARGET_PREFIX, self.name))
+        written_entries = list()
+        for path, files in self.files.iteritems():
+            relpath = os.path.relpath(path, INPUT_DIR).replace("\\", "/")
+            for filepath in files:
+                filename = os.path.basename(filepath)
+                entry = posixpath.join(relpath, filename)
+                if entry not in written_entries:
+                    written_entries.append(filepath)
+                    out.write("data=%s/%s\t%s/%s\n" % (SOURCE_PREFIX, entry, TARGET_PREFIX, entry))
+                else:
+                    print "ERROR: %s duplicate entry %s" % (ibypath, entry)
+                    EXIT_STATUS = -1
+        for path, archives in self.archives.iteritems():
+            relpath = os.path.relpath(path, INPUT_DIR).replace("\\", "/")
+            for archive in archives:
+                files = zip_filelist(archive)
+                for filepath in files:
+                    entry = posixpath.join(relpath, filepath)
+                    if entry not in written_entries:
+                        written_entries.append(entry)
+                        out.write("data=%s/%s\t%s/%s\n" % (SOURCE_PREFIX, entry, TARGET_PREFIX, entry))
+                    else:
+                        print "ERROR: %s duplicate entry %s" % (ibypath, entry)
+                        EXIT_STATUS = -1
+        out.write("\n")
+        out.write("#endif __%s_IBY__\n" % self.name.upper())
+        out.close()
+
+    def _include(self, filepath):
+        result = True
+        if INCLUDE != None:
+            for pattern in INCLUDE:
+                if not fnmatch.fnmatch(filepath, pattern):
+                    result = False
+        if EXCLUDE != None:
+            for pattern in EXCLUDE:
+                if fnmatch.fnmatch(filepath, pattern):
+                    result = False
+        return result
+
+def lookup_themes(path):
+    themes = {}
+    if os.path.exists(path):
+        # base: effects, icons...
+        for base in os.listdir(path):
+            basepath = posixpath.join(path, base)
+            if os.path.isdir(basepath):
+                # theme: footheme, bartheme...
+                for theme in os.listdir(basepath):
+                    themepath = posixpath.join(basepath, theme)
+                    if os.path.isdir(themepath):
+                        if theme not in themes:
+                            themes[theme] = Theme(theme)
+                        themes[theme].paths.append(themepath)
+    return themes
+
+# ============================================================================
+# main()
+# ============================================================================
+def main():
+    global VERBOSE, INPUT_DIR, OUTPUT_DIR, INCLUDE, EXCLUDE, SOURCE_PREFIX, TARGET_PREFIX
+
+    parser = OptionParser()
+    (options, args) = parser.parse_args()
+
+    if options.verbose != None:
+        VERBOSE = options.verbose
+    if options.input != None:
+        INPUT_DIR = options.input
+    if options.output != None:
+        OUTPUT_DIR = options.output
+    if options.include != None:
+        INCLUDE = options.include
+    if options.exclude != None:
+        EXCLUDE = options.exclude
+    if options.sourceprefix != None:
+        SOURCE_PREFIX = options.sourceprefix
+    if options.targetprefix != None:
+        TARGET_PREFIX = options.targetprefix
+
+    themes = lookup_themes(INPUT_DIR)
+    for name, theme in themes.iteritems():
+        theme.initialize()
+        print "Generating: %s.iby" % name
+        theme.write_iby(posixpath.join(OUTPUT_DIR, "%s.iby" % name))
+
+    return EXIT_STATUS
+
+if __name__ == "__main__":
+    sys.exit(main())
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/svg2nvg.py	Thu Jul 22 16:38:28 2010 +0100
@@ -0,0 +1,142 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# ============================================================================
+#  Name        : svg2nvg.py
+#  Part of     : Hb
+#  Description : Hb themes script for converting SVG to NVG
+#  Version     : %version: %
+#
+#  Copyright (c) 2008-2010 Nokia.  All rights reserved.
+#  This material, including documentation and any related computer
+#  programs, is protected by copyright controlled by Nokia.  All
+#  rights are reserved.  Copying, including reproducing, storing,
+#  adapting or translating, any or all of this material requires the
+#  prior written consent of Nokia.  This material also contains
+#  confidential information which may not be disclosed to others
+#  without the prior written consent of Nokia.
+# ============================================================================
+
+import os
+import sys
+import optparse
+
+# ============================================================================
+# Globals
+# ============================================================================
+VERBOSE = False
+ENCODER = "svgtbinencode"
+INPUT_DIR = os.getcwd()
+
+# ============================================================================
+# OptionParser
+# ============================================================================
+class OptionParser(optparse.OptionParser):
+    def __init__(self):
+        optparse.OptionParser.__init__(self)
+        self.add_option("-v", "--verbose", action="store_true", dest="verbose",
+                        help="print verbose information about each step of the sync process")
+        self.add_option("-q", "--quiet", action="store_false", dest="verbose",
+                        help="do not print information about each step of the sync process")
+        self.add_option("-e", "--encoder", dest="encoder", metavar="encoder",
+                        help="specify the encoder (default %s)" % ENCODER)
+        self.add_option("-i", "--input", dest="input", metavar="dir",
+                        help="specify the input <dir> (default %s)" % INPUT_DIR)
+
+# ============================================================================
+# Functions
+# ============================================================================
+if not hasattr(os.path, "relpath"):
+    def relpath(path, start=os.curdir):
+        abspath = os.path.abspath(path)
+        absstart = os.path.abspath(start)
+        if abspath == absstart:
+            return "."
+        i = len(absstart)
+        if not absstart.endswith(os.path.sep):
+            i += len(os.path.sep)
+        if not abspath.startswith(absstart):
+            i = 0
+        return abspath[i:]
+    os.path.relpath = relpath
+
+def _print_summary(succeed, failed, omitted):
+    print "        ==> %s file(s) successfully converted" % succeed
+    print "        ==> %s file(s) failed to convert" % failed
+    print "        ==> %s file(s) omitted" % omitted
+
+def encode(path):
+    global VERBOSE, INPUT_DIR, ENCODER
+
+    failed = 0
+    succeed = 0
+    omitted = 0
+    workpath = None
+    newline = False
+
+    for root, dirs, files in os.walk(path):
+        i = 0
+        for file in files:
+            filepath = os.path.join(root, file)
+            basepath, extension = os.path.splitext(filepath)
+
+            if extension == ".svg":
+                tmppath = os.path.split(filepath)[0]
+                if tmppath != workpath:
+                    if workpath != None:
+                        newline = True
+                        sys.stdout.write("\n")
+                        _print_summary(succeed, failed, omitted)
+                    failed = 0
+                    succeed = 0
+                    omitted = 0
+                    workpath = tmppath
+                    sys.stdout.write("Converting: %s" % os.path.relpath(workpath, INPUT_DIR).replace("\\", "/"))
+                else:
+                    i += 1
+                    if i % 10 == 0:
+                        sys.stdout.write(".")
+
+                command = "%s -v 6 -e .nvg %s" % (ENCODER, filepath)
+                os.system(command)
+                exists = os.path.exists(basepath + ".nvg")
+                if exists:
+                    # cleanup conversion source (.svg)
+                    os.remove(filepath)
+                    succeed += 1
+                else:
+                    failed += 1
+                if VERBOSE:
+                    print "            %s: %s" % (file, exists)
+            elif extension == ".nvg":
+                # cleanup, from previous conversion
+                os.remove(filepath)
+            else:
+                omitted += 1
+
+    if newline:
+        sys.stdout.write("\n")
+    _print_summary(succeed, failed, omitted)
+
+# ============================================================================
+# main()
+# ============================================================================
+def main():
+    global VERBOSE, ENCODER, INPUT_DIR
+
+    parser = OptionParser()
+    (options, args) = parser.parse_args()
+
+    if options.verbose != None:
+        VERBOSE = options.verbose
+    if options.encoder != None:
+        ENCODER = options.encoder
+    if options.input != None:
+        INPUT_DIR = options.input
+
+    encode(INPUT_DIR)
+
+    return 0
+
+if __name__ == "__main__":
+    sys.exit(main())
--- a/bin/sync.py	Fri Jun 11 16:25:39 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,481 +0,0 @@
-#
-# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:  Hb themes sync script
-#
-
-import os
-import re
-import sys
-import time
-import shutil
-import fnmatch
-import zipfile
-import optparse
-import tempfile
-if sys.version_info[0] == 2 and sys.version_info[1] < 4:
-    # for scratchbox compatibility
-    import popen2
-else:
-    import subprocess
-
-# ============================================================================
-# Globals
-# ============================================================================
-VERBOSE = False
-ARCHIVES = False
-INCLUDE = None
-EXCLUDE = None
-INPUT_DIR = os.getcwd()
-OUTPUT_DIR = os.getcwd()
-IBY_SOURCE_PREFIX = "ZRESOURCE/hb/themes"
-IBY_TARGET_PREFIX = "RESOURCE_FILES_DIR/hb/themes"
-BLD_HW_TARGET_PREFIX = "/epoc32/data/z/resource/hb/themes"
-BLD_EMU_TARGET_PREFIX = "/epoc32/winscw/c/resource/hb/themes"
-BLD_TARGET_PREFIXES = []
-SYMBIAN = False
-EXIT_STATUS = 0
-NAME = "themes"
-THEME_COMMON = "themecommon"
-THEME_SETTINGS_FILE = "theme.theme"
-ENCODER = "SVGTBinEncode.exe"
-NVG = False
-
-# ============================================================================
-# OptionParser
-# ============================================================================
-class OptionParser(optparse.OptionParser):
-    def __init__(self):
-        optparse.OptionParser.__init__(self)
-        self.add_option("-v", "--verbose", action="store_true", dest="verbose",
-                        help="print verbose information about each step of the sync process")
-        self.add_option("-q", "--quiet", action="store_false", dest="verbose",
-                        help="do not print information about each step of the sync process")
-        self.add_option("-n", "--name", dest="name", metavar="name",
-                        help="specify the package <name> (default %s)" % NAME)
-        self.add_option("--symbian", action="store_true", dest="symbian",
-                        help="work in Symbian mode")
-        self.add_option("--nvg", action="store_true", dest="nvg",
-                        help="do convert svg to nvg")
-        self.add_option("--no-nvg", action="store_false", dest="nvg",
-                        help="do not convert svg to nvg")
-
-        group = optparse.OptionGroup(self, "Input/output options")
-        self.add_option("-i", "--input", dest="input", metavar="dir",
-                        help="specify the input <dir> (default %s)" % INPUT_DIR)
-        self.add_option("-o", "--output", dest="output", metavar="dir",
-                        help="specify the output <dir> (default %s)" % OUTPUT_DIR)
-        self.add_option("-a", "--archives", action="store_true", dest="archives",
-                        help="export/install archives (default %s)" % ARCHIVES)
-        self.add_option("--include", dest="include", action="append", metavar="pattern",
-                        help="specify the include <pattern> (default %s)" % INCLUDE)
-        self.add_option("--exclude", dest="exclude", action="append", metavar="pattern",
-                        help="specify the exclude <pattern> (default %s)" % EXCLUDE)
-        self.add_option_group(group)
-
-        group = optparse.OptionGroup(self, "Prefix options")
-        self.add_option("--iby-source-prefix", dest="ibysourceprefix", metavar="prefix",
-                        help="specify the iby source <prefix> (default %s)" % IBY_SOURCE_PREFIX)
-        self.add_option("--iby-target-prefix", dest="ibytargetprefix", metavar="prefix",
-                        help="specify the iby target <prefix> (default %s)" % IBY_TARGET_PREFIX)
-        self.add_option("--bld-hw-target-prefix", dest="bldhwtargetprefix", metavar="prefix",
-                        help="specify the bld harware target <prefix> (default %s)" % BLD_HW_TARGET_PREFIX)
-        self.add_option("--bld-emu-target-prefix", dest="bldemutargetprefix", metavar="prefix",
-                        help="specify the bld emulator target <prefix> (default %s)" % BLD_EMU_TARGET_PREFIX)
-        self.add_option("--bld-target-prefix", dest="bldtargetprefixes", action="append", metavar="prefix",
-                        help="specify an additional bld target <prefix>")
-        self.add_option_group(group)
-
-# ============================================================================
-# Utils
-# ============================================================================
-if not hasattr(os.path, "relpath"):
-    def relpath(path, start=os.curdir):
-        abspath = os.path.abspath(path)
-        absstart = os.path.abspath(start)
-        if abspath == absstart:
-            return "."
-        i = len(absstart)
-        if not absstart.endswith(os.path.sep):
-            i += len(os.path.sep)
-        if not abspath.startswith(absstart):
-            i = 0
-        return abspath[i:]
-    os.path.relpath = relpath
-
-def run_process(command, cwd=None):
-    code = 0
-    output = ""
-    try:
-        if cwd != None:
-            oldcwd = os.getcwd()
-            os.chdir(cwd)
-        if sys.version_info[0] == 2 and sys.version_info[1] < 4:
-            process = popen2.Popen4(command)
-            code = process.wait()
-            output = process.fromchild.read()
-        else:
-            process = subprocess.Popen(command, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
-            (stdout, stderr) = process.communicate()
-            code = process.returncode
-            output = stdout + stderr
-        if cwd != None:
-            os.chdir(oldcwd)
-    except Exception, e:
-        print(e)
-        code = -1
-    return [code, output]
-
-def make_target(path):
-    # generate a compatible make target name from path
-    target = os.path.splitdrive(path)[1].strip("\\/")
-    return "_".join(re.split("[\\\/]+", target))
-
-class Theme:
-    def __init__(self, name):
-        self.name = name
-        self.paths = []
-        self.files = {}
-        self.archives = {}
-
-    def initialize(self):
-        for path in self.paths:
-            for root, dirs, files in os.walk(path):
-                for file in files:
-                    filepath = os.path.join(root, file)
-                    if self._include(filepath):
-                        extension = os.path.splitext(filepath)[1]
-                        if extension == ".zip":
-                            if root not in self.archives:
-                                self.archives[root] = list()
-                            self.archives[root].append(filepath)
-                        else:
-                            if root not in self.files:
-                                self.files[root] = list()
-                            self.files[root].append(filepath)
-
-    def _write_zip_entry(self, archive, filepath):
-        path, filename = os.path.split(filepath)
-        oldcwd = os.getcwd()
-        os.chdir(path)
-        archive.write(filename)
-        os.chdir(oldcwd)
-
-    def encode(self):
-        print "Encoding: %s" % self.name
-        for path, archives in self.archives.iteritems():
-            relpath = os.path.relpath(path, INPUT_DIR)
-            if not relpath.startswith("icons"):
-                continue
-            for archive in archives:
-                # ensure that output dir exists
-                outpath = os.path.join(OUTPUT_DIR, relpath)
-                if not os.path.exists(outpath):
-                    os.makedirs(outpath)
-
-                # extract to a temp dir
-                tempdir = tempfile.mkdtemp()
-                zip = zipfile.ZipFile(archive)
-                for name in zip.namelist():
-                    file = open(os.path.join(tempdir, name),'w')
-                    file.write(zip.read(name))
-                    file.close()
-
-                # convert & re-archive
-                total = 0
-                converted = 0
-                tmpfile, tmpfilepath = tempfile.mkstemp(".zip")
-                tmparchive = zipfile.ZipFile(tmpfilepath, 'w')
-                for root, dirs, files in os.walk(tempdir):
-                    for file in files:
-                        filepath = os.path.join(root, file)
-                        basepath, extension = os.path.splitext(filepath)
-                        if extension == ".svg":
-                            total += 1
-                            res = run_process([ENCODER, "-v", "6", filepath, "-e", ".nvg"])[0]
-                            exists = os.path.exists(basepath + ".nvg")
-                            if not exists:
-                                self._write_zip_entry(tmparchive, filepath)
-                            else:
-                                converted += 1
-                                self._write_zip_entry(tmparchive, basepath + ".nvg")
-       
-                # cleanup
-                tmparchive.close()
-                os.close(tmpfile)
-                if converted > 0:
-                    shutil.move(tmpfilepath, os.path.join(outpath, os.path.basename(archive)))
-                else:
-                    os.remove(tmpfilepath)
-                shutil.rmtree(tempdir, True)
-                print "          %s (%s/%s)" % (os.path.join(relpath, os.path.basename(archive)), converted, total)
-
-    def write_iby(self, ibypath):
-        global IBY_SOURCE_PREFIX, IBY_TARGET_PREFIX, EXIT_STATUS
-        outpath = os.path.dirname(ibypath)
-        if not os.path.exists(outpath):
-            os.makedirs(outpath)
-        out = open(ibypath, "w")
-        out.write("#ifndef __%s_IBY__\n" % self.name.upper())
-        out.write("#define __%s_IBY__\n" % self.name.upper())
-        out.write("\n")
-        out.write("#include <bldvariant.hrh>\n")
-        out.write("\n")
-        out.write("data=%s/%s.themeindex\t%s/%s.themeindex\n" % (IBY_SOURCE_PREFIX, self.name, IBY_TARGET_PREFIX, self.name))
-        written_entries = list()
-        for path, files in self.files.iteritems():
-            relpath = os.path.relpath(path, INPUT_DIR)
-            for filepath in files:
-                filename = os.path.basename(filepath)
-                entry = os.path.join(relpath, filename)
-                if entry not in written_entries:
-                    written_entries.append(filepath)
-                    out.write("data=%s/%s\t%s/%s\n" % (IBY_SOURCE_PREFIX, entry, IBY_TARGET_PREFIX, entry))
-                else:
-                    print "ERROR: %s duplicate entry %s" % (ibypath, entry)
-                    EXIT_STATUS = -1
-        for path, archives in self.archives.iteritems():
-            relpath = os.path.relpath(path, INPUT_DIR)
-            for archive in archives:
-                files = self._list_files(archive)
-                for filepath in files:
-                    entry = os.path.join(relpath, filepath)
-                    if entry not in written_entries:
-                        written_entries.append(entry)
-                        out.write("data=%s/%s\t%s/%s\n" % (IBY_SOURCE_PREFIX, entry, IBY_TARGET_PREFIX, entry))
-                    else:
-                        print "ERROR: %s duplicate entry %s" % (ibypath, entry)
-                        EXIT_STATUS = -1
-        out.write("\n")
-        out.write("#endif __%s_IBY__\n" % self.name.upper())
-        out.close()
-
-    def _list_files(self, filepath):
-        files = list()
-        archive = zipfile.ZipFile(filepath)
-        for entry in archive.namelist():
-            if not entry.endswith("/"):
-                files.append(entry)
-        return files
-
-    def _include(self, filepath):
-        result = True
-        if INCLUDE != None:
-            for pattern in INCLUDE:
-                if not fnmatch.fnmatch(filepath, pattern):
-                    result = False
-        if EXCLUDE != None:
-            for pattern in EXCLUDE:
-                if fnmatch.fnmatch(filepath, pattern):
-                    result = False
-        return result
-
-def lookup_themes(path):
-    themes = {}
-    # base: effects, icons...
-    for base in os.listdir(path):
-        basepath = os.path.join(path, base)
-        if os.path.isdir(basepath):
-            # theme: footheme, bartheme...
-            for theme in os.listdir(basepath):
-                themepath = os.path.join(basepath, theme)
-                if os.path.isdir(themepath):
-                    if theme not in themes:
-                        themes[theme] = Theme(theme)
-                    themes[theme].paths.append(themepath)
-    return themes
-
-def write_txt(filepath, themes, prefixes):
-    outpath = os.path.dirname(filepath)
-    if not os.path.exists(outpath):
-        os.makedirs(outpath)
-    out = open(filepath, "w")
-    for name, theme in themes.iteritems():
-        for prefix in prefixes:
-            path = os.path.normpath("%s/icons/%s" % (prefix, name))
-            out.write("%s %s %s\n" % (name, path, prefix))
-    out.close()
-
-def write_pri(filepath, themes, settingsfile_exists):
-    outpath = os.path.dirname(filepath)
-    if not os.path.exists(outpath):
-        os.makedirs(outpath)
-    outpath = os.path.splitdrive(OUTPUT_DIR)[1]
-    out = open(filepath, "w")
-    out.write("symbian {\n")
-    out.write("\tBLD_INF_RULES.prj_exports += \"$${LITERAL_HASH}include <platform_paths.hrh>\"\n")
-    # TODO: temp workaround to include pre-generated .themeindex files
-    rompath = os.path.join(os.getcwd(), "rom")
-    for entry in os.listdir(rompath):
-        filepath = os.path.join(rompath, entry)
-        if os.path.isfile(filepath) and os.path.splitext(filepath)[1] == ".themeindex":
-            filepath = os.path.splitdrive(filepath)[1]
-            filename = os.path.basename(filepath)
-            out.write("\tBLD_INF_RULES.prj_exports += \"%s\t%s/%s\"\n" % (filepath, BLD_HW_TARGET_PREFIX, filename))
-            out.write("\tBLD_INF_RULES.prj_exports += \"%s\t%s/%s\"\n" % (filepath, BLD_EMU_TARGET_PREFIX, filename))
-
-    if settingsfile_exists:
-        # exporting theme settings file
-        settingsPath = os.path.splitdrive(os.path.join(INPUT_DIR,THEME_SETTINGS_FILE))[1]
-        out.write("\tBLD_INF_RULES.prj_exports += \"%s\t%s/%s\"\n" % (settingsPath, BLD_HW_TARGET_PREFIX, THEME_SETTINGS_FILE))
-        out.write("\tBLD_INF_RULES.prj_exports += \"%s\t%s/%s\"\n" % (settingsPath, BLD_EMU_TARGET_PREFIX, THEME_SETTINGS_FILE))
-        out.write("\tBLD_INF_RULES.prj_exports += \"%s.iby\tCORE_MW_LAYER_IBY_EXPORT_PATH(%s.iby)\"\n" % (os.path.join(outpath, THEME_COMMON), THEME_COMMON))
-
-    for name, theme in themes.iteritems():
-        ibyfile = "%s.iby" % name
-        out.write("\tBLD_INF_RULES.prj_exports += \"%s\tCORE_MW_LAYER_IBY_EXPORT_PATH(%s)\"\n" % (os.path.join(outpath, ibyfile), ibyfile))
-        for path, files in theme.files.iteritems():
-            relpath = os.path.relpath(path, INPUT_DIR)
-            for filepath in files:
-                filepath = os.path.splitdrive(filepath)[1]
-                filename = os.path.basename(filepath)
-                out.write("\tBLD_INF_RULES.prj_exports += \"%s\t%s/%s\"\n" % (filepath, BLD_HW_TARGET_PREFIX, os.path.join(relpath, filename)))
-                out.write("\tBLD_INF_RULES.prj_exports += \"%s\t%s/%s\"\n" % (filepath, BLD_EMU_TARGET_PREFIX, os.path.join(relpath, filename)))
-        for path, archives in theme.archives.iteritems():
-            relpath = os.path.relpath(path, INPUT_DIR)
-            for filepath in archives:
-                filepath = os.path.splitdrive(filepath)[1]
-                filename = os.path.basename(filepath)
-                if ARCHIVES:
-                    out.write("\tBLD_INF_RULES.prj_exports += \"%s\t%s/%s\"\n" % (filepath, BLD_HW_TARGET_PREFIX, os.path.join(relpath, filename)))
-                    out.write("\tBLD_INF_RULES.prj_exports += \"%s\t%s/%s\"\n" % (filepath, BLD_EMU_TARGET_PREFIX, os.path.join(relpath, filename)))
-                else:
-                    out.write("\tBLD_INF_RULES.prj_exports += \":zip %s\t%s/%s\"\n" % (filepath, BLD_HW_TARGET_PREFIX, relpath))
-                    out.write("\tBLD_INF_RULES.prj_exports += \":zip %s\t%s/%s\"\n" % (filepath, BLD_EMU_TARGET_PREFIX, relpath))
-    out.write("} else {\n")
-    out.write("\tisEmpty(QMAKE_UNZIP):QMAKE_UNZIP = unzip -u -o\n")
-
-    if settingsfile_exists:
-    # installing theme settings file
-        settingsPath = os.path.join(INPUT_DIR,THEME_SETTINGS_FILE)
-        out.write("\t%s.path += $$(HB_THEMES_DIR)/themes\n" % THEME_COMMON)
-        out.write("\t%s.files += %s\n" % (THEME_COMMON, settingsPath))
-        out.write("\tINSTALLS += %s\n" % THEME_COMMON)
-
-    for name, theme in themes.iteritems():
-        for path, files in theme.files.iteritems():
-            target = make_target(path)
-            relpath = os.path.relpath(path, INPUT_DIR)
-            out.write("\t%s.path += $$(HB_THEMES_DIR)/themes/%s\n" % (target, relpath))
-            out.write("\t%s.files += %s\n" % (target, " ".join(files)))
-            out.write("\tINSTALLS += %s\n" % target)
-        for path, archives in theme.archives.iteritems():
-            target = make_target(path)
-            relpath = os.path.relpath(path, INPUT_DIR)
-            out.write("\t%s_zip.path += $$(HB_THEMES_DIR)/themes/%s\n" % (target, relpath))
-            if ARCHIVES:
-                out.write("\t%s_zip.files += %s\n" % (target, " ".join(archives)))
-            else:
-                commands = []
-                for archive in archives:
-                    commands.append("$$QMAKE_UNZIP %s -d $$(HB_THEMES_DIR)/themes/%s" % (archive, relpath))
-                out.write("\t%s_zip.commands += %s\n" % (target, " && ".join(commands)))
-            out.write("\tINSTALLS += %s_zip\n" % target)
-    out.write("}\n")
-    out.close()
-
-
-def write_common_iby(path):
-    global VERBOSE, IBY_SOURCE_PREFIX, IBY_TARGET_PREFIX, OUTPUT_DIR, INPUT_DIR 
-    global THEME_COMMON, THEME_SETTINGS_FILE
-
-    # Create iby file for theme.theme if it is there
-    theme_theme = os.path.join(INPUT_DIR,THEME_SETTINGS_FILE)
-    if os.path.isfile(theme_theme):
-        if VERBOSE:
-            print "Writing:  %s.iby" % THEME_COMMON
-        ibypath = os.path.join(OUTPUT_DIR, THEME_COMMON + ".iby")
-        outpath = os.path.dirname(ibypath)
-        if not os.path.exists(outpath):
-            os.makedirs(outpath)
-        out = open(ibypath, "w")
-        out.write("#ifndef __%s_IBY__\n" % THEME_COMMON.upper())
-        out.write("#define __%s_IBY__\n" % THEME_COMMON.upper())
-        out.write("\n")
-        out.write("#include <bldvariant.hrh>\n")
-        out.write("\n")
-        out.write("data=%s/%s\t%s/%s\n" % (IBY_SOURCE_PREFIX, THEME_SETTINGS_FILE, IBY_TARGET_PREFIX, THEME_SETTINGS_FILE))
-        out.write("\n")
-        out.write("#endif __%s_IBY__\n" % THEME_COMMON.upper())
-        return True
-
-    # theme common iby not written, return false
-    return False
-
-# ============================================================================
-# main()
-# ============================================================================
-def main():
-    global VERBOSE, ARCHIVES, INPUT_DIR, OUTPUT_DIR, INCLUDE, EXCLUDE, SYMBIAN, NAME, NVG
-    global IBY_SOURCE_PREFIX, IBY_TARGET_PREFIX
-    global BLD_HW_TARGET_PREFIX, BLD_EMU_TARGET_PREFIX, BLD_TARGET_PREFIXES
-
-    parser = OptionParser()
-    (options, args) = parser.parse_args()
-
-    if options.verbose != None:
-        VERBOSE = options.verbose
-    if options.symbian != None:
-        SYMBIAN = options.symbian
-    if options.nvg != None:
-        NVG = options.nvg
-    if options.name != None:
-        NAME = options.name
-    if options.archives != None:
-        ARCHIVES = options.archives
-    if options.include != None:
-        INCLUDE = options.include
-    if options.exclude != None:
-        EXCLUDE = options.exclude
-    if options.input != None:
-        INPUT_DIR = options.input
-    if options.output != None:
-        OUTPUT_DIR = options.output
-    if options.ibysourceprefix != None:
-        IBY_SOURCE_PREFIX = options.ibysourceprefix
-    if options.ibytargetprefix != None:
-        IBY_TARGET_PREFIX = options.ibytargetprefix
-    if options.bldhwtargetprefix != None:
-        BLD_HW_TARGET_PREFIX = options.bldhwtargetprefix
-    if options.bldemutargetprefix != None:
-        BLD_EMU_TARGET_PREFIX = options.bldemutargetprefix
-    if options.bldtargetprefixes != None:
-        BLD_TARGET_PREFIXES = options.bldtargetprefixes
-
-    settingsfile_exists = write_common_iby(INPUT_DIR)
-
-    themes = lookup_themes(INPUT_DIR)
-    for name, theme in themes.iteritems():
-        theme.initialize()
-        if SYMBIAN and NVG:
-            theme.encode()
-        if VERBOSE:
-            print "Writing:  %s.iby" % name
-        theme.write_iby(os.path.join(OUTPUT_DIR, "%s.iby" % name))
-
-    if VERBOSE:
-        print "Writing:  %s.pri" % NAME
-    write_pri(os.path.join(OUTPUT_DIR, "%s.pri" % NAME), themes, settingsfile_exists)
-    if VERBOSE:
-        print "Writing:  %s.txt" % NAME
-    if SYMBIAN:
-        prefixes = [BLD_HW_TARGET_PREFIX, BLD_EMU_TARGET_PREFIX]
-        prefixes += BLD_TARGET_PREFIXES
-        write_txt(os.path.join(OUTPUT_DIR, "%s.txt" % NAME), themes, prefixes)
-    else:
-        write_txt(os.path.join(OUTPUT_DIR, "%s.txt" % NAME), themes, [os.path.join(os.environ["HB_THEMES_DIR"], "themes")])
-
-    return EXIT_STATUS
-
-if __name__ == "__main__":
-    sys.exit(main())
Binary file confml/confml/CI_hbtheme.confml has changed
Binary file confml/confml/hbtheme.confml has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/confml/implml/hbtheme.implml	Thu Jul 22 16:38:28 2010 +0100
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<container xmlns="http://www.symbianfoundation.org/xml/implml/1">
+
+<container> 
+    <phase name="pre"/> 
+    <tag name="target" value="rofs3"/> 
+
+    <ruleml xmlns="http://www.s60.com/xml/ruleml/3">
+        <rule>
+            ${HbTheme.UIThemeFile} configures ${HbTheme.HbDefaultTheme} = {% get_themename_from_thx( ${HbTheme.UIThemeFile}, 'themes' ) %}
+        </rule>
+        <rule>
+            ${HbTheme.PriorityThemeFile} configures ${HbTheme.HbPriorityThemeName} = {% get_themename_from_thx( ${HbTheme.PriorityThemeFile}, 'prioritytheme' ) %}
+        </rule>
+        <eval_globals>
+
+import sys, zipfile, os, os.path
+import tempfile
+import shutil
+    
+def get_themename_from_thx(file, themesfolder):
+    ret = None
+
+    outdir = get_output_folder()
+    outdir = os.path.join(outdir, 'resource')
+    if not os.path.exists(outdir):    
+        os.mkdir(outdir)
+    outdir = os.path.join(outdir, 'hb')
+    if not os.path.exists(outdir):    
+        os.mkdir(outdir)
+    outdir = os.path.join(outdir, themesfolder)
+    if not os.path.exists(outdir):    
+        os.mkdir(outdir)
+    unzip_file_into_dir(file, outdir)
+    
+    # Get filesnames in outdir
+    files_in_dir = os.listdir(outdir)
+    
+    # Search for themeindex file
+    for fn in files_in_dir:
+        if os.path.splitext(fn)[1] == '.themeindex':
+            ret = os.path.splitext(fn)[0]
+        
+    return ret
+        
+def unzip_file_into_dir(file, dir):
+    """
+    Unzips file into given folder.
+    """
+
+    zfobj = zipfile.ZipFile(file,'r')
+    for name in zfobj.namelist():
+        if name.endswith('/'):        
+            os.mkdir(os.path.join(dir, name))
+        else:
+            outfile = open(os.path.join(dir, name), 'wb')
+            outfile.write(zfobj.read(name))
+            outfile.close()
+
+def get_output_folder():
+    output = ruleml.context.output
+    output = os.path.join(output, 'content')
+    if not os.path.exists(output):
+        os.mkdir(output)
+
+    return output
+
+        </eval_globals>
+    
+    </ruleml>
+</container>
+
+<container>
+    <phase name="normal"/>
+    <tag name="target" value="rofs3"/> 
+
+    <content xmlns="http://www.s60.com/xml/content/2">
+        <output dir="">
+            <input dir="content"/>
+        </output>
+    </content>
+</container>
+
+</container>
Binary file confml/implml/hbtheme_20022e82.crml has changed
--- a/makeindex.mk	Fri Jun 11 16:25:39 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#
-# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:  Hb make index wrapper
-#
-
-MAKE = make
-
-do_nothing :
-	echo do_nothing
-
-MAKMAKE : do_nothing
-
-RESOURCE : do_nothing
-
-SAVESPACE : do_nothing
-
-BLD :
-	-$(MAKE) index
-
-FREEZE : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-FINAL : do_nothing
-
-CLEAN : do_nothing
-
-RELEASABLES : do_nothing
--- a/platformthemes.pro	Fri Jun 11 16:25:39 2010 +0100
+++ b/platformthemes.pro	Thu Jul 22 16:38:28 2010 +0100
@@ -1,21 +1,29 @@
 #
-# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# ============================================================================
+#  Name        : platformthemes.pro
+#  Part of     : platformthemes
+#  Description : Project definition file for project platformthemes
+#  Version     : %version: %
 #
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:  Project definition file for project platformthemes
+#  Copyright (c) 2008-2010 Nokia.  All rights reserved.
+#  This material, including documentation and any related computer
+#  programs, is protected by copyright controlled by Nokia.  All
+#  rights are reserved.  Copying, including reproducing, storing,
+#  adapting or translating, any or all of this material requires the
+#  prior written consent of Nokia.  This material also contains
+#  confidential information which may not be disclosed to others
+#  without the prior written consent of Nokia.
+# ============================================================================
 #
 
 NAME = platformthemes
 TEMPLATE = subdirs
+EXCLUDE += --exclude \"*.orig\"
+EXCLUDE += --exclude \"*/distribution.policy.s60\"
+
+# ============================================================================
+# determine HB_THEMES_DIR
+# ============================================================================
 !symbian {
     HB_THEMES_DIR = $$(HB_THEMES_DIR)
     isEmpty(HB_THEMES_DIR) {
@@ -24,55 +32,137 @@
         error(HB_THEMES_DIR environment variable is not set. ($$ENV_HELP))
     }
 } else {
-    ARGS += --symbian
-    nvg:ARGS += --nvg
-    no_nvg:ARGS += --no-nvg
+    HB_THEMES_DIR = $${EPOCROOT}epoc32/data/z/resource/hb
 }
-ARGS += -v --input $$IN_PWD/src --output $$OUT_PWD/src --name $$NAME
-ARGS += --exclude \"*distribution.policy.s60\"
-!system(python $$IN_PWD/bin/sync.py $$ARGS) {
-    error(*** bin/sync.py reported an error. Stop.)
+HB_THEMES_DIR = $$HB_THEMES_DIR/themes
+
+win32:!win32-g++ {
+    unixstyle = false
+} else:symbian:isEmpty(QMAKE_SH) {
+    unixstyle = false
+} else:win32-g++:isEmpty(QMAKE_SH) {
+    unixstyle = false
+} else {
+    unixstyle = true
 }
 
-*symbian* {
-    THEMEINDEXER = bin\themeindexer_symbian.exe
-} else {
+# ============================================================================
+# extract archives
+# ============================================================================
+ARGS = --input src --output $$OUT_PWD/tmp/src $$EXCLUDE
+!system(python bin/extract.py $$ARGS) {
+    error(*** bin/extract.py reported an error. Stop.)
+}
 
-    win32:!win32-g++ {
-        unixstyle = false
-    } else:win32-g++:isEmpty(QMAKE_SH) {
-        unixstyle = false
-    } else {
-        unixstyle = true
+# ============================================================================
+# convert svg->nvg
+# ============================================================================
+symbian {
+    nvg|!no_nvg {
+        ARGS = --input $$OUT_PWD/tmp/src/icons
+        !system(python bin/svg2nvg.py $$ARGS) {
+            error(*** bin/svg2nvg.py reported an error. Stop.)
+        }
     }
+}
 
+# ============================================================================
+# theme indexing target
+# ============================================================================
+THEMEINDEXER = hbthemeindexer
+!symbian {
     $$unixstyle {
         DEVNULL = /dev/null
     } else {
         DEVNULL = nul
     }
-    THEMEINDEXER = themeindexer
     !system($$THEMEINDEXER > $$DEVNULL 2>&1) {
-        error('themeindexer' must be in PATH.)
+        error(\'$$THEMEINDEXER\' must be in PATH.)
+    }
+}
+ARGS = -s $$OUT_PWD/tmp/src -t $$OUT_PWD/tmp
+!system($$THEMEINDEXER $$ARGS) {
+    error(*** $$THEMEINDEXER reported an error. Stop.)
+}
+
+index.path = $$(HB_THEMES_DIR)/themes
+index.files = $$OUT_PWD/tmp/*.themeindex
+INSTALLS += index
+QMAKE_CLEAN += $$OUT_PWD/tmp/*.themeindex
+
+# ============================================================================
+# generate installs.pri
+# ============================================================================
+ARGS = --input $$OUT_PWD/tmp/src --output $$OUT_PWD/tmp $$EXCLUDE
+!system(python bin/installs.py $$ARGS) {
+    error(*** bin/installs.py reported an error. Stop.)
+}
+isEmpty(QMAKE_UNZIP):QMAKE_UNZIP = unzip -u -o
+include($$OUT_PWD/tmp/installs.pri)
+QMAKE_DISTCLEAN += $$OUT_PWD/tmp/installs.pri
+
+# ============================================================================
+# generate rom files
+# ============================================================================
+symbian {
+    ARGS = --input $$OUT_PWD/tmp/src --output $$OUT_PWD/tmp $$EXCLUDE
+    !system(python bin/rom.py $$ARGS) {
+        error(*** bin/rom.py reported an error. Stop.)
+    }
+    QMAKE_CLEAN += $$OUT_PWD/tmp/*.iby
+}
+
+# ============================================================================
+# installs/exports
+# ============================================================================
+symbian {
+
+    # theme exports
+    exists(src/theme.theme) {
+        BLD_INF_RULES.prj_exports += "src/theme.theme $${EPOCROOT}epoc32/data/z/resource/hb/themes/"
+        BLD_INF_RULES.prj_exports += "src/theme.theme $${EPOCROOT}epoc32/winscw/c/resource/hb/themes/"
+    }
+    exists(rom/theme.theme.iby) {
+        BLD_INF_RULES.prj_exports += "rom/theme.theme.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(theme.theme.iby)"
+    }
+
+    # params: <files> <target>
+    defineTest(exportThemeFiles) {
+        files = $$1
+        target = $$2
+        for(file, files) {
+            # strip possible drive letter
+            file = $$split(file, :)
+            file = $$last(file)
+            BLD_INF_RULES.prj_exports += "$$file $$target"
+        }
+        export(BLD_INF_RULES.prj_exports)
+        return(true)
+    }
+    exportThemeFiles($$files($$OUT_PWD/tmp/*.iby), $$CORE_MW_LAYER_IBY_EXPORT_PATH())
+    exportThemeFiles($$files($$OUT_PWD/tmp/*.themeindex), $${EPOCROOT}epoc32/data/z/resource/hb/themes/)
+    exportThemeFiles($$files($$OUT_PWD/tmp/*.themeindex), $${EPOCROOT}epoc32/winscw/c/resource/hb/themes/)
+
+    # configuration files - exporting removed from platformthemes
+#    BLD_INF_RULES.prj_exports += "$$section(PWD, ":", 1)/confml/confml/hbtheme.confml            MW_LAYER_CONFML(hbtheme.confml)
+#    BLD_INF_RULES.prj_exports += "$$section(PWD, ":", 1)/confml/implml/hbtheme_20022e82.crml     MW_LAYER_CRML(hbtheme_20022e82.crml)
+#    BLD_INF_RULES.prj_exports += "$$section(PWD, ":", 1)/confml/implml/hbtheme.implml            MW_LAYER_CRML(hbtheme.implml)
+
+} else {
+    exists(src/theme.theme) {
+        theme.theme.path = $$(HB_THEMES_DIR)/themes
+        theme.theme.files += src/theme.theme
+        INSTALLS += theme.theme
     }
 }
 
-*symbian* {
-    # NOTE: temporarily disabled due to:
-    #       "Qt: INTERNALL ERROR: failed to install GetMessage hook"
-    # BLD_INF_RULES.prj_mmpfiles += "gnumakefile makeindex.mk"
-
-    install.depends = default
+# ============================================================================
+# NOTE: qmake/s60 does not support INSTALLS
+# ============================================================================
+symbian {
+    install.depends += export
     uninstall.depends = cleanexport
     QMAKE_EXTRA_TARGETS += install uninstall
 }
-index.path = .
-index.commands = $$THEMEINDEXER -f $$OUT_PWD/src/$${NAME}.txt
-QMAKE_EXTRA_TARGETS += index
 
 message(Run \'make install\')
-
-include($$OUT_PWD/src/$${NAME}.pri)
-
-# NOTE: must be after .pri include above!
-INSTALLS += index
Binary file rom/sfblacknvgtheme.themeindex has changed
Binary file rom/sfblacktheme.themeindex has changed
Binary file rom/sfwhitetheme.themeindex has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rom/theme.theme.iby	Thu Jul 22 16:38:28 2010 +0100
@@ -0,0 +1,8 @@
+#ifndef __THEME_THEME_IBY__
+#define __THEME_THEME_IBY__
+
+#include <bldvariant.hrh>
+
+data=ZRESOURCE/hb/themes/theme.theme	RESOURCE_FILES_DIR/hb/themes/theme.theme
+
+#endif __THEME_THEME_IBY__
Binary file src/animations/sfwhitetheme/animations.zip has changed
Binary file src/effects/sfblacktheme/applications.zip has changed
Binary file src/effects/sfblacktheme/effects.zip has changed
Binary file src/effects/sfblacktheme/widgets.zip has changed
Binary file src/effects/sfwhitetheme/applications.zip has changed
Binary file src/effects/sfwhitetheme/effects.zip has changed
Binary file src/effects/sfwhitetheme/widgets.zip has changed
--- a/src/icons/sfblacknvgtheme/index.theme	Fri Jun 11 16:25:39 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-[Icon Theme]
-Name=sfblacknvgtheme
-Comment=Reference SF Black Theme (NVG version)
-Hidden=false
-Directories=scalable
Binary file src/icons/sfblacknvgtheme/scalable/applications.zip has changed
Binary file src/icons/sfblacknvgtheme/scalable/icons.zip has changed
Binary file src/icons/sfblacknvgtheme/scalable/smileys.zip has changed
Binary file src/icons/sfblacknvgtheme/scalable/widgets.zip has changed
--- a/src/icons/sfblacktheme/index.theme	Fri Jun 11 16:25:39 2010 +0100
+++ b/src/icons/sfblacktheme/index.theme	Thu Jul 22 16:38:28 2010 +0100
@@ -3,3 +3,6 @@
 Comment=Reference SF Black Theme
 Hidden=false
 Directories=scalable
+PreviewIconPath_prt=/scalable/qtg_graf_theme_preview_prt.svg
+PreviewIconPath_lsc=/scalable/qtg_graf_theme_preview_lsc.svg
+PreviewThumbnailPath=/scalable/qtg_graf_theme_preview_thumbnail.svg
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/icons/sfblacktheme/mirrored.txt	Thu Jul 22 16:38:28 2010 +0100
@@ -0,0 +1,46 @@
+
+#Grid
+
+qtg_fr_popup_grid_normal
+qtg_fr_popup_grid_highlight
+qtg_fr_popup_grid_pressed
+qtg_fr_popup_grid_latched
+qtg_fr_popup_trans_grid_normal
+
+
+#Progress bar
+
+qtg_fr_progbar_v_frame
+qtg_fr_progbar_v_filled
+qtg_graf_progbar_v_wait
+qtg_fr_progbar_v_mask
+
+
+#Slider
+
+qtg_fr_slider_v_frame_normal
+qtg_fr_slider_v_frame_pressed
+qtg_fr_slider_v_filled
+
+
+#Toolbar
+
+qtg_fr_tb_v_normal
+qtg_fr_tb_v_highlight
+qtg_fr_tb_v_pressed
+qtg_fr_tb_v_latched
+qtg_fr_tb_v_disabled
+qtg_fr_tb_trans_v_normal
+qtg_fr_tb_trans_v_highlight
+qtg_fr_tb_trans_v_pressed
+qtg_fr_tb_trans_v_latched
+qtg_fr_tb_trans_v_disabled
+
+
+#Scrollbar
+
+qtg_fr_scroll_v_active_handle_normal
+qtg_fr_scroll_v_active_frame_normal
+qtg_fr_scroll_v_active_handle_pressed
+qtg_fr_scroll_v_active_frame_pressed
+
Binary file src/icons/sfblacktheme/scalable/applications.zip has changed
Binary file src/icons/sfblacktheme/scalable/icons.zip has changed
Binary file src/icons/sfblacktheme/scalable/widgets.zip has changed
--- a/src/icons/sfwhitetheme/index.theme	Fri Jun 11 16:25:39 2010 +0100
+++ b/src/icons/sfwhitetheme/index.theme	Thu Jul 22 16:38:28 2010 +0100
@@ -3,3 +3,6 @@
 Comment=Reference SF White Theme
 Hidden=false
 Directories=scalable
+PreviewIconPath_prt=/scalable/qtg_graf_theme_preview_prt.svg
+PreviewIconPath_lsc=/scalable/qtg_graf_theme_preview_lsc.svg
+PreviewThumbnailPath=/scalable/qtg_graf_theme_preview_thumbnail.svg
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/icons/sfwhitetheme/mirrored.txt	Thu Jul 22 16:38:28 2010 +0100
@@ -0,0 +1,46 @@
+
+#Grid
+
+qtg_fr_popup_grid_normal
+qtg_fr_popup_grid_highlight
+qtg_fr_popup_grid_pressed
+qtg_fr_popup_grid_latched
+qtg_fr_popup_trans_grid_normal
+
+
+#Progress bar
+
+qtg_fr_progbar_v_frame
+qtg_fr_progbar_v_filled
+qtg_graf_progbar_v_wait
+qtg_fr_progbar_v_mask
+
+
+#Slider
+
+qtg_fr_slider_v_frame_normal
+qtg_fr_slider_v_frame_pressed
+qtg_fr_slider_v_filled
+
+
+#Toolbar
+
+qtg_fr_tb_v_normal
+qtg_fr_tb_v_highlight
+qtg_fr_tb_v_pressed
+qtg_fr_tb_v_latched
+qtg_fr_tb_v_disabled
+qtg_fr_tb_trans_v_normal
+qtg_fr_tb_trans_v_highlight
+qtg_fr_tb_trans_v_pressed
+qtg_fr_tb_trans_v_latched
+qtg_fr_tb_trans_v_disabled
+
+
+#Scrollbar
+
+qtg_fr_scroll_v_active_handle_normal
+qtg_fr_scroll_v_active_frame_normal
+qtg_fr_scroll_v_active_handle_pressed
+qtg_fr_scroll_v_active_frame_pressed
+
Binary file src/icons/sfwhitetheme/scalable/applications.zip has changed
Binary file src/icons/sfwhitetheme/scalable/icons.zip has changed
Binary file src/icons/sfwhitetheme/scalable/widgets.zip has changed
--- a/src/style/sfblacknvgtheme/variables/color/hbapplicationcolorgroup.css	Fri Jun 11 16:25:39 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/* Application specific color groups */
-
-
-@variables
-{
-/* Application specific - Conversational list */ 
-qtc_conv_list_received_normal:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_received_pressed:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_received_highlight:#FFFFFF; /* Modified 05.02.2010 */
-qtc_conv_list_sent_normal:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_sent_pressed:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_sent_highlight:#FFFFFF; /* Modified 05.02.2010 */
-
-/* Application specific - Calendar */ 
-qtc_cal_grid_line:#8E8E8E; /* Added 05.02.2010 */
-qtc_cal_month_highlighted_text:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_month_active_dates:#E5E5E5; /* Added 05.02.2010 */
-qtc_cal_month_notactive_dates:#9B9B9B; /* Added 05.02.2010 */
-qtc_cal_month_current_day:#00BAFF; /* Added 05.02.2010 */
-qtc_cal_week_day:#00BAFF; /* Added 05.02.2010 */
-qtc_cal_day_preview_heading:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_day_preview_text:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_day_hour_lines:#8E8E8E; /* Added 05.02.2010 */
-qtc_cal_monthgrid_title:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Call handling */ 
-qtc_callhandling_answer_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_answer_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_answer_highlight:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_highlight:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Home screen */ 
-qtc_hs_list_item_title_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_hs_list_item_content_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_hs_list_item_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_hs_list_item_highlight:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Messaging */ 
-qtc_messaging_heading:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Radio & Calculator */ 
-qtc_lcd_title_normal:#FFFFFF; /* Added 11.02.2010 */
-qtc_lcd_content_normal:#FFFFFF; /* Added 11.02.2010 */
-qtc_lcd_link_normal:#33C8FF; /* Added 22.02.2010 */
-qtc_radio_tuner_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_radio_tuner_line:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Multimedia */ 
-qtc_multimedia_trans:#FFFFFF; /* Modified 19.02.2010 */
-qtc_multimedia_trans_pressed:#FFFFFF; /* Added 19.02.2010 */
-
-}
-
--- a/src/style/sfblacknvgtheme/variables/color/hbcolorgroup.css	Fri Jun 11 16:25:39 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,353 +0,0 @@
-@variables
-{
-/* Default palette */
-qtc_default_decor_normal:#FFFFFF;
-qtc_default_decor_pressed:#FFFFFF;
-qtc_default_decor_latched:#FFFFFF;
-qtc_default_decor_highlight:#FFFFFF;
-qtc_default_decor_disabled:#9B9B9B; 
-qtc_default_main_pane_normal:#FFFFFF;
-qtc_default_main_pane_pressed:#FFFFFF;
-qtc_default_main_pane_latched:#FFFFFF;
-qtc_default_main_pane_highlight:#FFFFFF;
-qtc_default_main_pane_disabled:#9B9B9B; 
-qtc_default_popup_normal:#FFFFFF;
-qtc_default_popup_pressed:#FFFFFF;
-qtc_default_popup_latched:#FFFFFF;
-qtc_default_popup_highlight:#FFFFFF;
-qtc_default_popup_disabled:#9B9B9B;
-
-/* Title pane */
-qtc_title_pane_normal:#FFFFFF;
-qtc_title_pane_pressed:#FFFFFF;
-qtc_title_pane_highlight:#FFFFFF;
-qtc_title_pane_latched:#FFFFFF;
-qtc_title_pane_trans_normal:#FFFFFF;
-qtc_title_pane_trans_pressed:#FFFFFF;
-qtc_title_pane_trans_highlight:#FFFFFF;
-qtc_title_pane_trans_latched:#FFFFFF;
-qtc_status_pane:#FFFFFF; /* Added 05.02.2010 */
-qtc_status_pane_trans:#FFFFFF; /* Added 05.02.2010 */
-
-/* Main area - View */
-qtc_view_normal:#FFFFFF;
-qtc_view_pressed:#FFFFFF;
-qtc_view_line_normal:#FFFFFF;
-qtc_view_link_normal:#33C8FF;
-qtc_view_visited_normal:#B378FF;
-qtc_view_separator_normal:#9B9B9B;
-
-/* Main area - View title */
-qtc_viewtitle_normal:#E6E6E6;
-
-/* Main area - Tab */ 
-qtc_tab_active_normal:#FFFFFF;
-qtc_tab_passive_normal:#FFFFFF;
-qtc_tab_passive_Pressed:#FFFFFF;
-
-/* Main area - Grid */ 
-qtc_grid_normal:#DCDCDC;
-qtc_grid_pressed:#FFFFFF;
-qtc_grid_highlight:#FFFFFF;
-qtc_grid_latched:#FFFFFF; /* Added 05.02.2010 */
-qtg_grid_disabled:#9B9B9B; /* Added 15.02.2010 */
-
-/* Main area - List */ 
-qtc_list_item_title_normal:#FFFFFF; /* Modified 19.02.2010 */
-qtc_list_item_content_normal:#F0F0F0;
-qtc_list_item_parent_normal:#F0F0F0;
-qtc_list_item_pressed:#FFFFFF;
-qtc_list_item_highlight:#FFFFFF;
-qtc_list_item_disabled:#9B9B9B;
-qtc_list_item_latched:#FFFFFF; /* Added 05.02.2010 */
-qtc_list_item_separator:#FFFFFF; /* Added 22.02.2010 */
-
-/* Button */ 
-qtc_button_normal:#FFFFFF;
-qtc_button_pressed:#FFFFFF;
-qtc_button_latched:#FFFFFF;
-qtc_button_highlight:#FFFFFF;
-qtc_button_disabled:#9B9B9B;
-
-/* LineEdit */ 
-qtc_lineedit_normal:#FFFFFF;
-qtc_lineedit_selected:#FFFFFF;
-qtc_lineedit_marker_normal:#4D4D4D;
-qtc_lineedit_hint_normal:#F0F0F0;
-
-/* Combobox */ 
-qtc_combobox_normal:#FFFFFF;
-qtc_combobox_pressed:#FFFFFF;
-qtc_combobox_highlight:#FFFFFF;
-qtc_combobox_disabled:#9B9B9B;
-qtc_combobox_edit:#4D4D4D;
-qtc_combobox_latched:#FFFFFF; /* Added 05.02.2010 */
-
-/* Tumbler */
-qtc_tumbler_normal:#FFFFFF;
-qtc_tumbler_selected:#FFFFFF;
-qtc_tumbler_highlight:#FFFFFF;
-
-/* Main area - DataForm */
-qtc_dataform_value:#FFFFFF; /* Added 08.02.2010 */
-
-/* Main area - ProgressSlider */
-qtc_progslider_normal:#FFFFFF; /* Added 09.02.2010 */
-qtc_progslider_pressed:#FFFFFF; /* Added 09.02.2010 */
-
-/* Main area - Text edit */ 
-qtc_textedit_normal:#FFFFFF; /* Added 17.02.2010 */
-qtc_textedit_selected:#FFFFFF; /* Added 17.02.2010 */
-qtc_textedit_marker_normal:#4D4D4D; /* Added 17.02.2010 */
-qtc_textedit_hint_normal:#F0F0F0; /* Added 17.02.2010 */
-
-/* Main area - Toolbar */
-qtc_toolbar_normal:#FFFFFF;
-qtc_toolbar_pressed:#FFFFFF;
-qtc_toolbar_latched:#FFFFFF;
-qtc_toolbar_disabled:#9B9B9B;
-qtc_toolbar_highlight:#FFFFFF;
-qtc_toolbar_trans_normal:#FFFFFF;
-qtc_toolbar_trans_pressed:#FFFFFF;
-qtc_toolbar_trans_latched:#FFFFFF;
-qtc_toolbar_trans_disabled:#9B9B9B;
-qtc_toolbar_trans_highlight:#FFFFFF;
-
-/* Main area - Groupbox */
-qtc_groupbox_normal:#FFFFFF;
-qtc_groupbox_pressed:#FFFFFF;
-qtc_groupbox_highlight:#FFFFFF;
-
-/* Pop-ups - Generic pop-up */ 
-qtc_popup_sk_normal:#FFFFFF;
-qtc_popup_sk_highlight:#FFFFFF;
-qtc_popup_sk_pressed:#FFFFFF;
-qtc_popup_sk_disabled:#9B9B9B; /* Added 05.02.2010 */
-qtc_popup_heading_normal:#FFFFFF;
-qtc_popup_normal:#B5B5B5;
-qtc_popup_link:#33C8FF; /* Added 16.02.2010 */
-
-/* Pop-ups - Preview pop-up */
-qtc_popup_preview_normal:#FFFFFF;
-qtc_popup_preview_pressed:#F0F0F0;
-qtc_popup_preview_link:#33C8FF;
-
-/* Pop-ups - Transparent pop-up */
-qtc_popup_trans_normal:#FFFFFF;
-qtc_popup_trans_pressed:#F0F0F0;
-qtc_popup_trans_link:#33C8FF;
-
-/* Pop-ups - Grid in a pop-up */ 
-qtc_popup_grid_normal:#FFFFFF;
-qtc_popup_grid_pressed:#FFFFFF; 
-qtc_popup_grid_highlight:#FFFFFF;
-qtc_popup_grid_disabled:#9B9B9B;
-qtc_popup_grid_latched:#FFFFFF; /* Added 05.02.2010 */
-qtc_popup_grid_trans_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_popup_grid_trans_pressed:#FFFFFF; /* Added 05.02.2010 */
-
-/* Pop-ups - List in a pop-up */ 
-qtc_popup_list_title_normal:#FFFFFF;
-qtc_popup_list_item_content_normal:#FFFFFF;
-qtc_popup_list_item_parent_normal:#FFFFFF;
-qtc_popup_list_item_pressed:#FFFFFF;
-qtc_popup_list_item_highlight:#FFFFFF;
-qtc_popup_list_item_disabled:#9B9B9B;
-qtc_popup_list_item_latched:#FFFFFF; /* Added 05.02.2010 */
-
-/* Virtual inputs */ 
-qtc_input_button_normal:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_accented_normal:#FFFFFF; /* Added 22.02.2010 */
-qtc_input_button_pressed:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_latched:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_disabled:#9B9B9B; /* Modified 19.02.2010 */
-qtc_input_function_normal:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_pressed:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_latched:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_disabled:#9B9B9B; /* Modified 19.02.2010 */
-qtc_input_preview_normal:#FFFFFF; /* Modified 22.02.2010 */
-
-/* Application specific color groups */
-
-/* Application specific - Conversational list */ 
-qtc_conv_list_received_normal:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_received_pressed:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_received_highlight:#FFFFFF; /* Modified 05.02.2010 */
-qtc_conv_list_sent_normal:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_sent_pressed:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_sent_highlight:#FFFFFF; /* Modified 05.02.2010 */
-
-/* Application specific - Calendar */ 
-qtc_cal_grid_line:#8E8E8E; /* Added 05.02.2010 */
-qtc_cal_month_highlighted_text:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_month_active_dates:#E5E5E5; /* Added 05.02.2010 */
-qtc_cal_month_notactive_dates:#9B9B9B; /* Added 05.02.2010 */
-qtc_cal_month_current_day:#00BAFF; /* Added 05.02.2010 */
-qtc_cal_week_day:#00BAFF; /* Added 05.02.2010 */
-qtc_cal_day_preview_heading:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_day_preview_text:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_day_hour_lines:#8E8E8E; /* Added 05.02.2010 */
-qtc_cal_monthgrid_title:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Call handling */ 
-qtc_callhandling_answer_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_answer_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_answer_highlight:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_highlight:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Home screen */ 
-qtc_hs_list_item_title_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_hs_list_item_content_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_hs_list_item_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_hs_list_item_highlight:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Messaging */ 
-qtc_messaging_heading:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Radio & Calculator */ 
-qtc_lcd_title_normal:#FFFFFF; /* Added 11.02.2010 */
-qtc_lcd_content_normal:#FFFFFF; /* Added 11.02.2010 */
-qtc_lcd_link_normal:#33C8FF; /* Added 22.02.2010 */
-qtc_radio_tuner_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_radio_tuner_line:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Multimedia */ 
-qtc_multimedia_trans:#FFFFFF; /* Modified 19.02.2010 */
-qtc_multimedia_trans_pressed:#FFFFFF; /* Added 19.02.2010 */
-
-/* Deprecated compatibility mappings */
-default_decor_normal:var(qtc_default_decor_normal);
-default_decor_pressed:var(qtc_default_decor_pressed);
-default_decor_latched:var(qtc_default_decor_latched);
-default_decor_highlight:var(qtc_default_decor_highlight);
-default_decor_disabled:var(qtc_default_decor_disabled);
-default_main_pane_normal:var(qtc_default_main_pane_normal);
-default_main_pane_pressed:var(qtc_default_main_pane_pressed);
-default_main_pane_latched:var(qtc_default_main_pane_latched);
-default_main_pane_highlight:var(qtc_default_main_pane_highlight);
-default_main_pane_disabled:var(qtc_default_main_pane_disabled);
-default_popup_normal:var(qtc_default_popup_normal);
-default_popup_pressed:var(qtc_default_popup_pressed);
-default_popup_latched:var(qtc_default_popup_latched);
-default_popup_highlight:var(qtc_default_popup_highlight);
-default_popup_disabled:var(qtc_default_popup_disabled);
-title_pane_normal:var(qtc_title_pane_normal);
-title_pane_pressed:var(qtc_title_pane_pressed);
-title_pane_highlight:var(qtc_title_pane_highlight);
-title_pane_latched:var(qtc_title_pane_latched);
-title_pane_trans_normal:var(qtc_title_pane_trans_normal);
-title_pane_trans_pressed:var(qtc_title_pane_trans_pressed);
-title_pane_trans_highlight:var(qtc_title_pane_trans_highlight);
-title_pane_trans_latched:var(qtc_title_pane_trans_latched);
-view_normal:var(qtc_view_normal);
-view_pressed:var(qtc_view_pressed);
-view_line_normal:var(qtc_view_line_normal);
-view_link_normal:var(qtc_view_link_normal);
-view_visited_normal:var(qtc_view_visited_normal);
-view_separator_normal:var(qtc_view_separator_normal);
-viewtitle_normal:var(qtc_viewtitle_normal);
-tab_active_normal:var(qtc_tab_active_normal);
-tab_passive_normal:var(qtc_tab_passive_normal);
-tab_passive_pressed:var(qtc_tab_passive_pressed);
-grid_normal:var(qtc_grid_normal);
-grid_pressed:var(qtc_grid_pressed);
-grid_highlight:var(qtc_grid_highlight);
-list_item_title_normal:var(qtc_list_item_title_normal);
-list_item_content_normal:var(qtc_list_item_content_normal);
-list_item_parent_normal:var(qtc_list_item_parent_normal);
-list_item_pressed:var(qtc_list_item_pressed);
-list_item_highlight:var(qtc_list_item_highlight);
-list_item_disabled:var(qtc_list_item_disabled);
-button_normal:var(qtc_button_normal);
-button_pressed:var(qtc_button_pressed);
-button_latched:var(qtc_button_latched);
-button_highlight:var(qtc_button_highlight);
-button_disabled:var(qtc_button_disabled);
-editor_normal:var(qtc_editor_normal);
-editor_selected:var(qtc_editor_selected);
-editor_marker_normal:var(qtc_editor_marker_normal);
-editor_hint_normal:var(qtc_editor_hint_normal);
-toolbar_normal:var(qtc_toolbar_normal);
-toolbar_pressed:var(qtc_toolbar_pressed);
-toolbar_latched:var(qtc_toolbar_latched);
-toolbar_disabled:var(qtc_toolbar_disabled);
-toolbar_highlight:var(qtc_toolbar_highlight);
-toolbar_trans_normal:var(qtc_toolbar_trans_normal);
-toolbar_trans_pressed:var(qtc_toolbar_trans_pressed);
-toolbar_trans_latched:var(qtc_toolbar_trans_latched);
-toolbar_trans_disabled:var(qtc_toolbar_trans_disabled);
-toolbar_trans_highlight:var(qtc_toolbar_trans_highlight);
-groupbox_normal:var(qtc_groupbox_normal);
-groupbox_pressed:var(qtc_groupbox_pressed);
-groupbox_highlight:var(qtc_groupbox_highlight);
-popup_sk_normal:var(qtc_popup_sk_normal);
-popup_sk_highlight:var(qtc_popup_sk_highlight);
-popup_sk_pressed:var(qtc_popup_sk_pressed);
-popup_heading_normal:var(qtc_popup_heading_normal);
-popup_heading_pressed:var(qtc_popup_heading_pressed);
-popup_heading_highlight:var(qtc_popup_heading_highlight);
-popup_normal:var(qtc_popup_normal);
-popup_preview_normal:var(qtc_popup_preview_normal);
-popup_preview_pressed:var(qtc_popup_preview_pressed);
-popup_preview_link:var(qtc_popup_preview_link);
-popup_trans_normal:var(qtc_popup_trans_normal);
-popup_trans_pressed:var(qtc_popup_trans_pressed);
-popup_trans_link:var(qtc_popup_trans_link);
-popup_grid_normal:var(qtc_popup_grid_normal);
-popup_grid_pressed:var(qtc_popup_grid_pressed); 
-popup_grid_highlight:var(qtc_popup_grid_highlight);
-popup_grid_disabled:var(qtc_popup_grid_disabled);
-popup_list_title_normal:var(qtc_popup_list_title_normal);
-popup_list_item_content_normal:var(qtc_popup_list_item_content_normal);
-popup_list_item_parent_normal:var(qtc_popup_list_item_parent_normal);
-popup_list_item_pressed:var(qtc_popup_list_item_pressed);
-popup_list_item_highlight:var(qtc_popup_list_item_highlight);
-popup_list_item_disabled:var(qtc_popup_list_item_disabled);
-combobox_normal:var(qtc_combobox_normal);
-combobox_pressed:var(qtc_combobox_pressed);
-combobox_highlight:var(qtc_combobox_highlight);
-combobox_disabled:var(qtc_combobox_disabled);
-combobox_edit:var(qtc_combobox_edit);
-input_button_normal:var(qtc_input_button_normal);
-input_button_pressed:var(qtc_input_button_pressed);
-input_button_latched:var(qtc_input_button_latched);
-input_button_disabled:var(qtc_input_button_disabled);
-input_function_normal:var(qtc_input_function_normal);
-input_function_pressed:var(qtc_input_function_pressed);
-input_function_latched:var(qtc_input_function_latched);
-input_function_disabled:var(qtc_input_function_disabled);
-input_title_normal:var(qtc_input_title_normal);
-
-/* Deprecated legacy variables */
-/* Old color roles used for RnD */
-foreground:#FFFFFF;
-popupbackground:#000000;
-popupforeground:#FFFFFF;
-menubackground:#000000;
-menuforeground_enabled:#FFFFFF;
-menuforeground_disabled:#9B9B9B;
-toolbuttonforeground_enabled:#FFFFFF;
-toolbuttonforeground_disabled:#9B9B9B;
-slider_ticktext_color:#FFFFFF;
-
-/* Unclear cases - consider deprecated */
-list_item_separator_normal:#4d4d4d;
-qtc_checkbox_normal:#000000;
-qtc_checkbox_disabled:#a0a0a4;
-qtc_popup_trans:#000000;
-
-/* Deprecated autotest variables */
-testforeground:#010101;
-testforeground_focused:#010101;
-testforeground_nonfocused:#000000;
-testforeground_enabled:#000000;
-testforeground_disabled:#000000;
-testforground_state5:#010101;
-testforground_state5:#020202;
-my_widget_background_pressed:#ff0000;
-my_widget_background_notpressed:#0000ff;
-
-}
-
--- a/src/style/sfblacknvgtheme/variables/color/hbwidgetcolorgroup.css	Fri Jun 11 16:25:39 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-/* Widget color groups */
-
-
-@variables
-{
-/* Default palette */
-qtc_default_decor_normal:#FFFFFF;
-qtc_default_decor_pressed:#FFFFFF;
-qtc_default_decor_latched:#FFFFFF;
-qtc_default_decor_highlight:#FFFFFF;
-qtc_default_decor_disabled:#9B9B9B; 
-qtc_default_main_pane_normal:#FFFFFF;
-qtc_default_main_pane_pressed:#FFFFFF;
-qtc_default_main_pane_latched:#FFFFFF;
-qtc_default_main_pane_highlight:#FFFFFF;
-qtc_default_main_pane_disabled:#9B9B9B; 
-qtc_default_popup_normal:#FFFFFF;
-qtc_default_popup_pressed:#FFFFFF;
-qtc_default_popup_latched:#FFFFFF;
-qtc_default_popup_highlight:#FFFFFF;
-qtc_default_popup_disabled:#9B9B9B;
-
-/* Title pane */
-qtc_title_pane_normal:#FFFFFF;
-qtc_title_pane_pressed:#FFFFFF;
-qtc_title_pane_highlight:#FFFFFF;
-qtc_title_pane_latched:#FFFFFF;
-qtc_title_pane_trans_normal:#FFFFFF;
-qtc_title_pane_trans_pressed:#FFFFFF;
-qtc_title_pane_trans_highlight:#FFFFFF;
-qtc_title_pane_trans_latched:#FFFFFF;
-qtc_status_pane:#FFFFFF; /* Added 05.02.2010 */
-qtc_status_pane_trans:#FFFFFF; /* Added 05.02.2010 */
-
-/* Main area - View */
-qtc_view_normal:#FFFFFF;
-qtc_view_pressed:#FFFFFF;
-qtc_view_line_normal:#FFFFFF;
-qtc_view_link_normal:#33C8FF;
-qtc_view_visited_normal:#B378FF;
-qtc_view_separator_normal:#9B9B9B;
-
-/* Main area - View title */
-qtc_viewtitle_normal:#E6E6E6;
-
-/* Main area - Tab */ 
-qtc_tab_active_normal:#FFFFFF;
-qtc_tab_passive_normal:#FFFFFF;
-qtc_tab_passive_Pressed:#FFFFFF;
-
-/* Main area - Grid */ 
-qtc_grid_normal:#DCDCDC;
-qtc_grid_pressed:#FFFFFF;
-qtc_grid_highlight:#FFFFFF;
-qtc_grid_latched:#FFFFFF; /* Added 05.02.2010 */
-qtg_grid_disabled:#9B9B9B; /* Added 15.02.2010 */
-
-/* Main area - List */ 
-qtc_list_item_title_normal:#FFFFFF; /* Modified 19.02.2010 */
-qtc_list_item_content_normal:#F0F0F0;
-qtc_list_item_parent_normal:#F0F0F0;
-qtc_list_item_pressed:#FFFFFF;
-qtc_list_item_highlight:#FFFFFF;
-qtc_list_item_disabled:#9B9B9B;
-qtc_list_item_latched:#FFFFFF; /* Added 05.02.2010 */
-qtc_list_item_separator:#FFFFFF; /* Added 22.02.2010 */
-
-/* Button */ 
-qtc_button_normal:#FFFFFF;
-qtc_button_pressed:#FFFFFF;
-qtc_button_latched:#FFFFFF;
-qtc_button_highlight:#FFFFFF;
-qtc_button_disabled:#9B9B9B;
-
-/* LineEdit */ 
-qtc_lineedit_normal:#FFFFFF;
-qtc_lineedit_selected:#FFFFFF;
-qtc_lineedit_marker_normal:#4D4D4D;
-qtc_lineedit_hint_normal:#F0F0F0;
-
-/* Combobox */ 
-qtc_combobox_normal:#FFFFFF;
-qtc_combobox_pressed:#FFFFFF;
-qtc_combobox_highlight:#FFFFFF;
-qtc_combobox_disabled:#9B9B9B;
-qtc_combobox_edit:#4D4D4D;
-qtc_combobox_latched:#FFFFFF; /* Added 05.02.2010 */
-
-/* Tumbler */
-qtc_tumbler_normal:#FFFFFF;
-qtc_tumbler_selected:#FFFFFF;
-qtc_tumbler_highlight:#FFFFFF;
-
-/* Main area - DataForm */
-qtc_dataform_value:#FFFFFF; /* Added 08.02.2010 */
-
-/* Main area - ProgressSlider */
-qtc_progslider_normal:#FFFFFF; /* Added 09.02.2010 */
-qtc_progslider_pressed:#FFFFFF; /* Added 09.02.2010 */
-
-/* Main area - Text edit */ 
-qtc_textedit_normal:#FFFFFF; /* Added 17.02.2010 */
-qtc_textedit_selected:#FFFFFF; /* Added 17.02.2010 */
-qtc_textedit_marker_normal:#4D4D4D; /* Added 17.02.2010 */
-qtc_textedit_hint_normal:#F0F0F0; /* Added 17.02.2010 */
-
-/* Main area - Toolbar */
-qtc_toolbar_normal:#FFFFFF;
-qtc_toolbar_pressed:#FFFFFF;
-qtc_toolbar_latched:#FFFFFF;
-qtc_toolbar_disabled:#9B9B9B;
-qtc_toolbar_highlight:#FFFFFF;
-qtc_toolbar_trans_normal:#FFFFFF;
-qtc_toolbar_trans_pressed:#FFFFFF;
-qtc_toolbar_trans_latched:#FFFFFF;
-qtc_toolbar_trans_disabled:#9B9B9B;
-qtc_toolbar_trans_highlight:#FFFFFF;
-
-/* Main area - Groupbox */
-qtc_groupbox_normal:#FFFFFF;
-qtc_groupbox_pressed:#FFFFFF;
-qtc_groupbox_highlight:#FFFFFF;
-
-/* Pop-ups - Generic pop-up */ 
-qtc_popup_sk_normal:#FFFFFF;
-qtc_popup_sk_highlight:#FFFFFF;
-qtc_popup_sk_pressed:#FFFFFF;
-qtc_popup_sk_disabled:#9B9B9B; /* Added 05.02.2010 */
-qtc_popup_heading_normal:#FFFFFF;
-qtc_popup_normal:#B5B5B5;
-qtc_popup_link:#33C8FF; /* Added 16.02.2010 */
-
-/* Pop-ups - Preview pop-up */
-qtc_popup_preview_normal:#FFFFFF;
-qtc_popup_preview_pressed:#F0F0F0;
-qtc_popup_preview_link:#33C8FF;
-
-/* Pop-ups - Transparent pop-up */
-qtc_popup_trans_normal:#FFFFFF;
-qtc_popup_trans_pressed:#F0F0F0;
-qtc_popup_trans_link:#33C8FF;
-
-/* Pop-ups - Grid in a pop-up */ 
-qtc_popup_grid_normal:#FFFFFF;
-qtc_popup_grid_pressed:#FFFFFF; 
-qtc_popup_grid_highlight:#FFFFFF;
-qtc_popup_grid_disabled:#9B9B9B;
-qtc_popup_grid_latched:#FFFFFF; /* Added 05.02.2010 */
-qtc_popup_grid_trans_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_popup_grid_trans_pressed:#FFFFFF; /* Added 05.02.2010 */
-
-/* Pop-ups - List in a pop-up */ 
-qtc_popup_list_title_normal:#FFFFFF;
-qtc_popup_list_item_content_normal:#FFFFFF;
-qtc_popup_list_item_parent_normal:#FFFFFF;
-qtc_popup_list_item_pressed:#FFFFFF;
-qtc_popup_list_item_highlight:#FFFFFF;
-qtc_popup_list_item_disabled:#9B9B9B;
-qtc_popup_list_item_latched:#FFFFFF; /* Added 05.02.2010 */
-
-/* Virtual inputs */ 
-qtc_input_button_normal:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_accented_normal:#FFFFFF; /* Added 22.02.2010 */
-qtc_input_button_pressed:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_latched:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_disabled:#9B9B9B; /* Modified 19.02.2010 */
-qtc_input_function_normal:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_pressed:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_latched:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_disabled:#9B9B9B; /* Modified 19.02.2010 */
-qtc_input_preview_normal:#FFFFFF; /* Modified 22.02.2010 */
-
-
-}
-
--- a/src/style/sfblacktheme/variables/color/hbapplicationcolorgroup.css	Fri Jun 11 16:25:39 2010 +0100
+++ b/src/style/sfblacktheme/variables/color/hbapplicationcolorgroup.css	Thu Jul 22 16:38:28 2010 +0100
@@ -10,6 +10,7 @@
 qtc_conv_list_sent_normal:#B5B5B5; /* Modified 05.02.2010 */
 qtc_conv_list_sent_pressed:#B5B5B5; /* Modified 05.02.2010 */
 qtc_conv_list_sent_highlight:#FFFFFF; /* Modified 05.02.2010 */
+qtc_conv_list_dimmed:#9B9B9B; /* Added 26.03.2010 */
 
 /* Application specific - Calendar */ 
 qtc_cal_grid_line:#8E8E8E; /* Added 05.02.2010 */
@@ -33,12 +34,14 @@
 
 /* Application specific - Home screen */ 
 qtc_hs_list_item_title_normal:#FFFFFF; /* Added 05.02.2010 */
+qtc_hs_list_title2_normal:#FFFFFF;
 qtc_hs_list_item_content_normal:#FFFFFF; /* Added 05.02.2010 */
 qtc_hs_list_item_pressed:#FFFFFF; /* Added 05.02.2010 */
+qtc_hs_list_item_latched:#FFFFFF;
 qtc_hs_list_item_highlight:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Messaging */ 
-qtc_messaging_heading:#FFFFFF; /* Added 05.02.2010 */
+qtc_hs_badge:#FFFFFF;  /* Added 01.03.2010 */
+qtc_hs_cal:#000000; /* Added 18.03.2010 */
+qtc_hs_snapguide:#93c7ed; /* Added 24.05.2010 */
 
 /* Application specific - Radio & Calculator */ 
 qtc_lcd_title_normal:#FFFFFF; /* Added 11.02.2010 */
@@ -48,8 +51,11 @@
 qtc_radio_tuner_line:#FFFFFF; /* Added 05.02.2010 */
 
 /* Application specific - Multimedia */ 
-qtc_multimedia_trans:#FFFFFF; /* Modified 19.02.2010 */
+qtc_multimedia_trans_normal:#FFFFFF; /* Modified 02.06.2010 */
 qtc_multimedia_trans_pressed:#FFFFFF; /* Added 19.02.2010 */
+qtc_multimedia_trans_disabled:#9B9B9B; /* Added 09.03.2010 */
 
+/* Application specific - Messaging */ 
+qtc_messaging_char_count:#FFFFFF; /* Added 19.04.2010 */
 }
 
--- a/src/style/sfblacktheme/variables/color/hbcolorgroup.css	Fri Jun 11 16:25:39 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,353 +0,0 @@
-@variables
-{
-/* Default palette */
-qtc_default_decor_normal:#FFFFFF;
-qtc_default_decor_pressed:#FFFFFF;
-qtc_default_decor_latched:#FFFFFF;
-qtc_default_decor_highlight:#FFFFFF;
-qtc_default_decor_disabled:#9B9B9B; 
-qtc_default_main_pane_normal:#FFFFFF;
-qtc_default_main_pane_pressed:#FFFFFF;
-qtc_default_main_pane_latched:#FFFFFF;
-qtc_default_main_pane_highlight:#FFFFFF;
-qtc_default_main_pane_disabled:#9B9B9B; 
-qtc_default_popup_normal:#FFFFFF;
-qtc_default_popup_pressed:#FFFFFF;
-qtc_default_popup_latched:#FFFFFF;
-qtc_default_popup_highlight:#FFFFFF;
-qtc_default_popup_disabled:#9B9B9B;
-
-/* Title pane */
-qtc_title_pane_normal:#FFFFFF;
-qtc_title_pane_pressed:#FFFFFF;
-qtc_title_pane_highlight:#FFFFFF;
-qtc_title_pane_latched:#FFFFFF;
-qtc_title_pane_trans_normal:#FFFFFF;
-qtc_title_pane_trans_pressed:#FFFFFF;
-qtc_title_pane_trans_highlight:#FFFFFF;
-qtc_title_pane_trans_latched:#FFFFFF;
-qtc_status_pane:#FFFFFF; /* Added 05.02.2010 */
-qtc_status_pane_trans:#FFFFFF; /* Added 05.02.2010 */
-
-/* Main area - View */
-qtc_view_normal:#FFFFFF;
-qtc_view_pressed:#FFFFFF;
-qtc_view_line_normal:#FFFFFF;
-qtc_view_link_normal:#33C8FF;
-qtc_view_visited_normal:#B378FF;
-qtc_view_separator_normal:#9B9B9B;
-
-/* Main area - View title */
-qtc_viewtitle_normal:#E6E6E6;
-
-/* Main area - Tab */ 
-qtc_tab_active_normal:#FFFFFF;
-qtc_tab_passive_normal:#FFFFFF;
-qtc_tab_passive_Pressed:#FFFFFF;
-
-/* Main area - Grid */ 
-qtc_grid_normal:#DCDCDC;
-qtc_grid_pressed:#FFFFFF;
-qtc_grid_highlight:#FFFFFF;
-qtc_grid_latched:#FFFFFF; /* Added 05.02.2010 */
-qtg_grid_disabled:#9B9B9B; /* Added 15.02.2010 */
-
-/* Main area - List */ 
-qtc_list_item_title_normal:#FFFFFF; /* Modified 19.02.2010 */
-qtc_list_item_content_normal:#F0F0F0;
-qtc_list_item_parent_normal:#F0F0F0;
-qtc_list_item_pressed:#FFFFFF;
-qtc_list_item_highlight:#FFFFFF;
-qtc_list_item_disabled:#9B9B9B;
-qtc_list_item_latched:#FFFFFF; /* Added 05.02.2010 */
-qtc_list_item_separator:#FFFFFF; /* Added 22.02.2010 */
-
-/* Button */ 
-qtc_button_normal:#FFFFFF;
-qtc_button_pressed:#FFFFFF;
-qtc_button_latched:#FFFFFF;
-qtc_button_highlight:#FFFFFF;
-qtc_button_disabled:#9B9B9B;
-
-/* LineEdit */ 
-qtc_lineedit_normal:#FFFFFF;
-qtc_lineedit_selected:#FFFFFF;
-qtc_lineedit_marker_normal:#4D4D4D;
-qtc_lineedit_hint_normal:#F0F0F0;
-
-/* Combobox */ 
-qtc_combobox_normal:#FFFFFF;
-qtc_combobox_pressed:#FFFFFF;
-qtc_combobox_highlight:#FFFFFF;
-qtc_combobox_disabled:#9B9B9B;
-qtc_combobox_edit:#4D4D4D;
-qtc_combobox_latched:#FFFFFF; /* Added 05.02.2010 */
-
-/* Tumbler */
-qtc_tumbler_normal:#FFFFFF;
-qtc_tumbler_selected:#FFFFFF;
-qtc_tumbler_highlight:#FFFFFF;
-
-/* Main area - DataForm */
-qtc_dataform_value:#FFFFFF; /* Added 08.02.2010 */
-
-/* Main area - ProgressSlider */
-qtc_progslider_normal:#FFFFFF; /* Added 09.02.2010 */
-qtc_progslider_pressed:#FFFFFF; /* Added 09.02.2010 */
-
-/* Main area - Text edit */ 
-qtc_textedit_normal:#FFFFFF; /* Added 17.02.2010 */
-qtc_textedit_selected:#FFFFFF; /* Added 17.02.2010 */
-qtc_textedit_marker_normal:#4D4D4D; /* Added 17.02.2010 */
-qtc_textedit_hint_normal:#F0F0F0; /* Added 17.02.2010 */
-
-/* Main area - Toolbar */
-qtc_toolbar_normal:#FFFFFF;
-qtc_toolbar_pressed:#FFFFFF;
-qtc_toolbar_latched:#FFFFFF;
-qtc_toolbar_disabled:#9B9B9B;
-qtc_toolbar_highlight:#FFFFFF;
-qtc_toolbar_trans_normal:#FFFFFF;
-qtc_toolbar_trans_pressed:#FFFFFF;
-qtc_toolbar_trans_latched:#FFFFFF;
-qtc_toolbar_trans_disabled:#9B9B9B;
-qtc_toolbar_trans_highlight:#FFFFFF;
-
-/* Main area - Groupbox */
-qtc_groupbox_normal:#FFFFFF;
-qtc_groupbox_pressed:#FFFFFF;
-qtc_groupbox_highlight:#FFFFFF;
-
-/* Pop-ups - Generic pop-up */ 
-qtc_popup_sk_normal:#FFFFFF;
-qtc_popup_sk_highlight:#FFFFFF;
-qtc_popup_sk_pressed:#FFFFFF;
-qtc_popup_sk_disabled:#9B9B9B; /* Added 05.02.2010 */
-qtc_popup_heading_normal:#FFFFFF;
-qtc_popup_normal:#B5B5B5;
-qtc_popup_link:#33C8FF; /* Added 16.02.2010 */
-
-/* Pop-ups - Preview pop-up */
-qtc_popup_preview_normal:#FFFFFF;
-qtc_popup_preview_pressed:#F0F0F0;
-qtc_popup_preview_link:#33C8FF;
-
-/* Pop-ups - Transparent pop-up */
-qtc_popup_trans_normal:#FFFFFF;
-qtc_popup_trans_pressed:#F0F0F0;
-qtc_popup_trans_link:#33C8FF;
-
-/* Pop-ups - Grid in a pop-up */ 
-qtc_popup_grid_normal:#FFFFFF;
-qtc_popup_grid_pressed:#FFFFFF; 
-qtc_popup_grid_highlight:#FFFFFF;
-qtc_popup_grid_disabled:#9B9B9B;
-qtc_popup_grid_latched:#FFFFFF; /* Added 05.02.2010 */
-qtc_popup_grid_trans_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_popup_grid_trans_pressed:#FFFFFF; /* Added 05.02.2010 */
-
-/* Pop-ups - List in a pop-up */ 
-qtc_popup_list_title_normal:#FFFFFF;
-qtc_popup_list_item_content_normal:#FFFFFF;
-qtc_popup_list_item_parent_normal:#FFFFFF;
-qtc_popup_list_item_pressed:#FFFFFF;
-qtc_popup_list_item_highlight:#FFFFFF;
-qtc_popup_list_item_disabled:#9B9B9B;
-qtc_popup_list_item_latched:#FFFFFF; /* Added 05.02.2010 */
-
-/* Virtual inputs */ 
-qtc_input_button_normal:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_accented_normal:#FFFFFF; /* Added 22.02.2010 */
-qtc_input_button_pressed:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_latched:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_disabled:#9B9B9B; /* Modified 19.02.2010 */
-qtc_input_function_normal:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_pressed:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_latched:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_disabled:#9B9B9B; /* Modified 19.02.2010 */
-qtc_input_preview_normal:#FFFFFF; /* Modified 22.02.2010 */
-
-/* Application specific color groups */
-
-/* Application specific - Conversational list */ 
-qtc_conv_list_received_normal:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_received_pressed:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_received_highlight:#FFFFFF; /* Modified 05.02.2010 */
-qtc_conv_list_sent_normal:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_sent_pressed:#B5B5B5; /* Modified 05.02.2010 */
-qtc_conv_list_sent_highlight:#FFFFFF; /* Modified 05.02.2010 */
-
-/* Application specific - Calendar */ 
-qtc_cal_grid_line:#8E8E8E; /* Added 05.02.2010 */
-qtc_cal_month_highlighted_text:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_month_active_dates:#E5E5E5; /* Added 05.02.2010 */
-qtc_cal_month_notactive_dates:#9B9B9B; /* Added 05.02.2010 */
-qtc_cal_month_current_day:#00BAFF; /* Added 05.02.2010 */
-qtc_cal_week_day:#00BAFF; /* Added 05.02.2010 */
-qtc_cal_day_preview_heading:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_day_preview_text:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_day_hour_lines:#8E8E8E; /* Added 05.02.2010 */
-qtc_cal_monthgrid_title:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Call handling */ 
-qtc_callhandling_answer_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_answer_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_answer_highlight:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_highlight:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Home screen */ 
-qtc_hs_list_item_title_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_hs_list_item_content_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_hs_list_item_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_hs_list_item_highlight:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Messaging */ 
-qtc_messaging_heading:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Radio & Calculator */ 
-qtc_lcd_title_normal:#FFFFFF; /* Added 11.02.2010 */
-qtc_lcd_content_normal:#FFFFFF; /* Added 11.02.2010 */
-qtc_lcd_link_normal:#33C8FF; /* Added 22.02.2010 */
-qtc_radio_tuner_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_radio_tuner_line:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Multimedia */ 
-qtc_multimedia_trans:#FFFFFF; /* Modified 19.02.2010 */
-qtc_multimedia_trans_pressed:#FFFFFF; /* Added 19.02.2010 */
-
-/* Deprecated compatibility mappings */
-default_decor_normal:var(qtc_default_decor_normal);
-default_decor_pressed:var(qtc_default_decor_pressed);
-default_decor_latched:var(qtc_default_decor_latched);
-default_decor_highlight:var(qtc_default_decor_highlight);
-default_decor_disabled:var(qtc_default_decor_disabled);
-default_main_pane_normal:var(qtc_default_main_pane_normal);
-default_main_pane_pressed:var(qtc_default_main_pane_pressed);
-default_main_pane_latched:var(qtc_default_main_pane_latched);
-default_main_pane_highlight:var(qtc_default_main_pane_highlight);
-default_main_pane_disabled:var(qtc_default_main_pane_disabled);
-default_popup_normal:var(qtc_default_popup_normal);
-default_popup_pressed:var(qtc_default_popup_pressed);
-default_popup_latched:var(qtc_default_popup_latched);
-default_popup_highlight:var(qtc_default_popup_highlight);
-default_popup_disabled:var(qtc_default_popup_disabled);
-title_pane_normal:var(qtc_title_pane_normal);
-title_pane_pressed:var(qtc_title_pane_pressed);
-title_pane_highlight:var(qtc_title_pane_highlight);
-title_pane_latched:var(qtc_title_pane_latched);
-title_pane_trans_normal:var(qtc_title_pane_trans_normal);
-title_pane_trans_pressed:var(qtc_title_pane_trans_pressed);
-title_pane_trans_highlight:var(qtc_title_pane_trans_highlight);
-title_pane_trans_latched:var(qtc_title_pane_trans_latched);
-view_normal:var(qtc_view_normal);
-view_pressed:var(qtc_view_pressed);
-view_line_normal:var(qtc_view_line_normal);
-view_link_normal:var(qtc_view_link_normal);
-view_visited_normal:var(qtc_view_visited_normal);
-view_separator_normal:var(qtc_view_separator_normal);
-viewtitle_normal:var(qtc_viewtitle_normal);
-tab_active_normal:var(qtc_tab_active_normal);
-tab_passive_normal:var(qtc_tab_passive_normal);
-tab_passive_pressed:var(qtc_tab_passive_pressed);
-grid_normal:var(qtc_grid_normal);
-grid_pressed:var(qtc_grid_pressed);
-grid_highlight:var(qtc_grid_highlight);
-list_item_title_normal:var(qtc_list_item_title_normal);
-list_item_content_normal:var(qtc_list_item_content_normal);
-list_item_parent_normal:var(qtc_list_item_parent_normal);
-list_item_pressed:var(qtc_list_item_pressed);
-list_item_highlight:var(qtc_list_item_highlight);
-list_item_disabled:var(qtc_list_item_disabled);
-button_normal:var(qtc_button_normal);
-button_pressed:var(qtc_button_pressed);
-button_latched:var(qtc_button_latched);
-button_highlight:var(qtc_button_highlight);
-button_disabled:var(qtc_button_disabled);
-editor_normal:var(qtc_editor_normal);
-editor_selected:var(qtc_editor_selected);
-editor_marker_normal:var(qtc_editor_marker_normal);
-editor_hint_normal:var(qtc_editor_hint_normal);
-toolbar_normal:var(qtc_toolbar_normal);
-toolbar_pressed:var(qtc_toolbar_pressed);
-toolbar_latched:var(qtc_toolbar_latched);
-toolbar_disabled:var(qtc_toolbar_disabled);
-toolbar_highlight:var(qtc_toolbar_highlight);
-toolbar_trans_normal:var(qtc_toolbar_trans_normal);
-toolbar_trans_pressed:var(qtc_toolbar_trans_pressed);
-toolbar_trans_latched:var(qtc_toolbar_trans_latched);
-toolbar_trans_disabled:var(qtc_toolbar_trans_disabled);
-toolbar_trans_highlight:var(qtc_toolbar_trans_highlight);
-groupbox_normal:var(qtc_groupbox_normal);
-groupbox_pressed:var(qtc_groupbox_pressed);
-groupbox_highlight:var(qtc_groupbox_highlight);
-popup_sk_normal:var(qtc_popup_sk_normal);
-popup_sk_highlight:var(qtc_popup_sk_highlight);
-popup_sk_pressed:var(qtc_popup_sk_pressed);
-popup_heading_normal:var(qtc_popup_heading_normal);
-popup_heading_pressed:var(qtc_popup_heading_pressed);
-popup_heading_highlight:var(qtc_popup_heading_highlight);
-popup_normal:var(qtc_popup_normal);
-popup_preview_normal:var(qtc_popup_preview_normal);
-popup_preview_pressed:var(qtc_popup_preview_pressed);
-popup_preview_link:var(qtc_popup_preview_link);
-popup_trans_normal:var(qtc_popup_trans_normal);
-popup_trans_pressed:var(qtc_popup_trans_pressed);
-popup_trans_link:var(qtc_popup_trans_link);
-popup_grid_normal:var(qtc_popup_grid_normal);
-popup_grid_pressed:var(qtc_popup_grid_pressed); 
-popup_grid_highlight:var(qtc_popup_grid_highlight);
-popup_grid_disabled:var(qtc_popup_grid_disabled);
-popup_list_title_normal:var(qtc_popup_list_title_normal);
-popup_list_item_content_normal:var(qtc_popup_list_item_content_normal);
-popup_list_item_parent_normal:var(qtc_popup_list_item_parent_normal);
-popup_list_item_pressed:var(qtc_popup_list_item_pressed);
-popup_list_item_highlight:var(qtc_popup_list_item_highlight);
-popup_list_item_disabled:var(qtc_popup_list_item_disabled);
-combobox_normal:var(qtc_combobox_normal);
-combobox_pressed:var(qtc_combobox_pressed);
-combobox_highlight:var(qtc_combobox_highlight);
-combobox_disabled:var(qtc_combobox_disabled);
-combobox_edit:var(qtc_combobox_edit);
-input_button_normal:var(qtc_input_button_normal);
-input_button_pressed:var(qtc_input_button_pressed);
-input_button_latched:var(qtc_input_button_latched);
-input_button_disabled:var(qtc_input_button_disabled);
-input_function_normal:var(qtc_input_function_normal);
-input_function_pressed:var(qtc_input_function_pressed);
-input_function_latched:var(qtc_input_function_latched);
-input_function_disabled:var(qtc_input_function_disabled);
-input_title_normal:var(qtc_input_title_normal);
-
-/* Deprecated legacy variables */
-/* Old color roles used for RnD */
-foreground:#FFFFFF;
-popupbackground:#000000;
-popupforeground:#FFFFFF;
-menubackground:#000000;
-menuforeground_enabled:#FFFFFF;
-menuforeground_disabled:#9B9B9B;
-toolbuttonforeground_enabled:#FFFFFF;
-toolbuttonforeground_disabled:#9B9B9B;
-slider_ticktext_color:#FFFFFF;
-
-/* Unclear cases - consider deprecated */
-list_item_separator_normal:#4d4d4d;
-qtc_checkbox_normal:#000000;
-qtc_checkbox_disabled:#a0a0a4;
-qtc_popup_trans:#000000;
-
-/* Deprecated autotest variables */
-testforeground:#010101;
-testforeground_focused:#010101;
-testforeground_nonfocused:#000000;
-testforeground_enabled:#000000;
-testforeground_disabled:#000000;
-testforground_state5:#010101;
-testforground_state5:#020202;
-my_widget_background_pressed:#ff0000;
-my_widget_background_notpressed:#0000ff;
-
-}
-
--- a/src/style/sfblacktheme/variables/color/hbwidgetcolorgroup.css	Fri Jun 11 16:25:39 2010 +0100
+++ b/src/style/sfblacktheme/variables/color/hbwidgetcolorgroup.css	Thu Jul 22 16:38:28 2010 +0100
@@ -39,21 +39,17 @@
 qtc_view_link_normal:#33C8FF;
 qtc_view_visited_normal:#B378FF;
 qtc_view_separator_normal:#9B9B9B;
+qtc_view_normal_secondary:#FFFFFF;
 
 /* Main area - View title */
 qtc_viewtitle_normal:#E6E6E6;
 
-/* Main area - Tab */ 
-qtc_tab_active_normal:#FFFFFF;
-qtc_tab_passive_normal:#FFFFFF;
-qtc_tab_passive_Pressed:#FFFFFF;
-
 /* Main area - Grid */ 
 qtc_grid_normal:#DCDCDC;
 qtc_grid_pressed:#FFFFFF;
 qtc_grid_highlight:#FFFFFF;
 qtc_grid_latched:#FFFFFF; /* Added 05.02.2010 */
-qtg_grid_disabled:#9B9B9B; /* Added 15.02.2010 */
+qtc_grid_disabled:#9B9B9B; /* Modified 01.03.2010 */
 
 /* Main area - List */ 
 qtc_list_item_title_normal:#FFFFFF; /* Modified 19.02.2010 */
@@ -87,12 +83,13 @@
 qtc_combobox_latched:#FFFFFF; /* Added 05.02.2010 */
 
 /* Tumbler */
-qtc_tumbler_normal:#FFFFFF;
-qtc_tumbler_selected:#FFFFFF;
+qtc_tumbler_normal:#3C3C3C;
+qtc_tumbler_selected:#3C3C3C;
 qtc_tumbler_highlight:#FFFFFF;
 
 /* Main area - DataForm */
-qtc_dataform_value:#FFFFFF; /* Added 08.02.2010 */
+qtc_dataform_heading:#FFFFFF; /* Added 04.03.2010 */
+qtc_dataform_heading_link:#33C8FF; /* Added 22.03.2010 */
 
 /* Main area - ProgressSlider */
 qtc_progslider_normal:#FFFFFF; /* Added 09.02.2010 */
@@ -147,7 +144,6 @@
 qtc_popup_grid_disabled:#9B9B9B;
 qtc_popup_grid_latched:#FFFFFF; /* Added 05.02.2010 */
 qtc_popup_grid_trans_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_popup_grid_trans_pressed:#FFFFFF; /* Added 05.02.2010 */
 
 /* Pop-ups - List in a pop-up */ 
 qtc_popup_list_title_normal:#FFFFFF;
@@ -157,6 +153,7 @@
 qtc_popup_list_item_highlight:#FFFFFF;
 qtc_popup_list_item_disabled:#9B9B9B;
 qtc_popup_list_item_latched:#FFFFFF; /* Added 05.02.2010 */
+qtc_popup_list_item_trans_normal:#FFFFFF; /* Added 12.02.2010 */
 
 /* Virtual inputs */ 
 qtc_input_button_normal:#FFFFFF; /* Modified 19.02.2010 */
@@ -169,7 +166,7 @@
 qtc_input_function_latched:#FFFFFF; /* Modified 19.02.2010 */
 qtc_input_function_disabled:#9B9B9B; /* Modified 19.02.2010 */
 qtc_input_preview_normal:#FFFFFF; /* Modified 22.02.2010 */
-
-
+qtc_input_hint_normal:#F0F0F0; /* Added 05.03.2010 */
+qtc_input_grid_line:#9B9B9B; /* Added 12.03.2010 */
 }
 
--- a/src/style/sfwhitetheme/variables/color/hbapplicationcolorgroup.css	Fri Jun 11 16:25:39 2010 +0100
+++ b/src/style/sfwhitetheme/variables/color/hbapplicationcolorgroup.css	Thu Jul 22 16:38:28 2010 +0100
@@ -10,6 +10,7 @@
 qtc_conv_list_sent_normal:#505050; /* Modified 05.02.2010 */
 qtc_conv_list_sent_pressed:#FFFFFF; /* Modified 05.02.2010 */
 qtc_conv_list_sent_highlight:#FFFFFF; /* Modified 05.02.2010 */
+qtc_conv_list_dimmed:#787878; /* Added 26.03.2010 */
 
 /* Application specific - Calendar */ 
 qtc_cal_grid_line:#DCDCDC; /* Added 05.02.2010 */
@@ -33,12 +34,14 @@
 
 /* Application specific - Home screen */ 
 qtc_hs_list_item_title_normal:#505050; /* Added 05.02.2010 */
+qtc_hs_list_title2_normal:#3C3C3C;
 qtc_hs_list_item_content_normal:#519FB9; /* Added 05.02.2010 */
 qtc_hs_list_item_pressed:#FFFFFF; /* Added 05.02.2010 */
+qtc_hs_list_item_latched:#FFFFFF;
 qtc_hs_list_item_highlight:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Messaging */
-qtc_messaging_heading:#3C3C3C; /* Added 05.02.2010 */
+qtc_hs_badge:#FFFFFF; /* Added 01.03.2010 */
+qtc_hs_cal:#3C3C3C; /* Added 18.03.2010 */
+qtc_hs_snapguide:#f7931e; /* Added 24.05.2010 */
 
 /* Application specific - Radio & Calculator */ 
 qtc_lcd_title_normal:#505050; /* Added 11.02.2010 */
@@ -48,8 +51,11 @@
 qtc_radio_tuner_line:#3C3C3C; /* Added 05.02.2010 */
 
 /* Application specific - Multimedia */ 
-qtc_multimedia_trans:#FFFFFF; /* Modified 19.02.2010 */
+qtc_multimedia_trans_normal:#FFFFFF; /* Modified 02.06.2010 */
 qtc_multimedia_trans_pressed:#FFFFFF; /* Added 19.02.2010 */
+qtc_multimedia_trans_disabled:#787878; /* Added 09.03.2010 */
 
+/* Application specific - Messaging */ 
+qtc_messaging_char_count:#FFFFFF; /* Added 19.04.2010 */
 }
 
--- a/src/style/sfwhitetheme/variables/color/hbcolorgroup.css	Fri Jun 11 16:25:39 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,353 +0,0 @@
-/* Widget color groups */
-
-
-@variables
-{
-/* Default palette */
-qtc_default_decor_normal:#3C3C3C;
-qtc_default_decor_pressed:#FFFFFF;
-qtc_default_decor_latched:#FFFFFF;
-qtc_default_decor_highlight:#FFFFFF;
-qtc_default_decor_disabled:#9B9B9B; 
-qtc_default_main_pane_normal:#8C8C96;
-qtc_default_main_pane_pressed:#3F89A9;
-qtc_default_main_pane_latched:#009CEF;
-qtc_default_main_pane_highlight:#B27200;
-qtc_default_main_pane_disabled:#595B5D; 
-qtc_default_popup_normal:#505050;
-qtc_default_popup_pressed:#FFFFFF;
-qtc_default_popup_latched:#FFFFFF;
-qtc_default_popup_highlight:#FFFFFF;
-qtc_default_popup_disabled:#9B9B9B;
-
-/* Title pane */
-qtc_title_pane_normal:#FFFFFF;
-qtc_title_pane_pressed:#FFFFFF;
-qtc_title_pane_highlight:#FFFFFF;
-qtc_title_pane_latched:#FFFFFF;
-qtc_title_pane_trans_normal:#FFFFFF;
-qtc_title_pane_trans_pressed:#FFFFFF;
-qtc_title_pane_trans_highlight:#FFFFFF;
-qtc_title_pane_trans_latched:#FFFFFF;
-qtc_status_pane:#FFFFFF; /* Added 05.02.2010 */
-qtc_status_pane_trans:#FFFFFF; /* Added 05.02.2010 */
-
-/* Main area - View */
-qtc_view_normal:#FFFFFF;
-qtc_view_pressed:#FFFFFF;
-qtc_view_line_normal:#FFFFFF;
-qtc_view_link_normal:#33C8FF;
-qtc_view_visited_normal:#B378FF;
-qtc_view_separator_normal:#9B9B9B;
-
-/* Main area - View title */
-qtc_viewtitle_normal:#3C3C3C;
-
-/* Main area - Tab */
-qtc_tab_active_normal:#3C3C3C;
-qtc_tab_passive_normal:#3C3C3C;
-qtc_tab_passive_Pressed:#3C3C3C;
-
-/* Main area - Grid */ 
-qtc_grid_normal:#595B5D;
-qtc_grid_pressed:#FFFFFF;
-qtc_grid_highlight:#FFFFFF;
-qtc_grid_latched:#FFFFFF; /* Added 05.02.2010 */
-qtg_grid_disabled:#9B9B9B; /* Added 15.02.2010 */
-
-/* Main area - List */ 
-qtc_list_item_title_normal:#505050;
-qtc_list_item_content_normal:#519FB9;
-qtc_list_item_parent_normal:#505050;
-qtc_list_item_pressed:#FFFFFF;
-qtc_list_item_highlight:#FFFFFF;
-qtc_list_item_disabled:#A0A0A0;
-qtc_list_item_latched:#FFFFFF; /* Added 05.02.2010 */
-qtc_list_item_separator:#000000; /* Added 22.02.2010 */
-
-/* Button */
-qtc_button_normal:#3C3C3C;
-qtc_button_pressed:#FFFFFF;
-qtc_button_latched:#FFFFFF;
-qtc_button_highlight:#FFFFFF;
-qtc_button_disabled:#787878;
-
-/* LineEdit */
-qtc_lineedit_normal:#505050;
-qtc_lineedit_selected:#FFFFFF;
-qtc_lineedit_marker_normal:#505050;
-qtc_lineedit_hint_normal:#A0A0A0;
-
-/* Combobox */ 
-qtc_combobox_normal:#3C3C3C;
-qtc_combobox_pressed:#FFFFFF;
-qtc_combobox_highlight:#3C3C3C;
-qtc_combobox_disabled:#787878;
-qtc_combobox_edit:#3C3C3C;
-qtc_combobox_latched:#FFFFFF; /* Added 05.02.2010 */
-
-/* Tumbler */
-qtc_tumbler_normal:#3C3C3C;
-qtc_tumbler_selected:#FFFFFF;
-qtc_tumbler_highlight:#FFFFFF;
-
-/* Main area - DataForm */
-qtc_dataform_value:#3C3C3C; /* Added 08.02.2010 */
-
-/* Main area - ProgressSlider */
-qtc_progslider_normal:#3C3C3C; /* Added 09.02.2010 */
-qtc_progslider_pressed:#FFFFFF; /* Added 09.02.2010 */
-
-/* Main area - TextEdit */
-qtc_textedit_normal:#505050;
-qtc_textedit_selected:#FFFFFF;
-qtc_textedit_marker_normal:#505050;
-qtc_textedit_hint_normal:#A0A0A0;
-
-/* Main area - Toolbar */
-qtc_toolbar_normal:#3C3C3C;
-qtc_toolbar_pressed:#FFFFFF;
-qtc_toolbar_latched:#FFFFFF;
-qtc_toolbar_disabled:#787878;
-qtc_toolbar_highlight:#FFFFFF;
-qtc_toolbar_trans_normal:#FFFFFF;
-qtc_toolbar_trans_pressed:#FFFFFF;
-qtc_toolbar_trans_latched:#FFFFFF;
-qtc_toolbar_trans_disabled:#FFFFFF;
-qtc_toolbar_trans_highlight:#FFFFFF;
-
-/* Main area - Groupbox */
-qtc_groupbox_normal:#3C3C3C;
-qtc_groupbox_pressed:#FFFFFF;
-qtc_groupbox_highlight:#FFFFFF;
-
-/* Pop-ups - Generic pop-up */ 
-qtc_popup_sk_normal:#3C3C3C;
-qtc_popup_sk_highlight:#FFFFFF;
-qtc_popup_sk_pressed:#FFFFFF;
-qtc_popup_sk_disabled:#787878; /* Added 05.02.2010 */
-qtc_popup_heading_normal:#3C3C3C;
-qtc_popup_normal:#3C3C3C;
-qtc_popup_link:#8CE0FF; /* Added 16.02.2010 */
-
-/* Pop-ups - Preview pop-up */
-qtc_popup_preview_normal:#FFFFFF;
-qtc_popup_preview_pressed:#FFFFFF;
-qtc_popup_preview_link:#8CE0FF;
-
-/* Pop-ups - Transparent pop-up */
-qtc_popup_trans_normal:#FFFFFF;
-qtc_popup_trans_pressed:#FFFFFF;
-qtc_popup_trans_link:#8CE0FF;
-
-/* Pop-ups - Grid in a pop-up */
-qtc_popup_grid_normal:#3C3C3C;
-qtc_popup_grid_pressed:#FFFFFF; 
-qtc_popup_grid_highlight:#FFFFFF;
-qtc_popup_grid_disabled:#787878;
-qtc_popup_grid_latched:#FFFFFF; /* Added 05.02.2010 */
-qtc_popup_grid_trans_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_popup_grid_trans_pressed:#FFFFFF; /* Added 05.02.2010 */
-
-/* Pop-ups - List in a pop-up */ 
-qtc_popup_list_title_normal:#505050;
-qtc_popup_list_item_content_normal:#519FB9;
-qtc_popup_list_item_parent_normal:#505050;
-qtc_popup_list_item_pressed:#FFFFFF;
-qtc_popup_list_item_highlight:#FFFFFF;
-qtc_popup_list_item_disabled:#787878;
-qtc_popup_list_item_latched:#FFFFFF; /* Added 05.02.2010 */
-
-/* Virtual inputs */
-qtc_input_button_normal:#505050; /* Modified 19.02.2010 */
-qtc_input_button_accented_normal:#3C3C3C; /* Added 22.02.2010 */
-qtc_input_button_pressed:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_latched:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_button_disabled:#787878; /* Modified 19.02.2010 */
-qtc_input_function_normal:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_pressed:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_latched:#FFFFFF; /* Modified 19.02.2010 */
-qtc_input_function_disabled:#646464; /* Modified 19.02.2010 */
-qtc_input_preview_normal:#3C3C3C; /* Modified 22.02.2010 */
-
-/* Application specific - Conversational list */ 
-qtc_conv_list_received_normal:#505050; /* Modified 05.02.2010 */
-qtc_conv_list_received_pressed:#FFFFFF; /* Modified 05.02.2010 */
-qtc_conv_list_received_highlight:#FFFFFF; /* Modified 05.02.2010 */
-qtc_conv_list_sent_normal:#505050; /* Modified 05.02.2010 */
-qtc_conv_list_sent_pressed:#FFFFFF; /* Modified 05.02.2010 */
-qtc_conv_list_sent_highlight:#FFFFFF; /* Modified 05.02.2010 */
-
-/* Application specific - Calendar */ 
-qtc_cal_grid_line:#DCDCDC; /* Added 05.02.2010 */
-qtc_cal_month_highlighted_text:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_month_active_dates:#505050; /* Added 05.02.2010 */
-qtc_cal_month_notactive_dates:#A0A0A0; /* Added 05.02.2010 */
-qtc_cal_month_current_day:#66CCAD; /* Added 05.02.2010 */
-qtc_cal_week_day:#505050; /* Added 05.02.2010 */
-qtc_cal_day_preview_heading:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_day_preview_text:#FFFFFF; /* Added 05.02.2010 */
-qtc_cal_day_hour_lines:#505050; /* Added 05.02.2010 */
-qtc_cal_monthgrid_title:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Call handling */ 
-qtc_callhandling_answer_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_answer_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_answer_highlight:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_callhandling_reject_highlight:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Home screen */ 
-qtc_hs_list_item_title_normal:#505050; /* Added 05.02.2010 */
-qtc_hs_list_item_content_normal:#519FB9; /* Added 05.02.2010 */
-qtc_hs_list_item_pressed:#FFFFFF; /* Added 05.02.2010 */
-qtc_hs_list_item_highlight:#FFFFFF; /* Added 05.02.2010 */
-
-/* Application specific - Messaging */
-qtc_messaging_heading:#3C3C3C; /* Added 05.02.2010 */
-
-/* Application specific - Radio & Calculator */ 
-qtc_lcd_title_normal:#505050; /* Added 11.02.2010 */
-qtc_lcd_content_normal:#519FB9; /* Added 11.02.2010 */
-qtc_lcd_link_normal:#33C8FF; /* Added 22.02.2010 */
-qtc_radio_tuner_normal:#505050; /* Added 05.02.2010 */
-qtc_radio_tuner_line:#3C3C3C; /* Added 05.02.2010 */
-
-/* Application specific - Multimedia */ 
-qtc_multimedia_trans:#FFFFFF; /* Modified 19.02.2010 */
-qtc_multimedia_trans_pressed:#FFFFFF; /* Added 19.02.2010 */
-
-/* Deprecated compatibility mappings */
-default_decor_normal:var(qtc_default_decor_normal);
-default_decor_pressed:var(qtc_default_decor_pressed);
-default_decor_latched:var(qtc_default_decor_latched);
-default_decor_highlight:var(qtc_default_decor_highlight);
-default_decor_disabled:var(qtc_default_decor_disabled);
-default_main_pane_normal:var(qtc_default_main_pane_normal);
-default_main_pane_pressed:var(qtc_default_main_pane_pressed);
-default_main_pane_latched:var(qtc_default_main_pane_latched);
-default_main_pane_highlight:var(qtc_default_main_pane_highlight);
-default_main_pane_disabled:var(qtc_default_main_pane_disabled);
-default_popup_normal:var(qtc_default_popup_normal);
-default_popup_pressed:var(qtc_default_popup_pressed);
-default_popup_latched:var(qtc_default_popup_latched);
-default_popup_highlight:var(qtc_default_popup_highlight);
-default_popup_disabled:var(qtc_default_popup_disabled);
-title_pane_normal:var(qtc_title_pane_normal);
-title_pane_pressed:var(qtc_title_pane_pressed);
-title_pane_highlight:var(qtc_title_pane_highlight);
-title_pane_latched:var(qtc_title_pane_latched);
-title_pane_trans_normal:var(qtc_title_pane_trans_normal);
-title_pane_trans_pressed:var(qtc_title_pane_trans_pressed);
-title_pane_trans_highlight:var(qtc_title_pane_trans_highlight);
-title_pane_trans_latched:var(qtc_title_pane_trans_latched);
-view_normal:var(qtc_view_normal);
-view_pressed:var(qtc_view_pressed);
-view_line_normal:var(qtc_view_line_normal);
-view_link_normal:var(qtc_view_link_normal);
-view_visited_normal:var(qtc_view_visited_normal);
-view_separator_normal:var(qtc_view_separator_normal);
-viewtitle_normal:var(qtc_viewtitle_normal);
-tab_active_normal:var(qtc_tab_active_normal);
-tab_passive_normal:var(qtc_tab_passive_normal);
-tab_passive_pressed:var(qtc_tab_passive_pressed);
-grid_normal:var(qtc_grid_normal);
-grid_pressed:var(qtc_grid_pressed);
-grid_highlight:var(qtc_grid_highlight);
-list_item_title_normal:var(qtc_list_item_title_normal);
-list_item_content_normal:var(qtc_list_item_content_normal);
-list_item_parent_normal:var(qtc_list_item_parent_normal);
-list_item_pressed:var(qtc_list_item_pressed);
-list_item_highlight:var(qtc_list_item_highlight);
-list_item_disabled:var(qtc_list_item_disabled);
-button_normal:var(qtc_button_normal);
-button_pressed:var(qtc_button_pressed);
-button_latched:var(qtc_button_latched);
-button_highlight:var(qtc_button_highlight);
-button_disabled:var(qtc_button_disabled);
-editor_normal:var(qtc_editor_normal);
-editor_selected:var(qtc_editor_selected);
-editor_marker_normal:var(qtc_editor_marker_normal);
-editor_hint_normal:var(qtc_editor_hint_normal);
-toolbar_normal:var(qtc_toolbar_normal);
-toolbar_pressed:var(qtc_toolbar_pressed);
-toolbar_latched:var(qtc_toolbar_latched);
-toolbar_disabled:var(qtc_toolbar_disabled);
-toolbar_highlight:var(qtc_toolbar_highlight);
-toolbar_trans_normal:var(qtc_toolbar_trans_normal);
-toolbar_trans_pressed:var(qtc_toolbar_trans_pressed);
-toolbar_trans_latched:var(qtc_toolbar_trans_latched);
-toolbar_trans_disabled:var(qtc_toolbar_trans_disabled);
-toolbar_trans_highlight:var(qtc_toolbar_trans_highlight);
-groupbox_normal:var(qtc_groupbox_normal);
-groupbox_pressed:var(qtc_groupbox_pressed);
-groupbox_highlight:var(qtc_groupbox_highlight);
-popup_sk_normal:var(qtc_popup_sk_normal);
-popup_sk_highlight:var(qtc_popup_sk_highlight);
-popup_sk_pressed:var(qtc_popup_sk_pressed);
-popup_heading_normal:var(qtc_popup_heading_normal);
-popup_heading_pressed:var(qtc_popup_heading_pressed);
-popup_heading_highlight:var(qtc_popup_heading_highlight);
-popup_normal:var(qtc_popup_normal);
-popup_preview_normal:var(qtc_popup_preview_normal);
-popup_preview_pressed:var(qtc_popup_preview_pressed);
-popup_preview_link:var(qtc_popup_preview_link);
-popup_trans_normal:var(qtc_popup_trans_normal);
-popup_trans_pressed:var(qtc_popup_trans_pressed);
-popup_trans_link:var(qtc_popup_trans_link);
-popup_grid_normal:var(qtc_popup_grid_normal);
-popup_grid_pressed:var(qtc_popup_grid_pressed); 
-popup_grid_highlight:var(qtc_popup_grid_highlight);
-popup_grid_disabled:var(qtc_popup_grid_disabled);
-popup_list_title_normal:var(qtc_popup_list_title_normal);
-popup_list_item_content_normal:var(qtc_popup_list_item_content_normal);
-popup_list_item_parent_normal:var(qtc_popup_list_item_parent_normal);
-popup_list_item_pressed:var(qtc_popup_list_item_pressed);
-popup_list_item_highlight:var(qtc_popup_list_item_highlight);
-popup_list_item_disabled:var(qtc_popup_list_item_disabled);
-combobox_normal:var(qtc_combobox_normal);
-combobox_pressed:var(qtc_combobox_pressed);
-combobox_highlight:var(qtc_combobox_highlight);
-combobox_disabled:var(qtc_combobox_disabled);
-combobox_edit:var(qtc_combobox_edit);
-input_button_normal:var(qtc_input_button_normal);
-input_button_pressed:var(qtc_input_button_pressed);
-input_button_latched:var(qtc_input_button_latched);
-input_button_disabled:var(qtc_input_button_disabled);
-input_function_normal:var(qtc_input_function_normal);
-input_function_pressed:var(qtc_input_function_pressed);
-input_function_latched:var(qtc_input_function_latched);
-input_function_disabled:var(qtc_input_function_disabled);
-input_title_normal:var(qtc_input_title_normal);
-
-/* Deprecated legacy variables */
-/* Old color roles used for RnD */
-foreground:#FFFFFF;
-popupbackground:#000000;
-popupforeground:#FFFFFF;
-menubackground:#000000;
-menuforeground_enabled:#FFFFFF;
-menuforeground_disabled:#9B9B9B;
-toolbuttonforeground_enabled:#FFFFFF;
-toolbuttonforeground_disabled:#9B9B9B;
-slider_ticktext_color:#FFFFFF;
-
-/* Unclear cases - consider deprecated */
-list_item_separator_normal:#4d4d4d;
-qtc_checkbox_normal:#000000;
-qtc_checkbox_disabled:#a0a0a4;
-qtc_popup_trans:#000000;
-
-/* Deprecated autotest variables */
-testforeground:#010101;
-testforeground_focused:#010101;
-testforeground_nonfocused:#000000;
-testforeground_enabled:#000000;
-testforeground_disabled:#000000;
-testforground_state5:#010101;
-testforground_state5:#020202;
-my_widget_background_pressed:#ff0000;
-my_widget_background_notpressed:#0000ff;
-}
-
--- a/src/style/sfwhitetheme/variables/color/hbwidgetcolorgroup.css	Fri Jun 11 16:25:39 2010 +0100
+++ b/src/style/sfwhitetheme/variables/color/hbwidgetcolorgroup.css	Thu Jul 22 16:38:28 2010 +0100
@@ -21,10 +21,10 @@
 qtc_default_popup_disabled:#9B9B9B;
 
 /* Title pane */
-qtc_title_pane_normal:#FFFFFF;
+qtc_title_pane_normal:#3C3C3C; /* Modified 26.05.2010 */
 qtc_title_pane_pressed:#FFFFFF;
 qtc_title_pane_highlight:#FFFFFF;
-qtc_title_pane_latched:#FFFFFF;
+qtc_title_pane_latched:#000000; /* Modified 26.05.2010 */
 qtc_title_pane_trans_normal:#FFFFFF;
 qtc_title_pane_trans_pressed:#FFFFFF;
 qtc_title_pane_trans_highlight:#FFFFFF;
@@ -39,21 +39,17 @@
 qtc_view_link_normal:#33C8FF;
 qtc_view_visited_normal:#B378FF;
 qtc_view_separator_normal:#9B9B9B;
+qtc_view_normal_secondary:#FFFFFF;
 
 /* Main area - View title */
 qtc_viewtitle_normal:#3C3C3C;
 
-/* Main area - Tab */
-qtc_tab_active_normal:#3C3C3C;
-qtc_tab_passive_normal:#3C3C3C;
-qtc_tab_passive_Pressed:#3C3C3C;
-
 /* Main area - Grid */ 
 qtc_grid_normal:#595B5D;
 qtc_grid_pressed:#FFFFFF;
 qtc_grid_highlight:#FFFFFF;
 qtc_grid_latched:#FFFFFF; /* Added 05.02.2010 */
-qtg_grid_disabled:#9B9B9B; /* Added 15.02.2010 */
+qtc_grid_disabled:#9B9B9B; /* Modified 01.03.2010 */
 
 /* Main area - List */ 
 qtc_list_item_title_normal:#505050;
@@ -92,7 +88,8 @@
 qtc_tumbler_highlight:#FFFFFF;
 
 /* Main area - DataForm */
-qtc_dataform_value:#3C3C3C; /* Added 08.02.2010 */
+qtc_dataform_heading:#3C3C3C; /* Added 04.03.2010 */
+qtc_dataform_heading_link:#33C8FF; /* Added 22.03.2010 */
 
 /* Main area - ProgressSlider */
 qtc_progslider_normal:#3C3C3C; /* Added 09.02.2010 */
@@ -147,7 +144,6 @@
 qtc_popup_grid_disabled:#787878;
 qtc_popup_grid_latched:#FFFFFF; /* Added 05.02.2010 */
 qtc_popup_grid_trans_normal:#FFFFFF; /* Added 05.02.2010 */
-qtc_popup_grid_trans_pressed:#FFFFFF; /* Added 05.02.2010 */
 
 /* Pop-ups - List in a pop-up */ 
 qtc_popup_list_title_normal:#505050;
@@ -157,6 +153,7 @@
 qtc_popup_list_item_highlight:#FFFFFF;
 qtc_popup_list_item_disabled:#787878;
 qtc_popup_list_item_latched:#FFFFFF; /* Added 05.02.2010 */
+qtc_popup_list_item_trans_normal:#FFFFFF; /* Added 12.02.2010 */
 
 /* Virtual inputs */
 qtc_input_button_normal:#505050; /* Modified 19.02.2010 */
@@ -169,6 +166,7 @@
 qtc_input_function_latched:#FFFFFF; /* Modified 19.02.2010 */
 qtc_input_function_disabled:#646464; /* Modified 19.02.2010 */
 qtc_input_preview_normal:#3C3C3C; /* Modified 22.02.2010 */
-
+qtc_input_hint_normal:#A0A0A0; /* Added 05.03.2010 */
+qtc_input_grid_line:#787878; /* Added 12.03.2010 */
 }
 
--- a/src/theme.theme	Fri Jun 11 16:25:39 2010 +0100
+++ b/src/theme.theme	Thu Jul 22 16:38:28 2010 +0100
@@ -1,2 +1,3 @@
-[Default Theme]
-Name=hbdefault
+[Default]
+BaseTheme = sfwhitetheme
+DefaultActiveTheme = sfblacktheme
--- a/src/theme.theme_new	Fri Jun 11 16:25:39 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-[Default]
-BaseTheme = sfblacktheme
-DefaultActiveTheme = sfblacktheme