# HG changeset patch # User William Roberts # Date 1279813108 -3600 # Node ID 3bdc12ef1448c55614dd05e291525840fc102584 # Parent 10b7194ec8b4832bcc1bba37ade76846d7d3a389# Parent 02a1dd166f2bbaa3c7dc2a945ef5951e8cfdd4e7 Catchup to latest Symbian^4 diff -r 10b7194ec8b4 -r 3bdc12ef1448 .hg_archival.txt --- /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 diff -r 10b7194ec8b4 -r 3bdc12ef1448 .hgtags --- 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 diff -r 10b7194ec8b4 -r 3bdc12ef1448 bin/extract.py --- /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 (default %s)" % INPUT_DIR) + self.add_option("-o", "--output", dest="output", metavar="dir", + help="specify the output (default %s)" % OUTPUT_DIR) + self.add_option("--include", dest="include", action="append", metavar="pattern", + help="specify the include (default %s)" % INCLUDE) + self.add_option("--exclude", dest="exclude", action="append", metavar="pattern", + help="specify the exclude (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()) diff -r 10b7194ec8b4 -r 3bdc12ef1448 bin/installs.py --- /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 (default %s)" % INPUT_DIR) + self.add_option("-o", "--output", dest="output", metavar="dir", + help="specify the output (default %s)" % OUTPUT_DIR) + self.add_option("--include", dest="include", action="append", metavar="pattern", + help="specify the include (default %s)" % INCLUDE) + self.add_option("--exclude", dest="exclude", action="append", metavar="pattern", + help="specify the exclude (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()) diff -r 10b7194ec8b4 -r 3bdc12ef1448 bin/rom.py --- /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 (default %s)" % INPUT_DIR) + group.add_option("-o", "--output", dest="output", metavar="dir", + help="specify the output (default %s)" % OUTPUT_DIR) + group.add_option("--include", dest="include", action="append", metavar="pattern", + help="specify the include (default %s)" % INCLUDE) + group.add_option("--exclude", dest="exclude", action="append", metavar="pattern", + help="specify the exclude (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 (default %s)" % SOURCE_PREFIX) + group.add_option("--target-prefix", dest="targetprefix", metavar="prefix", + help="specify the target (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 \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()) diff -r 10b7194ec8b4 -r 3bdc12ef1448 bin/svg2nvg.py --- /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 (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()) diff -r 10b7194ec8b4 -r 3bdc12ef1448 bin/sync.py --- 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 (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 (default %s)" % INPUT_DIR) - self.add_option("-o", "--output", dest="output", metavar="dir", - help="specify the output (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 (default %s)" % INCLUDE) - self.add_option("--exclude", dest="exclude", action="append", metavar="pattern", - help="specify the exclude (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 (default %s)" % IBY_SOURCE_PREFIX) - self.add_option("--iby-target-prefix", dest="ibytargetprefix", metavar="prefix", - help="specify the iby target (default %s)" % IBY_TARGET_PREFIX) - self.add_option("--bld-hw-target-prefix", dest="bldhwtargetprefix", metavar="prefix", - help="specify the bld harware target (default %s)" % BLD_HW_TARGET_PREFIX) - self.add_option("--bld-emu-target-prefix", dest="bldemutargetprefix", metavar="prefix", - help="specify the bld emulator target (default %s)" % BLD_EMU_TARGET_PREFIX) - self.add_option("--bld-target-prefix", dest="bldtargetprefixes", action="append", metavar="prefix", - help="specify an additional bld target ") - 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 \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 \"\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 \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()) diff -r 10b7194ec8b4 -r 3bdc12ef1448 confml/confml/CI_hbtheme.confml Binary file confml/confml/CI_hbtheme.confml has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 confml/confml/hbtheme.confml Binary file confml/confml/hbtheme.confml has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 confml/implml/hbtheme.implml --- /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 @@ + + + + + + + + + + ${HbTheme.UIThemeFile} configures ${HbTheme.HbDefaultTheme} = {% get_themename_from_thx( ${HbTheme.UIThemeFile}, 'themes' ) %} + + + ${HbTheme.PriorityThemeFile} configures ${HbTheme.HbPriorityThemeName} = {% get_themename_from_thx( ${HbTheme.PriorityThemeFile}, 'prioritytheme' ) %} + + + +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 + + + + + + + + + + + + + + + + + + diff -r 10b7194ec8b4 -r 3bdc12ef1448 confml/implml/hbtheme_20022e82.crml Binary file confml/implml/hbtheme_20022e82.crml has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 makeindex.mk --- 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 diff -r 10b7194ec8b4 -r 3bdc12ef1448 platformthemes.pro --- 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: + 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 diff -r 10b7194ec8b4 -r 3bdc12ef1448 rom/sfblacknvgtheme.themeindex Binary file rom/sfblacknvgtheme.themeindex has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 rom/sfblacktheme.themeindex Binary file rom/sfblacktheme.themeindex has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 rom/sfwhitetheme.themeindex Binary file rom/sfwhitetheme.themeindex has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 rom/theme.theme.iby --- /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 + +data=ZRESOURCE/hb/themes/theme.theme RESOURCE_FILES_DIR/hb/themes/theme.theme + +#endif __THEME_THEME_IBY__ diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/animations/sfwhitetheme/animations.zip Binary file src/animations/sfwhitetheme/animations.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/effects/sfblacktheme/applications.zip Binary file src/effects/sfblacktheme/applications.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/effects/sfblacktheme/effects.zip Binary file src/effects/sfblacktheme/effects.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/effects/sfblacktheme/widgets.zip Binary file src/effects/sfblacktheme/widgets.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/effects/sfwhitetheme/applications.zip Binary file src/effects/sfwhitetheme/applications.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/effects/sfwhitetheme/effects.zip Binary file src/effects/sfwhitetheme/effects.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/effects/sfwhitetheme/widgets.zip Binary file src/effects/sfwhitetheme/widgets.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfblacknvgtheme/index.theme --- 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 diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfblacknvgtheme/scalable/applications.zip Binary file src/icons/sfblacknvgtheme/scalable/applications.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfblacknvgtheme/scalable/icons.zip Binary file src/icons/sfblacknvgtheme/scalable/icons.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfblacknvgtheme/scalable/smileys.zip Binary file src/icons/sfblacknvgtheme/scalable/smileys.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfblacknvgtheme/scalable/widgets.zip Binary file src/icons/sfblacknvgtheme/scalable/widgets.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfblacktheme/index.theme --- 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 diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfblacktheme/mirrored.txt --- /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 + diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfblacktheme/scalable/applications.zip Binary file src/icons/sfblacktheme/scalable/applications.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfblacktheme/scalable/icons.zip Binary file src/icons/sfblacktheme/scalable/icons.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfblacktheme/scalable/widgets.zip Binary file src/icons/sfblacktheme/scalable/widgets.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfwhitetheme/index.theme --- 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 diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfwhitetheme/mirrored.txt --- /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 + diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfwhitetheme/scalable/applications.zip Binary file src/icons/sfwhitetheme/scalable/applications.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfwhitetheme/scalable/icons.zip Binary file src/icons/sfwhitetheme/scalable/icons.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/icons/sfwhitetheme/scalable/widgets.zip Binary file src/icons/sfwhitetheme/scalable/widgets.zip has changed diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/style/sfblacknvgtheme/variables/color/hbapplicationcolorgroup.css --- 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 */ - -} - diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/style/sfblacknvgtheme/variables/color/hbcolorgroup.css --- 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; - -} - diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/style/sfblacknvgtheme/variables/color/hbwidgetcolorgroup.css --- 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 */ - - -} - diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/style/sfblacktheme/variables/color/hbapplicationcolorgroup.css --- 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 */ } diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/style/sfblacktheme/variables/color/hbcolorgroup.css --- 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; - -} - diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/style/sfblacktheme/variables/color/hbwidgetcolorgroup.css --- 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 */ } diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/style/sfwhitetheme/variables/color/hbapplicationcolorgroup.css --- 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 */ } diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/style/sfwhitetheme/variables/color/hbcolorgroup.css --- 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; -} - diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/style/sfwhitetheme/variables/color/hbwidgetcolorgroup.css --- 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 */ } diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/theme.theme --- 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 diff -r 10b7194ec8b4 -r 3bdc12ef1448 src/theme.theme_new --- 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