# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1274955059 -10800 # Node ID 11d3954df52ad6fc94b73a0ff3b94a212a7ecda9 # Parent 06ff229162e912aea8747febf87ddc21a7b91559 Revision: 201019 Kit: 2010121 diff -r 06ff229162e9 -r 11d3954df52a bin/synchb.py --- a/bin/synchb.py Fri May 14 16:09:54 2010 +0300 +++ b/bin/synchb.py Thu May 27 13:10:59 2010 +0300 @@ -36,7 +36,8 @@ # Globals # ============================================================================ VERBOSE = False -EXCLUDE = ["hbplugins", "hbservers", "3rdparty", "internal", "tsrc", "debug", "release"] +EXCLUDE = ["hbapps", "hbplugins", "hbservers", "hbtools", "3rdparty", + "internal", "tsrc", "debug", "release", "bwins", "eabi"] COLLECTIONS = {"hbcore": "HbCore", "hbfeedback": "HbFeedback", "hbinput": "HbInput", @@ -87,8 +88,24 @@ except IOError, e: print(e) -def write_header(filepath, include): - write_file(filepath, "#include \"%s\"\n" % include) +def include_directive(header): + return "#include \"%s\"\n" % header + +def write_header(header, include, path): + filename = os.path.basename(header) + filepath = os.path.join(path, filename) + relpath = os.path.relpath(header, path).replace("\\", "/") + skip = False + if os.path.exists(filepath): + directive = include_directive(include) + oldsize = os.path.getsize(filepath) + newsize = len(directive) + if oldsize == newsize and directive == read_file(filepath): + skip = True + if not skip: + if VERBOSE: + print("INFO:\t ==> %s" % os.path.basename(filepath)) + write_file(filepath, include_directive(include)) # ============================================================================ # Component @@ -96,8 +113,8 @@ class Component: def __init__(self, name): self.name = name - self.headers = list() - self.privates = list() + self.headers = [] + self.privates = [] def read(self, path): entries = os.listdir(path) @@ -114,28 +131,24 @@ self.headers.append(entrypath) def write(self, path): + written = [] if len(self.headers) > 0: self._makedirs(path) - self._write(path, self.headers, True) + written += self._write(path, self.headers, True) if len(self.privates) > 0: privpath = os.path.join(path, "private") self._makedirs(privpath) - self._write(privpath, self.privates, False) + written += self._write(privpath, self.privates, False) + return written def _write(self, path, headers, convenience): - global VERBOSE - if VERBOSE: - print("INFO: Writing headers to '%s'" % path) + written = [] for header in headers: - filename = os.path.basename(header) - filepath = os.path.join(path, filename) - relpath = os.path.relpath(header, path) - if VERBOSE: - print("INFO:\t ==> %s" % os.path.basename(filepath)) - write_header(filepath, relpath.replace("\\", "/")) + write_header(header, header, path) + written.append(os.path.join(path, os.path.basename(header))) if convenience: - classes = list() + classes = [] content = read_file(header) for match in re.finditer("(?:class|namespace)\s+(?:HB_[^_]+_EXPORT\s+)?(Hb\w*)(\s*;)?", content): if not match.group(2): @@ -143,14 +156,12 @@ for match in re.finditer("#pragma hb_header\((\w+)\)", content): classes.append(match.group(1)) for cls in classes: - filepath = os.path.join(path, cls) - write_header(filepath, filename) + write_header(cls, os.path.basename(header), path) + written.append(os.path.join(path, cls)) + return written def _makedirs(self, path): - global VERBOSE if not os.path.exists(path): - if VERBOSE: - print("INFO: Creating include dir '%s'" % path) os.makedirs(path) # ============================================================================ @@ -171,25 +182,55 @@ self.components.append(component) def write(self, path): - global COLLECTIONS + global COLLECTIONS, VERBOSE + path = os.path.join(os.path.abspath(path), self.name) + if VERBOSE: + print("INFO: Writing headers to '%s'..." % path) + # there's no set in python 2.3 so use a list + leftovers = [] + for root, dirs, files in os.walk(path): + for file in files: + leftovers.append(os.path.abspath(os.path.join(root, file))) + # include/hbcore - includes = list() - path = os.path.join(path, self.name) + includes = [] + written = [] for component in self.components: - component.write(path) + written += component.write(path) for header in component.headers: includes.append("#include \"%s\"\n" % os.path.basename(header)) + if self.name in COLLECTIONS: - write_file(os.path.join(path, self.name + ".h"), "".join(includes)) - write_header(os.path.join(path, COLLECTIONS[self.name]), self.name + ".h") + collectionheader = os.path.join(path, self.name + ".h") + write_file(collectionheader, "".join(includes)) + written.append(collectionheader) + if collectionheader in leftovers: + leftovers.remove(collectionheader) + convenienceheader = os.path.join(path, COLLECTIONS[self.name]) + write_file(convenienceheader, include_directive(self.name + ".h")) + written.append(convenienceheader) + if convenienceheader in leftovers: + leftovers.remove(convenienceheader) + + for filepath in written: + filepath = os.path.abspath(filepath) + if filepath in leftovers: + leftovers.remove(filepath) + + if VERBOSE and len(leftovers) > 0: + print("INFO: Removing obsolete headers from '%s'..." % path) + for leftover in leftovers: + if VERBOSE: + print("INFO:\t ==> %s" % leftover) # os.path.basename(leftover)) + os.remove(leftover) # ============================================================================ # Package # ============================================================================ class Package: def __init__(self, name): - self.path = name - self.collections = list() + self.name = name + self.collections = [] def read(self, path): global EXCLUDE @@ -228,11 +269,6 @@ if not os.path.basename(os.path.normpath(options.outputdir)) == "include": options.outputdir = os.path.join(options.outputdir, "include") - if os.path.exists(options.outputdir): - if VERBOSE: - print("INFO: Removing include dir '%s'" % options.outputdir) - shutil.rmtree(options.outputdir, ignore_errors=True) - package = Package("hb") package.read(options.inputdir) package.write(options.outputdir) diff -r 06ff229162e9 -r 11d3954df52a config.tests/symbian/sgimagelite/main.cpp --- a/config.tests/symbian/sgimagelite/main.cpp Fri May 14 16:09:54 2010 +0300 +++ b/config.tests/symbian/sgimagelite/main.cpp Thu May 27 13:10:59 2010 +0300 @@ -24,11 +24,9 @@ ****************************************************************************/ #include -#include #ifndef VSW_GSW_SGIMAGELITE #error VSW_GSW_SGIMAGELITE not defined #endif -int main() { return 0;} - +int main() { } diff -r 06ff229162e9 -r 11d3954df52a config.tests/unix/sharedmemory/sharedmemory.pro --- a/config.tests/unix/sharedmemory/sharedmemory.pro Fri May 14 16:09:54 2010 +0300 +++ b/config.tests/unix/sharedmemory/sharedmemory.pro Thu May 27 13:10:59 2010 +0300 @@ -27,6 +27,7 @@ TEMPLATE = app TARGET = hbconftest_sharedmemory +isEmpty(HB_SOURCE_DIR):error(HB_SOURCE_DIR not defined!!!) DEPENDPATH += . $${HB_SOURCE_DIR}/src/hbcore/core INCLUDEPATH += . $${HB_SOURCE_DIR}/src/hbcore/core DEFINES += HB_BOOTSTRAPPED diff -r 06ff229162e9 -r 11d3954df52a configure.py --- a/configure.py Fri May 14 16:09:54 2010 +0300 +++ b/configure.py Thu May 27 13:10:59 2010 +0300 @@ -65,7 +65,14 @@ code = 0 output = "" if os.name == "nt": + env = os.environ.copy() + epocroot = env.get("EPOCROOT") + if epocroot: + if not epocroot.endswith("\\") or epocroot.endswith("/"): + env["EPOCROOT"] = "%s/" % epocroot + args = ["cmd.exe", "/C"] + args + try: if cwd != None: oldcwd = os.getcwd() @@ -75,10 +82,17 @@ code = process.wait() output = process.fromchild.read() else: - process = subprocess.Popen(args, stderr=subprocess.PIPE, stdout=subprocess.PIPE) - (stdout, stderr) = process.communicate() - code = process.returncode - output = stdout + stderr + if os.name == "nt": + process = subprocess.Popen(args, env=env, stderr=subprocess.PIPE, stdout=subprocess.PIPE) + (stdout, stderr) = process.communicate() + code = process.returncode + output = stdout + stderr + else: + process = subprocess.Popen(args, stderr=subprocess.PIPE, stdout=subprocess.PIPE) + (stdout, stderr) = process.communicate() + code = process.returncode + output = stdout + stderr + if cwd != None: os.chdir(oldcwd) except: @@ -604,31 +618,8 @@ basedir = options.prefix if platform.name() != "symbian": basedir = os.path.abspath(basedir) - local = os.path.isdir(basedir) and (basedir == currentdir) - # generate local build wrapper headers - synchb = "bin/synchb.py" - if options.verbose: - synchb = "%s -v" % synchb - print("INFO: Running %s" % synchb) - os.system("python %s/%s -i %s -o %s" % (sourcedir, synchb, sourcedir, currentdir)) - - # generate a qrc for resources - args = [os.path.join(sourcedir, "bin/resourcifier.py")] - args += ["-i", "%s" % os.path.join(sys.path[0], "src/hbcore/resources")] - # TODO: make it currentdir - args += ["-o", "%s" % os.path.join(sourcedir, "src/hbcore/resources/resources.qrc")] - args += ["--exclude", "\"*distribution.policy.s60\""] - args += ["--exclude", "\"*readme.txt\""] - args += ["--exclude", "\"*.pr?\""] - args += ["--exclude", "\"*.qrc\""] - args += ["--exclude", "\"*~\""] - args += ["--exclude", "variant/*"] - if options.verbose: - print("INFO: Running %s" % " ".join(args)) - os.system("python %s" % " ".join(args)) - # compilation tests to detect available features config = ConfigFile() test = ConfigTest(platform) @@ -694,25 +685,6 @@ config.set_value("HB_RESOURCES_DIR", ConfigFile.format_dir(options.resourcedir)) config.set_value("HB_FEATURES_DIR", ConfigFile.format_dir(options.featuredir)) - - if os.name == "posix" or os.name == "mac": - sharedmem = test.compile("config.tests/unix/sharedmemory") - if sharedmem: - (code, output) = run_process(["./hbconftest_sharedmemory"], "config.tests/unix/sharedmemory") - sharedmem = (code == 0) - if not sharedmem: - print("DEBUG:%s" % output) - print("INFO: Shared Memory:\t\t\t%s" % sharedmem) - if not sharedmem: - print("WARNING:The amount of available shared memory is too low!") - print "\tTry adjusting the shared memory configuration", - if os.path.exists("/proc/sys/kernel/shmmax"): - print "(/proc/sys/kernel/shmmax)" - elif os.path.exists("/etc/sysctl.conf"): - print "(/etc/sysctl.conf)" - - - # TODO: get rid of this! if platform.name() == "symbian": config.set_value("HB_PLUGINS_EXPORT_DIR", ConfigFile.format_dir("$${EPOCROOT}epoc32/winscw/c/resource/qt/plugins/hb")) @@ -798,7 +770,7 @@ # - can be disabled by passing --no_debug_output option config._lines.append("CONFIG(release, debug|release) {\n") config._lines.append(" debug_output|developer {\n") - config._lines.append(" # debug/warning output enabled {\n") + config._lines.append(" # debug/warning output enabled\n") config._lines.append(" } else {\n") config._lines.append(" DEFINES += QT_NO_DEBUG_OUTPUT\n") config._lines.append(" DEFINES += QT_NO_WARNING_OUTPUT\n") @@ -810,6 +782,9 @@ config._lines.append(" }\n") config._lines.append("}\n") + # ensure that no QString(0) -like constructs slip in + config.add_value("DEFINES", "QT_QCHAR_CONSTRUCTOR") + # TODO: is there any better way to expose functions to the whole source tree? config._lines.append("include(%s)\n" % (os.path.splitdrive(sourcedir)[1] + "/mkspecs/hb_functions.prf")) @@ -819,6 +794,47 @@ print("ERROR: Unable to write .qmake.cache.") return + if os.name == "posix" or os.name == "mac": + sharedmem = test.compile("config.tests/unix/sharedmemory") + if sharedmem: + (code, output) = run_process(["./hbconftest_sharedmemory"], "config.tests/unix/sharedmemory") + sharedmem = (code == 0) + if not sharedmem: + print("DEBUG:%s" % output) + print("INFO: Shared Memory:\t\t\t%s" % sharedmem) + if not sharedmem: + print("WARNING:The amount of available shared memory is too low!") + print "\tTry adjusting the shared memory configuration", + if os.path.exists("/proc/sys/kernel/shmmax"): + print "(/proc/sys/kernel/shmmax)" + elif os.path.exists("/etc/sysctl.conf"): + print "(/etc/sysctl.conf)" + + # generate local build wrapper headers + print("\nGenerating files...") + print("INFO: Wrapper headers") + synchb = "bin/synchb.py" + if options.verbose: + print("INFO: Running %s" % synchb) + synchb = "%s -v" % synchb + os.system("python %s/%s -i %s -o %s" % (sourcedir, synchb, sourcedir, currentdir)) + + # generate a qrc for resources + print("INFO: Qt resource collection") + args = [os.path.join(sourcedir, "bin/resourcifier.py")] + args += ["-i", "%s" % os.path.join(sys.path[0], "src/hbcore/resources")] + # TODO: make it currentdir + args += ["-o", "%s" % os.path.join(sourcedir, "src/hbcore/resources/resources.qrc")] + args += ["--exclude", "\"*distribution.policy.s60\""] + args += ["--exclude", "\"*readme.txt\""] + args += ["--exclude", "\"*.pr?\""] + args += ["--exclude", "\"*.qrc\""] + args += ["--exclude", "\"*~\""] + args += ["--exclude", "variant/*"] + if options.verbose: + print("INFO: Running %s" % " ".join(args)) + os.system("python %s" % " ".join(args)) + # build host tools if platform.name() == "symbian" or options.hostqmakebin != None or options.hostmakebin != None: print("\nBuilding host tools...") @@ -840,6 +856,16 @@ # run qmake if options.qmakebin: qmake = options.qmakebin + + # modify epocroot for symbian to have compatibility between qmake and raptor + epocroot = os.environ.get("EPOCROOT") + replace_epocroot = epocroot + if epocroot: + if epocroot.endswith("\\") or epocroot.endswith("/"): + replace_epocroot = epocroot + else: + replace_epocroot = "%s/" % epocroot + profile = os.path.join(sourcedir, "hb.pro") cachefile = os.path.join(currentdir, ".qmake.cache") if options.msvc: @@ -855,7 +881,12 @@ else: print("\nRunning qmake...") try: + # replace the epocroot for the qmake runtime + if replace_epocroot: + os.putenv("EPOCROOT", replace_epocroot) ret = os.system("%s -cache %s %s" % (qmake, cachefile, profile)) + if replace_epocroot: + os.putenv("EPOCROOT", epocroot) except KeyboardInterrupt: ret = -1 if ret != 0: diff -r 06ff229162e9 -r 11d3954df52a hb.prf --- a/hb.prf Fri May 14 16:09:54 2010 +0300 +++ b/hb.prf Thu May 27 13:10:59 2010 +0300 @@ -30,7 +30,7 @@ symbian:CONFIG += symbian_i18n skin_icon include(hb_install.prf) -#include(docml2bin.prf) +include(docml2bin.prf) CONFIG(debug, debug|release) { win32:SUFFIX = d diff -r 06ff229162e9 -r 11d3954df52a hb.pro --- a/hb.pro Fri May 14 16:09:54 2010 +0300 +++ b/hb.pro Thu May 27 13:10:59 2010 +0300 @@ -37,7 +37,7 @@ feature.files += $$HB_SOURCE_DIR/hb.prf feature.files += $$HB_BUILD_DIR/hb_install.prf feature.files += $$HB_MKSPECS_DIR/hb_functions.prf -#feature.files += $$HB_MKSPECS_DIR/docml2bin.prf +feature.files += $$HB_MKSPECS_DIR/docml2bin.prf feature.path = $$HB_FEATURES_DIR INSTALLS += feature @@ -52,10 +52,11 @@ symbian { exists(rom):include(rom/rom.pri) install.depends += index hbvar -# install.depends += cssbinary + #install.depends += cssbinary install.commands += $$QMAKE_COPY $$hbNativePath($$HB_SOURCE_DIR/hb.prf) $$hbNativePath($$[QMAKE_MKSPECS]/features) install.commands += && $$QMAKE_COPY $$hbNativePath($$HB_BUILD_DIR/hb_install.prf) $$hbNativePath($$[QMAKE_MKSPECS]/features) QMAKE_EXTRA_TARGETS += install + BLD_INF_RULES.prj_exports += "sis/hb_stub.sis /epoc32/data/z/system/install/hb_stub.sis" } # theme indexing @@ -82,6 +83,22 @@ # css binary generation +cssbinary.path = . #needed for install target +cssbinary.sourcedir = $$PWD/src/hbcore/resources/themes/style/hbdefault +symbian { + cssbinary.targetfile = $${EPOCROOT}epoc32/data/z/resource/hb/themes/css.bin +} else { + cssbinary.targetfile = $$HB_RESOURCES_DIR/themes/css.bin +} +cssbinary.commands = $$hbToolCommand(hbbincssmaker) -i $$cssbinary.sourcedir -o $$cssbinary.targetfile + +# copy generated css binary to symbian emulator directory +symbian { + cssbinary.commands += && $$QMAKE_COPY $$hbNativePath($$cssbinary.targetfile) $$hbNativePath($${EPOCROOT}epoc32/release/winscw/udeb/z/resource/hb/themes/css.bin) +} + +QMAKE_EXTRA_TARGETS += cssbinary +# INSTALLS += cssbinary !contains(HB_NOMAKE_PARTS, tests):exists(tsrc) { test.depends = sub-src diff -r 06ff229162e9 -r 11d3954df52a mkspecs/docml2bin.prf --- a/mkspecs/docml2bin.prf Fri May 14 16:09:54 2010 +0300 +++ b/mkspecs/docml2bin.prf Thu May 27 13:10:59 2010 +0300 @@ -1,7 +1,8 @@ -include(hb_install.prf) +exists(hb_install.prf):include(hb_install.prf) +else:include($${HB_BUILD_DIR}/hb_install.prf) include(hb_functions.prf) -QMAKE_DOCML2BIN = $$hbNativePath($${HB_BIN_DIR}/docml2bin) +QMAKE_DOCML2BIN = $$hbToolCommand(docml2bin) docml2bin.input = DOCML docml2bin.output = ${QMAKE_FILE_IN}.bin diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbcorepskeys_p.h --- a/src/hbcore/core/hbcorepskeys_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbcorepskeys_p.h Thu May 27 13:10:59 2010 +0300 @@ -37,12 +37,35 @@ const TUid KHbPsOrientationCategoryUid = {0x20022E82}; // Theme server UID /** + * HbCore internal foreground application orientation PS category UID. + */ +const TUid KHbPsForegroundAppOrientationCategoryUid = {0x20022FC5}; //device dialog UID + +/** * KHbPsOrientationKey * Current orientation value recieved from sensor. * Qt::Orientation */ const TUint KHbPsOrientationKey = 'Orie'; +/** + * KHbPsForegroundAppOrientationKey + * Current orientation value checked from foreground app. + */ +const TUint KHbPsForegroundAppOrientationKey = 'Fgor'; + +/** + * KHbFixedOrientationMask + * Indicates HbMainWindow has fixed orientation enabled + */ +const TUint KHbFixedOrientationMask = 0x100; + +/** + * KHbOrientationMask + * Used for masking orientation in PS-key + */ +const TUint KHbOrientationMask = 0xFF; + #endif //Q_OS_SYMBIAN #endif //HB_COREPSKEYS_P_H diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbmemorymanager_p.h --- a/src/hbcore/core/hbmemorymanager_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbmemorymanager_p.h Thu May 27 13:10:59 2010 +0300 @@ -37,7 +37,6 @@ //in 4.6. #define HB_CHECK_PTR(ptr) if(!ptr) throw std::bad_alloc(); - class HB_CORE_PRIVATE_EXPORT HbMemoryManager { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbmemoryutils_p.h --- a/src/hbcore/core/hbmemoryutils_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbmemoryutils_p.h Thu May 27 13:10:59 2010 +0300 @@ -56,7 +56,7 @@ static T * create(HbMemoryManager::MemoryType memType) { GET_MEMORY_MANAGER(memType); - T* temp = 0; + T *temp = 0; if (manager->isWritable()) { HbSmartOffset offset(manager->alloc(sizeof(T)), memType); temp = new((char*)manager->base() + offset.get()) T(memType); @@ -75,7 +75,7 @@ static T * create(const T &other, HbMemoryManager::MemoryType memType) { GET_MEMORY_MANAGER(memType); - T* temp = 0; + T *temp = 0; if (manager->isWritable()) { HbSmartOffset offset(manager->alloc(sizeof(T)),memType); temp = new((char*)manager->base() + offset.get()) T(other, memType); @@ -126,7 +126,7 @@ template static T * getAddress(HbMemoryManager::MemoryType type, int offset) { - if (offset == -1 || offset == -2 ) { + if (offset < 0 ) { return 0; } GET_MEMORY_MANAGER(type) @@ -136,7 +136,7 @@ /* * returns application file name without extension. */ - static const QString& getCleanAppName() + static const QString &getCleanAppName() { // making static to avoid string multiple string operation on each call.. static QString cleanAppName; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbmultisegmentallocator_p.cpp --- a/src/hbcore/core/hbmultisegmentallocator_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbmultisegmentallocator_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -85,7 +85,7 @@ } while (index <= limit); } - header = (MultiAllocatorHeader*)((unsigned char*)(chunk->data()) + offset); + header = address(offset); if (header->identifier == INITIALIZED_MULTISEGMENTALLOCATOR_IDENTIFIER) { return; // already initialized } @@ -93,12 +93,14 @@ // every chunk list have space for 512 chunks ChunkListHeader *listHeader; for (int i = 0; i < AMOUNT_OF_DIFFERENT_CHUNK_SIZES; i++) { - header->offsetsToChunkLists[i] = mainAllocator->alloc(sizeof(ChunkListHeader) + (sizeof(int)+ChunkSizes[i])*CHUNKS_IN_ONE_LIST); + header->offsetsToChunkLists[i] = mainAllocator->alloc(sizeof(ChunkListHeader) + + (sizeof(int) + ChunkSizes[i]) + * CHUNKS_IN_ONE_LIST); header->offsetsToFreeChunkLists[i] = header->offsetsToChunkLists[i]; - listHeader = (ChunkListHeader*)((unsigned char*)(chunk->data()) + header->offsetsToChunkLists[i]); + listHeader = address(header->offsetsToChunkLists[i]); listHeader->chunkListIndex = i; listHeader->freedChunkCursor = -1; - listHeader->allocCursor = header->offsetsToChunkLists[i]+sizeof(ChunkListHeader); + listHeader->allocCursor = header->offsetsToChunkLists[i] + sizeof(ChunkListHeader); listHeader->previousListOffset = -1; listHeader->nextListOffset = -1; listHeader->allocatedChunks = 0; @@ -135,23 +137,20 @@ // first find out correct list of chunks int i = indexTable[size]; - - // qDebug() << "HbMultiSegmentAllocator::alloc, with size " << size << " chunkList " << i << " used\n"; - int dataOffset = -1; int *metaData = 0; // this should always point to list with free chunks - ChunkListHeader *listHeader = (ChunkListHeader*)((unsigned char*)(chunk->data()) + header->offsetsToFreeChunkLists[i]); + ChunkListHeader *listHeader = address(header->offsetsToFreeChunkLists[i]); if (listHeader->freedChunkCursor >= 0) { // freedChunkCursor points to freed chunk dataOffset = listHeader->freedChunkCursor + sizeof(int); - metaData = (int*)((unsigned char*)(chunk->data())+listHeader->freedChunkCursor); + metaData = address(listHeader->freedChunkCursor); listHeader->freedChunkCursor = *metaData; // point to next freed chunk } else { // no chunks freed -> allocate in order dataOffset = listHeader->allocCursor + sizeof(int); - metaData = (int*)((unsigned char*)(chunk->data())+listHeader->allocCursor); + metaData = address(listHeader->allocCursor); // we will never allocate from full list, so allocCursor is always valid - listHeader->allocCursor += ChunkSizes[listHeader->chunkListIndex]+sizeof(int); + listHeader->allocCursor += ChunkSizes[listHeader->chunkListIndex] + sizeof(int); } // for allocated chunks metadata is: @@ -163,7 +162,9 @@ if (!setFreeList(listHeader->chunkListIndex)) { // there is no list(s) with free chunks, so add new list addList(listHeader->chunkListIndex, - mainAllocator->alloc((sizeof(ChunkListHeader)+sizeof(int)+ChunkSizes[listHeader->chunkListIndex])*CHUNKS_IN_ONE_LIST)); + mainAllocator->alloc((sizeof(ChunkListHeader) + sizeof(int) + + ChunkSizes[listHeader->chunkListIndex]) + * CHUNKS_IN_ONE_LIST)); } } @@ -176,19 +177,19 @@ void HbMultiSegmentAllocator::free(int offset) { // metadata has offset to list's header - int *metaData = (int*)((unsigned char*)(chunk->data())+offset-sizeof(int)); + int *metaData = address(offset - sizeof(int)); int listHeaderOffset = *metaData; - ChunkListHeader *listHeader = (ChunkListHeader*)((unsigned char*)(chunk->data()) + listHeaderOffset); + ChunkListHeader *listHeader = address(listHeaderOffset); listHeader->allocatedChunks--; if (listHeader->allocatedChunks == 0) { // if there are multiple lists, this list could be released ChunkListHeader *previous = 0; if (listHeader->previousListOffset > -1) { - previous = (ChunkListHeader*)((unsigned char*)(chunk->data()) + listHeader->previousListOffset); + previous = address(listHeader->previousListOffset); } ChunkListHeader *next = 0; if (listHeader->nextListOffset > -1) { - next = (ChunkListHeader*)((unsigned char*)(chunk->data()) + listHeader->nextListOffset); + next = address(listHeader->nextListOffset); } if (previous || next) { @@ -212,12 +213,12 @@ } else { // only list can't be freed *metaData = listHeader->freedChunkCursor; - listHeader->freedChunkCursor = offset-sizeof(int); + listHeader->freedChunkCursor = offset - sizeof(int); } } else { // this list is not yet empty *metaData = listHeader->freedChunkCursor; - listHeader->freedChunkCursor = offset-sizeof(int); + listHeader->freedChunkCursor = offset - sizeof(int); } } @@ -229,8 +230,8 @@ */ int HbMultiSegmentAllocator::allocatedSize(int offset) { - int *metaData = (int*)((unsigned char*)(chunk->data())+offset-sizeof(int)); - ChunkListHeader *listHeader = (ChunkListHeader*)((unsigned char*)(chunk->data()) + *metaData); + int *metaData = address(offset - sizeof(int)); + ChunkListHeader *listHeader = address(*metaData); // not actual size in alloc(), but the size of chunk, where this data is stored return ChunkSizes[listHeader->chunkListIndex]; } @@ -241,12 +242,12 @@ */ void HbMultiSegmentAllocator::addList(int index, int offset) { - ChunkListHeader *newListHeader = (ChunkListHeader*)((unsigned char*)(chunk->data()) + offset); - ChunkListHeader *oldListHeader = (ChunkListHeader*)((unsigned char*)(chunk->data()) + header->offsetsToChunkLists[index]); + ChunkListHeader *newListHeader = address(offset); + ChunkListHeader *oldListHeader = address(header->offsetsToChunkLists[index]); // when this method is called, there will be at least one list, // so oldListHeader is valid and also all the lists are full newListHeader->allocatedChunks = 0; - newListHeader->allocCursor = offset+sizeof(ChunkListHeader); + newListHeader->allocCursor = offset + sizeof(ChunkListHeader); newListHeader->chunkListIndex = index; newListHeader->freedChunkCursor = -1; newListHeader->previousListOffset = -1; @@ -263,11 +264,12 @@ bool HbMultiSegmentAllocator::setFreeList(int index) { ChunkListHeader *listHeader; - listHeader = (ChunkListHeader*)((unsigned char*)(chunk->data()) + header->offsetsToChunkLists[index]); + listHeader = address(header->offsetsToChunkLists[index]); bool retVal = false; for (;;) { if (listHeader->allocatedChunks < CHUNKS_IN_ONE_LIST) { - int offset = (int)((char*)(listHeader)-(char*)(chunk->data())); + int offset = static_cast(reinterpret_cast(listHeader) + - reinterpret_cast(chunk->data())); header->offsetsToFreeChunkLists[index] = offset; retVal = true; break; @@ -275,9 +277,8 @@ if (listHeader->nextListOffset == -1) { break; } - listHeader = (ChunkListHeader*)((unsigned char*)(chunk->data()) + listHeader->nextListOffset); + listHeader = address(listHeader->nextListOffset); } - return retVal; } @@ -285,7 +286,8 @@ void HbMultiSegmentAllocator::writeReport(QTextStream &reportWriter) { reportWriter << "***** (Sub)HbMultiSegmentAllocator report *****\n\n"; - reportWriter << SPACE_NEEDED_FOR_MULTISEGMENT_ALLOCATOR << " bytes allocated for internal bookkeeping\n"; + reportWriter << SPACE_NEEDED_FOR_MULTISEGMENT_ALLOCATOR + << " bytes allocated for internal bookkeeping\n"; reportWriter << AMOUNT_OF_DIFFERENT_CHUNK_SIZES << " different chunk sizes ("; for (int i = 0; i < AMOUNT_OF_DIFFERENT_CHUNK_SIZES-1; i++) { reportWriter << ChunkSizes[i] << ", "; @@ -301,36 +303,47 @@ int allocations = 0; int listCount = 0; ChunkListHeader *listHeader; - listHeader = (ChunkListHeader*)((unsigned char*)(chunk->data()) + header->offsetsToChunkLists[i]); + listHeader = address(header->offsetsToChunkLists[i]); for (;;) { allocations += listHeader->allocatedChunks; listCount++; if (listHeader->nextListOffset != -1) { - listHeader = (ChunkListHeader*)((unsigned char*)(chunk->data()) + listHeader->nextListOffset); + listHeader = address(listHeader->nextListOffset); } else { break; } } - reportWriter << "for chunk size " << ChunkSizes[i] << ", " << listCount << " list(s) used\n"; + reportWriter << "for chunk size " << ChunkSizes[i] << ", " + << listCount << " list(s) used\n"; reportWriter << "and in these lists " << allocations << " chunks are allocated\n"; - int totalSize = listCount * (sizeof(ChunkListHeader) + (sizeof(int)+ChunkSizes[i])*CHUNKS_IN_ONE_LIST); + int totalSize = listCount * (sizeof(ChunkListHeader) + (sizeof(int) + ChunkSizes[i]) + * CHUNKS_IN_ONE_LIST); totalMemoryReserved += totalSize; - reportWriter << "Total size reserved from shared chunk for these list(s): " << totalSize << " bytes\n"; - int bookKeeping = listCount * (sizeof(ChunkListHeader) + sizeof(int)*CHUNKS_IN_ONE_LIST); + reportWriter << "Total size reserved from shared chunk for these list(s): " + << totalSize << " bytes\n"; + int bookKeeping = listCount * (sizeof(ChunkListHeader) + sizeof(int) * CHUNKS_IN_ONE_LIST); totalBookkeepingMemory += bookKeeping; reportWriter << " - bytes used for bookkeeping: " << bookKeeping << "\n"; - reportWriter << " - actual allocated bytes (in chunks, not in actual data, which might be less than chunk size): " << allocations*ChunkSizes[i] << "\n\n"; + reportWriter << " - actual allocated bytes (in chunks, not in actual data, which might be less than chunk size): " + << allocations * ChunkSizes[i] << "\n\n"; totalAllocatedMemory += allocations*ChunkSizes[i]; } reportWriter << "*** HbMultiSegmentAllocator summary ***\n"; - reportWriter << "Total memory reserved from shared chunk: " << totalMemoryReserved << " bytes\n"; + reportWriter << "Total memory reserved from shared chunk: " + << totalMemoryReserved << " bytes\n"; reportWriter << " - internal bookkeeping uses " << totalBookkeepingMemory << " bytes\n"; - reportWriter << " - actual memory allocated by clients: " << totalAllocatedMemory << " bytes\n"; - int totalFragmentationPercent = (int)((float)(totalAllocatedMemory)/(float)(totalMemoryReserved)*100); - int usableFragmentationPercent = (int)((float)(totalAllocatedMemory)/(float)(totalMemoryReserved-totalBookkeepingMemory)*100); - reportWriter << "allocated memory / all memory reserved from shared chunk = " << totalFragmentationPercent << "%\n"; - reportWriter << "allocated memory / all usable memory for client data = " << usableFragmentationPercent << "%\n"; + reportWriter << " - actual memory allocated by clients: " + << totalAllocatedMemory << " bytes\n"; + int totalFragmentationPercent = int(float(totalAllocatedMemory) + / float(totalMemoryReserved) * 100); + int usableFragmentationPercent = int(float(totalAllocatedMemory) + / float(totalMemoryReserved - totalBookkeepingMemory) + * 100); + reportWriter << "allocated memory / all memory reserved from shared chunk = " + << totalFragmentationPercent << "%\n"; + reportWriter << "allocated memory / all usable memory for client data = " + << usableFragmentationPercent << "%\n"; } #endif diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbnamespace.cpp --- a/src/hbcore/core/hbnamespace.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbnamespace.cpp Thu May 27 13:10:59 2010 +0300 @@ -26,7 +26,7 @@ #include /*! - @beta + @stable @hbcore \namespace Hb \brief The Hb namespace contains miscellaneous identifiers used throughout the Hb library. @@ -574,4 +574,57 @@ Application was started by other means. */ +/*! + \enum Hb::BackgroundImageMode + Controls how the background image is drawn. +*/ + +/*! + \var Hb::BackgroundImageMode Hb::ScaleBackgroundToFit + + The background image is scaled to cover the entire available area. The + aspect ratio is kept (by expanding the size if needed). The image is + centered in the available area. + */ + +/*! + \var Hb::BackgroundImageMode Hb::ScaleBackgroundToFitWithoutExpanding + + The background image is scaled to cover most of the available area. The + aspect ratio is kept (without expanding) so the image may not occupy the + entire available area. The image is centered in the available area. + */ + +/*! + \var Hb::BackgroundImageMode Hb::StretchBackgroundToFit + + The background image is stretched to cover the entire available area. + */ + +/*! + \var Hb::BackgroundImageMode Hb::KeepOriginalBackgroundSize + + Keeps the original size of the image, no up or downscaling occurs. The image + is centered in the available area. + */ + +/*! + \var Hb::BackgroundImageMode Hb::KeepOriginalBackgroundSizeIfSmaller + + Keeps the original size of the image only when the size is smaller than the + available area (i.e. dynamically switches between Hb::ScaleBackgroundToFit + and Hb::KeepOriginalBackgroundSize depending on the size of the source + image). + */ + +/*! + \var Hb::BackgroundImageMode Hb::DoNotDrawBackground + + Does not draw the background, i.e. the paint() function of the background + item will not do anything when this mode is set. Use this only to + temporarily prevent the background from showing. If you need to hide the + background item permanently then pass Hb::WindowFlagNoBackground to the + HbMainWindow constructor because that is more efficient. +*/ + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbnamespace.h --- a/src/hbcore/core/hbnamespace.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbnamespace.h Thu May 27 13:10:59 2010 +0300 @@ -345,8 +345,18 @@ ActivationReasonService, ActivationReasonNormal }; - + + enum BackgroundImageMode { + ScaleBackgroundToFit = 0, + ScaleBackgroundToFitWithoutExpanding, + StretchBackgroundToFit, + KeepOriginalBackgroundSize, + KeepOriginalBackgroundSizeIfSmaller, + DoNotDrawBackground, + NBackgroundImageModes + }; }; + Q_DECLARE_METATYPE(Hb::GraphicsItemType) Q_DECLARE_OPERATORS_FOR_FLAGS(Hb::UiAttributes) @@ -360,4 +370,3 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(Hb::InteractionModifiers) #endif // HBNAMESPACE_H - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbsharedcache.cpp --- a/src/hbcore/core/hbsharedcache.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbsharedcache.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,7 +25,7 @@ #include -static QSystemSemaphore *Semaphore; +static QSystemSemaphore *Semaphore = 0; static QLatin1String SemaphoreName("hbsharedcache_semaphore"); @@ -57,7 +57,7 @@ // binary search while (begin <= end) { - int mid = begin + (end-begin)/2; + int mid = begin + (end - begin) / 2; // Fast string comparison, no unnecessary mem copy QLatin1String offsetName(reinterpret_cast(itemArray) + itemArray[mid].nameOffset); @@ -65,10 +65,7 @@ // If the item was found, we're done. if (!comparison) { return &itemArray[mid]; - } - - // Is the target in lower or upper half? - else if (comparison < 0) { + } else if (comparison < 0) { end = mid - 1; } else { begin = mid + 1; @@ -82,7 +79,11 @@ HbSharedCache *HbSharedCache::instance() { GET_MEMORY_MANAGER(HbMemoryManager::SharedMemory); - return static_cast(manager)->cache(); + HbSharedCache *ptr = 0; + if (manager) { + ptr = static_cast(manager)->cache(); + } + return ptr; } //doesn't check, if the item is already in the cache. @@ -175,6 +176,12 @@ { } +void HbSharedCache::freeResources() +{ + delete Semaphore; + Semaphore = 0; +} + void HbSharedCache::initServer() { mLayoutDefCache.reserve(20); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbsharedcache_p.h --- a/src/hbcore/core/hbsharedcache_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbsharedcache_p.h Thu May 27 13:10:59 2010 +0300 @@ -69,10 +69,12 @@ HbSharedCache(); void initServer(); void initClient(); + void freeResources(); HbVector &itemCache(ItemType type); const HbVector &itemCache(ItemType type) const; void addOffsetMap(const char *offsetMapData, int size, int offsetItemCount); friend class HbSharedMemoryManager; + friend class HbSharedMemoryManagerUt; private: friend bool writeCssBinary(const QStringList &, const QString &); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbsharedmemoryallocators_p.h --- a/src/hbcore/core/hbsharedmemoryallocators_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbsharedmemoryallocators_p.h Thu May 27 13:10:59 2010 +0300 @@ -27,8 +27,9 @@ #define HBSHAREDMEMORYALLOCATORS_P_H #include "hbthemecommon_p.h" +#include -#define ALIGN_SIZE 4 +static const int ALIGN_SIZE = 4; #define ALIGN(x) ((x + ALIGN_SIZE - 1) & ~(ALIGN_SIZE - 1)) // space for multisegment allocator bookkeeping - to be allocated from shared memory @@ -46,8 +47,6 @@ // max. amount of different chunk sizes in multisegment allocator static const int AMOUNT_OF_DIFFERENT_CHUNK_SIZES = 8; -class QSharedMemory; - class HB_CORE_PRIVATE_EXPORT HbSharedMemoryAllocator { public: @@ -122,6 +121,11 @@ void deleteLengthNode(unsigned int *root, TreeNode *node, bool splayed); void *toPointer(unsigned int offset) const; + template + inline T *address(int offset) + { + return reinterpret_cast(static_cast(chunk->data()) + offset); + } private: QSharedMemory *chunk; @@ -171,6 +175,11 @@ // helper methods void addList(int index, int offset); bool setFreeList(int index); + template + inline T *address(int offset) + { + return reinterpret_cast(static_cast(chunk->data()) + offset); + } private: QSharedMemory *chunk; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbsharedmemorymanager_p.cpp --- a/src/hbcore/core/hbsharedmemorymanager_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbsharedmemorymanager_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -71,9 +71,10 @@ // ToDo: improve server identification logic.. UID on symbian? const QString &appName = HbMemoryUtils::getCleanAppName(); bool binCSSConverterApp = (appName == BIN_CSS_APP || appName == BIN_CSS_APP_SYMBIAN); - if (appName == THEME_SERVER_NAME || binCSSConverterApp) { + // Testability support: allowing unit test to write to shared chunk also + if (appName == THEME_SERVER_NAME || appName == SHARED_MEMORY_MANAGER_UNIT_TEST || binCSSConverterApp) { // This is server, create shared memory chunk - success = chunk->create( CACHE_SIZE, QSharedMemory::ReadWrite ); + success = chunk->create(CACHE_SIZE, QSharedMemory::ReadWrite); // If sharedMemory already exists. // (This can happpen if ThemeServer crashed without releasing QSharedMemory) if (!success && QSharedMemory::AlreadyExists == chunk->error()) { @@ -82,7 +83,7 @@ writable = true; } else { // this is not server so just attach to shared memory chunk in ReadOnly mode - success = chunk->attach( QSharedMemory::ReadOnly ); + success = chunk->attach(QSharedMemory::ReadOnly); writable = false; } if ( !success ) { @@ -92,51 +93,51 @@ delete chunk; chunk = 0; } - if (success && isWritable()) { // if we are recovering from theme server crash, shared chunk may // already be ready - bool enableRecovery = true; + bool enableRecovery = false; if (binCSSConverterApp) { enableRecovery = false; } HbSharedChunkHeader *chunkHeader = static_cast(chunk->data()); + HbSharedCache *cachePtr = 0; if (enableRecovery && chunkHeader->identifier == INITIALIZED_CHUNK_IDENTIFIER) { // just reconnect allocators to the shared chunk mainAllocator->initialize(chunk, chunkHeader->mainAllocatorOffset); subAllocator->initialize(chunk, chunkHeader->subAllocatorOffset, mainAllocator); } else { // Load memory file in the beginning of the chunk first. - HbSharedCache *cachePtr = 0; int memoryFileSize = 0; chunkHeader->sharedCacheOffset = 0; +#ifdef Q_OS_SYMBIAN if (!binCSSConverterApp) { -#ifdef Q_OS_SYMBIAN QString memoryFile("z:/resource/hb/themes/css.bin"); memoryFileSize = loadMemoryFile(memoryFile); -#endif } - +#endif // Put main allocator after the memory file or if memory file was not loaded, after chunk header. - chunkHeader->mainAllocatorOffset = memoryFileSize ? ALIGN(memoryFileSize) : sizeof(HbSharedChunkHeader); + chunkHeader->mainAllocatorOffset = memoryFileSize ? ALIGN(memoryFileSize) + : sizeof(HbSharedChunkHeader); mainAllocator->initialize(chunk, chunkHeader->mainAllocatorOffset); chunkHeader->subAllocatorOffset = alloc(SPACE_NEEDED_FOR_MULTISEGMENT_ALLOCATOR); subAllocator->initialize(chunk, chunkHeader->subAllocatorOffset, mainAllocator); chunkHeader->identifier = INITIALIZED_CHUNK_IDENTIFIER; if (!binCSSConverterApp) { - if (memoryFileSize > 0) { - cachePtr = cache(); - } else { + if (memoryFileSize == 0) { cachePtr = createSharedCache(0, 0, 0); } - - if (cachePtr) { - cachePtr->initServer(); - } } } + if (!cachePtr) { + cachePtr = cache(); + } + if (cachePtr && !binCSSConverterApp) { + cachePtr->initServer(); + } + success = true; } else { HbSharedCache *cachePtr = cache(); @@ -199,7 +200,7 @@ if (allocations.contains(size)) { allocations[size].first++; } else { - allocations.insert(size, QPair(1,0)); + allocations.insert(size, QPair(1,0)); } #else // normal alloc without reporting @@ -221,11 +222,11 @@ #endif // HB_THEME_SERVER_MEMORY_REPORT #ifdef HB_THEME_SERVER_FULL_MEMORY_REPORT - fullAllocationHistory.append(QPair(size | allocIdentifier, offset)); + fullAllocationHistory.append(QPair(size | allocIdentifier, offset)); #endif #ifdef HB_BIN_CSS - HbCssConverterUtils::cellAllocated(offset, size); + HbCssConverterUtils::cellAllocated(offset, size); #endif return offset; } else { @@ -241,7 +242,7 @@ { // don't do anything when freeing NULL (pointer)offset if (isWritable() && (offset > 0)) { - int metaData = *(int*)((unsigned char*)(base())+offset-sizeof(int)); + int metaData = *address(offset - sizeof(int)); #ifdef HB_THEME_SERVER_MEMORY_REPORT int size = 0; if (metaData & MAIN_ALLOCATOR_IDENTIFIER) { @@ -257,13 +258,12 @@ fullAllocationHistory.append(QPair(size | freeIdentifier, offset)); #endif -#endif +#endif //HB_THEME_SERVER_MEMORY_REPORT if (metaData & MAIN_ALLOCATOR_IDENTIFIER) { mainAllocator->free(offset); } else { subAllocator->free(offset); } - #ifdef HB_BIN_CSS HbCssConverterUtils::cellFreed(offset); #endif @@ -281,7 +281,7 @@ if (isWritable()) { #ifdef HB_THEME_SERVER_FULL_MEMORY_REPORT if (offset > 0) { // if offset == -1, just do normal alloc and not report realloc - fullAllocationHistory.append(QPair(newSize | reallocIdentifier, offset)); + fullAllocationHistory.append(QPair(newSize | reallocIdentifier, offset)); } #endif newOffset = alloc(newSize); @@ -290,11 +290,11 @@ #ifdef HB_BIN_CSS HbCssConverterUtils::cellMoved(offset, newOffset); #endif - unsigned char *scrPtr = (unsigned char*)(base())+offset; - int metaData = *(int*)((unsigned char*)(base())+offset-sizeof(int)); + unsigned char *scrPtr = address(offset); + int metaData = *address(offset - sizeof(int)); if (metaData & MAIN_ALLOCATOR_IDENTIFIER) { int oldSize = mainAllocator->allocatedSize(offset); - memcpy((unsigned char*)(base())+newOffset, scrPtr, qMin(oldSize, allocatedSize)); + memcpy(address(newOffset), scrPtr, qMin(oldSize, allocatedSize)); #ifdef HB_THEME_SERVER_MEMORY_REPORT free(offset); #else @@ -302,14 +302,13 @@ #endif } else { int oldSize = subAllocator->allocatedSize(offset); - memcpy((unsigned char*)(base())+newOffset, scrPtr, qMin(oldSize, allocatedSize)); + memcpy(address(newOffset), scrPtr, qMin(oldSize, allocatedSize)); #ifdef HB_THEME_SERVER_MEMORY_REPORT free(offset); #else subAllocator->free(offset); #endif } - #if HB_BIN_CSS // Does not matter if already called when calling free() above. HbCssConverterUtils::cellFreed(offset); @@ -328,7 +327,7 @@ */ void *HbSharedMemoryManager::base() { - return chunk->data(); + return chunk->data(); } /** @@ -368,7 +367,7 @@ } if (sharedCacheOffset >= 0) { - cache = new (static_cast(base()) + sharedCacheOffset) HbSharedCache(); + cache = new (address(sharedCacheOffset)) HbSharedCache(); cache->addOffsetMap(offsetMapData, size, offsetItemCount); chunkHeader->sharedCacheOffset = sharedCacheOffset; } @@ -378,15 +377,20 @@ int HbSharedMemoryManager::size() { if(mainAllocator) { - return (dynamic_cast(mainAllocator))->size(); + return (static_cast(mainAllocator))->size(); } return -1; } HbSharedCache *HbSharedMemoryManager::cache() { - const HbSharedChunkHeader *chunkHeader = static_cast(chunk->data()); - return reinterpret_cast((char*)base() + chunkHeader->sharedCacheOffset); + HbSharedCache *cachePtr = 0; + if (chunk) { + const HbSharedChunkHeader *chunkHeader = + static_cast(chunk->data()); + cachePtr = address(chunkHeader->sharedCacheOffset); + } + return cachePtr; } /** @@ -397,6 +401,14 @@ #ifdef HB_THEME_SERVER_MEMORY_REPORT allocations.clear(); #endif + if (chunk) { + const HbSharedChunkHeader *chunkHeader = + static_cast(chunk->data()); + if (chunkHeader->sharedCacheOffset > 0) { + HbSharedCache *cachePtr = address(chunkHeader->sharedCacheOffset); + cachePtr->freeResources(); + } + } delete subAllocator; delete mainAllocator; delete chunk; @@ -410,7 +422,9 @@ if (!memManager) { memManager = new HbSharedMemoryManager(); if (!memManager->initialize()) { +#ifdef THEME_SERVER_TRACES qWarning( "HbSharedMemoryManager:Could not initialize shared memory" ); +#endif delete memManager; memManager = 0; } @@ -427,7 +441,6 @@ memManager = 0; } - /** * gets the free memory reported by main allocator */ @@ -461,13 +474,14 @@ loadedSize = (int)fileSize; } #ifdef CSSBIN_TRACES - qDebug() << "Loading memory file status: " << (ok ? "no error" : file.errorString()); + qDebug() << "Loading memory file status: " << (loadedSize > 0 ? "no error" : file.errorString()); #endif return loadedSize; } #ifdef HB_THEME_SERVER_MEMORY_REPORT -bool pairGreaterThan(const QPair > &p1, const QPair > &p2) +bool pairGreaterThan(const QPair > &p1, + const QPair > &p2) { return p1.first > p2.first; } @@ -511,10 +525,11 @@ reportWriter << "********************************************************************************\n\n"; // list for sorting allocations and frees - QList > > valueList; - QMap >::const_iterator i; // size, + QList > > valueList; + QMap >::const_iterator i; // size, for (i = allocations.constBegin(); i != allocations.constEnd(); ++i) { - valueList.append(QPair >(i.value().first, QPair(i.key(), i.value().second))); + valueList.append(QPair > + (i.value().first, QPair(i.key(), i.value().second))); } qSort(valueList.begin(), valueList.end(), pairGreaterThan); @@ -523,29 +538,35 @@ reportWriter << "times allocated - times released - size\n"; int count = 0; for (int i = 0; i < valueList.size(); i++) { - if (count > 30) break; // only report top 30 sizes - reportWriter << valueList.at(i).first << " - " << valueList.at(i).second.second << " - " << valueList.at(i).second.first << "\n"; + if (count > 30) { + break; // only report top 30 sizes + } + reportWriter << valueList.at(i).first << " - " + << valueList.at(i).second.second << " - " + << valueList.at(i).second.first << "\n"; count++; } reportWriter << "\n"; valueList.clear(); for (i = allocations.constBegin(); i != allocations.constEnd(); ++i) { - valueList.append(QPair >(i.key(), QPair(i.value().first, i.value().second))); + valueList.append(QPair > + (i.key(), QPair(i.value().first, i.value().second))); } qSort(valueList.begin(), valueList.end(), pairGreaterThan); reportWriter << "Top 30 allocated sizes:\n"; reportWriter << "size - times allocated - times released\n"; count = 0; for (int i = 0; i < valueList.size(); i++) { - if (count > 30) break; // only report top 30 sizes - reportWriter << valueList.at(i).first << " - " << valueList.at(i).second.first << " - " << valueList.at(i).second.second << "\n"; + if (count > 30) { + break; // only report top 30 sizes + } + reportWriter << valueList.at(i).first << " - " << valueList.at(i).second.first << " - " + << valueList.at(i).second.second << "\n"; count++; } reportWriter << "\n"; - - mainAllocator->writeReport(reportWriter); #ifdef USE_SUBALLOCATOR subAllocator->writeReport(reportWriter); @@ -565,14 +586,16 @@ reportWriter << "freed " << size << " bytes from offset " << offset << "\n"; break; case reallocIdentifier: - reportWriter << "reallocation from offset " << offset << " with " << size << " bytes" << "\n"; + reportWriter << "reallocation from offset " << offset << " with " + << size << " bytes" << "\n"; i++; if (i <= fullAllocationHistory.size()) { size = fullAllocationHistory.at(i).first & 0x3FFFFFFF; identifier = fullAllocationHistory.at(i).first & 0xC0000000; offset = fullAllocationHistory.at(i).second; if (identifier == allocIdentifier) { // should come right after realloc - reportWriter << " from realloc: allocated " << size << " bytes from offset " << offset << "\n"; + reportWriter << " from realloc: allocated " << size + << " bytes from offset " << offset << "\n"; } else { reportWriter << "ERROR: no alloc after realloc! How is this possible?\n"; } @@ -583,7 +606,8 @@ identifier = fullAllocationHistory.at(i).first & 0xC0000000; offset = fullAllocationHistory.at(i).second; if (identifier == freeIdentifier) { // should come right after realloc and alloc - reportWriter << " from realloc: freed " << size << " bytes from offset " << offset << "\n"; + reportWriter << " from realloc: freed " << size + << " bytes from offset " << offset << "\n"; } else { reportWriter << "ERROR: no free after realloc and alloc! How is this possible?\n"; } @@ -592,7 +616,6 @@ default: break; } - } #endif file.close(); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbsharedmemorymanager_p.h --- a/src/hbcore/core/hbsharedmemorymanager_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbsharedmemorymanager_p.h Thu May 27 13:10:59 2010 +0300 @@ -77,6 +77,11 @@ private: bool initialize(); int loadMemoryFile(const QString &filePath); + template + inline T *address(int offset) + { + return reinterpret_cast(static_cast(base()) + offset); + } protected: bool writable; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbsharedmemorymanagerut_p.cpp --- a/src/hbcore/core/hbsharedmemorymanagerut_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbsharedmemorymanagerut_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -28,8 +28,8 @@ #include #include - #include "hbthemecommon_p.h" +#include "hbsharedcache_p.h" #define HB_THEME_SHARED_AUTOTEST_CHUNK "hbthemesharedautotest" @@ -74,6 +74,17 @@ chunkHeader->subAllocatorOffset = alloc(SPACE_NEEDED_FOR_MULTISEGMENT_ALLOCATOR); subAllocator->initialize(chunk, chunkHeader->subAllocatorOffset, mainAllocator); chunkHeader->identifier = INITIALIZED_CHUNK_IDENTIFIER; + + // Create empty shared cache for unit test purposes + HbSharedCache *cachePtr = createSharedCache(0, 0, 0); + if (cachePtr) { + const QString &appName = HbMemoryUtils::getCleanAppName(); + if (appName == THEME_SERVER_NAME) { + cachePtr->initServer(); + } else { + cachePtr->initClient(); + } + } } success = true; } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbsmartoffset_p.h --- a/src/hbcore/core/hbsmartoffset_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbsmartoffset_p.h Thu May 27 13:10:59 2010 +0300 @@ -33,7 +33,7 @@ class HB_CORE_PRIVATE_EXPORT HbSmartOffset { public: - HbSmartOffset(int offset = -1, HbMemoryManager::MemoryType type = HbMemoryManager::HeapMemory) + explicit HbSmartOffset(int offset = -1, HbMemoryManager::MemoryType type = HbMemoryManager::HeapMemory) :mOffset(offset), mType(type) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbsplaytreeallocator_p.cpp --- a/src/hbcore/core/hbsplaytreeallocator_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbsplaytreeallocator_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -28,11 +28,11 @@ #include #include -#define TO_PTR(x) ((char*)(toPointer(x))) -#define TO_NODE_POINTER(x) ((TreeNode*)(toPointer(x))) -#define TO_BLOCK_POINTER(x) ((MemoryBlock*)(toPointer(x))) -#define TO_NODE_OFFSET(x) ((int)((char*)(x)-(char*)(chunk->data()))) -#define TO_OFFSET(x) ((int)((char*)(x)-(char*)(chunk->data()))) +#define TO_PTR(x) ((char *)(toPointer(x))) +#define TO_NODE_POINTER(x) ((TreeNode *)(toPointer(x))) +#define TO_BLOCK_POINTER(x) ((MemoryBlock *)(toPointer(x))) +#define TO_NODE_OFFSET(x) ((int)((char *)(x)-(char *)(chunk->data()))) +#define TO_OFFSET(x) ((int)((char *)(x)-(char *)(chunk->data()))) // this identifier is used to check, if the splay tree is already // initialized in given shared chunk @@ -52,19 +52,19 @@ chunk = sharedChunk; this->offset = offset; - header = (HeapHeader*)(static_cast(chunk->data()) + offset); + header = address(offset); if (header->identifier == INITIALIZED_ALLOCATOR_IDENTIFIER) { return; // already initialized } memset(header, 0, sizeof(HeapHeader)); - header->freeBytes = chunk->size()-offset-sizeof(HeapHeader)-sizeof(MemoryBlock); + header->freeBytes = chunk->size() - offset - sizeof(HeapHeader) - sizeof(MemoryBlock); // insert first memory block in chunk - MemoryBlock *block = (MemoryBlock*)&header[1]; + MemoryBlock *block = reinterpret_cast(&header[1]); block->pointerNode.key = TO_OFFSET(block); - block->lengthNode.key = (unsigned int)header->freeBytes; + block->lengthNode.key = static_cast(header->freeBytes); insertLengthNode(&header->lengthNode, &block->lengthNode); insertNode(&header->pointerNode, &block->pointerNode); @@ -94,7 +94,7 @@ void *HbSplayTreeAllocator::toPointer(unsigned int offset) const { if (offset >= sizeof(HeapHeader)) { - unsigned char *base = (unsigned char*)(chunk->data()); + unsigned char *base = static_cast(chunk->data()); return (&base[offset]); } return 0; @@ -115,15 +115,15 @@ size = ALIGN(size); - if (size > (int)(header->freeBytes-sizeof(MemoryBlock))) { + if (size > int(header->freeBytes - sizeof(MemoryBlock))) { throw std::bad_alloc(); } // splay the 'length' tree to obtain the best match - TreeNode *node = TO_NODE_POINTER(splay(&header->lengthNode, (unsigned int)size)); + TreeNode *node = TO_NODE_POINTER(splay(&header->lengthNode, static_cast(size))); bool splayed = true; - if (node && (node->key < (unsigned int)size)) { + if (node && (node->key < static_cast(size))) { splayed = false; node = TO_NODE_POINTER(node->rightNode); if (node) { @@ -140,10 +140,10 @@ // 'length' node is the first attribute of the MemoryBlock, therefore every // 'length' node is also a MemoryBlock. - MemoryBlock *block = (MemoryBlock*)node; + MemoryBlock *block = reinterpret_cast(node); int totalSize = size + sizeof(MemoryBlock); - int remainingSize = (int)node->key - totalSize; - unsigned char *ptr = (unsigned char*)&block[1]; + int remainingSize = int(node->key) - totalSize; + unsigned char *ptr = reinterpret_cast(&block[1]); // Remove current block from the trees deleteLengthNode(&header->lengthNode, node, splayed); @@ -151,18 +151,20 @@ // If the block is larger than the requested size, split the block and // insert the second block into the trees - MemoryBlock *secondBlock = (MemoryBlock*)&ptr[size]; - if ((remainingSize >= (int)(ALIGN_SIZE)) && ((unsigned char*)secondBlock < ((unsigned char*)(chunk->data())+chunk->size()-sizeof(MemoryBlock)))) { + MemoryBlock *secondBlock = reinterpret_cast(&ptr[size]); + if (remainingSize >= ALIGN_SIZE + && reinterpret_cast(secondBlock) + < address(chunk->size() - sizeof(MemoryBlock))) { - block->lengthNode.key = (unsigned int)size; - secondBlock->lengthNode.key = (unsigned int)remainingSize; + block->lengthNode.key = static_cast(size); + secondBlock->lengthNode.key = static_cast(remainingSize); secondBlock->pointerNode.key = TO_NODE_OFFSET(secondBlock); // Insert the second block into the trees insertLengthNode(&header->lengthNode, &secondBlock->lengthNode); insertNode(&header->pointerNode, &secondBlock->pointerNode); } else { - totalSize = (int)node->key; + totalSize = int(node->key); } // Adjust the allocation size @@ -178,7 +180,7 @@ block->prev = 0; block->allocatorIdentifier = MAIN_ALLOCATOR_IDENTIFIER; - return TO_OFFSET(ptr); + return TO_OFFSET(ptr); } /** @@ -191,9 +193,9 @@ { int size = 0; if (offset > 0) { - char *srcPtr = TO_PTR(offset); - MemoryBlock *block = (MemoryBlock*)(srcPtr - sizeof(MemoryBlock)); - size = block->lengthNode.key; + char *srcPtr = TO_PTR(offset); + MemoryBlock *block = reinterpret_cast(srcPtr - sizeof(MemoryBlock)); + size = block->lengthNode.key; } return size; } @@ -211,7 +213,7 @@ } MemoryBlock *block = TO_BLOCK_POINTER(offset - sizeof(MemoryBlock)); - MemoryBlock *nextBlock = (MemoryBlock*)((unsigned char*)&block[1] + block->lengthNode.key); + MemoryBlock *nextBlock = reinterpret_cast(reinterpret_cast(&block[1]) + block->lengthNode.key); // Adjust the free bytes header->freeBytes += block->lengthNode.key; @@ -219,12 +221,13 @@ TreeNode *node = 0; unsigned int predecessor = 0; - if ((char*)nextBlock > (char*)chunk->data() && (char*)nextBlock < ((char*)chunk->data()+chunk->size())) { + if (reinterpret_cast(nextBlock) > reinterpret_cast(chunk->data()) + && reinterpret_cast(nextBlock) < address(chunk->size())) { node = TO_NODE_POINTER(splay(&header->pointerNode, nextBlock->pointerNode.key)); } if (node) { - // Find previous block + // Find previous block if (node->key < nextBlock->pointerNode.key) { predecessor = TO_NODE_OFFSET(node); } else if ((predecessor = node->leftNode) > 0) { @@ -248,7 +251,8 @@ // See if the block can be merged with the predecessor if (predecessor) { MemoryBlock *b = TO_BLOCK_POINTER(TO_NODE_POINTER(predecessor)->key); - MemoryBlock *t = (MemoryBlock*)((unsigned char*)&b[1] + b->lengthNode.key); + MemoryBlock *t = reinterpret_cast( + reinterpret_cast(&b[1]) + b->lengthNode.key); // Merge with the predecessor if (t->pointerNode.key == block->pointerNode.key) { @@ -256,13 +260,12 @@ deleteLengthNode(&header->lengthNode, &b->lengthNode, false); // Adjust the size - b->lengthNode.key += (block->lengthNode.key + sizeof(MemoryBlock)); - header->freeBytes += (int)sizeof(MemoryBlock); - header->allocatedBytes -= (int)sizeof(MemoryBlock); + b->lengthNode.key += block->lengthNode.key + sizeof(MemoryBlock); + header->freeBytes += sizeof(MemoryBlock); + header->allocatedBytes -= sizeof(MemoryBlock); // Re-insert the node in 'length' tree insertLengthNode(&header->lengthNode, &b->lengthNode); - block = 0; // We don't have to insert the node } } @@ -419,7 +422,7 @@ */ void HbSplayTreeAllocator::deleteLengthNode(unsigned int *root, TreeNode *node, bool splayed) { - MemoryBlock *block = (MemoryBlock*)node; + MemoryBlock *block = reinterpret_cast(node); // If the node is not the first node in the linked list, // simply de-link node from the linked list. @@ -446,7 +449,7 @@ t->lengthNode.leftNode = TO_NODE_POINTER(x)->leftNode; t->lengthNode.rightNode = TO_NODE_POINTER(x)->rightNode; t->prev = 0; - *root = (unsigned int)block->next; + *root = static_cast(block->next); } } else { deleteNode(root, node, false); @@ -465,13 +468,13 @@ // Length TreeNode is the first entry in the MemoryBlock. Therefore, // we can safely typecast TreeNode to a MemoryBlock. MemoryBlock *t = TO_BLOCK_POINTER(splay(root, node->key)); - MemoryBlock *p = (MemoryBlock*)node; + MemoryBlock *p = reinterpret_cast(node); if (!t || (t->lengthNode.key != node->key)) { // Insert into the tree p->prev = 0; p->next = 0; - insertNode(root, node, (TreeNode*)t); + insertNode(root, node, reinterpret_cast(t)); } else { // Link to the existing tree node p->next = t->next; @@ -492,18 +495,19 @@ int HbSplayTreeAllocator::size() { // splay the 'pointer' tree to obtain last pointer - TreeNode *node = TO_NODE_POINTER(splay(&header->pointerNode, (unsigned int)((char*)chunk->data()+chunk->size()))); + TreeNode *node = TO_NODE_POINTER(splay(&header->pointerNode, + reinterpret_cast(address(chunk->size())))); if (node) { TreeNode *right = TO_NODE_POINTER(node->rightNode); if (right) { node = right; } - MemoryBlock *block = reinterpret_cast(reinterpret_cast(node) - sizeof(TreeNode)); - int lastUsedOffset = TO_OFFSET(block)+sizeof(MemoryBlock)-1; // this is not aligned to 4!!! but actual last byte allocated - return lastUsedOffset; + MemoryBlock *block = reinterpret_cast(reinterpret_cast(node) + - sizeof(TreeNode)); + return TO_OFFSET(block) + sizeof(MemoryBlock) - 1; // not aligned, but actual last byte allocated.; } - return -1; // couldn't found last used offset + return -1; } int HbSplayTreeAllocator::freeBytes() @@ -520,9 +524,9 @@ void HbSplayTreeAllocator::writeReport(QTextStream &reportWriter) { reportWriter << "***** (Main)HbSplayTreeAllocator report *****\n\n"; - reportWriter << "Allocated memory (including memory allocated by multisegment allocator): " << header->allocatedBytes << " bytes\n"; + reportWriter << "Allocated memory (including memory allocated by multisegment allocator): " + << header->allocatedBytes << " bytes\n"; reportWriter << "Free memory: " << header->freeBytes << " bytes\n"; reportWriter << "Splaytree allocator is best fit allocator, so there is really no point to calculate fragmentation\n\n"; - } #endif diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbstandarddirs.cpp --- a/src/hbcore/core/hbstandarddirs.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbstandarddirs.cpp Thu May 27 13:10:59 2010 +0300 @@ -36,7 +36,7 @@ #include // Standard theme root dirs -const char *coreResourcesRootDir = ":"; +const char *CoreResourcesRootDir = ":"; // Private API // WARNING: This API is at prototype level and shouldn't be used before @@ -221,37 +221,23 @@ #endif // Add core resource dir as well - rootPathList << coreResourcesRootDir; -} - -int HbStandardDirsInstance::fileSize( QByteArray fileName ) -{ - struct stat fileStat; - const char *fname = fileName.data(); - int err = stat( fname, &fileStat ); - if (0 != err) return 0; - return fileStat.st_size; + rootPathList << CoreResourcesRootDir; } QStringList HbStandardDirsInstance::additionalRootPath() { + static QStringList rootpaths; + if (!rootpaths.isEmpty()) return rootpaths; QFile rootPathFile(rootPathsFile); - static QStringList rootpaths; - - QByteArray filePath = rootPathsFile.toLatin1().constData(); - int size = fileSize(filePath); - - if(size > 0) { - if (rootPathFile.open(QIODevice::ReadOnly | QIODevice::Text)) { - QTextStream in(&rootPathFile); - rootpaths.clear(); - while (!in.atEnd()) { - QString line = in.readLine(); - QDir rootdir(line); - if (rootdir.exists()) { - rootpaths.append(line); - } - } + if (rootPathFile.open(QIODevice::ReadOnly | QIODevice::Text)) { + QTextStream in(&rootPathFile); + rootpaths.clear(); + while (!in.atEnd()) { + QString line = in.readLine(); + QDir rootdir(line); + if (rootdir.exists()) { + rootpaths.append(line); + } } } return rootpaths; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbstandarddirs_p.h --- a/src/hbcore/core/hbstandarddirs_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbstandarddirs_p.h Thu May 27 13:10:59 2010 +0300 @@ -36,13 +36,14 @@ #elif defined(Q_OS_SYMBIAN) const QString rootPathsFile = "c:/data/theme/themerootsdir.txt"; #elif defined(Q_OS_MAC) -const QString rootPathsFile = QDir::homePath() + QString( "Library/UI Extensions for Mobile/themes/themerootsdir.txt" ); +const QString rootPathsFile = + QDir::homePath() + QString("Library/UI Extensions for Mobile/themes/themerootsdir.txt"); #elif defined(Q_OS_UNIX) const QString rootPathsFile = "/usr/local/hb/theme/themerootsdir.txt"; #endif // Standard theme root dirs -extern const char *coreResourcesRootDir; +extern const char *CoreResourcesRootDir; // WARNING: This API is at prototype level and shouldn't be used before // the resource fetching with theming is fully implemented class HbStandardDirs diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbstring_p.cpp --- a/src/hbcore/core/hbstring_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbstring_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -364,7 +364,7 @@ if(ptr) return QString(ptr, data->mLength); else { - // TODO: this should return QString() but currently it causes wierd behaviour. + // TODO: this should return QString() but currently it causes weird behaviour. // Seems some clients assume it returns "". return QString(""); } @@ -469,7 +469,7 @@ } HbStringData* data = getStringData(mMemoryType, mDataOffset, mShared); - HbStringData* otherData = getStringData(other.mMemoryType, other.mDataOffset, other.mShared);; + HbStringData* otherData = getStringData(other.mMemoryType, other.mDataOffset, other.mShared); if (data->mLength != otherData->mLength) { return false; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbstringdata_p.h --- a/src/hbcore/core/hbstringdata_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbstringdata_p.h Thu May 27 13:10:59 2010 +0300 @@ -32,11 +32,12 @@ template T * getAddress(HbMemoryManager::MemoryType type, int offset, bool shared) { - T * data = 0; - if( shared == true ) - data = HbMemoryUtils::getAddress( HbMemoryManager::SharedMemory, offset ); - else - data = HbMemoryUtils::getAddress( type, offset ); + T *data = 0; + if( shared == true ) { + data = HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, offset); + } else { + data = HbMemoryUtils::getAddress(type, offset); + } return data; } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbstringvector_p.h --- a/src/hbcore/core/hbstringvector_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbstringvector_p.h Thu May 27 13:10:59 2010 +0300 @@ -34,7 +34,7 @@ class HB_CORE_PRIVATE_EXPORT HbStringVector : public HbVector { public: - HbStringVector( HbMemoryManager::MemoryType memoryType ): HbVector( memoryType ) + HbStringVector( HbMemoryManager::MemoryType memoryType ): HbVector(memoryType) { } @@ -46,6 +46,7 @@ if ( QString(*iter).compare(str, cs) == 0 ) { return true; } + iter++; } return false; } @@ -64,8 +65,7 @@ } ++index; } - } - else{ + } else { return true; } return ( index != this->size() ); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbthemeindex.cpp --- a/src/hbcore/core/hbthemeindex.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbthemeindex.cpp Thu May 27 13:10:59 2010 +0300 @@ -23,8 +23,8 @@ ** ****************************************************************************/ +#include "hbthemeindex_p.h" #include -#include "hbthemeindex_p.h" #ifndef HB_BOOTSTRAPPED #include "hbthemeclient_p.h" #include "hbinstance.h" @@ -44,7 +44,7 @@ { #ifndef HB_BOOTSTRAPPED #ifdef THEME_INDEX_TRACES - qDebug() << "HbThemeIndexResource::getResourceData(: get item for" << resourceName.toUtf8(); + qDebug() << "HbThemeIndexResource::getResourceData(), resourceName: " << resourceName; #endif // Theme index tables are always valid in shared memory @@ -87,8 +87,9 @@ // Base wasn't locked, next check operator theme in C-drive info = HbThemeUtils::getThemeIndexInfo(OperatorC); if (info.themeIndexOffset > 0) { - const char *operatorCAddress = HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, - info.themeIndexOffset); + const char *operatorCAddress = + HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, + info.themeIndexOffset); HbThemeIndex operatorCIndex(operatorCAddress); const HbThemeIndexItemData *operatorCItemData = operatorCIndex.getItemData(resourceName); @@ -104,8 +105,9 @@ // Not found from operator theme in C-drive, next check operator theme in ROM info = HbThemeUtils::getThemeIndexInfo(OperatorROM); if (info.themeIndexOffset > 0) { - const char *operatorZAddress = HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, - info.themeIndexOffset); + const char *operatorZAddress = + HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, + info.themeIndexOffset); HbThemeIndex operatorZIndex(operatorZAddress); const HbThemeIndexItemData *operatorZItemData = operatorZIndex.getItemData(resourceName); @@ -121,10 +123,12 @@ // Not found from operator themes, try active theme info = HbThemeUtils::getThemeIndexInfo(ActiveTheme); if (info.themeIndexOffset > 0) { - const char *activeThemeAddress = HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, - info.themeIndexOffset); + const char *activeThemeAddress = + HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, + info.themeIndexOffset); HbThemeIndex activeThemeIndex(activeThemeAddress); - const HbThemeIndexItemData *activeThemeItemData = activeThemeIndex.getItemData(resourceName); + const HbThemeIndexItemData *activeThemeItemData = + activeThemeIndex.getItemData(resourceName); if (activeThemeItemData) { // Found, use it type = ActiveTheme; @@ -244,12 +248,12 @@ } case HbThemeIndexItemData::AxmlItem: { - fullName = fullName + "/animations/" + themeName + "/" + resourceName; + fullName = fullName + "/animations/" + themeName + '/' + resourceName; break; } case HbThemeIndexItemData::FxmlItem: { - fullName = fullName + "/effects/" + themeName + "/" + resourceName; + fullName = fullName + "/effects/" + themeName + '/' + resourceName; break; } default: @@ -271,47 +275,56 @@ switch (data->mirroredItemType) { case HbThemeIndexItemData::SvgItem: { - fullName = fullName + "/icons/" + themeName + "/scalable/mirrored/" + resourceName + ".svg"; + fullName = fullName + "/icons/" + themeName + "/scalable/mirrored/" + + resourceName + ".svg"; break; } case HbThemeIndexItemData::PngItem: { - fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + resourceName + ".png"; + fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + + resourceName + ".png"; break; } case HbThemeIndexItemData::MngItem: { - fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + resourceName + ".mng"; + fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + + resourceName + ".mng"; break; } case HbThemeIndexItemData::GifItem: { - fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + resourceName + ".gif"; + fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + + resourceName + ".gif"; break; } case HbThemeIndexItemData::XpmItem: { - fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + resourceName + ".xpm"; + fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + + resourceName + ".xpm"; break; } case HbThemeIndexItemData::JpgItem: { - fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + resourceName + ".jpg"; + fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + + resourceName + ".jpg"; break; } case HbThemeIndexItemData::NvgItem: { - fullName = fullName + "/icons/" + themeName + "/scalable/mirrored/" + resourceName + ".nvg"; + fullName = fullName + "/icons/" + themeName + "/scalable/mirrored/" + + resourceName + ".nvg"; break; } case HbThemeIndexItemData::SvgzItem: { - fullName = fullName + "/icons/" + themeName + "/scalable/mirrored/" + resourceName + ".svgz"; + fullName = fullName + "/icons/" + themeName + "/scalable/mirrored/" + + resourceName + ".svgz"; break; } case HbThemeIndexItemData::QpicItem: { - fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + resourceName + ".qpic"; + fullName = fullName + "/icons/" + themeName + "/pixmap/mirrored/" + + resourceName + ".qpic"; break; } default: @@ -344,9 +357,11 @@ { //int version = *(reinterpret_cast(mBaseAddress)); // Assumes version 1 for now - const HbThemeIndexHeaderV1 *header = reinterpret_cast(mBaseAddress); + const HbThemeIndexHeaderV1 *header = + reinterpret_cast(mBaseAddress); mItemCount = header->itemCount; - mThemeItemDataArray = reinterpret_cast(mBaseAddress + sizeof(HbThemeIndexHeaderV1)); + mThemeItemDataArray = reinterpret_cast + (mBaseAddress + sizeof(HbThemeIndexHeaderV1)); initialized = true; } @@ -381,7 +396,7 @@ // binary search while (begin <= end) { - int mid = begin + (end-begin)/2; + int mid = begin + (end - begin) / 2; if (mThemeItemDataArray[mid].itemNameHash == hashValue) { retItem = &mThemeItemDataArray[mid]; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbthemeindex_p.h --- a/src/hbcore/core/hbthemeindex_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbthemeindex_p.h Thu May 27 13:10:59 2010 +0300 @@ -63,56 +63,54 @@ bool initialized; }; - struct HbThemeIndexItemData - { - enum Flag { - Default = 0x00, - Mirrorable = 0x01, - Locked = 0x02 - }; +{ + enum Flag { + Default = 0x00, + Mirrorable = 0x01, + Locked = 0x02 + }; - enum Type { - NotDefined = 0, - SvgItem = 1, // .svg - PngItem = 2, // .png - MngItem = 3, // .mng - GifItem = 4, // .gif - XpmItem = 5, // .xpm - JpgItem = 6, // .jpg - NvgItem = 7, // .nvg - SvgzItem = 8, // .svgz - QpicItem = 9, // .qpic - FxmlItem = 10, // .fxml - AxmlItem = 11 // .axml - }; - - HbThemeIndexItemData() : - itemType(NotDefined), - itemNameHash(0), - flags(Default), - mirroredItemType(NotDefined), - defaultWidth(-1), - defaultHeight(-1), - mirroredWidth(-1), - mirroredHeight(-1) {} - - quint32 itemType; // from enum Type - quint32 itemNameHash; - quint32 flags; // from enum Flag - - // These will go to every themable item, but overhead is still small - // because most of the items are icons - quint32 mirroredItemType; // from enum Type - qint32 defaultWidth; - qint32 defaultHeight; - qint32 mirroredWidth; - qint32 mirroredHeight; + enum Type { + NotDefined = 0, + SvgItem = 1, // .svg + PngItem = 2, // .png + MngItem = 3, // .mng + GifItem = 4, // .gif + XpmItem = 5, // .xpm + JpgItem = 6, // .jpg + NvgItem = 7, // .nvg + SvgzItem = 8, // .svgz + QpicItem = 9, // .qpic + FxmlItem = 10, // .fxml + AxmlItem = 11 // .axml }; + HbThemeIndexItemData() : + itemType(NotDefined), + itemNameHash(0), + flags(Default), + mirroredItemType(NotDefined), + defaultWidth(-1), + defaultHeight(-1), + mirroredWidth(-1), + mirroredHeight(-1) {} + + quint32 itemType; // from enum Type + quint32 itemNameHash; + quint32 flags; // from enum Flag + + // These will go to every themable item, but overhead is still small + // because most of the items are icons + quint32 mirroredItemType; // from enum Type + qint32 defaultWidth; + qint32 defaultHeight; + qint32 mirroredWidth; + qint32 mirroredHeight; +}; // Helper class for getting data out of HbThemeIndexItemData -class HbThemeIndexResource +class HB_AUTOTEST_EXPORT HbThemeIndexResource { public: HbThemeIndexResource(const QString &resourceName); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbthemeperf_p.h --- a/src/hbcore/core/hbthemeperf_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbthemeperf_p.h Thu May 27 13:10:59 2010 +0300 @@ -36,10 +36,10 @@ #else #include #define HB_START_SHAREDMEMORY_PRINT(str) unsigned int startMemory = manager->memoryConsumed(); \ - qDebug() << str << "SharedMemory Consumed" << "In" << Q_FUNC_INFO << startMemory; + qDebug() << str << "SharedMemory Consumed" << "In" << Q_FUNC_INFO << startMemory; #define HB_END_SHAREDMEMORY_PRINT(str) unsigned int endMemory = manager->memoryConsumed(); \ - qDebug() << str << "SharedMemory Consumed" << "In" << Q_FUNC_INFO << endMemory; \ - qDebug() << " Difference : " << endMemory - startMemory; + qDebug() << str << "SharedMemory Consumed" << "In" << Q_FUNC_INFO << endMemory; \ + qDebug() << " Difference : " << endMemory - startMemory; #endif // HB_PERF_MEM @@ -69,9 +69,9 @@ #else #include #include -#define HB_START_TIME() QTime time; \ - time.start(); -#define HB_END_TIME(str,val) qDebug() << str << val << " time in ms: " << time.elapsed() << "ms"; +#define HB_START_TIME() QTime time; \ + time.start(); +#define HB_END_TIME(str,val) qDebug() << str << val << " time in ms: " << time.elapsed() << "ms"; #endif //HB_PERF_TIME diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbvariant_p.cpp --- a/src/hbcore/core/hbvariant_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbvariant_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -85,7 +85,7 @@ newData->setDataType(data->dataType()); if ( data->dataType() == String ) { - HbSmartOffset dataOffset(manager->alloc( data->stringSize*sizeof(QChar))); + HbSmartOffset dataOffset(manager->alloc(data->stringSize * sizeof(QChar))); #ifdef HB_BIN_CSS HbCssConverterUtils::registerOffsetHolder(&(newData->mData.offset)); #endif @@ -108,7 +108,6 @@ } } - /* * C'tor */ @@ -185,7 +184,6 @@ #endif } - /* * C'tor taking QColor */ @@ -203,14 +201,14 @@ /* * copy C'tor */ - HbVariant::HbVariant( const HbVariant &other ) { mMemoryType = other.mMemoryType; GET_MEMORY_MANAGER(other.mMemoryType) - HbVariantData* data = HbMemoryUtils::getAddress( mMemoryType, other.mDataOffset ); + HbVariantData *data = HbMemoryUtils::getAddress(mMemoryType, + other.mDataOffset); mDataOffset = other.mDataOffset; if ( !manager->isWritable() || other.mShared == true ) { @@ -235,13 +233,14 @@ { GET_MEMORY_MANAGER(mMemoryType); // if the memory where the variant is not writable it means it's client process, so do nothing - if( !manager->isWritable() ) + if(!manager->isWritable() ) { return; - HbVariantData *data= getAddress( mMemoryType, mDataOffset, mShared ); - if( mShared != true && !data->mRef.deref() ) { + } + HbVariantData *data = getAddress(mMemoryType, mDataOffset, mShared); + if(!mShared&& !data->mRef.deref()) { clear(); data->~HbVariantData(); - HbMemoryUtils::freeMemory( mMemoryType, mDataOffset ); + HbMemoryUtils::freeMemory(mMemoryType, mDataOffset); } #ifdef HB_BIN_CSS @@ -299,11 +298,11 @@ */ QString HbVariant::getString() const { - HbVariantData *data = getAddress( mMemoryType, mDataOffset, mShared ); + HbVariantData *data = getAddress(mMemoryType, mDataOffset, mShared); if (data->mData.offset != -1) { - QChar* dataPtr = getAddress( mMemoryType, data->mData.offset, mShared ); - return QString::fromRawData( dataPtr, data->stringSize ); + QChar *dataPtr = getAddress(mMemoryType, data->mData.offset, mShared); + return QString::fromRawData(dataPtr, data->stringSize); } else { // data->mData.offset == -1 is empty String Variant. return QString(""); } @@ -436,7 +435,7 @@ /* * = operator taking int */ -HbVariant& HbVariant::operator=(int val) +HbVariant & HbVariant::operator=(int val) { detach(); // This will update the mDataOffset to new location if ref > 1. @@ -450,7 +449,7 @@ /* * = operator taking double */ -HbVariant& HbVariant::operator=(double val) +HbVariant & HbVariant::operator=(double val) { detach(); // This will update the mDataOffset to new location if ref > 1. @@ -464,7 +463,7 @@ /* * = operator taking QString */ -HbVariant& HbVariant::operator=(const QString& val) +HbVariant & HbVariant::operator=(const QString &val) { detach(); // This will update the mDataOffset to new location if ref > 1. fillStringData(val.constData(), val.length()); @@ -474,7 +473,7 @@ /* * = operator taking HbString */ -HbVariant& HbVariant::operator=(const HbString& val) +HbVariant & HbVariant::operator=(const HbString &val) { detach(); // This will update the mDataOffset to new location if ref > 1. fillStringData(val.constData(), val.length()); @@ -484,7 +483,7 @@ /* * = operator taking QColor */ -HbVariant& HbVariant::operator=(const QColor& col) +HbVariant &HbVariant::operator=(const QColor &col) { detach(); // This will update the mDataOffset to new location if ref > 1. fillColorData(col); @@ -492,7 +491,7 @@ } /* -* = operator taking QStringList +* = operator taking QStringList */ HbVariant& HbVariant::operator=(const QStringList& /*strList*/) { @@ -503,31 +502,28 @@ /* * = operator taking HbVariant */ -HbVariant& HbVariant::operator=(const HbVariant &other) +HbVariant &HbVariant::operator=(const HbVariant &other) { GET_MEMORY_MANAGER(mMemoryType) if(!manager->isWritable()) { Q_ASSERT(false); } - HbVariantData *otherData = getAddress(other.mMemoryType, other.mDataOffset, other.mShared); + HbVariantData *otherData = getAddress(other.mMemoryType, other.mDataOffset, + other.mShared); HbVariantData *data = getAddress(mMemoryType, mDataOffset, mShared); if(other.mMemoryType != mMemoryType || other.mShared == true) { - if(mShared != true) { - if(data->mRef == 1) { - clear(); - data->~HbVariantData(); - HbMemoryUtils::freeMemory(mMemoryType, mDataOffset); - }else { - data->mRef.deref(); - } + if(!mShared && !data->mRef.deref()) { + clear(); + data->~HbVariantData(); + HbMemoryUtils::freeMemory(mMemoryType, mDataOffset); } mShared = true; mMemoryType = HbMemoryManager::HeapMemory; } else { otherData->mRef.ref(); - if(mShared != true && !data->mRef.deref() ) { + if(!mShared&& !data->mRef.deref()) { clear(); data->~HbVariantData(); HbMemoryUtils::freeMemory(mMemoryType, mDataOffset); @@ -536,7 +532,8 @@ mMemoryType = other.mMemoryType; } mDataOffset = other.mDataOffset; - Q_ASSERT(mMemoryType == HbMemoryManager::SharedMemory || mMemoryType == HbMemoryManager::HeapMemory); + Q_ASSERT(mMemoryType == HbMemoryManager::SharedMemory + || mMemoryType == HbMemoryManager::HeapMemory); return *this; } @@ -695,7 +692,6 @@ } } - /* * clears the variant, frees any alocated memory */ diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbvariant_p.h --- a/src/hbcore/core/hbvariant_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbvariant_p.h Thu May 27 13:10:59 2010 +0300 @@ -102,7 +102,7 @@ int toInt() const; QString toString() const; QColor toColor() const; - QStringList toStringList () const; + QStringList toStringList() const; double toDouble() const; HbVariant & operator=( int val ); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/core/hbvector_p.h --- a/src/hbcore/core/hbvector_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/core/hbvector_p.h Thu May 27 13:10:59 2010 +0300 @@ -275,7 +275,7 @@ // if the memory where the vector is not writable it means it's client process, so do nothing if(!mData || !manager->isWritable()) return; - if(mShared != true && !mData->mRef.deref()) { + if(!mShared && !mData->mRef.deref()) { destroyData(); } @@ -553,12 +553,8 @@ // and decision making is required very clear for all the scenarios. if (other.mMemoryType != mMemoryType || other.mShared == true || mShared == true ) { - if(mShared != true) { - if(mData->mRef == 1) { - destroyData(); - }else { - mData->mRef.deref(); - } + if(!mShared && !mData->mRef.deref()) { + destroyData(); } mShared = true; // Here assumption is that two memory type will be different in @@ -627,8 +623,8 @@ HbVectorData(mMemoryType, oldSize, newSize); mData = newData; offset.release(); - if(!mShared) { - tempData->mRef.deref(); + if(!mShared && !tempData->mRef.deref()) { + destroyData(); } if(QTypeInfo::isComplex) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/cssparser/hbcssparser_p.cpp --- a/src/hbcore/cssparser/hbcssparser_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/cssparser/hbcssparser_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -2311,6 +2311,8 @@ } } +const uint CLASS_HASH = qHash(QString("class")); + int StyleSelector::basicSelectorMatches(const BasicSelector &sel, NodePtr node, bool nameCheckNeeded) const { int matchLevel = 0; @@ -2322,7 +2324,7 @@ for (int i = 0; i < sel.attributeSelectors.count(); ++i) { const AttributeSelector &a = sel.attributeSelectors.at(i); - if (a.name == QLatin1String("class")) { + if (a.nameHash == CLASS_HASH) { elementName = a.value; } if (!attributeMatches(node, a)) { @@ -3133,6 +3135,7 @@ onceMore = true; AttributeSelector a(basicSel->memoryType); a.name = QLatin1String("class"); + a.nameHash = qHash(a.name); a.valueMatchCriterium = AttributeSelector::MatchContains; if (!parseClass(&a.value)) return false; #ifdef CSS_PARSER_TRACES @@ -3188,6 +3191,7 @@ if (!next(IDENT)) return false; attr->name = lexem(); + attr->nameHash = qHash(attr->name); skipSpace(); if (test(EXCLAMATION_SYM)) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/cssparser/hbcssparser_p.h --- a/src/hbcore/cssparser/hbcssparser_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/cssparser/hbcssparser_p.h Thu May 27 13:10:59 2010 +0300 @@ -648,12 +648,14 @@ inline AttributeSelector(HbMemoryManager::MemoryType type = HbMemoryManager::HeapMemory) : memoryType(type), name(type), + nameHash(0), value(type), valueMatchCriterium(NoMatch), negated(false) {} HbMemoryManager::MemoryType memoryType; HbString name; + uint nameHash; HbString value; ValueMatchType valueMatchCriterium; bool negated; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/cssparser/hblayeredstyleloader_p.cpp --- a/src/hbcore/cssparser/hblayeredstyleloader_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/cssparser/hblayeredstyleloader_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -192,6 +192,8 @@ #ifdef LAYEREDSTYLELOADER_DEBUG qDebug("Handle returned: %x", handle); #endif + + updateLayersListIfRequired(priority); return handle; } @@ -224,6 +226,7 @@ } } + updateLayersListIfRequired(priority); return handle; } @@ -395,9 +398,9 @@ loader->loadCss(widget); QVector > weightedRulesList; - HbLayeredStyleLoader *allStack = getStack(Concern_All); + HbLayeredStyleLoader *allStack = mConcern == Concern_All ? 0 : getStack(Concern_All); - QListIterator iter(LayerList()); + QListIterator iter(mUsedLayers); while (iter.hasNext()) { LayerPriority priority = iter.next(); QMap::const_iterator it = mStyleLayers.constFind(priority); @@ -433,9 +436,9 @@ loader->loadCss(widget); QVector > weightedDeclsList; - HbLayeredStyleLoader *allStack = getStack(Concern_All); + HbLayeredStyleLoader *allStack = mConcern == Concern_All ? 0 : getStack(Concern_All); - QListIterator iter(LayerList()); + QListIterator iter(mUsedLayers); while (iter.hasNext()) { LayerPriority priority = iter.next(); QMap::const_iterator it = mStyleLayers.constFind(priority); @@ -481,9 +484,9 @@ loader->loadCss(widget); QVector > weightedRulesList; - HbLayeredStyleLoader *allStack = getStack(Concern_All); + HbLayeredStyleLoader *allStack = mConcern == Concern_All ? 0 : getStack(Concern_All); - QListIterator iter(LayerList()); + QListIterator iter(mUsedLayers); while (iter.hasNext()) { LayerPriority priority = iter.next(); QMap::const_iterator it = mStyleLayers.constFind(priority); @@ -527,9 +530,9 @@ */ void HbLayeredStyleLoader::variableRuleSets(QHash *variables) const { - HbLayeredStyleLoader *allStack = getStack(Concern_All); + HbLayeredStyleLoader *allStack = mConcern == Concern_All ? 0 : getStack(Concern_All); - QListIterator iter(LayerList()); + QListIterator iter(mUsedLayers); while (iter.hasNext()) { LayerPriority priority = iter.next(); QMap::const_iterator it = mStyleLayers.constFind(priority); @@ -573,26 +576,33 @@ /*! - Gets the list of all priority layers in use in this or the 'All' stack + Updates the cached list of used layers to include the specified layer. + If this is the All stack, all other stacks' used lists are also updated + to include this layer. - \return List of all layer priorities in use + \param The LayerPriority to add if not already present */ -QList HbLayeredStyleLoader::LayerList() const +void HbLayeredStyleLoader::updateLayersListIfRequired(LayerPriority priority) { - QList mergedLayers = mStyleLayers.keys(); - HbLayeredStyleLoader *allStack = getStack(Concern_All); - if (allStack) { - QList allLayers = allStack->mStyleLayers.keys(); - for (int i=0; i::iterator iter = stacks->begin(); + while (iter != stacks->end()) { + if (!iter->mUsedLayers.contains(priority)) { + iter->mUsedLayers.append(priority); + qSort(iter->mUsedLayers); + } + ++iter; } } } - qSort(mergedLayers); - - return mergedLayers; } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/cssparser/hblayeredstyleloader_p.h --- a/src/hbcore/cssparser/hblayeredstyleloader_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/cssparser/hblayeredstyleloader_p.h Thu May 27 13:10:59 2010 +0300 @@ -84,9 +84,12 @@ HbVector styleRulesForNode(HbStyleSelector::NodePtr node, const Qt::Orientation orientation) const; void variableRuleSets(QHash *variables) const; + +protected: + void updateLayersListIfRequired(LayerPriority priority); + QList mUsedLayers; private: - QList LayerList() const; bool loadBinary(const QString& fileName,HbCss::StyleSheet *styleSheet); bool saveBinary(const QString& fileName,HbCss::StyleSheet *styleSheet); void saveDeclarations(QDataStream & stream,HbVector* decls ); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/cssparser/hbstyleloader.cpp --- a/src/hbcore/cssparser/hbstyleloader.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/cssparser/hbstyleloader.cpp Thu May 27 13:10:59 2010 +0300 @@ -48,6 +48,10 @@ are at least equally specific and define the same properties will override those equivalent platform property definitions. + For any stylesheet registered that correspond to properties that are not defined by the + platform, the set values will not be reset when the corresponding stylesheet is + unregister. + In order to remove stylesheets or layout definitions that were previously registered, the same filename should be provided to the corresponding unregister method. Again, a repolish is needed in order to detect the changes. diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/cssparser/hbstyleselector_p.cpp --- a/src/hbcore/cssparser/hbstyleselector_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/cssparser/hbstyleselector_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -67,6 +67,8 @@ return level; } +const uint CLASS_HASH = qHash(QString("class")); + bool HbStyleSelector::attributeMatches(NodePtr node, const HbCss::AttributeSelector &attr) const { if (isNullNode(node)) { @@ -78,8 +80,8 @@ QGraphicsWidget *widget = WIDGET(node); - QHash &cache = mAttributeCache[widget]; - QHash::const_iterator cacheIt = cache.constFind(attr.name); + QHash &cache = mAttributeCache[widget]; + QHash::const_iterator cacheIt = cache.constFind(attr.nameHash); if (cacheIt != cache.constEnd()) { aVal = cacheIt.value(); } else { @@ -87,11 +89,10 @@ QVariant value = widget->property(attr.name.toLatin1()); if (!value.isValid()) { - if (attr.name == QLatin1String("class")) { + if (attr.nameHash == CLASS_HASH) { QString className = QString::fromLatin1(metaObject ->className()); - if (className.contains(QLatin1Char(':'))) - className.replace(QLatin1Char(':'), QLatin1Char('-')); + className.replace(QLatin1Char(':'), QLatin1Char('-')); aVal.mValue1 = className; } else { // Requested property not found. @@ -117,7 +118,7 @@ aVal.mValue2 = metaProperty.enumerator().valueToKey(value.toInt()); } } - cache[attr.name] = aVal; + cache[attr.nameHash] = aVal; } bool match(false); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/cssparser/hbstyleselector_p.h --- a/src/hbcore/cssparser/hbstyleselector_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/cssparser/hbstyleselector_p.h Thu May 27 13:10:59 2010 +0300 @@ -52,7 +52,7 @@ QString mValue2; bool mEmptyValue; }; - mutable QHash > mAttributeCache; + mutable QHash > mAttributeCache; }; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/decorators/hbindicatorbutton.cpp --- a/src/hbcore/decorators/hbindicatorbutton.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/decorators/hbindicatorbutton.cpp Thu May 27 13:10:59 2010 +0300 @@ -228,9 +228,13 @@ void HbIndicatorButton::handleRelease() { Q_D(HbIndicatorButton); - d->showIndicatorMenu(); + if( isUnderMouse() ) { + d->showIndicatorMenu(); + } #ifdef HB_EFFECTS HbEffect::start(this, "decorator", "released"); #endif updatePrimitives(); } + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/decorators/hbindicatorgroup.cpp --- a/src/hbcore/decorators/hbindicatorgroup.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/decorators/hbindicatorgroup.cpp Thu May 27 13:10:59 2010 +0300 @@ -30,6 +30,7 @@ #include "hbstyleoptionindicatorgroup_p.h" #include "hbiconitem.h" +#include "hbiconanimator.h" #if defined(Q_OS_SYMBIAN) #include "hbindicatorsym_p.h" @@ -280,6 +281,17 @@ d->delayedConstruction(); } +void HbIndicatorGroup::currentViewChanged(HbView *view) +{ + Q_D(HbIndicatorGroup); + for (int i = 0; i < d->mIcons.size(); ++i) { + HbIconItem *iconItem = dynamic_cast(d->mIcons.at(i)); + if (iconItem) { + iconItem->animator().setOwnerView(view); + } + } +} + void HbIndicatorGroup::createPrimitives() { Q_D(HbIndicatorGroup); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/decorators/hbindicatorgroup_p.h --- a/src/hbcore/decorators/hbindicatorgroup_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/decorators/hbindicatorgroup_p.h Thu May 27 13:10:59 2010 +0300 @@ -36,6 +36,7 @@ class HbIndicatorGroupPrivate; class HbStyleOptionIndicatorGroup; struct IndicatorClientInfo; +class HbView; class HB_CORE_PRIVATE_EXPORT HbIndicatorGroup : public HbWidget { @@ -56,6 +57,8 @@ void delayedConstruction(); + void currentViewChanged(HbView *view); + public slots: virtual void createPrimitives(); virtual void updatePrimitives(); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/decorators/hbstatusbar.cpp --- a/src/hbcore/decorators/hbstatusbar.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/decorators/hbstatusbar.cpp Thu May 27 13:10:59 2010 +0300 @@ -53,7 +53,6 @@ */ HbStatusBarPrivate::HbStatusBarPrivate() : - mTimeText(), mTimeTextItem(0), mSignalIndicator(0), mBatteryIndicator(0), @@ -102,9 +101,17 @@ q, SIGNAL(activated(const QList &))); q->connect(mIndicatorPrivate, SIGNAL(deactivated(const QList &)), q, SIGNAL(deactivated(const QList &))); + q->connect(mIndicatorPrivate, SIGNAL(allActivated(const QList &)), + q, SIGNAL(activated(const QList &))); mClockTimerId = q->startTimer(clockUpdateDelay); mIndicatorPrivate->startListen(); + + q->grabGesture(Qt::TapGesture); + q->grabGesture(Qt::TapAndHoldGesture); + q->grabGesture(Qt::PanGesture); + q->grabGesture(Qt::SwipeGesture); + q->grabGesture(Qt::PinchGesture); } void HbStatusBarPrivate::init() @@ -225,6 +232,9 @@ return; } + d->mNotificationIndicatorGroup->currentViewChanged(view); + d->mSettingsIndicatorGroup->currentViewChanged(view); + // only do repolish if properties have changed if (d->mPreviousProperties != view->viewFlags()) { d->mPreviousProperties = view->viewFlags(); @@ -286,3 +296,13 @@ } } } + +/*! + \reimp +*/ +void HbStatusBar::gestureEvent(QGestureEvent *event) +{ + Q_UNUSED(event); + // all gesture events accepted by default +} + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/decorators/hbstatusbar_p.h --- a/src/hbcore/decorators/hbstatusbar_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/decorators/hbstatusbar_p.h Thu May 27 13:10:59 2010 +0300 @@ -62,6 +62,7 @@ protected: void initStyleOption(HbStyleOptionStatusBar *option) const; void timerEvent(QTimerEvent *event); + void gestureEvent(QGestureEvent* e); private: Q_DECLARE_PRIVATE_D(d_ptr, HbStatusBar) diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/decorators/hbtitlebar.cpp --- a/src/hbcore/decorators/hbtitlebar.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/decorators/hbtitlebar.cpp Thu May 27 13:10:59 2010 +0300 @@ -77,6 +77,8 @@ mIndicatorButton, SLOT(deactivate(const QList &))); q->connect(mMainWindow, SIGNAL(currentViewChanged(HbView*)), q, SLOT(currentViewChanged(HbView*))); q->connect(mDefaultNavigationAction, SIGNAL(triggered()), qApp, SLOT(quit())); + + q->setFlag(QGraphicsItem::ItemIsPanel, true); } void HbTitleBarPrivate::init() diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogbase.pri --- a/src/hbcore/devicedialogbase/devicedialogbase.pri Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogbase.pri Thu May 27 13:10:59 2010 +0300 @@ -50,6 +50,8 @@ PRIVATE_HEADERS += $$PWD/hbindicatorsym_p.h PRIVATE_HEADERS += $$PWD/hbsymbianvariantconverter_p.h PRIVATE_HEADERS += $$PWD/hbdeleteguardsymbian_p.h +PRIVATE_HEADERS += $$PWD/hbdevicedialogconnecthelper_p.h +PRIVATE_HEADERS += $$PWD/hbdevicedialogconnecthelper_p_p.h SOURCES += $$PWD/hbsymbianvariant.cpp SOURCES += $$PWD/hbdevicedialogsymbian.cpp @@ -61,6 +63,7 @@ SOURCES += $$PWD/hbsymbianvariantconverter.cpp SOURCES += $$PWD/hbtextresolversymbian.cpp SOURCES += $$PWD/hbdeleteguardsymbian.cpp +SOURCES += $$PWD/hbdevicedialogconnecthelper.cpp } !symbian { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager.cpp --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager.cpp Thu May 27 13:10:59 2010 +0300 @@ -112,6 +112,16 @@ /*! \internal + Publish current orientation to PS-key + Returns error code if updating fails. 0 if updating succeeds. +*/ +int HbDeviceDialogManager::publishOrientation(int orientation) +{ + return d->publishOrientation(orientation); +} + +/*! + \internal Instructs HbDeviceDialogManager to close a concrete device dialog widget. Widget is identified by identifier. diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager_p.cpp --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -39,7 +39,7 @@ #include #include #include - +#include #if defined(Q_OS_SYMBIAN) #include #include @@ -130,6 +130,15 @@ mServerStatus.setStatus(HbDeviceDialogServerStatus::NoFlags); qApp->installEventFilter(this); init(); +#if defined(Q_OS_SYMBIAN) + _LIT_SECURITY_POLICY_PASS(KRdPolicy); // all pass + _LIT_SECURITY_POLICY_S0(KWrPolicy, KHbPsForegroundAppOrientationCategoryUid.iUid); // pass device dialog server + + int error = mProperty.Define(KHbPsForegroundAppOrientationCategoryUid, KHbPsForegroundAppOrientationKey, + RProperty::EInt, KRdPolicy, KWrPolicy); + if(error == KErrNone) + mProperty.Attach(KHbPsForegroundAppOrientationCategoryUid, KHbPsForegroundAppOrientationKey); +#endif TRACE_EXIT } @@ -144,6 +153,7 @@ #if defined(Q_OS_SYMBIAN) mScene->removeItem(&mMousePressCatcher); mWindowRegion.Close(); + mProperty.Close(); #endif delete mIndicatorPluginManager; TRACE_EXIT @@ -266,13 +276,24 @@ return ret; } +// Publish current orientation to PS-key +int HbDeviceDialogManagerPrivate::publishOrientation(int orientation) +{ +#if defined(Q_OS_SYMBIAN) + int ret = mProperty.Set(orientation); + return ret; +#else + Q_UNUSED(orientation) + return 0; +#endif +} + // Client (session) is closing void HbDeviceDialogManagerPrivate::deviceDialogClientClosing(quintptr clientTag) { // Mark device dialogs launched by the client as having client (session) closed. // Housekeeper closes these after a timeout. Dialogs without a client are allowed but // they need to close within a timeout. - markNoClient(clientTag); } @@ -320,6 +341,7 @@ void HbDeviceDialogManagerPrivate::moveToForeground(bool foreground) { TRACE_ENTRY_ARGS(foreground) + if (foreground) { if(!mMainWindow->isVisible()) { mMainWindow->showFullScreen(); @@ -398,7 +420,7 @@ const HbDeviceDialogsContainer::Dialog::Flags closeCalled( HbDeviceDialogsContainer::Dialog::CloseCalled); const HbDeviceDialogsContainer::Dialog::Flags noFlags(0); - + // Check if any notification dialogs are showing const HbDeviceDialogsContainer::Dialog start; bool showingNotification = mDialogs.next(start, notificationGroup|showing, @@ -409,6 +431,18 @@ securityGroup|showing).isValid(); HbDeviceDialogsContainer::Dialog::Flags newDialogs(0); +#if defined(Q_OS_SYMBIAN) + int val = 0; + int error = mProperty.Get(KHbPsForegroundAppOrientationCategoryUid, KHbPsForegroundAppOrientationKey, val); + + if (val & KHbFixedOrientationMask) { + Qt::Orientation currentOrientation = (Qt::Orientation) (val & KHbOrientationMask); + if (currentOrientation == Qt::Vertical || currentOrientation == Qt::Horizontal) { + mMainWindow->setOrientation(currentOrientation, false); + } + } +#endif + // Loop over not showing dialogs HbDeviceDialogsContainer::Dialog *current = &mDialogs.next(start, noFlags, showing | closeCalled); @@ -453,7 +487,7 @@ const HbDeviceDialogsContainer::Dialog &nonNotificationDialog = mDialogs.next(start, showing, notificationGroup|showing); bool dialogsShowing = showingNotification || nonNotificationDialog.isValid(); - + return dialogsShowing; } @@ -705,15 +739,19 @@ mDialogs.remove(current); removeRegionRect(id); } - showDialogs(); setupWindowRegion(); updateStatus(); + + //make sure there is no fixed orientation + if (mDialogs.isEmpty()) { + mMainWindow->unsetOrientation(false); + } if (!securityDialog) { return; } - + // security or critical level active const HbDeviceDialogsContainer::Dialog begin; const HbDeviceDialogsContainer::Dialog::Flags securityGroup( @@ -743,13 +781,13 @@ moreDialogs = mDialogs.next(dialog, criticalGroup|showing, criticalGroup|showing).isValid(); } - + if (showingSecurity && !moreDialogs) { #if defined(Q_OS_SYMBIAN) doMoveToForeground(false, ECoeWinPriorityAlwaysAtFront-1); - mMainWindow->hide(); -#endif - } + mMainWindow->hide(); +#endif + } TRACE_EXIT } @@ -923,7 +961,7 @@ break; } } - + // Return true if housekeeping needs to continue return mDialogs.next(start, closeCalled, closeCalled).isValid() || mDialogs.next(start, noClient, noClient).isValid(); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager_p.h --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager_p.h Thu May 27 13:10:59 2010 +0300 @@ -50,6 +50,7 @@ // Device dialog client related API int showDeviceDialog(HbDeviceDialogServer::DialogParameters ¶meters); int updateDeviceDialog(int identifier, const QVariantMap ¶meters); + int publishOrientation(int orientation); int closeDeviceDialog(int identifier); void deviceDialogClientClosing(quintptr clientTag); int activateIndicator(HbDeviceDialogServer::IndicatorParameters ¶meters); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager_p_p.h --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager_p_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogmanager_p_p.h Thu May 27 13:10:59 2010 +0300 @@ -33,6 +33,7 @@ #include #if defined(Q_OS_SYMBIAN) #include +#include #endif #include "hbdevicedialogserver_p.h" @@ -112,6 +113,7 @@ // Device dialog client related API int showDeviceDialog(HbDeviceDialogServer::DialogParameters ¶meters); int updateDeviceDialog(int id, const QVariantMap ¶meters); + int publishOrientation(int orientation); int closeDeviceDialog(int id, bool byClient = true); void deviceDialogClientClosing(quintptr clientTag); int activateIndicator(HbDeviceDialogServer::IndicatorParameters ¶meters); @@ -185,6 +187,7 @@ }; QList mRegionList; RRegion mWindowRegion; + RProperty mProperty; #endif }; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogscontainer.cpp --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogscontainer.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogscontainer.cpp Thu May 27 13:10:59 2010 +0300 @@ -209,3 +209,9 @@ dialog.mIndex = i; return dialog; } + +// check is the dialog list empty +bool HbDeviceDialogsContainer::isEmpty() const +{ + return mDialogs.isEmpty(); +} diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogscontainer_p.h --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogscontainer_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogscontainer_p.h Thu May 27 13:10:59 2010 +0300 @@ -105,6 +105,7 @@ void remove(Dialog &dialog); Dialog &next(const Dialog &from, Dialog::Flags flags, Dialog::Flags mask); Dialog &next(const Dialog &from, Dialog::Variable variable, quintptr value); + bool isEmpty() const; private: HbDeviceDialogPluginManager &mPluginManager; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserver.cpp --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserver.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserver.cpp Thu May 27 13:10:59 2010 +0300 @@ -121,6 +121,16 @@ /*! \internal + Publish current orientation to PS-key +*/ +int HbDeviceDialogServer::publishOrientation(int orientation) +{ + return iManager->publishOrientation( orientation ); +} + +/*! + \internal + Calls HbDeviceDialogManager to close device dialog. On return the status of the call is received. identifier identifies the device dialog. diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserver_p.h --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserver_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserver_p.h Thu May 27 13:10:59 2010 +0300 @@ -81,6 +81,7 @@ void setMainWindow(HbMainWindow *mainWindow); int showDeviceDialog(DialogParameters ¶meters); int updateDeviceDialog(int identifier, const QVariantMap &data); + int publishOrientation(int orientation); int closeDeviceDialog(int identifier); void deviceDialogClientClosing(quintptr sessionTag); int activateIndicator(IndicatorParameters ¶meters); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserverdefs_p.h --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserverdefs_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserverdefs_p.h Thu May 27 13:10:59 2010 +0300 @@ -83,6 +83,7 @@ EHbSrvClientClosing, EHbSrvCancelUpdateChannel, EHbSrvOpenUpdateChannel, + EHbSrvPublishOrientation, //indicator commands EHbSrvIndicatorCommandsStart, diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserversym_p.cpp --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserversym_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserversym_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -200,6 +200,15 @@ /*! \internal + Publish current orientation to PS-key +*/ +int HbDeviceDialogServerPrivate::publishOrientation( int orientation ) +{ + return q_func()->publishOrientation( orientation ); +} + +/*! + \internal Forward client initiated close event. */ int HbDeviceDialogServerPrivate::closeDeviceDialog( int id ) diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserversym_p_p.h --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserversym_p_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogserversym_p_p.h Thu May 27 13:10:59 2010 +0300 @@ -56,6 +56,7 @@ int showDeviceDialog(HbDeviceDialogServer::DialogParameters ¶meters); int updateDeviceDialog(int id, QVariantMap &data); int closeDeviceDialog(int id); + int publishOrientation(int orientation); void deviceDialogClientClosing(quintptr sessionTag); int activateIndicator(HbDeviceDialogServer::IndicatorParameters ¶meters); int deactivateIndicator(HbDeviceDialogServer::IndicatorParameters ¶meters); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogsession.cpp --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogsession.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogsession.cpp Thu May 27 13:10:59 2010 +0300 @@ -154,6 +154,10 @@ UpdateDataRequestL( aMessage ); break; } + case EHbSrvPublishOrientation: { + PublishOrientation( aMessage ); + break; + } default: { break; @@ -500,6 +504,21 @@ /*! \internal + Publish current orientation to PS-key +*/ +void HbDeviceDialogSession::PublishOrientation(const RMessage2 &aMessage) +{ + TRACE_ENTRY + TInt result = KErrNone; + TInt val0 = aMessage.Int0(); + result = Server().publishOrientation( val0 ); + + aMessage.Complete( result ); + TRACE_EXIT_ARGS("result " << result) +} + +/*! + \internal */ HbDeviceDialogSession::HbDeviceDialogSession() { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogsession_p.h --- a/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogsession_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/devicedialogserver/hbdevicedialogsession_p.h Thu May 27 13:10:59 2010 +0300 @@ -67,6 +67,7 @@ void UpdateDataRequestL( const RMessage2 &aMessage ); void CancelUpdateChannel(const RMessage2 aMessage); void WriteUpdateData(const QVariantMap ¶meters, int deviceDialogId); + void PublishOrientation(const RMessage2 &aMessage); int WriteCloseData(int deviceDialogId, int closeReason); QString indicatorTypeFromMessageL(const RMessage2 &aMessage) const; HbDeviceDialogSession(); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/hbdevicedialogconnecthelper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/devicedialogbase/hbdevicedialogconnecthelper.cpp Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (developer.feedback@nokia.com) +** +** This file is part of the HbCore module of the UI Extensions for Mobile. +** +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at developer.feedback@nokia.com. +** +****************************************************************************/ + +#include +#include + +/*! + HbDeviceDialogConnectHelper + \internal +*/ + + +HbDeviceDialogConnectHelperPrivate::HbDeviceDialogConnectHelperPrivate(HbDeviceDialogConnectHelper *wrapper) +: CActive(CActive::EPriorityStandard), q_ptr(wrapper), mSessionConnected(0) +{ + CActiveScheduler::Add(this); +} + +HbDeviceDialogConnectHelperPrivate::~HbDeviceDialogConnectHelperPrivate() +{ + Cancel(); + if (mSessionConnected) { + mClientSession.Close(); + mSessionConnected = false; + } +} + +void HbDeviceDialogConnectHelperPrivate::connect() +{ + if (!IsActive()) { + iStatus = KRequestPending; + if (mClientSession.Connect(&iStatus) == KErrNone) { + SetActive(); + } + } +} + +void HbDeviceDialogConnectHelperPrivate::RunL() +{ + if (iStatus == KErrNone) { + emit q_ptr->sessionEstablished(&mClientSession); + mSessionConnected = true; + } +} + +void HbDeviceDialogConnectHelperPrivate::DoCancel() +{ + TRequestStatus *rs = &iStatus; + User::RequestComplete(rs, KErrNone); +} + + + +HbDeviceDialogConnectHelper::HbDeviceDialogConnectHelper(QObject *parent) +: QObject(parent) +{ + d_ptr = new HbDeviceDialogConnectHelperPrivate(this); +} + +HbDeviceDialogConnectHelper::~HbDeviceDialogConnectHelper() +{ + delete d_ptr; +} + +void HbDeviceDialogConnectHelper::connect() +{ + d_ptr->connect(); +} + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/hbdevicedialogconnecthelper_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/devicedialogbase/hbdevicedialogconnecthelper_p.h Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (developer.feedback@nokia.com) +** +** This file is part of the HbCore module of the UI Extensions for Mobile. +** +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at developer.feedback@nokia.com. +** +****************************************************************************/ + +#ifndef HBDEVICEDIALOGCONNECTHELPER_P_H +#define HBDEVICEDIALOGCONNECTHELPER_P_H + +#include +#include + +class HbDeviceDialogConnectHelperPrivate; + +class HbDeviceDialogConnectHelper : public QObject +{ + Q_OBJECT + +public: + HbDeviceDialogConnectHelper(QObject *parent = 0); + ~HbDeviceDialogConnectHelper(); + + void connect(); + +signals: + void sessionEstablished(RHbDeviceDialogClientSession *clientSession); + +private: + friend class HbDeviceDialogConnectHelperPrivate; + HbDeviceDialogConnectHelperPrivate *d_ptr; +}; +#endif diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/hbdevicedialogconnecthelper_p_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/devicedialogbase/hbdevicedialogconnecthelper_p_p.h Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (developer.feedback@nokia.com) +** +** This file is part of the HbCore module of the UI Extensions for Mobile. +** +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at developer.feedback@nokia.com. +** +****************************************************************************/ + +#ifndef HBDEVICEDIALOGCONNECTHELPER_P_P_H +#define HBDEVICEDIALOGCONNECTHELPER_P_P_H + +#include +#include + +class HbDeviceDialogConnectHelper; + +class HbDeviceDialogConnectHelperPrivate : public CActive +{ +public: + HbDeviceDialogConnectHelperPrivate(HbDeviceDialogConnectHelper *wrapper); + ~HbDeviceDialogConnectHelperPrivate(); + + void connect(); + +protected: // From CActive + void RunL(); + void DoCancel(); + +private: + HbDeviceDialogConnectHelper *q_ptr; + RHbDeviceDialogClientSession mClientSession; + bool mSessionConnected; +}; + +#endif diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/devicedialogbase/hbindicator.cpp --- a/src/hbcore/devicedialogbase/hbindicator.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/devicedialogbase/hbindicator.cpp Thu May 27 13:10:59 2010 +0300 @@ -68,7 +68,7 @@ */ /*! - \fn void userActivated(const QString &type, const QVariantMap &data) + \fn void HbIndicator::userActivated(const QString &type, const QVariantMap &data) The class should emit this signal, when client needs to be notified of the user interaction. diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/effects/hbeffectfactory.cpp --- a/src/hbcore/effects/hbeffectfactory.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/effects/hbeffectfactory.cpp Thu May 27 13:10:59 2010 +0300 @@ -141,19 +141,15 @@ // Create a scale effect effect = new HbEffectScale(params, targetItem, group); effectsCreated |= scaleBit; - } - if (!(effectsCreated & rotateBit) && isRotateParameter(paramName)) { + } else if (!(effectsCreated & rotateBit) && isRotateParameter(paramName)) { // Create a rotate effect effect = new HbEffectRotate(params, targetItem, group); effectsCreated |= rotateBit; - } - if (!(effectsCreated & opacityBit) && isOpacityParameter(paramName)) { + } else if (!(effectsCreated & opacityBit) && isOpacityParameter(paramName)) { // Create an opacity effect effect = new HbEffectOpacity(params, targetItem, group); effectsCreated |= opacityBit; - } - - if (!(effectsCreated & translateBit) && isTranslateParameter(paramName)) { + } else if (!(effectsCreated & translateBit) && isTranslateParameter(paramName)) { // Create a translate effect effect = new HbEffectTranslate(params, targetItem, group); effectsCreated |= translateBit; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/effects/hbeffectfilter.cpp --- a/src/hbcore/effects/hbeffectfilter.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/effects/hbeffectfilter.cpp Thu May 27 13:10:59 2010 +0300 @@ -199,7 +199,9 @@ HbEffectFilterAnimation *anim = 0; // Replace default values with parameter's values - mEffectDefined |= param.getValue(startValue); + if (param.getValue(startValue)) { + mEffectDefined = true; + } endValue = startValue; QList keyFrameList = param.keyFrames(); @@ -255,7 +257,9 @@ if (!colorString.isEmpty()) { startValue.setNamedColor(colorString); endValue = startValue; - mEffectDefined |= startValue.isValid(); + if (startValue.isValid()) { + mEffectDefined = true; + } } QList keyFrameList = param.keyFrames(); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gestures/hbgesturerecognizers_p.cpp --- a/src/hbcore/gestures/hbgesturerecognizers_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gestures/hbgesturerecognizers_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -116,9 +116,8 @@ \return */ -HbTapGestureRecognizer::HbTapGestureRecognizer(int tapRadius) -{ - HbTapGestureLogic::mTapRadius = tapRadius; +HbTapGestureRecognizer::HbTapGestureRecognizer() +{ DEBUG() << "Creating HbTapGestureRecognizer" << this; } @@ -140,7 +139,7 @@ */ QGesture* HbTapGestureRecognizer::create(QObject *) -{ +{ return new HbTapGesture; } @@ -182,12 +181,11 @@ \return */ -HbTapAndHoldGestureRecognizer::HbTapAndHoldGestureRecognizer(int tapRadius) +HbTapAndHoldGestureRecognizer::HbTapAndHoldGestureRecognizer() : QGestureRecognizer(), HbTapAndHoldGestureLogic() -{ - HbTapAndHoldGestureLogic::mTapRadius = tapRadius; +{ DEBUG() << "Creating HbTapAndHoldGestureRecognizer" << this; } @@ -209,7 +207,7 @@ */ QGesture* HbTapAndHoldGestureRecognizer::create(QObject *) -{ +{ return new HbTapAndHoldGesture; } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gestures/hbgesturerecognizers_p.h --- a/src/hbcore/gestures/hbgesturerecognizers_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gestures/hbgesturerecognizers_p.h Thu May 27 13:10:59 2010 +0300 @@ -49,7 +49,7 @@ class HB_CORE_PRIVATE_EXPORT HbTapGestureRecognizer : public QGestureRecognizer, public HbTapGestureLogic { public: - explicit HbTapGestureRecognizer(int tapRadius = HbDefaultTapRadius); + explicit HbTapGestureRecognizer(); virtual ~HbTapGestureRecognizer(); QGesture* create(QObject *); @@ -60,7 +60,7 @@ class HB_CORE_PRIVATE_EXPORT HbTapAndHoldGestureRecognizer : public QGestureRecognizer, public HbTapAndHoldGestureLogic { public: - explicit HbTapAndHoldGestureRecognizer(int tapRadius = HbDefaultTapRadius); + explicit HbTapAndHoldGestureRecognizer(); virtual ~HbTapAndHoldGestureRecognizer(); QGesture* create(QObject *); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gestures/hbgestures_p.h --- a/src/hbcore/gestures/hbgestures_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gestures/hbgestures_p.h Thu May 27 13:10:59 2010 +0300 @@ -30,11 +30,14 @@ #include #include -const int HbDefaultPanThreshold = 30; -const int HbDefaultTapRadius = HbDefaultPanThreshold-1; +const qreal HbDefaultPanThreshold = 3.3; // mm +const qreal HbDefaultTapRadius = HbDefaultPanThreshold; //mm -const qreal HbSwipeMinOffset = 100; -const qreal HbSwipeMinSpeed = 0.8; +const qreal HbSwipeMinOffset = 7.5; // mm +const qreal HbSwipeMinSpeed = 0.06; // mm / ms + +const int HbVelocitySampleTime = 80; // ms +const int HbVelocityStopTime = 70; // ms class HbGestureUtils { @@ -55,7 +58,7 @@ } return QPointF(); - } + } }; #endif // HBGESTURES_P_H diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gestures/hbpangesture_p.h --- a/src/hbcore/gestures/hbpangesture_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gestures/hbpangesture_p.h Thu May 27 13:10:59 2010 +0300 @@ -59,6 +59,8 @@ HbPointRecorder mAxisY; HbPointRecorder mSceneAxisX; HbPointRecorder mSceneAxisY; + + qreal mThresholdSquare; }; #endif // HBPANGESTURE_P_H diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gestures/hbpangesturelogic_p.cpp --- a/src/hbcore/gestures/hbpangesturelogic_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gestures/hbpangesturelogic_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -28,12 +28,11 @@ #include #include +#include #include "hbpangesture.h" #include "hbpangesture_p.h" #include "hbpangesturelogic_p.h" -const int KPanThreshold = 20; - /*! @hbcore \internal @@ -123,11 +122,14 @@ gesture->d_ptr->mSceneOffset = HbGestureUtils::mapToScene(watched, QPointF(0,0)); gesture->d_ptr->mSceneLastOffset = HbGestureUtils::mapToScene(watched, QPointF(0,0)); gesture->d_ptr->mLastTimeStamp = mCurrentTime; - - gesture->d_ptr->mAxisX.resetRecorder(HbDefaultPanThreshold); - gesture->d_ptr->mAxisY.resetRecorder(HbDefaultPanThreshold); - gesture->d_ptr->mSceneAxisX.resetRecorder(HbDefaultPanThreshold); - gesture->d_ptr->mSceneAxisY.resetRecorder(HbDefaultPanThreshold); + + qreal defaultThreshold = HbDefaultPanThreshold * HbDeviceProfile::current().ppmValue(); + gesture->d_ptr->mThresholdSquare = defaultThreshold * defaultThreshold; + + gesture->d_ptr->mAxisX.resetRecorder(defaultThreshold); + gesture->d_ptr->mAxisY.resetRecorder(defaultThreshold); + gesture->d_ptr->mSceneAxisX.resetRecorder(defaultThreshold); + gesture->d_ptr->mSceneAxisY.resetRecorder(defaultThreshold); gesture->d_ptr->mAxisX.record( me->globalPos().x(), mCurrentTime ); gesture->d_ptr->mAxisY.record( me->globalPos().y(), mCurrentTime ); gesture->d_ptr->mSceneAxisX.record( scenePos.x(), mCurrentTime ); @@ -155,7 +157,7 @@ QPointF offset = me->globalPos() - gesture->startPos().toPoint(); - if (gestureState == Qt::NoGesture && offset.manhattanLength() <= KPanThreshold ) + if (gestureState == Qt::NoGesture && (offset.x() * offset.x() + offset.y() * offset.y()) <= gesture->d_ptr->mThresholdSquare) { return QGestureRecognizer::MayBeGesture; } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gestures/hbswipegesturelogic_p.cpp --- a/src/hbcore/gestures/hbswipegesturelogic_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gestures/hbswipegesturelogic_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -29,6 +29,8 @@ #include "hbpointrecorder_p.h" #include "hbvelocitycalculator_p.h" +#include + #include #include #include @@ -147,6 +149,7 @@ \return */ +#include QGestureRecognizer::Result HbSwipeGestureLogic::handleMouseRelease( Qt::GestureState gestureState, HbSwipeGesture *gesture, @@ -161,16 +164,15 @@ return QGestureRecognizer::Ignore; } - QPointF totalOffset = me->globalPos() - gesture->d_func()->mStartPos.toPoint(); + QPoint totalOffset = me->globalPos() - gesture->d_func()->mStartPos.toPoint(); int deltaTime = gesture->d_func()->mStartTime.msecsTo(mCurrentTime); QPointF velocity = deltaTime != 0 ? totalOffset / deltaTime : QPointF(0,0); gesture->setSwipeAngle(QLineF(gesture->d_func()->mStartPos, me->globalPos()).angle()); - gesture->setSceneSwipeAngle(QLineF(gesture->d_func()->mSceneStartPos, HbGestureUtils::mapToScene(watched, me->globalPos())).angle()); - - bool movedEnough = totalOffset.manhattanLength() >= HbSwipeMinOffset; - bool fastEnough = velocity.manhattanLength() >= HbSwipeMinSpeed; + gesture->setSceneSwipeAngle(QLineF(gesture->d_func()->mSceneStartPos, HbGestureUtils::mapToScene(watched, me->globalPos())).angle()); + bool movedEnough = totalOffset.manhattanLength() >= (int)(HbSwipeMinOffset * HbDeviceProfile::current().ppmValue()); + bool fastEnough = velocity.manhattanLength() >= HbSwipeMinSpeed * HbDeviceProfile::current().ppmValue(); bool notStoppedAtEnd = HbVelocityCalculator(gesture->d_ptr->mAxisX, gesture->d_ptr->mAxisY).velocity(mCurrentTime) != QPointF(0,0); if (movedEnough && fastEnough && notStoppedAtEnd) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gestures/hbtapandholdgesturelogic_p.cpp --- a/src/hbcore/gestures/hbtapandholdgesturelogic_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gestures/hbtapandholdgesturelogic_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -28,6 +28,7 @@ #include "hbtapandholdgesture_p.h" #include "hbtapandholdgesturelogic_p.h" +#include #include #include #include @@ -84,12 +85,14 @@ QPointF startPos = gesture->property("startPos").toPointF(); QPointF lastPos = gesture->property("position").toPointF(); - int movementThreshold = HbTapAndHoldGestureLogic::mTapRadius; + QPointF delta = lastPos - startPos; + + int movementThresholdSquare = mTapRadius * mTapRadius; if ( gesture->property("tapRadius").isValid() ) { - movementThreshold = gesture->property("tapRadius").toInt(); + movementThresholdSquare = gesture->property("tapRadius").toInt() * gesture->property("tapRadius").toInt(); } - return QLineF(startPos, lastPos).length() > movementThreshold; + return (delta.x() * delta.x() + delta.y() * delta.y()) > movementThresholdSquare; }; /*! @@ -157,7 +160,8 @@ gesture->setProperty("position", me->globalPos()); gesture->setProperty("scenePosition", HbGestureUtils::mapToScene(watched, me->globalPos())); gesture->priv->mTimerID = startTimer(gesture, HOLDTAP_ACTIVATION_USECS); - + mTapRadius = (int)(HbDefaultTapRadius * HbDeviceProfile::current().ppmValue()); + DEBUG() << gesture << QGestureRecognizer::MayBeGesture; return QGestureRecognizer::MayBeGesture; } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gestures/hbtapgesturelogic_p.cpp --- a/src/hbcore/gestures/hbtapgesturelogic_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gestures/hbtapgesturelogic_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -28,6 +28,7 @@ #include "hbtapgesture.h" #include "hbtapgesture_p.h" +#include #include #include #include @@ -98,6 +99,7 @@ gesture->setStartPos(me->globalPos()); gesture->setScenePosition(HbGestureUtils::mapToScene(watched, me->globalPos())); gesture->setSceneStartPos(HbGestureUtils::mapToScene(watched, me->globalPos())); + mTapRadius = (int)(HbDefaultTapRadius * HbDeviceProfile::current().ppmValue()); HbTapGesturePrivate* d_ptr = gesture->d_func(); d_ptr->mTapStyleHint = HbTapGesture::Tap; @@ -125,18 +127,19 @@ QObject *watched, QMouseEvent *me ) { - if(gestureState != Qt::NoGesture) { - int tapRadius(mTapRadius); + if(gestureState != Qt::NoGesture && gestureState != Qt::GestureCanceled) { + int tapRadiusSquare(mTapRadius * mTapRadius); if(gesture->property("tapRadius").isValid()) { qWarning("WARNING using widget specific properties in HbTapGestureRecognizer"); - tapRadius = gesture->property("tapRadius").toInt(); + int tapRadius = gesture->property("tapRadius").toInt(); + tapRadiusSquare = tapRadius * tapRadius; } gesture->setPosition(me->globalPos()); gesture->setScenePosition(HbGestureUtils::mapToScene(watched, me->globalPos())); gesture->setHotSpot(me->globalPos()); QPointF delta = me->globalPos() - gesture->startPos(); - if(delta.manhattanLength() > tapRadius) { + if((delta.x() * delta.x() + delta.y() * delta.y()) > tapRadiusSquare) { return QGestureRecognizer::CancelGesture; } } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gestures/hbvelocitycalculator_p.cpp --- a/src/hbcore/gestures/hbvelocitycalculator_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gestures/hbvelocitycalculator_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -26,6 +26,8 @@ #include "hbvelocitycalculator_p.h" #include "hbpointrecorder_p.h" +#include "hbgestures_p.h" + #include #include @@ -37,9 +39,6 @@ # define DEBUG qDebug #endif -const int KHbSampleTime = 80; // ms -const int KHbStopTime = 70; // ms - /*! @hbcore \internals @@ -99,7 +98,7 @@ } DEBUG() << "Stationary time: " << list.lastTime().msecsTo(time); - if (list.lastTime().msecsTo(time) > KHbStopTime) { + if (list.lastTime().msecsTo(time) >= HbVelocityStopTime) { return 0.0; } @@ -107,7 +106,7 @@ qreal delta = 0.0; int timeDelta = 0; int i = list.count(); - while (timeDelta < KHbSampleTime && i > 0) { + while (timeDelta < HbVelocitySampleTime && i > 0) { i--; timeDelta = list.at(i).second.msecsTo(time); } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/gui.pri --- a/src/hbcore/gui/gui.pri Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/gui.pri Thu May 27 13:10:59 2010 +0300 @@ -79,10 +79,12 @@ PRIVATE_HEADERS += $$PWD/hbwidgetsequentialshow_p.h PRIVATE_HEADERS += $$PWD/hbnativewindow_sym_p.h PRIVATE_HEADERS += $$PWD/hbsplash_p.h +PRIVATE_HEADERS += $$PWD/hbsplash_direct_symbian_p.h PRIVATE_HEADERS += $$PWD/hbfadeitem_p.h PRIVATE_HEADERS += $$PWD/hbcontentwidget_p.h PRIVATE_HEADERS += $$PWD/hbscreen_p.h PRIVATE_HEADERS += $$PWD/hbsplashdefs_p.h +PRIVATE_HEADERS += $$PWD/hbsplashscreen_generic_p.h PRIVATE_HEADERS += $$PWD/hblongpressvisualizer_p.h SOURCES += $$PWD/hbabstractbutton.cpp diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbbackgrounditem.cpp --- a/src/hbcore/gui/hbbackgrounditem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbbackgrounditem.cpp Thu May 27 13:10:59 2010 +0300 @@ -35,25 +35,19 @@ #include "hbevent.h" #include "hbmainwindow_p.h" -#ifndef HB_NVG_CS_ICON -#define ENABLE_FAST_PAINT_ -#endif - /* \class HbBackgroundItem - \brief HbBackgroundItem draws background + \brief Draws the background. \internal */ HbBackgroundItem::HbBackgroundItem(HbMainWindow *mainWindow, QGraphicsWidget *parent) : HbWidget(parent), - mMainWindow(mainWindow) + mMainWindow(mainWindow), + mImageMode(Hb::ScaleBackgroundToFit) { -#ifdef ENABLE_FAST_PAINT_ - setAttribute(Qt::WA_NoSystemBackground); // Disable clearing of background -#endif setSizePolicy( QSizePolicy::Ignored, QSizePolicy::Ignored ); mPrtImageName = defaultImageName(Qt::Vertical); @@ -96,6 +90,19 @@ : QLatin1String("qtg_graf_screen_bg_lsc"); } +void HbBackgroundItem::setImageMode(Hb::BackgroundImageMode mode) +{ + if (mode != mImageMode) { + mImageMode = mode; + updateBackgroundImage(); + } +} + +Hb::BackgroundImageMode HbBackgroundItem::imageMode() const +{ + return mImageMode; +} + void HbBackgroundItem::updateBackgroundImage() { prepareGeometryChange(); @@ -103,12 +110,22 @@ QSizeF size(HbDeviceProfile::profile(mMainWindow).logicalSize()); mBoundingRect.setWidth(size.width()); mBoundingRect.setHeight(size.height()); - mBackground.setSize(size); if (mMainWindow->orientation() == Qt::Vertical) { mBackground.setIconName(mPrtImageName); } else { mBackground.setIconName(mLscImageName); } + if (mImageMode == Hb::KeepOriginalBackgroundSize + || mImageMode == Hb::KeepOriginalBackgroundSizeIfSmaller) + { + QSizeF imageSize = mBackground.defaultSize(); + if (mImageMode == Hb::KeepOriginalBackgroundSize + || (imageSize.width() <= size.width() && imageSize.height() <= size.height())) + { + size = imageSize; + } + } + mBackground.setSize(size); } } @@ -147,17 +164,28 @@ void HbBackgroundItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { - Q_UNUSED(widget) - Q_UNUSED(option) + Q_UNUSED(widget); + Q_UNUSED(option); + + if (mImageMode == Hb::DoNotDrawBackground) { + return; + } + + // Note: No optimizations to disable alpha blending etc. The background + // image may be anything, it can have transparent parts too. -#ifdef ENABLE_FAST_PAINT_ - QPainter::CompositionMode compositionMode = painter->compositionMode(); - painter->setCompositionMode( QPainter::CompositionMode_Source ); // Do not use alpha blending.. -#endif + Qt::AspectRatioMode aspRatMode; + switch (mImageMode) { + case Hb::ScaleBackgroundToFitWithoutExpanding: + aspRatMode = Qt::KeepAspectRatio; + break; + case Hb::StretchBackgroundToFit: + aspRatMode = Qt::IgnoreAspectRatio; + break; + default: + aspRatMode = Qt::KeepAspectRatioByExpanding; + break; + } - mBackground.paint(painter, mBoundingRect, Qt::KeepAspectRatioByExpanding); - -#ifdef ENABLE_FAST_PAINT_ - painter->setCompositionMode( compositionMode ); // restore old composition mode -#endif + mBackground.paint(painter, mBoundingRect, aspRatMode, Qt::AlignCenter); } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbbackgrounditem_p.h --- a/src/hbcore/gui/hbbackgrounditem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbbackgrounditem_p.h Thu May 27 13:10:59 2010 +0300 @@ -47,6 +47,9 @@ QString imageName(Qt::Orientation orientation) const; QString defaultImageName(Qt::Orientation orientation) const; + void setImageMode(Hb::BackgroundImageMode mode); + Hb::BackgroundImageMode imageMode() const; + void updateBackgroundImage(); private: @@ -58,6 +61,7 @@ HbMainWindow *mMainWindow; QString mPrtImageName; QString mLscImageName; + Hb::BackgroundImageMode mImageMode; }; #endif // HBBACKGROUNDITEM_H diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbcssinspector_p.cpp --- a/src/hbcore/gui/hbcssinspector_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbcssinspector_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -45,14 +45,17 @@ #include #include #include -#include #include +#include #include #include #include #include #include +#include +#include #include +#include #include @@ -82,7 +85,11 @@ const QString TEXT_COLOR = "qtc_default_main_pane_normal"; const QString LINE_COLOR = "qtc_view_visited_normal"; const int ABOVE_POPUP_ZVALUE = 5000; - +const qreal SIZE_PREF_DRAW_SIZE = 7.0; +const qreal SIZE_PREF_MINIMUM_THRESHOLD = 4.0 * SIZE_PREF_DRAW_SIZE; +const qreal SIZE_PREF_LINE_WIDTH = 1.0; +const qreal SIZE_PREF_ALLOWED_OVERLAP = 2.0; +const qreal SIZE_PREF_BOX_SIZE = 0.4 * SIZE_PREF_DRAW_SIZE; static QString cssItemText(const QGraphicsItem *item) { @@ -105,6 +112,8 @@ txt.append("::"); txt.append(itemName); } + } else { + txt = "QGraphicsItem"; } return txt; } @@ -150,16 +159,43 @@ return sizeHint; } -static QRectF cssItemHintRect(const QGraphicsItem *item) +static QString cssSizePolicyText(const QGraphicsItem *item, Qt::Orientation dir) +{ + if (!item->isWidget()) { + return ""; + } + const HbWidget *widget = static_cast(item); + QSizePolicy::Policy pol = dir == Qt::Vertical + ? widget->sizePolicy().verticalPolicy() + : widget->sizePolicy().horizontalPolicy(); + + if (pol == QSizePolicy::Fixed) { + return "Fixed"; + } else if (pol == QSizePolicy::Minimum) { + return "Minimum"; + } else if (pol == QSizePolicy::Maximum) { + return "Maximum"; + } else if (pol == QSizePolicy::Preferred) { + return "Preferred"; + } else if (pol == QSizePolicy::MinimumExpanding) { + return "Minimum expanding"; + } else if (pol == QSizePolicy::Expanding) { + return "Expanding"; + } else if (pol == QSizePolicy::Ignored) { + return "Ignored"; + } else { + return "[Unrecognised]"; + } +} + +static QRectF cssItemHintRect(const QGraphicsItem *item, Qt::SizeHint which) { QRectF hintRect; if (item->isWidget()) { - if (item->isWidget()) { - const QGraphicsWidget *widget = static_cast(item); - const QSizeF &size = widget->effectiveSizeHint(Qt::PreferredSize); - hintRect.setWidth(size.width()); - hintRect.setHeight(size.height()); - } + const QGraphicsWidget *widget = static_cast(item); + const QSizeF &size = widget->effectiveSizeHint(which); + hintRect.setWidth(size.width()); + hintRect.setHeight(size.height()); } return hintRect; } @@ -268,14 +304,12 @@ -HbCssInfoDrawer::HbCssInfoDrawer(QGraphicsItem *parent) - : HbWidgetBase(parent), - mShowItemText(true), - mShowHintText(true), - mShowBox(true), - mShowHintBox(true), - mDrawGuideLines(true), - mItemRect(0,0,0,0) +HbCssInfoDrawer::HbCssInfoDrawer(QGraphicsItem *parent) : + HbWidgetBase(parent), + mItemRect(0,0,0,0), + mMinHintRect(0,0,0,0), + mPrefHintRect(0,0,0,0), + mMaxHintRect(0,0,0,0) { updateColors(); setVisible(false); @@ -310,11 +344,14 @@ mItemRect = item->sceneBoundingRect(); mItemText = cssItemText(item); mHintText = cssItemHintText(item); - mHintRect = cssItemHintRect(item); + mMinHintRect = cssItemHintRect(item, Qt::MinimumSize); + mPrefHintRect = cssItemHintRect(item, Qt::PreferredSize); + mMaxHintRect = cssItemHintRect(item, Qt::MaximumSize); // Make sure this is in the same place in the scene as the window if (item->isWidget()) { const HbWidget *obj = static_cast(item); this->setGeometry(obj->mainWindow()->rect()); + mItemPolicy = obj->sizePolicy(); } } else { this->setVisible(false); @@ -324,10 +361,166 @@ void HbCssInfoDrawer::paintRect(QPainter *painter, QRectF rect) { - rect.adjust( - HOVER_BOX_PEN_WIDTH/2, HOVER_BOX_PEN_WIDTH/2, - -HOVER_BOX_PEN_WIDTH/2, -HOVER_BOX_PEN_WIDTH/2); - painter->drawRect(rect); + rect.adjust( + HOVER_BOX_PEN_WIDTH/2, HOVER_BOX_PEN_WIDTH/2, + -HOVER_BOX_PEN_WIDTH/2, -HOVER_BOX_PEN_WIDTH/2); + painter->drawRect(rect); +} + +static QPolygonF createTrianglePoints(const QPointF &pointPos, Qt::ArrowType dir) +{ + const qreal size = SIZE_PREF_DRAW_SIZE; + const qreal half = size / 2.0; + const qreal x = pointPos.x(); + const qreal y = pointPos.y(); + + QPolygonF points; + points << pointPos; + + switch (dir) { + case Qt::LeftArrow: + points << QPointF(x+size, y-half); + points << QPointF(x+size, y+half); + break; + case Qt::RightArrow: + points << QPointF(x-size, y-half); + points << QPointF(x-size, y+half); + break; + case Qt::UpArrow: + points << QPointF(x-half, y+size); + points << QPointF(x+half, y+size); + break; + case Qt::DownArrow: + points << QPointF(x-half, y-size); + points << QPointF(x+half, y-size); + break; + default: // Set points to same position to avoid drawing to origin + points << pointPos; + points << pointPos; + } + return points; +} + +enum LayoutPosition { + RegularLayout, + MirroredLayout +}; + +enum ArrowDirection { + RegularArrow, + MirroredArrow +}; + +static void drawTriangle(QPainter *painter, Qt::Orientation dir, const QRectF &bRect, + int iconsFromEdge, qreal linePos, LayoutPosition layout, ArrowDirection arrowDir) +{ + QPointF point; + + qreal posFromEdge = iconsFromEdge * SIZE_PREF_DRAW_SIZE; + if (arrowDir == MirroredArrow) { + posFromEdge += SIZE_PREF_DRAW_SIZE; + } + + Qt::ArrowType arrow = Qt::NoArrow; + if (dir == Qt::Vertical) { + if (layout == MirroredLayout) { + posFromEdge += bRect.top(); + arrow = (arrowDir == MirroredArrow) ? Qt::DownArrow : Qt::UpArrow; + } else { + posFromEdge = bRect.bottom() - posFromEdge; + arrow = (arrowDir == MirroredArrow) ? Qt::UpArrow : Qt::DownArrow; + } + point = QPointF(linePos, posFromEdge); + } else { + if (layout == MirroredLayout) { + posFromEdge = bRect.right() - posFromEdge; + arrow = (arrowDir == MirroredArrow) ? Qt::LeftArrow : Qt::RightArrow; + } else { + posFromEdge += bRect.left(); + arrow = (arrowDir == MirroredArrow) ? Qt::RightArrow : Qt::LeftArrow; + } + point = QPointF(posFromEdge, linePos); + } + + painter->drawPolygon(createTrianglePoints(point, arrow)); +} + + +static void drawPolicyIcons(QPainter *painter, Qt::Orientation direction, QSizePolicy policy, const QRectF &itemRect) +{ + bool vert = direction == Qt::Vertical; + QSizePolicy::Policy pol = vert ? policy.verticalPolicy() : policy.horizontalPolicy(); + + const QBrush fillBrush(Qt::gray, Qt::SolidPattern); + const QBrush hollowBrush(Qt::white, Qt::SolidPattern); + const QRectF rect = itemRect.adjusted(HOVER_BOX_PEN_WIDTH/2, HOVER_BOX_PEN_WIDTH/2, + -HOVER_BOX_PEN_WIDTH/2, -HOVER_BOX_PEN_WIDTH/2); + + const qreal vLinePos = rect.left() + (rect.width() * 0.8); + const qreal hLinePos = rect.top() + (rect.height() * 0.2); + const int linePos = (int)(vert ? vLinePos : hLinePos); // Cast to force consistent rounding + + bool drawSecondIcons; + if (vert) { + drawSecondIcons = (3*SIZE_PREF_DRAW_SIZE) + rect.top() <= hLinePos + SIZE_PREF_ALLOWED_OVERLAP; + painter->drawLine(linePos, rect.top(), linePos, rect.bottom()); + } else { + drawSecondIcons = rect.right() - (3*SIZE_PREF_DRAW_SIZE) >= vLinePos - SIZE_PREF_ALLOWED_OVERLAP; + painter->drawLine(rect.left(), linePos, rect.right(), linePos); + } + + // Ignore icons have different rules + if (pol & QSizePolicy::IgnoreFlag) { + // Draw outer triangle + painter->setBrush(fillBrush); + drawTriangle(painter, direction, rect, 0, linePos, RegularLayout, RegularArrow); + if (drawSecondIcons) { + drawTriangle(painter, direction, rect, 0, linePos, MirroredLayout, RegularArrow); + } + // Draw inner triangle + painter->setBrush(hollowBrush); + drawTriangle(painter, direction, rect, 2, linePos, RegularLayout, RegularArrow); + if (drawSecondIcons) { + drawTriangle(painter, direction, rect, 2, linePos, MirroredLayout, RegularArrow); + } + } else { + // Draw outer triangle + if (pol & QSizePolicy::GrowFlag) { + painter->setBrush(pol & QSizePolicy::ExpandFlag ? fillBrush : hollowBrush); + drawTriangle(painter, direction, rect, 0, linePos, RegularLayout, RegularArrow); + if (drawSecondIcons) { + drawTriangle(painter, direction, rect, 0, linePos, MirroredLayout, RegularArrow); + } + } + // Draw box + painter->setBrush(pol & QSizePolicy::ExpandFlag ? hollowBrush : fillBrush); + QRectF boxRect(0, 0, SIZE_PREF_DRAW_SIZE, SIZE_PREF_DRAW_SIZE); + qreal midPoint = (1 + 0.5) * SIZE_PREF_DRAW_SIZE; // Middle of the second icon + if (vert) { + boxRect.setHeight(SIZE_PREF_BOX_SIZE); + boxRect.moveCenter(QPointF(linePos, rect.bottom() - midPoint)); + } else { + boxRect.setWidth(SIZE_PREF_BOX_SIZE); + boxRect.moveCenter(QPointF(rect.left() + midPoint, linePos)); + } + painter->drawRect(boxRect); + if (drawSecondIcons) { + if (vert) { + boxRect.moveCenter(QPointF(linePos, rect.top() + midPoint)); + } else { + boxRect.moveCenter(QPointF(rect.right() - midPoint, linePos)); + } + painter->drawRect(boxRect); + } + // Draw inner triangle + if (pol & QSizePolicy::ShrinkFlag) { + painter->setBrush(hollowBrush); + drawTriangle(painter, direction, rect, 2, linePos, RegularLayout, MirroredArrow); + if (drawSecondIcons) { + drawTriangle(painter, direction, rect, 2, linePos, MirroredLayout, MirroredArrow); + } + } + } } void HbCssInfoDrawer::paint(QPainter *painter, @@ -343,12 +536,24 @@ if (mShowBox) { painter->setPen(QPen(mBoxColor, HOVER_BOX_PEN_WIDTH)); paintRect(painter, mItemRect); + } + if (mShowMinHintBox) { + painter->setPen(QPen(Qt::blue, HOVER_BOX_PEN_WIDTH)); + QRectF rect = mMinHintRect; + rect.moveCenter(mItemRect.center()); + paintRect(painter, rect); } - if (mShowHintBox) { + if (mShowPrefHintBox) { painter->setPen(QPen(Qt::green, HOVER_BOX_PEN_WIDTH)); - QRectF prefRect = mHintRect; - prefRect.moveCenter(mItemRect.center()); - paintRect(painter, prefRect); + QRectF rect = mPrefHintRect; + rect.moveCenter(mItemRect.center()); + paintRect(painter, rect); + } + if (mShowMaxHintBox) { + painter->setPen(QPen(Qt::red, HOVER_BOX_PEN_WIDTH)); + QRectF rect = mMaxHintRect; + rect.moveCenter(mItemRect.center()); + paintRect(painter, rect); } painter->setPen(mTextColor); @@ -381,6 +586,17 @@ // Line across bottom painter->drawLine(0, (int)mItemRect.bottom(), (int)br.width(), (int)mItemRect.bottom()); } + + // Draw the size prefs icons + if (mShowSizePrefs) { + painter->setPen(QPen(Qt::gray, SIZE_PREF_LINE_WIDTH)); + if (mItemRect.height() > SIZE_PREF_MINIMUM_THRESHOLD) { + drawPolicyIcons(painter, Qt::Horizontal, mItemPolicy, mItemRect); + } + if (mItemRect.width() > SIZE_PREF_MINIMUM_THRESHOLD) { + drawPolicyIcons(painter, Qt::Vertical, mItemPolicy, mItemRect); + } + } painter->setLayoutDirection(prevDirection); painter->setPen(prevPen); @@ -390,7 +606,42 @@ /******************************************************************************************/ +CodeWidget::CodeWidget(const QString &title, QWidget *parent) + : QWidget(parent), mLabel(0), mTextBox(0) +{ + mLabel = new QLabel(title, this); + mTextBox = new QTextEdit(this); + mTextBox->setReadOnly(true); + QVBoxLayout *layout = new QVBoxLayout(this); + layout->setContentsMargins(0,0,0,0); + layout->addWidget(mLabel); + layout->addWidget(mTextBox); + setLayout(layout); +} +CodeWidget::~CodeWidget() +{ +} + +void CodeWidget::setText(const QString &text) +{ + mTextBox->setText(text); +} + +void CodeWidget::setHtml(const QString &html) +{ + mTextBox->setHtml(html); +} + +void CodeWidget::setLayoutDirection(Qt::LayoutDirection dir) +{ + mLabel->setLayoutDirection(dir); + mTextBox->setLayoutDirection(dir); +} + + + +/******************************************************************************************/ HbCssInspectorWindow *HbCssInspectorWindow::instance() { @@ -426,91 +677,137 @@ window->scene()->installEventFilter(filter); mInstalledFilters.append(filter); connect(filter, SIGNAL(newItemHovered(const QGraphicsItem*)), SLOT(updateFocusItem(const QGraphicsItem*))); - connect(mNameCheck, SIGNAL(toggled(bool)), filter->mCssInfoDrawer, SLOT(setItemTextVisible(bool))); - connect(mSizeHintCheck, SIGNAL(toggled(bool)), filter->mCssInfoDrawer, SLOT(setHintTextVisible(bool))); - connect(mHintOutlinesCheck, SIGNAL(toggled(bool)), filter->mCssInfoDrawer, SLOT(setHintBoxVisible(bool))); + + connect(mObjectNameCheck, SIGNAL(toggled(bool)), filter->mCssInfoDrawer, SLOT(setItemTextVisible(bool))); + connect(mAnchorArrowsCheck, SIGNAL(toggled(bool)), filter->mArrowDrawer, SLOT(setDrawArrows(bool))); + connect(mSubitemOutlinesCheck, SIGNAL(toggled(bool)), filter->mArrowDrawer, SLOT(setDrawOutlines(bool))); + connect(mSpacersCheck, SIGNAL(toggled(bool)), filter->mArrowDrawer, SLOT(setDrawSpacers(bool))); connect(mGuideLinesCheck, SIGNAL(toggled(bool)), filter->mCssInfoDrawer, SLOT(setGuideLinesVisible(bool))); - connect(mArrowsCheck, SIGNAL(toggled(bool)), filter->mArrowDrawer, SLOT(setDrawArrows(bool))); - connect(mOutlinesCheck, SIGNAL(toggled(bool)), filter->mArrowDrawer, SLOT(setDrawOutlines(bool))); - connect(mSpacersCheck, SIGNAL(toggled(bool)), filter->mArrowDrawer, SLOT(setDrawSpacers(bool))); - connect(mLiveRadio, SIGNAL(toggled(bool)), filter, SLOT(setLiveMode(bool))); + + connect(mSizeHintTextCheck, SIGNAL(toggled(bool)), filter->mCssInfoDrawer, SLOT(setHintTextVisible(bool))); + connect(mMinSizeHintCheck, SIGNAL(toggled(bool)), filter->mCssInfoDrawer, SLOT(setMinHintBoxVisible(bool))); + connect(mPrefSizeHintCheck, SIGNAL(toggled(bool)), filter->mCssInfoDrawer, SLOT(setPrefHintBoxVisible(bool))); + connect(mMaxSizeHintCheck, SIGNAL(toggled(bool)), filter->mCssInfoDrawer, SLOT(setMaxHintBoxVisible(bool))); + connect(mSizePrefCheck, SIGNAL(toggled(bool)), filter->mCssInfoDrawer, SLOT(setSizePrefsVisible(bool))); + + connect(mHoverRadio, SIGNAL(toggled(bool)), filter, SLOT(setHoverMode(bool))); connect(mBlockRadio, SIGNAL(toggled(bool)), filter, SLOT(setBlockingMode(bool))); - } + + filter->mCssInfoDrawer->setItemTextVisible(mObjectNameCheck->isChecked()); + filter->mArrowDrawer->setDrawArrows(mAnchorArrowsCheck->isChecked()); + filter->mArrowDrawer->setDrawOutlines(mSubitemOutlinesCheck->isChecked()); + filter->mArrowDrawer->setDrawSpacers(mSpacersCheck->isChecked()); + filter->mCssInfoDrawer->setGuideLinesVisible(mGuideLinesCheck->isChecked()); + filter->mCssInfoDrawer->setHintTextVisible(mSizeHintTextCheck->isChecked()); + filter->mCssInfoDrawer->setMinHintBoxVisible(mMinSizeHintCheck->isChecked()); + filter->mCssInfoDrawer->setPrefHintBoxVisible(mPrefSizeHintCheck->isChecked()); + filter->mCssInfoDrawer->setMaxHintBoxVisible(mMaxSizeHintCheck->isChecked()); + filter->mCssInfoDrawer->setSizePrefsVisible(mSizePrefCheck->isChecked()); + filter->setHoverMode(mHoverRadio->isChecked()); + filter->setBlockingMode(mBlockRadio->isChecked()); + } } HbCssInspectorWindow::HbCssInspectorWindow(QWidget *parent) - : QWidget(parent), mLayoutWidgetMLBox(0), mLayoutCssBox(0), mColorsCssBox(0) + : QWidget(parent) { - QGroupBox *settings = new QGroupBox(tr("Settings"), this); - QGridLayout *settingLayout = new QGridLayout(settings); - mArrowsCheck = new QCheckBox(tr("Draw arrows"), this); - mOutlinesCheck = new QCheckBox(tr("Draw subitem outlines"), this); - mHintOutlinesCheck = new QCheckBox(tr("Draw sizehint outlines"), this); + QGroupBox *generalGroup = new QGroupBox(tr("General"), this); + QVBoxLayout *genLayout = new QVBoxLayout(this); + generalGroup->setLayout(genLayout); + mObjectNameCheck = new QCheckBox(tr("Show object name"), this); + mAnchorArrowsCheck = new QCheckBox(tr("Draw arrows"), this); + mSubitemOutlinesCheck = new QCheckBox(tr("Draw subitem outlines"), this); mSpacersCheck = new QCheckBox(tr("Draw spacers"), this); - mNameCheck = new QCheckBox(tr("Show object name"), this); - mSizeHintCheck = new QCheckBox(tr("Show size hint"), this); mGuideLinesCheck = new QCheckBox(tr("Draw guide lines"), this); - mLiveRadio = new QRadioButton(tr("Live mode"), this); + genLayout->addWidget(mObjectNameCheck); + genLayout->addWidget(mAnchorArrowsCheck); + genLayout->addWidget(mSubitemOutlinesCheck); + genLayout->addWidget(mSpacersCheck); + genLayout->addWidget(mGuideLinesCheck); + + QGroupBox *sizeHintOptsGroup = new QGroupBox(tr("Size Hints"), this); + QVBoxLayout *shLayout = new QVBoxLayout(this); + sizeHintOptsGroup->setLayout(shLayout); + mSizeHintTextCheck = new QCheckBox(tr("Show size hint"), this); + mMinSizeHintCheck = new QCheckBox(tr("Min size hint outline"), this); + mPrefSizeHintCheck = new QCheckBox(tr("Pref size hint outline"), this); + mMaxSizeHintCheck = new QCheckBox(tr("Max size hint outline"), this); + mSizePrefCheck = new QCheckBox(tr("Size preferences"), this); + shLayout->addWidget(mSizeHintTextCheck); + shLayout->addWidget(mMinSizeHintCheck); + shLayout->addWidget(mPrefSizeHintCheck); + shLayout->addWidget(mMaxSizeHintCheck); + shLayout->addWidget(mSizePrefCheck); + + QGroupBox *eventModeGroup = new QGroupBox(tr("Event mode"), this); + QVBoxLayout *eventLayout = new QVBoxLayout(this); + eventModeGroup->setLayout(eventLayout); + mHoverRadio = new QRadioButton(tr("Hover mode"), this); mClickRadio = new QRadioButton(tr("Click locking mode"), this); - mBlockRadio = new QRadioButton(tr("Click locking mode (block events)"), this); - settingLayout->addWidget(mArrowsCheck, 0, 0); - settingLayout->addWidget(mOutlinesCheck, 1, 0); - settingLayout->addWidget(mHintOutlinesCheck, 2, 0); - settingLayout->addWidget(mSpacersCheck, 3, 0); - settingLayout->addWidget(mNameCheck, 0, 1); - settingLayout->addWidget(mSizeHintCheck, 1, 1); - settingLayout->addWidget(mGuideLinesCheck, 2, 1); - settingLayout->addWidget(mLiveRadio, 0, 2); - settingLayout->addWidget(mClickRadio, 1, 2); - settingLayout->addWidget(mBlockRadio, 2, 2); - mArrowsCheck->setChecked(true); - mOutlinesCheck->setChecked(true); - mHintOutlinesCheck->setChecked(true); - mSpacersCheck->setChecked(true); - mNameCheck->setChecked(true); - mSizeHintCheck->setChecked(true); - mGuideLinesCheck->setChecked(true); - mLiveRadio->setChecked(true); + mBlockRadio = new QRadioButton(tr("Blocked locking mode"), this); + eventLayout->addWidget(mHoverRadio); + eventLayout->addWidget(mClickRadio); + eventLayout->addWidget(mBlockRadio); + + QHBoxLayout *settingLayout = new QHBoxLayout; + settingLayout->addWidget(generalGroup); + settingLayout->addWidget(sizeHintOptsGroup); + settingLayout->addWidget(eventModeGroup); + + QGroupBox *sizeHintGroup = new QGroupBox(tr("Size hint"), this); + QHBoxLayout *sizeHLayout = new QHBoxLayout; + sizeHintGroup->setLayout(sizeHLayout); + mSizeHintLabel = new QLabel("", this); + sizeHLayout->addWidget(mSizeHintLabel); - QLabel *lblWidgetML = new QLabel(tr("WidgetML"), this); - mLayoutWidgetMLBox = new QTextEdit(this); - mLayoutWidgetMLBox->setReadOnly(true); + QGroupBox *sizePolicyGroup = new QGroupBox(tr("Size Policies"), this); + QHBoxLayout *sizePolicyLayout = new QHBoxLayout; + sizePolicyGroup->setLayout(sizePolicyLayout); + mSizePolicyHoriz = new QLabel("", this); + mSizePolicyVert = new QLabel("", this); + sizePolicyLayout->addWidget(mSizePolicyHoriz); + sizePolicyLayout->addWidget(mSizePolicyVert); - QLabel *lblLayout = new QLabel(tr("Layouts CSS stack (+all)"), this); - mLayoutCssBox = new QTextEdit(this); - mLayoutCssBox->setReadOnly(true); + QHBoxLayout *sizeLayout = new QHBoxLayout; + sizeLayout->setContentsMargins(0,0,0,0); + sizeLayout->addWidget(sizeHintGroup); + sizeLayout->addWidget(sizePolicyGroup); + + mWidgetMLBox = new CodeWidget(tr("WidgetML"), this); - QLabel *lblColors = new QLabel(tr("Colors CSS stack (+all)"), this); - mColorsCssBox = new QTextEdit(this); - mColorsCssBox->setReadOnly(true); + QSplitter *cssSplitter = new QSplitter(this); + mLayoutCssBox = new CodeWidget(tr("Layouts CSS stack (+all)"), this); + mColorsCssBox = new CodeWidget(tr("Colors CSS stack (+all)"), this); + cssSplitter->addWidget(mLayoutCssBox); + cssSplitter->addWidget(mColorsCssBox); + + QSplitter *widgetmlCssSplit = new QSplitter(Qt::Vertical, this); + widgetmlCssSplit->addWidget(mWidgetMLBox); + widgetmlCssSplit->addWidget(cssSplitter); mPathLabel = new QLabel("", this); - mSizeHintLabel = new QLabel("", this); - mSizeHintLabel->setAlignment(Qt::AlignRight); - QGridLayout *layout = new QGridLayout(this); - layout->addWidget(settings, 0, 0, 1, 4); - layout->addWidget(lblWidgetML, 1, 0); - layout->addWidget(mLayoutWidgetMLBox, 2, 0, 1, 4); - layout->addWidget(lblLayout, 3, 0, 1, 2); - layout->addWidget(lblColors, 3, 2, 1, 2); - layout->addWidget(mLayoutCssBox, 4, 0, 1, 2); - layout->addWidget(mColorsCssBox, 4, 2, 1, 2); - layout->addWidget(mPathLabel, 5, 0, 1, 3); - layout->addWidget(mSizeHintLabel, 5, 3, 1, 1); - layout->setRowStretch(2, 2); - layout->setRowStretch(4, 3); + QVBoxLayout *mainLayout = new QVBoxLayout(this); + mainLayout->addLayout(settingLayout); + mainLayout->addLayout(sizeLayout); + mainLayout->addWidget(widgetmlCssSplit); + mainLayout->addWidget(mPathLabel); // Lock in left-to-right mode mSizeHintLabel->setLayoutDirection(Qt::LeftToRight); - lblColors->setLayoutDirection(Qt::LeftToRight); - lblLayout->setLayoutDirection(Qt::LeftToRight); mLayoutCssBox->setLayoutDirection(Qt::LeftToRight); mColorsCssBox->setLayoutDirection(Qt::LeftToRight); - mLayoutWidgetMLBox->setLayoutDirection(Qt::LeftToRight); + mWidgetMLBox->setLayoutDirection(Qt::LeftToRight); - setLayout(layout); + // Set default options + mObjectNameCheck->setChecked(true); + mAnchorArrowsCheck->setChecked(true); + mSubitemOutlinesCheck->setChecked(true); + mSpacersCheck->setChecked(true); + mHoverRadio->setChecked(true); + + setLayout(mainLayout); } @@ -559,7 +856,7 @@ HbMeshLayout *mesh = dynamic_cast(widget->layout()); html = meshItemsToHtmlInfo(mesh, itemName, layoutName); } - mLayoutWidgetMLBox->setHtml(html); + mWidgetMLBox->setHtml(html); } // Update colours CSS box @@ -571,6 +868,8 @@ // Update text labels mSizeHintLabel->setText(cssItemHintText(item)); + mSizePolicyHoriz->setText("Horizontal: " + cssSizePolicyText(item, Qt::Horizontal)); + mSizePolicyVert->setText("Vertical: " + cssSizePolicyText(item, Qt::Vertical)); const QGraphicsItem *pathItem = item; QString cssPath = cssItemText(pathItem); while (pathItem->parentItem()) { @@ -580,11 +879,13 @@ } mPathLabel->setText(cssPath); } else { - mLayoutWidgetMLBox->setText(""); + mWidgetMLBox->setText(""); mLayoutCssBox->setText(""); mColorsCssBox->setText(""); mPathLabel->setText(""); mSizeHintLabel->setText(""); + mSizePolicyHoriz->setText(""); + mSizePolicyVert->setText(""); } } @@ -596,8 +897,8 @@ bool HoveredWidgetFilter::eventFilter(QObject *obj, QEvent *event) { - if ((event->type() == QEvent::GraphicsSceneMouseMove && mLiveMode) - || (event->type() == QEvent::GraphicsSceneMousePress && !mLiveMode)){ + if ((event->type() == QEvent::GraphicsSceneMouseMove && mHoverMode) + || (event->type() == QEvent::GraphicsSceneMousePress && !mHoverMode)){ QGraphicsSceneMouseEvent *mouseEvent = static_cast(event); QPointF eventPos = mouseEvent->scenePos(); @@ -645,7 +946,7 @@ if (mBlockingMode) { return true; } - } else if(event->type() == QEvent::Leave && mLiveMode) { + } else if(event->type() == QEvent::Leave && mHoverMode) { emit newItemHovered(0); mCurrentItem = 0; #ifdef HB_GESTURE_FW @@ -662,7 +963,7 @@ } HoveredWidgetFilter::HoveredWidgetFilter(QGraphicsScene *scene) - : mScene(scene), mCurrentItem(0), mArrowDrawer(0), mCssInfoDrawer(0), mLiveMode(true), mBlockingMode(false) + : mScene(scene), mCurrentItem(0), mArrowDrawer(0), mCssInfoDrawer(0), mHoverMode(true), mBlockingMode(false) { mCssInfoDrawer = new HbCssInfoDrawer(0); mScene->addItem(mCssInfoDrawer); @@ -685,4 +986,4 @@ delete mArrowDrawer; } -#endif +#endif // HB_CSS_INSPECTOR diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbcssinspector_p.h --- a/src/hbcore/gui/hbcssinspector_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbcssinspector_p.h Thu May 27 13:10:59 2010 +0300 @@ -30,12 +30,12 @@ #include #include #include -QT_FORWARD_DECLARE_CLASS(QTextEdit) -QT_FORWARD_DECLARE_CLASS(QGraphicsScene) +QT_FORWARD_DECLARE_CLASS(QCheckBox) QT_FORWARD_DECLARE_CLASS(QGraphicsItem) +QT_FORWARD_DECLARE_CLASS(QGraphicsScene) QT_FORWARD_DECLARE_CLASS(QLabel) -QT_FORWARD_DECLARE_CLASS(QCheckBox) QT_FORWARD_DECLARE_CLASS(QRadioButton) +QT_FORWARD_DECLARE_CLASS(QTextEdit) QT_FORWARD_DECLARE_CLASS(HbAnchorArrowDrawer) QT_FORWARD_DECLARE_CLASS(HbMeshLayout) @@ -49,12 +49,17 @@ virtual ~HbCssInfoDrawer(); public slots: - void setItemTextVisible(bool visible) { mShowItemText = visible; }; - void setHintTextVisible(bool visible) { mShowHintText = visible; }; + void updateFocusItem(const QGraphicsItem* item); + void setBoxVisible(bool visible) { mShowBox = visible; }; - void setHintBoxVisible(bool visible) { mShowHintBox = visible; }; + void setItemTextVisible(bool visible) { mShowItemText = visible; }; void setGuideLinesVisible(bool visible) { mDrawGuideLines = visible; }; - void updateFocusItem(const QGraphicsItem* item); + + void setHintTextVisible(bool visible) { mShowHintText = visible; }; + void setMinHintBoxVisible(bool visible) { mShowMinHintBox = visible; }; + void setPrefHintBoxVisible(bool visible) { mShowPrefHintBox = visible; }; + void setMaxHintBoxVisible(bool visible) { mShowMaxHintBox = visible; }; + void setSizePrefsVisible(bool visible) { mShowSizePrefs = visible; }; protected: void changeEvent(QEvent *event); @@ -63,17 +68,25 @@ void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); private: - bool mShowItemText; - bool mShowHintText; - bool mShowBox; - bool mShowHintBox; - bool mDrawGuideLines; QColor mTextColor; QColor mBoxColor; QString mItemText; QString mHintText; QRectF mItemRect; - QRectF mHintRect; + QSizePolicy mItemPolicy; + QRectF mMinHintRect; + QRectF mPrefHintRect; + QRectF mMaxHintRect; + + bool mShowBox; + bool mShowItemText; + bool mDrawGuideLines; + + bool mShowHintText; + bool mShowMinHintBox; + bool mShowPrefHintBox; + bool mShowMaxHintBox; + bool mShowSizePrefs; }; @@ -89,7 +102,7 @@ void newItemHovered(const QGraphicsItem* item); public slots: - void setLiveMode(bool enabled) { mLiveMode = enabled; }; + void setHoverMode(bool enabled) { mHoverMode = enabled; }; void setBlockingMode(bool enabled) { mBlockingMode = enabled; }; protected: @@ -100,13 +113,30 @@ QGraphicsItem *mCurrentItem; HbAnchorArrowDrawer *mArrowDrawer; HbCssInfoDrawer *mCssInfoDrawer; - bool mLiveMode; + bool mHoverMode; bool mBlockingMode; friend class HbCssInspectorWindow; }; +class CodeWidget : public QWidget +{ + Q_OBJECT + +public: + CodeWidget(const QString &title, QWidget *parent=0); + virtual ~CodeWidget(); +public slots: + void setText(const QString &text); + void setHtml(const QString &html); + void setLayoutDirection(Qt::LayoutDirection dir); +private: + QLabel *mLabel; + QTextEdit *mTextBox; +}; + + class HbCssInspectorWindow : public QWidget { Q_OBJECT @@ -127,22 +157,31 @@ private: explicit HbCssInspectorWindow(QWidget *parent = 0); - QTextEdit *mLayoutWidgetMLBox; - QTextEdit *mLayoutCssBox; - QTextEdit *mColorsCssBox; + QVector mInstalledFilters; + + CodeWidget *mWidgetMLBox; + CodeWidget *mLayoutCssBox; + CodeWidget *mColorsCssBox; QLabel *mPathLabel; QLabel *mSizeHintLabel; - QCheckBox *mArrowsCheck; - QCheckBox *mOutlinesCheck; - QCheckBox *mHintOutlinesCheck; + QLabel *mSizePolicyHoriz; + QLabel *mSizePolicyVert; + + QCheckBox *mObjectNameCheck; + QCheckBox *mAnchorArrowsCheck; + QCheckBox *mSubitemOutlinesCheck; QCheckBox *mSpacersCheck; - QCheckBox *mNameCheck; - QCheckBox *mSizeHintCheck; QCheckBox *mGuideLinesCheck; - QRadioButton *mLiveRadio; + + QCheckBox *mSizeHintTextCheck; + QCheckBox *mMinSizeHintCheck; + QCheckBox *mPrefSizeHintCheck; + QCheckBox *mMaxSizeHintCheck; + QCheckBox *mSizePrefCheck; + + QRadioButton *mHoverRadio; QRadioButton *mClickRadio; QRadioButton *mBlockRadio; - QVector mInstalledFilters; }; #endif diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbmainwindow.cpp --- a/src/hbcore/gui/hbmainwindow.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbmainwindow.cpp Thu May 27 13:10:59 2010 +0300 @@ -63,6 +63,7 @@ #ifdef Q_OS_SYMBIAN #include +#include #include "hbnativewindow_sym_p.h" #endif @@ -92,14 +93,13 @@ really visible. HbMainWindow has a signalling mechanism for helping control the - application's view construction. viewReady()-signal is emitted - when view's internal construction is completed and basic parts of - view are already drawn. Same signal is also emitted when current - view is switched. This helps applications to split the view - construction to reasonable tasks. For example the lower priority - tasks like opening network connection or preparing other currently - hidden application views can happen on background when first view - is already drawn. + application's view construction. The viewReady() signal is emitted when a + view's internal construction is completed and basic parts of view are + already drawn. Same signal is also emitted when current view has + changed. This helps applications to split the view construction to + reasonable tasks. For example the lower priority tasks like opening network + connection or preparing other currently hidden application views can happen + on background when first view is already drawn. Example of simple Hb application constructing HbMainWindow: @@ -172,6 +172,21 @@ This signal is emitted first time when window content is drawn on screen. It will only be emitted again when current view is changed and drawn on screen. + This means that this signal is emitted in the following cases: + + - When the mainwindow is fully constructed, this happens shortly after + painting it for the first time. + + - When a new view is added using addView() or insertView() after the + mainwindow is fully constructed and the newly added view becomes the + current view. It will not be emitted when calling addView() or + insertView() before showing the mainwindow or entering the event loop + because in that case the signal will anyway be emitted later, when the + mainwindow becomes ready. It is also not emitted when the newly added view + does not become the current view. + + - When the current view is changed using setCurrentView(). + If the view switch is animated, the signal is emitted only after the effect has completed. @@ -213,8 +228,6 @@ d->q_ptr = this; // No need for any default (e.g. blank white) background for this window. - // Setting this attribute is mandatory in order to have a flicker-less - // startup (both with and without splash screen). setAttribute(Qt::WA_NoSystemBackground); // Continue with basic initialization. Note: Prefer doing everything that is @@ -408,6 +421,12 @@ d->mViewStackWidget->insertWidget(-1, view); + // If the newly added view becomes the current one then emit the viewReady + // signal (unless the delayed construction is still pending). + if (d->mDelayedConstructionHandled && currentView() == view) { + QMetaObject::invokeMethod(this, "_q_viewReady", Qt::QueuedConnection); + } + return view; } @@ -436,8 +455,15 @@ view->setWidget(widget); } } + d->mViewStackWidget->insertWidget(index, view); + // If the newly inserted view becomes the current one then emit the + // viewReady signal (unless the delayed construction is still pending). + if (d->mDelayedConstructionHandled && currentView() == view) { + QMetaObject::invokeMethod(this, "_q_viewReady", Qt::QueuedConnection); + } + return view; } @@ -534,8 +560,9 @@ // If animation is disabled or there is no view set currently then change // without animation. d->mViewStackWidget->setCurrentWidget(view); - if (d->mDelayedConstructionHandled) + if (d->mDelayedConstructionHandled) { QMetaObject::invokeMethod(this, "_q_viewReady", Qt::QueuedConnection); + } } } } @@ -699,6 +726,35 @@ } /*! + Sets the background image drawing mode. This setting controls how + the background image is displayed. + + By default the mode is set to Hb::ScaleBackgroundToFit. + + \sa backgroundImageMode() + \sa Hb::BackgroundImageMode + */ +void HbMainWindow::setBackgroundImageMode(Hb::BackgroundImageMode mode) +{ + Q_D(HbMainWindow); + if (d->mBgItem) { + d->mBgItem->setImageMode(mode); + } +} + +/*! + Returns the currently set background image drawing mode. + + \sa setBackgroundImageMode() + \sa Hb::BackgroundImageMode + */ +Hb::BackgroundImageMode HbMainWindow::backgroundImageMode() const +{ + Q_D(const HbMainWindow); + return d->mBgItem ? d->mBgItem->imageMode() : Hb::ScaleBackgroundToFit; +} + +/*! Sets the animations enabled when the orientation is changed automatically. By default animations are enabled. @@ -857,6 +913,13 @@ } // get rid of the splash screen widget (it is not visible to the user anyway at this point) HbSplashScreen::destroy(); +#ifdef Q_OS_SYMBIAN + // disable surface transparency unless we were really asked to be transparent + if (!testAttribute(Qt::WA_TranslucentBackground)) { + RWindow *const window = static_cast(effectiveWinId()->DrawableWindow()); + window->SetSurfaceTransparency(false); + } +#endif } // Notify that mainwindow is (most probably) ready. // The signal must be emitted always, even when there was no need to do anything. @@ -915,6 +978,21 @@ QGraphicsView::paintEvent(event); } +void HbMainWindow::showEvent(QShowEvent *event) +{ +#ifdef Q_OS_SYMBIAN + // Enable surface transparency if QWidget did not do it already. This is a + // workaround for having non-transparent surfaces filled automatically with + // black color. The showEvent is a suitable place because the native control + // is already created at this point, but it is not too late either. + if (!testAttribute(Qt::WA_TranslucentBackground)) { + RWindow *const window = static_cast(effectiveWinId()->DrawableWindow()); + window->SetSurfaceTransparency(true); + } +#endif + QGraphicsView::showEvent(event); +} + /*! Reimplemented from QAbstractScrollArea::scrollContentsBy(). */ diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbmainwindow.h --- a/src/hbcore/gui/hbmainwindow.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbmainwindow.h Thu May 27 13:10:59 2010 +0300 @@ -72,6 +72,9 @@ void setBackgroundImageName(Qt::Orientation orientation, const QString &name); QString backgroundImageName(Qt::Orientation orientation) const; + void setBackgroundImageMode(Hb::BackgroundImageMode mode); + Hb::BackgroundImageMode backgroundImageMode() const; + void setAutomaticOrientationEffectEnabled(bool enabled = true); bool automaticOrientationEffectEnabled() const; @@ -95,6 +98,7 @@ void customEvent(QEvent *event); void scrollContentsBy(int dx, int dy); void paintEvent(QPaintEvent *event); + void showEvent(QShowEvent *event); HbMainWindowPrivate *const d_ptr; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbmainwindow_p.cpp --- a/src/hbcore/gui/hbmainwindow_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbmainwindow_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -52,11 +52,15 @@ #include "hbscreen_p.h" #include "hbbackgrounditem_p.h" #include "hbforegroundwatcher_p.h" - +#include "hbcorepskeys_p.h" +#include "hbmainwindoworientation_p.h" #ifdef Q_OS_SYMBIAN #include "hbnativewindow_sym_p.h" -#endif +#include "hbdevicedialogserverdefs_p.h" + +const TUid deviceDialogUid = {0x20022FC5}; +#endif //Q_OS_SYMBIAN const int HbMainWindowPrivate::IdleEvent = QEvent::registerEventType(); const int HbMainWindowPrivate::IdleOrientationEvent = QEvent::registerEventType(); @@ -79,10 +83,13 @@ mTitleBar(0), mStatusBar(0), mFadeItem(0), - mRootItem(0), + mRootItem(0), + mPendingOrientationValue(0), mAutomaticOrientationSwitch(true), mUserOrientationSwitch(false), mOrientationChangeOngoing(false), + mGVOrientationChangeEffectEnabled(false), + mPendingPsPublish(false), mOrientation(Qt::Vertical), mRequestedOrientation(Qt::Vertical), mCurrentToolbar(0), @@ -99,7 +106,8 @@ mAutomaticOrientationChangeAnimation(true) #ifdef Q_OS_SYMBIAN , - mNativeWindow(0) + mNativeWindow(0), + mDevDlgClientSession(0) #endif { } @@ -253,20 +261,25 @@ { Q_Q(HbMainWindow); mRequestedOrientation = orientation; - + if (mOrientationChangeOngoing) { + if (!mForceSetOrientation && !mUserOrientationSwitch) { + return; + } else { + HbEffectInternal::cancelAll(); + } + } + + if (mOrientation == orientation && !mForceSetOrientation && mEffectItem) { return; } - if ( (mOrientation == orientation) && !mForceSetOrientation && mEffectItem) { - return; - } - + // skip transition if graphicsview is not visible mAnimateOrientationSwitch = animate; if (!q->isVisible()) mAnimateOrientationSwitch = false; - + // calling due to resize, orientation remains the same -> no signalling if ( !((mOrientation == orientation) && mForceSetOrientation) ) { // cancel all effects @@ -277,9 +290,9 @@ emit q->aboutToChangeOrientation(); emit q->aboutToChangeOrientation(orientation, mAnimateOrientationSwitch); } - + mOrientation = orientation; - + if (!mAnimateOrientationSwitch) { HbEffect::disable(mEffectItem); HbEffect::disable(&mGVWrapperItem); @@ -293,7 +306,11 @@ //For mirroring case changeSceneSize(); - + +#ifdef Q_OS_SYMBIAN + updateForegroundOrientationPSKey(); +#endif + HbEffect::start(mEffectItem, "rootItemFirstPhase", q, "rootItemFirstPhaseDone"); if (mAnimateOrientationSwitch) { @@ -696,10 +713,9 @@ */ void HbMainWindowPrivate::fadeScreen(qreal zValue) { - if (mFadeItem) { - mFadeItem->setZValue(zValue); - mFadeItem->show(); - } + initFadeItem(); + mFadeItem->setZValue(zValue); + mFadeItem->show(); } /* @@ -709,8 +725,20 @@ */ void HbMainWindowPrivate::unfadeScreen() { - if (mFadeItem) { + initFadeItem(); + mFadeItem->hide(); +} + +/* + Creates the fade item. +*/ +void HbMainWindowPrivate::initFadeItem() +{ + if (!mFadeItem) { + mFadeItem = new HbFadeItem; + mFadeItem->setZValue(HbPrivate::FadingItemZValue); mFadeItem->hide(); + mScene->addItem(mFadeItem); } } @@ -946,11 +974,15 @@ connect(mStatusBar, SIGNAL(deactivated(const QList &)), mTitleBar, SIGNAL(deactivated(const QList &))); - mFadeItem = new HbFadeItem; - mFadeItem->setZValue(HbPrivate::FadingItemZValue); - mFadeItem->hide(); - mScene->addItem(mFadeItem); + initFadeItem(); +#ifdef Q_OS_SYMBIAN + mDevDlgConnectHelper = new HbDeviceDialogConnectHelper(this); + connect(mDevDlgConnectHelper, SIGNAL(sessionEstablished(RHbDeviceDialogClientSession *)), + this, SLOT(deviceDialogConnectionReady(RHbDeviceDialogClientSession *))); + mDevDlgConnectHelper->connect(); +#endif //Q_OS_SYMBIAN + _q_viewReady(); postIdleEvent(HbMainWindowPrivate::IdleEvent); @@ -992,5 +1024,53 @@ } } +void HbMainWindowPrivate::setViewportSize(const QSizeF& newSize) +{ + mClippingItem->resize(newSize); + mLayoutRect = QRectF(QPointF(0,0), newSize); + mViewStackWidget->resize(newSize); +} +QSizeF HbMainWindowPrivate::viewPortSize() const +{ + return mClippingItem->size(); +} + +#ifdef Q_OS_SYMBIAN +void HbMainWindowPrivate::updateForegroundOrientationPSKey() +{ + // check current process is not devicedialog + RProcess process; + if (process.SecureId().iId != deviceDialogUid.iUid) { + if (mDevDlgClientSession && !mPendingPsPublish) { + int orie = mOrientation; + if (!mAutomaticOrientationSwitch) + orie |= KHbFixedOrientationMask; + mDevDlgClientSession->SendSyncRequest( EHbSrvPublishOrientation, orie ); + } + else if (mDevDlgClientSession && mPendingPsPublish) { + mDevDlgClientSession->SendSyncRequest( EHbSrvPublishOrientation, mPendingOrientationValue ); + mPendingPsPublish = false; + mPendingOrientationValue = 0; + } + else if (!mDevDlgClientSession && !mPendingPsPublish) { + mPendingOrientationValue = mOrientation; + if (!mAutomaticOrientationSwitch) + mPendingOrientationValue |= KHbFixedOrientationMask; + mPendingPsPublish = true; + } + } + process.Close(); +} +#endif + +#ifdef Q_OS_SYMBIAN +void HbMainWindowPrivate::deviceDialogConnectionReady(RHbDeviceDialogClientSession *clientSession) +{ + mDevDlgClientSession = clientSession; + if (mPendingPsPublish) + updateForegroundOrientationPSKey(); +} + +#endif //Q_OS_SYMBIAN // end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbmainwindow_p.h --- a/src/hbcore/gui/hbmainwindow_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbmainwindow_p.h Thu May 27 13:10:59 2010 +0300 @@ -41,6 +41,10 @@ #include "hbdeviceprofile.h" #include "hbeffect.h" #include "hbeffectinternal_p.h" +#ifdef Q_OS_SYMBIAN +#include +#include +#endif class HbBackgroundItem; class HbGraphicsScene; @@ -98,6 +102,7 @@ void updateRotationEffects(); void addBackgroundItem(); void removeBackgroundItem(); + void initFadeItem(); void postIdleEvent(int eventId); @@ -118,6 +123,7 @@ QGraphicsWidget *mRootItem; QGraphicsWidget *mEffectItem; Qt::Orientation mDefaultOrientation; + int mPendingOrientationValue; qreal mOrientationAngle; QList mItemList; QList mOrientationChangeEffectItems; @@ -126,6 +132,7 @@ bool mOrientationChangeOngoing; bool mAnimateOrientationSwitch; bool mGVOrientationChangeEffectEnabled; + bool mPendingPsPublish; Qt::Orientation mOrientation; Qt::Orientation mRequestedOrientation; HbToolBar *mCurrentToolbar; @@ -154,8 +161,9 @@ QTranslator mCommonTranslator; #ifdef Q_OS_SYMBIAN HbNativeWindow *mNativeWindow; + RHbDeviceDialogClientSession *mDevDlgClientSession; + HbDeviceDialogConnectHelper *mDevDlgConnectHelper; #endif - void rootItemFirstPhaseDone(const HbEffect::EffectStatus& status); void rootItemFinalPhaseDone(const HbEffect::EffectStatus& status); void orientationEffectFinished(const HbEffect::EffectStatus& status); @@ -182,33 +190,26 @@ static const int IdleOrientationEvent; static const int IdleOrientationFinalEvent; + void setViewportSize(const QSizeF& newSize); + QSizeF viewPortSize() const; + + static HbMainWindowPrivate *d_ptr(HbMainWindow *mainWindow) { + Q_ASSERT(mainWindow); + return mainWindow->d_func(); + } + signals: void idleEventDispatched(); public slots: void menuClosed(); +#ifdef Q_OS_SYMBIAN + void updateForegroundOrientationPSKey(); + void deviceDialogConnectionReady(RHbDeviceDialogClientSession *clientSession); +#endif -private: - static HbMainWindowPrivate *d_ptr(HbMainWindow *mainWindow) { - Q_ASSERT(mainWindow); - return mainWindow->d_func(); - } - friend class HbPopupManagerPrivate; - friend class HbInstance; - friend class HbInstancePrivate; - friend class HbDeviceProfileManager; - friend class HbDeviceProfile; - friend class HbView; - friend class HbVgEffectPrivate; - friend class HbContentWidget; - friend class HbSplashGenerator; - friend class TestHbDeviceProfile; - friend class TestHbGridView; - friend class TestHbMainWindow; - friend class HbMainWindowOrientation; - friend class HbScreen; - friend class HbSettingsWindow; - friend class TestHbSensorOrientation; + friend class HbForegroundWatcher; + friend class HbDeviceDialogConnectHelperPrivate; }; #endif // HBMAINWINDOW_P_H diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbmenu.cpp --- a/src/hbcore/gui/hbmenu.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbmenu.cpp Thu May 27 13:10:59 2010 +0300 @@ -779,17 +779,14 @@ QPainterPath HbMenu::shape() const { - /* - QRectF sceneRect = mapRectToScene(QRectF(-0.5, -0.5, boundingRect().width() + 0.5, boundingRect().height() + 0.5)); + /*QRectF sceneRect = mapRectToScene(QRectF(-0.5, -0.5, boundingRect().width() + 0.5, boundingRect().height() + 0.5)); QRectF clipRect = sceneRect.intersected(QRectF(pos().x() - 0.5, pos().y() - 0.5, size().width() + 0.5, size().height() + 0.5)); QPainterPath path; path.addRect(mapRectFromScene(clipRect)); - return path.intersected(HbPopup::shape()); - */ - - return HbPopup::shape(); + return path.intersected(HbPopup::shape());*/ + return HbPopup::shape(); } /*! diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbscrollarea.cpp --- a/src/hbcore/gui/hbscrollarea.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbscrollarea.cpp Thu May 27 13:10:59 2010 +0300 @@ -815,6 +815,7 @@ if (gesture->state() == Qt::GestureStarted) { if (d->mIsAnimating && !d->positionOutOfBounds() && !d->mMultiFlickEnabled) { d->stopAnimating(); + HbWidgetFeedback::triggered(this, Hb::InstantPressed, Hb::ModifierScrolling); event->accept(gesture); } else { event->ignore(gesture); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbsettingswindow_p.cpp --- a/src/hbcore/gui/hbsettingswindow_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbsettingswindow_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -86,6 +86,7 @@ { mLights = true; mAnimation = true; + mCustomViewPortSize = false; windowComboBox = new QComboBox(this); windowComboBox->hide(); @@ -99,8 +100,8 @@ mLights = true; HbIcon icon("qtg_mono_light"); mLightsButton = new QPushButton(icon.pixmap(), "", this); - mAnimationButton = new QPushButton(tr("&Animation on"), this); + mViewPortSizeButton = new QPushButton(tr("&Set custom ViewPortSize"),this); resolutionComboBox->addItems(HbDeviceProfile::profileNames()); directionComboBox->addItems(QStringList() << tr("Left to right") << tr("Right to left")); @@ -118,6 +119,7 @@ connect(mUnsetOrientationButton, SIGNAL(pressed()), SLOT(unsetOrientation())); connect(mLightsButton, SIGNAL(pressed()), SLOT(toggleLights())); connect(mAnimationButton, SIGNAL(pressed()), SLOT(toggleAnimation())); + connect(mViewPortSizeButton, SIGNAL(pressed()), SLOT(resizeViewPort())); QVBoxLayout *boxLayout = new QVBoxLayout(this); @@ -127,6 +129,7 @@ layout->addRow(tr("&Resolution"), resolutionComboBox); layout->addRow(tr("&Direction"), directionComboBox); layout->addRow(tr("&Drag to resize"), dragToResizeComboBox); + layout->addRow(mViewPortSizeButton); mainGroup->setLayout(layout); boxLayout->addWidget(mainGroup); @@ -388,3 +391,22 @@ } } + +void HbSettingsWindow::resizeViewPort() +{ + HbMainWindow *window = hbInstance->allMainWindows().at(0); + if (!mCustomViewPortSize) { + mViewPortOriginalSize = window->size(); + QSizeF newSize = mViewPortOriginalSize; + newSize.scale(mViewPortOriginalSize.width(),mViewPortOriginalSize.height()-150,Qt::IgnoreAspectRatio); + HbMainWindowPrivate::d_ptr(window)->setViewportSize(newSize); + mCustomViewPortSize = true; + mViewPortSizeButton->setText(tr("&Set original ViewPortSize")); + } else { + HbMainWindowPrivate::d_ptr(window)->setViewportSize(mViewPortOriginalSize); + mCustomViewPortSize = false; + mViewPortSizeButton->setText(tr("&Set custom ViewPortSize")); + } + +} + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbsettingswindow_p.h --- a/src/hbcore/gui/hbsettingswindow_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbsettingswindow_p.h Thu May 27 13:10:59 2010 +0300 @@ -57,6 +57,7 @@ void unsetOrientation(); void toggleLights(); void toggleAnimation(); + void resizeViewPort(); private: void initStartUpValues(); @@ -77,8 +78,11 @@ QPushButton *mUnsetOrientationButton; QPushButton *mLightsButton; QPushButton *mAnimationButton; + QPushButton *mViewPortSizeButton; bool mLights; bool mAnimation; + bool mCustomViewPortSize; + QSizeF mViewPortOriginalSize; #ifdef HB_CSS_INSPECTOR QPushButton *cssWindowButton; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbsplash.cpp --- a/src/hbcore/gui/hbsplash.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbsplash.cpp Thu May 27 13:10:59 2010 +0300 @@ -24,13 +24,16 @@ ****************************************************************************/ #include "hbsplash_p.h" +#include "hbsplash_direct_symbian_p.h" #include #include #include +#include #ifdef Q_OS_SYMBIAN #include #include +#include #include "hborientationstatus_p.h" #include "hbsplashdefs_p.h" #endif @@ -72,6 +75,8 @@ QString screenId; HbSplash::AllocFunc allocFunc; void *allocFuncParam; + quint32 extra; + bool forceFile; }; struct File { @@ -94,18 +99,30 @@ #endif } -static uchar *readSpl(File &f, const Params ¶ms) +static uchar *readSpl(File &f, Params ¶ms) { - int w = 0, h = 0, bpl = 0; + quint32 w = 0, h = 0, bpl = 0; QImage::Format fmt = QImage::Format_Invalid; - f.read((char *) &w, sizeof(int)); - f.read((char *) &h, sizeof(int)); - f.read((char *) &bpl, sizeof(int)); - f.read((char *) &fmt, sizeof(QImage::Format)); + // Have to read the header in one piece in order to minimize the + // number of read() calls. + const int headerLength = sizeof(quint32) * 5; + char headerBuf[headerLength]; + qMemSet(headerBuf, 0, headerLength); + f.read(headerBuf, headerLength); + quint32 *headerPtr = reinterpret_cast(headerBuf); + w = *headerPtr++; + h = *headerPtr++; + bpl = *headerPtr++; + fmt = (QImage::Format) *headerPtr++; + params.extra = *headerPtr; if (fmt != QImage::Format_ARGB32_Premultiplied) { - qWarning("HbSplash: image format for %s is not ARGB32_PRE (is %d instead)", + qWarning("[hbsplash] Image format for %s is not ARGB32_PRE (is %d instead)", qPrintable(f.mFullName), fmt); } + if (fmt < 0 || fmt >= QImage::NImageFormats) { + qWarning("[hbsplash] Image format is invalid"); + return 0; + } qint64 sz = h * bpl; uchar *data = 0; if (w > 0 && h > 0 && bpl > 0 && sz > 0 && sz <= image_bytes_limit) { @@ -116,20 +133,20 @@ data = new uchar[sz]; } if (data) { - qint64 bytesRead = f.read((char *) data, sz); + qint64 bytesRead = f.read(reinterpret_cast(data), sz); if (bytesRead != sz) { - qWarning("HbSplash: file %s is invalid", qPrintable(f.mFullName)); + qWarning("[hbsplash] File %s is invalid", qPrintable(f.mFullName)); if (!params.allocFunc) { - delete data; + delete[] data; } data = 0; } } } catch (const std::bad_alloc &) { - qWarning("HbSplash: failed to allocate image buffer"); + qWarning("[hbsplash] Failed to allocate image buffer"); } } else { - qWarning("HbSplash: image in file %s is too big", qPrintable(f.mFullName)); + qWarning("[hbsplash] Image in file %s is too big", qPrintable(f.mFullName)); } *params.w = w; *params.h = h; @@ -140,13 +157,27 @@ #ifdef Q_OS_SYMBIAN +// Symbian-specific implementation to get splash screens either by +// reading from a file opened on the server side or by using bitmaps +// shared via fbserv. + class HbSplashSrvClient : public RSessionBase { public: HbSplashSrvClient(); ~HbSplashSrvClient(); bool Connect(); - bool getSplash(RFile &f, const QString &ori, const QString &appId, const QString &screenId); + + bool getSplashFileHandle(RFile &f, + const QString &ori, + const QString &appId, + const QString &screenId); + + uchar *getSplashFromBitmap(const QString &ori, + const QString &appId, + const QString &screenId, + Params ¶ms); + private: RMutex mMutex; bool mMutexOk; @@ -185,9 +216,8 @@ if (err == KErrNone) { ok = true; break; -/* } else if (err == KErrNotFound || err == KErrServerTerminated) { - qDebug("[hbsplash] Server not running"); + qDebug("[hbsplash] server not running"); TFindServer findServer(hbsplash_server_name); TFullName name; if (findServer.Next(name) != KErrNone) { @@ -211,15 +241,14 @@ qWarning("[hbsplash] Rendezvous failed (%d)", status.Int()); break; } - qDebug("[hbsplash] Server started"); + qDebug("[hbsplash] server started"); } -*/ } else { break; } } if (!ok) { - qWarning("[hbsplash] cannot connect to splashgen server"); + qWarning("[hbsplash] Cannot connect to splashgen server"); } if (mMutexOk) { mMutex.Signal(); @@ -227,8 +256,10 @@ return ok; } -bool HbSplashSrvClient::getSplash(RFile &f, const QString &ori, - const QString &appId, const QString &screenId) +bool HbSplashSrvClient::getSplashFileHandle(RFile &f, + const QString &ori, + const QString &appId, + const QString &screenId) { TPtrC oriDes(static_cast(ori.utf16()), ori.length()); TPtrC appIdDes(static_cast(appId.utf16()), appId.length()); @@ -236,11 +267,62 @@ TInt fileHandle; TPckg fileHandlePckg(fileHandle); TIpcArgs args(&oriDes, &appIdDes, &screenIdDes, &fileHandlePckg); - TInt fsHandle = SendReceive(HbSplashSrvGetSplash, args); + TInt fsHandle = SendReceive(HbSplashSrvGetSplashFile, args); return f.AdoptFromServer(fsHandle, fileHandle) == KErrNone; } -static uchar *load_symbian(const Params ¶ms) +uchar *HbSplashSrvClient::getSplashFromBitmap(const QString &ori, + const QString &appId, + const QString &screenId, + Params ¶ms) +{ + TPtrC oriDes(static_cast(ori.utf16()), ori.length()); + TPtrC appIdDes(static_cast(appId.utf16()), appId.length()); + TPtrC screenIdDes(static_cast(screenId.utf16()), screenId.length()); + TInt bitmapHandle; + TPckg bitmapHandlePckg(bitmapHandle); + TIpcArgs args(&oriDes, &appIdDes, &screenIdDes, &bitmapHandlePckg); + if (SendReceive(HbSplashSrvGetSplashData, args) == KErrNone) { + QScopedPointer bmp(new CFbsBitmap); + if (bmp->Duplicate(bitmapHandle) == KErrNone) { + TSize size = bmp->SizeInPixels(); + TDisplayMode mode = bmp->DisplayMode(); + if (size.iWidth > 0 && size.iHeight > 0 && mode == EColor16MAP) { + int bpl = CFbsBitmap::ScanLineLength(size.iWidth, mode); + const QImage::Format fmt = QImage::Format_ARGB32_Premultiplied; + int len = bpl * size.iHeight; + uchar *data = 0; + try { + if (params.allocFunc) { + data = params.allocFunc(size.iWidth, size.iHeight, + bpl, fmt, params.allocFuncParam); + } else { + data = new uchar[len]; + } + if (data) { + memcpy(data, bmp->DataAddress(), len); + *params.w = size.iWidth; + *params.h = size.iHeight; + *params.bpl = bpl; + *params.fmt = fmt; + qDebug("[hbsplash] bitmap data received"); + return data; + } + } catch (const std::bad_alloc &) { + qWarning("[hbsplash] Failed to allocate image buffer"); + } + } else { + qWarning("[hbsplash] Invalid bitmap (%d %d %d)", + size.iWidth, size.iHeight, mode); + } + } else { + qWarning("[hbsplash] Cannot duplicate bitmap"); + } + } + return 0; +} + +static uchar *load_symbian(Params ¶ms) { HbSplashSrvClient client; if (!client.Connect()) { @@ -255,12 +337,16 @@ } uchar *data = 0; - File f; - f.mFullName = "[unavailable]"; - if (client.getSplash(f.mFile, oriStr, appIdStr, params.screenId)) { - qDebug("[hbsplash] got handle from server"); - data = readSpl(f, params); - f.mFile.Close(); + if (!params.forceFile) { + data = client.getSplashFromBitmap(oriStr, appIdStr, params.screenId, params); + } else { + File f; + f.mFullName = "[unavailable]"; + if (client.getSplashFileHandle(f.mFile, oriStr, appIdStr, params.screenId)) { + qDebug("[hbsplash] got handle from server"); + data = readSpl(f, params); + f.mFile.Close(); + } } client.Close(); @@ -269,7 +355,11 @@ #else -static uchar *read_file_generic(const QString &name, const Params ¶ms) +// Generic cross-platform implementation, reads the pixel data +// directly from files. Not suitable for Symbian due to platsec and +// performance reasons. + +static uchar *read_file_generic(const QString &name, Params ¶ms) { uchar *data = 0; File f; @@ -282,7 +372,7 @@ return data; } -static uchar *load_generic(const Params ¶ms) +static uchar *load_generic(Params ¶ms) { QString appSpecificName("splash_%1_%2.spl"); QString appAndScreenSpecificName("splash_%1_%2_%3.spl"); @@ -361,9 +451,65 @@ params.screenId = screenId; params.allocFunc = allocFunc; params.allocFuncParam = allocFuncParam; + params.forceFile = false; // use CFbsBitmap-based sharing on Symbian #ifdef Q_OS_SYMBIAN return load_symbian(params); #else return load_generic(params); #endif } + +#ifdef Q_OS_SYMBIAN +static uchar *fbsBitmapAllocFunc(int w, int h, int bpl, QImage::Format fmt, void *param) +{ + if (fmt != QImage::Format_ARGB32_Premultiplied) { + qWarning("[hbsplash] fbsBitmapAllocFunc: unsupported format %d", fmt); + return 0; + } + TDisplayMode mode = EColor16MAP; + CFbsBitmap *bmp = static_cast(param); + if (bmp->Create(TSize(w, h), mode) == KErrNone) { + int bmpBpl = CFbsBitmap::ScanLineLength(w, mode); + if (bpl == bmpBpl) { + return reinterpret_cast(bmp->DataAddress()); + } else { + qWarning("[hbsplash] fbsBitmapAllocFunc: bpl mismatch (%d - %d)", bpl, bmpBpl); + } + } else { + qWarning("[hbsplash] fbsBitmapAllocFunc: bitmap Create() failed"); + } + return 0; +} +#endif + +void *HbSplashDirectSymbian::load(void *file, int *extra) +{ +#ifdef Q_OS_SYMBIAN + // Read the data directly into a CFbsBitmap. `file' is assumed to + // be a ptr to an already Open()'ed RFile. + QScopedPointer bmp(new CFbsBitmap); + int w, h, bpl; + QImage::Format fmt; + Params params; + // Everything is ignored except the alloc-func and its param. + params.w = &w; + params.h = &h; + params.bpl = &bpl; + params.fmt = &fmt; + params.flags = HbSplashScreen::Default; + params.allocFunc = fbsBitmapAllocFunc; + params.allocFuncParam = bmp.data(); + File f; + f.mFile = *static_cast(file); + if (readSpl(f, params)) { + if (extra) { + *extra = params.extra; + } + return bmp.take(); + } +#else + Q_UNUSED(file); + Q_UNUSED(extra); +#endif + return 0; +} diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbsplash_direct_symbian_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/gui/hbsplash_direct_symbian_p.h Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (developer.feedback@nokia.com) +** +** This file is part of the HbCore module of the UI Extensions for Mobile. +** +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at developer.feedback@nokia.com. +** +****************************************************************************/ + +#ifndef HBSPLASH_DIRECT_SYMBIAN_P_H +#define HBSPLASH_DIRECT_SYMBIAN_P_H + +#include "hbsplash_p.h" + +class HB_CORE_PRIVATE_EXPORT HbSplashDirectSymbian : public HbSplash +{ +public: + static void *load(void *file, int *extra); +}; + +#endif diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbsplash_p.h --- a/src/hbcore/gui/hbsplash_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbsplash_p.h Thu May 27 13:10:59 2010 +0300 @@ -30,7 +30,7 @@ #include #include -class HB_AUTOTEST_EXPORT HbSplash +class HB_CORE_PRIVATE_EXPORT HbSplash { public: typedef uchar *(*AllocFunc)(int w, int h, int bpl, QImage::Format fmt, void *param); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbsplashdefs_p.h --- a/src/hbcore/gui/hbsplashdefs_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbsplashdefs_p.h Thu May 27 13:10:59 2010 +0300 @@ -39,7 +39,8 @@ const TUid hbsplash_server_uid3 = { 0x2002E68B }; enum HbSplashServerFuncs { - HbSplashSrvGetSplash = 1 + HbSplashSrvGetSplashFile = 1, + HbSplashSrvGetSplashData }; enum HbSplashServerPanics { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbsplashscreen.cpp --- a/src/hbcore/gui/hbsplashscreen.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbsplashscreen.cpp Thu May 27 13:10:59 2010 +0300 @@ -24,30 +24,10 @@ ****************************************************************************/ #include "hbsplashscreen.h" +#include "hbsplashscreen_generic_p.h" #include "hbsplash_p.h" #include -#include #include -#include -#include - -// To play nice with GPU resources it may be beneficial to avoid using QWidget -// for showing the splash screen. (each top-level widget results in creating a -// new window surface which consumes gpu memory) Instead, we can create & show a -// CCoeControl which draws using the traditional Symbian GC methods. (And thus -// uses the "legacy" surface which is still available currently. However if some -// day it is removed then this solution will not work anymore.) -#ifdef Q_OS_SYMBIAN -// Do not enable for now, may cause some flickering. -// The system transition effects may not like this solution anyway. -//#define HB_SPLASH_USE_SYMBIAN_LEGACY_SURFACE -#endif - -#ifdef HB_SPLASH_USE_SYMBIAN_LEGACY_SURFACE -#include -#include -#include -#endif /*! @stable @@ -90,50 +70,6 @@ result the splash screen will also be forced to horizontal orientation. */ -class HbSplashScreenInterface -{ -public: - virtual ~HbSplashScreenInterface() {} - virtual void start(HbSplashScreen::Flags flags) = 0; - virtual void release() = 0; -}; - -class HbSplashScreenGeneric : public QWidget, public HbSplashScreenInterface -{ -public: - HbSplashScreenGeneric(); - ~HbSplashScreenGeneric(); - - void start(HbSplashScreen::Flags flags); - void release(); - -private: - void paintEvent(QPaintEvent *event); - void repaint(); - - uchar *mImageData; - QPixmap mContents; -}; - -#ifdef HB_SPLASH_USE_SYMBIAN_LEGACY_SURFACE - -class HbSplashScreenSymbian : public CCoeControl, public HbSplashScreenInterface -{ -public: - HbSplashScreenSymbian(); - ~HbSplashScreenSymbian(); - - void start(HbSplashScreen::Flags flags); - void release(); - -private: - void Draw(const TRect &rect) const; - - CFbsBitmap *mContents; -}; - -#endif // HB_SPLASH_USE_SYMBIAN_LEGACY_SURFACE - static HbSplashScreenInterface *splashScreen = 0; struct RequestProps { @@ -153,13 +89,7 @@ void HbSplashScreen::start(Flags flags) { if (!splashScreen) { - splashScreen = -#ifdef HB_SPLASH_USE_SYMBIAN_LEGACY_SURFACE - new HbSplashScreenSymbian -#else - new HbSplashScreenGeneric -#endif - ; + splashScreen = new HbSplashScreenGeneric; } splashScreen->start(flags | requestProps()->mSplashFlags); } @@ -244,6 +174,8 @@ requestProps()->mScreenId = screenId; } +const int auto_stop_interval = 10000; // 10 sec + HbSplashScreenGeneric::HbSplashScreenGeneric() : QWidget(0, Qt::SplashScreen), mImageData(0) { @@ -251,7 +183,10 @@ HbSplashScreenGeneric::~HbSplashScreenGeneric() { - delete mImageData; + if (mImageData) { + qDebug("[hbsplash] destroying splash screen"); + delete mImageData; + } } void HbSplashScreenGeneric::release() @@ -269,12 +204,12 @@ mImageData = HbSplash::load(w, h, bpl, fmt, flags, props->mAppId, props->mScreenId); if (mImageData) { - QImage img(mImageData, w, h, bpl, fmt); - mContents = QPixmap::fromImage(img); + mContents = QImage(mImageData, w, h, bpl, fmt); resize(mContents.size()); } } if (!mContents.isNull()) { + qDebug("[hbsplash] splash screen initialized"); #ifdef Q_OS_SYMBIAN showFullScreen(); #else @@ -282,6 +217,14 @@ #endif QApplication::processEvents(); QApplication::flush(); + // The splash screen must be destroyed automatically when + // loosing foreground. + if (QApplication::instance()) { + QApplication::instance()->installEventFilter(this); + } + // The splash screen must be destroyed automatically after + // a certain amount of time. + mTimerId = startTimer(auto_stop_interval); } } catch (const std::bad_alloc &) { } @@ -291,7 +234,7 @@ { Q_UNUSED(event); QPainter painter(this); - painter.drawPixmap(QPointF(0, 0), mContents); + painter.drawImage(QPointF(0, 0), mContents); } void HbSplashScreenGeneric::repaint() @@ -300,84 +243,23 @@ QApplication::flush(); } -#ifdef HB_SPLASH_USE_SYMBIAN_LEGACY_SURFACE - -HbSplashScreenSymbian::HbSplashScreenSymbian() - : mContents(0) -{ -} - -HbSplashScreenSymbian::~HbSplashScreenSymbian() -{ - delete mContents; -} - -void HbSplashScreenSymbian::release() +void HbSplashScreenGeneric::timerEvent(QTimerEvent *event) { - delete this; -} - -static uchar *fbsBitmapAllocFunc(int w, int h, int bpl, QImage::Format fmt, void *param) -{ - if (fmt != QImage::Format_ARGB32_Premultiplied) { - qWarning("HbSplash: fbsBitmapAllocFunc: unsupported format %d", fmt); - return 0; - } - TDisplayMode mode = EColor16MAP; - CFbsBitmap *bmp = static_cast(param); - if (bmp->Create(TSize(w, h), mode) == KErrNone) { - int bmpBpl = CFbsBitmap::ScanLineLength(w, mode); - if (bpl == bmpBpl) { - return reinterpret_cast(bmp->DataAddress()); - } else { - qWarning("HbSplash: fbsBitmapAllocFunc: bpl mismatch (%d - %d)", bpl, bmpBpl); - } + if (event->timerId() == mTimerId) { + qDebug("[hbsplash] timeout while splash screen is active"); + deleteLater(); + splashScreen = 0; } else { - qWarning("HbSplash: fbsBitmapAllocFunc: bitmap Create() failed"); - } - return 0; -} - -void HbSplashScreenSymbian::start(HbSplashScreen::Flags flags) -{ - try { - if (!mContents) { - mContents = new CFbsBitmap; - int w, h, bpl; - QImage::Format fmt; - RequestProps *props = requestProps(); - if (HbSplash::load(w, h, bpl, fmt, flags, - props->mAppId, props->mScreenId, - fbsBitmapAllocFunc, mContents)) - { - TRect rect(TPoint(0, 0), TSize(w, h)); - TRAPD(err, { - CreateWindowL(); - RWindow *window = static_cast(DrawableWindow()); - window->SetSurfaceTransparency(ETrue); - SetRect(rect); - ActivateL(); }); - if (err == KErrNone) { - MakeVisible(ETrue); - DrawNow(); - } else { - qWarning("HbSplash: symbian control init failed (%d)", err); - } - } else { - delete mContents; - mContents = 0; - } - } - } catch (const std::bad_alloc &) { + QWidget::timerEvent(event); } } -void HbSplashScreenSymbian::Draw(const TRect &rect) const +bool HbSplashScreenGeneric::eventFilter(QObject *obj, QEvent *event) { - Q_UNUSED(rect); - if (mContents) { - SystemGc().BitBlt(TPoint(0, 0), mContents); + if (event->type() == QEvent::ApplicationDeactivate) { + qDebug("[hbsplash] foreground lost while splash screen is active"); + deleteLater(); + splashScreen = 0; } + return QWidget::eventFilter(obj, event); } - -#endif // HB_SPLASH_USE_SYMBIAN_LEGACY_SURFACE diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbsplashscreen_generic_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/gui/hbsplashscreen_generic_p.h Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,61 @@ +/**************************************************************************** +** +** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (developer.feedback@nokia.com) +** +** This file is part of the HbCore module of the UI Extensions for Mobile. +** +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at developer.feedback@nokia.com. +** +****************************************************************************/ + +#ifndef HBSPLASHSCREENGENERIC_P_H +#define HBSPLASHSCREENGENERIC_P_H + +#include "hbsplashscreen.h" +#include +#include + +class HbSplashScreenInterface +{ +public: + virtual ~HbSplashScreenInterface() {} + virtual void start(HbSplashScreen::Flags flags) = 0; + virtual void release() = 0; +}; + +class HbSplashScreenGeneric : public QWidget, public HbSplashScreenInterface +{ +public: + HbSplashScreenGeneric(); + ~HbSplashScreenGeneric(); + + void start(HbSplashScreen::Flags flags); + void release(); + +private: + void paintEvent(QPaintEvent *event); + void repaint(); + void timerEvent(QTimerEvent *event); + bool eventFilter(QObject *obj, QEvent *event); + + uchar *mImageData; + QImage mContents; + int mTimerId; +}; + +#endif diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbview.cpp --- a/src/hbcore/gui/hbview.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbview.cpp Thu May 27 13:10:59 2010 +0300 @@ -878,6 +878,27 @@ } /*! + \reimp + */ +void HbView::changeEvent(QEvent *event){ + + // We're listening for layout direction changes, because the screen needs to be + // repolished, if the layout direction changes and the titlebar is minimizable. + // We have to listen to the event here(and not in the titlebar), cause the layout + // direction change event is delivered to the titlebar (cause it does not mirror) + if (event->type() == QEvent::LayoutDirectionChange + && isVisible() + && (viewFlags() & ViewTitleBarMinimizable)){ + HbMainWindow *mw = mainWindow(); + if (mw && mw->currentView() == this){ + HbMainWindowPrivate::d_ptr(mw)->mClippingItem->decoratorVisibilityChanged(); + } + } + + HbWidget::changeEvent( event ); +} + +/*! Removes the menu from the view and returns it to the caller. Ownership of the menu is transferred to the caller. diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbview.h --- a/src/hbcore/gui/hbview.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbview.h Thu May 27 13:10:59 2010 +0300 @@ -129,6 +129,7 @@ HbView( HbViewPrivate &dd, QGraphicsItem *parent ); bool event(QEvent *event); + void changeEvent(QEvent *event); private slots: #ifdef HB_EFFECTS diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/gui/hbwidget.cpp --- a/src/hbcore/gui/hbwidget.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/gui/hbwidget.cpp Thu May 27 13:10:59 2010 +0300 @@ -114,7 +114,7 @@ return newSpacer; } -/* +/*! \deprecated HbWidget::setBackgroundItem(HbStyle::Primitive, int) is deprecated. Use HbWidget::setBackgroundItem(QGraphicsItem *item, int zValue) instead. @@ -152,7 +152,7 @@ } } -/* +/*! Sets background item to the widget. The item will be reparented to be child of the widget. Also Z-value @@ -184,7 +184,7 @@ } } -/* +/*! Returns background item. 0 is returned if there isn't background item in the widget. */ @@ -194,7 +194,7 @@ return d->backgroundItem; } -/* +/*! Returns focusItem primitive items. Focus primitive is created if has not been created already. */ @@ -221,7 +221,7 @@ return 0; } -/* +/*! Hides or shows focus primitive depending on the focus state of the widget. */ void HbWidgetPrivate::focusChangeEvent(HbWidget::FocusHighlight focusHighlight) @@ -265,7 +265,7 @@ } -/* +/*! Find closest parent with focus group and update the focused child. */ void HbWidgetPrivate::updateCurrentFocusChild() @@ -279,7 +279,7 @@ } } -/* +/*! Find and return the closest parent with focus group if any. If propagate is true then the closest parent with focus group and children is accepted as valid focus group e.g. used for a widget which has the key for changing the @@ -316,7 +316,7 @@ return (group) ? group : 0; } -/* +/*! Set focus to child widget depending on the set focus delegation policy. */ @@ -343,7 +343,7 @@ } } -/* +/*! Test if some item in our parent hierarchy has the Hb::InputMethodNeutral flag set. */ diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/hbcore.pro --- a/src/hbcore/hbcore.pro Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/hbcore.pro Thu May 27 13:10:59 2010 +0300 @@ -163,7 +163,6 @@ LIBS += -lapparc LIBS += -lavkon LIBS += -lbafl - LIBS += -lalfdecoderserverclient LIBS += -lSensrvClient LIBS += -lsensrvutil LIBS += -lcentralrepository diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/i18n/hbdirectorynamelocalizer.cpp --- a/src/hbcore/i18n/hbdirectorynamelocalizer.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/i18n/hbdirectorynamelocalizer.cpp Thu May 27 13:10:59 2010 +0300 @@ -48,6 +48,11 @@ */ +/*! + Constructor of HbDirectoryNameLocalizer. + + \attention Cross-Platform API + */ HbDirectoryNameLocalizer::HbDirectoryNameLocalizer() { HbDNTXmlReader* dirDataReader = new HbDNTXmlReader(); @@ -70,13 +75,18 @@ Translates the given source path to a localized string if possible. If localized version is not found returns an empty string. Should be only used for localizing directory names. + + \attention Symbian specific API - @param sourceText The path that is to be translated. - @return The translated string. If translation is not found returns + \param sourceText The path that is to be translated. + + \return Symbian - The translated string. If translation is not found returns an empty string. + \return other platforms - empty QString */ QString HbDirectoryNameLocalizer::translate( QString& sourceText ) const { +#if defined(Q_OS_SYMBIAN) if ( sourceText.length() == 0 ) { return ""; } @@ -94,4 +104,8 @@ } return result; +#else + Q_UNUSED(sourceText); + return QString(); +#endif } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/i18n/hbextendedlocale.cpp --- a/src/hbcore/i18n/hbextendedlocale.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/i18n/hbextendedlocale.cpp Thu May 27 13:10:59 2010 +0300 @@ -115,15 +115,18 @@ /*! Returns the date separator, which can occur in four different positions: - Beginning of the expression - Between the first and second part - Between the second and third part - At the end of the expression - Some of the positions may contain an empty string if a separator is not used in that position in the locale in question + Beginning of the expression; + Between the first and second part; + Between the second and third part; + At the end of the expression; + Some of the positions may contain an empty string if a separator is not used in that position in the locale in question. + + \attention Symbian specific API - \return one of the four characters used to separate the day, + \return Symbian - One of the four characters used to separate the day, month and year components of the date according to the - system locale. + system locale + \return other platforms - Empty QChar or '\' (depending on index) \param index Index of the separator (0-3) */ @@ -147,6 +150,8 @@ month and year components of the date according to the system locale. + \attention Symbian specific API + \param ch Character to set, \param index Index of the separator (0-3) @@ -171,11 +176,14 @@ } /*! - Retrieves the time separator (for example, colon or full stop) + Retrieves the time separator (for example, colon or full stop). - \return one of the four characters used to separate the hour, + \attention Symbian specific API + + \return Symbian - One of the four characters used to separate the hour, minute and second components of the date according to the - system locale. + system locale + \return other platforms - Empty QChar or ':' (depending on index) \param index Index of the separator (0-3) */ @@ -198,6 +206,8 @@ Sets one of the four characters used to separate the hour, minute and second components of the date. + \attention Symbian specific API + \param ch Character to set, \param index Index of the separator (0-3) @@ -229,15 +239,19 @@ or year-month-day (used, for example, in Japanese, Chinese and Swedish) This enum defines the order of date components. - \value American American order (mm/dd/yyyy) - \value European European order (dd/mm/yyyy) - \value Japanese Japanese order (yyyy/mm/dd) + \value American American order (mm/dd/yyyy) + \value European European order (dd/mm/yyyy) + \value Japanese Japanese order (yyyy/mm/dd) \sa dateStyle(), setDateStyle() */ /*! - \return date style from system locale. The date style is returned according to DateStyle. + Returns date style from system locale. The date style is returned according to DateStyle. + + \attention Symbian specific API + + \return date style for Symbian and HbExtendedLocale::American for other platforms */ HbExtendedLocale::DateStyle HbExtendedLocale::dateStyle() const { @@ -265,6 +279,8 @@ /*! Sets date style to system locale. The date style is chosen according to the \a style parameter. + + \attention Symbian specific API \return true for Symbian and false for other OS */ @@ -301,14 +317,18 @@ \enum HbExtendedLocale::TimeStyle Finds out if the 12-hour or the 24-hour clock is used - \value Time12 12 hour clock style - \value Time24 24 hour clock style + \value Time12 12 hour clock style + \value Time24 24 hour clock style \sa timeStyle(), setTimeStyle() */ /*! - \return time style from system locale. The time style is returned according to TimeStyle. + Returns time style from system locale. The time style is returned according to TimeStyle. + + \attention Symbian specific API + + \return time style for Symbian and HbExtendedLocale::Time12 for other platforms */ HbExtendedLocale::TimeStyle HbExtendedLocale::timeStyle() const { @@ -331,6 +351,8 @@ /*! Sets time style to system locale. The time style is chosen according to the \a style parameter. + + \attention Symbian specific API \return true for Symbian and false for other OS */ @@ -360,9 +382,12 @@ /*! - Finds out if the AM/PM symbol is separated by a space from the time expression + Finds out if the AM/PM symbol is separated by a space from the time expression. + + \attention Symbian specific API - \return true if space is inserted between the time and the preceding or trailing am/pm text; otherwise returns false. + \return Symbian - True if space is inserted between the time and the preceding or trailing am/pm text; otherwise returns false. + \return other platforms - true */ bool HbExtendedLocale::amPmSpace() const { @@ -376,6 +401,8 @@ /*! Sets whether a \a space is inserted between the time and the preceding or trailing am/pm text. + + \attention Symbian specific API \return true for Symbian and false for other OS */ @@ -396,7 +423,7 @@ \enum HbExtendedLocale::SymbolPos \value Before - \value After + \value After Retrieves the position of the AM/PM symbol (before or after the time expression) \sa amPmSymbolPosition(), setAmPmSymbolPosition() @@ -404,7 +431,11 @@ */ /*! - \return Before if am/pm text is positioned before time; otherwise returns After. + Returns HbExtendedLocale::Before if am/pm text is positioned before time; otherwise returns HbExtendedLocale::After. + + \attention Symbian specific API + + \return After/Before for Symbian and HbExtendedLocale::After for other platforms */ HbExtendedLocale::SymbolPos HbExtendedLocale::amPmSymbolPosition() const { @@ -419,12 +450,13 @@ #else return HbExtendedLocale::After; #endif - return HbExtendedLocale::After; } /*! Sets the am/pm text position. The position is chosen according to the \a position parameter. + + \attention Symbian specific API \return true for Symbian if succesfull and false for other OS */ @@ -462,10 +494,13 @@ */ /*! - Retrives the measurement system (if metric or imperial units are in use) + Retrives the measurement system (if metric or imperial units are in use). + + \attention Symbian specific API - \return short unit distance format from system locale. Format is specified by UnitsFormat. - */ + \return Symbian - Short unit distance format from system locale. Format is specified by UnitsFormat. + \return other platforms - QLocale::MetricSystem +*/ QLocale::MeasurementSystem HbExtendedLocale::unitsDistanceShort() const { #if defined(Q_OS_SYMBIAN) @@ -486,6 +521,8 @@ /*! Sets short unit distance \a format to system locale. + \attention Symbian specific API + \return true for Symbian and false for other OS */ bool HbExtendedLocale::setUnitsDistanceShort( const QLocale::MeasurementSystem format ) @@ -514,7 +551,11 @@ } /*! - \return long unit distance format from system locale. Format is specified by UnitsFormat. + Returns long unit distance format from system locale. Format is specified by UnitsFormat. + + \attention Symbian specific API + + \return long unit distance format for Symbian and QLocale::MetricSystem for other platforms */ QLocale::MeasurementSystem HbExtendedLocale::unitsDistanceLong() const { @@ -535,6 +576,8 @@ /*! Sets long unit distance \a format to system locale. + + \attention Symbian specific API \return true for Symbian and false for other OS */ @@ -564,8 +607,10 @@ /*! Sets general unit distance \a format to system locale. + + \attention Symbian specific API - \return true for Symbian and -1 for other OS + \return true for Symbian and false for other OS */ bool HbExtendedLocale::setUnitsGeneral( const QLocale::MeasurementSystem format ) { @@ -607,8 +652,12 @@ */ /*! - \return the negative currency format from system locale. - */ + Returns the negative currency format from system locale. + + \attention Symbian specific API + + \return the negative currency format for Symbian and HbExtendedLocale::LeadingMinusSign for other platforms +*/ HbExtendedLocale::NegativeCurrencyFormat HbExtendedLocale::negativeCurrencyFormat() const { #if defined(Q_OS_SYMBIAN) @@ -632,6 +681,8 @@ /*! Sets negative currency \a format to system locale. + + \attention Symbian specific API \return true for Symbian and false for other OS */ @@ -666,7 +717,11 @@ /*! Finds out if the currency symbol is separated by a space from the amount. - \return true if negative currency values have a space between the currency symbol and the value; otherwise returns false. + + \attention Symbian specific API + + \return Symbian - True if negative currency values have a space between the currency symbol and the value; otherwise returns false. + \return other platforms - false */ bool HbExtendedLocale::negativeCurrencySpace() const { @@ -681,6 +736,8 @@ /*! Sets whether negative currency values have a space between the currency symbol and the value. + \attention Symbian specific API + \param space True to set a flag which indicates that negative currency values should have the space between the value and the symbol. False to unset it. @@ -703,9 +760,12 @@ Finds out if the currency symbol is placed on the opposite side with negative currencies compared to where it is placed with non-negative currencies. - \return true if in negative currency values, the position of the currency + \attention Symbian specific API + + \return Symbian - True if in negative currency values, the position of the currency symbol is set to be the opposite of the position used for non-negative values; otherwise returns false. + \return other platforms - false */ bool HbExtendedLocale::negativeCurrencySymbolOpposite() const { @@ -722,6 +782,8 @@ values should be the \a opposite of the position used for non-negative values. + \attention Symbian specific API + \return true for Symbian and false for other OS */ bool HbExtendedLocale::setNegativeCurrencySymbolOpposite( const bool opposite ) @@ -741,8 +803,10 @@ Finds out if currency triads are used (the grouping of digits in large numbers, for example, 123 456 789). The Symbian OS only supports the grouping of currency amounts. - \return true if currency triads are allowed in currency values; otherwise returns false. - + \attention Symbian specific API + + \return Symbian - True if currency triads are allowed in currency values; otherwise returns false. + \return other platforms - false */ bool HbExtendedLocale::currencyTriadsAllowed() const { @@ -757,7 +821,9 @@ /*! Sets whether triads are \a allowed in currency values. - \return true for Symbian and false for other CS + \attention Symbian specific API + + \return true for Symbian and false for other OS */ bool HbExtendedLocale::setCurrencyTriadsAllowed( const bool allowed ) { @@ -774,10 +840,15 @@ /*! - \return true if a space is inserted between the currency symbol and - a positive currency value; otherwise returns false. + Returns boolean which tells if currency format contains a space. + + \attention Symbian specific API - \note For negative currency values, the space can be inserted using + \return Symbian - True if a space is inserted between the currency symbol and + a positive currency value; otherwise returns false. + \return other platforms - false + + \note For negative currency values, the space can be inserted using setNegativeCurrencySpace(). */ bool HbExtendedLocale::currencySpace() const @@ -794,7 +865,9 @@ Sets whether a \a space is inserted between the currency symbol and the currency amount. - \return true for Symbian and false for other OS + \attention Symbian specific API + + \return true for Symbian and false for other OS */ bool HbExtendedLocale::setCurrencySpace( const bool space ) { @@ -813,7 +886,10 @@ /*! The currency symbol may contain a different number of characters in different countries/regions. Example: œ, $, Ft, kn, Euro symbol - \return the currency symbol. + + \attention Symbian specific API + + \return the currency symbol for Symbian and empty QString for other platforms */ QString HbExtendedLocale::currencySymbol() const { @@ -829,6 +905,8 @@ /*! Sets the currency \a symbol. + \attention Symbian specific API + \return true for Symbian if succesfull and false for other OS */ bool HbExtendedLocale::setCurrencySymbol( const QString &symbol ) @@ -850,9 +928,13 @@ /*! Retrieves position of the currency symbol (before or after the amount). - \return the currency symbol position. + + \attention Symbian specific API + + \return Symbian - the currency symbol position + \return other platforms - HbExtendedLocale::Before - \note For negative currency values, this position may be reversed using + \note For negative currency values, this position may be reversed using SetNegativeCurrencySymbolOpposite(). */ HbExtendedLocale::SymbolPos HbExtendedLocale::currencySymbolPosition() const @@ -873,9 +955,11 @@ } /*! - Sets the currency symbol \a position. + Sets the currency symbol \a position. + + \attention Symbian specific API - \return true for Symbian and false for other OS + \return true for Symbian and false for other OS */ bool HbExtendedLocale::setCurrencySymbolPosition( const SymbolPos position ) { @@ -901,7 +985,12 @@ } /*! - \return the number of decimal places to which currency values are set. + Returns the number of decimal places to which currency values are set. + + \attention Symbian specific API + + \return Symbian - the number of decimal place + \return other platforms - '0' */ int HbExtendedLocale::currencyDecimalPlaces() const { @@ -914,9 +1003,11 @@ } /*! - Sets the number of decimal \a places to which currency values should be set. + Sets the number of decimal \a places to which currency values should be set. + + \attention Symbian specific API - \return true for Symbian and false for other OS + \return true for Symbian and false for other OS */ bool HbExtendedLocale::setCurrencyDecimalPlaces( const int places ) { @@ -955,6 +1046,9 @@ These settings include the currency symbol, the symbol's position and how negative values are formatted. + \attention Cross-Platform API + \attention Uses QString::number() function with other platforms than Symbian. + \sa setCurrencyDecimalPlaces(), setCurrencySpace(), setCurrencySymbol(), setCurrencySymbolPosition(), setNegativeCurrencySpace(), setNegativeCurrencyFormat(), setCurrencyTriadsAllowed(), setNegativeCurrencySymbolOpposite(), @@ -1018,6 +1112,8 @@ /*! Sets decimal point character \a ch to system locale. + + \attention Symbian specific API \return true for Symbian and false for other OS */ @@ -1037,6 +1133,8 @@ /*! Sets group separator character \a ch to system locale. + + \attention Symbian specific API \return true for Symbian and false for other OS */ @@ -1057,6 +1155,8 @@ /*! Sets zero digit \a type to system locale. + \attention Symbian specific API + \return true for Symbian and false for other OS */ bool HbExtendedLocale::setZeroDigit( const DigitType type ) @@ -1174,10 +1274,15 @@ #endif /*! - \return ISO name corresponding to the Symbian language \a code. + Returns ISO name corresponding to the Symbian language \a code. If the code does not does not correspond to any Symbian language, returns a empty string. + \attention Symbian specific API + + \return Symbian - ISO style language code + \return other platforms - empty QString + \sa User::Language() */ QString HbExtendedLocale::symbianLangToISO( const int code ) @@ -1223,9 +1328,14 @@ } /*! - \return RFC3066 name corresponding to the Symbian language \a code. + Returns RFC3066 name corresponding to the Symbian language \a code. If the code does not does not correspond to any Symbian language, - returns a empty string. + returns a empty string. + + \attention Symbian specific API + + \return Symbian - RFC3066 style language code + \return other platforms - empty QString \sa User::Language() */ @@ -1237,9 +1347,11 @@ /*! Converts ISO tag to Symbian language code. + \attention Symbian specific API + \param langAndCountry ISO tag, example "fi_FI" - \return Symbian language code or -1 (failed case) + \return Symbian language code if successful. With other platforms or if case fails then '-1'. */ int HbExtendedLocale::ISOToSymbianLang( const QString &langAndCountry ) { @@ -1287,7 +1399,12 @@ /*! Returns a Qt version of the given \a sys_fmt Symbian datetime format string. Some convertable fields use data from current system locale, - unwanted locale may cause unexpected results. + unwanted locale may cause unexpected results. + + \attention Symbian specific API + + \return Symbian - datetime format string + \return other platforms - "not supported" */ QString HbExtendedLocale::symbianDateTimeToQt( const QString &sys_fmt ) { @@ -1658,15 +1775,17 @@ \enum HbExtendedLocale::WeekDay This enum defines weekdays. - \sa startOfWeek() + \sa startOfWeek() */ /*! Gets first day of the week. It is usually Saturday, Sunday or Monday, but the Symbian OS allows setting any weekday as the first. - Returns enum WeekDay. + + \attention Symbian specific API - \return Monday for other OS + \return Symbian - enum of WeekDay + \return other platforms - HbExtendedLocale::Monday */ HbExtendedLocale::WeekDay HbExtendedLocale::startOfWeek() const { @@ -1697,8 +1816,13 @@ /*! Sets the day which is considered to be the first day of the week. - \param day The first day of the week. + + \attention Symbian specific API + + \param day The first day of the week. + \return true for Symbian and false for other OS + \sa startOfWeek() */ @@ -1744,13 +1868,15 @@ /*! - Gets days which are working days of week. - Returns QString which describes workdays as binary array. - 1 meaning workday and 0 as non working day. + Gets days which are working days of week. + 1 meaning workday and 0 as non working day. + + \attention Symbian specific API - \return 0011111 for other OS + \return Symbian - QString which describes workdays as binary array + \return other platforms - "0011111" - \sa setWorkDays() + \sa setWorkDays() */ QString HbExtendedLocale::workDays() const { @@ -1768,7 +1894,10 @@ } /*! - Sets working days of week. + Sets working days of week. + + \attention Symbian specific API + \param days which describes workdays as QString binary array. 1 meaning workday and 0 non workday. @@ -1798,8 +1927,12 @@ } /*! - Checks whether or not daylight saving is set for the home city - \return True if home daylight saving is set, false if home daylight saving is not set + Checks whether or not daylight saving is set for the home city. + + \attention Symbian specific API + + \return Symbian - True if home daylight saving is set. False if home daylight saving is not set. + \return other platforms - false */ bool HbExtendedLocale::homeHasDaylightSavingOn() const @@ -1815,12 +1948,17 @@ /*! Returns the daylight saving zone in which the home city is located. + \attention Symbian specific API + \value Home Home daylight saving zone \value European European daylight saving zone \value Northern Northern hemisphere (non-European) daylight saving zone \value Southern Southern hemisphere daylight saving zone \value None No daylight saving zone + \return Symbian - the daylight saving zone + \return other platforms - HbExtendedLocale::None + \sa setHomeDaylightSavingZone() */ HbExtendedLocale::DaylightSavingZone HbExtendedLocale::homeDaylightSavingZone() const @@ -1847,7 +1985,10 @@ } /*! - Gets the locale’s universal time offset + Gets the locale’s universal time offset. + + \attention Symbian specific API + \return Offset in seconds from universal time. For other platforms it returns 0. */ int HbExtendedLocale::universalTimeOffset() const @@ -1861,6 +2002,11 @@ #endif } +/*! + Constructor of HbExtendedLocale. + + \attention Cross-Platform API + */ HbExtendedLocale::HbExtendedLocale() { #if defined(Q_OS_SYMBIAN) @@ -1869,7 +2015,11 @@ #endif } -//! Returns new/dummy copy of HbExtendedLocale. +/*! + Returns new/dummy copy of HbExtendedLocale. + + \attention Cross-Platform API + */ HbExtendedLocale HbExtendedLocale::system() { // make sure QLocale's lp is updated if in future QApplication does not do it @@ -1883,10 +2033,12 @@ For example, what date components are included, and if leading zeroes are used. This is a function uses the date formats defined in the hbi18ndef.h header file. + \attention Cross-Platform API + \param date The date to be formatted. \param dateFormat The wanted format to be used. - \return The date as a string. + \return the date as a string */ QString HbExtendedLocale::format( const QDate &date, const QString &dateFormat ) { @@ -1940,7 +2092,7 @@ #else Q_UNUSED(dateFormat); - return toString(date, ShortFormat ); + return toString(date, ShortFormat ); #endif } @@ -1949,10 +2101,12 @@ For example, what components are included (hours/minutes/seconds), and if leading zeroes and AM/PM or am/pm symbols are used. This is a function uses the time formats defined in the hbi18ndef.h header file. - \param time The time to be formatted. - \param timeFormat The wanted format to be used. + \attention Cross-Platform API + + \param time The time to be formatted. + \param timeFormat The wanted format to be used. - \return The time as a string. + \return the time as a string */ QString HbExtendedLocale::format( const QTime &time, const QString &timeFormat ) { @@ -1997,6 +2151,6 @@ return TDesC2QString(s60TimeStr->Des()); #else Q_UNUSED(timeFormat); - return toString(time, ShortFormat); + return toString(time, ShortFormat); #endif } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/i18n/hbfindfile.cpp --- a/src/hbcore/i18n/hbfindfile.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/i18n/hbfindfile.cpp Thu May 27 13:10:59 2010 +0300 @@ -31,8 +31,9 @@ #include #include #include - #include +#include +#include /*! @beta @@ -40,26 +41,42 @@ \class HbFindFile \brief Checks from which drive a certain file is found. Scans drives through and adds drive information to \a str if file is found. + + \attention Cross-Platform API \param str is file and path beginning with "/" \param defaultDrive is drive letter which should be checked first. Default value is null. - \return true if file is found. Otherwise return false. + + \return True if file is found. Otherwise return false. */ bool HbFindFile::hbFindFile(QString &str, const QChar &defaultDrive) { +#ifdef Q_OS_SYMBIAN + RFs& fs = CCoeEnv::Static()->FsSession(); + TFindFile ff(fs); + TPtrC fName((ushort*)(str.constData()),str.length()); + QString dNameString; + + if (!defaultDrive.isNull()) { + dNameString.append(defaultDrive); + dNameString += QString(":"); + } + dNameString += QString("\\"); + TPtrC dName((ushort*)(dNameString.constData()),dNameString.length()); + TInt err=ff.FindByDir(fName, dName); + if (err==KErrNone) { + TParse p; + p.Set(ff.File(), 0,0); + TPtrC ptrC = p.Drive(); + QString str2 = QString::fromRawData((QChar*)(ushort*)ptrC.Ptr(),ptrC.Length()); + str.prepend(str2); + return true; + } + else { + return false; + } +#else QString file = str; -#if defined(Q_OS_WIN32) - file = "C:" + str; -#endif -#if !defined(Q_OS_SYMBIAN) - QFileInfo info(file); - if (info.exists()) { - str = file; - return true; - } - return false; -#endif - if (!defaultDrive.isNull()) { file = defaultDrive + QString(":") + str; QFileInfo info(file); @@ -82,24 +99,78 @@ } } return false; +#endif + } -/*! - Returns available drives in device (Symbian). Empty for other platforms. -*/ -QString HbFindFile::availableDrives() +class AvailableDrives : public QString { - QString drives = ""; -#if defined(Q_OS_SYMBIAN) +public: + AvailableDrives(); +}; + +AvailableDrives::AvailableDrives() { +#ifdef Q_OS_SYMBIAN RFs& fs = CCoeEnv::Static()->FsSession(); TDriveList driveList; fs.DriveList(driveList); TChar driveLetter; - for (TInt driveNumber = EDriveA; driveNumber <= EDriveZ; driveNumber++) { + + // add first C and then Y..A and then Z. + TInt driveNumber; + if (driveList[EDriveC]) { + driveNumber = EDriveC; + fs.DriveToChar(driveNumber, driveLetter); + QChar cC = static_cast(driveLetter); + this->append(cC); + } + for (driveNumber = EDriveY; driveNumber >= EDriveA; driveNumber--) { + if (driveNumber == EDriveC) { + continue; + } + else { + if (driveList[driveNumber]) { + fs.DriveToChar(driveNumber, driveLetter); + QChar c = static_cast(driveLetter); + this->append(c); + } + } + } + if (driveList[EDriveZ]) { + driveNumber = EDriveZ; fs.DriveToChar(driveNumber, driveLetter); - QChar c = static_cast(driveLetter); - drives.append(c); + QChar cZ = static_cast(driveLetter); + this->append(cZ); } -#endif - return drives; + + +#else + QFileInfoList fil = QDir::drives(); + for (int j=0; j< fil.length(); j++) { + QString fp = fil.at(j).filePath(); + + if ((!fp.isEmpty()) && (fp[0] != '/') && (fp[0] != '\\')) { + this->append(fp[0]); + } + } +#endif } + +Q_GLOBAL_STATIC(AvailableDrives, gs_AvailableDrives) + +/*! + \attention Cross-Platform API + + \returns Available drive(s) if platform supports (Eg. Symbian, Windows...). + If platform doesn't support drive(s) (Eg. Linux) then empty QString is returned. +*/ +QString HbFindFile::availableDrives() +{ + QString *str = gs_AvailableDrives(); + if (str) { + return *str; + } + else { + return QString(); + } +} diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/i18n/hblanguageutil.cpp --- a/src/hbcore/i18n/hblanguageutil.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/i18n/hblanguageutil.cpp Thu May 27 13:10:59 2010 +0300 @@ -112,14 +112,35 @@ bool setLocale( int language ) { TExtendedLocale dummy; + dummy.LoadSystemSettings(); + + // Try to load new locale model dll QString no; - no = QString( "%1" ).arg( language, 2, 10, QLatin1Char( '0' ) ); - QString name = QString( "elocl." ).append( no ); + if ( language < 10 ) { + no = QString( "00%1" ).arg(language); + } else if ( language < 100 ) { + no = QString( "0%1" ).arg(language); + } else { + no = QString( "%1" ).arg(language); + } + + QString name = QString("elocl_lan.").append(no); TPtrC nameptr(name.utf16()); - TInt err = dummy.LoadLocale( nameptr ); - if( err != KErrNone ) - return false; + TInt err = dummy.LoadLocaleAspect(nameptr); + if( err != KErrNone ) { + // Loading new locale model dll fails + // Try to load old locale model dll + no = QString("%1").arg(language, 2, 10, QLatin1Char( '0' )); + QString name2 = QString("elocl.").append(no); + TPtrC nameptr2(name2.utf16()); + + TInt err2 = dummy.LoadLocale(nameptr2); + if ( err2 != KErrNone ) { + return false; + } + } + dummy.SaveSystemSettings(); // cause localeprivate update on next qlocale object( glp->m_language_id = 0 ) QSystemLocale dummy2; @@ -134,8 +155,11 @@ Language names are localized according the language's native presentation. Language ID's returned by this functions may be used as language parameter for changeLanguage(int language) function. Language IDs and names are OS specific and may vary across the platforms and releases. - - \return localized names and integer identifiers of languages supported in a device + + \attention Symbian specific API + + \return Symbian - localized names and integer identifiers of languages supported in a device + \return other platforms - empty QHash */ QHash HbLanguageUtil::supportedLanguages() { @@ -143,9 +167,16 @@ QHash languages; QTranslator translator; - if (!translator.load(TRANSLATOR_PATH)) { - return languages; + QString path = "c:"; + path += QString(TRANSLATOR_PATH); + if (!translator.load(path)) { + path = "z:"; + path += QString(TRANSLATOR_PATH); + if (!translator.load(path)) { + return languages; + } } + QCoreApplication::installTranslator(&translator); QHash hashLanguageNames = readLanguageList(); @@ -182,7 +213,10 @@ Language ID's returned by this functions may be used as language parameter for changeLanguage(int language) function. Language IDs and names are OS specific and may vary across the platforms and releases. - \return localized names and integer identifiers of known languages + \attention Symbian specific API + + \return Symbian - localized names and integer identifiers of known languages + \return other platforms - empty QHash */ QHash HbLanguageUtil::allLanguages() { @@ -190,9 +224,16 @@ QHash langs; QTranslator translator; - if (!translator.load(TRANSLATOR_PATH)) { - return langs; + QString path = "c:"; + path += QString(TRANSLATOR_PATH); + if (!translator.load(path)) { + path = "z:"; + path += QString(TRANSLATOR_PATH); + if (!translator.load(path)) { + return langs; + } } + QCoreApplication::installTranslator(&translator); QHash languageNameList = readLanguageList(); @@ -217,9 +258,11 @@ /*! \brief Changes the device system language. - + + \attention Symbian specific API + \param identifier of language to set active - \return true if language change was successful + \return true for Symbian if succesfull and false for other platforms */ bool HbLanguageUtil::changeLanguage( int language ) { @@ -262,7 +305,9 @@ /*! \brief Returns ID of current language. - \return identifier of current system language + \attention Symbian specific API + + \return identifier of current system language for Symbian and '0' for other platforms */ int HbLanguageUtil::currentLanguage() { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/i18n/hbnumbergrouping.cpp --- a/src/hbcore/i18n/hbnumbergrouping.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/i18n/hbnumbergrouping.cpp Thu May 27 13:10:59 2010 +0300 @@ -38,7 +38,7 @@ - Also '+' and '-' characters are supported. - Decimal separator needs to be a dot '.' always. - Any other characters than above descripted are not allowed. - - If grouping fails for some reason then return value is empty QString (NULL). + - If grouping fails for some reason then return value is empty QString. - At the moment currency mark is not added to return value (formatCurrency). - Grouping for phone numbers is not activated yet. @@ -50,11 +50,14 @@ /*! Static function for creating a (generic) number group. + + \attention Cross-Platform API \param number Source number for grouping. \param country Format for number converting. If the country is not given (country = QLocale::AnyCountry) then it will be requested from QLocale::country. - \return Modified string. + + \return modified string. */ QString HbNumberGrouping::formatGeneric( const QString &number, QLocale::Country country ) @@ -73,11 +76,14 @@ /*! Static function for creating a currency group. + + \attention Cross-Platform API \param number Source number for grouping. \param country Format for number converting. If the country is not given (country = QLocale::AnyCountry) then it will be requested from QLocale::country. - \return Modified string. + + \return modified string. */ QString HbNumberGrouping::formatCurrency( const QString &number, QLocale::Country country ) @@ -97,10 +103,13 @@ /*! Static function for creating a phone number group. + \attention Cross-Platform API + \param number Source number for grouping. \param country Format for number converting. If the country is not given (country = QLocale::AnyCountry) then it will be requested from QLocale::country. - \return Modified string. + + \return modified string. */ QString HbNumberGrouping::formatPhoneNumber( const QString &number, QLocale::Country country ) diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/i18n/hbparameterlengthlimiter.cpp --- a/src/hbcore/i18n/hbparameterlengthlimiter.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/i18n/hbparameterlengthlimiter.cpp Thu May 27 13:10:59 2010 +0300 @@ -30,7 +30,7 @@ #include "hbparameterlengthlimiter_p.h" /*! - @alpha + @stable @hbcore \class HbParameterLengthLimiter \brief HbParameterLengthLimiter is a class that offers support to insert different types of arguments into a QString. @@ -51,7 +51,10 @@ /*! Constructs a HbParameterLengthLimiter with \a HbParameterLengthLimiter. - \a HbLengthLimter& - HbParameterLengthLimiter that will have arguments inserted + + \attention Cross-Platform API + + \param a HbParameterLengthLimiter that will have arguments inserted */ HbParameterLengthLimiter::HbParameterLengthLimiter( const HbParameterLengthLimiter& a ) { @@ -59,10 +62,12 @@ p->str = a.p->str; } - /*! Constructs a HbParameterLengthLimiter with \a QString. - \a QString - QString that will have arguments inserted + + \attention Cross-Platform API + + \param a QString that will have arguments inserted */ HbParameterLengthLimiter::HbParameterLengthLimiter( QString a ) { @@ -72,7 +77,10 @@ /*! Constructs a HbParameterLengthLimiter with \a char*. - \a const char* - char string that will have arguments inserted + + \attention Cross-Platform API + + \param a char string that will have arguments inserted */ HbParameterLengthLimiter::HbParameterLengthLimiter( const char* a ) { @@ -81,9 +89,12 @@ } /*! - Constructs a HbParameterLengthLimiter with \a char*. - \a const char* - char string that will have arguments inserted - \n int - used to identify which plural form to use + Constructs a HbParameterLengthLimiter with \a char* and \a int. + + \attention Cross-Platform API + + \param a char string that will have arguments inserted + \param n used to identify which plural form to use */ HbParameterLengthLimiter::HbParameterLengthLimiter( const char* a, int n ) { @@ -93,6 +104,8 @@ /*! Conp->structs a HbParameterLengthLimiter without a predefined QString. + + \attention Cross-Platform API */ HbParameterLengthLimiter::HbParameterLengthLimiter() { @@ -110,10 +123,13 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a qlonglong - number that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \base int - defines the number base - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a number that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param base defines the number base + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg(qlonglong a, int fieldwidth, @@ -127,10 +143,13 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a qulonglong - number that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \base int - defines the number base - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a number that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param base defines the number base + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( qulonglong a, int fieldwidth, @@ -145,10 +164,13 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a long - number that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \base int - defines the number base - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a number that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param base defines the number base + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( long a, int fieldwidth, @@ -163,10 +185,13 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a ulong - number that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \base int - defines the number base - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a number that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param base defines the number base + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( ulong a, int fieldwidth, @@ -180,10 +205,13 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a int - number that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \base int - defines the number base - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a number that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param base defines the number base + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( int a, int fieldWidth, @@ -198,10 +226,13 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a uint - number that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \base int - defines the number base - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a number that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param base defines the number base + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( uint a, int fieldWidth, @@ -215,10 +246,13 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a short - number that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \base int - defines the number base - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a number that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param base defines the number base + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( short a, int fieldWidth, @@ -232,10 +266,13 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a ushort - number that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \base int - defines the number base - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a number that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param base defines the number base + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( ushort a, int fieldWidth, @@ -249,11 +286,14 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a double - Argument a is formatted according to the specified format and precision. - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \fmt char - defines the format to be used - \prec int - defines the precision to be used - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a argument a is formatted according to the specified format and precision + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param fmt defines the format to be used + \param prec defines the precision to be used + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( double a, int fieldWidth, @@ -268,9 +308,12 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a char - character that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a character that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( char a, int fieldWidth, @@ -283,9 +326,12 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a QChar - character that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a character that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( QChar a, int fieldWidth, @@ -298,9 +344,12 @@ /*! Inserts an \a argument to a HbParameterLengthLimiter QString. - \a QString - QString that will be inserted to the QString - \fieldwidth int - specifies the minimum amount of space that a is padded to and filled with the character fillChar - \fillChar QChar - defines the fill character + + \attention Cross-Platform API + + \param a string that will be inserted to the QString + \param fieldwidth specifies the minimum amount of space that a is padded to and filled with the character fillChar + \param fillChar defines the fill character */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( const QString &a, int fieldWidth, @@ -431,9 +480,12 @@ } /*! - Inserts an arguments \a1 and \a2 to a HbParameterLengthLimiter QString. - \a1 QString - QString that will be inserted to the QString - \a2 QString - QString that will be inserted to the QString + Inserts an arguments a1 and a2 to a HbParameterLengthLimiter QString. + + \attention Cross-Platform API + + \param a1 string that will be inserted to the QString + \param a2 string that will be inserted to the QString */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( const QString &a1, const QString &a2 ) @@ -443,10 +495,13 @@ } /*! - Inserts an arguments \a1 and \a2 to a HbParameterLengthLimiter QString. - \a1 QString - QString that will be inserted to the QString - \a2 QString - QString that will be inserted to the QString - \a3 QString - QString that will be inserted to the QString + Inserts an arguments a1, a2 and a3 to a HbParameterLengthLimiter QString. + + \attention Cross-Platform API + + \param a1 string that will be inserted to the QString + \param a2 string that will be inserted to the QString + \param a3 string that will be inserted to the QString */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( const QString &a1, const QString &a2, @@ -457,11 +512,14 @@ } /*! - Inserts an arguments \a1 and \a2 to a HbParameterLengthLimiter QString. - \a1 QString - QString that will be inserted to the QString - \a2 QString - QString that will be inserted to the QString - \a3 QString - QString that will be inserted to the QString - \a4 QString - QString that will be inserted to the QString + Inserts an arguments a1, a2, a3 and a4 to a HbParameterLengthLimiter QString. + + \attention Cross-Platform API + + \param a1 string that will be inserted to the QString + \param a2 string that will be inserted to the QString + \param a3 string that will be inserted to the QString + \param a4 string that will be inserted to the QString */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( const QString &a1, const QString &a2, @@ -473,12 +531,15 @@ } /*! - Inserts an arguments \a1 and \a2 to a HbParameterLengthLimiter QString. - \a1 QString - QString that will be inserted to the QString - \a2 QString - QString that will be inserted to the QString - \a3 QString - QString that will be inserted to the QString - \a4 QString - QString that will be inserted to the QString - \a5 QString - QString that will be inserted to the QString + Inserts an arguments a1, a2, a3, a4 and a5 to a HbParameterLengthLimiter QString. + + \attention Cross-Platform API + + \param a1 string that will be inserted to the QString + \param a2 string that will be inserted to the QString + \param a3 string that will be inserted to the QString + \param a4 string that will be inserted to the QString + \param a5 string that will be inserted to the QString */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( const QString &a1, const QString &a2, @@ -491,13 +552,16 @@ } /*! - Inserts an arguments \a1 and \a2 to a HbParameterLengthLimiter QString. - \a1 QString - QString that will be inserted to the QString - \a2 QString - QString that will be inserted to the QString - \a3 QString - QString that will be inserted to the QString - \a4 QString - QString that will be inserted to the QString - \a5 QString - QString that will be inserted to the QString - \a6 QString - QString that will be inserted to the QString + Inserts an arguments a1, a2, a3, a4, a5 and a6 to a HbParameterLengthLimiter QString. + + \attention Cross-Platform API + + \param a1 string that will be inserted to the QString + \param a2 string that will be inserted to the QString + \param a3 string that will be inserted to the QString + \param a4 string that will be inserted to the QString + \param a5 string that will be inserted to the QString + \param a6 string that will be inserted to the QString */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( const QString &a1, const QString &a2, @@ -511,14 +575,17 @@ } /*! - Inserts an arguments \a1 and \a2 to a HbParameterLengthLimiter QString. - \a1 QString - QString that will be inserted to the QString - \a2 QString - QString that will be inserted to the QString - \a3 QString - QString that will be inserted to the QString - \a4 QString - QString that will be inserted to the QString - \a5 QString - QString that will be inserted to the QString - \a6 QString - QString that will be inserted to the QString - \a7 QString - QString that will be inserted to the QString + Inserts an arguments a1, a2, a3, a4, a5, a6 and a7 to a HbParameterLengthLimiter QString. + + \attention Cross-Platform API + + \param a1 string that will be inserted to the QString + \param a2 string that will be inserted to the QString + \param a3 string that will be inserted to the QString + \param a4 string that will be inserted to the QString + \param a5 string that will be inserted to the QString + \param a6 string that will be inserted to the QString + \param a7 string that will be inserted to the QString */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( const QString &a1, const QString &a2, @@ -533,15 +600,18 @@ } /*! - Inserts an arguments \a1 and \a2 to a HbParameterLengthLimiter QString. - \a1 QString - QString that will be inserted to the QString - \a2 QString - QString that will be inserted to the QString - \a3 QString - QString that will be inserted to the QString - \a4 QString - QString that will be inserted to the QString - \a5 QString - QString that will be inserted to the QString - \a6 QString - QString that will be inserted to the QString - \a7 QString - QString that will be inserted to the QString - \a8 QString - QString that will be inserted to the QString + Inserts an arguments a1, a2, a3, a4, a5, a6, a7 and a8 to a HbParameterLengthLimiter QString. + + \attention Cross-Platform API + + \param a1 string that will be inserted to the QString + \param a2 string that will be inserted to the QString + \param a3 string that will be inserted to the QString + \param a4 string that will be inserted to the QString + \param a5 string that will be inserted to the QString + \param a6 string that will be inserted to the QString + \param a7 string that will be inserted to the QString + \param a8 string that will be inserted to the QString */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( const QString &a1, const QString &a2, @@ -557,16 +627,19 @@ } /*! - Inserts an arguments \a1 and \a2 to a HbParameterLengthLimiter QString. - \a1 QString - QString that will be inserted to the QString - \a2 QString - QString that will be inserted to the QString - \a3 QString - QString that will be inserted to the QString - \a4 QString - QString that will be inserted to the QString - \a5 QString - QString that will be inserted to the QString - \a6 QString - QString that will be inserted to the QString - \a7 QString - QString that will be inserted to the QString - \a8 QString - QString that will be inserted to the QString - \a9 QString - QString that will be inserted to the QString + Inserts an arguments a1, a2, a3, a4, a5, a6, a7, a8 and a9 to a HbParameterLengthLimiter QString. + + \attention Cross-Platform API + + \param a1 string that will be inserted to the QString + \param a2 string that will be inserted to the QString + \param a3 string that will be inserted to the QString + \param a4 string that will be inserted to the QString + \param a5 string that will be inserted to the QString + \param a6 string that will be inserted to the QString + \param a7 string that will be inserted to the QString + \param a8 string that will be inserted to the QString + \param a9 string that will be inserted to the QString */ HbParameterLengthLimiter& HbParameterLengthLimiter::arg( const QString &a1, const QString &a2, @@ -583,8 +656,11 @@ } /*! - Changes the QString that is to be used for inserting arguments to \a. - \a QString - QString that will be used for inserting arguments + Changes the QString that is to be used for inserting arguments to QString. + + \attention Cross-Platform API + + \param a QString that will be used for inserting arguments */ HbParameterLengthLimiter& HbParameterLengthLimiter::operator=( const QString &a ) { @@ -593,8 +669,11 @@ } /*! - Changes the QString that is to be used for inserting arguments to \a. - \a HbParameterLengthLimiter - HbParameterLengthLimiter holding the QString that will be used for inserting arguments + Changes the QString that is to be used for inserting arguments to HbParameterLengthLimiter. + + \attention Cross-Platform API + + \param a HbParameterLengthLimiter holding the QString that will be used for inserting arguments */ HbParameterLengthLimiter& HbParameterLengthLimiter::operator=( const HbParameterLengthLimiter &a ) { @@ -603,7 +682,9 @@ } /*! - returns the current QString. + Returns the current QString. + + \attention Cross-Platform API */ HbParameterLengthLimiter::operator QString() const { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/i18n/hbstringutil.cpp --- a/src/hbcore/i18n/hbstringutil.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/i18n/hbstringutil.cpp Thu May 27 13:10:59 2010 +0300 @@ -42,17 +42,12 @@ #endif /*! - @beta + @stable @hbcore \class HbStringUtil \brief The HbStringUtil class can be used to execute operations on strings, such as comparisons and finding data sequences. - \ingroup i18n - - \warning This class is only useful in Symbian platforms since it uses Symbian - methods in order to implement different functionalities. - \sa HbStringUtil */ @@ -85,6 +80,8 @@ /*! Searches source string's collated data for a match with collated data supplied in pattern string + + \attention Cross-Platform API \param strFrom Source string. \param strToMatch Pattern string. @@ -97,6 +94,7 @@ \param wildChar Wild card character. \param wildSequenceChar Wild card sequence character. \param escapeChar The escape character, for example, '?', '*'. + \return If a match is found the offset within source string's data where the match first occurs. -1 if match is not found. @@ -144,6 +142,8 @@ Compares source string's data with the other string's data using the specified collation method. + \attention Cross-Platform API + \param string1 Source string. \param string2 String whose data is to be compared with the source string. \param maxLevel Maximum level to use for comparing. @@ -152,6 +152,7 @@ Level 2 - Character identity, accents and case; Level 3 - Character identity, accents, case and Unicode value; \param flags The flags that will be used. Default value is Default. + \return Positive if source string is greater, negative if it is less and zero if the content of both strings match. @@ -188,6 +189,8 @@ data sequence in the aStrFrom to the specified maximum collation level. + \attention Cross-Platform API + \param strFrom Source string. \param strToFind String whose data is to be compared with the source string. \param maxLevel The maximum collation level. @@ -195,6 +198,7 @@ Level 1 - Character identity and accents; Level 2 - Character identity, accents and case; Level 3 - Character identity, accents, case and Unicode value; + \return Offset of the data sequence from the beginning of the aStrFrom. -1 if the data sequence cannot be found. @@ -225,8 +229,11 @@ Searches source string's folded data for a match with folded data supplied in pattern string + \attention Cross-Platform API + \param strFrom Source string. \param strToMatch Pattern string. + \return If a match is found the offset within source string's data where the match first occurs. -1 if match is not found. @@ -257,8 +264,11 @@ Searches for the first occurence of the specified folded data sequence in the strFrom. + \attention Cross-Platform API + \param strFrom Source string. \param strToFind String whose data is to be compared with the source string. + \return Offset of the data sequence from the beginning of the strFrom. -1 if the data sequence cannot be found. Zero, if the length of search data sequence is zero. @@ -283,8 +293,11 @@ Compares source string's folded data with the other string's folded data. + \attention Cross-Platform API + \param string1 Source string. \param string2 String whose data is to be compared with the source string. + \return Positive if source string is greater, negative if it is less and zero if the content of both strings match. @@ -323,6 +336,9 @@ /*! Converts digits to native digits based on current UI language. + + \attention Cross-Platform API + \param str digits to be converted. */ QString HbStringUtil::convertDigits( const QString str ) @@ -344,6 +360,9 @@ /*! Converts the digit from Latin to native or native to latin or native to native + + \attention Cross-Platform API + \param str digits to be converted. \param digitType type of the digit to be converted to */ @@ -377,6 +396,8 @@ /*! Sorts QStrings into alphabetically order (overwrites the strList's original content) + \attention Cross-Platform API + \param strList List of QStrings which need to be sorted. Example diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/i18n/hbtranslator.cpp --- a/src/hbcore/i18n/hbtranslator.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/i18n/hbtranslator.cpp Thu May 27 13:10:59 2010 +0300 @@ -33,8 +33,115 @@ #include #include +#ifdef Q_OS_SYMBIAN +const char* defaultPath = "/resource/qt/translations/"; +const char* defaultDrive = "Z:"; +const char* defaultCommon = "common_"; +#else +const QString defaultPath = ""; +const char* defaultDrive = ""; +const char* defaultCommon = "common_"; -const QString defaultpath = "/resource/qt/translations/"; +#endif + +#ifdef Q_OS_SYMBIAN +#include +#include +#endif + +#ifdef Q_OS_SYMBIAN +static void toSymbianPath(QString &path) { + int len=path.length(); + for (int i=0; iFsSession(); + // TPtrC ptrFName; + QString qmFile2; + QString delims="_."; + TInt err; + for (;;) { + qmFile2=qmFile; + qmFile2 += QString(".qm"); + + TPtrC ptrFName(reinterpret_cast(qmFile2.constData())); + err= fl.Open(fs, ptrFName, EFileShareReadersOrWriters | EFileRead | EFileStream ); + if (err == KErrNotFound) { + if (!doFallback) { // no fallback, then return + return 0; + } + // else continue + } + else { + if (err != KErrNone ) { // if some other error return error, don't look anymore + return 0; + } + else { + break; // file was found + } + } + // do fallback + qmFile2 = qmFile; + ptrFName.Set((ushort*)(qmFile2.constData()), qmFile2.length()); + err= fl.Open(fs, ptrFName, EFileShareReadersOrWriters | EFileRead | EFileStream ); + if (err == KErrNone) { + break; + } + else { + if (err != KErrNotFound) { + return 0; + } + } + // check fallback names + int rightmost = 0; + for (int i=0; i<(int)delims.length(); i++) { + int k=qmFile.lastIndexOf(delims[i]); + if (k>rightmost) { + rightmost=k; + } + } + + // no truncations? fail + if (rightmost==0) { + return 0; + } + qmFile.truncate(rightmost); + } + + TInt sz; + err = fl.Size(sz); + if (err != KErrNone) { + fl.Close(); + return 0; + } + uchar *buf = new uchar[sz]; + TPtr8 bufPtr(buf,0,sz); + err = fl.Read(bufPtr, sz); + if (err != KErrNone) { + fl.Close(); + return 0; + } + fl.Close(); + if (!translator.load(bufPtr.Ptr(),sz)) { + delete buf; + return 0; + } + return buf; +#endif +} /*! @beta @@ -46,27 +153,33 @@ /*! Default case: searches translation file from default location (/resource/qt/translations/) with default name, which is .qm + + \attention Cross-Platform API */ HbTranslator::HbTranslator(): d(new HbTranslatorPrivate()) { QFileInfo info(qApp->applicationFilePath()); - QString defaultname = info.baseName(); // defaultname = - d->installTranslator(defaultpath, defaultname); + QString defaultName = info.baseName(); // defaultname = + d->installTranslator(defaultPath, defaultName); } /*! Searches translation file \a file from default location. + + \attention Cross-Platform API */ - HbTranslator::HbTranslator(const QString &file): d(new HbTranslatorPrivate()) { - d->installTranslator(defaultpath, file); + d->installTranslator(defaultPath, file); } /*! Searches translation file \a file from path \a path. + + \attention Cross-Platform API + \code - HbTranslator trans = new HbTranslator("/resource/qt/custom/", "customfile"); + HbTranslator trans("/resource/qt/custom/", "customfile"); \endcode */ HbTranslator::HbTranslator(const QString &path, const QString &file): d(new HbTranslatorPrivate()) @@ -81,90 +194,144 @@ /*! Loads common.ts translations from default location. + + \attention Cross-Platform API */ void HbTranslator::loadCommon() -{ +{ QString lang = QLocale::system().name(); - QString commonts = QString("Z:") + defaultpath + QString("common_") + lang; - d->common.load(commonts); - qApp->installTranslator(&d->common); + QString commonts = QString(defaultDrive) + QString(defaultPath) + QString(defaultCommon) + lang; + bool loaded; + loaded = (d->commonData=loadTranslatorData(d->common, commonts)); + if (loaded) { + qApp->installTranslator(&d->common); + } } // internal function for common operations of HbTranslator -void HbTranslatorPrivate::installTranslator(const QString &path, const QString &name) +void HbTranslatorPrivate::installTranslator(const QString &pth, const QString &name) { + QString path(pth); +#ifdef Q_OS_SYMBIAN + toSymbianPath(path); +#endif QString filepath = qApp->applicationFilePath(); - QChar drive = filepath.at(0); + QChar drive; + if (filepath.length()>=2 && filepath.at(1) == ':') { + drive = filepath.at(0); + } + QString lang = QLocale::system().name(); QString lang2 = lang; languageDowngrade(lang); - QString tsfile = path + name + QString("_") + lang + QString(".qm"); - if (!HbFindFile::hbFindFile(tsfile, drive)) { - tsfile = path + name + QString("_") + lang2 + QString(".qm"); - HbFindFile::hbFindFile(tsfile); + QString tsfile = path + name + QString("_") + lang; + QString tsfileQM = tsfile + QString(".qm"); + + bool loaded = false; + if (HbFindFile::hbFindFile(tsfileQM, drive)) { + tsfileQM.chop(3); + loaded = (translatorData=loadTranslatorData(translator,tsfileQM)); + } + else { + tsfile = path + name + QString("_") + lang2; + tsfileQM = tsfile + QString(".qm"); + if (HbFindFile::hbFindFile(tsfileQM, drive)) { + tsfileQM.chop(3); + loaded = (translatorData=loadTranslatorData(translator,tsfileQM)); + } + else { + QList fallBack; + fallBack.append("en"); + fallBack.append("en_US"); + int len = fallBack.length(); + for (int i=0; iinstallTranslator(&translator); } - translator.load(tsfile); - qApp->installTranslator(&translator); } +class LanguageHash : public QHash +{ +public: + LanguageHash(); +}; + +LanguageHash::LanguageHash(){ + (*this)["en_GB"] = "en"; + (*this)["fr_FR"] = "fr"; + (*this)["de_DE"] = "de"; + (*this)["es_ES"] = "es"; + (*this)["it_IT"] = "it"; + (*this)["sv_SE"] = "sv"; + (*this)["da_DK"] = "da"; + (*this)["no_NO"] = "no"; + (*this)["fi_FI"] = "fi"; + (*this)["en_US"] = "en_US"; + (*this)["pt_PT"] = "pt"; + (*this)["tr_TR"] = "tr"; + (*this)["is_IS"] = "is"; + (*this)["ru_RU"] = "ru"; + (*this)["hu_HU"] = "hu"; + (*this)["nl_NL"] = "nl"; + (*this)["cs_CZ"] = "cs"; + (*this)["sk_SK"] = "sk"; + (*this)["pl_PL"] = "pl"; + (*this)["sl_SI"] = "sl"; + (*this)["zh_TW"] = "zh_TW"; + (*this)["zh_HK"] = "zh_HK"; + (*this)["zh_CN"] = "zh_CN"; + (*this)["ja_JP"] = "ja"; + (*this)["th_TH"] = "th"; + (*this)["ar_AE"] = "ar"; + (*this)["tl_PH"] = "tl"; + (*this)["bg_BG"] = "bg"; + (*this)["ca_ES"] = "ca"; + (*this)["hr_HR"] = "hr"; + (*this)["et_EE"] = "et"; + (*this)["fa_IR"] = "fa"; + (*this)["fr_CA"] = "fr_CA"; + (*this)["el_GR"] = "el"; + (*this)["he_IL"] = "he"; + (*this)["hi_IN"] = "hi"; + (*this)["id_ID"] = "id"; + (*this)["ko_KR"] = "ko"; + (*this)["lv_LV"] = "lv"; + (*this)["lt_LT"] = "lt"; + (*this)["ms_MY"] = "ms"; + (*this)["pt_BR"] = "pt_BR"; + (*this)["ro_RO"] = "ro"; + (*this)["sr_YU"] = "sr"; + (*this)["es_MX"] = "es_MX"; //!! + (*this)["uk_UA"] = "uk"; + (*this)["ur_PK"] = "ur"; + (*this)["vi_VN"] = "vi"; + (*this)["eu_ES"] = "eu"; + (*this)["gl_ES"] = "gl"; + +} + +Q_GLOBAL_STATIC(LanguageHash, gs_LanguageHash) + // internal function for solving conflict between QLocale::system().name() and actual ts file naming convention. bool HbTranslatorPrivate::languageDowngrade(QString &lang) { - static QHash languages; - languages["en_GB"] = "en"; - languages["fr_FR"] = "fr"; - languages["de_DE"] = "de"; - languages["es_ES"] = "es"; - languages["it_IT"] = "it"; - languages["sv_SE"] = "sv"; - languages["da_DK"] = "da"; - languages["no_NO"] = "no"; - languages["fi_FI"] = "fi"; - languages["en_US"] = "en_US"; - languages["pt_PT"] = "pt"; - languages["tr_TR"] = "tr"; - languages["is_IS"] = "is"; - languages["ru_RU"] = "ru"; - languages["hu_HU"] = "hu"; - languages["nl_NL"] = "nl"; - languages["cs_CZ"] = "cs"; - languages["sk_SK"] = "sk"; - languages["pl_PL"] = "pl"; - languages["sl_SI"] = "sl"; - languages["zh_TW"] = "zh_TW"; - languages["zh_HK"] = "zh_HK"; - languages["zh_CN"] = "zh_CN"; - languages["ja_JP"] = "ja"; - languages["th_TH"] = "th"; - languages["ar_AE"] = "ar"; - languages["tl_PH"] = "tl"; - languages["bg_BG"] = "bg"; - languages["ca_ES"] = "ca"; - languages["hr_HR"] = "hr"; - languages["et_EE"] = "et"; - languages["fa_IR"] = "fa"; - languages["fr_CA"] = "fr_CA"; - languages["el_GR"] = "el"; - languages["he_IL"] = "he"; - languages["hi_IN"] = "hi"; - languages["id_ID"] = "id"; - languages["ko_KR"] = "ko"; - languages["lv_LV"] = "lv"; - languages["lt_LT"] = "lt"; - languages["ms_MY"] = "ms"; - languages["pt_BR"] = "pt_BR"; - languages["ro_RO"] = "ro"; - languages["sr_YU"] = "sr"; - languages["es_MX"] = "es_MX"; //!! - languages["uk_UA"] = "uk"; - languages["ur_PK"] = "ur"; - languages["vi_VN"] = "vi"; - languages["eu_ES"] = "eu"; - languages["gl_ES"] = "gl"; - - if (languages.contains(lang)) { - lang = languages.value(lang); - return true; + QHash *languageHash = gs_LanguageHash(); + if (languageHash) { + if (languageHash->contains(lang)) { + lang = languageHash->value(lang); + return true; + } } return false; } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/i18n/hbtranslator_p.h --- a/src/hbcore/i18n/hbtranslator_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/i18n/hbtranslator_p.h Thu May 27 13:10:59 2010 +0300 @@ -33,8 +33,12 @@ public: void installTranslator(const QString &name, const QString &path); bool languageDowngrade(QString &lang); + HbTranslatorPrivate(): translatorData(0), commonData(0){} + ~HbTranslatorPrivate() { delete [] translatorData; delete [] commonData; } QTranslator translator; QTranslator common; + uchar *translatorData; + uchar *commonData; }; #endif diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/image/hbicon.cpp --- a/src/hbcore/image/hbicon.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/image/hbicon.cpp Thu May 27 13:10:59 2010 +0300 @@ -290,6 +290,24 @@ /*! \internal */ +void HbIconPrivate::setThemedColor(const QColor &color) +{ + if (engine && color != engine->themedColor()) { + engine->setThemedColor(color); + } +} + +/*! +\internal +*/ +QColor HbIconPrivate::themedColor() const +{ + return engine ? engine->themedColor() : QColor(); +} + +/*! +\internal +*/ QDataStream &operator>>(QDataStream &stream, HbIconPrivate &icon) { stream >> icon.size; @@ -382,7 +400,7 @@ * compatibility reasons if a QIcon instance needs to be passed as a parameter * to a method taking a HbIcon parameter. * \note If this constructor is used, there are the following limitations in the HbIcon methods. -* - HbIcon::defaultSize() always returns QSizeF(). +* - HbIcon::defaultSize() may return QSizeF(). * - HbIcon::paint() ignores the parameter aspectRatioMode and converts the given QRectF to QRect. * - HbIcon::iconName() returns empty string by default. * - HbIcon::pixmap() returns null pixmap. @@ -487,13 +505,16 @@ * always taken into account when the logical graphics name indicates that it is * a mono icon. * -* Note that if a widget css defines a color for an icon primitive then the style will take -* care of calling setColor() with the correct color from the theme whenever the theme -* changes. Typical examples of such widgets are the itemviews (e.g. list, grid). Therefore -* mono icons shown in such widgets will automatically be colorized with a theme-specific -* color if the icon is either a mono icon coming from the theme or the icon has the +* Note that if a widget defines a color for its icon primitive (as most standard +* widgets do) then the style will take care of colorizing with the correct color +* from the theme whenever the theme changes. Therefore mono icons shown in such +* widgets will automatically be colorized with a theme-specific color if the +* icon is either a mono icon coming from the theme or the icon has the * HbIcon::Colorized flag set. * +* However it is possible to override this theme-specific color with a custom one +* by calling this function. +* * \warning Currently this method makes use of pixmap() routine in case of NVG icons. * pixmap() slows down the hardware accelerated rendering. * diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/image/hbicon_p.h --- a/src/hbcore/image/hbicon_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/image/hbicon_p.h Thu May 27 13:10:59 2010 +0300 @@ -31,6 +31,7 @@ class HbIconAnimator; class HbBadgeIcon; + class HbIconPrivate : public QSharedData { public: @@ -48,6 +49,8 @@ bool removeBadge(const HbIcon& badge); void removeAllBadges(); bool isBadged() const; + void setThemedColor(const QColor &color); + QColor themedColor() const; private: // disabled @@ -55,6 +58,7 @@ public: static HbIconPrivate *d_ptr(HbIcon *icon) { return icon->d.data(); } + static HbIconPrivate *d_ptr_detached(HbIcon *icon) { icon->d.detach(); return icon->d.data(); } QSizeF size; HbIconEngine *engine; // this is 0 if HbIcon was copy constructed from QIcon. diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/image/hbiconengine.cpp --- a/src/hbcore/image/hbiconengine.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/image/hbiconengine.cpp Thu May 27 13:10:59 2010 +0300 @@ -74,6 +74,8 @@ const QList badges() const; bool isBadged() const; + QColor colorToUse(const QString &iconName) const; + public: QSizeF size; @@ -119,7 +121,9 @@ // Variables introduced for handling colorizable icons QColor color; - + // The color coming from the color group associated with a widget in its css. + QColor themedColor; + //Icon Implementation interface which provides abstraction for the type of icon ( Pixmap, NVG, SgImage etc). // Each class derived from HbIconImpl will have to implement the paint(), pixmap() and defaultSize() API HbIconImpl *icon; @@ -135,20 +139,15 @@ // Class HbIconEnginePrivate HbIconEnginePrivate::HbIconEnginePrivate(const QString &iconName) : - size(), - iconNames(), - pixmap(), aspectRatioMode(Qt::KeepAspectRatio), mode(QIcon::Normal), state(QIcon::Off), - defaultSize(), defaultSizeFailed(false), loadFailed(0), flags(0), mirroringMode(HbIcon::Default), defaultMirroring(Unknown), animator(0), - color(QColor()), icon(0), badgeInfo(0), signalConnectionsSet(false), @@ -190,20 +189,15 @@ } HbIconEnginePrivate::HbIconEnginePrivate(QDataStream &stream) : - size(), - iconNames(), - pixmap(), aspectRatioMode(Qt::KeepAspectRatio), mode(QIcon::Normal), state(QIcon::Off), - defaultSize(), defaultSizeFailed(false), loadFailed(0), flags(0), mirroringMode(HbIcon::Default), defaultMirroring(Unknown), animator(0), - color(QColor()), icon(0), badgeInfo(new HbBadgeIcon), signalConnectionsSet(false), @@ -313,6 +307,7 @@ defaultMirroring = Unknown; animator = 0; color = QColor(); + themedColor = QColor(); unLoadIcon(); if (badgeInfo) { badgeInfo->removeAllBadges(); @@ -435,6 +430,15 @@ return name.startsWith("qtg_mono_") && !name.contains('.'); } +QColor HbIconEnginePrivate::colorToUse(const QString &iconName) const +{ + if (flags.testFlag(HbIcon::Colorized) || isMonoIcon(iconName)) { + return color.isValid() ? color : themedColor; + } else { + return QColor(); + } +} + void HbIconEnginePrivate::addBadge(Qt::Alignment align, const HbIcon& icon, int z) @@ -686,7 +690,7 @@ modeForLoader, d->iconLoaderOptions(), 0, - (d->flags.testFlag(HbIcon::Colorized) || isMonoIcon(name)) ? d->color : QColor()); + d->colorToUse(name)); if (d->icon){ // Draw badges on this pixmap @@ -716,7 +720,7 @@ modeForLoader, d->iconLoaderOptions(), 0, - (d->flags.testFlag(HbIcon::Colorized) || isMonoIcon(name)) ? d->color : QColor()); + d->colorToUse(name)); // If loading failed, store information so it is not retried. if (!d->icon) { @@ -754,6 +758,19 @@ return d->color; } +void HbIconEngine::setThemedColor(const QColor &color) +{ + if (d->themedColor != color) { + clearStoredIconContent(); + d->themedColor = color; + } +} + +QColor HbIconEngine::themedColor() const +{ + return d->themedColor; +} + QSizeF HbIconEngine::defaultSize() const { QString name = iconName(); @@ -782,8 +799,13 @@ { if (size != d->size) { d->size = size; + // Update default size if size is set before painting + // to obtain the actual default size of the image + if (!d->icon && !d->defaultSize.isValid()) { + defaultSize(); + } // Size changed, invalidate pixmap stored in this object. - clearStoredIconContent(); + clearStoredIconContent(KeepDefaultSize); } } @@ -793,21 +815,21 @@ QIcon::State state ) { // This method is called by QIcon and it should paint the icon with the size defined by 'rect'. - HbIconImpl* icon = NULL; + HbIconImpl* icon = 0; // update the rendering mode HbIconLoader::global()->updateRenderingMode(painter->paintEngine()->type()); icon = paintHelper(rect.size(), Qt::KeepAspectRatio, mode, state); - if (icon){ + if (icon) { icon->paint(painter, rect, Qt::AlignCenter); HbIconLoader::global()->unLoadIcon(icon); icon->dispose(); - } - // Now paint any necessary badges. - if (d->badgeInfo) { - d->badgeInfo->paint(painter, rect, mode, state, icon->isMirrored()); + // Now paint any necessary badges. + if (d->badgeInfo) { + d->badgeInfo->paint(painter, rect, mode, state, icon->isMirrored()); + } } } @@ -948,7 +970,7 @@ modeForLoader, d->iconLoaderOptions(), d->animator, - (d->flags.testFlag(HbIcon::Colorized) || isMonoIcon(name)) ? d->color : QColor()); + d->colorToUse(name)); // If loading failed, store information so it is not retried in every repaint. if (!icon) { @@ -987,16 +1009,18 @@ The data will be reloaded (well, at least tried to be reloaded) when the icon is painted the next time. */ -void HbIconEngine::clearStoredIconContent(bool resetIconSize, bool unloadedByServer) +void HbIconEngine::clearStoredIconContent(ClearingFlags flags) { #ifdef HB_ICON_TRACES qDebug("HbIconEngine %x: clearStoredIconContent", (int) this); #endif d->pixmap = QPixmap(); - d->unLoadIcon(unloadedByServer); - d->defaultSize = QSizeF(); - if (resetIconSize) { + d->unLoadIcon(flags.testFlag(UnloadedByServer)); + if (!(flags.testFlag(KeepDefaultSize))) { + d->defaultSize = QSizeF(); + } + if (flags.testFlag(ResetIconSize)) { d->size = QSizeF(); } d->defaultSizeFailed = false; @@ -1042,7 +1066,7 @@ // Theme has changed, clear stored icon content // Server side icon cache is already cleared when theme is changed if (updatedFiles.count() == 0 || (d->icon && updatedFiles.contains(d->icon->iconFileName())) ) { - clearStoredIconContent(false, true); + clearStoredIconContent(UnloadedByServer); } } @@ -1062,7 +1086,7 @@ { if (d->flags.testFlag(HbIcon::ResolutionCorrected)) { // Icon content not valid any more - clear it. - clearStoredIconContent(true); + clearStoredIconContent(ResetIconSize); } } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/image/hbiconengine_p.h --- a/src/hbcore/image/hbiconengine_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/image/hbiconengine_p.h Thu May 27 13:10:59 2010 +0300 @@ -78,6 +78,9 @@ void setColor(const QColor &color); QColor color() const; + void setThemedColor(const QColor &color); + QColor themedColor() const; + void paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, @@ -101,6 +104,7 @@ void removeAllBadges(); const QList badges() const; HbIconFormatType iconFormatType() const; + private: void ensureSignalConnections(); QPixmap getPixmapFromAnimation() const; @@ -114,8 +118,16 @@ HbIconAnimation *animation() const; +public: + enum ClearingFlag { + ResetIconSize = 0x01, + KeepDefaultSize = 0x02, + UnloadedByServer = 0x04 + }; + Q_DECLARE_FLAGS(ClearingFlags, ClearingFlag) + public slots: - void clearStoredIconContent(bool resetIconSize = false, bool unloadedByServer = false); + void clearStoredIconContent(ClearingFlags flags = 0); void clearStoredNonAnimIconContent(); private slots: @@ -131,4 +143,6 @@ HbIconEnginePrivate *d; }; +Q_DECLARE_OPERATORS_FOR_FLAGS(HbIconEngine::ClearingFlags) + #endif // HBICONENGINE_P_H diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/image/hbiconsource.cpp --- a/src/hbcore/image/hbiconsource.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/image/hbiconsource.cpp Thu May 27 13:10:59 2010 +0300 @@ -274,16 +274,16 @@ QByteArray* HbIconSource::byteArray() { if (!mByteArray) { - #ifdef HB_NVG_CS_ICON +#ifdef HB_NVG_CS_ICON QFile file(mFilename); if (!file.open(QIODevice::NotOpen | QIODevice::ReadOnly)) { return 0; } - mByteArray = new QByteArray (file.readAll()); - #endif//nvg + mByteArray = new QByteArray(file.readAll()); +#endif } - if (!mByteArray->isEmpty()) { + if (mByteArray && !mByteArray->isEmpty()) { return mByteArray; } else { return 0; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/indicatorplugins/hbindicatorinterface.cpp --- a/src/hbcore/indicatorplugins/hbindicatorinterface.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/indicatorplugins/hbindicatorinterface.cpp Thu May 27 13:10:59 2010 +0300 @@ -162,6 +162,14 @@ \sa HbIndicatorInterface::processClientRequest */ +/*! + \fn void HbIndicatorInterface::userActivated(const QVariantMap &data) + + The class should emit this signal, when client needs to be notified of the + user interaction. + @param data Data sent by indicator. +*/ + class HbIndicatorInterfacePrivate { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/inputfw/hbinputeditorinterface.cpp --- a/src/hbcore/inputfw/hbinputeditorinterface.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/inputfw/hbinputeditorinterface.cpp Thu May 27 13:10:59 2010 +0300 @@ -133,6 +133,10 @@ if (mPrivate) { mPrivate->lock(); mPrivate->mInputMode = inputMode; + if (mPrivate->mLastFocusedState.inputMode() != HbInputModeNone) { + // Update also the last known input state, otherwise it won't really change. + mPrivate->mLastFocusedState.setInputMode(inputMode); + } mPrivate->unlock(); HbEditorInterfacePrivateCache::instance()->notifyValueChanged(mPrivate->mHostEditor); } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/inputfw/hbinputmethod.cpp --- a/src/hbcore/inputfw/hbinputmethod.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/inputfw/hbinputmethod.cpp Thu May 27 13:10:59 2010 +0300 @@ -241,7 +241,9 @@ if (!isActiveMethod()) { return; } + Q_D(HbInputMethod); + d->mInputState.setKeyboard(newKeyboard); HbInputMethod* stateHandler = d->findStateHandler(d->mInputState); if (stateHandler) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/inputfw/hbinputmethod_p.cpp --- a/src/hbcore/inputfw/hbinputmethod_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/inputfw/hbinputmethod_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -215,14 +215,29 @@ */ HbInputMethod* HbInputMethodPrivate::findStateHandler(HbInputState& state) { + HbInputMethod *stateHandler = 0; + + if (mFocusObject && + (mFocusObject->editorInterface().inputConstraints() & HbEditorConstraintIgnoreFocus)) { + return HbInputMethodNull::Instance(); + } + if (stateAllowedInEditor(state)) { - HbInputMethod* stateHandler = HbInputModeCache::instance()->findStateHandler(state); - if (stateHandler) { - return stateHandler; + stateHandler = HbInputModeCache::instance()->findStateHandler(state); + if (!stateHandler && + state.inputMode() == HbInputModeNumeric && + state.language() != QLocale::English && + mFocusObject && + (mFocusObject->editorInterface().inputConstraints() & HbEditorConstraintFixedInputMode)) { + // This is number only editor but there was no numeric handler + // for specified language. Use default numeric hanlder + // as a fallback. + state.setLanguage(QLocale::English); + stateHandler = HbInputModeCache::instance()->findStateHandler(state); } } - return 0; + return stateHandler; } /*! @@ -371,7 +386,9 @@ HbInputMethodDescriptor activeMethod = HbInputSettingProxy::instance()->activeCustomInputMethod(); if (!activeMethod.isEmpty() && !activeMethod.isDefault()) { // A custom method is active. Don't resolve, just try to load it. - stateHandler = HbInputModeCache::instance()->loadInputMethod(activeMethod); + if ((editorConstraints() & HbEditorConstraintIgnoreFocus) == 0) { + stateHandler = HbInputModeCache::instance()->loadInputMethod(activeMethod); + } } if (!stateHandler) { @@ -380,11 +397,6 @@ stateHandler = findStateHandler(mInputState); } - if (editorConstraints() & HbEditorConstraintIgnoreFocus) { - // The editor requests us to ignore the focus. - stateHandler = 0; - } - if (stateHandler == 0) { // No state handler found (this should never happen under normal circumstances). // Fall back to null method. diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/inputfw/hbinputmodecache.cpp --- a/src/hbcore/inputfw/hbinputmodecache.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/inputfw/hbinputmodecache.cpp Thu May 27 13:10:59 2010 +0300 @@ -372,7 +372,7 @@ Q_D(HbInputModeCache); HbInputModeProperties stateProperties = d->propertiesFromState(state); - int languageRangeIndex = -1; + int languageRangeIndex = -1; // First check if there is a method that matches excatly (ie. also specifies // the language). @@ -389,7 +389,7 @@ if (properties.inputMode() != HbInputModeCustom) { if (properties == stateProperties) { - return d->cachedMethod(d->mMethods[i]); + return d->cachedMethod(d->mMethods[i]); } } } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/layouts/hbanchorlayoutengine_p.cpp --- a/src/hbcore/layouts/hbanchorlayoutengine_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/layouts/hbanchorlayoutengine_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -778,7 +778,7 @@ vertices->clear(); for( int i = 0; i < el->size(); i++ ) { if( el->at(i)->isTrivial() ) { - el->removeAt(i); + delete el->takeAt(i); i--; } } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/primitives/hbiconitem.cpp --- a/src/hbcore/primitives/hbiconitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/primitives/hbiconitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -123,7 +123,7 @@ void HbIconItemPrivate::updateIconItem() { - Q_Q( HbIconItem ); + Q_Q(HbIconItem); const QRectF boundingRect = q->rect(); if (!boundingRect.size().isEmpty()) { mIconRect = boundingRect; @@ -131,8 +131,17 @@ mAnimator.setIcon(mIcon); q->update(); } + if (!mIcon.isNull() && HbIconPrivate::d_ptr(&mIcon)->themedColor() != mThemedColor) { + HbIconPrivate::d_ptr_detached(&mIcon)->setThemedColor(mThemedColor); + } } +void HbIconItemPrivate::setThemedColor(const QColor &color) +{ + mThemedColor = color; + updateIconItem(); +} + /*! Constructs a new HbIconItem with \a iconName and \a parent. \param iconName the name of the icon. @@ -195,7 +204,10 @@ */ HbIconItem::~HbIconItem() { - HbOogmWatcher::instance()->unregisterIconItem(this); + HbOogmWatcher *w = HbOogmWatcher::instance(); + if (w) { + w->unregisterIconItem(this); + } } /*! @@ -214,30 +226,14 @@ \param icon the HbIcon instance that this HbIconItem displays. - When \a takeIconSettings is false, the following settings are not - taken (ignored) from \a icon: flags, color, mirroring mode. Instead, - the previous values set via HbIconItem's setters are used. - - \sa icon + \sa icon() */ -void HbIconItem::setIcon(const HbIcon &icon, bool takeIconSettings) +void HbIconItem::setIcon(const HbIcon &icon, bool reserved) { - Q_D(HbIconItem ); + Q_UNUSED(reserved); + Q_D(HbIconItem); if (d->mIcon != icon) { - if (takeIconSettings) { - d->mIcon = icon; - } else { - // Must preserve settings like flags, colors, etc. In this case the - // settings made previously through HbIconItem take precedence over the - // newly set HbIcon's own settings. - HbIcon::Flags prevFlags = d->mIcon.flags(); - QColor prevColor = d->mIcon.color(); - HbIcon::MirroringMode prevMirroringMode = d->mIcon.mirroringMode(); - d->mIcon = icon; - d->mIcon.setFlags(prevFlags); - d->mIcon.setColor(prevColor); - d->mIcon.setMirroringMode(prevMirroringMode); - } + d->mIcon = icon; d->updateIconItem(); } } @@ -419,12 +415,15 @@ } /*! - Sets the new icon color for the HbIconItem. Note that the color is just - stored but not actually used if the HbIcon::Colorized flag is not set and the - icon is not a mono icon from the theme. + Sets the new icon color for the HbIconItem. Note that the color + is just stored but not actually used if the HbIcon::Colorized flag + is not set and the icon is not a mono icon from the theme. - \param color to be set. - \sa HbIconItem::color(), HbIcon::setColor() + See HbIcon::setColor() for more information on colorization of mono + icons in widgets. + + \param color to be set. + \sa HbIconItem::color(), HbIcon::setColor() */ void HbIconItem::setColor(const QColor &color) { @@ -595,7 +594,7 @@ Q_UNUSED(option) Q_D(HbIconItem); const QRectF rect(boundingRect()); - if(!rect.isEmpty()){ + if (!rect.isEmpty()){ if (d->mIconRect != rect) { d->mIconRect = rect; d->mIcon.setSize(d->mIconRect.size()); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/primitives/hbiconitem.h --- a/src/hbcore/primitives/hbiconitem.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/primitives/hbiconitem.h Thu May 27 13:10:59 2010 +0300 @@ -44,7 +44,7 @@ explicit HbIconItem(QGraphicsItem *parent = 0); virtual ~HbIconItem(); - void setIcon(const HbIcon &icon, bool takeIconSettings = false); + void setIcon(const HbIcon &icon, bool reserved = false); void setSize(const QSizeF &size); void setAspectRatioMode(Qt::AspectRatioMode mode); void setAlignment(Qt::Alignment alignment); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/primitives/hbiconitem_p.h --- a/src/hbcore/primitives/hbiconitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/primitives/hbiconitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -26,16 +26,6 @@ #ifndef HBICONITEM_P_H #define HBICONITEM_P_H -// -// W A R N I N G -// ------------- -// -// This file is not part of the Hb API. It exists purely as an -// implementation detail. This file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// #include "hbwidgetbase_p.h" #include "hbicon.h" #include "hbiconanimator.h" @@ -46,13 +36,14 @@ class HbIconItemPrivate : public HbWidgetBasePrivate { - Q_DECLARE_PUBLIC( HbIconItem) + Q_DECLARE_PUBLIC(HbIconItem) public: HbIconItemPrivate(const HbIcon &icon); ~HbIconItemPrivate(); void clearStoredIconContent(); void updateIconItem(); + void setThemedColor(const QColor &color); static HbIconItemPrivate *d_ptr(HbIconItem *item) { return item->d_func(); } HbIcon mIcon; HbIconAnimator mAnimator; @@ -60,6 +51,7 @@ Qt::AspectRatioMode mAspectRatioMode; QIcon::State mState; QIcon::Mode mMode; + QColor mThemedColor; QBrush mBrush; QRectF mIconRect; static bool outlinesEnabled; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/primitives/hbprogresstrackitem.cpp --- a/src/hbcore/primitives/hbprogresstrackitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/primitives/hbprogresstrackitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -45,14 +45,17 @@ maximum = 0; value = 0; maskWidth = 0; + mDiff = maximum - minimum; } void HbProgressTrackItem::setMinimum(int min) { minimum = min; + mDiff = maximum - minimum; } void HbProgressTrackItem::setMaximum(int max ) { maximum = max; + mDiff = maximum - minimum; } void HbProgressTrackItem::setValue(int val ) { @@ -79,30 +82,30 @@ if(boundingRect()!= parentItem()->boundingRect()){ setGeometry(parentItem()->boundingRect()); } - QSize size = parentItem()->boundingRect().size().toSize(); + /* QSize size = parentItem()->boundingRect().size().toSize(); if(size.width() == 0 || size.height() == 0){ size.setWidth((int)boundingRect().width()); size.setHeight((int)boundingRect().height()); - } + }*/ QRectF maskRect; if(maximum != minimum) { if(maskWidth == 0) { if(mOrientation == Qt::Horizontal){ qreal left = (qreal)boundingRect().topLeft().x(); if(inverted) { - left = (qreal)boundingRect().width()* ((maximum - value)/(qreal) (maximum - minimum)); + left = (qreal)boundingRect().width()* ((maximum - value)/(qreal) (mDiff)); } maskRect = QRectF( left, (qreal)boundingRect().topLeft().y(), - (qreal)boundingRect().width()* ((value - minimum)/(qreal) (maximum - minimum)), + (qreal)boundingRect().width()* ((value - minimum)/(qreal) (mDiff)), (qreal)boundingRect().height() ); } else{ - qreal start = boundingRect().bottom() -(qreal)boundingRect().height()*((value - minimum)/(qreal) (maximum - minimum)); + qreal start = boundingRect().bottom() -(qreal)boundingRect().height()*((value - minimum)/(qreal) (mDiff)); maskRect = QRectF( (qreal)boundingRect().topLeft().x(), start, diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/primitives/hbprogresstrackitem_p.h --- a/src/hbcore/primitives/hbprogresstrackitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/primitives/hbprogresstrackitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -46,6 +46,7 @@ bool inverted; qreal maskWidth; Qt::Orientation mOrientation; + int mDiff; }; #endif // HBPROGRESSTRACKITEM_P_H diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/primitives/hbtextitem.cpp --- a/src/hbcore/primitives/hbtextitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/primitives/hbtextitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -53,8 +53,6 @@ HbTextItemPrivate::HbTextItemPrivate () : mAlignment(Qt::AlignLeft | Qt::AlignVCenter), mElideMode(Qt::ElideNone), - mDontPrint(false), - mDontClip(false), mInvalidateShownText(true), mOffsetPos(0,0), mPaintFaded(false), @@ -73,7 +71,7 @@ Q_Q(HbTextItem); q->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); - q->setFlag(QGraphicsItem::ItemClipsToShape, !mDontClip); + q->setFlag(QGraphicsItem::ItemClipsToShape, false); q->setFlag(QGraphicsItem::ItemIsSelectable, false); q->setFlag(QGraphicsItem::ItemIsFocusable, false); @@ -272,8 +270,12 @@ break; } - if(mDontClip) flags |= Qt::TextDontClip; - if(mDontPrint) flags |= Qt::TextDontPrint; + if(q_ptr->flags().testFlag(QGraphicsItem::ItemClipsToShape)) { + flags |= Qt::TextDontClip; + } + if(!q_ptr->isVisible()) { // or ItemHasNoContents? + flags |= Qt::TextDontPrint; + } return flags; } @@ -418,96 +420,102 @@ } /* - This method paint each line in tree pieces. - In each piece uses different pen. - When fade effect is not needed on some end centerPen is used. + This method paints single piece of text layout. + If line contains criticalX value then fadePen is used for painting in other + case normalPen is used. */ -int HbTextItemPrivate::paintFaded(QPainter *painter, +void HbTextItemPrivate::paintArea(QPainter *painter, int firstItemToPaint, - const QPen& leftPen, - const QPen& centerPen, - const QPen& rightPen, - const QRectF& area ) const + int lastItemToPaint, + const QPen& normalPen, + const QPen& fadePen, + qreal criticalX) const { - Q_Q(const HbTextItem); - - const int n = mTextLayout.lineCount(); - const qreal leftBorder = q->contentsRect().left()-KFadeTolerance; - const qreal rightBorder = q->contentsRect().right()+KFadeTolerance; - - QRectF leftRect(area); - leftRect.setRight(mFadeFromRect.left()); - QRectF centerRect(area); - centerRect.moveLeft(leftRect.right()); - centerRect.setRight(mFadeFromRect.right()); - QRectF rightRect(area); - rightRect.setLeft(centerRect.right()); - - qreal maxY = area.bottom(); - - for(int i=firstItemToPaint; icriticalX) { + setPainterPen(painter, fadePen, gradientOffset); + } else { + setPainterPen(painter, normalPen, gradientOffset); + } +#else + if (lineRect.left()criticalX) { + painter->setPen(fadePen); + } else { + painter->setPen(normalPen); + } #endif // HB_FADE_EFFECT_WORKAROUND_ON_PHONE - QRectF currentCenter(centerRect); - - if(lineRect.top()>maxY) { - // stop painting line by line - return i; // current line won't be painted at all - } + line.draw(painter, mOffsetPos); + } // for i +} - if(lineRect.left()setPen(leftPen); -#endif - painter->setClipRect(leftRect); - line.draw(painter, mOffsetPos); - } else { - // no fade on this end so extend currentCenter - currentCenter.setLeft(leftRect.left()); - } +/* + This method is used to draw center part of lines. + It is also used to calculate range of lines needed for painting in this range. + */ +int HbTextItemPrivate::paintArea(QPainter *painter, + int firstItemToPaint, + const QPen& normalPen, + qreal lastValidY) const +{ + int i; + const int n = mTextLayout.lineCount(); - if(lineRect.right()>rightBorder) { -#ifdef HB_FADE_EFFECT_WORKAROUND_ON_PHONE - setPainterPen(painter, rightPen, gradientOffset); -#else - painter->setPen(rightPen); +#ifndef HB_FADE_EFFECT_WORKAROUND_ON_PHONE + painter->setPen(normalPen); #endif - painter->setClipRect(rightRect); - line.draw(painter, mOffsetPos); - } else { - // no fade on this end so extend currentCenter - currentCenter.setRight(rightRect.right()); + + for(i=firstItemToPaint; ilastValidY) { + return i; } - - if(currentCenter.width()>0) { #ifdef HB_FADE_EFFECT_WORKAROUND_ON_PHONE - setPainterPen(painter, centerPen, gradientOffset); -#else - painter->setPen(centerPen); -#endif - painter->setClipRect(currentCenter); - line.draw(painter, mOffsetPos); + const QPointF gradientOffset(lineRect.left(), + lineRect.top()+line.ascent()); + + setPainterPen(painter, normalPen, gradientOffset); +#endif // HB_FADE_EFFECT_WORKAROUND_ON_PHONE + + line.draw(painter, mOffsetPos); + + if (lineRect.bottom()>lastValidY) { + return i; } + } // for i + return n-1; +} - if(lineRect.bottom()>maxY) { - // stop painting line by line - return i; // current line has been painted partially +bool HbTextItemPrivate::setClipPath(QPainter *painter, + const QRectF& rect, + const QPainterPath& initialCliping) const +{ + if (initialCliping.isEmpty()) { + painter->setClipRect(rect); + } else { + QPainterPath newPath(rect.topLeft()); + newPath.addRect(rect); + + if (!initialCliping.intersects(newPath)) { + return false; // dont paint } - } // for loop + newPath = initialCliping.intersected(newPath); - return n; -} // paintFaded() + painter->setClipPath(newPath); + } + return true; +} void HbTextItemPrivate::paintWithFadeEffect(QPainter *painter) const { @@ -515,6 +523,7 @@ QLinearGradient gradient; setupGradient(&gradient, q->textColor()); + const QPainterPath initialClipPath = painter->clipPath(); const QRectF contentRect = q->contentsRect(); int i=0; @@ -534,19 +543,32 @@ if(mTextLayout.lineAt(0).y()+mOffsetPos.y()contentRect.bottom()) { // bottom fade is needed here centerRect.setBottom(mFadeFromRect.bottom()); + paintBottom = true; } // paint center part { + int startFrom = i; + QPen centerPen(q->textColor()); + if (setClipPath(painter, + QRectF(QPointF(mFadeFromRect.left(), centerRect.top()), + QPointF(mFadeFromRect.right(), centerRect.bottom())), + initialClipPath)) { + // center with no gradient: + i = paintArea(painter, i, centerPen, centerRect.bottom()); + } + // left gradient | || gradient.setStart(mFadeToRect.left(), mFadeFromRect.top()); gradient.setFinalStop(mFadeFromRect.topLeft()); QBrush leftBrush(gradient); QPen leftPen; leftPen.setBrush(leftBrush); + if (setClipPath(painter, + QRectF(centerRect.topLeft(), + QPointF(mFadeFromRect.left(), + centerRect.bottom())), + initialClipPath)) { + paintArea(painter, startFrom, i, centerPen, leftPen, contentRect.left()-KFadeTolerance); + } - // center with no gradient: - QPen centerPen(q->textColor()); - - // top right gradient || | + // right gradient || | gradient.setStart(mFadeToRect.right(), mFadeFromRect.top()); gradient.setFinalStop(mFadeFromRect.topRight()); QBrush rightBrush(gradient); QPen rightPen; rightPen.setBrush(rightBrush); - i = paintFaded(painter, i, leftPen, centerPen, rightPen, centerRect); + + if (setClipPath(painter, + QRectF(QPointF(mFadeFromRect.right(), centerRect.top()), + centerRect.bottomRight()), + initialClipPath)) { + paintArea(painter, startFrom, i, centerPen, rightPen, contentRect.right()+KFadeTolerance); + } } // need to draw bottom as faded? is some lines remained? - if(isetClipPath(initialClipPath); } void HbTextItemPrivate::setFadeLengths(qreal xLength, qreal yLength) @@ -654,7 +725,7 @@ QRectF HbTextItemPrivate::boundingRect (const QRectF& contentsRect) const { QRectF result(layoutBoundingRect()); - if(!mDontClip) { + if(q_ptr->flags().testFlag(QGraphicsItem::ItemClipsToShape)) { // clip QRectF clippedTo = contentsRect; @@ -898,6 +969,11 @@ Q_UNUSED(option); Q_UNUSED(widget); + // optimalization: + if (option->exposedRect.isEmpty()) { + return; + } + // Save painter's state QPen oldPen = painter->pen(); @@ -910,20 +986,20 @@ painter->drawRect(rect); } - if(!d->mDontPrint) { - painter->setPen(textColor()); + + painter->setPen(textColor()); - Q_ASSERT(d->mPaintFaded == d->fadeNeeded(contentsRect())); - if(!d->mDontClip && d->mPaintFaded ) { - d->paintWithFadeEffect(painter); - } else { - d->mTextLayout.draw(painter, - d->mOffsetPos, - QVector(), - d->mDontClip?QRectF():contentsRect()); - } + Q_ASSERT(d->mPaintFaded == d->fadeNeeded(contentsRect())); + if(d->mPaintFaded ) { + d->paintWithFadeEffect(painter); + } else { + d->mTextLayout.draw(painter, + d->mOffsetPos, + QVector(), + flags().testFlag(ItemClipsToShape)?contentsRect():QRectF()); } + // Restore painter's state painter->setPen(oldPen); } @@ -1153,53 +1229,46 @@ Shows (default) or hides text. Size hint remains unchanged (same as when text is visible). - \sa HbTextItem::isVisible() + Equvalent of QGraphicsItem::setVisible(bool) */ void HbTextItem::setTextVisible(bool isVisible) { - Q_D(HbTextItem); - if( d->mDontPrint == isVisible ) { - d->mDontPrint = !isVisible; - update(); - } + setVisible(isVisible); } /*! Returns if text is visible. \sa HbTextItem::setTextVisible(bool) + + Equvalent of QGraphicsItem::isVisible() */ bool HbTextItem::isTextVisible() const { - Q_D(const HbTextItem); - return !d->mDontPrint; + return isVisible(); } /*! - enables (default) or disables text clipping when item geometry is too small. + enables (default) od disables text cliping when item geometry is to small. \sa HbTextItem::isTextClip() + + Equvalent of QGraphicsItem::setFlag(QGraphicsItem::ItemClipsToShape, clipping) */ void HbTextItem::setTextClip(bool clipping) { - Q_D(HbTextItem); - if( d->mDontClip == clipping ) { - prepareGeometryChange(); - d->mDontClip = !clipping; - setFlag(QGraphicsItem::ItemClipsToShape, clipping); - update(); - } + setFlag(QGraphicsItem::ItemClipsToShape, clipping); } /*! - Returns true if text is clipped when item geometry is too small. + Returns true if text is cliped when item geometry is to small. + \sa HbTextItem::setTextClip(bool) - \sa HbTextItem::setTextClip(bool) + Equvalent of QGraphicsItem::flags().testFlag(QGraphicsItem::ItemClipsToShape) */ bool HbTextItem::isTextClip() const { - Q_D(const HbTextItem); - return !d->mDontClip; + return flags().testFlag(ItemClipsToShape); } /*! diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/primitives/hbtextitem_p.h --- a/src/hbcore/primitives/hbtextitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/primitives/hbtextitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -76,12 +76,34 @@ const QPen& pen, const QPointF& lineBegin); + void paintArea(QPainter *painter, + int firstItemToPaint, + int lastItemToPaint, + const QPen& normalPen, + const QPen& fadePen, + qreal criticalX) const; + + int paintArea(QPainter *painter, + int firstItemToPaint, + const QPen& normalPen, + qreal lastValidY) const; + + int paintHorizontalSection(QPainter *painter, + int firstItemToPaint, + QLinearGradient& gradient, + qreal startY, + qreal stopY) const; + int paintFaded(QPainter *painter, int firstItemToPaint, const QPen& leftPen, const QPen& centerPen, const QPen& rightPen, - const QRectF& area ) const; + const QPainterPath& area ) const; + + bool setClipPath(QPainter *painter, + const QRectF& rect, + const QPainterPath& initialCliping) const; void paintWithFadeEffect(QPainter *painter) const; @@ -93,8 +115,6 @@ QString mText; Qt::Alignment mAlignment; Qt::TextElideMode mElideMode; - bool mDontPrint; // needed to fake text flags - bool mDontClip; // needed to fake text flags bool mInvalidateShownText; QRectF mOldContentsRect; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/centralrepository/2002C304.txt Binary file src/hbcore/resources/centralrepository/2002C304.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/100.txt Binary file src/hbcore/resources/keymaps/100.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/108.txt Binary file src/hbcore/resources/keymaps/108.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/109.txt Binary file src/hbcore/resources/keymaps/109.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/115.txt Binary file src/hbcore/resources/keymaps/115.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/120.txt Binary file src/hbcore/resources/keymaps/120.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/125.txt Binary file src/hbcore/resources/keymaps/125.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/129.txt Binary file src/hbcore/resources/keymaps/129.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/130.txt Binary file src/hbcore/resources/keymaps/130.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/132.txt Binary file src/hbcore/resources/keymaps/132.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/14.txt Binary file src/hbcore/resources/keymaps/14.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/20.txt Binary file src/hbcore/resources/keymaps/20.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/24.txt Binary file src/hbcore/resources/keymaps/24.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/27.txt Binary file src/hbcore/resources/keymaps/27.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/28.txt Binary file src/hbcore/resources/keymaps/28.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/33.txt Binary file src/hbcore/resources/keymaps/33.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/40.txt Binary file src/hbcore/resources/keymaps/40.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/42.txt Binary file src/hbcore/resources/keymaps/42.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/43.txt Binary file src/hbcore/resources/keymaps/43.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/48.txt Binary file src/hbcore/resources/keymaps/48.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/50.txt Binary file src/hbcore/resources/keymaps/50.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/51.txt Binary file src/hbcore/resources/keymaps/51.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/52.txt Binary file src/hbcore/resources/keymaps/52.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/66.txt Binary file src/hbcore/resources/keymaps/66.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/71.txt Binary file src/hbcore/resources/keymaps/71.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/73.txt Binary file src/hbcore/resources/keymaps/73.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/76.txt Binary file src/hbcore/resources/keymaps/76.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/8.txt Binary file src/hbcore/resources/keymaps/8.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/89.txt Binary file src/hbcore/resources/keymaps/89.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/90.txt Binary file src/hbcore/resources/keymaps/90.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/95.txt Binary file src/hbcore/resources/keymaps/95.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/keymaps/96.txt Binary file src/hbcore/resources/keymaps/96.txt has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/smileys/smileys_theme.sml --- a/src/hbcore/resources/smileys/smileys_theme.sml Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/smileys/smileys_theme.sml Thu May 27 13:10:59 2010 +0300 @@ -15,7 +15,7 @@ qtg_small_smiley_kissing :-* :* qtg_small_smiley_irritated :-X :X :-x :x qtg_small_smiley_sarcastic :-> :> -qtg_small_smiley_verycool B-) B) +qtg_small_smiley_very_cool B-) B) qtg_small_smiley_eyebrows %-) %) qtg_small_smiley_angry :-@ :@ qtg_small_smiley_sarcastic_mad ;-> ;> diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/animations/hbdefault/qtg_anim_loading.axml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/animations/hbdefault/qtg_anim_loading.axml Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,14 @@ + + +qtg_anim_loading_1 +qtg_anim_loading_2 +qtg_anim_loading_3 +qtg_anim_loading_4 +qtg_anim_loading_5 +qtg_anim_loading_6 +qtg_anim_loading_7 +qtg_anim_loading_8 +qtg_anim_loading_9 +qtg_anim_loading_10 + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/animations/hbdefault/qtg_anim_longtap.axml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/animations/hbdefault/qtg_anim_longtap.axml Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,13 @@ + + +qtg_anim_longtap_1 +qtg_anim_longtap_2 +qtg_anim_longtap_3 +qtg_anim_longtap_4 +qtg_anim_longtap_5 +qtg_anim_longtap_6 +qtg_anim_longtap_7 +qtg_anim_longtap_8 +qtg_anim_longtap_9 + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/animations/hbdefault/qtg_anim_small_loading.axml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/animations/hbdefault/qtg_anim_small_loading.axml Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,14 @@ + + +qtg_anim_small_loading_1 +qtg_anim_small_loading_2 +qtg_anim_small_loading_3 +qtg_anim_small_loading_4 +qtg_anim_small_loading_5 +qtg_anim_small_loading_6 +qtg_anim_small_loading_7 +qtg_anim_small_loading_8 +qtg_anim_small_loading_9 +qtg_anim_small_loading_10 + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/animations/hbdefault/qtg_status_progress.axml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/animations/hbdefault/qtg_status_progress.axml Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,9 @@ + + +qtg_status_progress_1 +qtg_status_progress_2 +qtg_status_progress_3 +qtg_status_progress_4 +qtg_status_progress_5 + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/hbdefault.themeindex Binary file src/hbcore/resources/themes/hbdefault.themeindex has changed diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_anim_loading.axml --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_anim_loading.axml Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ - - -qtg_anim_loading_1 -qtg_anim_loading_2 -qtg_anim_loading_3 -qtg_anim_loading_4 -qtg_anim_loading_5 -qtg_anim_loading_6 -qtg_anim_loading_7 -qtg_anim_loading_8 -qtg_anim_loading_9 -qtg_anim_loading_10 - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_anim_longtap.axml --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_anim_longtap.axml Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ - - -qtg_anim_longtap_1 -qtg_anim_longtap_2 -qtg_anim_longtap_3 -qtg_anim_longtap_4 -qtg_anim_longtap_5 -qtg_anim_longtap_6 -qtg_anim_longtap_7 -qtg_anim_longtap_8 -qtg_anim_longtap_9 - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_anim_small_loading.axml --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_anim_small_loading.axml Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ - - -qtg_anim_small_loading_1 -qtg_anim_small_loading_2 -qtg_anim_small_loading_3 -qtg_anim_small_loading_4 -qtg_anim_small_loading_5 -qtg_anim_small_loading_6 -qtg_anim_small_loading_7 -qtg_anim_small_loading_8 -qtg_anim_small_loading_9 -qtg_anim_small_loading_10 - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_h_bg_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_h_bg_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_h_bg_c.svg Thu May 27 13:10:59 2010 +0300 @@ -2,11 +2,5 @@ - - - - - - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_h_bg_l.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_h_bg_l.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_h_bg_l.svg Thu May 27 13:10:59 2010 +0300 @@ -3,8 +3,9 @@ + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_h_bg_r.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_h_bg_r.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_h_bg_r.svg Thu May 27 13:10:59 2010 +0300 @@ -2,11 +2,5 @@ - - - - - - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_v_bg_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_v_bg_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_v_bg_b.svg Thu May 27 13:10:59 2010 +0300 @@ -1,12 +1,6 @@ - - - - - - - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_v_bg_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_v_bg_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_v_bg_c.svg Thu May 27 13:10:59 2010 +0300 @@ -1,12 +1,6 @@ - - - - - - - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_v_bg_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_v_bg_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_input_v_bg_t.svg Thu May 27 13:10:59 2010 +0300 @@ -1,10 +1,11 @@ - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_filled_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_filled_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_filled_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_filled_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_filled_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_filled_c.svg Thu May 27 13:10:59 2010 +0300 @@ -4,10 +4,10 @@ + - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_filled_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_filled_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_filled_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_frame_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_frame_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_frame_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_frame_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_frame_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_frame_c.svg Thu May 27 13:10:59 2010 +0300 @@ -4,10 +4,10 @@ + - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_frame_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_frame_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_progbar_v_frame_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_h_frame_disabled_c.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_h_frame_disabled_c.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,9 @@ + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_h_frame_disabled_l.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_h_frame_disabled_l.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,8 @@ + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_h_frame_disabled_r.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_h_frame_disabled_r.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,8 @@ + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_filled_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_filled_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_filled_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_filled_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_filled_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_filled_c.svg Thu May 27 13:10:59 2010 +0300 @@ -4,10 +4,10 @@ + - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_filled_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_filled_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_filled_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_disabled_b.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_disabled_b.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,8 @@ + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_disabled_c.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_disabled_c.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,9 @@ + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_disabled_t.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_disabled_t.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,8 @@ + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_normal_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_normal_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_normal_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,10 @@ - - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_normal_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_normal_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_normal_c.svg Thu May 27 13:10:59 2010 +0300 @@ -4,10 +4,10 @@ + - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_normal_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_normal_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_normal_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_pressed_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_pressed_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_pressed_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,12 +3,11 @@ - - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_pressed_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_pressed_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_pressed_c.svg Thu May 27 13:10:59 2010 +0300 @@ -4,12 +4,12 @@ + + - - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_pressed_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_pressed_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_slider_v_frame_pressed_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_b.svg Thu May 27 13:10:59 2010 +0300 @@ -2,14 +2,14 @@ - + - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_c.svg Thu May 27 13:10:59 2010 +0300 @@ -2,19 +2,19 @@ - + - + - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_cb.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_cb.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_cb.svg Thu May 27 13:10:59 2010 +0300 @@ -2,14 +2,14 @@ - + - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_ct.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_ct.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_ct.svg Thu May 27 13:10:59 2010 +0300 @@ -2,14 +2,14 @@ - + - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_highlight_t.svg Thu May 27 13:10:59 2010 +0300 @@ -2,14 +2,14 @@ - + - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_c.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_cb.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_cb.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_cb.svg Thu May 27 13:10:59 2010 +0300 @@ -3,12 +3,12 @@ - - + + - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_ct.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_ct.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_ct.svg Thu May 27 13:10:59 2010 +0300 @@ -3,12 +3,12 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_latched_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ + - - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_c.svg Thu May 27 13:10:59 2010 +0300 @@ -2,11 +2,11 @@ + - - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_cb.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_cb.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_cb.svg Thu May 27 13:10:59 2010 +0300 @@ -3,12 +3,12 @@ + - - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_ct.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_ct.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_ct.svg Thu May 27 13:10:59 2010 +0300 @@ -2,12 +2,12 @@ + - - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_normal_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ + - - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,10 @@ + - - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_c.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ + - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_cb.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_cb.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_cb.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ + - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_ct.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_ct.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_ct.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ + - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_trans_v_pressed_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ + - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,11 @@ - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_c.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_cb.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_cb.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_cb.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_ct.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_ct.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_ct.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_highlight_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,10 +3,10 @@ - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_c.svg Thu May 27 13:10:59 2010 +0300 @@ -3,12 +3,12 @@ - - - - + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_cb.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_cb.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_cb.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_ct.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_ct.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_ct.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_latched_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_b.svg Thu May 27 13:10:59 2010 +0300 @@ -2,18 +2,16 @@ - + + + + + + - - - - - - - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_c.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ + + - - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_cb.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_cb.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_cb.svg Thu May 27 13:10:59 2010 +0300 @@ -3,12 +3,12 @@ + + - - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_ct.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_ct.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_ct.svg Thu May 27 13:10:59 2010 +0300 @@ -3,12 +3,12 @@ + + - - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_normal_t.svg Thu May 27 13:10:59 2010 +0300 @@ -2,18 +2,16 @@ - + + + + + + - - - - - - - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_b.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_b.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_b.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_c.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_c.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_c.svg Thu May 27 13:10:59 2010 +0300 @@ -3,12 +3,12 @@ - - + + + - - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_cb.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_cb.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_cb.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_ct.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_ct.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_ct.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_t.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_t.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_fr_tb_v_pressed_t.svg Thu May 27 13:10:59 2010 +0300 @@ -3,11 +3,11 @@ - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_input_h_swipe.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_input_h_swipe.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_input_h_swipe.svg Thu May 27 13:10:59 2010 +0300 @@ -1,118 +1,118 @@ - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progbar_v_wait.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progbar_v_wait.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progbar_v_wait.svg Thu May 27 13:10:59 2010 +0300 @@ -2,14 +2,14 @@ - + - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progslider_handle_disabled.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progslider_handle_disabled.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progslider_handle_disabled.svg Thu May 27 13:10:59 2010 +0300 @@ -1,8 +1,8 @@ - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progslider_handle_normal.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progslider_handle_normal.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progslider_handle_normal.svg Thu May 27 13:10:59 2010 +0300 @@ -2,12 +2,11 @@ - - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progslider_handle_pressed.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progslider_handle_pressed.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_progslider_handle_pressed.svg Thu May 27 13:10:59 2010 +0300 @@ -2,12 +2,11 @@ - - - - + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_slider_h_handle_disabled.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_slider_h_handle_disabled.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,8 @@ + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_slider_v_handle_disabled.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_graf_slider_v_handle_disabled.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,8 @@ + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_about.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_about.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_about.svg Thu May 27 13:10:59 2010 +0300 @@ -1,137 +1,137 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - - - - + + + - - - + + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_accessibility.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_accessibility.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_accessibility.svg Thu May 27 13:10:59 2010 +0300 @@ -1,37 +1,37 @@ - - - - - - - - - - - + + + + + + + + + - - - - - + + + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_active_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_active_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_active_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,33 +1,33 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_active_mode.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_active_mode.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_active_mode.svg Thu May 27 13:10:59 2010 +0300 @@ -1,140 +1,145 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - - - + + - - + + + - - - + + + + - - + + + + - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_add_contact_picture.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_add_contact_picture.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_add_contact_picture.svg Thu May 27 13:10:59 2010 +0300 @@ -1,105 +1,111 @@ - - - + + + - - + + - - - + + + - - - + - - - + + + - - + + - - - - - - + + + + + + + + + - - + + - - + + - + - - - + + + + - - + + - - - - + + + + - - - - + + + + + + - - - + + + + + - - + + - - + + - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_album_art.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_album_art.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_als.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_als.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_als.svg Thu May 27 13:10:59 2010 +0300 @@ -1,266 +1,270 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - + + - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - + + - - - + + + - - + + - - + + - + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_application.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_application.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_application.svg Thu May 27 13:10:59 2010 +0300 @@ -1,67 +1,61 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_download.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_download.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_download.svg Thu May 27 13:10:59 2010 +0300 @@ -1,47 +1,44 @@ - - - + + + - - - - - + + + - + - - - + + + - - - - - + + + + + + - - + + - + - - - + - - - + + + @@ -49,10 +46,10 @@ - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_games.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_games.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_games.svg Thu May 27 13:10:59 2010 +0300 @@ -1,267 +1,269 @@ - - - + + + - - - - - + + + - + - - - + + + - - - - - + + + + + + - - + + - + - - - + - - - + + + + - - - - + + + + - - - - + + + + - + - - - - + + + + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + + - - - - + + + + + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + + - - - - + + + + + - - - - + + + + - + - - - - + + + + - - - - + + + + - - - + + + - - - - + + + + - + - - - - + + + + - - - - + + + + - - - - + + + + - + - - - - + + + + - - - + + + - - - - + + + + - + - - - - + + + + - - - + + + - - - - + + + + - + - - - - + + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_office.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_office.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_office.svg Thu May 27 13:10:59 2010 +0300 @@ -1,354 +1,226 @@ - - - + + + - - - - - + + + - + - - - + + + - - - - - + + + + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_user.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_user.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_applications_user.svg Thu May 27 13:10:59 2010 +0300 @@ -1,91 +1,90 @@ - - - + + + - - - - - + + + - + - - - + + + - - - - - + + + + + + - - + + - + - - - + - - + + - - - + + + + + - - + + - - - + + + - - - - + + + + - + - - - + + + - + - - + + - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_avatar.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_avatar.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_avatar.svg Thu May 27 13:10:59 2010 +0300 @@ -1,29 +1,18 @@ - - - - + + + + - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bell.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bell.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bell.svg Thu May 27 13:10:59 2010 +0300 @@ -1,65 +1,63 @@ - - - + + + - - - - - - + + + + - - - - - - - + + + + + + + - - - - - + + + + + - - + + - - + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth.svg Thu May 27 13:10:59 2010 +0300 @@ -1,29 +1,28 @@ - - - + + + - - - - - - + + + + - - - + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_active_connection.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_active_connection.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_active_connection.svg Thu May 27 13:10:59 2010 +0300 @@ -1,59 +1,61 @@ - - - + + + - - - - - - + + + + - - - + + + + - - + + - - - - + + - - + + + - - - + + + + - - + + + + - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_hide.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_hide.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_hide.svg Thu May 27 13:10:59 2010 +0300 @@ -1,29 +1,28 @@ - - - - - - + + + + - - - - + + + + - - - + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_hide_connection.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_hide_connection.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_multiple_connection.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_multiple_connection.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_multiple_connection.svg Thu May 27 13:10:59 2010 +0300 @@ -1,58 +1,60 @@ - - - + + + - - - - - - + + + + - - - + + + + - - + + - - - + - - + + + + - - - + + + + - - + + + - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_bluetooth_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,42 +1,39 @@ - - - + + + - - - - - - + + + + - - - + + + + - - + + - - - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_browser.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_browser.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_browser.svg Thu May 27 13:10:59 2010 +0300 @@ -1,61 +1,63 @@ - - - + + + - - - - + + - - - + + + - - - + + + - + - - + + - + - - + + - + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calculator.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calculator.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calculator.svg Thu May 27 13:10:59 2010 +0300 @@ -1,71 +1,75 @@ - - - + + + - - - - - + + + - - - + + + + - - - - + + + + + - + - - - + + + - - - - + + + + + - + - - - + + + + - - + + - + - - + + - - - - + + + + + - - - - + + + + + @@ -75,189 +79,198 @@ - - - - + + + + - - + + - - - - + + + + - - - - + + + + - - + + - - - - + + + + + - - - - + + + + - - + + - - - - + + + + + - - - - + + + + - + - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - - + + - - - - + + + + - + - - - - + + + + + - + - - - - + + + + - + - - - - + + + + + - + - - - - + + + + - + - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - - + + + + + - + - - - - + + + + - + - - - - + + + + + - - - - + + + + - - + + - - - - + + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calendar.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calendar.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calendar.svg Thu May 27 13:10:59 2010 +0300 @@ -1,102 +1,104 @@ - - - + + + - - - - - - - + + + + + + - - - - - + + + + + + - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - + + + + + + + - - - - - - - + + + + + - - - - - + + + + + + + + + + + + - - - - + + + + - - - - - - + + + + + + + - - - - + + + + + + + + - - - - - - - - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calendar_alarm.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calendar_alarm.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calendar_alarm.svg Thu May 27 13:10:59 2010 +0300 @@ -1,164 +1,164 @@ - - - + + + - - - - - - - + + + + + + - - - - - + + + + + + - - - - + + + + - - - - + + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - + + + + + + + - - - - - - - + + + + + - - - - - + + + + - - - - + + + + + + + - - - - - - + + + + - - - - + + + + + + + - - - - - - + + + + + + + + - - - + + + - - - + - - - - + + + + - - - - - - - + + + + + + + - - - - - + + + + + - - + + - - + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calendar_dynamic.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calendar_dynamic.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_calendar_dynamic.svg Thu May 27 13:10:59 2010 +0300 @@ -1,92 +1,94 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - - - + + + + - - - - + + + + + + - - - - - - - - - + + + + - - - - + + + + - - - - + + + + + + + - - - - - - - - + + + + + - - - - - + + + + - - - - + + + + + + + - - - - - - + + + + - - - - + + + + + + + - - - - - - + + + + + + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_assistant.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_assistant.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_assistant.svg Thu May 27 13:10:59 2010 +0300 @@ -1,153 +1,152 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - - + + + - - - - + + + + - - - + + + + - - + + - - - + + + - - - + + + - - - - - + + + + + - - + + - - - + + + - - - + + + - - - - - + + + + + - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_car.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_car.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_car.svg Thu May 27 13:10:59 2010 +0300 @@ -1,149 +1,107 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_duration.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_duration.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_duration.svg Thu May 27 13:10:59 2010 +0300 @@ -1,79 +1,78 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - + + - - - + + + - + - - - - + + + + - - + + - - + + + - + @@ -86,23 +85,23 @@ - + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_fax.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_fax.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_fax.svg Thu May 27 13:10:59 2010 +0300 @@ -1,291 +1,296 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - + + + - - + + - - + + + - - + + - - - - - - - - - + + + + + + + + + - - + + + - + - - - - - + + + + + - - - + + + - - + + - - - - + + + + + - - + + - + - - + + - - - - + + + + + - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - + + + - - + + - + - - + + - - - - - - - + + + + + + + - - + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_fax_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_fax_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_fax_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,308 +1,314 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - + + + - - + + - - + + + - - + + - - - - - - - - - + + + + + + + + + - - + + + - + - - - - - + + + + + - - - + + + - - + + - - - - + + + + + - - + + - + - - + + - - - - + + + + + - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - + + + - - + + - + - - + + - - - - - - - + + + + + + + - - + + + - + - - - - + + + + - - - + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_fax_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_fax_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_fax_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,307 +1,313 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - + + + - - + + - - + + + - - + + - - - - - - - - - + + + + + + + + + - - + + + - + - - - - - + + + + + - - - + + + - - + + - - - - + + + + + - - + + - + - - + + - - - - + + + + + - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - + + + - - + + - + - - + + - - - - - - - + + + + + + + - - + + + - + - - - - + + + + - - - + + + + - + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_group.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_group.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_group.svg Thu May 27 13:10:59 2010 +0300 @@ -1,323 +1,213 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_landline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_landline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_landline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,253 +1,255 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - - + + - + - - - - - + + + + + + - - - - + + + + + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - + + - + - - + + - - - - + + + + + - - - - + + + + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_landline_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_landline_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_landline_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,266 +1,269 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - - - + + + + + + - - - - + + + + + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - + + - + - - + + - - - - + + + + + - - - - + + + + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - - - + + + + - - - + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_landline_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_landline_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_landline_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,265 +1,268 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - - - + + + + + + - - - - + + + + + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - + + - + - - + + - - - - + + + + + - - - - + + + + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - - - + + + + - - - + + + + - + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_mobile.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_mobile.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_mobile.svg Thu May 27 13:10:59 2010 +0300 @@ -1,129 +1,131 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - - + + + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_mobile_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_mobile_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_mobile_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,146 +1,149 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - - + + + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - - - + + + + - - - + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_mobile_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_mobile_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_mobile_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,145 +1,148 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - - + + + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - - - + + + + - - - + + + + - + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_muted.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_muted.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_muted.svg Thu May 27 13:10:59 2010 +0300 @@ -1,42 +1,40 @@ - - - + + + - - - + - - - - + + + + - - + + - - - - + + + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -59,187 +57,207 @@ - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - + + + + - + - - - - + + + + + - - + + - - + + - - - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_pager.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_pager.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_pager.svg Thu May 27 13:10:59 2010 +0300 @@ -1,111 +1,113 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - - + + + + + - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_service.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_service.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_service.svg Thu May 27 13:10:59 2010 +0300 @@ -1,75 +1,73 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_voip.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_voip.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_voip.svg Thu May 27 13:10:59 2010 +0300 @@ -1,105 +1,112 @@ - - - + + + - - - - + + - - - + + + - - - + + + - + - - + + - + - - + + - + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - + + - - - - + + + + + - - - + + + - - - - + + + + + - - + + - - - - + + + + + - + - - - - + + + + + - + - - - - + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_voip_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_voip_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_voip_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,148 +1,153 @@ - - - + + + - - - - + + - - - + + + - - - + + + - + - - + + - + - - + + - + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - + + - - - - + + + + + - - - + + + - - - - + + + + + - - + + - - - - + + + + + - + - - - - + + + + + - + - - - - + + + + + - - - + - - - + + + - - - + + + - + - - + + - - + + - - - + + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_voip_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_voip_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_call_voip_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,104 +1,111 @@ - - - + + + - - - - + + - - - + + + - - - + + + - + - - + + - + - - + + - + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - + + - - - - + + + + + - - - + + + - - - - + + + + + - - + + - - - - + + + + + - + - - - - + + + + + - + - - - - + + + + + @@ -106,165 +113,105 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_camera.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_camera.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_camera.svg Thu May 27 13:10:59 2010 +0300 @@ -1,121 +1,116 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_car.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_car.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_car.svg Thu May 27 13:10:59 2010 +0300 @@ -1,155 +1,79 @@ - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_cellinfo.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_cellinfo.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_cellinfo.svg Thu May 27 13:10:59 2010 +0300 @@ -1,99 +1,97 @@ - - - + + + - - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock.svg Thu May 27 13:10:59 2010 +0300 @@ -1,40 +1,39 @@ - - - + + + - - - - + + - - - + + + - + - - - - + + + + - - + + - - + + + - + @@ -47,27 +46,27 @@ - + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,40 +1,39 @@ - - - + + + - - - - + + - - - + + + - + - - - - + + + + - - + + - - + + + - + @@ -47,70 +46,68 @@ - + - - + + - - + + - - + + - - + + - - - + - - - + + + - - - + + + - + - - + + - - + + - - - + + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock_night.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock_night.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock_night_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock_night_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_clock_night_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,30 +1,29 @@ - - - + + + - - - - - + + + - + - - + + - - + + + - + @@ -37,70 +36,68 @@ - + - - + + - - + + - - + + - - + + - - - + - - - + + + - - - + + + - + - - + + - - + + - - - + + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_computer.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_computer.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_computer.svg Thu May 27 13:10:59 2010 +0300 @@ -1,71 +1,69 @@ - - - + + + - - - - - - + + + + - + - - + + - + - - + + - - + + - - + + - + - - + + - - - + + + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_corrupted.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_corrupted.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_corrupted.svg Thu May 27 13:10:59 2010 +0300 @@ -1,126 +1,90 @@ - - - + + + - - - - - - + + + - - - - - - + + + + - - - - - - - - - - - - + + + + + - - - - + + + + + - - - - - - - - - + + + + - - - - - + + + + - - - - - - - - - - + + + + + - - - - - - - - - - - - + + + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + - - - - + + + + - - - - + + + + - - - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_custom.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_custom.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_custom.svg Thu May 27 13:10:59 2010 +0300 @@ -1,71 +1,39 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_data_import.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_data_import.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_data_import.svg Thu May 27 13:10:59 2010 +0300 @@ -1,393 +1,200 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_default_server.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_default_server.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_default_server.svg Thu May 27 13:10:59 2010 +0300 @@ -1,180 +1,176 @@ - - - + + + - - - - - - + + + + - - - - + + + + - - + + - + - - + + - - + + - - + + - + - - + + - + - - + + - - + + - - - - - + + + + + - - - - - + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - - - - - + + + + + - - - - - + + + + + - + - - - - - + + + + + - + - - - + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_device_lock.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_device_lock.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_device_lock.svg Thu May 27 13:10:59 2010 +0300 @@ -1,108 +1,110 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + @@ -110,42 +112,42 @@ - + - + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_device_update.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_device_update.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_device_update.svg Thu May 27 13:10:59 2010 +0300 @@ -1,121 +1,121 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - - + - - - + + + @@ -123,10 +123,10 @@ - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_dialer.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_dialer.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_dialer.svg Thu May 27 13:10:59 2010 +0300 @@ -1,89 +1,46 @@ - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_dialled_voice_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_dialled_voice_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_dialled_voice_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,62 +1,62 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - - + + + + - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email.svg Thu May 27 13:10:59 2010 +0300 @@ -1,28 +1,27 @@ - - - + + + - - - - - - + + + + - - - + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_group.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_group.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_group.svg Thu May 27 13:10:59 2010 +0300 @@ -1,26 +1,25 @@ - - - + + + - - - - - - + + + + - - - + + + + - - + + @@ -28,291 +27,181 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,71 +1,68 @@ - - - + + + - - - - - - + + + + - - - + + + + - - + + - - - + - - - + + + - - - + + + - + - - + + - - + + - - - + + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_setup.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_setup.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_setup.svg Thu May 27 13:10:59 2010 +0300 @@ -1,52 +1,50 @@ - - - + + + - - - - - - + + + + - - - + + + + - - + + - - - + - - - + + + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_email_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,26 +1,25 @@ - - - + + + - - - - - - + + + + - - - + + + + - - + + @@ -29,165 +28,105 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_end_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_end_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_end_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,6 +1,6 @@ - - - + + + @@ -40,4 +40,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_fail.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_fail.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_fail.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,25 @@ - - - + + + - - - - + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_favourites.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_favourites.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_favourites.svg Thu May 27 13:10:59 2010 +0300 @@ -1,33 +1,35 @@ - - - + + + - - - - - - - - - - - + + + + + - - + + - - + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_filemgr.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_filemgr.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_filemgr.svg Thu May 27 13:10:59 2010 +0300 @@ -1,100 +1,92 @@ - - - + + + - - - - - + + + - - - + + + - - - - - + + - - - - - - - - - + + - - + + - - - - + + + + - - - - + + + + - - - - - - + - - - - - - - - + + + - - + + - - + + - + - - - + + + - - - + + + - - - - + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_flash.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_flash.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_folder.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_folder.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_folder.svg Thu May 27 13:10:59 2010 +0300 @@ -1,36 +1,35 @@ - - - + + + - - - - - + + + - + - - - + + + - - - - - + + + + + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_friend.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_friend.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_friend.svg Thu May 27 13:10:59 2010 +0300 @@ -1,75 +1,76 @@ - - - + + + - - - - + + - + - - + + + + - - - + + + + - + - - + + - - + + - - + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_friends.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_friends.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_friends.svg Thu May 27 13:10:59 2010 +0300 @@ -1,197 +1,204 @@ - - - + + + - - - - + + + + - - - + + + + - + - - + + - - + + - - + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - + + - - + + + + - - - + + + + - + - - + + - - + + - - + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - + + - - - - - - + + + + + + - - + + + + - - + + - - + + - - + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ftu.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ftu.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ftu.svg Thu May 27 13:10:59 2010 +0300 @@ -1,108 +1,110 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + @@ -110,72 +112,46 @@ - - - - - - - - - - - - - - + - - - - + - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_games.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_games.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_games.svg Thu May 27 13:10:59 2010 +0300 @@ -1,160 +1,159 @@ - - - + + + - - - - + + - + - - + + - + - - - + + + - + - - + + - - - + + + - + - - - + + + - - - + + + - - - + + + - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - + - - + + - - - + + + - - + + - - - - - - - - - - + + + + + + + + + + - - - + + + - + - - + + - - - + + + - + - - - + + + - - - + + + - - - + + + - - - - - - + + + + + + - - - - - + + + + + - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_generic_audio.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_generic_audio.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_generic_audio.svg Thu May 27 13:10:59 2010 +0300 @@ -1,126 +1,128 @@ - - - + + + - - - - + + + + - + - - - - + + + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - + - - - - + + + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - + - - - + + + + - + - - - + + + + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_generic_bluetooth.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_generic_bluetooth.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_generic_bluetooth.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,31 @@ - - - + + + - - - - + + + + - + - - - - + + + + - - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_group_feeds.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_group_feeds.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_group_feeds.svg Thu May 27 13:10:59 2010 +0300 @@ -1,220 +1,225 @@ - - - + + + - - - - + + + + - - - + + + + - + - - + + - - + + - - + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - + + - - + + + + - - - + + + + - + - - + + - - + + - - + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - + + - - - - - - + + + + + + - - + + + + - - + + - - + + - - + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - + + - - - + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_help.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_help.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_help.svg Thu May 27 13:10:59 2010 +0300 @@ -1,30 +1,28 @@ - - - + + + - - - - - - + + + + - - - + + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_hold_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_hold_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_hold_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,6 +1,6 @@ - - - + + + @@ -38,4 +38,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_homezone.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_homezone.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_homezone.svg Thu May 27 13:10:59 2010 +0300 @@ -1,61 +1,59 @@ - - - + + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_im.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_im.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_im.svg Thu May 27 13:10:59 2010 +0300 @@ -1,49 +1,48 @@ - - - + + + - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + + - + - + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_imageprint.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_imageprint.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_imageprint.svg Thu May 27 13:10:59 2010 +0300 @@ -1,150 +1,151 @@ - - - + + + - - - - + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - + + + - - + + - - + + + - - + + - - - + + + - - - + + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - - - - - - + + + + + + + + - - - + + + - + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_info.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_info.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_info.svg Thu May 27 13:10:59 2010 +0300 @@ -1,37 +1,35 @@ - - - + + + - - - - - - + + + + - - - + + + - - - - + + + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_input_device.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_input_device.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_input_device.svg Thu May 27 13:10:59 2010 +0300 @@ -1,92 +1,86 @@ - - - + + + - - - + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_internet_radio.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_internet_radio.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_internet_radio.svg Thu May 27 13:10:59 2010 +0300 @@ -1,340 +1,339 @@ - - - + + + - - - - - + + + - + - + - - + + - - + + - - + + - - + + - - - + + + + - - + + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - + + + + - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_java.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_java.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_java.svg Thu May 27 13:10:59 2010 +0300 @@ -1,75 +1,79 @@ - - - + + + - - - - - - - + + + + + + - - - - - - - - + + + + + + + + - - + + - - - + + + - - - + + + + - - + + + - - + + + - + - - - - + + + + + - - + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_just_audio.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_just_audio.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_just_audio.svg Thu May 27 13:10:59 2010 +0300 @@ -1,83 +1,77 @@ - - - + + + - - - - - - + + + + - - + + - - - + + + - - + + - + - - + + - + - - - + - - + + - - + + - - + + - - + + - - - + + + - - - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_key_screen.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_key_screen.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_key_screen.svg Thu May 27 13:10:59 2010 +0300 @@ -1,215 +1,215 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_keyboard.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_keyboard.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_keyboard.svg Thu May 27 13:10:59 2010 +0300 @@ -1,358 +1,381 @@ - - - + + + - - - - - + + + - + - - - + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - - + + + - - - + + + + - + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_language.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_language.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_language.svg Thu May 27 13:10:59 2010 +0300 @@ -1,87 +1,85 @@ - - - + + + - - - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_location_new.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_location_new.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_location_new.svg Thu May 27 13:10:59 2010 +0300 @@ -1,87 +1,78 @@ - - - + + + - - - - + + - - + + - + - - + + - - + + - - + + - + - - + + + - - - - + + + + - - - + + + - - - + + + - + - + - + - - - - - + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_maps.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_maps.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_maps.svg Thu May 27 13:10:59 2010 +0300 @@ -1,61 +1,60 @@ - - - + + + - - - - + + - - + + - + - - + + - - + + - - + + - + - - + + + - - - - + + + + - - - + + + - - - + + + - + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mass_storage.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mass_storage.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mass_storage.svg Thu May 27 13:10:59 2010 +0300 @@ -1,130 +1,131 @@ - - - + + + - - - - + + - - - + + + - - - + + + - - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + - - + + - - - + + + - - + + - - + + - - + + - + - - + + - - + + + - - + + - - + + + - + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_media_transfer.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_media_transfer.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_media_transfer.svg Thu May 27 13:10:59 2010 +0300 @@ -1,94 +1,71 @@ - - - + + + - - - - - - + + + + - - + + - - - + + + - - + + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_meeting.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_meeting.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_meeting.svg Thu May 27 13:10:59 2010 +0300 @@ -1,84 +1,85 @@ - - - + + + - - - - + + - - - - + + + + + - - - + + + - - + + - - - - + + + + + - + - - + + - - - - + + + + + - - - - + + + + - - + + - - + + - - + + - + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message.svg Thu May 27 13:10:59 2010 +0300 @@ -1,44 +1,42 @@ - - - + + + - - - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message_group.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message_group.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message_group.svg Thu May 27 13:10:59 2010 +0300 @@ -1,42 +1,40 @@ - - - + + + - - - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + @@ -44,291 +42,181 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,87 +1,83 @@ - - - + + + - - - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + - - - + + + - - - + + + - + - - + + - - + + - - - + + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_message_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,42 +1,40 @@ - - - + + + - - - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + @@ -45,165 +43,105 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_video_call_unseen.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_video_call_unseen.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_video_call_unseen.svg Thu May 27 13:10:59 2010 +0300 @@ -1,234 +1,174 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -236,4 +176,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_voice_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_voice_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_voice_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,64 +1,62 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_voice_call_unseen.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_voice_call_unseen.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_voice_call_unseen.svg Thu May 27 13:10:59 2010 +0300 @@ -1,88 +1,86 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_voip_call_unseen.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_voip_call_unseen.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_missed_voip_call_unseen.svg Thu May 27 13:10:59 2010 +0300 @@ -1,121 +1,117 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mmc.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mmc.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mmc.svg Thu May 27 13:10:59 2010 +0300 @@ -1,161 +1,84 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - + + - - - - - - - - - - - + + + - - - - - - - + + - - - - - - - - - - - + + + - - - - - - - + + - - - - + + + + + + - + + + + + + + - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mmc_removed.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mmc_removed.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mmc_removed.svg Thu May 27 13:10:59 2010 +0300 @@ -1,86 +1,84 @@ - - - + + + - - - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mobile.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mobile.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mobile.svg Thu May 27 13:10:59 2010 +0300 @@ -1,110 +1,112 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mobile_tv.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mobile_tv.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mobile_tv.svg Thu May 27 13:10:59 2010 +0300 @@ -1,40 +1,39 @@ - - - + + + - - - - + + - - - + + + + - + - - + + - + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mono.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mono.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mono.svg Thu May 27 13:10:59 2010 +0300 @@ -1,54 +1,52 @@ - - - + + + - - - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - + + - + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mouse.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mouse.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mouse.svg Thu May 27 13:10:59 2010 +0300 @@ -1,96 +1,98 @@ - - - + + + - - - - - + + + + - - - - + + + + + - - - - + + + + + - - + + - + - - - - + + + + + - - + + - + - - + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - - - + + + + + - - - - - - + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music.svg Thu May 27 13:10:59 2010 +0300 @@ -1,52 +1,50 @@ - - - + + + - - - - + + - + - - - + + + - - - + + + - + - - + + - - - + + + - - + + - - - + + + - + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_album.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_album.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_album.svg Thu May 27 13:10:59 2010 +0300 @@ -1,72 +1,68 @@ - - - + + + - - - - - + + + - - + + - - - + + + - + - - - + + + - - + + - + - - - + - - + + - - + + - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_empty.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_empty.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_empty.svg Thu May 27 13:10:59 2010 +0300 @@ -1,108 +1,113 @@ - - - + + + - - - - + + - - + + - + - - + + - + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + + - - + + + - - + + + - - + + + - - + + + + - - + + + - - - - - - - - - + + + + + + + + + @@ -113,4 +118,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_player.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_player.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_player.svg Thu May 27 13:10:59 2010 +0300 @@ -1,95 +1,89 @@ - - - + + + - - - - - + + + - - + + - - - + + + - + - - - + + + - - + + - + - - - + - - + + - - + + - - + + - - - + - - + + - - + + - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_shop.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_shop.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_music_shop.svg Thu May 27 13:10:59 2010 +0300 @@ -1,132 +1,130 @@ - - - + + + - - - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + + - - + + - + - - - + + + - - - + + + - - + + - - - - - + + + + + + - - - - - + + + + + - - - + - - + + - - + + - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mycard.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mycard.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_mycard.svg Thu May 27 13:10:59 2010 +0300 @@ -1,44 +1,42 @@ - - - + + + - - - - + + - - - + + + - - + + - + - - + + - - + + - - - - - - + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_network.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_network.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_network.svg Thu May 27 13:10:59 2010 +0300 @@ -1,48 +1,46 @@ - - - + + + - - - - - - - + + + + + - - + + - - - + + + - - - - + + + + - - + + - - + + - - - - - + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_network_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_network_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_network_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,61 +1,57 @@ - - - + + + - - - - - - - + + + + + - - + + - - - + + + - - - - + + + + - - + + - - + + - - - - - + + + + + - - - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_network_settings.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_network_settings.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_network_settings.svg Thu May 27 13:10:59 2010 +0300 @@ -1,72 +1,69 @@ - - - + + + - - - - - - - + + + + + - - + + - - - + + + - - - - + + + + - - + + - - + + - - - - - + + + + + - - - + - - - + + + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_new_message.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_new_message.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_new_message.svg Thu May 27 13:10:59 2010 +0300 @@ -1,75 +1,71 @@ - - - + + + - - - - - + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_new_voice_message.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_new_voice_message.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_new_voice_message.svg Thu May 27 13:10:59 2010 +0300 @@ -1,74 +1,58 @@ - - - + + + - - - - - - - - - - - - - - - - - + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_non_default.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_non_default.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_non_default.svg Thu May 27 13:10:59 2010 +0300 @@ -1,161 +1,159 @@ - - - + + + - - - - - - + + + + - - - - + + + + - - + + - + - - + + - - + + - - + + - + - - + + - + - - + + - - + + - - - - - + + + + + - - - - - + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - - - - - + + + + + - - - - - + + + + + - + - - - - - + + + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_notes.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_notes.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_notes.svg Thu May 27 13:10:59 2010 +0300 @@ -1,35 +1,34 @@ - - - + + + - - - - + + + - - - - + + + + - - - - + + + + - - - + + + - + @@ -41,63 +40,61 @@ - - - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - - - + + + - - - - + + + + - - - - + + + + - + - - - - + + + + - - - + + + - - - - + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ok.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ok.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ok.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,20 @@ - - - + + + - - - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_online.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_online.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_online.svg Thu May 27 13:10:59 2010 +0300 @@ -1,76 +1,78 @@ - - - + + + - - - - + + - - - + + + - - - + + + - + - - + + - + - - + + - + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + - - - + + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_outbox.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_outbox.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ovi_suite.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ovi_suite.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ovi_suite.svg Thu May 27 13:10:59 2010 +0300 @@ -1,6 +1,6 @@ - - - + + + @@ -9,4 +9,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ovistore.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ovistore.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ovistore.svg Thu May 27 13:10:59 2010 +0300 @@ -1,49 +1,47 @@ - - - + + + - - - - + + - - + + - - + + - - + + - + - - - + + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ovisync.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ovisync.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_personalization.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_personalization.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_personalization.svg Thu May 27 13:10:59 2010 +0300 @@ -1,185 +1,117 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -187,54 +119,46 @@ - - - - - - - - - + - - + + - - + + - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_phone_as_modem.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_phone_as_modem.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_phone_as_modem.svg Thu May 27 13:10:59 2010 +0300 @@ -1,253 +1,255 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - - - + + - - + + - - + + - - - + + + + - - - - + + + + - - - + + + + - - - - + + + + - - + + - - + + - + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - - - - - + + + + + + - - - + + + - - - + + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_phonebook.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_phonebook.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_phonebook.svg Thu May 27 13:10:59 2010 +0300 @@ -1,65 +1,66 @@ - - - + + + - - - - + + - - - + + + + - + - - - + + + + - + - - - + + + - - + + - - - + + + - - + + + - - + + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_photos.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_photos.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_photos.svg Thu May 27 13:10:59 2010 +0300 @@ -1,111 +1,114 @@ - - - + + + - - - - - - - + + + + + + - - - - - + + + + + + - - + + - + - - - - - + + + + + + - - - - - + + + + + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + + - - - + + + - - - - - + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_pin_code.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_pin_code.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_pin_code.svg Thu May 27 13:10:59 2010 +0300 @@ -1,40 +1,38 @@ - - - + + + - - - - - + + + - - + + - - + + - - + + - + - + - + - + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_play.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_play.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_play.svg Thu May 27 13:10:59 2010 +0300 @@ -1,26 +1,24 @@ - - - + + + - - - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_playlist.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_playlist.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_playlist.svg Thu May 27 13:10:59 2010 +0300 @@ -1,32 +1,32 @@ - - - + + + - - - - + + + - - + + - - - + + + - - - + + + + - + @@ -38,36 +38,34 @@ - - - + - - + + - - + + - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_positioning.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_positioning.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_positioning.svg Thu May 27 13:10:59 2010 +0300 @@ -1,68 +1,69 @@ - - - + + + - - - - + + - - + + - + - - + + - - + + - - + + - + - - + + + - + - + - - + + + - - - + + + - + - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_positioning_info.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_positioning_info.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_positioning_info.svg Thu May 27 13:10:59 2010 +0300 @@ -1,95 +1,94 @@ - - - + + + - - - - + + - - + + - + - - + + - - + + - - + + - + - - + + + - + - + - - + + + - - - + + + - + - - + + + - - - + + + - - - - - + + + - - - + + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_power_management.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_power_management.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_power_management.svg Thu May 27 13:10:59 2010 +0300 @@ -1,43 +1,41 @@ - - - + + + - - - + - - - - - + + + + + - - - + + + - - - - + + + + - - - - + + + + @@ -48,9 +46,9 @@ - - - + + + @@ -58,50 +56,48 @@ - - - + - - + + - - - - + + + + - - - - + + + + - - + + - - - - + + + + - - - - + + + + @@ -116,4 +112,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_presentation_player.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_presentation_player.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_presentation_player.svg Thu May 27 13:10:59 2010 +0300 @@ -1,135 +1,127 @@ - - - + + + - - - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - - - + - - + + - + - - + + - - - - + + + + + + + + + + + + + - - - - - + + + + + - - - - - - + - - - + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_profiles.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_profiles.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_profiles.svg Thu May 27 13:10:59 2010 +0300 @@ -1,103 +1,99 @@ - - - + + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + - - + + - - + + - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_query.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_query.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_query.svg Thu May 27 13:10:59 2010 +0300 @@ -1,32 +1,31 @@ - - - + + + - - - - - + + + - - + + - - - + + + - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_radio.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_radio.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_radio.svg Thu May 27 13:10:59 2010 +0300 @@ -1,307 +1,308 @@ - - - + + + - - - - - + + + - + - + - - + + - - + + - - + + - - + + - - - + + + + - - + + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_realplayer.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_realplayer.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_received_voice_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_received_voice_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_received_voice_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,53 +1,51 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - - + + + @@ -55,10 +53,10 @@ - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_reset.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_reset.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_reset.svg Thu May 27 13:10:59 2010 +0300 @@ -1,207 +1,151 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - + + + + + - - - - - - - - - + + + + + + + + + + - - - - - - - - - + + + + + + + + + + - - - - - - - - - + + + + - - - - - - - - - + + + + + - - - - - - - - - + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - + + + + + + + - - - - - - - - - + + + + + - - - - - - - - - + + + + - - - - \ No newline at end of file + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ring_tone.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ring_tone.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_ring_tone.svg Thu May 27 13:10:59 2010 +0300 @@ -1,143 +1,143 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - - + - - + + - - + + - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sat.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sat.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sat.svg Thu May 27 13:10:59 2010 +0300 @@ -1,116 +1,112 @@ - - - + + + - - - - - + + + - - - + + + - - + + - - + + - + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + - - - + + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_search.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_search.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_search.svg Thu May 27 13:10:59 2010 +0300 @@ -1,60 +1,60 @@ - - - + + + - - - - - - + + + + - - - - + + + + - - - - - + + + + + - + - - - + + + - + - - - - + + + + + - - - - + + + + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_security.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_security.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_security.svg Thu May 27 13:10:59 2010 +0300 @@ -1,46 +1,44 @@ - - - + + + - - - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - - - - + + + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_server_locked.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_server_locked.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_server_locked.svg Thu May 27 13:10:59 2010 +0300 @@ -1,202 +1,200 @@ - - - + + + - - - - - - + + + + - - - - + + + + - - + + - + - - + + - - + + - - + + - + - - + + - + - - + + - - + + - - - - - + + + + + - - - - - + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - - - - - + + + + + - - - - - + + + + + - + - - - - - + + + + + - + - + - + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_settings.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_settings.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_settings.svg Thu May 27 13:10:59 2010 +0300 @@ -1,140 +1,146 @@ - - - + + + - - - - - - + + + + - - - - - + + + + + - - + + - - - - + + + + - - - + + + - - + + - - + + - - - - - - + + + + + + + + + - - - - - + + + + + + - - + + - - - - + + + + - - - + + + - - + + - - + + - - - - - - + + + + + + + + + - - - - - + + + + + + - - + + - - + + - - + + - - - - - - + + + + + + @@ -142,12 +148,12 @@ - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sim.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sim.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sim.svg Thu May 27 13:10:59 2010 +0300 @@ -1,89 +1,87 @@ - - - + + + - - - - - + + + - - - + + + - - + + - - + + - + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sisx.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sisx.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sisx.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,15 @@ - - - + + + - - - - - - - + + + + + + @@ -19,47 +18,47 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_social_media.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_social_media.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_social_media.svg Thu May 27 13:10:59 2010 +0300 @@ -1,523 +1,263 @@ - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_speaker.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_speaker.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_speaker.svg Thu May 27 13:10:59 2010 +0300 @@ -1,99 +1,97 @@ - - - + + + - - - - + + - - - + + + - - - + + + - - + + - - - - + + + + - - - - + + + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_stereo.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_stereo.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_stereo.svg Thu May 27 13:10:59 2010 +0300 @@ -1,95 +1,93 @@ - - - + + + - - - - - + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - + + - - - - - + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sync.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sync.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_sync.svg Thu May 27 13:10:59 2010 +0300 @@ -1,61 +1,60 @@ - - - + + + - - - - + + - + - - + + - + - - + + - + - - + + - + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_text.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_text.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_text.svg Thu May 27 13:10:59 2010 +0300 @@ -1,32 +1,32 @@ - - - + + + - - - - + + + - - + + - - - + + + - - - + + + + - + @@ -37,4 +37,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tip.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tip.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tip.svg Thu May 27 13:10:59 2010 +0300 @@ -1,41 +1,40 @@ - - - + + + - - - - - - + + + + + - + - - - - - - - + + + + + + + - - - - + + + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_todo_alarm.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_todo_alarm.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_todo_alarm.svg Thu May 27 13:10:59 2010 +0300 @@ -1,83 +1,82 @@ - - - + + + - - - - + + - - + + - - + + - + - - + + - + - - + + - - + + - - + + - - + + - - + + + - - + + - - - - - + + + + + - - + + - + - - + + - - + + - - + + @@ -87,65 +86,63 @@ - - - + - - - - + + + + - - - - - - - + + + + + + + - - - - - + + + + + - - + + - - + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tone.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tone.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tone.svg Thu May 27 13:10:59 2010 +0300 @@ -1,61 +1,34 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tone_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tone_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tone_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,63 +1,45 @@ - - - + + + - - - - - - - - - - - - - - - - - - - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tv_out.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tv_out.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_tv_out.svg Thu May 27 13:10:59 2010 +0300 @@ -1,184 +1,184 @@ - - - + + + - - - - - - - + + + + + + - - - - + + + + + - - + + - + - - + + - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - - - + + + + + + - - + + - + - - + + - + - - - + + + - - + + - + - - + + - + - - - + + + - - - - - + + + - + - - - - + + + + - + - - - - - - + + + + + + - + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_unknown.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_unknown.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_unknown.svg Thu May 27 13:10:59 2010 +0300 @@ -1,32 +1,31 @@ - - - + + + - - - - - + + + - - + + - - - + + + - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_url_address.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_url_address.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_url_address.svg Thu May 27 13:10:59 2010 +0300 @@ -1,81 +1,86 @@ - - - + + + - - - - - - - - - - - + + + - - - - - - - + + + + - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_url_address_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_url_address_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_url_address_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,124 +1,127 @@ - - - + + + - - - - - - - - - - - + + + - - - - - - - + + + + - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + + - - - - - + + + + + + + + + + + + + - - - - - + + + + + + - - - - - - - - + + + + + + + + + + + + + - - - + - - - + + + - - - + + + - + - - + + - - + + - - - + + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_url_address_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_url_address_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_url_address_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,246 +1,191 @@ - - - + + + - - - - - - - - - - - + + + - - - - - - - + + + + - - - - - + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + + - - - - - + + + + + + + + + + + + + - - - - - + + + + + + - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + - - - - - - - - - - - - - - - - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_usb.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_usb.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_usb.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,29 @@ - - - + + + - - - - - - + + + + - - - - + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_usb_memory.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_usb_memory.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_usb_memory.svg Thu May 27 13:10:59 2010 +0300 @@ -1,64 +1,63 @@ - - - + + + - - - - - + + + - - - + + + - - + + - - + + - - - + + + - - - + + + - - + + - + - - + + - - + + - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video.svg Thu May 27 13:10:59 2010 +0300 @@ -1,37 +1,35 @@ - - - + + + - - - - - - + + + + - - + + - - - + + + - - + + - + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,188 +1,130 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -190,4 +132,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call_active.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call_active.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call_active.svg Thu May 27 13:10:59 2010 +0300 @@ -1,179 +1,121 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -181,4 +123,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call_end.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call_end.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call_end.svg Thu May 27 13:10:59 2010 +0300 @@ -1,6 +1,6 @@ - - - + + + @@ -42,148 +42,90 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -191,4 +133,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call_waiting.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call_waiting.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_call_waiting.svg Thu May 27 13:10:59 2010 +0300 @@ -1,187 +1,129 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -189,4 +131,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_capture.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_capture.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_capture.svg Thu May 27 13:10:59 2010 +0300 @@ -1,138 +1,149 @@ - - - + + + - - - - - - + + + + - - + + - - - + + + - - + + - + - - + + - + - - - + - - - + + + - - - - - - + + + + + + + + + - + - - - + + + + - - + + - - - - + + + + - - - - + + + + + + - - + + + + - - - + + + + + - - + + + - - + + - + - - - + + + - - - - - - + + + + + + + + + - - + + - - + + - - - + + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_collection.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_collection.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_collection.svg Thu May 27 13:10:59 2010 +0300 @@ -1,207 +1,105 @@ - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + + + + + - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_dialled_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_dialled_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_dialled_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,58 +1,58 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - - + + + + - - + + + @@ -61,148 +61,90 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -210,4 +152,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_download.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_download.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_download.svg Thu May 27 13:10:59 2010 +0300 @@ -1,48 +1,44 @@ - - - + + + - - - - - - + + + + - - + + - - - + + + - - + + - + - - + + - + - - - + - - - + + + @@ -50,10 +46,10 @@ - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_missed_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_missed_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_missed_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,210 +1,150 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -212,4 +152,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_player.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_player.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_player.svg Thu May 27 13:10:59 2010 +0300 @@ -1,60 +1,56 @@ - - - + + + - - - - - - + + + + - - + + - - - + + + - - + + - + - - + + - + - - - + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_podcast.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_podcast.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_podcast.svg Thu May 27 13:10:59 2010 +0300 @@ -1,60 +1,56 @@ - - - + + + - - - - - - + + + + - - + + - - - + + + - - + + - + - - + + - + - - - + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_received_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_received_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_received_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,53 +1,51 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - - + + + @@ -55,156 +53,98 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -212,4 +152,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_recent.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_recent.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_recent.svg Thu May 27 13:10:59 2010 +0300 @@ -1,74 +1,71 @@ - - - + + + - - - - - - + + + + - - + + - - - + + + - - + + - + - - + + - + - - - + - - + + - - - + + + - + - - - - + + + + - - + + - - + + + - + @@ -81,23 +78,23 @@ - + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_service.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_service.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_service.svg Thu May 27 13:10:59 2010 +0300 @@ -1,70 +1,66 @@ - - - + + + - - - - - - + + + + - - + + - - - + + + - - + + - + - - + + - + - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_tv.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_tv.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_video_tv.svg Thu May 27 13:10:59 2010 +0300 @@ -1,74 +1,71 @@ - - - + + + - - - - - - + + + + - - + + - - - + + + - - + + - + - - + + - + - - - + - - + + - - - + + + + - + - - + + - + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voice_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voice_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voice_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,42 +1,42 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voice_recorder.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voice_recorder.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voice_recorder.svg Thu May 27 13:10:59 2010 +0300 @@ -1,42 +1,40 @@ - - - + + + - - - + - - - - + + + + - - + + - - - - + + + + - - - + + + - - - - + + + + - - - - - + + + + + @@ -59,174 +57,196 @@ - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - + + + + - + - - - - + + + + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip.svg Thu May 27 13:10:59 2010 +0300 @@ -1,75 +1,73 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_active.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_active.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_active.svg Thu May 27 13:10:59 2010 +0300 @@ -1,66 +1,64 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - + - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_end.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_end.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_end.svg Thu May 27 13:10:59 2010 +0300 @@ -1,6 +1,6 @@ - - - + + + @@ -41,36 +41,34 @@ - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_hold.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_hold.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_hold.svg Thu May 27 13:10:59 2010 +0300 @@ -1,6 +1,6 @@ - - - + + + @@ -39,36 +39,34 @@ - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_waiting.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_waiting.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_call_waiting.svg Thu May 27 13:10:59 2010 +0300 @@ -1,74 +1,72 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - + - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_dialled_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_dialled_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_dialled_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,95 +1,93 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - - - + - - - + + + + - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_missed_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_missed_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_missed_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,97 +1,93 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - - - + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_received_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_received_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_voip_received_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,86 +1,82 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - - - + - - - + + + - + - - - + + + - + - - - - + + + + - - - - + + + + - - - + - - - + + + @@ -88,10 +84,10 @@ - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_waiting_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_waiting_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_waiting_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,41 +1,41 @@ - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - - + + - + - - - + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_warning.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_warning.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_warning.svg Thu May 27 13:10:59 2010 +0300 @@ -1,34 +1,33 @@ - - - + + + - - - - + + - - - + + + + - - - - + + + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_web_feeds.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_web_feeds.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_web_feeds.svg Thu May 27 13:10:59 2010 +0300 @@ -1,25 +1,23 @@ - - - + + + - - - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_widget.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_widget.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_widget.svg Thu May 27 13:10:59 2010 +0300 @@ -1,88 +1,96 @@ - - - + + + - - - - - + + + + - - - - + + + + + - - + + - - + + - - - - + + + + + - - - - + + + + + - - - - + + + + + - - + + + + - - - - + + + + - - + + + - - - + + + - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_wire_connect.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_wire_connect.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_wire_connect.svg Thu May 27 13:10:59 2010 +0300 @@ -1,80 +1,50 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -86,4 +56,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_wlan.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_wlan.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_wlan.svg Thu May 27 13:10:59 2010 +0300 @@ -1,74 +1,73 @@ - - - + + + - - - - - + + + + - - - + + + - - + + - + - - - + + + - - - + + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_wlan_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_wlan_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_wlan_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,87 +1,84 @@ - - - + + + - - - - - + + + + - - - + + + - - + + - + - - - + + + - - - + + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - + - - - + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_zipmgr.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_zipmgr.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_large_zipmgr.svg Thu May 27 13:10:59 2010 +0300 @@ -1,147 +1,145 @@ - - - + + + - - - - - - + + + + - - - - + + + + - - + + - - - - + + + + - - + + - - - - + + + + - - + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_0_3mp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_0_3mp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_0_3mp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - - - + + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_12mp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_12mp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_12mp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - - - + + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_1_3mp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_1_3mp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_1_3mp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_3mp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_3mp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_3mp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - - - + + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_9mp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_9mp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_9mp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - - - + + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_accented_characters.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_accented_characters.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_accented_characters.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_activitystream.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_activitystream.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_activitystream.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_account.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_account.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ - - - -]> - - - - - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_contact.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_contact.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_contact.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,11 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_field.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_field.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ - - - -]> - - - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_calendar.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_calendar.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_calendar.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,11 @@ - - - -]> - - - - - + + + + + - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_contact.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_contact.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_contact.svg Thu May 27 13:10:59 2010 +0300 @@ -1,24 +1,11 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_favourites.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_favourites.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_favourites.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,9 @@ - - - -]> - - - - - + + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_groups.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_groups.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ - - - -]> - - - - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_homescreen.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_homescreen.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_homescreen.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,9 @@ - - - -]> - - - - - + + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_phonebook.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_phonebook.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_video_collection.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_video_collection.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_add_to_video_collection.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_addcity.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_addcity.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_addcity.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - -]> - - - - - - - - - - - + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm_inactive.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm_inactive.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm_inactive.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,10 @@ - - - -]> - - - - - - - - - - + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm_new.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm_new.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm_new.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,13 @@ - - - -]> - - - - - + + + + + - - - - + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm_snooze.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alarm_snooze.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alpha_mode.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alpha_mode.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_alpha_mode.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_app_exit.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_app_exit.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_app_exit.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_applications_all.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_applications_all.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_applications_all.svg Thu May 27 13:10:59 2010 +0300 @@ -1,18 +1,11 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_applications_collections.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_applications_collections.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_applications_collections.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,12 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_arrow_down.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_arrow_down.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_arrow_down.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_arrow_up.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_arrow_up.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_arrow_up.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_artists.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_artists.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_artists.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,10 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_aspect_ratio_natural.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_aspect_ratio_natural.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_aspect_ratio_natural.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_aspect_ratio_stretched.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_aspect_ratio_stretched.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_aspect_ratio_stretched.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,13 @@ - - - - + + + - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_aspect_ratio_zoom.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_aspect_ratio_zoom.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_aspect_ratio_zoom.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_attach.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_attach.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_attach.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,8 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_audio.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_audio.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_audio.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_autoflash.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_autoflash.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_autoflash.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_automatic.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_automatic.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_automatic.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_back.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_back.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_back.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_backspace1.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_backspace1.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_backspace1.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_backspace2.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_backspace2.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_backspace2.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bluetooth.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bluetooth.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bluetooth.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bluetooth_headset.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bluetooth_headset.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bluetooth_headset.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bluetooth_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bluetooth_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bluetooth_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - - - - + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bold.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bold.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bold.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_add_new.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_add_new.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_add_new.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,10 @@ - - - -]> - - - - - + + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_pair.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_pair.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_pair.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_show_all.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_show_all.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_show_all.svg Thu May 27 13:10:59 2010 +0300 @@ -1,24 +1,11 @@ - - - -]> - - - - - + + + + + - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_show_pair.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_show_pair.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_show_pair.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,10 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_unpair.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_unpair.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bt_unpair.svg Thu May 27 13:10:59 2010 +0300 @@ -1,24 +1,12 @@ - - - -]> - - - - - + + + + + - - + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bullet.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bullet.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_bullet.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,15 @@ - - - - + + + - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_call_diverted.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_call_diverted.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_call_diverted.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_camcoder_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_camcoder_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_camcoder_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,12 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_camcorder.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_camcorder.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_camcorder.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,9 @@ - - - -]> - - - - + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_camera.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_camera.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_camera.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_capture.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_capture.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_capture.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_change_cam_mode.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_change_cam_mode.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_change_cam_mode.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,13 @@ - - - - + + + - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_ciphering_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_ciphering_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_ciphering_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,11 @@ - - - -]> - - - - - + + + + + - + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_close_up.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_close_up.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_close_up.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_collapse.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_collapse.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_collapse.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_communication.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_communication.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_communication.svg Thu May 27 13:10:59 2010 +0300 @@ -1,26 +1,7 @@ - - - - - - - + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_conference.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_conference.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_conference.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_contact_all.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_contact_all.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_contact_all.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,10 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_contacts.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_contacts.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_contacts.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,10 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_continuous_capture.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_continuous_capture.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_continuous_capture.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_contrast.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_contrast.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_contrast.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,8 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_corrupted.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_corrupted.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_corrupted.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - -]> - - - - - + + + + + - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_countdown_timer.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_countdown_timer.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ - - - -]> - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_email.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_email.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_email.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_event.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_event.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_event.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,12 @@ - - - -]> - - - - - + + + + + - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_group.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_group.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ - - - -]> - - - - - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_message.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_message.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_create_message.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,9 @@ - - - -]> - - - - - + + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_day_light_saving_time.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_day_light_saving_time.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_day_light_saving_time.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_delete.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_delete.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_delete.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_details.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_details.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_details.svg Thu May 27 13:10:59 2010 +0300 @@ -1,28 +1,18 @@ - - - -]> - - - - - + + + + + - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_dialer.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_dialer.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_dialer.svg Thu May 27 13:10:59 2010 +0300 @@ -1,24 +1,17 @@ - - - -]> - - - - - + + + + + - - - - - - - - - - + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_disconnect.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_disconnect.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_disconnect.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,12 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_drm_rights_expired.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_drm_rights_expired.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_drm_rights_expired.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,10 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_drop_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_drop_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_drop_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,13 @@ - - - - + + + - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_edit.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_edit.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_edit.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,8 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_attach.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_attach.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_attach.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,17 @@ - - - - + + + - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_context.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_context.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_context.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_multipdp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_multipdp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_multipdp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_suspended.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_suspended.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_egprs_suspended.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_end_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_end_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_end_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_enter.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_enter.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_enter.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_exit.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_exit.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_exit.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,8 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_expand.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_expand.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_expand.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_exposure.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_exposure.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_exposure.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_face_tracking.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_face_tracking.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_face_tracking.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_face_tracking_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_face_tracking_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_face_tracking_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,29 +1,16 @@ - - - - + + + - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_failed.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_failed.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_failed.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,8 @@ - - - -]> - - - - - - - + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_favourites.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_favourites.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_favourites.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_favourites_remove.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_favourites_remove.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_favourites_remove.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,10 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_filter.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_filter.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_filter.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,8 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_flash.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_flash.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_flash.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_flash_charging.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_flash_charging.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_flash_charging.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_flash_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_flash_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_flash_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_folder.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_folder.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_folder.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_forward.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_forward.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_forward.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_forward_email.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_forward_email.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_forward_email.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_forward_msg.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_forward_msg.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_forward_msg.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_genres.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_genres.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_genres.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_geotag.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_geotag.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_geotag.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_geotag_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_geotag_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_geotag_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_go.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_go.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_go.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_gps.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_gps.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_gps.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_gps_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_gps_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_gps_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,14 @@ - - - -]> - - - - - + + + + + - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_group.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_group.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_group.svg Thu May 27 13:10:59 2010 +0300 @@ -1,28 +1,11 @@ - - - -]> - - - - - + + + + + - - - - + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hard_disk.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hard_disk.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,9 @@ + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hd.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hd.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hd.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - - + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_help_all.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_help_all.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_help_all.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,10 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_history.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_history.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_history.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,18 @@ - - - -]> - - - - - + + + + + - - - - - - + + + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hold_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hold_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hold_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_attach.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_attach.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_attach.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,17 @@ - - - - + + + - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_context.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_context.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_context.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_multipdp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_multipdp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_multipdp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_suspended.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_suspended.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_hsdpa_suspended.svg Thu May 27 13:10:59 2010 +0300 @@ -1,25 +1,14 @@ - - - - + + + - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_img_quality.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_img_quality.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_img_quality.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_info.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_info.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_info.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_iso.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_iso.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_iso.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_italic.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_italic.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_italic.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_join_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_join_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_join_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_landscape.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_landscape.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_landscape.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - - - + + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_lap.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_lap.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ - - - -]> - - - - - - - - - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_last_result.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_last_result.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_last_result.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,10 @@ - - - -]> - - - - - + + + + + - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_light.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_light.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_light.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_light_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_light_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_light_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_location.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_location.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_location.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_location_collection.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_location_collection.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_location_collection.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_log.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_log.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_log.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_low_light.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_low_light.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_low_light.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_lsk_horizontal.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_lsk_horizontal.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_lsk_horizontal.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_lsk_vertical.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_lsk_vertical.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_lsk_vertical.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_memory_in_use.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_memory_in_use.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_memory_in_use.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_merge.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_merge.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ - - - -]> - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mic_mute.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mic_mute.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mic_mute.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mic_unmute.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mic_unmute.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mic_unmute.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_minus.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_minus.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_minus.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,6 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_missed_call_unseen.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_missed_call_unseen.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_missed_call_unseen.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - -]> - - - - - + + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mobile.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mobile.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mobile.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,8 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mono_recognize_song.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mono_recognize_song.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_mono_recognize_song.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,9 @@ - - - -]> - - - - - + + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_more.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_more.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_more.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_music_albums.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_music_albums.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_music_albums.svg Thu May 27 13:10:59 2010 +0300 @@ -1,18 +1,10 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_new_event.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_new_event.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_new_event.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_next.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_next.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_next.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_night.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_night.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_night.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_night_portrait.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_night_portrait.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_night_portrait.svg Thu May 27 13:10:59 2010 +0300 @@ -1,18 +1,7 @@ - - - -]> - - - - - - + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_notes_all.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_notes_all.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_notes_all.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,15 @@ - - - -]> - - - - - + + + + + - - - - - - - - + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_notes_collections.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_notes_collections.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_notes_collections.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,14 @@ - - - -]> - - - - - + + + + + - - - - - - - - + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_offline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_offline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_offline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_one.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_one.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_one.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_online_support.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_online_support.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_online_support.svg Thu May 27 13:10:59 2010 +0300 @@ -1,28 +1,10 @@ - - - -]> - - - - - + + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_options_menu.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_options_menu.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_options_menu.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_organize.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_organize.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_organize.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_outbox.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_outbox.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_outbox.svg Thu May 27 13:10:59 2010 +0300 @@ -1,14 +1,7 @@ - - - -]> - - - - + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_ovistore.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_ovistore.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_ovistore.svg Thu May 27 13:10:59 2010 +0300 @@ -1,53 +1,11 @@ - - - -]> - - - - - + + + + + - - - - + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_1_2.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_1_2.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_1_3.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_1_3.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_1_4.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_1_4.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_1_5.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_1_5.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_2_2.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_2_2.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_2_3.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_2_3.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_2_4.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_2_4.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_2_5.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_2_5.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_3_3.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_3_3.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_3_4.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_3_4.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_3_5.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_3_5.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_4_4.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_4_4.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_4_5.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_4_5.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_5_5.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_page_5_5.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pause.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pause.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pause.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_attach.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_attach.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_attach.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,17 @@ - - - - + + + - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_context.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_context.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_context.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_multipdp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_multipdp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_multipdp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_suspended.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_suspended.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_pd_suspended.svg Thu May 27 13:10:59 2010 +0300 @@ -1,25 +1,14 @@ - - - - + + + - - - - - - - - + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_person_activitystream.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_person_activitystream.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_person_activitystream.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,10 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_person_history.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_person_history.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ - - - -]> - - - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_photo_albums.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_photo_albums.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_photo_albums.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,9 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_photos.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_photos.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_photos.svg Thu May 27 13:10:59 2010 +0300 @@ -1,26 +1,9 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_play.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_play.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_play.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_play_history.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_play_history.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_play_history.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_playlist.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_playlist.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_playlist.svg Thu May 27 13:10:59 2010 +0300 @@ -1,26 +1,17 @@ - - - -]> - - - - - + + + + + - - - - - - - - - - + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_plus.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_plus.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_plus.svg Thu May 27 13:10:59 2010 +0300 @@ -1,14 +1,7 @@ - - - -]> - - - - - - + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_podcast.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_podcast.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_podcast.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_portrait.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_portrait.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_portrait.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,6 @@ - - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_power.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_power.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,7 @@ + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_predictive_text_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_predictive_text_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_predictive_text_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,8 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_predictive_text_on.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_predictive_text_on.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_predictive_text_on.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,10 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_presentation.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_presentation.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_presentation.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_previous.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_previous.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_previous.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_private_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_private_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_private_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,25 +1,14 @@ - - - - + + + - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_qcif.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_qcif.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_qcif.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,10 @@ - - - - - + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_radio_collections.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_radio_collections.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_radio_collections.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_radio_stations.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_radio_stations.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_radio_stations.svg Thu May 27 13:10:59 2010 +0300 @@ -1,35 +1,19 @@ - - - - + + + - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_recentlog.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_recentlog.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_recentlog.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_redeye.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_redeye.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_redeye.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_refresh.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_refresh.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reject_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reject_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reject_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_remove_from_collection.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_remove_from_collection.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_remove_from_collection.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_remove_from_video_collection.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_remove_from_video_collection.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_remove_from_video_collection.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_repeat.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_repeat.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_repeat.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,8 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_repeat_exception.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_repeat_exception.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_repeat_exception.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,11 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_replace_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_replace_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_replace_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply_all.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply_all.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply_all.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply_all_email.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply_all_email.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply_all_email.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply_email.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply_email.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reply_email.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reset.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_reset.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ - - - -]> - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_restore_settings.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_restore_settings.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_restore_settings.svg Thu May 27 13:10:59 2010 +0300 @@ -1,25 +1,11 @@ - - - -]> - - - - - + + + + + - - - - + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_rewind.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_rewind.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_rewind.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_rsk_horizontal.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_rsk_horizontal.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_rsk_horizontal.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_rsk_vertical.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_rsk_vertical.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_rsk_vertical.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_search.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_search.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_search.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - - - + + + - + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_search_stop.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_search_stop.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_search_stop.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,15 @@ - - - - + + + - - - - - - - - - + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_seek_next.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_seek_next.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_seek_next.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - -]> - - - + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_seek_previous.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_seek_previous.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_seek_previous.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - -]> - - - + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_send.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_send.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_send.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - -]> - - - + + + - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_send_mycard.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_send_mycard.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_send_mycard.svg Thu May 27 13:10:59 2010 +0300 @@ -1,24 +1,14 @@ - - - -]> - - - + + + - - + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_settings.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_settings.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_settings.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shake_warning.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shake_warning.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shake_warning.svg Thu May 27 13:10:59 2010 +0300 @@ -1,24 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_share.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_share.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_share.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_share_photo.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_share_photo.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_share_photo.svg Thu May 27 13:10:59 2010 +0300 @@ -1,29 +1,12 @@ - - - -]> - - - - - + + + + + - - + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_share_photo_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_share_photo_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_share_photo_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,29 +1,19 @@ - - - -]> - - - - - + + + + + - + - + - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sharpness.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sharpness.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sharpness.svg Thu May 27 13:10:59 2010 +0300 @@ -1,25 +1,14 @@ - - - - + + + - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shift.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shift.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shift.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_show_view.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_show_view.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_show_view.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,16 @@ - - - -]> - - - - - + + + + + - - - - - + + + + + - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shuffle.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shuffle.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shuffle.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shuffle_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shuffle_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_shuffle_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_smiley.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_smiley.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_smiley.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,11 @@ - - - -]> - - - - - + + + + + - + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_songs_all.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_songs_all.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_songs_all.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,8 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sort.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sort.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sort.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,12 @@ - - - -]> - - - - - + + + + + - - - - + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_speaker.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_speaker.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_speaker.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,11 @@ - - - -]> - - - - - + + + + + - + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_speaker_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_speaker_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_speaker_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,9 @@ - - - -]> - - - - + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_special_characters_itut.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_special_characters_itut.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_special_characters_itut.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_special_characters_qwerty.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_special_characters_qwerty.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_special_characters_qwerty.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_split.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_split.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ - - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sport.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sport.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sport.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,11 @@ - - - - - - - - + + + + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stabilization.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stabilization.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stabilization.svg Thu May 27 13:10:59 2010 +0300 @@ -1,14 +1,11 @@ - - - - - + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stabilization_off.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stabilization_off.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stabilization_off.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,13 @@ - - - - - - - + + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_start.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_start.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_station_scan.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_station_scan.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_station_scan.svg Thu May 27 13:10:59 2010 +0300 @@ -1,25 +1,14 @@ - - - - + + + - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stop.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stop.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stop.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stopwatch.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_stopwatch.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_store.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_store.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_store.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sym_itut.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sym_itut.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sym_itut.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sym_qwerty.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sym_qwerty.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_sym_qwerty.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tab_active.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tab_active.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tab_active.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tab_passive.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tab_passive.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tab_passive.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,8 @@ - - - -]> - - - - - + + + + + - + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tag.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tag.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tag.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_center.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_center.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_center.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_justify.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_justify.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_justify.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_left.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_left.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_left.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_right.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_right.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_text_align_right.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tick.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tick.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tick.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,8 @@ - - - -]> - - - - - + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tip.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tip.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_tip.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,10 @@ - - - -]> - - - - - + + + + + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_two.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_two.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_two.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_attach.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_attach.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_attach.svg Thu May 27 13:10:59 2010 +0300 @@ -1,29 +1,16 @@ - - - - + + + - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_context.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_context.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_context.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_multipdp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_multipdp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_multipdp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_suspended.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_suspended.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_uma_suspended.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,13 @@ - - - - + + + - - - - - - - + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_unblock.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_unblock.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_unblock.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,11 @@ - - - -]> - - - - - + + + + + - - - - + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_underline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_underline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_underline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_unknown.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_unknown.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_unknown.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_update_existing.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_update_existing.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_update_existing.svg Thu May 27 13:10:59 2010 +0300 @@ -1,24 +1,11 @@ - - - -]> - - - - - + + + + + - - - - + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_usb.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_usb.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,10 @@ + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_user_defined.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_user_defined.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_user_defined.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - - - + + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vga.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vga.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vga.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,9 @@ - - - - - + + + + - - + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vga_wide.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vga_wide.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vga_wide.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video_collection.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video_collection.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video_collection.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video_services.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video_services.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_video_services.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_virtual_input.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_virtual_input.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_virtual_input.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_voice_mailbox.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_voice_mailbox.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_voice_mailbox.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vol_down.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vol_down.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vol_down.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - -]> - - - - - + + + + + - + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vol_up.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vol_up.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_vol_up.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,13 @@ - - - -]> - - - - - + + + + + - + - - - + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_attach.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_attach.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_attach.svg Thu May 27 13:10:59 2010 +0300 @@ -1,29 +1,16 @@ - - - - + + + - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_context.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_context.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_context.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_multipdp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_multipdp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_multipdp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_suspended.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_suspended.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wcdma_suspended.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,13 @@ - - - - + + + - - - - - - - + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_cloudy.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_cloudy.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_cloudy.svg Thu May 27 13:10:59 2010 +0300 @@ -1,29 +1,11 @@ - - - -]> - - - - - - - - - - + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_fluorescent.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_fluorescent.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_fluorescent.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_incandescent.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_incandescent.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_incandescent.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_sunny.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_sunny.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_white_balance_sunny.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,14 @@ - - - -]> - - - - - - - - - - - - - + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_attach.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_attach.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_attach.svg Thu May 27 13:10:59 2010 +0300 @@ -1,33 +1,18 @@ - - - - + + + - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_context.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_context.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_context.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_multipdp.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_multipdp.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_multipdp.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,12 @@ - - - - + + + - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_suspended.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_suspended.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wimax_suspended.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,15 @@ - - - - + + + - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wlan.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wlan.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wlan.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wlan_offline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wlan_offline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_wlan_offline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,39 +1,21 @@ - - - - + + + - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_world_clock.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_world_clock.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_world_clock.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_zoom.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_zoom.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_zoom.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,9 @@ - - - -]> - - - - - - - + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_zoom_in.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_zoom_in.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_zoom_in.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_zoom_out.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_zoom_out.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_mono_zoom_out.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_add.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_add.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_add.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,19 @@ - - - + + + - - + + + + + + - - + + - - - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_allday.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_allday.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_anniversary.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_anniversary.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_anniversary.svg Thu May 27 13:10:59 2010 +0300 @@ -1,55 +1,58 @@ - - - + + + - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + - + - - - + + + - - + + - - + + + - - + + + - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_assistant.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_assistant.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_assistant.svg Thu May 27 13:10:59 2010 +0300 @@ -1,73 +1,71 @@ - - - + + + - - - + - - - - + + + + - + - - - + + + - - - + + + - - + + - - - + + + - + - - - + + + - + - - + + - - - + + + - + - - + + - - - + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_attachment.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_attachment.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_attachment.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,16 @@ - - - + + + - - + + - - - + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_authorised.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_authorised.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_authorised.svg Thu May 27 13:10:59 2010 +0300 @@ -1,45 +1,45 @@ - - - + + + - + - + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_blocked.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_blocked.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_blocked.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,19 @@ - - - + + + - - - + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bluetooth_offline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bluetooth_offline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bluetooth_offline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,37 +1,29 @@ - - - + + + - - - + - - - + + + - - - - + + + + - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_low_battery.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_low_battery.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_low_battery.svg Thu May 27 13:10:59 2010 +0300 @@ -1,40 +1,39 @@ - - - + + + - - - + - - - - - - + + + + + + - - - - - + + + + + + - - - - - - + + + + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_signal_high.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_signal_high.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_signal_high.svg Thu May 27 13:10:59 2010 +0300 @@ -1,43 +1,41 @@ - - - + + + - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_signal_low.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_signal_low.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_signal_low.svg Thu May 27 13:10:59 2010 +0300 @@ -1,49 +1,47 @@ - - - + + + - - - - - + + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_signal_medium.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_signal_medium.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_bt_signal_medium.svg Thu May 27 13:10:59 2010 +0300 @@ -1,46 +1,44 @@ - - - + + + - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_business_card.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_business_card.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_business_card.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,29 @@ - - - + + + - - - - + + - + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_calendar.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_calendar.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_calendar.svg Thu May 27 13:10:59 2010 +0300 @@ -1,54 +1,51 @@ - - - + + + - - - - - - + + + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_car.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_car.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_car.svg Thu May 27 13:10:59 2010 +0300 @@ -1,81 +1,79 @@ - - - + + + - - - + - - - + + + - - - + + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_charger.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_charger.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_charger.svg Thu May 27 13:10:59 2010 +0300 @@ -1,65 +1,63 @@ - - - + + + - - - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_collapse.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_collapse.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_collapse.svg Thu May 27 13:10:59 2010 +0300 @@ -1,6 +1,6 @@ - - - + + + @@ -9,15 +9,10 @@ - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_company_details.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_company_details.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_company_details.svg Thu May 27 13:10:59 2010 +0300 @@ -1,90 +1,88 @@ - - - + + + - - - + - - + + - - + + - - + + - - + + - + - - + + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_connected.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_connected.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_connected.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,19 @@ - - - + + + - - + + + + + - - + + - - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_connection.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_connection.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_connection.svg Thu May 27 13:10:59 2010 +0300 @@ -1,34 +1,37 @@ - - - + + + - - - - + + - - + + + - - - + + + + - - + + + + - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_contacts.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_contacts.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_contacts.svg Thu May 27 13:10:59 2010 +0300 @@ -1,44 +1,42 @@ - - - + + + - - - + - - + + - + - - + + - - + + - - + + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_corrupted.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_corrupted.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_corrupted.svg Thu May 27 13:10:59 2010 +0300 @@ -1,59 +1,26 @@ - - - + + + - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + + + + + - - - - + + + + - - - - - - - - - - - - - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_day.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_day.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_day.svg Thu May 27 13:10:59 2010 +0300 @@ -1,48 +1,46 @@ - - - + + + - - - - - - + + + + - + - - + + - - + + - - + + - + - - + + - - + + - + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_disconnected.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_disconnected.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_disconnected.svg Thu May 27 13:10:59 2010 +0300 @@ -1,30 +1,30 @@ - - - + + + - - - - - - - + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_draft.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_draft.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_draft.svg Thu May 27 13:10:59 2010 +0300 @@ -1,43 +1,45 @@ - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_email.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_email.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_email.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,19 @@ - - - + + + - - - - - - - + - - + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_email_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_email_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_email_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,33 +1,31 @@ - - - + + + - - - + - - + + - - + + - + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_email_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_email_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_email_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,36 +1,32 @@ - - - + + + - - - + - - + + - - + + - - - + - + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_expand.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_expand.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_expand.svg Thu May 27 13:10:59 2010 +0300 @@ -1,6 +1,6 @@ - - - + + + @@ -9,15 +9,10 @@ - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fail.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fail.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fail.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,20 @@ - - - + + + - - - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_family.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_family.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_family.svg Thu May 27 13:10:59 2010 +0300 @@ -1,40 +1,38 @@ - - - + + + - - - + - - + + - - - + + + - - - + + + - - - + + + - + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_favorite.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_favorite.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_favorite.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,16 @@ - - - + + + - - - - - - - + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fax.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fax.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fax.svg Thu May 27 13:10:59 2010 +0300 @@ -1,175 +1,91 @@ - - - - + + + + - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fax_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fax_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fax_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,197 +1,102 @@ - - - - + + + + - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fax_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fax_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_fax_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,195 +1,101 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - + + - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_flash.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_flash.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_flash.svg Thu May 27 13:10:59 2010 +0300 @@ -1,39 +1,39 @@ - - - + + + - - - + - - - - + + + + - - - - - - - - - + + + + - - - + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_folder.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_folder.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_folder.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,20 @@ - - - + + + - - - + + + + + - - - + + + - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_follow_up.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_follow_up.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_follow_up.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,29 @@ - - - + + + - - - - - + + + - - + + - - - + + + - - - + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_forward.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_forward.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_forward.svg Thu May 27 13:10:59 2010 +0300 @@ -1,18 +1,18 @@ - - - + + + - - + + + + + - - + + - - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_gprs.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_gprs.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_gprs.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,21 @@ - - - + + + - - - - - - - - - + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_homescreen.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_homescreen.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_homescreen.svg Thu May 27 13:10:59 2010 +0300 @@ -1,67 +1,65 @@ - - - + + + - - - - + + - + - - + + - + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_hs_offline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_hs_offline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_hs_offline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,80 +1,70 @@ - - - + + + - - - - + + - - - + + + - - - - - + + + - - - + + + - + - - + + - - + + - - - + + + - - + + - + - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_hs_widget.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_hs_widget.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_hs_widget.svg Thu May 27 13:10:59 2010 +0300 @@ -1,45 +1,46 @@ - - - + + + - - - - - - + + + + + - - - + + + - - - - + + + + + - - - - + + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_html.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_html.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_html.svg Thu May 27 13:10:59 2010 +0300 @@ -1,91 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_hwr.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_hwr.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_im.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_im.svg Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_image.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_image.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_image.svg Thu May 27 13:10:59 2010 +0300 @@ -1,103 +1,55 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - + + + - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_internet.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_internet.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_internet.svg Thu May 27 13:10:59 2010 +0300 @@ -1,35 +1,37 @@ - - - + + + - - - - - + + + - - - - - - - + + - - - + + + + - - - + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_intranet.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_intranet.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_intranet.svg Thu May 27 13:10:59 2010 +0300 @@ -1,37 +1,39 @@ - - - + + + - - - - - + + + - - - - - - - + + - - - + + + + - - - + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_itut.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_itut.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_java.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_java.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_java.svg Thu May 27 13:10:59 2010 +0300 @@ -1,30 +1,28 @@ - - - + + + - - - + - - + + - - - - - - - + + + + + + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_keyboard.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_keyboard.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_landline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_landline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_landline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,75 +1,73 @@ - - - + + + - - - + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_landline_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_landline_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_landline_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,113 +1,60 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_landline_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_landline_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_landline_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,111 +1,59 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_link.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_link.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_link.svg Thu May 27 13:10:59 2010 +0300 @@ -1,25 +1,25 @@ - - - + + + - - - - - - - + - - - - - + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_location.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_location.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_location.svg Thu May 27 13:10:59 2010 +0300 @@ -1,30 +1,28 @@ - - - + + + - - + + - - - - + + - - - + + + - - - + + + - + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_lock.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_lock.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_lock.svg Thu May 27 13:10:59 2010 +0300 @@ -1,45 +1,43 @@ - - - + + + - - - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_meeting.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_meeting.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_meeting.svg Thu May 27 13:10:59 2010 +0300 @@ -1,51 +1,49 @@ - - - + + + - - - + - - + + - + - - - - - + + + + + - - + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_message.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_message.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_message.svg Thu May 27 13:10:59 2010 +0300 @@ -1,30 +1,30 @@ - - - + + + - - - - - - + + + + - + - - - + + + + + - + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_missed_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_missed_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_missed_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,18 +1,18 @@ - - - + + + + + + + + + - - - - - + + - - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mms.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mms.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mms.svg Thu May 27 13:10:59 2010 +0300 @@ -1,129 +1,72 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - + - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mobile.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mobile.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mobile.svg Thu May 27 13:10:59 2010 +0300 @@ -1,48 +1,46 @@ - - - + + + - - - + - - + + - - - + + + - - + + - + - - + + - - + + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mobile_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mobile_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mobile_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,107 +1,57 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mobile_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mobile_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_mobile_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,105 +1,54 @@ - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_doc.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_doc.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_doc.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,12 @@ - - - - + + + + - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_pdf.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_pdf.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_pdf.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,12 @@ - - - - + + + + - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_ppt.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_ppt.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_ppt.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,15 @@ - - - - + + + + - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_rtf.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_rtf.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_rtf.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,14 @@ - - - - + + + + - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_xls.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_xls.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ms_xls.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,15 @@ - - - - + + + + - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_chat.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_chat.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_chat.svg Thu May 27 13:10:59 2010 +0300 @@ -1,49 +1,39 @@ - - - + + + - - - - + + - + - + - + - + - + - - - - - + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_email_event.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_email_event.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_email_event.svg Thu May 27 13:10:59 2010 +0300 @@ -1,45 +1,35 @@ - - - + + + - - - + - - + + - - + + - + - - - - - + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_event.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_event.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_event.svg Thu May 27 13:10:59 2010 +0300 @@ -1,24 +1,22 @@ - - - + + + - - - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_tip.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_tip.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_new_tip.svg Thu May 27 13:10:59 2010 +0300 @@ -1,74 +1,61 @@ - - - + + + - - - - - - - - + - - - + + + - - - - - - + - - - - - - - + + + + + + + - + - - - + + + - - - + + + + + + + + + + - + - - - - - + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_nfc_offline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_nfc_offline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_nfc_offline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,44 +1,34 @@ - - - + + + + + + + + + + + + + - - - - - + + - - - - - - - - - - - - + - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_no_signal.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_no_signal.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_no_signal.svg Thu May 27 13:10:59 2010 +0300 @@ -1,37 +1,35 @@ - - - + + + - - - - + + - + - - + + - - - + + + - - + + - - - - - - + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_note.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_note.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_note.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,19 @@ - - - + + + + + + + + + + - - - - - - + + + - - - - - - - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_offline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_offline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_offline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,21 @@ - - - + + + - - - - + + + + + - - + + - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_online.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_online.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_online.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,23 @@ - - - + + + - - - - - + + + + + + + - - + + - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_operator.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_operator.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_operator.svg Thu May 27 13:10:59 2010 +0300 @@ -1,43 +1,41 @@ - - - + + + - - - - + + - - + + - - + + - - + + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_outbox.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_outbox.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_outbox.svg Thu May 27 13:10:59 2010 +0300 @@ -1,32 +1,30 @@ - - - + + + - - - + - - + + - - - + + + - + - - + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ovi.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ovi.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_ovi.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,11 @@ - - - - + + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_pager.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_pager.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_pager.svg Thu May 27 13:10:59 2010 +0300 @@ -1,43 +1,42 @@ - - - + + + - - - + - - - + + + - + - - + + - - + + - - + + + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_pair.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_pair.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_pair.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,22 @@ - - - + + + - - - - - + + + + - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_person.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_person.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_person.svg Thu May 27 13:10:59 2010 +0300 @@ -1,42 +1,42 @@ - - - + + + - - - - + + + + - + - - + + - - - - + + + + - - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_phone_disabled.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_phone_disabled.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_phone_disabled.svg Thu May 27 13:10:59 2010 +0300 @@ -1,66 +1,58 @@ - - - + + + - - - + - - + + - - - + + + - - + + - + - - + + - - + + - - + + - - + + - + - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_phonebook.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_phonebook.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_phonebook.svg Thu May 27 13:10:59 2010 +0300 @@ -1,44 +1,42 @@ - - - + + + - - - + - - + + - + - - + + - - + + - - + + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_play.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_play.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_play.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,15 @@ - - - - - - + + + + - - - - - + + - - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_playlist.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_playlist.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_playlist.svg Thu May 27 13:10:59 2010 +0300 @@ -1,40 +1,34 @@ - - - + + + + + + + + + + + + + - - - - - - - - - - - + - - - - + + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_presentation.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_presentation.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_presentation.svg Thu May 27 13:10:59 2010 +0300 @@ -1,55 +1,53 @@ - - - + + + - - - - + + - - + + - + - - - + + + - - + + - - + + - - + + - - + + - - - - + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_priority_high.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_priority_high.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_priority_high.svg Thu May 27 13:10:59 2010 +0300 @@ -1,23 +1,21 @@ - - - + + + - - - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_priority_low.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_priority_low.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_priority_low.svg Thu May 27 13:10:59 2010 +0300 @@ -1,18 +1,18 @@ - - - + + + - - + + + + + - - + + - - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_selected.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_selected.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_selected.svg Thu May 27 13:10:59 2010 +0300 @@ -1,51 +1,29 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_selected_highlight.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_selected_highlight.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_selected_highlight.svg Thu May 27 13:10:59 2010 +0300 @@ -1,57 +1,32 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_unselected.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_unselected.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_unselected.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,17 @@ - - - - + + + + - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_unselected_highlight.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_unselected_highlight.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_radio_unselected_highlight.svg Thu May 27 13:10:59 2010 +0300 @@ -1,33 +1,20 @@ - - - - + + + + - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reboot.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reboot.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reboot.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,29 @@ - - - + + + - - - + - - - + + + - - + + - - - + + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_received.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_received.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_received.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,20 @@ - - - + + + - - - + - - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_record.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_record.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_record.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,17 @@ - - - + + + - - + + + + - - + + - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_refresh.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_refresh.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_refresh.svg Thu May 27 13:10:59 2010 +0300 @@ -1,26 +1,24 @@ - - - + + + - - - + - - + + - - + + - - - - - - + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reminder.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reminder.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reminder.svg Thu May 27 13:10:59 2010 +0300 @@ -1,43 +1,41 @@ - - - + + + - - - - - - + + + + - + - - - - + + + + - + - - - - + + + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_repeat.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_repeat.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_repeat.svg Thu May 27 13:10:59 2010 +0300 @@ -1,20 +1,20 @@ - - - + + + - - + + + + + + + - - + + - - - - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_repeat_exception.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_repeat_exception.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_repeat_exception.svg Thu May 27 13:10:59 2010 +0300 @@ -1,38 +1,30 @@ - - - + + + - - - - + + - - - - + + + + - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reply.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reply.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reply.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,17 @@ - - - + + + - - + + + + - - + + - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reply_all.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reply_all.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_reply_all.svg Thu May 27 13:10:59 2010 +0300 @@ -1,37 +1,22 @@ - - - - + + + + - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_rgb.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_rgb.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_rgb.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,7 @@ - - - + + + - - @@ -14,4 +12,4 @@ - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_secure.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_secure.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_secure.svg Thu May 27 13:10:59 2010 +0300 @@ -1,45 +1,43 @@ - - - + + + - - - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_selected.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_selected.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_selected.svg Thu May 27 13:10:59 2010 +0300 @@ -1,39 +1,23 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_selected_highlight.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_selected_highlight.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_selected_highlight.svg Thu May 27 13:10:59 2010 +0300 @@ -1,47 +1,27 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_selected_partial.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_selected_partial.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_selected_partial.svg Thu May 27 13:10:59 2010 +0300 @@ -1,49 +1,28 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sent.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sent.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sent.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,20 @@ - - - + + + - - - + - - - + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_signal_good.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_signal_good.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_signal_good.svg Thu May 27 13:10:59 2010 +0300 @@ -1,31 +1,29 @@ - - - + + + - - - - + + - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_signal_low.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_signal_low.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_signal_low.svg Thu May 27 13:10:59 2010 +0300 @@ -1,37 +1,35 @@ - - - + + + - - - - + + - - + + - - - + + + - - + + - - - - - - + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_signal_medium.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_signal_medium.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_signal_medium.svg Thu May 27 13:10:59 2010 +0300 @@ -1,34 +1,32 @@ - - - + + + - - - - + + - - + + - - + + - - - - - - + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sisx.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sisx.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sisx.svg Thu May 27 13:10:59 2010 +0300 @@ -1,30 +1,28 @@ - - - + + + - - - + - - + + - - - - - - - + + + + + + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_angry.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_angry.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_angry.svg Thu May 27 13:10:59 2010 +0300 @@ -1,61 +1,59 @@ - - - + + + - - - + - + - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - - + + - - - - - - - + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_bigsmile.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_bigsmile.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_bigsmile.svg Thu May 27 13:10:59 2010 +0300 @@ -1,56 +1,54 @@ - - - + + + - - - + - + - + - - - + + + - + - - + + - - + + - - + + - - + + - - - + + + - + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_cry.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_cry.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_cry.svg Thu May 27 13:10:59 2010 +0300 @@ -1,48 +1,46 @@ - - - + + + - - - + - + - - - + + + - - + + - + - - - + + + - - + + - + - - + + - - + + - - - + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_evil.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_evil.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_evil.svg Thu May 27 13:10:59 2010 +0300 @@ -1,38 +1,38 @@ - - - + + + - - - + - + - - - + + + - - - - - - - + + + - - + + - + - - + + - + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_eyebrows.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_eyebrows.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_eyebrows.svg Thu May 27 13:10:59 2010 +0300 @@ -1,71 +1,69 @@ - - - + + + - - - + - + - - - + + + - - + + - - + + - - + + - - + + - + - - + + - - - + + + - + - - + + - - + + - - - + + + - + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_heart.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_heart.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_heart.svg Thu May 27 13:10:59 2010 +0300 @@ -1,18 +1,16 @@ - - - + + + - - - + - + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_irritated.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_irritated.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_irritated.svg Thu May 27 13:10:59 2010 +0300 @@ -1,28 +1,26 @@ - - - + + + - - - + - + - - - + + + - - - + + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_kissing.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_kissing.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_kissing.svg Thu May 27 13:10:59 2010 +0300 @@ -1,44 +1,42 @@ - - - + + + - - - + - + - - - + + + - + - - + + - - + + - + - - + + - - - - - - - + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_nerd.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_nerd.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_nerd.svg Thu May 27 13:10:59 2010 +0300 @@ -1,48 +1,46 @@ - - - + + + - - - + - + - - - + + + - - + + - - - + + + - - - + + + - - - - + + + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_neutral.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_neutral.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_neutral.svg Thu May 27 13:10:59 2010 +0300 @@ -1,58 +1,56 @@ - - - + + + - - - + - + - - - + + + - + - - + + - - - + + + - + - - + + - - + + - - - + + + - + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_sarcastic.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_sarcastic.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_sarcastic.svg Thu May 27 13:10:59 2010 +0300 @@ -1,66 +1,64 @@ - - - + + + - - - + - + - - - + + + - - + + - + - - + + - - - + + + - + - - + + - - + + - - - + + + - + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_sarcastic_mad.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_sarcastic_mad.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_sarcastic_mad.svg Thu May 27 13:10:59 2010 +0300 @@ -1,48 +1,46 @@ - - - + + + - - - + - + - - - + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_smile.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_smile.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_smile.svg Thu May 27 13:10:59 2010 +0300 @@ -1,38 +1,36 @@ - - - + + + - - - + - + - - - + + + - + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_surprised.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_surprised.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_surprised.svg Thu May 27 13:10:59 2010 +0300 @@ -1,66 +1,64 @@ - - - + + + - - - + - + - - - + + + - + - - + + - - - + + + - + - - + + - - + + - - - + + + - + - - + + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_tongue.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_tongue.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_tongue.svg Thu May 27 13:10:59 2010 +0300 @@ -1,47 +1,45 @@ - - - + + + - - - + - + - - - + + + - - - - + + + + - - + + - + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_unhappy.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_unhappy.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_unhappy.svg Thu May 27 13:10:59 2010 +0300 @@ -1,48 +1,46 @@ - - - + + + - - - + - + - - - + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_very_cool.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_very_cool.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_very_cool.svg Thu May 27 13:10:59 2010 +0300 @@ -1,56 +1,54 @@ - - - + + + - - - + - + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_wink.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_wink.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_wink.svg Thu May 27 13:10:59 2010 +0300 @@ -1,43 +1,41 @@ - - - + + + - - - + - + - - - + + + - + - - + + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_wink_grin.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_wink_grin.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_wink_grin.svg Thu May 27 13:10:59 2010 +0300 @@ -1,55 +1,53 @@ - - - + + + - - - + - + - - - + + + - + - - + + - - + + - - + + - - - - - - - + + + + + + + - - + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_wondering.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_wondering.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_smiley_wondering.svg Thu May 27 13:10:59 2010 +0300 @@ -1,44 +1,42 @@ - - - + + + - - - + - + - - - + + + - - - + + + - + - - + + - + - + - + - - + + - + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sound.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sound.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sound.svg Thu May 27 13:10:59 2010 +0300 @@ -1,33 +1,20 @@ - - - - - - + + + + + - - - - - - - - - - + + + - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_speaker.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_speaker.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_star_non_favourited.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_star_non_favourited.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_star_non_favourited.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_star_offline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_star_offline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_star_offline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,34 +1,26 @@ - - - + + + - - - + - - + + - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_swype.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_swype.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sync.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sync.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_sync.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,25 @@ - - - + + + - - - + - - + + - - - + + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_tag_inactive.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_tag_inactive.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_tag_inactive.svg Thu May 27 13:10:59 2010 +0300 @@ -1,21 +1,21 @@ - - - - + + + + + + + + + + + + + - - - - - + + - - - - - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_telephony_offline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_telephony_offline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_telephony_offline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,46 +1,38 @@ - - - + + + - - - + - - + + - - + + - + - - + + - + - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_text.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_text.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_text.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,19 @@ - - - + + + + + + + + + - - - - + + + + - - - - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_tick.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_tick.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_tick.svg Thu May 27 13:10:59 2010 +0300 @@ -1,16 +1,16 @@ - - - + + + - - - + + + + - - + + - - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_tip.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_tip.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_tip.svg Thu May 27 13:10:59 2010 +0300 @@ -1,48 +1,43 @@ - - - + + + - - - - - - - - + - - - + + + - - - - - - + - - - - - - - + + + + + + + - + - - - + + + - - - + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_todo.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_todo.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_todo.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,24 @@ - - - + + + - - - - - - - + + + + - - - - - + + + + + - - + + - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_todo_done.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_todo_done.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_todo_done.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,24 @@ - - - + + + - - - - - - - + + + + - - - - - + + + + + - - + + - - + + @@ -29,15 +26,10 @@ - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_unknown.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_unknown.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_unknown.svg Thu May 27 13:10:59 2010 +0300 @@ -1,25 +1,23 @@ - - - + + + - - - - + + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_unselected.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_unselected.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_unselected.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,17 @@ - - - - + + + + - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_unselected_highlight.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_unselected_highlight.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_unselected_highlight.svg Thu May 27 13:10:59 2010 +0300 @@ -1,33 +1,20 @@ - - - - + + + + - - - - - - - - - - - - - - - \ No newline at end of file + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_untrusted.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_untrusted.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_untrusted.svg Thu May 27 13:10:59 2010 +0300 @@ -1,36 +1,34 @@ - - - + + + - - - + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_url_address.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_url_address.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_url_address.svg Thu May 27 13:10:59 2010 +0300 @@ -1,42 +1,42 @@ - - - + + + - - - - - - + + + + - - - - - - - + + + + + + + - - - - - + + + + + - - - - - + + + + + + - - - - - + + + + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_url_address_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_url_address_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_url_address_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,56 +1,56 @@ - - - + + + - - - - - - + + + + - - - - - - - + + + + + + + - - - - - + + + + + - - - - - + + + + + + - - - - - + + + + + + - + - + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_url_address_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_url_address_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_url_address_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,59 +1,57 @@ - - - + + + - - - - - - + + + + - - - - - - - + + + + + + + - - - - - + + + + + - - - - - + + + + + + - - - - - + + + + + + - + - - - + - + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_video.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_video.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_video.svg Thu May 27 13:10:59 2010 +0300 @@ -1,19 +1,17 @@ - - - + + + - - - - + + - - + + @@ -26,9 +24,9 @@ - - - - + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_voip.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_voip.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_voip.svg Thu May 27 13:10:59 2010 +0300 @@ -1,58 +1,60 @@ - - - + + + - - - + - - - + + + - + - - - + + + - + - - - + + + + - - - + + + + - + - - - + + + - - - - + + + + + - + - - - - + + + + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_voip_home.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_voip_home.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_voip_home.svg Thu May 27 13:10:59 2010 +0300 @@ -1,72 +1,74 @@ - - - + + + - - - + - - - + + + - + - - - + + + - + - - - + + + + - - - + + + + - + - - - + + + - - - - + + + + + - + - - - - + + + + + - + - + - - + + - - - + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_voip_work.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_voip_work.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_voip_work.svg Thu May 27 13:10:59 2010 +0300 @@ -1,75 +1,75 @@ - - - + + + - - - + - - - + + + - + - - - + + + - + - - - + + + + - - - + + + + - + - - - + + + - - - - + + + + + - + - - - - + + + + + - + - - - + - + - - + + - - + + - + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_vpn.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_vpn.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_vpn.svg Thu May 27 13:10:59 2010 +0300 @@ -1,63 +1,55 @@ - - - + + + - - - - - + + + - + - - - + + + - + - - - + + + + - - - + + + + - + - - - - + - - - - - - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wifi.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wifi.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wifi.svg Thu May 27 13:10:59 2010 +0300 @@ -1,25 +1,25 @@ - - - + + + - - - - - - - - - - + + + - + + - + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wlan.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wlan.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wlan.svg Thu May 27 13:10:59 2010 +0300 @@ -1,27 +1,27 @@ - - - + + + - - - - - - - - - - - - + + + + + + + + + + + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wlan_offline.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wlan_offline.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wlan_offline.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,20 @@ - - - + + + - - - - + + - - - - - - + + + + + + @@ -25,21 +23,15 @@ - + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wlan_secure.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wlan_secure.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_small_wlan_secure.svg Thu May 27 13:10:59 2010 +0300 @@ -1,22 +1,20 @@ - - - + + + - - - - + + - - - - - - + + + + + + @@ -26,30 +24,22 @@ - + - - - - + - - - - - - - + + - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_battery.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_battery.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_battery.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_bluetooth.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_bluetooth.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_bluetooth.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_egprs.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_egprs.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_egprs.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_gps.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_gps.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_gps.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_hsdpa.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_hsdpa.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_hsdpa.svg Thu May 27 13:10:59 2010 +0300 @@ -1,15 +1,9 @@ - - - - + + + - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_missed_call.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_missed_call.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_missed_call.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_new_email.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_new_email.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_new_email.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_new_im.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_new_im.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_new_im.svg Thu May 27 13:10:59 2010 +0300 @@ -1,13 +1,8 @@ - - - - + + + - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_new_message.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_new_message.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_new_message.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_offline.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_offline.svg Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,7 @@ + + + + + + + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_progress.axml --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_progress.axml Fri May 14 16:09:54 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ - - - - - - - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_signal.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_signal.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_signal.svg Thu May 27 13:10:59 2010 +0300 @@ -1,9 +1,6 @@ - - - - + + + - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_wcdma.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_wcdma.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_wcdma.svg Thu May 27 13:10:59 2010 +0300 @@ -1,11 +1,7 @@ - - - - + + + - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_wlan.svg --- a/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_wlan.svg Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/icons/hbdefault/scalable/qtg_status_wlan.svg Thu May 27 13:10:59 2010 +0300 @@ -1,17 +1,10 @@ - - - - + + + - - - - - - - \ No newline at end of file + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbmessageboxcontentwidget/hbmessageboxcontentwidget.css --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbmessageboxcontentwidget/hbmessageboxcontentwidget.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbmessageboxcontentwidget/hbmessageboxcontentwidget.css Thu May 27 13:10:59 2010 +0300 @@ -6,6 +6,8 @@ HbMessageBoxContentWidget[hasIcon="false"]{ layout: text_layout; } + + HbMessageBoxContentWidget::text { top: -var(hb-param-margin-gene-popup); bottom: var(hb-param-margin-gene-popup); @@ -15,9 +17,17 @@ text-height:var(hb-param-text-height-primary); text-line-count-max: 5; text-line-count-min: 3; - text-align: left; + text-align: left; } +HbMessageBoxContentWidget::text[hasIcon="true"] +{ + fixed-width: expr(var(hb-param-screen-short-edge)-4*var(hb-param-margin-gene-screen)-var(hb-param-graphic-size-primary-large)) +} +HbMessageBoxContentWidget::text[hasIcon="false"] +{ + fixed-width: expr(var(hb-param-screen-short-edge)-2*var(hb-param-margin-gene-screen)) +} HbMessageBoxContentWidget::icon { top: -var(hb-param-margin-gene-popup); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbpushbutton/hbpushbutton.css --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbpushbutton/hbpushbutton.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbpushbutton/hbpushbutton.css Thu May 27 13:10:59 2010 +0300 @@ -1,5 +1,6 @@ -HbPushButton{ + HbPushButton{ layout:icon_button; + min-width:expr(var(hb-param-margin-gene-left)+var(hb-param-margin-gene-right)+var(hb-param-graphic-size-function)); } /* @@ -7,22 +8,20 @@ */ HbPushButton[!icon][!text][!additionalText]{ min-height:expr(var(hb-param-margin-gene-top)+var(hb-param-margin-gene-bottom)+var(hb-param-text-height-secondary)); - min-width:expr(var(hb-param-margin-gene-left)+var(hb-param-margin-gene-right)+var(hb-param-graphic-size-function)); } - /* specifying the min-height for icon only layout as icon has pref-height. specifying the min-width for icon only layout as icon has pref-width. */ HbPushButton[icon][!text][!additionalText]{ layout:icon_button; - min-height:expr(var(hb-param-margin-gene-top)+var(hb-param-margin-gene-bottom)+var(hb-param-text-height-secondary)); - min-width:expr(var(hb-param-margin-gene-left)+var(hb-param-margin-gene-right)+var(hb-param-graphic-size-function)); + min-height:expr(var(hb-param-margin-gene-top)+var(hb-param-margin-gene-bottom)+var(hb-param-text-height-secondary));/* we are specifying pref -height for icon ,so need to see what could be min height so that it will suits for all usecases*/ } HbPushButton[text][!icon][!additionalText]{ layout:text_button; + min-height:expr(var(hb-param-margin-gene-top)+var(hb-param-margin-gene-bottom)+var(hb-param-text-height-secondary)); } /* specifying the min-height for icon + text vertical layout as icon has pref-height. @@ -30,24 +29,27 @@ HbPushButton[!stretched][icon][text][!additionalText]{ layout:icon_text_Vertical; - min-height:expr(var(hb-param-margin-gene-top)+var(hb-param-margin-gene-bottom)+var(hb-param-text-height-secondary)); - /*min-width:expr(var(hb-param-margin-gene-left) + var(hb-param-margin-gene-right) + var(hb-param-graphic-size-function));*/ + min-height:expr(var(hb-param-margin-gene-center-align)+var(hb-param-margin-gene-center-align)+var(hb-param-margin-gene-middle-vertical)+var(hb-param-text-height-tiny)); /* we are using pref height for icon, so not included in calculation*/ } HbPushButton[stretched][icon][text][!additionalText]{ layout:icon_text_Horizontal; + min-height:expr(var(hb-param-margin-gene-top)+var(hb-param-margin-gene-bottom)+ var(hb-param-graphic-size-function)); } HbPushButton[!stretched][icon][text][additionalText]{ - layout:icon_text_additionalText_vertical; + layout:icon_text_additionalText_vertical; + min-height:expr(var(hb-param-margin-gene-top)+var(hb-param-margin-gene-bottom)+ var(hb-param-graphic-size-primary-large)); } HbPushButton[stretched][icon][text][additionalText]{ layout:icon_text_additionalText_horizontal; + min-height:expr(var(hb-param-margin-gene-top)+var(hb-param-margin-gene-bottom)+ var(hb-param-graphic-size-function)); } HbPushButton[!stretched][additionalText][text][!icon]{ - layout:text_additionalText_vertical; + layout:text_additionalText_vertical; + min-height:expr(var(hb-param-margin-gene-center-align)+var(hb-param-margin-gene-center-align)+var(hb-param-margin-gene-middle-vertical)+var(hb-param-text-height-title)+var(hb-param-text-height-tiny)); } /* diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbscreen/hbscreen.css --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbscreen/hbscreen.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbscreen/hbscreen.css Thu May 27 13:10:59 2010 +0300 @@ -81,6 +81,20 @@ fixed-height: expr((2/3)*var(hb-param-widget-chrome-height)); } +HbScreen::titlebar[titleBarMinimizable="true"]::right-to-left{ + left: 0un; + right: -expr((1/3)*var(hb-param-widget-chrome-height)); + top: 0un; + fixed-height: expr((2/3)*var(hb-param-widget-chrome-height)); +} + +HbScreen::titlebar[titleBarMinimizable="false"]::right-to-left{ + left: 0un; + right: 0un; + top: 0un; + fixed-height: expr((2/3)*var(hb-param-widget-chrome-height)); +} + HbScreen::navi{ fixed-height: 7.5un; size-policy-horizontal:preferred; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslider/hbslider.css --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslider/hbslider.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslider/hbslider.css Thu May 27 13:10:59 2010 +0300 @@ -1,14 +1,10 @@ -HbSlider[orientation="Horizontal"][TickLabelPresent] + +HbSlider[orientation="Horizontal"] { - layout:slider_horizontal_withticklabel; -} - -HbSlider[orientation="Horizontal"][!TickLabelPresent] -{ - layout:slider_horizontal_withoutticklabel; + layout:slider_horizontal; min-height:expr(2*var(hb-param-widget-slider-thumb-width)); } -/*HbVolumeSliderPopup > HbSliderPopupContentWidget > HbSlider[orientation="Vertical"]::control:portrait +HbVolumeSliderPopup > HbSliderPopupContentWidget > HbSlider[orientation="Vertical"]::control:portrait { min-height:25un; min-width:0.0un; @@ -22,7 +18,7 @@ min-width:0.0un; size-policy-horizontal:fixed; size-policy-vertical:minimum-expanding; -}*/ +} HbSlider[orientation="Vertical"]::control { @@ -30,6 +26,10 @@ min-width:0.0un; size-policy-horizontal:fixed; size-policy-vertical:minimum-expanding; + top:-var(hb-param-margin-gene-top); + bottom:var(hb-param-margin-gene-bottom); + left:-var(hb-param-margin-gene-middle-horizontal); + right:var(hb-param-margin-gene-middle-horizontal); } @@ -41,14 +41,9 @@ size-policy-horizontal:minimum-expanding; } -HbSlider[orientation="Vertical"][TickLabelPresent] +HbSlider[orientation="Vertical"] { - layout:slider_vertical_withticklabel; -} - -HbSlider[orientation="Vertical"][!TickLabelPresent] -{ - layout:slider_vertical_withoutticklabel; + layout:slider_vertical; min-width:expr(2*var(hb-param-widget-slider-thumb-width)); } @@ -121,15 +116,13 @@ { right:var(hb-param-margin-gene-right); } -HbSlider[orientation="Vertical"]::control -{ - top:-var(hb-param-margin-gene-top); - bottom:var(hb-param-margin-gene-bottom); -} + HbSlider[orientation="Horizontal"]::control { left:-var(hb-param-margin-gene-left); right:var(hb-param-margin-gene-right); + top:-var(hb-param-margin-gene-middle-horizontal); + bottom:var(hb-param-margin-gene-middle-horizontal); } HbSlider[orientation="Vertical"]::decrement-icon { @@ -182,9 +175,86 @@ HbSlider::spacerLeft{ size-policy-horizontal: expanding; } + +HbSlider::spacerTextRight{ + size-policy-horizontal: expanding; +} +HbSlider::spacerTextLeft{ + size-policy-horizontal: expanding; +} HbSlider::spacerTop{ size-policy-vertical: expanding; } HbSlider::spacerBottom{ size-policy-vertical: expanding; } + + +/*Ticks left vertical*/ +HbSlider::tick-marksleft +{ + left:-var(hb-param-margin-gene-middle-horizontal); + top:0.0un; + bottom:0.0un; + fixed-width:1.0un; + size-policy-vertical:preferred; + +} + +HbSlider::tick-textsleft +{ + top:0.0un; + bottom:0.0un; + left:-var(hb-param-margin-gene-popup); + fixed-width:7.5un; + size-policy-vertical:preferred; + +} +/*Ticks right vertical*/ +HbSlider::tick-marksright +{ + + right:var(hb-param-margin-gene-middle-horizontal); + fixed-width:1.0un; + size-policy-vertical:preferred; + +} + +HbSlider::tick-textsright +{ + fixed-width:7.5un; + size-policy-vertical:preferred; + right:var(hb-param-margin-gene-popup); +} +/*Ticks above horizontal*/ +HbSlider::tick-marksabove +{ + top:-var(hb-param-margin-gene-middle-vertical); + bottom:var(hb-param-margin-gene-middle-vertical); + fixed-height:1.0un; + size-policy-horizontal:preferred; + +} + +HbSlider::tick-textsabove +{ + fixed-height:var(hb-param-text-height-tiny); + size-policy-horizontal:preferred; + +} +/*Ticks below horizontal*/ +HbSlider::tick-marksbelow +{ + top:-var(hb-param-margin-gene-middle-vertical); + bottom:var(hb-param-margin-gene-middle-vertical); + fixed-height:1.0un; + size-policy-horizontal:preferred; + +} + +HbSlider::tick-textsbelow +{ + fixed-height:var(hb-param-text-height-tiny); + size-policy-horizontal:preferred; +} + diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslider/hbslider.widgetml --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslider/hbslider.widgetml Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslider/hbslider.widgetml Thu May 27 13:10:59 2010 +0300 @@ -1,126 +1,102 @@ - + + + + + + + + + + + + + + + + + - - + + + + - + + + - + - + - + + + + + + + + + + + - - - - - - - - - - - + + + - - - - - - - - - + + + - - - - - - - - - - - - - + + - - - + + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslidercontrol/hbslidercontrol.css --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslidercontrol/hbslidercontrol.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslidercontrol/hbslidercontrol.css Thu May 27 13:10:59 2010 +0300 @@ -56,71 +56,4 @@ } -/*Ticks left vertical*/ -HbSliderControl::tick-marksleft -{ - right:var(hb-param-margin-gene-middle-horizontal); - left:-var(hb-param-margin-gene-middle-horizontal); - top:0.0un; - bottom:0.0un; - fixed-width:1.0un; - size-policy-vertical:preferred; -} - -HbSliderControl::tick-textsleft -{ - top:0.0un; - bottom:0.0un; - fixed-width:7.5un; - size-policy-vertical:preferred; - -} -/*Ticks right vertical*/ -HbSliderControl::tick-marksright -{ - left:-var(hb-param-margin-gene-middle-horizontal); - right:var(hb-param-margin-gene-middle-horizontal); - fixed-width:1.0un; - size-policy-vertical:preferred; - -} - -HbSliderControl::tick-textsright -{ - fixed-width:7.5un; - size-policy-vertical:preferred; - -} -/*Ticks above horizontal*/ -HbSliderControl::tick-marksabove -{ - top:-var(hb-param-margin-gene-middle-vertical); - bottom:var(hb-param-margin-gene-middle-vertical); - fixed-height:1.0un; - size-policy-horizontal:preferred; - -} - -HbSliderControl::tick-textsabove -{ - fixed-height:var(hb-param-text-height-tiny); - size-policy-horizontal:preferred; - -} -/*Ticks below horizontal*/ -HbSliderControl::tick-marksbelow -{ - top:-var(hb-param-margin-gene-middle-vertical); - bottom:var(hb-param-margin-gene-middle-vertical); - fixed-height:1.0un; - size-policy-horizontal:preferred; - -} - -HbSliderControl::tick-textsbelow -{ - fixed-height:var(hb-param-text-height-tiny); - size-policy-horizontal:preferred; -} - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslidercontrol/hbslidercontrol.widgetml --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslidercontrol/hbslidercontrol.widgetml Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslidercontrol/hbslidercontrol.widgetml Thu May 27 13:10:59 2010 +0300 @@ -1,53 +1,29 @@ - - - - - - - - - - + - + + - - - - + + + - - - - - - - - - - - - - - - - - + + + - @@ -57,13 +33,6 @@ - - - - - - - \ No newline at end of file diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbsliderpopupcontentwidget/hbsliderpopupcontentwidget.css --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbsliderpopupcontentwidget/hbsliderpopupcontentwidget.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbsliderpopupcontentwidget/hbsliderpopupcontentwidget.css Thu May 27 13:10:59 2010 +0300 @@ -3,14 +3,6 @@ layout:slider_popup; } -/* popup slider*/ -HbSliderPopupContentWidget::slider -{ - top:-var(hb-param-margin-gene-popup); - left:-var(hb-param-margin-gene-popup); - bottom:var(hb-param-margin-gene-popup); - right:var(hb-param-margin-gene-popup); -} diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslidertickmarks/hbslidertickmarks.css --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslidertickmarks/hbslidertickmarks.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbslidertickmarks/hbslidertickmarks.css Thu May 27 13:10:59 2010 +0300 @@ -1,4 +1,4 @@ -HbSliderControl[orientation="Horizontal"] > HbSliderTickmarks +HbSlider[orientation="Horizontal"] > HbSliderTickmarks { fixed-width-major: 0.5un; fixed-height-major: 1un; @@ -8,7 +8,7 @@ -HbSliderControl[orientation="Vertical"] > HbSliderTickmarks +HbSlider[orientation="Vertical"] > HbSliderTickmarks { fixed-height-major: 0.5un; fixed-width-major: 1un; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbstatusbar/hbstatusbar.css --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbstatusbar/hbstatusbar.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbstatusbar/hbstatusbar.css Thu May 27 13:10:59 2010 +0300 @@ -1,7 +1,7 @@ HbStatusBar { layout:default; - mirroring: disabled; + layout-direction: left-to-right; } HbStatusBar::timetext diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbtitlebar/hbtitlebar.css --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbtitlebar/hbtitlebar.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbtitlebar/hbtitlebar.css Thu May 27 13:10:59 2010 +0300 @@ -1,7 +1,7 @@ HbTitleBar { layout:default; - mirroring: disabled; + layout-direction: left-to-right; } HbTitleBar::status{ diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbtumbleview/hbtumbleview.css --- a/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbtumbleview/hbtumbleview.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/rules/widgets/hbtumbleview/hbtumbleview.css Thu May 27 13:10:59 2010 +0300 @@ -6,12 +6,12 @@ HbTumbleView[scrollDirections="Horizontal"] { layout:tumble-layout; - min-width: 1un; + min-width: 1un;/*Need this for uniform tumbler widths, when grouped together*/ } HbTumbleView[scrollDirections="Vertical"] { layout:tumble-layout; - min-width: 1un; + min-width: 1un;/*Need this for uniform tumbler widths, when grouped together*/ } HbTumbleView::highlight { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/resources/themes/style/hbdefault/variables/color/hbcolorgroup.css --- a/src/hbcore/resources/themes/style/hbdefault/variables/color/hbcolorgroup.css Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/resources/themes/style/hbdefault/variables/color/hbcolorgroup.css Thu May 27 13:10:59 2010 +0300 @@ -1,8 +1,63 @@ +/* Application specific color groups */ + + +@variables +{ +/* 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 */ +qtc_conv_list_dimmed:#787878; /* Added 26.03.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 */ +qtc_hs_badge:#FFFFFF; /* Added 01.03.2010 */ +qtc_hs_cal:#3C3C3C; /* Added 18.03.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 */ +qtc_multimedia_trans_disabled:#787878; /* Added 09.03.2010 */ +} + /* Widget color groups */ - @variables + +@variables { - /* Default palette */ qtc_default_decor_normal:#3C3C3C; qtc_default_decor_pressed:#FFFFFF; @@ -172,55 +227,5 @@ 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 */ - - -/* 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 */ -qtc_conv_list_dimmed:#787878; /* Added 26.03.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 */ -qtc_hs_badge:#FFFFFF; /* Added 01.03.2010 */ -qtc_hs_cal:#3C3C3C; /* Added 18.03.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 */ -qtc_multimedia_trans_disabled:#787878; /* Added 09.03.2010 */ - -} diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyle.cpp --- a/src/hbcore/style/hbstyle.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyle.cpp Thu May 27 13:10:59 2010 +0300 @@ -3322,7 +3322,7 @@ } } frameItem->frameDrawer().setFillWholeRect(true); - frameItem->update(); + //frameItem->update(); } break; case P_ProgressSlider_track: // The ProgressValue Mask @@ -3351,7 +3351,7 @@ frameItem->setValue(opt->progressSliderValue); frameItem->setInverted(opt->inverted); frameItem->setOrientation(opt->orientation); - frameItem->update(); + //frameItem->update(); } break; case P_ProgressBar_mintext: { @@ -4291,9 +4291,11 @@ HbWidgetBasePrivate::d_ptr(text)->setApiProtectionFlag(HbWidgetBasePrivate::AC_TextColor, false); } } - if(iconItem){ - //applying color to mono-colorised icons from theme - iconItem->setColor( col ); + if (iconItem) { + // Applying color to mono-colorised icons from theme. Using setColor() + // here would be wrong. It would lead to loosing the user-supplied color + // in some cases so use the special setThemedColor() instead. + HbIconItemPrivate::d_ptr(iconItem)->setThemedColor( col ); } if(marqueeItem){ //applying color to the marquee-item from theme @@ -4425,13 +4427,13 @@ Available parameters can be found from hbglobalparameters.css. By using these parameters applications get consistent look. - \param variable Name of the global parameter. + \param param Name of the global parameter. \param value Returns value of the global parameter. \param profile Device profile of the used HbMainWindow. Primary display's. device profile HbDeviceProfile::current() is used if the value is omitted. - \return true if the variable were found. + \return true if the variable was found. */ -bool HbStyle::parameter(const QString& parameter, qreal& value, const HbDeviceProfile &profile) const +bool HbStyle::parameter(const QString& param, qreal& value, const HbDeviceProfile &profile) const { HbDeviceProfile effectiveProfile = profile; if ( effectiveProfile.isNull() ) { @@ -4442,23 +4444,23 @@ HbCss::ValueExtractor valueExtractor(d->layoutParameters, true, effectiveProfile); // todo: parsing variable/expression is done here so that there is no need to change API // also parameters method not changed (this change is done for docml/widgetml parsing) - if (parameter.startsWith("var(") && parameter.endsWith(")")) { - return valueExtractor.extractValue(parameter.mid(4,parameter.length()-5), value); - } else if (parameter.startsWith("-var(") && parameter.endsWith(")")) { - bool retVal = valueExtractor.extractValue(parameter.mid(5,parameter.length()-6), value); + if (param.startsWith("var(") && param.endsWith(")")) { + return valueExtractor.extractValue(param.mid(4,param.length()-5), value); + } else if (param.startsWith("-var(") && param.endsWith(")")) { + bool retVal = valueExtractor.extractValue(param.mid(5,param.length()-6), value); value = -value; return retVal; - } else if (parameter.startsWith("expr(") && parameter.endsWith(")")) { - QString expressionString = parameter.mid(5,parameter.length()-6); + } else if (param.startsWith("expr(") && param.endsWith(")")) { + QString expressionString = param.mid(5,param.length()-6); return valueExtractor.extractExpressionValue(expressionString, value); - } else if (parameter.startsWith("-expr(") && parameter.endsWith(")")) { - QString expressionString = parameter.mid(6,parameter.length()-7); + } else if (param.startsWith("-expr(") && param.endsWith(")")) { + QString expressionString = param.mid(6,param.length()-7); bool retVal = valueExtractor.extractExpressionValue(expressionString, value); value = -value; return retVal; } - return valueExtractor.extractValue(parameter, value); + return valueExtractor.extractValue(param, value); } /*! @@ -4469,12 +4471,12 @@ parameters applications get consistent look. Usage of this API (instead of parameter) is recommended if an application needs to fetch several parameters in one place. - \param parameters Contains names and values of all global style parameters. + \param params Contains names and values of all global style parameters. \param profile Device profile of the used HbMainWindow. Primary display's device profile HbDeviceProfile::current() is used if the value is omitted. */ -void HbStyle::parameters(HbStyleParameters ¶meters, const HbDeviceProfile &profile) const +void HbStyle::parameters(HbStyleParameters ¶ms, const HbDeviceProfile &profile) const { HbDeviceProfile effectiveProfile = profile; if ( effectiveProfile.isNull() ) { @@ -4488,12 +4490,62 @@ QHash::const_iterator i = d->layoutParameters.constBegin(); while (i != d->layoutParameters.constEnd()) { if (valueExtractor.extractValue(i.key(), value)) { - parameters.addParameter(i.key(), value); + params.addParameter(i.key(), value); } ++i; } } +/*! + Returns values for widget specific style parameters. The names of the parameters + are passed in with \a params. + + This method should be used only if you need to access widget specific parameters out + of the polish loop. It is more efficient to use HbWidget::polish(HbStyleParameters ¶ms) + if you don't need to access the parameters before the (first) polish event. + + \param parameters, style parameters to be returned to the caller + \param widget, HbWidget to be polished + \sa HbStyle::polish, HbStyle::parameters and HbWidget::polish +*/ +void HbStyle::widgetParameters(HbStyleParameters ¶ms, HbWidget* widget) const +{ + Q_D( const HbStyle ); + if( !widget || !params.count() ) { + return; + } +#ifdef HBSTYLE_DEBUG + qDebug() << "HbStyle::widgetParameters : Parameters for" << widget->metaObject()->className(); +#endif + + HbLayeredStyleLoader *styleLoader = HbLayeredStyleLoader::getStack(HbLayeredStyleLoader::Concern_Layouts); + if(!styleLoader){ +#ifdef HBSTYLE_DEBUG + qDebug() << "HbStyle::widgetParameters : HbLayeredStyleLoader returned a null pointer."; +#endif + return; + } + HbDeviceProfile profile(HbDeviceProfile::profile(widget)); + NODEPTR_N(widget); + + HbVector styleRules = styleLoader->styleRulesForNode(n, profile.orientation()); + +#ifdef HBSTYLE_DEBUG + qDebug() << "HbStyle::widgetParameters : Number of style rules:" << styleRules.count(); +#endif + if (!styleRules.count()) { + return; + } + const HbVector decl = declarations(styleRules, "", widget, profile); +#ifdef HBSTYLE_DEBUG + qDebug() << "HbStyle::widgetParameters : Number of maching CSS declarations: " << decl.count(); +#endif + d->ensureLayoutParameters(profile); + + HbCss::ValueExtractor extractor(decl, d->layoutParameters, profile); + extractor.extractParameters( params.params(), params.values() ); +} + /*! \internal @@ -4537,33 +4589,41 @@ */ QString HbStylePrivate::logicalName(HbStyle::Primitive primitive, const QStyleOption *option) const { - switch(primitive){ - case HbStyle::P_Slider_thumb:{ + switch (primitive) { + + case HbStyle::P_Slider_thumb: { const HbStyleOptionSlider *opt = qstyleoption_cast(option); - QString iconPath; - - switch (opt->orientation){ - case Qt::Horizontal:{ - if( opt->state&QStyle::State_Sunken) - iconPath= "qtg_graf_slider_h_handle_pressed"; - else - iconPath= "qtg_graf_slider_h_handle_normal"; - return (iconPath); - } - case Qt::Vertical:{ - if( opt->state&QStyle::State_Sunken) - iconPath= "qtg_graf_slider_v_handle_pressed"; - else - iconPath= "qtg_graf_slider_v_handle_normal"; - return (iconPath); - } - default: break; + if (opt) { + QString iconPath; + switch (opt->orientation) { + + case Qt::Horizontal: + if (opt->state & QStyle::State_Sunken) + iconPath = "qtg_graf_slider_h_handle_pressed"; + else + iconPath = "qtg_graf_slider_h_handle_normal"; + return iconPath; + + case Qt::Vertical: + if (opt->state & QStyle::State_Sunken) + iconPath = "qtg_graf_slider_v_handle_pressed"; + else + iconPath = "qtg_graf_slider_v_handle_normal"; + return iconPath; + + default: + break; + + } } } - default: break; + + default: + break; + } -return QString(); + return QString(); } /*! diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyle.h --- a/src/hbcore/style/hbstyle.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyle.h Thu May 27 13:10:59 2010 +0300 @@ -229,8 +229,10 @@ static void setItemName( QGraphicsItem *item, const QString &name ); static QString itemName( const QGraphicsItem *item ); - bool parameter(const QString ¶meter, qreal &value, const HbDeviceProfile &profile = HbDeviceProfile()) const; - void parameters(HbStyleParameters ¶meters, const HbDeviceProfile &profile = HbDeviceProfile()) const; + bool parameter(const QString ¶m, qreal &value, const HbDeviceProfile &profile = HbDeviceProfile()) const; + void parameters(HbStyleParameters ¶ms, const HbDeviceProfile &profile = HbDeviceProfile()) const; + + void widgetParameters(HbStyleParameters ¶ms, HbWidget* widget) const; protected: friend class HbWidget; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoption.cpp --- a/src/hbcore/style/hbstyleoption.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoption.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,11 +25,7 @@ #include -/*! - - \deprecated HbStyleOption::HbStyleOption(int, int) - is deprecated. Styleoptions will not be public. - +/* \class HbStyleOption \brief HbStyleOption is the base class for all Hbwidgets Style Options */ diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoption_p.h --- a/src/hbcore/style/hbstyleoption_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoption_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOption : public QStyleOptionGraphicsItem { public: @@ -89,7 +89,7 @@ enum StyleOptionType { Type = HbSO_Widget }; enum StyleOptionVersion { Version = 1 }; - QFont font; // DEPRECATED + QFont font; QRectF boundingRect; }; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionabstractviewitem.cpp --- a/src/hbcore/style/hbstyleoptionabstractviewitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionabstractviewitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -29,18 +29,18 @@ #include -/*! +/* \class HbStyleOptionAbstractViewItem \brief HbStyleOptionAbstractViewItem has the style component for abstract view item primitives */ -/*! +/* \var HbStyleOptionAbstractViewItem::checkState This variable holds what is the checkstate of the item. */ -/*! +/* \var HbStyleOptionAbstractViewItem::background This variable holds content (if any) that is set as item's background. @@ -48,10 +48,8 @@ Default value is NULL variant. */ -/*! +/* \var HbStyleOptionAbstractViewItem::itemName - \deprecated HbStyleOptionAbstractViewItem::itemName - is deprecated. This variable will cease to exist in near future. HbStyleOptionListViewItem::itemNameIndex replaces this variable. This variable holds content item name of the primitive item required by css/xml layouting. @@ -59,7 +57,7 @@ */ -/*! +/* \var HbStyleOptionAbstractViewItem::modelItemType This variable holds what is the type of the model item that view item is representing. @@ -67,7 +65,7 @@ Default value is Hb::StandardItem. */ -/*! +/* \var HbStyleOptionAbstractViewItem::viewItemType This variable holds what is the type of the view item. This is value returned by QGraphicsItem::type(). @@ -75,13 +73,13 @@ Default is Hb::ItemType_Last+1 */ -/*! +/* \var HbStyleOptionAbstractViewItem::index The model index that the view item represents. */ -/*! +/* \var HbStyleOptionAbstractViewItem::singleSelectionMode This variable holds information whether HbAbstractItemView::SelectionMode mode is used. If it is used, set this variable On. @@ -90,17 +88,11 @@ mode is in use. */ -/*! \var HbStyleOptionAbstractViewItem::insidePopup +/* \var HbStyleOptionAbstractViewItem::insidePopup Indicates whether widget and its children (classes derived from HbWidgetBase) are inside popup. */ -/*! - \deprecated HbStyleOptionAbstractViewItem::HbStyleOptionAbstractViewItem() - is deprecated. Styleoptions will not be public. - -*/ - HbStyleOptionAbstractViewItem::HbStyleOptionAbstractViewItem() : HbStyleOption(), modelItemType(Hb::StandardItem), @@ -111,13 +103,6 @@ type = Type; version = Version; } - -/*! - \deprecated HbStyleOptionAbstractViewItem::HbStyleOptionAbstractViewItem(const HbStyleOptionAbstractViewItem&) - is deprecated. Styleoptions will not be public. - -*/ - HbStyleOptionAbstractViewItem::HbStyleOptionAbstractViewItem(const HbStyleOptionAbstractViewItem &other) : HbStyleOption(other), checkState(other.checkState), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionabstractviewitem_p.h --- a/src/hbcore/style/hbstyleoptionabstractviewitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionabstractviewitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -31,7 +31,7 @@ #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionAbstractViewItem : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionbatteryindicator.cpp --- a/src/hbcore/style/hbstyleoptionbatteryindicator.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionbatteryindicator.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,11 +25,8 @@ #include "hbstyleoptionbatteryindicator_p.h" -/*! - - \deprecated HbStyleOptionBatteryIndicator::HbStyleOptionBatteryIndicator() - is deprecated. Styleoptions will not be public. - +/* + \class HbStyleOptionBatteryIndicator \brief HbStyleOptionBatteryIndicator has the style component for battery indicator */ @@ -43,12 +40,6 @@ version = Version; } -/*! - - \deprecated HbStyleOptionBatteryIndicator::HbStyleOptionBatteryIndicator(const HbStyleOptionBatteryIndicator&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionBatteryIndicator::HbStyleOptionBatteryIndicator(const HbStyleOptionBatteryIndicator &other) : HbStyleOption(other), batteryLevel(other.batteryLevel), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptioncheckbox.cpp --- a/src/hbcore/style/hbstyleoptioncheckbox.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptioncheckbox.cpp Thu May 27 13:10:59 2010 +0300 @@ -26,27 +26,16 @@ #include -/*! +/* \class HbStyleOptionCheckBox \brief HbStyleOptionCheckBox has the style component for checkbox primitives */ - - -/*! - \deprecated HbStyleOptionCheckBox::HbStyleOptionCheckBox() - is deprecated. Styleoptions will not be public. -*/ - HbStyleOptionCheckBox::HbStyleOptionCheckBox() { type = Type; version = Version; } -/*! - \deprecated HbStyleOptionCheckBox::HbStyleOptionCheckBox(const HbStyleOptionCheckBox&) - is deprecated. Styleoptions will not be public. -*/ HbStyleOptionCheckBox::HbStyleOptionCheckBox(const HbStyleOptionCheckBox &other) : HbStyleOption(other), text(other.text) diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptioncheckbox_p.h --- a/src/hbcore/style/hbstyleoptioncheckbox_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptioncheckbox_p.h Thu May 27 13:10:59 2010 +0300 @@ -28,7 +28,7 @@ #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionCheckBox : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptioncolorgridviewitem.cpp --- a/src/hbcore/style/hbstyleoptioncolorgridviewitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptioncolorgridviewitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,16 +25,11 @@ #include -/*! +/* \class HbStyleOptionColorGridViewItem \brief HbStyleOptionColorGridViewItem has the style component for color grid view item primitives */ -/*! - - \deprecated HbStyleOptionColorGridViewItem::HbStyleOptionColorGridViewItem() - is deprecated. Styleoptions will not be public. -*/ HbStyleOptionColorGridViewItem::HbStyleOptionColorGridViewItem() : HbStyleOptionGridViewItem(), color(Qt::black), @@ -44,11 +39,7 @@ type = Type; version = Version; } -/*! - \deprecated HbStyleOptionColorGridViewItem::HbStyleOptionColorGridViewItem(const HbStyleOptionColorGridViewItem&) - is deprecated. Styleoptions will not be public. -*/ HbStyleOptionColorGridViewItem::HbStyleOptionColorGridViewItem(const HbStyleOptionColorGridViewItem &other) : HbStyleOptionGridViewItem(other), color(other.color), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptioncolorgridviewitem_p.h --- a/src/hbcore/style/hbstyleoptioncolorgridviewitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptioncolorgridviewitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -28,7 +28,7 @@ #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionColorGridViewItem : public HbStyleOptionGridViewItem { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptioncombobox.cpp --- a/src/hbcore/style/hbstyleoptioncombobox.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptioncombobox.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,32 +25,23 @@ #include -/*! +/* \class HbStyleOptionComboBox \brief HbStyleOptionComboBox has the style component for label primitives */ -/*! +/* \var HbStyleOptionLabel::text Text shown in the comboBox, if not NULL. */ -/*! - - \deprecated HbStyleOptionComboBox::HbStyleOptionComboBox() - is deprecated. Styleoptions will not be public. -*/ HbStyleOptionComboBox::HbStyleOptionComboBox() : HbStyleOption(HbSO_Combo) { type = Type; version = Version; } -/*! - \deprecated HbStyleOptionComboBox::HbStyleOptionComboBox(const HbStyleOptionComboBox&) - is deprecated. Styleoptions will not be public. -*/ HbStyleOptionComboBox::HbStyleOptionComboBox(const HbStyleOptionComboBox &other) : HbStyleOption(other), text(other.text) diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptioncombobox_p.h --- a/src/hbcore/style/hbstyleoptioncombobox_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptioncombobox_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionComboBox : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiondataform.cpp --- a/src/hbcore/style/hbstyleoptiondataform.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiondataform.cpp Thu May 27 13:10:59 2010 +0300 @@ -26,20 +26,12 @@ #include -/*! - \deprecated HbStyleOptionDataForm::HbStyleOptionDataForm() - is deprecated. Styleoptions will not be public. -*/ HbStyleOptionDataForm::HbStyleOptionDataForm() : HbStyleOption(HbSO_DataForm) { type = Type; version = Version; } -/*! - \deprecated HbStyleOptionDataForm::HbStyleOptionDataForm(const HbStyleOptionDataForm&) - is deprecated. Styleoptions will not be public. -*/ HbStyleOptionDataForm::HbStyleOptionDataForm(const HbStyleOptionDataForm &other) : HbStyleOption(other), heading(other.heading), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiondataform_p.h --- a/src/hbcore/style/hbstyleoptiondataform_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiondataform_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionDataForm : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiondataformviewitem.cpp --- a/src/hbcore/style/hbstyleoptiondataformviewitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiondataformviewitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,17 +25,11 @@ #include -/*! +/* \class HbStyleOptionDataFormViewItem \brief HbStyleOptionDataFormViewItem has the style component for data item primitives */ -/*! - - \deprecated HbStyleOptionDataFormViewItem::HbStyleOptionDataFormViewItem() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionDataFormViewItem::HbStyleOptionDataFormViewItem() : HbStyleOption() @@ -44,12 +38,6 @@ version = Version; } -/*! - - \deprecated HbStyleOptionDataFormViewItem::HbStyleOptionDataFormViewItem(const HbStyleOptionDataFormViewItem&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionDataFormViewItem::HbStyleOptionDataFormViewItem(const HbStyleOptionDataFormViewItem &other) : HbStyleOption(other) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiondataformviewitem_p.h --- a/src/hbcore/style/hbstyleoptiondataformviewitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiondataformviewitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -28,7 +28,7 @@ #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionDataFormViewItem : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiondatagroup.cpp --- a/src/hbcore/style/hbstyleoptiondatagroup.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiondatagroup.cpp Thu May 27 13:10:59 2010 +0300 @@ -26,25 +26,12 @@ #include -/*! - - \deprecated HbStyleOptionDataGroup::HbStyleOptionDataGroup() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionDataGroup::HbStyleOptionDataGroup() : HbStyleOption(HbSO_DataGroup) { type = Type; version = Version; } -/*! - - \deprecated HbStyleOptionDataGroup::HbStyleOptionDataGroup(const HbStyleOptionDataGroup&) - is deprecated. Styleoptions will not be public. - -*/ - HbStyleOptionDataGroup::HbStyleOptionDataGroup(const HbStyleOptionDataGroup &other) : HbStyleOption(other), description(other.description) diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiondatagroup_p.h --- a/src/hbcore/style/hbstyleoptiondatagroup_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiondatagroup_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionDataGroup : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiondatagroupheadingwidget.cpp --- a/src/hbcore/style/hbstyleoptiondatagroupheadingwidget.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiondatagroupheadingwidget.cpp Thu May 27 13:10:59 2010 +0300 @@ -27,12 +27,7 @@ -/*! - \deprecated HbStyleOptionDataGroupHeadingWidget::HbStyleOptionDataGroupHeadingWidget() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionDataGroupHeadingWidget::HbStyleOptionDataGroupHeadingWidget() : expanded(false), pressed(false) @@ -41,12 +36,6 @@ version = Version; } -/*! - - \deprecated HbStyleOptionDataGroupHeadingWidget::HbStyleOptionDataGroupHeadingWidget(const HbStyleOptionDataGroupHeadingWidget&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionDataGroupHeadingWidget::HbStyleOptionDataGroupHeadingWidget(const HbStyleOptionDataGroupHeadingWidget &other) : HbStyleOption(other), heading(other.heading), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiondatagroupheadingwidget_p.h --- a/src/hbcore/style/hbstyleoptiondatagroupheadingwidget_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiondatagroupheadingwidget_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionDataGroupHeadingWidget : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiongridviewitem.cpp --- a/src/hbcore/style/hbstyleoptiongridviewitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiongridviewitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,31 +25,23 @@ #include "hbstyleoptiongridviewitem_p.h" -/*! +/* \class HbStyleOptionGridViewItem \brief HbStyleOptionGridViewItem has the style component for grid view item primitives */ -/*! +/* \var HbStyleOptionGridViewItem::text Text shown in the grid view item, if not NULL. */ -/*! +/* \var HbStyleOptionGridViewItem::icon Icon shown in the grid view item, if not NULL. */ - - -/*! - - \deprecated HbStyleOptionGridViewItem::HbStyleOptionGridViewItem() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionGridViewItem::HbStyleOptionGridViewItem() : HbStyleOptionAbstractViewItem() { @@ -57,12 +49,6 @@ version = Version; } -/*! - - \deprecated HbStyleOptionGridViewItem::HbStyleOptionGridViewItem(const HbStyleOptionGridViewItem&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionGridViewItem::HbStyleOptionGridViewItem(const HbStyleOptionGridViewItem &other) : HbStyleOptionAbstractViewItem(other) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiongridviewitem_p.h --- a/src/hbcore/style/hbstyleoptiongridviewitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiongridviewitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -32,7 +32,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionGridViewItem : public HbStyleOptionAbstractViewItem { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiongroupbox.cpp --- a/src/hbcore/style/hbstyleoptiongroupbox.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiongroupbox.cpp Thu May 27 13:10:59 2010 +0300 @@ -26,18 +26,12 @@ #include -/*! +/* \class HbStyleOptionGroupBox \brief HbStyleOptionGroupBox has the style component for GroupBox primitives */ -/*! - - \deprecated HbStyleOptionGroupBox::HbStyleOptionGroupBox() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionGroupBox::HbStyleOptionGroupBox(): collapsed(false), heading(QString()), @@ -48,12 +42,7 @@ version = Version; } -/*! - \deprecated HbStyleOptionGroupBox::HbStyleOptionGroupBox(const HbStyleOptionGroupBox&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionGroupBox::HbStyleOptionGroupBox(const HbStyleOptionGroupBox &other) : HbStyleOption(other), collapsed( other.collapsed ), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiongroupbox_p.h --- a/src/hbcore/style/hbstyleoptiongroupbox_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiongroupbox_p.h Thu May 27 13:10:59 2010 +0300 @@ -28,7 +28,7 @@ #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionGroupBox : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionindexfeedback.cpp --- a/src/hbcore/style/hbstyleoptionindexfeedback.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionindexfeedback.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,39 +25,32 @@ #include -/*! +/* \class HbStyleOptionIndexFeedback \brief HbStyleOptionIndexFeedback hsa the style components for index feedback primatives. */ -/*! +/* \var HbStyleOptionIndexFeedback::text Text shown in the indexFeedbackPopup, if not NULL. */ -/*! +/* \var HbStyleOptionIndexFeedback::fontSpec The font specification for text used in the index feedback. */ -/*! +/* \var HbStyleOptionIndexFeedback::textRect \brief The bounding rect for the text when displaying the index feedback. */ -/*! +/* \var HbStyleOptionIndexFeedback::popupRect \brief The bounding rect for the popup background when displaying index feedback. */ - -/*! - - \deprecated HbStyleOptionIndexFeedback::HbStyleOptionIndexFeedback() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionIndexFeedback::HbStyleOptionIndexFeedback() : fontSpec(HbFontSpec::Primary) { @@ -65,12 +58,6 @@ version = Version; } -/*! - - \deprecated HbStyleOptionIndexFeedback::HbStyleOptionIndexFeedback(const HbStyleOptionIndexFeedback&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionIndexFeedback::HbStyleOptionIndexFeedback(const HbStyleOptionIndexFeedback &other) : HbStyleOption(other), text(other.text), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionindexfeedback_p.h --- a/src/hbcore/style/hbstyleoptionindexfeedback_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionindexfeedback_p.h Thu May 27 13:10:59 2010 +0300 @@ -30,7 +30,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionIndexFeedback : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionindicatorbutton.cpp --- a/src/hbcore/style/hbstyleoptionindicatorbutton.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionindicatorbutton.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,31 +25,18 @@ #include "hbstyleoptionindicatorbutton_p.h" -/*! +/* \class HbStyleOptionIndicatorButton \brief HbStyleOptionIndicatorButton has the style component for the indicator button */ - - -/*! - - \deprecated HbStyleOptionIndicatorButton::HbStyleOptionIndicatorButton() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionIndicatorButton::HbStyleOptionIndicatorButton() : HbStyleOption(), mode(QIcon::Normal), transparent(false) { type = Type; version = Version; } -/*! - \deprecated HbStyleOptionIndicatorButton::HbStyleOptionIndicatorButton(const HbStyleOptionIndicatorButton&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionIndicatorButton::HbStyleOptionIndicatorButton(const HbStyleOptionIndicatorButton &other) : HbStyleOption(other), mode(other.mode), transparent(other.transparent) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionindicatorbutton_p.h --- a/src/hbcore/style/hbstyleoptionindicatorbutton_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionindicatorbutton_p.h Thu May 27 13:10:59 2010 +0300 @@ -28,7 +28,7 @@ #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionIndicatorButton : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionindicatorgroup.cpp --- a/src/hbcore/style/hbstyleoptionindicatorgroup.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionindicatorgroup.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,31 +25,17 @@ #include "hbstyleoptionindicatorgroup_p.h" -/*! +/* \class HbStyleOptionIndicatorGroup \brief HbStyleOptionIndicatorGroup has the style component for indicator group */ - -/*! - - \deprecated HbStyleOptionIndicatorGroup::HbStyleOptionIndicatorGroup() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionIndicatorGroup::HbStyleOptionIndicatorGroup() { type = Type; version = Version; } - -/*! - - \deprecated HbStyleOptionIndicatorGroup::HbStyleOptionIndicatorGroup(const HbStyleOptionIndicatorGroup&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionIndicatorGroup::HbStyleOptionIndicatorGroup(const HbStyleOptionIndicatorGroup &other) : HbStyleOption(other), iconName(other.iconName) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionindicatorgroup_p.h --- a/src/hbcore/style/hbstyleoptionindicatorgroup_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionindicatorgroup_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionIndicatorGroup : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptioninputdialog.cpp --- a/src/hbcore/style/hbstyleoptioninputdialog.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptioninputdialog.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,18 +25,11 @@ #include "hbstyleoptioninputdialog_p.h" -/*! +/* \class HbStyleOptionInputDialog \brief HbStyleOptionInputDialog has the style component for inpudialog primitives */ - -/*! - - \deprecated HbStyleOptionInputDialog::HbStyleOptionInputDialog() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionInputDialog::HbStyleOptionInputDialog() : HbStyleOptionPopup(), text(), @@ -46,13 +39,6 @@ version = Version; } - -/*! - - \deprecated HbStyleOptionInputDialog::HbStyleOptionInputDialog(const HbStyleOptionInputDialog&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionInputDialog::HbStyleOptionInputDialog(const HbStyleOptionInputDialog &other) : HbStyleOptionPopup(other), text(other.text), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptioninputdialog_p.h --- a/src/hbcore/style/hbstyleoptioninputdialog_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptioninputdialog_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionInputDialog : public HbStyleOptionPopup { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionlabel.cpp --- a/src/hbcore/style/hbstyleoptionlabel.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionlabel.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,43 +25,38 @@ #include -/*! +/* \class HbStyleOptionLabel \brief HbStyleOptionLabel has the style component for label primitives */ -/*! +/* \var HbStyleOptionLabel::text Text shown in the label, if not NULL. */ -/*! +/* \var HbStyleOptionLabel::alignment Alignment of text or icon in the bounding rectangular */ -/*! +/* \var HbStyleOptionLabel::elideMode Elide mode of the text. */ -/*! +/* \var HbStyleOptionLabel::icon Icon shown in the label, if not NULL. */ -/*! +/* \var HbStyleOptionLabel::aspectRatioMode Aspect ratio mode of icon. */ -/*! - \deprecated HbStyleOptionLabel::HbStyleOptionLabel() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionLabel::HbStyleOptionLabel() : HbStyleOption(HbSO_Label), text(), fontSpec(), /*HbFontSpec::Primary*/ @@ -75,13 +70,6 @@ version = Version; } - -/*! - - \deprecated HbStyleOptionLabel::HbStyleOptionLabel(const HbStyleOptionLabel&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionLabel::HbStyleOptionLabel(const HbStyleOptionLabel &other) : HbStyleOption(other), text(other.text), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionlabel_p.h --- a/src/hbcore/style/hbstyleoptionlabel_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionlabel_p.h Thu May 27 13:10:59 2010 +0300 @@ -33,7 +33,7 @@ #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionLabel : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionlistviewitem.cpp --- a/src/hbcore/style/hbstyleoptionlistviewitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionlistviewitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,13 +25,13 @@ #include "hbstyleoptionlistviewitem_p.h" -/*! +/* \class HbStyleOptionListViewItem \brief HbStyleOptionListViewItem has the style component for list view item primitives */ -/*! +/* \var HbStyleOptionListViewItem::content This variable holds content (if any) that is set as item's data. @@ -43,7 +43,7 @@ \sa HbStyleOptionListViewItem::primaryText */ -/*! +/* \var HbStyleOptionListViewItem::role Defines role of an model item, from which content is read. @@ -52,7 +52,7 @@ \sa HbStyleOptionListViewItem::content */ -/*! +/* \var HbStyleOptionListViewItem::index This variable holds index of the primitive item required by css/xml layouting, when @@ -66,7 +66,7 @@ Default value is 0. */ -/*! +/* \var HbStyleOptionListViewItem::minimumLines This variable holds minimum count of lines reserved for secondary text (i.e. when index is 1). @@ -84,7 +84,7 @@ \sa HbListViewItem::setSecondaryTextRowCount() */ -/*! +/* \var HbStyleOptionListViewItem::maximumLines This variable holds minimum count of lines reserved for secondary text (i.e. when index is 1). @@ -102,7 +102,7 @@ \sa HbListViewItem::setSecondaryTextRowCount() */ -/*! +/* \var HbStyleOptionListViewItem::multilineSecondaryTextSupported This variable holds whether multine line secondary text is supported. @@ -114,14 +114,6 @@ \sa HbListViewItem::setSecondaryTextRowCount() */ - - -/*! - - \deprecated HbStyleOptionListViewItem::HbStyleOptionListViewItem() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionListViewItem::HbStyleOptionListViewItem() : HbStyleOptionAbstractViewItem(), role(Qt::DisplayRole), @@ -134,13 +126,6 @@ version = Version; } - -/*! - - \deprecated HbStyleOptionListViewItem::HbStyleOptionListViewItem(const HbStyleOptionListViewItem&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionListViewItem::HbStyleOptionListViewItem(const HbStyleOptionListViewItem &other) : HbStyleOptionAbstractViewItem(other), content(other.content), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionlistviewitem_p.h --- a/src/hbcore/style/hbstyleoptionlistviewitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionlistviewitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -30,7 +30,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionListViewItem : public HbStyleOptionAbstractViewItem { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionmenuitem.cpp --- a/src/hbcore/style/hbstyleoptionmenuitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionmenuitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,18 +25,10 @@ #include "hbstyleoptionmenuitem_p.h" -/*! +/* \class HbStyleOptionMenuItem \brief HbStyleOptionMenuItem has the style component for menu item primitives */ - - -/*! - - \deprecated HbStyleOptionMenuItem::HbStyleOptionMenuItem() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionMenuItem::HbStyleOptionMenuItem() : text(), arrow(false), @@ -48,13 +40,6 @@ version = Version; } - -/*! - - \deprecated HbStyleOptionMenuItem::HbStyleOptionMenuItem(const HbStyleOptionMenuItem&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionMenuItem::HbStyleOptionMenuItem(const HbStyleOptionMenuItem &other) : HbStyleOption(other), text(other.text), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionmenuitem_p.h --- a/src/hbcore/style/hbstyleoptionmenuitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionmenuitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -30,7 +30,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionMenuItem : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionmessagebox.cpp --- a/src/hbcore/style/hbstyleoptionmessagebox.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionmessagebox.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,19 +25,12 @@ #include "hbstyleoptionmessagebox_p.h" -/*! - \this class is deprecated. +/* + \class HbStyleOptionMessageBox \brief HbStyleOptionMessageBox has the style component for note primitives */ - -/*! - - \deprecated HbStyleOptionMessageBox::HbStyleOptionMessageBox() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionMessageBox::HbStyleOptionMessageBox() : HbStyleOptionPopup(), text(), @@ -50,12 +43,6 @@ version = Version; } -/*! - - \deprecated HbStyleOptionMessageBox::HbStyleOptionMessageBox(const HbStyleOptionMessageBox&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionMessageBox::HbStyleOptionMessageBox(const HbStyleOptionMessageBox &other) : HbStyleOptionPopup(other), text(other.text), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionmessagebox_p.h --- a/src/hbcore/style/hbstyleoptionmessagebox_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionmessagebox_p.h Thu May 27 13:10:59 2010 +0300 @@ -30,7 +30,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionMessageBox : public HbStyleOptionPopup { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionnavigationbutton.cpp --- a/src/hbcore/style/hbstyleoptionnavigationbutton.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionnavigationbutton.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,31 +25,18 @@ #include "hbstyleoptionnavigationbutton_p.h" -/*! +/* \class HbStyleOptionNavigationButton \brief HbStyleOptionNavigationButton has the style component for the navigation button */ - - -/*! - - \deprecated HbStyleOptionNavigationButton::HbStyleOptionNavigationButton() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionNavigationButton::HbStyleOptionNavigationButton() : HbStyleOption(), mode(QIcon::Normal), transparent(false) { type = Type; version = Version; } -/*! - \deprecated HbStyleOptionNavigationButton::HbStyleOptionNavigationButton(const HbStyleOptionNavigationButton&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionNavigationButton::HbStyleOptionNavigationButton(const HbStyleOptionNavigationButton &other) : HbStyleOption(other), mode(other.mode), transparent(other.transparent) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionnavigationbutton_p.h --- a/src/hbcore/style/hbstyleoptionnavigationbutton_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionnavigationbutton_p.h Thu May 27 13:10:59 2010 +0300 @@ -28,7 +28,7 @@ #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionNavigationButton : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionnotificationdialog.cpp --- a/src/hbcore/style/hbstyleoptionnotificationdialog.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionnotificationdialog.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,29 +25,11 @@ #include "hbstyleoptionnotificationdialog_p.h" -/*! +/* \class HbStyleOptionNotificationDialog \brief HbStyleOptionNotificationDialog has the style component for notification dialog. */ -/*! - \deprecated HbStyleOptionNotificationDialog::titleWrapping - is deprecated. Use wrappingTitle instead. -*/ - -/*! - \deprecated HbStyleOptionNotificationDialog::textWrapping - is deprecated. Use wrappingText instead. -*/ - - - -/*! - - \deprecated HbStyleOptionNotificationDialog::HbStyleOptionNotificationDialog() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionNotificationDialog::HbStyleOptionNotificationDialog() : titleAlignment(Qt::AlignLeft|Qt::AlignVCenter), textAlignment(Qt::AlignLeft|Qt::AlignVCenter), @@ -62,13 +44,6 @@ version = Version; } - -/*! - - \deprecated HbStyleOptionNotificationDialog::HbStyleOptionNotificationDialog(const HbStyleOptionNotificationDialog&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionNotificationDialog::HbStyleOptionNotificationDialog( const HbStyleOptionNotificationDialog &other) : HbStyleOptionPopup(other), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionnotificationdialog_p.h --- a/src/hbcore/style/hbstyleoptionnotificationdialog_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionnotificationdialog_p.h Thu May 27 13:10:59 2010 +0300 @@ -31,7 +31,7 @@ #include -//Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionNotificationDialog : public HbStyleOptionPopup { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionpopup.cpp --- a/src/hbcore/style/hbstyleoptionpopup.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionpopup.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,31 +25,17 @@ #include "hbstyleoptionpopup_p.h" -/*! +/* \class HbStyleOptionPopup \brief HbStyleOptionPopup has the style component for popup primitives */ - -/*! - - \deprecated HbStyleOptionPopup::HbStyleOptionPopup() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionPopup::HbStyleOptionPopup() { type = Type; version = Version; } - -/*! - - \deprecated HbStyleOptionPopup::HbStyleOptionPopup(const HbStyleOptionPopup&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionPopup::HbStyleOptionPopup(const HbStyleOptionPopup &other) : HbStyleOption(other) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionpopup_p.h --- a/src/hbcore/style/hbstyleoptionpopup_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionpopup_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -//Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionPopup : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionprogressbar.cpp --- a/src/hbcore/style/hbstyleoptionprogressbar.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionprogressbar.cpp Thu May 27 13:10:59 2010 +0300 @@ -27,19 +27,12 @@ #include "hbstyleoptionprogressbar_p.h" -/*! +/* \class HbStyleOptionProgressBar \brief HbStyleOptionProgressBar has the style component for progress bar primitives */ - -/*! - - \deprecated HbStyleOptionProgressBar::HbStyleOptionProgressBar() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionProgressBar::HbStyleOptionProgressBar() : progressValue(0), minimum(0), @@ -60,14 +53,6 @@ type = Type; version = Version; } - - -/*! - - \deprecated HbStyleOptionProgressBar::HbStyleOptionProgressBar(const HbStyleOptionProgressBar&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionProgressBar::HbStyleOptionProgressBar(const HbStyleOptionProgressBar &other) : HbStyleOption(other), progressValue(other.progressValue), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionprogressdialog.cpp --- a/src/hbcore/style/hbstyleoptionprogressdialog.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionprogressdialog.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,18 +25,11 @@ #include "hbstyleoptionprogressdialog_p.h" -/*! +/* \class HbStyleOptionProgressDialog \brief HbStyleOptionProgressDialog has the style component for progress dialog primitives */ - -/*! - - \deprecated HbStyleOptionProgressDialog::HbStyleOptionProgressDialog() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionProgressDialog::HbStyleOptionProgressDialog() : HbStyleOption(), icon(), @@ -46,13 +39,6 @@ version = Version; } - -/*! - - \deprecated HbStyleOptionProgressDialog::HbStyleOptionProgressDialog(const HbStyleOptionProgressDialog&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionProgressDialog::HbStyleOptionProgressDialog(const HbStyleOptionProgressDialog &other) : HbStyleOption(other), icon(other.icon), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionprogressdialog_p.h --- a/src/hbcore/style/hbstyleoptionprogressdialog_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionprogressdialog_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -//Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionProgressDialog : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionpushbutton.cpp --- a/src/hbcore/style/hbstyleoptionpushbutton.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionpushbutton.cpp Thu May 27 13:10:59 2010 +0300 @@ -26,19 +26,11 @@ #include "hbstyleoptionpushbutton_p.h" #include "hbicon.h" -/*! +/* \class HbStyleOptionPushButton \brief HbStyleOptionPushButton has the style component for push button primitives */ - - -/*! - - \deprecated HbStyleOptionPushButton::HbStyleOptionPushButton() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionPushButton::HbStyleOptionPushButton() : background(), icon(), text(),backgroundFrameDrawer(0) { @@ -46,13 +38,6 @@ version = Version; } - -/*! - - \deprecated HbStyleOptionPushButton::HbStyleOptionPushButton(const HbStyleOptionPushButton&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionPushButton::HbStyleOptionPushButton(const HbStyleOptionPushButton &other) : HbStyleOption(other), background(other.background), icon(other.icon), text(other.text),backgroundFrameDrawer(other.backgroundFrameDrawer) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionpushbutton_p.h --- a/src/hbcore/style/hbstyleoptionpushbutton_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionpushbutton_p.h Thu May 27 13:10:59 2010 +0300 @@ -30,7 +30,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionPushButton : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionratingslider.cpp --- a/src/hbcore/style/hbstyleoptionratingslider.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionratingslider.cpp Thu May 27 13:10:59 2010 +0300 @@ -27,33 +27,18 @@ #include "hbstyleoptionratingslider_p.h" -/*! +/* \class HbStyleOptionProgressBar \brief HbStyleOptionProgressBar has the style component for progress bar primitives */ - -/*! - - \deprecated HbStyleOptionRatingSlider::HbStyleOptionRatingSlider() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionRatingSlider::HbStyleOptionRatingSlider() { type = Type; version = Version; } - - -/*! - - \deprecated HbStyleOptionRatingSlider::HbStyleOptionRatingSlider(const HbStyleOptionRatingSlider&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionRatingSlider::HbStyleOptionRatingSlider(const HbStyleOptionRatingSlider &other) : HbStyleOption(other), progressValue(other.progressValue), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionratingslider_p.h --- a/src/hbcore/style/hbstyleoptionratingslider_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionratingslider_p.h Thu May 27 13:10:59 2010 +0300 @@ -28,7 +28,7 @@ #include -//Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionRatingSlider : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionscrollbar.cpp --- a/src/hbcore/style/hbstyleoptionscrollbar.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionscrollbar.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,18 +25,12 @@ #include "hbstyleoptionscrollbar_p.h" -/*! +/* \class HbStyleOptionScrollBar \brief HbStyleOptionScrollBar has the style component for scroll bar primitives */ -/*! - - \deprecated HbStyleOptionScrollBar::HbStyleOptionScrollBar() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionScrollBar::HbStyleOptionScrollBar() : orientation(Qt::Vertical), thumbPressed(false), @@ -47,12 +41,7 @@ version = Version; } -/*! - \deprecated HbStyleOptionScrollBar::HbStyleOptionScrollBar(const HbStyleOptionScrollBar&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionScrollBar::HbStyleOptionScrollBar(const HbStyleOptionScrollBar &other) : HbStyleOption(other), orientation(other.orientation) diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionscrollbar_p.h --- a/src/hbcore/style/hbstyleoptionscrollbar_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionscrollbar_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -//Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionScrollBar : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionsignalindicator.cpp --- a/src/hbcore/style/hbstyleoptionsignalindicator.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionsignalindicator.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,18 +25,12 @@ #include "hbstyleoptionsignalindicator_p.h" -/*! +/* \class HbStyleOptionSignalIndicator \brief HbStyleOptionSignalIndicator has the style component for the signal indicator */ -/*! - - \deprecated HbStyleOptionSignalIndicator::HbStyleOptionSignalIndicator() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionSignalIndicator::HbStyleOptionSignalIndicator() : HbStyleOption(), networkMode(0), @@ -47,12 +41,6 @@ version = Version; } -/*! - - \deprecated HbStyleOptionSignalIndicator::HbStyleOptionSignalIndicator(const HbStyleOptionSignalIndicator&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionSignalIndicator::HbStyleOptionSignalIndicator(const HbStyleOptionSignalIndicator &other) : HbStyleOption(other), networkMode(other.networkMode), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionsignalindicator_p.h --- a/src/hbcore/style/hbstyleoptionsignalindicator_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionsignalindicator_p.h Thu May 27 13:10:59 2010 +0300 @@ -28,7 +28,7 @@ #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionSignalIndicator : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionslider.cpp --- a/src/hbcore/style/hbstyleoptionslider.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionslider.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,18 +25,12 @@ #include "hbstyleoptionslider_p.h" -/*! +/* \class HbStyleOptionSlider \brief HbStyleOptionSlider has the style component for slider primitives */ -/*! - - \deprecated HbStyleOptionSlider::HbStyleOptionSlider() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionSlider::HbStyleOptionSlider() : maximum(0), minimum(0), @@ -61,12 +55,7 @@ type = Type; version = Version; } -/*! - \deprecated HbStyleOptionSlider::HbStyleOptionSlider(const HbStyleOptionSlider&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionSlider::HbStyleOptionSlider(const HbStyleOptionSlider &other) : HbStyleOption(other), maximum(other.maximum), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionslider_p.h --- a/src/hbcore/style/hbstyleoptionslider_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionslider_p.h Thu May 27 13:10:59 2010 +0300 @@ -31,7 +31,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionSlider : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionstatusbar.cpp --- a/src/hbcore/style/hbstyleoptionstatusbar.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionstatusbar.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,31 +25,17 @@ #include "hbstyleoptionstatusbar_p.h" -/*! +/* \class HbStyleOptionStatusBar \brief HbStyleOptionStatusBar has the style component for statusbar */ - -/*! - - \deprecated HbStyleOptionStatusBar::HbStyleOptionStatusBar() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionStatusBar::HbStyleOptionStatusBar() : transparent(false) { type = Type; version = Version; } - -/*! - - \deprecated HbStyleOptionStatusBar::HbStyleOptionStatusBar(const HbStyleOptionStatusBar&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionStatusBar::HbStyleOptionStatusBar(const HbStyleOptionStatusBar &other) : HbStyleOption(other) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptionstatusbar_p.h --- a/src/hbcore/style/hbstyleoptionstatusbar_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptionstatusbar_p.h Thu May 27 13:10:59 2010 +0300 @@ -28,7 +28,7 @@ #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionStatusBar : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiontitlepane.cpp --- a/src/hbcore/style/hbstyleoptiontitlepane.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiontitlepane.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,18 +25,12 @@ #include "hbstyleoptiontitlepane_p.h" -/*! +/* \class HbStyleOptionTitlePane \brief HbStyleOptionTitlePane has the style component for title pane */ -/*! - - \deprecated HbStyleOptionTitlePane::HbStyleOptionTitlePane() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionTitlePane::HbStyleOptionTitlePane() : HbStyleOption(), caption(""), mode(QIcon::Normal), transparent(false) { @@ -44,13 +38,6 @@ version = Version; } - -/*! - - \deprecated HbStyleOptionTitlePane::HbStyleOptionTitlePane(const HbStyleOptionTitlePane&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionTitlePane::HbStyleOptionTitlePane(const HbStyleOptionTitlePane &other) : HbStyleOption(other), caption(other.caption), mode(other.mode), transparent(other.transparent) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiontitlepane_p.h --- a/src/hbcore/style/hbstyleoptiontitlepane_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiontitlepane_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionTitlePane : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiontoolbutton.cpp --- a/src/hbcore/style/hbstyleoptiontoolbutton.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiontoolbutton.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,17 +25,12 @@ #include -/*! +/* \class HbStyleOptionToolButton \brief HbStyleOptionToolButton has the style component for tool button primitives */ -/*! - \deprecated HbStyleOptionToolButton::HbStyleOptionToolButton() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionToolButton::HbStyleOptionToolButton() : HbStyleOption(HbSO_ToolButton), icon(), customBackground(), @@ -50,12 +45,7 @@ version = Version; } -/*! - \deprecated HbStyleOptionToolButton::HbStyleOptionToolButton(const HbStyleOptionToolButton&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionToolButton::HbStyleOptionToolButton(const HbStyleOptionToolButton &other) : HbStyleOption(other), icon(other.icon), diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiontoolbutton_p.h --- a/src/hbcore/style/hbstyleoptiontoolbutton_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiontoolbutton_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionToolButton : public HbStyleOption { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiontooltip.cpp --- a/src/hbcore/style/hbstyleoptiontooltip.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiontooltip.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,29 +25,18 @@ #include "hbstyleoptiontooltip_p.h" -/*! +/* \class HbStyleOptionToolTip \brief HbStyleOptionToolTip has the style component for tooltip primitives */ -/*! - \deprecated HbStyleOptionToolTip::HbStyleOptionToolTip() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionToolTip::HbStyleOptionToolTip() { type = Type; version = Version; } -/*! - - \deprecated HbStyleOptionToolTip::HbStyleOptionToolTip(const HbStyleOptionToolTip&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionToolTip::HbStyleOptionToolTip(const HbStyleOptionToolTip &other) : HbStyleOptionPopup(other) { diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiontooltip_p.h --- a/src/hbcore/style/hbstyleoptiontooltip_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiontooltip_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,7 +29,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionToolTip : public HbStyleOptionPopup { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiontreeviewitem.cpp --- a/src/hbcore/style/hbstyleoptiontreeviewitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiontreeviewitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,23 +25,18 @@ #include "hbstyleoptiontreeviewitem_p.h" -/*! +/* \class HbStyleOptionTreeViewItem \brief HbStyleOptionTreeViewItem has the style component for tree view item primitives */ -/*! +/* \var HbStyleOptionTreeViewItem::expanded This variable holds whether tree item is expanded or collapsed. */ -/*! - \deprecated HbStyleOptionTreeViewItem::HbStyleOptionTreeViewItem() - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionTreeViewItem::HbStyleOptionTreeViewItem() : HbStyleOptionListViewItem(), expanded(false) @@ -50,12 +45,7 @@ version = Version; } -/*! - \deprecated HbStyleOptionTreeViewItem::HbStyleOptionTreeViewItem(const HbStyleOptionTreeViewItem&) - is deprecated. Styleoptions will not be public. - -*/ HbStyleOptionTreeViewItem::HbStyleOptionTreeViewItem(const HbStyleOptionTreeViewItem &other) : HbStyleOptionListViewItem(other), expanded(other.expanded) diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/style/hbstyleoptiontreeviewitem_p.h --- a/src/hbcore/style/hbstyleoptiontreeviewitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/style/hbstyleoptiontreeviewitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -30,7 +30,7 @@ #include #include -// Deprecated + class HB_CORE_PRIVATE_EXPORT HbStyleOptionTreeViewItem : public HbStyleOptionListViewItem { public: diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbcolorscheme.cpp --- a/src/hbcore/theme/hbcolorscheme.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbcolorscheme.cpp Thu May 27 13:10:59 2010 +0300 @@ -68,13 +68,6 @@ #include #include "hbcolortheme_p.h" -/*! -Constructor -*/ -HbColorScheme::HbColorScheme() -{ -} - QColor HbColorScheme::color( const QString &colorRole ) { return HbColorTheme::instance()->color(colorRole); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbcolortheme_p.cpp --- a/src/hbcore/theme/hbcolortheme_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbcolortheme_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -40,7 +40,7 @@ } -void HbColorThemePrivate::setCurrentTheme(const QString& themeName) +void HbColorThemePrivate::setCurrentTheme(const QString &themeName) { // If new theme is different from earlier set theme if (currentTheme != themeName) { @@ -58,17 +58,19 @@ void HbColorThemePrivate::reloadColorFiles(bool sender) { QMap hierarchyVariableListWithPathInfo = - HbThemeUtils::constructHierarchyListWithPathInfo("variables/color/hbcolorgroup.css", currentTheme, Hb::StyleSheetResource); - HbStandardDirs::findResourceList(hierarchyVariableListWithPathInfo,Hb::StyleSheetResource, true); + HbThemeUtils::constructHierarchyListWithPathInfo( + "variables/color/hbcolorgroup.css", currentTheme, Hb::StyleSheetResource); + HbStandardDirs::findResourceList(hierarchyVariableListWithPathInfo, + Hb::StyleSheetResource, true); #ifdef THEME_SERVER_TRACES qDebug() << "CSS files:"; - foreach ( const QString& file, hierarchyVariableListWithPathInfo ) + foreach(const QString &file, hierarchyVariableListWithPathInfo) { qDebug() << file; + } #endif // THEME_SERVER_TRACES cssif.initialise(hierarchyVariableListWithPathInfo, sender); - } /*! @@ -149,7 +151,7 @@ * * \a themeName name of the new theme to be set */ -void HbColorTheme::setCurrentTheme ( const QString& themeName ) +void HbColorTheme::setCurrentTheme(const QString &themeName) { Q_D(HbColorTheme); d->setCurrentTheme(themeName); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbcolortheme_p_p.h --- a/src/hbcore/theme/hbcolortheme_p_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbcolortheme_p_p.h Thu May 27 13:10:59 2010 +0300 @@ -31,12 +31,11 @@ #include "hbcssthemeinterface_p.h" #include "hbcssparser_p.h" - class HB_AUTOTEST_EXPORT HbColorThemePrivate { public: HbColorThemePrivate(); - void setCurrentTheme(const QString& themeName); + void setCurrentTheme(const QString &themeName); void reloadColorFiles(bool sender); QColor resolveColor(HbCss::Value values) const; ~HbColorThemePrivate(); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbcssthemeinterface_p.cpp --- a/src/hbcore/theme/hbcssthemeinterface_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbcssthemeinterface_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -32,8 +32,7 @@ \class HbCssThemeInterface \brief HbCssThemeInterface is an internal class. * - */ - + */ /*! * \fn HbCssThemeInterface::initialise(const QStringList& list,bool loadAllFiles,bool enableBinarySupport =false) @@ -42,39 +41,38 @@ * \a loadAllFiles ,On application launch all files are loaded and on theme change unchanged files are not loaded. * \a enableBinarySupport optional flag for using the binary functionality */ -void HbCssThemeInterface::initialise(const QMap & list,bool loadAllFiles, +void HbCssThemeInterface::initialise(const QMap &list, bool loadAllFiles, bool enableBinarySupport) { int handle; flushVariableCache(); - HbLayeredStyleLoader *loader = HbLayeredStyleLoader::getStack(HbLayeredStyleLoader::Concern_Colors); + HbLayeredStyleLoader *loader = + HbLayeredStyleLoader::getStack(HbLayeredStyleLoader::Concern_Colors); //first unload the layers, for which the contents are different after theme change if (handles.size() != 0) { QMap::const_iterator itr; for (itr = handles.constBegin(); itr != handles.constEnd(); ++itr){ - loader->unload(itr.key(),itr.value()); + loader->unload(itr.key(), itr.value()); } handles.clear(); } - QMap::const_iterator i; + QMap::const_iterator i; for (i = list.constBegin(); i != list.constEnd(); ++i){ + HbLayeredStyleLoader::LayerPriority layerPriority = + static_cast(i.key()); if(loadAllFiles) { - handle =loader->load(i.value(),(HbLayeredStyleLoader::LayerPriority) i.key(),enableBinarySupport); - if (((HbLayeredStyleLoader::LayerPriority) i.key() != HbLayeredStyleLoader::Priority_Core) && ((HbLayeredStyleLoader::LayerPriority) i.key() != HbLayeredStyleLoader::Priority_Operator )) { - handles.insertMulti(handle, (HbLayeredStyleLoader::LayerPriority) i.key()); + handle = loader->load(i.value(), layerPriority, enableBinarySupport); + if (layerPriority != HbLayeredStyleLoader::Priority_Core + && layerPriority != HbLayeredStyleLoader::Priority_Operator) { + handles.insertMulti(handle, layerPriority); } - + } else if (layerPriority != HbLayeredStyleLoader::Priority_Core + && layerPriority != HbLayeredStyleLoader::Priority_Operator) { + handle = loader->load(i.value(), layerPriority, enableBinarySupport); + handles.insertMulti(handle, layerPriority); } - else{ - if (((HbLayeredStyleLoader::LayerPriority) i.key() != HbLayeredStyleLoader::Priority_Core) && ((HbLayeredStyleLoader::LayerPriority) i.key() != HbLayeredStyleLoader::Priority_Operator )) { - handle = loader->load(i.value(),(HbLayeredStyleLoader::LayerPriority) i.key(),enableBinarySupport); - handles.insertMulti(handle, (HbLayeredStyleLoader::LayerPriority) i.key()); - } - - } - } } @@ -84,7 +82,8 @@ */ void HbCssThemeInterface::flush() { - HbLayeredStyleLoader *loader = HbLayeredStyleLoader::getStack(HbLayeredStyleLoader::Concern_Colors); + HbLayeredStyleLoader *loader = + HbLayeredStyleLoader::getStack(HbLayeredStyleLoader::Concern_Colors); loader->clear(); flushVariableCache(); } @@ -109,9 +108,11 @@ n.ptr = (void *)w; HbCss::Value value; - HbLayeredStyleLoader *loader = HbLayeredStyleLoader::getStack(HbLayeredStyleLoader::Concern_Colors); + HbLayeredStyleLoader *loader = + HbLayeredStyleLoader::getStack(HbLayeredStyleLoader::Concern_Colors); HbDeviceProfile profile(HbDeviceProfile::profile(w)); - HbCss::ValueExtractor valueExtractor(loader->declarationsForNode(n, profile.orientation()), true); + HbCss::ValueExtractor valueExtractor( + loader->declarationsForNode(n, profile.orientation()), true); valueExtractor.extractValue(attribute, value); if ( value.type == Value::Variable) { @@ -131,7 +132,8 @@ const QString& variableName) const { if ( mVariables.isEmpty() ) { - HbLayeredStyleLoader *loader = HbLayeredStyleLoader::getStack(HbLayeredStyleLoader::Concern_Colors); + HbLayeredStyleLoader *loader = + HbLayeredStyleLoader::getStack(HbLayeredStyleLoader::Concern_Colors); loader->variableRuleSets(&mVariables); } @@ -146,4 +148,3 @@ return value; } - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbeffecttheme_p.cpp --- a/src/hbcore/theme/hbeffecttheme_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbeffecttheme_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -23,19 +23,19 @@ ** ****************************************************************************/ -#include -#include - +#include "hbeffecttheme_p.h" #include "hbthemecommon_p.h" #include "hbstandarddirs_p.h" #include "hbinstance.h" -#include "hbeffecttheme_p.h" #include "hbthemeutils_p.h" #include "hbeffectinternal_p.h" #include "hbthemeindex_p.h" #include "hbtheme.h" #include "hbtheme_p.h" +#include +#include + #ifdef Q_OS_SYMBIAN static const char *effectFileSuffix = ".fxml"; #endif @@ -58,15 +58,15 @@ QMap maplist = HbThemeUtils::constructHierarchyListWithPathInfo( QString(), mThemeName, Hb::EffectResource); - + mDirList.clear(); - QList list = maplist.values(); // sorted by key for (int i = list.count() - 1; i >= 0; --i) { // take highest prio first mDirList.append(list.at(i)); } - mListOfExistingFolders = HbStandardDirs::findExistingFolderList(mDirList, mThemeName, Hb::EffectResource); + mListOfExistingFolders = HbStandardDirs::findExistingFolderList(mDirList, mThemeName, + Hb::EffectResource); } HbEffectThemePrivate::HbEffectThemePrivate() @@ -135,7 +135,7 @@ delete d_ptr; } -void HbEffectTheme::setCurrentTheme(const QString& themeName) +void HbEffectTheme::setCurrentTheme(const QString &themeName) { d_ptr->initialise(themeName); d_ptr->mThemeName = themeName; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbeffecttheme_p.h --- a/src/hbcore/theme/hbeffecttheme_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbeffecttheme_p.h Thu May 27 13:10:59 2010 +0300 @@ -45,7 +45,7 @@ QString currentTheme() const; private: - HbEffectThemePrivate* d_ptr; + HbEffectThemePrivate *d_ptr; static HbEffectTheme *self; Q_DISABLE_COPY(HbEffectTheme) friend class TestHbEffectTheme; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbtheme.cpp --- a/src/hbcore/theme/hbtheme.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbtheme.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,17 +25,16 @@ #include "hbtheme.h" #include "hbtheme_p.h" #include "hbthemeclient_p.h" -#include -#include #include "hbstandarddirs_p.h" #include "hbicontheme_p.h" -#include "hbcolortheme_p.h" #include "hbthemeutils_p.h" #include "hbiconloader_p.h" #include "hbcolortheme_p_p.h" #include "hbcolortheme_p.h" #include "hbeffecttheme_p.h" #include "hbeffectinternal_p.h" +#include + /*! @stable @hbcore @@ -74,7 +73,7 @@ /*! Returns static instance */ -HbTheme* HbTheme::instance() +HbTheme *HbTheme::instance() { static HbTheme theInstance; return &theInstance; @@ -124,7 +123,7 @@ // Condition added to check if the client itself is server. if(THEME_SERVER_NAME != HbMemoryUtils::getCleanAppName()) { if(!HbThemeClient::global()->connectToServer()) { - qWarning()<<"ThemeClient unable to connect to server in HbThemePrivate::HbThemePrivate."; + qWarning() << "ThemeClient unable to connect to server in HbThemePrivate::HbThemePrivate."; } } } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbtheme_p.h --- a/src/hbcore/theme/hbtheme_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbtheme_p.h Thu May 27 13:10:59 2010 +0300 @@ -44,8 +44,8 @@ public: QString currentTheme; - HbIconTheme iconTheme; - HbTheme* q_ptr; + HbIconTheme iconTheme; + HbTheme *q_ptr; }; #endif /* HBTHEME_P_H */ diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbthemeclient_generic_p.cpp --- a/src/hbcore/theme/hbthemeclient_generic_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbthemeclient_generic_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -38,20 +38,23 @@ #include "hbthemecommon_p.h" #include "hbmemorymanager_p.h" -#define WAIT_TIME_TO_CONNECT_TO_SERVER 500 -#define WAIT_TIME_TO_START_SERVER 5000 +static const int WAIT_TIME_TO_CONNECT_TO_SERVER = 500; +static const int WAIT_TIME_TO_START_SERVER = 5000; #if defined(Q_OS_SYMBIAN) || defined(Q_OS_WIN) static const QString SERVERFILENAME = QLatin1String("hbthemeserver.exe"); #else static const QString SERVERFILENAME = QLatin1String("hbthemeserver"); #endif -static const QString SERVERFILEPATH = QLatin1String(HB_BIN_DIR) + QDir::separator() + SERVERFILENAME; +static const QString SERVERFILEPATH = QLatin1String(HB_BIN_DIR) + + QDir::separator() + SERVERFILENAME; static const QStringList SERVERARGUMENTS = QStringList() << QLatin1String("-start"); /** * Constructor */ -HbThemeClientPrivate::HbThemeClientPrivate():clientConnected( false ),localSocket( new QLocalSocket() ) +HbThemeClientPrivate::HbThemeClientPrivate() : + clientConnected(false), + localSocket(new QLocalSocket()) { #ifdef THEME_SERVER_TRACES qDebug() << Q_FUNC_INFO ; @@ -83,7 +86,8 @@ success = newProcess->waitForStarted(WAIT_TIME_TO_START_SERVER); } #ifdef THEME_SERVER_TRACES - qDebug() << Q_FUNC_INFO << "Server Start Status: " << success << "Error = " << newProcess->error (); + qDebug() << Q_FUNC_INFO << "Server Start Status: " << success + << "Error = " << newProcess->error(); #endif // If server started @@ -91,12 +95,12 @@ // ToDo: This is to wait for server to start running. Logic needs to be improved. newProcess->waitForFinished(3000); #ifdef THEME_SERVER_TRACES - qDebug() <connectToServer(THEME_SERVER_NAME); success = localSocket->waitForConnected(); #ifdef THEME_SERVER_TRACES - qDebug() <flush(); localSocket->waitForReadyRead(); #ifdef THEME_SERVER_TRACES - qDebug() <<"image req : " <readAll(); QDataStream inputDataStream(inputByteArray); @@ -188,8 +192,7 @@ QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } - } - else if (EThemeSelection==request){ + } else if (EThemeSelection==request){ // Asked for pixmap, got theme change request.. clean theme name QString themeName; inputDataStream >> themeName; @@ -202,7 +205,6 @@ } } } - // connecting again to handle theme change request from server connect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); return iconInfo; @@ -213,8 +215,8 @@ * * Returns the layout definition for the given file name,layout name,section name */ - -HbWidgetLoader::LayoutDefinition *HbThemeClientPrivate::getSharedLayoutDefs(const QString &fileName,const QString &layout,const QString §ion) +HbWidgetLoader::LayoutDefinition *HbThemeClientPrivate::getSharedLayoutDefs( + const QString &fileName, const QString &layout, const QString §ion) { if ( !clientConnected ) { return 0; @@ -224,7 +226,7 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType = EWidgetMLLookup; - outputDataStream << (int)requestType; + outputDataStream << int(requestType); outputDataStream << fileName; outputDataStream << layout; outputDataStream << section; @@ -236,23 +238,23 @@ localSocket->waitForReadyRead(); QByteArray inputByteArray = localSocket->readAll(); - QDataStream inputDataStream(&inputByteArray,QIODevice::ReadOnly); + QDataStream inputDataStream(&inputByteArray, QIODevice::ReadOnly); HbThemeServerRequest request; int temp; int sharedMLOffset = -1; inputDataStream >> temp; - request = (HbThemeServerRequest)temp; + request = static_cast(temp); - if (EWidgetMLLookup==request) { + if (EWidgetMLLookup == request) { inputDataStream >> sharedMLOffset; if (!inputDataStream.atEnd()) { inputDataStream >> temp; - request = (HbThemeServerRequest)temp; - if (EThemeSelection==request) { + request = static_cast(temp); + if (EThemeSelection == request) { QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } - }else if (EThemeSelection==request){ + } else if (EThemeSelection == request){ QString themeName; inputDataStream >> themeName; QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); @@ -264,7 +266,6 @@ } } } - // connecting again to handle theme change request from server connect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); @@ -279,7 +280,8 @@ /** * HbThemeClientPrivate::getSharedStyleSheet() */ -HbCss::StyleSheet *HbThemeClientPrivate::getSharedStyleSheet(const QString &fileName, HbLayeredStyleLoader::LayerPriority priority) +HbCss::StyleSheet *HbThemeClientPrivate::getSharedStyleSheet( + const QString &fileName, HbLayeredStyleLoader::LayerPriority priority) { #ifdef THEME_SERVER_TRACES qDebug() << Q_FUNC_INFO; @@ -293,7 +295,7 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType = EStyleSheetLookup; - outputDataStream << (int)requestType; + outputDataStream << int(requestType); outputDataStream << fileName; outputDataStream << priority; @@ -302,7 +304,7 @@ localSocket->flush(); localSocket->waitForReadyRead(); #ifdef THEME_SERVER_TRACES - qDebug() <<"stylesheet req : " <readAll(); QDataStream inputDataStream(inputByteArray); @@ -311,9 +313,8 @@ //-1 represents invalid offset int cssOffset = -1; - inputDataStream >> temp; - request = (HbThemeServerRequest)temp; + request = static_cast(temp); // Need to handle the situation when both themechange // request and stylesheet lookup info comes at the same time @@ -328,8 +329,7 @@ QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } - } - else if (EThemeSelection==request){ + } else if (EThemeSelection==request){ // Asked for stylesheet, got theme change request.. clean theme name QString themeName; inputDataStream >> themeName; @@ -371,8 +371,7 @@ QByteArray outputByteArray; QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType = EDeviceProfileOffset; - - outputDataStream << (int)requestType; + outputDataStream << int(requestType); disconnect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); localSocket->write(outputByteArray); @@ -386,7 +385,6 @@ //-1 represents invalid offset int deviceProfileOffset = -1; - inputDataStream >> temp; request = (HbThemeServerRequest)temp; @@ -399,9 +397,9 @@ QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } - }else if (EThemeSelection==request){ + } else if (EThemeSelection==request){ // Asked for DeviceProfiles Offset, got theme change request.. - // clean theme name + // clean theme name QString themeName; inputDataStream >> themeName; QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); @@ -443,7 +441,7 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType = EEffectLookupFilePath; - outputDataStream << (int)requestType; + outputDataStream << int(requestType); outputDataStream << filePath; disconnect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); @@ -452,7 +450,7 @@ localSocket->waitForReadyRead(); #ifdef THEME_SERVER_TRACES - qDebug() <<"EEffectLookupFilePath req : " <readAll(); @@ -462,7 +460,6 @@ //-1 represents invalid offset int effectOffset = -1; - inputDataStream >> temp; request = (HbThemeServerRequest)temp; @@ -470,17 +467,16 @@ // request and effect lookup info comes at the same time // Just posting the ThemeChanged event so that it can be handled // as next event and current effect load is not interrupted - if (request==EEffectLookupFilePath) { + if (request == EEffectLookupFilePath) { inputDataStream >> effectOffset; if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EThemeSelection==request) { + if (EThemeSelection == request) { QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } - } - else if (EThemeSelection==request){ + } else if (EThemeSelection == request){ // Asked for effect, got theme change request.. clean theme name QString themeName; inputDataStream >> themeName; @@ -488,7 +484,7 @@ if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EEffectLookupFilePath==request) { + if (EEffectLookupFilePath == request) { inputDataStream >> effectOffset; } } @@ -501,8 +497,7 @@ if (effectOffset >= 0) { return HbMemoryUtils::getAddress( HbMemoryManager::SharedMemory, effectOffset); - } - else { + } else { return 0; } } @@ -510,7 +505,7 @@ /** * HbThemeClientPrivate::addSharedEffect() */ -bool HbThemeClientPrivate::addSharedEffect(const QString& filePath) +bool HbThemeClientPrivate::addSharedEffect(const QString &filePath) { #ifdef THEME_SERVER_TRACES qDebug() << Q_FUNC_INFO; @@ -523,7 +518,7 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType = EEffectAdd; - outputDataStream << (int)requestType; + outputDataStream << int(requestType); outputDataStream << filePath; disconnect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); @@ -532,19 +527,16 @@ localSocket->waitForReadyRead(); #ifdef THEME_SERVER_TRACES - qDebug() <<"effectAdd req : " <readAll(); QDataStream inputDataStream(inputByteArray); HbThemeServerRequest request; int temp; - //-1 represents an error adding file to server int effectAddReply = -1; - inputDataStream >> temp; - request = (HbThemeServerRequest)temp; + request = static_cast(temp); //TODO how to really handle situation when adding an effect when theme changes?? @@ -553,17 +545,17 @@ // request and effect lookup info comes at the same time // Just posting the ThemeChanged event so that it can be handled // as next event and current effect load is not interrupted - if (request==EEffectAdd) { + if (request == EEffectAdd) { inputDataStream >> effectAddReply; if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EThemeSelection==request) { + if (EThemeSelection == request) { QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } } - else if (EThemeSelection==request){ + else if (EThemeSelection == request){ // Asked for effect, got theme change request.. clean theme name QString themeName; inputDataStream >> themeName; @@ -571,7 +563,7 @@ if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EEffectAdd==request) { + if (EEffectAdd == request) { inputDataStream >> effectAddReply; } } @@ -580,10 +572,7 @@ // connecting again to handle theme change request from server connect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); - if(effectAddReply >= 0) - return true; - else - return false; + return (effectAddReply >= 0); } /** @@ -601,14 +590,14 @@ inputDataStream >> request; #ifdef THEME_SERVER_TRACES - qDebug() << Q_FUNC_INFO << "recognizer: "<> themeName; #ifdef THEME_SERVER_TRACES - qDebug() << Q_FUNC_INFO <<"themeName is : " <theme()->d_ptr->handleThemeChange(themeName); } @@ -682,12 +671,12 @@ /** * HbThemeClientPrivate::unloadIcon() */ -void HbThemeClientPrivate::unloadIcon(const QString& iconPath , +void HbThemeClientPrivate::unloadIcon(const QString &iconPath, const QSizeF &size, Qt::AspectRatioMode aspectRatioMode, QIcon::Mode mode, bool mirrored, - const QColor& color, + const QColor &color, HbRenderingMode renderMode) { if ( !clientConnected ) { @@ -698,7 +687,7 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType; requestType = EUnloadIcon; - outputDataStream << (int)requestType; + outputDataStream << int(requestType); outputDataStream << iconPath; outputDataStream << size; outputDataStream << aspectRatioMode; @@ -726,17 +715,17 @@ // request and Reference count decrement comes at the same time // Just posting the ThemeChnaged event so that it can be handled // as next event and current pixmap load is not interrupted - if (EUnloadIcon ==request) { + if (EUnloadIcon == request) { if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EThemeSelection==request) { + if (EThemeSelection == request) { QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } } - else if (EThemeSelection==request){ + else if (EThemeSelection == request){ // Asked for reference count decrement got theme change request.. clean theme name QString themeName; inputDataStream >> themeName; @@ -760,7 +749,7 @@ * * unload multiple icons */ -void HbThemeClientPrivate::unLoadMultiIcon(const QStringList& iconPathList, +void HbThemeClientPrivate::unLoadMultiIcon(const QStringList &iconPathList, const QVector &sizeList, Qt::AspectRatioMode aspectRatioMode, QIcon::Mode mode, @@ -768,6 +757,8 @@ const QColor &color, HbRenderingMode renderMode) { + // TODO: this request is currently not implemented in server side. + if ( !clientConnected ) { return; } @@ -807,17 +798,15 @@ // request and Reference count decrement comes at the same time // Just posting the ThemeChnaged event so that it can be handled // as next event and current pixmap load is not interrupted - if (EUnloadMultiIcon ==request) { - + if (EUnloadMultiIcon == request) { if (!inputDataStream.atEnd()) { inputDataStream >> temp; - request = (HbThemeServerRequest)temp; - if (EThemeSelection==request) { + request = static_cast(temp); + if (EThemeSelection == request) { QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } - } - else if (EThemeSelection==request){ + } else if (EThemeSelection == request){ // Asked for reference count decrement got theme change request.. clean theme name QString themeName; inputDataStream >> themeName; @@ -830,23 +819,20 @@ } } } - // connecting again to handle theme change request from server connect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); } - - -HbSharedIconInfo HbThemeClientPrivate::getMultiPartIconInfo(const QStringList &multiPartIconList, - const HbMultiPartSizeData &multiPartIconData , - const QSizeF &size, - Qt::AspectRatioMode aspectRatioMode, - QIcon::Mode mode, - bool mirrored, - HbIconLoader::IconLoaderOptions options, - const QColor &color, - HbRenderingMode renderMode) - +HbSharedIconInfo HbThemeClientPrivate::getMultiPartIconInfo( + const QStringList &multiPartIconList, + const HbMultiPartSizeData &multiPartIconData, + const QSizeF &size, + Qt::AspectRatioMode aspectRatioMode, + QIcon::Mode mode, + bool mirrored, + HbIconLoader::IconLoaderOptions options, + const QColor &color, + HbRenderingMode renderMode) { #ifdef THEME_SERVER_TRACES @@ -858,12 +844,11 @@ return iconInfo; } - - int noOfPieces = 1; - if (multiPartIconData.multiPartIconId.contains("_3PV",Qt::CaseInsensitive) - || multiPartIconData.multiPartIconId.contains("_3PH",Qt::CaseInsensitive)) { + int noOfPieces = 1; + if (multiPartIconData.multiPartIconId.contains("_3PV", Qt::CaseInsensitive) + || multiPartIconData.multiPartIconId.contains("_3PH", Qt::CaseInsensitive)) { noOfPieces = 3; - } else if (multiPartIconData.multiPartIconId.contains("_9P",Qt::CaseInsensitive)) { + } else if (multiPartIconData.multiPartIconId.contains("_9P", Qt::CaseInsensitive)) { noOfPieces = 9; } @@ -871,18 +856,16 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType; requestType = EMultiPieceIcon; - outputDataStream << (int)requestType; + outputDataStream << int(requestType); outputDataStream << multiPartIconList; outputDataStream << multiPartIconData.multiPartIconId; for (int i = 0; i< noOfPieces; i++) { outputDataStream << multiPartIconData.sources[i]; } - for (int i = 0; i < noOfPieces; i++) { outputDataStream << multiPartIconData.targets[i]; } - for (int i = 0; i < noOfPieces; i++) { outputDataStream << multiPartIconData.pixmapSizes[i]; } @@ -912,6 +895,7 @@ // Just posting the ThemeChnaged event so that it can be handled // as next event and current pixmap load is not interrupted if (EMultiPieceIcon == request) { + inputDataStream >> temp; // Read the EIconLookup request identifier readIconInfo(inputDataStream, iconInfo); if (!inputDataStream.atEnd()) { inputDataStream >> temp; @@ -920,8 +904,7 @@ QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } - } - else if (EThemeSelection == request) { + } else if (EThemeSelection == request) { // Asked for pixmap, got theme change request.. clean theme name QString themeName; inputDataStream >> themeName; @@ -929,7 +912,8 @@ if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EMultiPieceIcon==request) { + if (EMultiPieceIcon == request) { + inputDataStream >> temp; // Read the EIconLookup request identifier readIconInfo(inputDataStream, iconInfo); } } @@ -944,14 +928,15 @@ * getMultiIconInfo function returns a list of HbSharedIconInfo * for the given list of frameitems. */ -HbSharedIconInfoList HbThemeClientPrivate::getMultiIconInfo(const QStringList &multiPartIconList, - const QVector &sizeList, - Qt::AspectRatioMode aspectRatioMode, - QIcon::Mode mode, - bool mirrored, - HbIconLoader::IconLoaderOptions options, - const QColor &color, - HbRenderingMode renderMode) +HbSharedIconInfoList HbThemeClientPrivate::getMultiIconInfo( + const QStringList &multiPartIconList, + const QVector &sizeList, + Qt::AspectRatioMode aspectRatioMode, + QIcon::Mode mode, + bool mirrored, + HbIconLoader::IconLoaderOptions options, + const QColor &color, + HbRenderingMode renderMode) { HbSharedIconInfoList sharedIconInfoList; @@ -977,6 +962,7 @@ outputDataStream << options; outputDataStream << color; outputDataStream << renderMode; + disconnect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); localSocket->write(outputByteArray); localSocket->flush(); @@ -993,12 +979,13 @@ // Need to handle the situation when both themechange // request and pixmap info comes at the same time - // Just posting the ThemeChnaged event so that it can be handled + // Just posting the ThemeChanged event so that it can be handled // as next event and current pixmap load is not interrupted if (EMultiIcon == request) { - for (int i = 0; i< noOfPieces; i++) { - readIconInfo(inputDataStream, sharedIconInfoList.icon[i]); - } + for (int i = 0; i< noOfPieces; i++) { + inputDataStream >> temp; // Read the EIconLookup request identifier + readIconInfo(inputDataStream, sharedIconInfoList.icon[i]); + } if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; @@ -1006,8 +993,7 @@ QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } - } - else if (EThemeSelection == request) { + } else if (EThemeSelection == request) { // Asked for pixmap, got theme change request.. clean theme name QString themeName; inputDataStream >> themeName; @@ -1015,17 +1001,17 @@ if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EMultiIcon==request) { - for (int i = 0; i< noOfPieces; i++) { - readIconInfo(inputDataStream, sharedIconInfoList.icon[i]); - } + if (EMultiIcon == request) { + for (int i = 0; i < noOfPieces; i++) { + inputDataStream >> temp; // Read the EIconLookup request identifier + readIconInfo(inputDataStream, sharedIconInfoList.icon[i]); + } } } } // connecting again to handle theme change request from server connect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); - return sharedIconInfoList; } @@ -1044,7 +1030,6 @@ #ifdef THEME_SERVER_TRACES qDebug() << Q_FUNC_INFO; #endif - QByteArray outputByteArray; QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType = EFreeSharedMem; @@ -1060,7 +1045,6 @@ QDataStream inputDataStream(inputByteArray); HbThemeServerRequest request; int temp; - int freeSharedMem = 0; inputDataStream >> temp; @@ -1071,18 +1055,18 @@ if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EThemeSelection==request) { + if (EThemeSelection == request) { QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } - }else if (EThemeSelection == request){ + } else if (EThemeSelection == request){ QString themeName; inputDataStream >> themeName; QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EFreeSharedMem== request) { + if (EFreeSharedMem == request) { inputDataStream >> freeSharedMem; } } @@ -1105,7 +1089,7 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType = EAllocatedSharedMem; - outputDataStream << (int)requestType; + outputDataStream << int(requestType); disconnect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); localSocket->write(outputByteArray); @@ -1116,7 +1100,6 @@ QDataStream inputDataStream(inputByteArray); HbThemeServerRequest request; int temp; - int allocatedSharedMem = 0; inputDataStream >> temp; @@ -1127,7 +1110,7 @@ if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EThemeSelection==request) { + if (EThemeSelection == request) { QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } @@ -1138,7 +1121,7 @@ if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EAllocatedSharedMem== request) { + if (EAllocatedSharedMem == request) { inputDataStream >> allocatedSharedMem; } } @@ -1180,7 +1163,7 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType = ECreateMemoryReport; - outputDataStream << (int)requestType; + outputDataStream << int(requestType); disconnect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); localSocket->write(outputByteArray); @@ -1188,7 +1171,6 @@ } #endif - /** * HbThemeClientPrivate::typefaceInfo() */ @@ -1197,7 +1179,6 @@ #ifdef THEME_SERVER_TRACES qDebug() << Q_FUNC_INFO; #endif - if ( !clientConnected ) { return 0; } @@ -1206,7 +1187,7 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); HbThemeServerRequest requestType = ETypefaceOffset; - outputDataStream << (int)requestType; + outputDataStream << int(requestType); disconnect(localSocket, SIGNAL(readyRead()), this, SLOT(changeTheme())); localSocket->write(outputByteArray); @@ -1229,11 +1210,11 @@ if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (EThemeSelection==request) { + if (EThemeSelection == request) { QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged)); } } - }else if (EThemeSelection==request){ + }else if (EThemeSelection == request){ // Asked for Typeface Offset, got theme change request.. // clean theme name QString themeName; @@ -1242,7 +1223,7 @@ if (!inputDataStream.atEnd()) { inputDataStream >> temp; request = (HbThemeServerRequest)temp; - if (ETypefaceOffset== request) { + if (ETypefaceOffset == request) { inputDataStream >> typefaceOffset; } } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbthemeclient_p.cpp --- a/src/hbcore/theme/hbthemeclient_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbthemeclient_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -113,8 +113,7 @@ : QByteArray(); } - - HbSharedIconInfo HbThemeClient::getMultiPartIconInfo(const QStringList &multiPartIconList, +HbSharedIconInfo HbThemeClient::getMultiPartIconInfo(const QStringList &multiPartIconList, const HbMultiPartSizeData &multiPartIconData , const QSizeF &size, Qt::AspectRatioMode aspectRatioMode, @@ -125,7 +124,8 @@ HbRenderingMode renderMode) { Q_D(HbThemeClient); - return d->getMultiPartIconInfo(multiPartIconList, multiPartIconData, size, aspectRatioMode, mode, mirrored, options, color, renderMode); + return d->getMultiPartIconInfo(multiPartIconList, multiPartIconData, size, + aspectRatioMode, mode, mirrored, options, color, renderMode); } /** @@ -134,14 +134,17 @@ * \a fielName css filename * \a priority layer priority */ -HbCss::StyleSheet *HbThemeClient::getSharedStyleSheet(const QString &fileName, HbLayeredStyleLoader::LayerPriority priority) +HbCss::StyleSheet *HbThemeClient::getSharedStyleSheet(const QString &fileName, + HbLayeredStyleLoader::LayerPriority priority) { int offset = -1; if( HbLayeredStyleLoader::Priority_Core == priority ) { offset = sharedCacheItemOffset(HbSharedCache::Stylesheet, fileName); } if ( -1 != offset ) { - HbCss::StyleSheet *styleSheet = HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory,offset); + HbCss::StyleSheet *styleSheet = + HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, + offset); return styleSheet; } Q_D(HbThemeClient); @@ -155,12 +158,16 @@ * \a layout * \a section */ -HbWidgetLoader::LayoutDefinition *HbThemeClient::getSharedLayoutDefs(const QString &fileName,const QString &layout,const QString §ion) +HbWidgetLoader::LayoutDefinition *HbThemeClient::getSharedLayoutDefs(const QString &fileName, + const QString &layout, + const QString §ion) { - int offset = sharedCacheItemOffset(HbSharedCache::LayoutDefinition, fileName + layout + section); + int offset = sharedCacheItemOffset(HbSharedCache::LayoutDefinition, + fileName + layout + section); if ( -1 != offset ) { HbWidgetLoader::LayoutDefinition *layoutDefs = - HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory,offset); + HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, + offset); return layoutDefs; } Q_D(HbThemeClient); @@ -184,7 +191,6 @@ return d->typefaceInfo(); } - /** * HbThemeClient::notifyForegroundLostToServer() * @@ -204,7 +210,8 @@ { int offset = sharedCacheItemOffset(HbSharedCache::Effect, filePath); if ( -1 != offset ) { - HbEffectFxmlData *effectFxmlData = HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory,offset); + HbEffectFxmlData *effectFxmlData = + HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, offset); return effectFxmlData; } Q_D(HbThemeClient); @@ -331,8 +338,12 @@ */ int HbThemeClient::sharedCacheItemOffset(HbSharedCache::ItemType type, const QString & key) { + int offset = -1; HbSharedCache *cache = HbSharedCache::instance(); - return cache->offset(type, key); + if (cache) { + offset = cache->offset(type, key); + } + return offset; } #ifdef HB_THEME_SERVER_MEMORY_REPORT @@ -361,7 +372,8 @@ HbRenderingMode renderMode) { Q_D(HbThemeClient); - return d->getMultiIconInfo(multiPartIconList, sizeList,aspectRatioMode, mode, mirrored, options, color, renderMode); + return d->getMultiIconInfo(multiPartIconList, sizeList,aspectRatioMode, mode, + mirrored, options, color, renderMode); } /** diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbthemeclient_p.h --- a/src/hbcore/theme/hbthemeclient_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbthemeclient_p.h Thu May 27 13:10:59 2010 +0300 @@ -42,14 +42,12 @@ class HB_AUTOTEST_EXPORT HbThemeClient { - public: - bool connectToServer(); QSizeF getSharedIconDefaultSize(const QString &iconPath); - HbSharedIconInfo getSharedIconInfo(const QString& iconPath , + HbSharedIconInfo getSharedIconInfo(const QString &iconPath, const QSizeF &size, Qt::AspectRatioMode aspectRatioMode, QIcon::Mode mode, @@ -60,20 +58,23 @@ QByteArray getSharedBlob(const QString &name); - HbWidgetLoader::LayoutDefinition *getSharedLayoutDefs(const QString &fileName,const QString &layout,const QString §ion); - - HbCss::StyleSheet *getSharedStyleSheet(const QString &filepath, HbLayeredStyleLoader::LayerPriority priority); + HbWidgetLoader::LayoutDefinition *getSharedLayoutDefs(const QString &fileName, + const QString &layout, + const QString §ion); + HbCss::StyleSheet *getSharedStyleSheet( + const QString &filepath, + HbLayeredStyleLoader::LayerPriority priority); HbEffectFxmlData *getSharedEffect(const QString &filePath); - bool addSharedEffect(const QString& filePath); + bool addSharedEffect(const QString &filePath); HbDeviceProfileList *deviceProfiles(); HbTypefaceInfoVector *typefaceInfo(); void notifyForegroundLostToServer(); - void unloadIcon(const QString& iconPath , + void unloadIcon(const QString &iconPath, const QSizeF &size, Qt::AspectRatioMode aspectRatioMode, QIcon::Mode mode, @@ -81,7 +82,7 @@ const QColor &color, HbRenderingMode renderMode); - void unLoadMultiIcon(const QStringList& iconPathList, + void unLoadMultiIcon(const QStringList &iconPathList, const QVector &sizeList, Qt::AspectRatioMode aspectRatioMode, QIcon::Mode mode, @@ -90,7 +91,7 @@ HbRenderingMode renderMode); HbSharedIconInfo getMultiPartIconInfo(const QStringList &multiPartIconList, - const HbMultiPartSizeData &multiPartIconData , + const HbMultiPartSizeData &multiPartIconData, const QSizeF &size, Qt::AspectRatioMode aspectRatioMode, QIcon::Mode mode, @@ -100,7 +101,7 @@ HbRenderingMode renderMode); HbSharedIconInfoList getMultiIconInfo(const QStringList &multiPartIconList, - const QVector &sizeList , + const QVector &sizeList, Qt::AspectRatioMode aspectRatioMode, QIcon::Mode mode, bool mirrored, diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbthemeclient_p_p.h --- a/src/hbcore/theme/hbthemeclient_p_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbthemeclient_p_p.h Thu May 27 13:10:59 2010 +0300 @@ -77,9 +77,12 @@ const QColor &color, HbRenderingMode renderMode); - HbWidgetLoader::LayoutDefinition *getSharedLayoutDefs(const QString &fileName, const QString &layout, const QString §ion); + HbWidgetLoader::LayoutDefinition *getSharedLayoutDefs(const QString &fileName, + const QString &layout, + const QString §ion); - HbCss::StyleSheet *getSharedStyleSheet(const QString &filepath, HbLayeredStyleLoader::LayerPriority priority); + HbCss::StyleSheet *getSharedStyleSheet(const QString &filepath, + HbLayeredStyleLoader::LayerPriority priority); HbEffectFxmlData *getSharedEffect(const QString &filePath); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbthemeclient_symbian_p.cpp --- a/src/hbcore/theme/hbthemeclient_symbian_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbthemeclient_symbian_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -61,7 +61,7 @@ bool HbThemeClientPrivate::connectToServer() { TInt error(KErrNone); - for( int tries(0); tries < 100; tries++) { + for(int tries(0); tries < 3; tries++) { error = CreateSession(KThemeServerName, Version(), KDefaultMessageSlots); if(!error) { // connected to existing server - OK @@ -72,7 +72,7 @@ break; } error = StartServer(); - if(!error || (error ==KErrAlreadyExists)) { + if(!error || (error == KErrAlreadyExists)) { // If server launched ok , try again to connect continue; } @@ -103,7 +103,7 @@ KThemeServerBuildVersionNumber)); } -QSizeF HbThemeClientPrivate::getSharedIconDefaultSize(const QString& iconPath) +QSizeF HbThemeClientPrivate::getSharedIconDefaultSize(const QString &iconPath) { if (!clientConnected) { return QSizeF(); @@ -132,7 +132,7 @@ * * Returns the shared icon information */ -HbSharedIconInfo HbThemeClientPrivate::getSharedIconInfo(const QString& iconPath , +HbSharedIconInfo HbThemeClientPrivate::getSharedIconInfo(const QString &iconPath, const QSizeF &size, Qt::AspectRatioMode aspectRatioMode, QIcon::Mode mode, @@ -178,15 +178,16 @@ * getMultiPartIconInfo */ -HbSharedIconInfo HbThemeClientPrivate::getMultiPartIconInfo(const QStringList &multiPartIconList, - const HbMultiPartSizeData &multiPartIconData , - const QSizeF &size, - Qt::AspectRatioMode aspectRatioMode, - QIcon::Mode mode, - bool mirrored, - HbIconLoader::IconLoaderOptions options, - const QColor &color, - HbRenderingMode renderMode) +HbSharedIconInfo HbThemeClientPrivate::getMultiPartIconInfo( + const QStringList &multiPartIconList, + const HbMultiPartSizeData &multiPartIconData, + const QSizeF &size, + Qt::AspectRatioMode aspectRatioMode, + QIcon::Mode mode, + bool mirrored, + HbIconLoader::IconLoaderOptions options, + const QColor &color, + HbRenderingMode renderMode) { HbSharedIconInfo sharedIconInfo; sharedIconInfo.type = INVALID_FORMAT; @@ -205,10 +206,10 @@ params.multiPartIconList[i].Copy(pieceIconId); } int noOfPieces = 1; - if (multiPartIconData.multiPartIconId.contains("_3PV",Qt::CaseInsensitive) - || multiPartIconData.multiPartIconId.contains("_3PH",Qt::CaseInsensitive)) { + if (multiPartIconData.multiPartIconId.contains("_3PV", Qt::CaseInsensitive) + || multiPartIconData.multiPartIconId.contains("_3PH", Qt::CaseInsensitive)) { noOfPieces = 3; - } else if (multiPartIconData.multiPartIconId.contains("_9P",Qt::CaseInsensitive)) { + } else if (multiPartIconData.multiPartIconId.contains("_9P", Qt::CaseInsensitive)) { noOfPieces = 9; } @@ -247,12 +248,13 @@ * * Returns the shared css(stylesheet) information */ -HbCss::StyleSheet *HbThemeClientPrivate::getSharedStyleSheet(const QString &fileName, HbLayeredStyleLoader::LayerPriority priority) +HbCss::StyleSheet *HbThemeClientPrivate::getSharedStyleSheet( + const QString &fileName, HbLayeredStyleLoader::LayerPriority priority) { if ( !clientConnected ) { return 0; } - HbCss::StyleSheet* styleSheet(0); + HbCss::StyleSheet *styleSheet(0); TBuf<256> fileDes(fileName.utf16()); TBuf<5> layerPriority; @@ -316,7 +318,8 @@ if (KErrNone == err) { #ifdef THEME_SERVER_TRACES - qDebug() << "HbThemeClientPrivate::getSharedEffect effectInfo.offSet is:" << effectInfo.offset; + qDebug() << "HbThemeClientPrivate::getSharedEffect effectInfo.offSet is:" + << effectInfo.offset; #endif if (effectInfo.offset >= 0) { fxmlData = HbMemoryUtils::getAddress( @@ -335,7 +338,7 @@ * * Adds the shared effect information */ -bool HbThemeClientPrivate::addSharedEffect(const QString& filePath) +bool HbThemeClientPrivate::addSharedEffect(const QString &filePath) { #ifdef THEME_SERVER_TRACES qDebug() << "HbThemeClientPrivate::addSharedEffect" << filePath; @@ -384,7 +387,7 @@ * * unload icon */ -void HbThemeClientPrivate::unloadIcon(const QString& iconPath , +void HbThemeClientPrivate::unloadIcon(const QString &iconPath, const QSizeF &size, Qt::AspectRatioMode aspectRatioMode, QIcon::Mode mode, @@ -411,7 +414,7 @@ params.renderMode = (TUint8)renderMode; TPckg paramPckg(params); - TIpcArgs args(¶mPckg,0); + TIpcArgs args(¶mPckg, 0); SendReceive(EUnloadIcon, args); } @@ -420,7 +423,7 @@ * * unload multiple icons */ -void HbThemeClientPrivate::unLoadMultiIcon(const QStringList& iconPathList, +void HbThemeClientPrivate::unLoadMultiIcon(const QStringList &iconPathList, const QVector &sizeList, Qt::AspectRatioMode aspectRatioMode, QIcon::Mode mode, @@ -458,13 +461,14 @@ * * Returns the layout definition for the given file name,layout name,section name */ -HbWidgetLoader::LayoutDefinition* HbThemeClientPrivate::getSharedLayoutDefs(const QString &fileName,const QString &layout,const QString §ion) +HbWidgetLoader::LayoutDefinition *HbThemeClientPrivate::getSharedLayoutDefs( + const QString &fileName, const QString &layout, const QString §ion) { if ( !clientConnected ) { return 0; } - HbWidgetLoader::LayoutDefinition* layoutDef(0); + HbWidgetLoader::LayoutDefinition *layoutDef(0); TBuf<256> fileDes(fileName.utf16()); TBuf<256> layoutDes(layout.utf16()); @@ -492,9 +496,9 @@ HbDeviceProfileList *HbThemeClientPrivate::deviceProfiles() { if ( !clientConnected ) { - if(!connectToServer()) { - qWarning()<<"Theme client unable to connect to server in HbThemeClientPrivate::deviceProfiles"; - return 0; + if(!connectToServer()) { + qWarning() << "Theme client unable to connect to server in HbThemeClientPrivate::deviceProfiles"; + return 0; } } @@ -558,22 +562,21 @@ TInt HbThemeClientPrivate::CreateServerProcess() { TInt result; - const TUid KServerUid2={0x100039CE}; - const TUidType serverUid( KNullUid, KServerUid2, KServerUid3 ); + const TUid KServerUid2 = {0x100039CE}; + const TUidType serverUid(KNullUid, KServerUid2, KServerUid3); RProcess server; _LIT(KThemeServerExe,"hbthemeserver.exe"); - result = server.Create( KThemeServerExe, KNullDesC, EOwnerProcess ); + result = server.Create(KThemeServerExe, KNullDesC, EOwnerProcess); if (KErrNone != result) { return result; } TRequestStatus status; server.Rendezvous(status); - if (status!=KRequestPending) { + if (status != KRequestPending) { server.Kill(0); // abort startup - } - else { + } else { server.Resume(); // logon OK - start the server } User::WaitForRequest(status);// wait for start or death @@ -585,14 +588,15 @@ * getMultiIconInfo function returns a list of HbSharedIconInfo * for the given list of frameitems. */ -HbSharedIconInfoList HbThemeClientPrivate::getMultiIconInfo(const QStringList &multiPartIconList, - const QVector &sizeList , - Qt::AspectRatioMode aspectRatioMode, - QIcon::Mode mode, - bool mirrored, - HbIconLoader::IconLoaderOptions options, - const QColor &color, - HbRenderingMode renderMode) +HbSharedIconInfoList HbThemeClientPrivate::getMultiIconInfo( + const QStringList &multiPartIconList, + const QVector &sizeList, + Qt::AspectRatioMode aspectRatioMode, + QIcon::Mode mode, + bool mirrored, + HbIconLoader::IconLoaderOptions options, + const QColor &color, + HbRenderingMode renderMode) { Q_UNUSED(options) @@ -644,14 +648,16 @@ { int freeSharedMem = -1; if ( !clientConnected ) { - qWarning()<<"Theme client unable to connect to server in HbThemeClientPrivate::freeSharedMemory"; + qWarning() << "Theme client unable to connect to server in HbThemeClientPrivate::freeSharedMemory"; return freeSharedMem; } TPckg freeInfo(freeSharedMem); TIpcArgs args(0, &freeInfo); TInt err = SendReceive(EFreeSharedMem, args); +#ifdef THEME_SERVER_TRACES qDebug() << "HbThemeClientPrivate::freeSharedMemory end"; +#endif return freeSharedMem; } @@ -662,7 +668,7 @@ { int allocatedSharedMem = -1; if ( !clientConnected ) { - qWarning()<<"Theme client unable to connect to server in HbThemeClientPrivate::allocatedSharedMemory"; + qWarning() << "Theme client unable to connect to server in HbThemeClientPrivate::allocatedSharedMemory"; return allocatedSharedMem; } @@ -679,7 +685,7 @@ { int allocatedHeapMem = -1; if ( !clientConnected ) { - qWarning()<<"Theme client unable to connect to server in HbThemeClientPrivate::allocatedHeapMemory"; + qWarning() << "Theme client unable to connect to server in HbThemeClientPrivate::allocatedHeapMemory"; return allocatedHeapMem; } @@ -736,7 +742,7 @@ { if ( !clientConnected ) { if(!connectToServer()) { - qWarning()<<"Theme client unable to connect to server in HbThemeClientPrivate::typefaceInfo"; + qWarning() << "Theme client unable to connect to server in HbThemeClientPrivate::typefaceInfo"; return 0; } } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbthemecommon_p.h --- a/src/hbcore/theme/hbthemecommon_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbthemecommon_p.h Thu May 27 13:10:59 2010 +0300 @@ -38,6 +38,7 @@ #endif #define THEME_SERVER_NAME "hbthemeserver" +#define SHARED_MEMORY_MANAGER_UNIT_TEST "unittest_hbsharedmemorymanager" #define BIN_CSS_APP "hbbincssmaker" #define BIN_CSS_APP_SYMBIAN "hbbincssmaker_symbian" #ifdef HB_BIN_CSS @@ -273,8 +274,7 @@ }; // Function codes (opcodes) used in message passing between client and server -enum HbThemeServerRequest - { +enum HbThemeServerRequest { EInvalidServerRequest = 0, EIconLookup = 1, EIconDefaultSize, @@ -330,18 +330,17 @@ #ifdef HB_THEME_SERVER_MEMORY_REPORT ,ECreateMemoryReport #endif - }; + }; //Rendering Modes -enum HbRenderingMode -{ - ESWRendering, - EHWRendering +enum HbRenderingMode { + ESWRendering, + EHWRendering }; struct HbFreeRamNotificationData { - int bytesToFree; - bool useSwRendering; + int bytesToFree; + bool useSwRendering; }; #endif /* HBTHEMECOMMON_P_H */ diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbthemelistener_symbian_p.cpp --- a/src/hbcore/theme/hbthemelistener_symbian_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbthemelistener_symbian_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -22,7 +22,9 @@ ** Nokia at developer.feedback@nokia.com. ** ****************************************************************************/ - +#include "hbthemelistener_symbian_p.h" +#include "hbthemeclient_p_p.h" +#include "hbthemecommon_symbian_p.h" #include #include @@ -34,10 +36,6 @@ #include #endif -#include "hbthemeclient_p_p.h" -#include "hbthemelistener_symbian_p.h" -#include "hbthemecommon_symbian_p.h" - /** * Constructor */ @@ -71,12 +69,11 @@ SetActive(); TBuf<256> newTheme; if (KErrNone == mRepository->Get(HbThemeUtils::CurrentThemeSetting, newTheme)) { - QString qnewTheme((QChar*)newTheme.Ptr(),newTheme.Length()); + QString qnewTheme((QChar*)newTheme.Ptr(), newTheme.Length()); themeClient->handleThemeChange(qnewTheme); } } - /** * DoCancel */ @@ -84,4 +81,3 @@ { mRepository->NotifyCancelAll(); } - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbthemelistener_symbian_p.h --- a/src/hbcore/theme/hbthemelistener_symbian_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbthemelistener_symbian_p.h Thu May 27 13:10:59 2010 +0300 @@ -23,14 +23,16 @@ ** ****************************************************************************/ -#ifndef HBTHEMELISTENER_P_H -#define HBTHEMELISTENER_P_H +#ifndef HBTHEMELISTENER_SYMBIAN_P_H +#define HBTHEMELISTENER_SYMBIAN_P_H #include #include #include -class CHbThemeListenerPrivate:public CActive +class HbThemeClientPrivate; + +class CHbThemeListenerPrivate : public CActive { public: //themeClient is notified, when the theme changes. @@ -44,6 +46,4 @@ CRepository *mRepository; }; -#endif /*HBTHEMELISTENER_P_H_ */ - - +#endif /*HBTHEMELISTENER_SYMBIAN_P_H */ diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbthemeutils_p.cpp --- a/src/hbcore/theme/hbthemeutils_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbthemeutils_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -62,7 +62,8 @@ static const char *defaultThemeVariable = "DefaultActiveTheme"; // These are the used setting names corresponding to HbThemeUtils::Setting enumeration. -static const QString settingNames[6] = {"", "basetheme", "defaulttheme", "defaultthemedir", "currenttheme", "operatorbasepath"}; +static const QString settingNames[6] = {"", "basetheme", "defaulttheme", + "defaultthemedir", "currenttheme", "operatorbasepath"}; static const char *getResourceFolderName(Hb::ResourceType resType) { switch(resType) { @@ -100,11 +101,14 @@ HbThemeUtilsPrivate() : settingsRetrieved(false) { // add the operator level, app level and platform level hierarchies in the hierarchy list. - hierarchies << HbHierarchy(HbThemeUtils::operatorHierarchy, HbLayeredStyleLoader::Priority_Operator) + hierarchies << HbHierarchy(HbThemeUtils::operatorHierarchy, + HbLayeredStyleLoader::Priority_Operator) #ifdef USE_APPTHEMES - << HbHierarchy(HbThemeUtils::appHierarchy, HbLayeredStyleLoader::Priority_Application) + << HbHierarchy(HbThemeUtils::appHierarchy, + HbLayeredStyleLoader::Priority_Application) #endif - << HbHierarchy(HbThemeUtils::platformHierarchy, HbLayeredStyleLoader::Priority_Theme); + << HbHierarchy(HbThemeUtils::platformHierarchy, + HbLayeredStyleLoader::Priority_Theme); } QString constructOperatorPath(const QString &operatorPath, const QString &fileName) const { @@ -136,7 +140,8 @@ if (!operatorName.isEmpty()) { QStringList operatorPaths; operatorPaths << QLatin1String(HbThemeUtils::operatorHierarchy) + '/'; - operatorPaths = HbStandardDirs::findExistingFolderList(operatorPaths, QString(), Hb::IconResource); + operatorPaths = HbStandardDirs::findExistingFolderList(operatorPaths, QString(), + Hb::IconResource); for (int i=0;i < operatorPaths.size();i++) { if (operatorPaths[i] == operatorName) { operatorPath = operatorPaths[i] + '/' + operatorName; @@ -148,10 +153,7 @@ void HbThemeUtilsPrivate::readSettings() { - // Read settings from QSettings and store them in member variables to - // avoid slow instantiating of QSettings in advance. - - // The only changing setting is currentThemeSetting and its value is updated in theme change event. + // The only changing setting is currentThemeSetting and its value is updated in server side in theme change event. if (!settingsRetrieved) { #ifdef Q_OS_SYMBIAN @@ -159,31 +161,31 @@ TRAP_IGNORE(repository = CRepository::NewL(KServerUid3)); if (repository) { TBuf<256> value; - if (KErrNone == repository->Get(HbThemeUtils::CurrentThemeSetting,value)) { - QString qvalue((QChar*)value.Ptr(),value.Length()); + if (KErrNone == repository->Get(HbThemeUtils::CurrentThemeSetting, value)) { + QString qvalue((QChar*)value.Ptr(), value.Length()); currentTheme = qvalue.trimmed(); } value.Zero(); - if (KErrNone == repository->Get(HbThemeUtils::DefaultThemeSetting,value)) { - QString qvalue((QChar*)value.Ptr(),value.Length()); + if (KErrNone == repository->Get(HbThemeUtils::DefaultThemeSetting, value)) { + QString qvalue((QChar*)value.Ptr(), value.Length()); defaultTheme = qvalue.trimmed(); } value.Zero(); - if (KErrNone == repository->Get(HbThemeUtils::DefaultThemeRootDirSetting,value)) { - QString qvalue((QChar*)value.Ptr(),value.Length()); + if (KErrNone == repository->Get(HbThemeUtils::DefaultThemeRootDirSetting, value)) { + QString qvalue((QChar*)value.Ptr(), value.Length()); defaultThemeRootDir = qvalue.trimmed(); } else { // Use the default value defaultThemeRootDir = HbStandardDirs::themesDir(); } value.Zero(); - if (KErrNone == repository->Get(HbThemeUtils::BaseThemeSetting,value)) { - QString qvalue((QChar*)value.Ptr(),value.Length()); + if (KErrNone == repository->Get(HbThemeUtils::BaseThemeSetting, value)) { + QString qvalue((QChar*)value.Ptr(), value.Length()); baseTheme = qvalue.trimmed(); } value.Zero(); - if (KErrNone == repository->Get(HbThemeUtils::OperatorNameSetting,value)) { - QString qvalue((QChar*)value.Ptr(),value.Length()); + if (KErrNone == repository->Get(HbThemeUtils::OperatorNameSetting, value)) { + QString qvalue((QChar*)value.Ptr(), value.Length()); operatorName = qvalue.trimmed(); } delete repository; @@ -193,7 +195,8 @@ currentTheme = settings.value(settingNames[HbThemeUtils::CurrentThemeSetting]).toString(); defaultTheme = settings.value(settingNames[HbThemeUtils::DefaultThemeSetting]).toString(); - defaultThemeRootDir = settings.value(settingNames[HbThemeUtils::DefaultThemeRootDirSetting]).toString(); + defaultThemeRootDir = + settings.value(settingNames[HbThemeUtils::DefaultThemeRootDirSetting]).toString(); baseTheme = settings.value(settingNames[HbThemeUtils::BaseThemeSetting]).toString(); operatorName = settings.value(settingNames[HbThemeUtils::OperatorNameSetting]).toString(); #endif @@ -215,7 +218,7 @@ * if priorityOrder is greater than the currently existing hierarchies, this hierarchy will be appended * at the end of the hierarchy list * - * @return the positon in the new hierarchy in the hierarchy list. -1 if the new hierarchy is not added. + * @return the position in the new hierarchy in the hierarchy list. -1 if the new hierarchy is not added. */ int HbThemeUtils::addHierarchy(const QString &newHierarchy, int priorityOrder) @@ -233,10 +236,8 @@ if (priorityOrder > d.hierarchies.count()) { d.hierarchies.append(add); retValue = d.hierarchies.count() - 1; - } - // else insert it at the correct position - else { - d.hierarchies.insert(priorityOrder,add); + } else { // insert at the correct position + d.hierarchies.insert(priorityOrder, add); retValue = priorityOrder; } } @@ -307,7 +308,8 @@ break; case HbLayeredStyleLoader::Priority_Application: hierarchyListWithPathInfo.insert(HbLayeredStyleLoader::Priority_Application, - (hierarchy.name + '/' + HbMemoryUtils::getCleanAppName() + '/' + resourcePath + '/' + currentTheme + '/' + fileName)); + (hierarchy.name + '/' + HbMemoryUtils::getCleanAppName() + '/' + + resourcePath + '/' + currentTheme + '/' + fileName)); break; case HbLayeredStyleLoader::Priority_Theme: // Add platform theme folder only if it is different from base theme @@ -318,7 +320,9 @@ } break; default: - // this is for a new hierarchy level and for the time being HbLayeredStyleLoader::Priority_Theme prirority is used,since there is no enum defined in hblayeredstyleloader_p.h + // this is for a new hierarchy level and for the time being + // HbLayeredStyleLoader::Priority_Theme priority is used, + // since there is no enum defined in hblayeredstyleloader_p.h // priority should be replaced with respective enum. hierarchyListWithPathInfo.insert(HbLayeredStyleLoader::Priority_Theme, (hierarchy.name + '/' + resourcePath + '/' + currentTheme + '/' + fileName)); @@ -352,11 +356,11 @@ if (baseThemeInfo.name.isEmpty()) { // Base theme does not exists in rom // Get the base theme info from core resources - baseThemeInfo = getBaseThemeFromFile(coreResourcesRootDir); + baseThemeInfo = getBaseThemeFromFile(CoreResourcesRootDir); } } else { // So settings are initialized, it will have other value as well - baseThemeInfo.rootDir = getThemeSetting(DefaultThemeRootDirSetting).trimmed(); + baseThemeInfo.rootDir = getThemeSetting(DefaultThemeRootDirSetting).trimmed(); } } @@ -367,7 +371,6 @@ */ HbThemeInfo HbThemeUtils::defaultTheme() { - // getting base theme makes sure that default theme was added in // QSettings, if it was not already done const HbThemeInfo &themeInfo = baseTheme(); @@ -404,8 +407,8 @@ TRAP_IGNORE(repository = CRepository::NewL(KServerUid3)); if (repository) { TPtrC valueptr(reinterpret_cast(value.constData())); - if (KErrNotFound == repository->Set(setting,valueptr)) { - repository->Create(setting,valueptr); + if (KErrNotFound == repository->Set(setting, valueptr)) { + repository->Create(setting, valueptr); } delete repository; @@ -476,7 +479,7 @@ const QString &rootDir) { // If there is any base theme - if ((!baseThemeInfo.name.isEmpty()) && isThemeValid(HbThemeInfo(baseThemeInfo.name,rootDir))) { + if ((!baseThemeInfo.name.isEmpty()) && isThemeValid(HbThemeInfo(baseThemeInfo.name, rootDir))) { // Save these theme names in settings setThemeSetting(BaseThemeSetting, baseThemeInfo.name); setThemeSetting(DefaultThemeRootDirSetting, rootDir); @@ -496,11 +499,12 @@ { // If the theme contains index.theme in icons resources // it will be assumed valid - QFile themeIndexFile(themeInfo.rootDir + '/' + platformHierarchy + '/' + iconsResourceFolder + "/" + themeInfo.name + "/index.theme"); + QFile themeIndexFile(themeInfo.rootDir + '/' + platformHierarchy + '/' + + iconsResourceFolder + '/' + themeInfo.name + "/index.theme"); return themeIndexFile.open(QIODevice::ReadOnly); } -const HbThemeIndexInfo HbThemeUtils::getThemeIndexInfo(const HbThemeType &type) +HbThemeIndexInfo HbThemeUtils::getThemeIndexInfo(const HbThemeType &type) { HbThemeIndexInfo info; GET_MEMORY_MANAGER(HbMemoryManager::SharedMemory); @@ -541,5 +545,3 @@ return info; } - - diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/theme/hbthemeutils_p.h --- a/src/hbcore/theme/hbthemeutils_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/theme/hbthemeutils_p.h Thu May 27 13:10:59 2010 +0300 @@ -39,8 +39,9 @@ { HbHierarchy() {} HbHierarchy(QString name, - HbLayeredStyleLoader::LayerPriority layerPriority) : name(name), - layerPriority(layerPriority) {} + HbLayeredStyleLoader::LayerPriority layerPriority) + : name(name), + layerPriority(layerPriority) {} QString name; HbLayeredStyleLoader::LayerPriority layerPriority; }; @@ -50,7 +51,7 @@ HbThemeInfo() { } - HbThemeInfo(const QString &themeName, const QString &dir):name(themeName),rootDir(dir) + HbThemeInfo(const QString &themeName, const QString &dir) : name(themeName), rootDir(dir) { } QString name; @@ -60,8 +61,8 @@ struct HbThemeIndexInfo { HbThemeIndexInfo() : - name(QString("")), - path(QString("")), + name(), + path(), themeIndexOffset(0) { } @@ -76,7 +77,6 @@ quint32 themeIndexOffset; }; - class HB_CORE_PRIVATE_EXPORT HbThemeUtils { public: @@ -93,8 +93,7 @@ const QString ¤tTheme, const Hb::ResourceType resType ); - enum Setting - { + enum Setting { BaseThemeSetting = 0x1, DefaultThemeSetting = 0x2, DefaultThemeRootDirSetting = 0x3, @@ -105,13 +104,11 @@ static QString getThemeSetting(Setting setting); static void setThemeSetting(Setting setting, const QString &value); static void updateThemeSetting(Setting setting, const QString &value); - - static const HbThemeInfo &baseTheme(); static HbThemeInfo defaultTheme(); static bool isThemeValid(const HbThemeInfo &themeInfo); - static const HbThemeIndexInfo getThemeIndexInfo(const HbThemeType& type); + static HbThemeIndexInfo getThemeIndexInfo(const HbThemeType& type); // Standard folder names static const char *iconsResourceFolder; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/utils/hbdevicemodeinfo_p.cpp --- a/src/hbcore/utils/hbdevicemodeinfo_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/utils/hbdevicemodeinfo_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -35,15 +35,15 @@ public: HbDeviceModeInfoPrivate(); - void init(); + void init(const QString &wsIniFile); public: QMap mModes; }; -void HbDeviceModeInfoPrivate::init() +void HbDeviceModeInfoPrivate::init(const QString &wsIniFile) { - HbWsiniParser::parseModes(mModes); + HbWsiniParser::parseModes(mModes, wsIniFile); } HbDeviceModeInfoPrivate::HbDeviceModeInfoPrivate() @@ -58,14 +58,10 @@ */ -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -HbDeviceModeInfo::HbDeviceModeInfo() +HbDeviceModeInfo::HbDeviceModeInfo(const QString &wsIniFile) : d_ptr(new HbDeviceModeInfoPrivate()) { - d_ptr->init(); + d_ptr->init(wsIniFile); } HbDeviceModeInfo::~HbDeviceModeInfo() diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/utils/hbdevicemodeinfo_p.h --- a/src/hbcore/utils/hbdevicemodeinfo_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/utils/hbdevicemodeinfo_p.h Thu May 27 13:10:59 2010 +0300 @@ -36,7 +36,7 @@ class HB_AUTOTEST_EXPORT HbDeviceModeInfo { public: - HbDeviceModeInfo(); + HbDeviceModeInfo(const QString &wsIniFile = QString()); ~HbDeviceModeInfo(); QList modeNumbers() const; diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/utils/hbforegroundwatcher.cpp --- a/src/hbcore/utils/hbforegroundwatcher.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/utils/hbforegroundwatcher.cpp Thu May 27 13:10:59 2010 +0300 @@ -30,6 +30,7 @@ #include #include #include "hbsleepmodelistener_p.h" +#include "hbmainwindow_p.h" #ifdef HB_EFFECTS_OPENVG #include #endif @@ -39,14 +40,17 @@ #include "hbthemecommon_p.h" /*! - @proto - @hbcore \class HbForegroundWatcher \brief Listens for Symbian foreground-background notifications via CCoeEnv. + Note that this class cannot be used to safely determine if the application is + in foreground or not. For example there may not be a foreground-gained + notification when the application is starting and we always assume that the + application is started to foreground. Therefore use this class only to get + notifications about loosing/gaining foreground after app startup. + \internal - */ /*! @@ -73,7 +77,6 @@ This signal is emitted when lights are switched off and the app is in foreground. */ - HbForegroundWatcher *HbForegroundWatcher::instance() { static HbForegroundWatcher *watcher = new HbForegroundWatcher(qApp); @@ -91,6 +94,7 @@ } else { qWarning("HbForegroundWatcher: CoeEnv not available"); } + #endif QApplication::instance()->installEventFilter(this); HbSleepModeListener::instance(); // make sure the instance is created @@ -120,6 +124,12 @@ if (!signalsBlocked()) { HbEffectInternal::resumeEffects(); } +#ifdef Q_OS_SYMBIAN + HbMainWindow *mWindow = HbInstance::instance()->allMainWindows().first(); + if (mWindow) { + HbMainWindowPrivate::d_ptr(mWindow)->updateForegroundOrientationPSKey(); + } +#endif //Q_OS_SYMBIAN } mForeground = true; } diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/utils/hboogmwatcher.cpp --- a/src/hbcore/utils/hboogmwatcher.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/utils/hboogmwatcher.cpp Thu May 27 13:10:59 2010 +0300 @@ -58,11 +58,16 @@ as possible in order to increase the amount of free graphics memory. */ +static bool oogmWatcherDeleted = false; + /*! Returns the global HbOogmWatcher instance. */ HbOogmWatcher *HbOogmWatcher::instance() { + if (oogmWatcherDeleted) { + return 0; + } static HbOogmWatcher *watcher = new HbOogmWatcher(qApp); return watcher; } @@ -78,6 +83,7 @@ HbOogmWatcher::~HbOogmWatcher() { delete d_ptr; + oogmWatcherDeleted = true; } /*! diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/utils/hbtextmeasurementutility_p.cpp --- a/src/hbcore/utils/hbtextmeasurementutility_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/utils/hbtextmeasurementutility_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -383,7 +383,14 @@ dir.mkpath(filePath); } - filePath.append(domainName); + // Make sure there are no illegal characters in "domainName" + QString tempName = domainName; + tempName.remove(QRegExp("[^a-zA-Z0-9]")); + if (tempName.isEmpty()) { + tempName = "unknown"; + } + + filePath.append(tempName); filePath.append('_'); filePath.append(profile.name()); filePath.append('_'); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/utils/hbthetestwidget_p.cpp --- a/src/hbcore/utils/hbthetestwidget_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/utils/hbthetestwidget_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -322,11 +322,8 @@ HbTextMeasurementUtility *measureUtility = HbTextMeasurementUtility::instance(); if ( measureUtility->locTestMode() ) { HbDeviceProfile profile = HbDeviceProfile::profile(d->mMainWindow); - if (!HbApplication::applicationName().isEmpty()) { - measureUtility->writeReport(profile, HbApplication::applicationName()); - } else { - measureUtility->writeReport(profile, "unknown_application"); - } + QFileInfo info(QCoreApplication::applicationFilePath()); + measureUtility->writeReport(profile, info.baseName()); measureUtility->reset(); } else { showWarning("Localization metrics run-time flag disabled!"); diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/utils/hbwsiniparser_p.cpp --- a/src/hbcore/utils/hbwsiniparser_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/utils/hbwsiniparser_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -30,9 +30,8 @@ #include "hbwsiniparser_p.h" -// ======== MEMBER FUNCTIONS ======== +#define WSINI_PARSE_ENTRY(keyword, func) { keyword, &HbWsiniParser::call_##func } -#define WSINI_PARSE_ENTRY(keyword, func) { keyword, &HbWsiniParser::call_##func } const HbWsiniParser::ParserEntry HbWsiniParser::mParseTable[] = { WSINI_PARSE_ENTRY("S60_HWSTATE_KEYCODE", hardwareStateKeycode), //S60_HWSTATE_KEYCODEn @@ -51,14 +50,23 @@ a wsini file is put in the directory c:\hb\data, then that wsini will simulate the behavior on a Symbian device. */ -void HbWsiniParser::parseModes(QMap &modes) +void HbWsiniParser::parseModes(QMap &modes, const QString &wsIniFile) { HbWsiniParser parser(modes); #if defined(Q_WS_S60) + Q_UNUSED(wsIniFile); parser.parseFile("z:\\system\\data\\wsini.ini"); -#elif defined(Q_OS_WIN32) - parser.parseFile("c:/hb/data/wsini.ini"); -#endif +#else //!Q_WS_S60 + // For unit testing + if (!wsIniFile.isEmpty()) { + parser.parseFile(wsIniFile); + } else { +#if defined(Q_OS_WIN32) + // In windows try to parse file from the hard-coded location + parser.parseFile("c:/hb/data/wsini.ini"); +#endif //Q_OS_WIN32 + } +#endif //!Q_WS_S60 } HbWsiniParser::HbWsiniParser(QMap &modes) diff -r 06ff229162e9 -r 11d3954df52a src/hbcore/utils/hbwsiniparser_p.h --- a/src/hbcore/utils/hbwsiniparser_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbcore/utils/hbwsiniparser_p.h Thu May 27 13:10:59 2010 +0300 @@ -33,7 +33,7 @@ class HbWsiniParser { public: - static void parseModes(QMap &modes); + static void parseModes(QMap &modes, const QString &wsIniFile); private: HbWsiniParser(QMap &modes); diff -r 06ff229162e9 -r 11d3954df52a src/hbinput/inputwidgets/hbinputbuttongroup.cpp --- a/src/hbinput/inputwidgets/hbinputbuttongroup.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbinput/inputwidgets/hbinputbuttongroup.cpp Thu May 27 13:10:59 2010 +0300 @@ -23,12 +23,12 @@ ** ****************************************************************************/ +#include #include #include #include #include #include -#include #include #include @@ -328,7 +328,7 @@ qreal cellHeight = q->boundingRect().height() / mGridSize.height(); QFont font = HbFontSpec(HbFontSpec::Primary).font(); - font.setPixelSize(fontSize(ButtonTextTypeLabel)); + font.setPixelSize(int(fontSize(ButtonTextTypeLabel))); QFontMetricsF fontMetrics(font); qreal textWidth = fontMetrics.width(item->text(HbInputButton::ButtonTextIndexPrimary)); @@ -348,10 +348,6 @@ if (q->parentItem()) { group->setZValue(q->parentItem()->zValue() + 1); } - - QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; - effect->setBlurRadius(8); - group->setGraphicsEffect(effect); group->setButtonBorderSize(0); HbFrameDrawer *drawer = HbFrameDrawerPool::get(HbPreviewBackground, HbFrameDrawer::ThreePiecesHorizontal, QSizeF(width, height)); @@ -389,9 +385,6 @@ mCharacterSelectionPreview->setActive(false); qreal margin = HbPreviewMarginInUnits * mUnitValue * 0.5; mCharacterSelectionPreview->setContentsMargins(margin, 0, margin, 0); - QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; - effect->setBlurRadius(8); - mCharacterSelectionPreview->setGraphicsEffect(effect); } HbInputButtonGroup *group = new HbInputButtonGroup(QSize(item->mappedCharacters().count(), 1)); @@ -405,7 +398,7 @@ qreal cellHeight = q->boundingRect().height() / mGridSize.height(); QFont font = HbFontSpec(HbFontSpec::Primary).font(); - font.setPixelSize(fontSize(ButtonTextTypeLabel)); + font.setPixelSize(int(fontSize(ButtonTextTypeLabel))); QFontMetricsF fontMetrics(font); qreal textWidth = fontMetrics.width(item->mappedCharacters()); @@ -723,9 +716,9 @@ int typeIndex = index % HbTextTypeCount / HbInputButton::ButtonStateCount; if (typeIndex == HbInputButton::ButtonTypeLabel) { - font.setPixelSize(fontSize(ButtonTextTypeLabel)); + font.setPixelSize(int(fontSize(ButtonTextTypeLabel))); } else { - font.setPixelSize(fontSize(ButtonTextTypeSingle)); + font.setPixelSize(int(fontSize(ButtonTextTypeSingle))); } mTextLayouts[index] = new QTextLayout(textContent.value(index), font); @@ -768,7 +761,7 @@ qreal cellHeight = size.height() / mGridSize.height(); QFont font = HbFontSpec(HbFontSpec::Primary).font(); - font.setPixelSize(fontSize(ButtonTextTypePrimary)); + font.setPixelSize(int(fontSize(ButtonTextTypePrimary))); mTextLayouts[index] = new QTextLayout(textContent.value(index), font); QFontMetricsF fontMetrics(font); @@ -806,7 +799,7 @@ qreal cellHeight = size.height() / mGridSize.height(); QFont font = HbFontSpec(HbFontSpec::Primary).font(); - font.setPixelSize(fontSize(ButtonTextTypeSecondaryFirstRow)); + font.setPixelSize(int(fontSize(ButtonTextTypeSecondaryFirstRow))); mTextLayouts[index] = new QTextLayout(textContent.value(index), font); QFontMetricsF fontMetrics(font); @@ -1118,7 +1111,9 @@ d->mButtonData.removeAt(index); } } else { - d->mButtonData.append(data); + if (data) { + d->mButtonData.append(data); + } } setButtons(d->mButtonData); } @@ -1136,7 +1131,10 @@ { Q_D(HbInputButtonGroup); - int index = d->mButtonGridPositions.value(QPair(column, row)); + int index = -1; + if (d->mButtonGridPositions.contains(QPair(column, row))) { + index = d->mButtonGridPositions.value(QPair(column, row)); + } setButton(data, index); } @@ -1207,7 +1205,10 @@ { Q_D(const HbInputButtonGroup); - int index = d->mButtonGridPositions.value(QPair(column, row)); + int index = -1; + if (d->mButtonGridPositions.contains(QPair(column, row))) { + index = d->mButtonGridPositions.value(QPair(column, row)); + } return button(index); } diff -r 06ff229162e9 -r 11d3954df52a src/hbinput/inputwidgets/hbinputbuttongroup.h --- a/src/hbinput/inputwidgets/hbinputbuttongroup.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbinput/inputwidgets/hbinputbuttongroup.h Thu May 27 13:10:59 2010 +0300 @@ -37,6 +37,7 @@ class HB_INPUT_EXPORT HbInputButtonGroup : public HbWidget { Q_OBJECT + Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled) public: explicit HbInputButtonGroup(QGraphicsItem *parent = 0); diff -r 06ff229162e9 -r 11d3954df52a src/hbinput/inputwidgets/hbinputcandidatelist.cpp --- a/src/hbinput/inputwidgets/hbinputcandidatelist.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbinput/inputwidgets/hbinputcandidatelist.cpp Thu May 27 13:10:59 2010 +0300 @@ -26,10 +26,6 @@ #include #include -#if QT_VERSION >= 0x040600 -#include -#endif - #include #include #include @@ -170,11 +166,6 @@ setFlag(QGraphicsItem::ItemIsPanel, true); setActive(false); - // enable drop shadow for the preview pane - QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; - effect->setBlurRadius(8); - setGraphicsEffect(effect); - setTimeout(NoTimeout); setAttribute(Qt::WA_InputMethodEnabled, false); connect(d->mList, SIGNAL(activated(HbListWidgetItem*)), this, SLOT(itemActivated(HbListWidgetItem*))); diff -r 06ff229162e9 -r 11d3954df52a src/hbinput/inputwidgets/hbinputexactwordpopup.cpp --- a/src/hbinput/inputwidgets/hbinputexactwordpopup.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbinput/inputwidgets/hbinputexactwordpopup.cpp Thu May 27 13:10:59 2010 +0300 @@ -28,9 +28,6 @@ #include #include #include -#if QT_VERSION >= 0x040600 -#include -#endif #include "hbdeviceprofile.h" #include "hbdialog.h" @@ -130,14 +127,9 @@ setModal(false); #if QT_VERSION >= 0x040600 - // Make sure the excat word popup never steals focus. + // Make sure the exact word popup never steals focus. setFlag(QGraphicsItem::ItemIsPanel, true); setActive(false); - - // enable drop shadow for the preview pane - QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; - effect->setBlurRadius(8); - setGraphicsEffect(effect); #endif d->mOption = new HbStyleOptionLabel(); diff -r 06ff229162e9 -r 11d3954df52a src/hbinput/inputwidgets/hbinputsettinglist.cpp --- a/src/hbinput/inputwidgets/hbinputsettinglist.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbinput/inputwidgets/hbinputsettinglist.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,9 +25,6 @@ #include #include -#if QT_VERSION >= 0x040600 -#include -#endif #include #include @@ -144,12 +141,6 @@ // Make sure the custom button list never steals focus. setFlag(QGraphicsItem::ItemIsPanel, true); setActive(false); - - // enable drop shadow for the setting list -// Effect deletion is crashing -> Effect temporarily removed -// QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; -// effect->setBlurRadius(8); -// setGraphicsEffect(effect); #endif connect(d->mLanguageButton, SIGNAL(clicked(bool)), this, SLOT(languageButtonClicked())); diff -r 06ff229162e9 -r 11d3954df52a src/hbinput/inputwidgets/hbinputvkbwidget.cpp --- a/src/hbinput/inputwidgets/hbinputvkbwidget.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbinput/inputwidgets/hbinputvkbwidget.cpp Thu May 27 13:10:59 2010 +0300 @@ -150,8 +150,8 @@ mLayout->setSpacing(0.0); qreal unitValue = HbDeviceProfile::profile(q->mainWindow()).unitValue(); - mCloseHandleHeight = HbCloseHandleHeightInUnits * unitValue; - mCloseHandleWidth = HbCloseHandleWidthInUnits * unitValue; + mCloseHandleHeight = (int)(HbCloseHandleHeightInUnits * unitValue); + mCloseHandleWidth = (int)(HbCloseHandleWidthInUnits * unitValue); mCloseHandle = new QGraphicsWidget(); mCloseHandle->setObjectName("vkbHandle"); @@ -357,6 +357,7 @@ if (!mScreenshotWidget) { mScreenshotWidget = new HbInputScreenshotWidget(); + mScreenshotWidget->setZValue(q->zValue()); mScreenshotWidget->setGeometry(q->geometry()); q->mainWindow()->scene()->addItem(mScreenshotWidget); } @@ -710,12 +711,19 @@ } HbInputFocusObject *focusObject = d->mOwner->focusObject(); - if (focusObject && - focusObject->editorInterface().isPredictionAllowed() && - predFactory->predictionEngineForLanguage(HbInputSettingProxy::instance()->globalInputLanguage())) { - d->mSettingList->setPredictionSelectionEnabled(true); - } else { - d->mSettingList->setPredictionSelectionEnabled(false); + if (focusObject) { + if (focusObject->editorInterface().inputConstraints() & HbEditorConstraintLatinAlphabetOnly) { + d->mSettingList->setLanguageSelectionEnabled(false); + } else { + d->mSettingList->setLanguageSelectionEnabled(true); + } + + if (focusObject->editorInterface().isPredictionAllowed() && + predFactory->predictionEngineForLanguage(HbInputSettingProxy::instance()->globalInputLanguage())) { + d->mSettingList->setPredictionSelectionEnabled(true); + } else { + d->mSettingList->setPredictionSelectionEnabled(false); + } } HbInputButtonGroup *buttonGroup = static_cast(contentItem()); @@ -777,6 +785,7 @@ Q_D(HbInputVkbWidget); closeSettingList(); + hide(); d->mSettingView = new HbView(this); d->mSettingView->setTitle(tr("Input Settings")); @@ -793,6 +802,7 @@ settingWidget->initializeWidget(); d->mCurrentView = mainWindow()->currentView(); + mainWindow()->clearFocus(); mainWindow()->setCurrentView(d->mSettingView); } diff -r 06ff229162e9 -r 11d3954df52a src/hbplugins/feedback/feedbackeffectplugin/hbfeedbackeffectutils.cpp --- a/src/hbplugins/feedback/feedbackeffectplugin/hbfeedbackeffectutils.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbplugins/feedback/feedbackeffectplugin/hbfeedbackeffectutils.cpp Thu May 27 13:10:59 2010 +0300 @@ -279,8 +279,10 @@ case HbFeedbackEffectUtils::Slider: - // slider area - effect = HbFeedback::None; + // slider track default + effect = HbFeedback::SensitiveSlider; + + // special cases if (const HbProgressSlider *progressSlider = qobject_cast(widget)) { Q_UNUSED(progressSlider) effect = HbFeedback::BasicSlider; @@ -318,11 +320,6 @@ break; } - if (widget->type() == Hb::ItemType_MenuItem) { - if (modifiers & Hb::ModifierScrolling) { - effect = HbFeedback::StopFlick; - } - } // item view specific special cases if ( const HbAbstractViewItem * viewItem = qobject_cast(widget)) { const HbAbstractItemView* itemView = viewItem->itemView(); @@ -331,7 +328,7 @@ switch (itemView->selectionMode()) { case HbAbstractItemView::SingleSelection: case HbAbstractItemView::MultiSelection: { - effect = HbFeedback::None; + effect = HbFeedback::SensitiveItem; break; } case HbAbstractItemView::NoSelection: @@ -363,14 +360,10 @@ effect = HbFeedback::SensitiveItem; } } - - if (modifiers & Hb::ModifierScrolling) { - effect = HbFeedback::StopFlick; - } } } - if (widget->type() == Hb::ItemType_VirtualTrackPoint) { - effect = HbFeedback::Editor; + if (modifiers & Hb::ModifierScrolling) { + effect = HbFeedback::StopFlick; } return effect; @@ -458,8 +451,8 @@ case HbFeedbackEffectUtils::Slider: - // slider area - effect = HbFeedback::None; + // slider track default + effect = HbFeedback::SensitiveSlider; // slider handle if (modifiers & Hb::ModifierSliderHandle) { @@ -473,7 +466,7 @@ break; case HbFeedbackEffectUtils::Editor: - effect = HbFeedback::Editor; + effect = HbFeedback::None; break; default: @@ -523,6 +516,11 @@ } } } + + if (widget->type() == Hb::ItemType_VirtualTrackPoint) { + effect = HbFeedback::Editor; + } + return effect; } @@ -704,9 +702,10 @@ */ HbFeedback::InstantEffect HbFeedbackEffectUtils::instantOnSelectionChanged(const HbWidget *widget, Hb::InteractionModifiers modifiers) { + Q_UNUSED(modifiers); HbFeedback::InstantEffect effect = HbFeedback::None; - if ( const HbAbstractViewItem * viewItem = qobject_cast(widget)) { + if (const HbAbstractViewItem * viewItem = qobject_cast(widget)) { const HbAbstractItemView* itemView = viewItem->itemView(); if (itemView) { switch (itemView->selectionMode()) { @@ -722,13 +721,9 @@ default: break; } - if (modifiers == Hb::ModifierScrolling) { - effect = HbFeedback::StopFlick; - } } } - - return effect; + return effect; } /*! diff -r 06ff229162e9 -r 11d3954df52a src/hbplugins/inputmethods/touchinput/hbinputprediction12keyhandler.cpp --- a/src/hbplugins/inputmethods/touchinput/hbinputprediction12keyhandler.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbplugins/inputmethods/touchinput/hbinputprediction12keyhandler.cpp Thu May 27 13:10:59 2010 +0300 @@ -47,7 +47,7 @@ #define HbDeltaHeight 3.0 #define MAXUDBWORDSIZE 64 -HbInputSpellQuery::HbInputSpellQuery(HbInputPrediction12KeyHandlerPrivate *owner) : mOwner(owner) +HbInputSpellQuery::HbInputSpellQuery(HbInputPrediction12KeyHandlerPrivate *owner) : mOwner(owner), mPrimaryAction(0) { } @@ -97,36 +97,37 @@ //setAttribute(Qt::WA_DeleteOnClose); mDidHandleFinish = false; open(this,SLOT(dialogClosed(HbAction*))); + mPrimaryAction = qobject_cast(actions().first()); } void HbInputSpellQuery::dialogClosed(HbAction* action) { - //There are multiple dialog closed event received. This will make sure we handle finish - //only once - if(mDidHandleFinish) { + //There are multiple dialog closed event received. This will make sure we handle finish + //only once + if(mDidHandleFinish) { return; } else { mDidHandleFinish = true; } - bool isOk = false; - bool isCancel = false; - bool isExternalClose = false; - // action is null when input query is closed externally , for example by calling - // HbDialog::close() function. - if (action) { - isOk = (action->text() == actions().at(0)->text())? true : false; - isCancel = (action->text() == actions().at(1)->text())? true:false; - } else { - isExternalClose = true; - } + bool isOk = false; + bool isCancel = false; + bool isExternalClose = false; + // action is null when input query is closed externally , for example by calling + // HbDialog::close() function. + if (action) { + isOk = mPrimaryAction == action ? true : false; + isCancel = mPrimaryAction != action ? true : false; + } else { + isExternalClose = true; + } - //Need to disable effects as asynchronous hide will commit the word otherwise. - HbEffect::disable(this); - hide(); - HbEffect::enable(this); + //Need to disable effects as asynchronous hide will commit the word otherwise. + HbEffect::disable(this); + hide(); + HbEffect::enable(this); - HbInputFocusObject *newFocusObject = new HbInputFocusObject(mSavedFocusObject); + HbInputFocusObject *newFocusObject = new HbInputFocusObject(mSavedFocusObject); newFocusObject->releaseFocus(); newFocusObject->setFocus(); diff -r 06ff229162e9 -r 11d3954df52a src/hbplugins/inputmethods/touchinput/hbinputprediction12keyhandler_p.h --- a/src/hbplugins/inputmethods/touchinput/hbinputprediction12keyhandler_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbplugins/inputmethods/touchinput/hbinputprediction12keyhandler_p.h Thu May 27 13:10:59 2010 +0300 @@ -60,8 +60,8 @@ Q_OBJECT public: HbInputSpellQuery(HbInputPrediction12KeyHandlerPrivate *owner); - void getPositionAndSize(QPointF & pos,QSizeF & size, QRectF &geom); - void launch(QString editorText); + void getPositionAndSize(QPointF & pos,QSizeF & size, QRectF &geom); + void launch(QString editorText); public slots: void dialogClosed(HbAction* action); private: @@ -70,5 +70,6 @@ QPointer mSavedFocusObject; HbInputPrediction12KeyHandlerPrivate* mOwner; QString mSavedEditorText; + HbAction *mPrimaryAction; }; #endif //HB_INPUT_PREDICTION_12KEY_HANDLER_PRIVATE diff -r 06ff229162e9 -r 11d3954df52a src/hbplugins/inputmethods/touchinput/touchinputplugin.cpp --- a/src/hbplugins/inputmethods/touchinput/touchinputplugin.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbplugins/inputmethods/touchinput/touchinputplugin.cpp Thu May 27 13:10:59 2010 +0300 @@ -132,11 +132,8 @@ HbInputModeProperties properties(HbInputModeDefault, HbInputLanguage(), HbKeyboardVirtualQwerty); result.append(properties.asString()); - QList languages = HbKeymapFactory::availableLanguages(); - foreach (HbInputLanguage language, languages) { - properties = HbInputModeProperties(HbInputModeNumeric, language, HbKeyboardVirtualQwerty); - result.append(properties.asString()); - } + properties = HbInputModeProperties(HbInputModeNumeric, HbInputLanguage(), HbKeyboardVirtualQwerty); + result.append(properties.asString()); } return QStringList(result); diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbdevicedialogappserver/main.cpp --- a/src/hbservers/hbdevicedialogappserver/main.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbdevicedialogappserver/main.cpp Thu May 27 13:10:59 2010 +0300 @@ -134,7 +134,8 @@ } _LIT(KThreadName, "hbdevdlgsrvapp"); RThread().RenameMe(KThreadName); // nicer panic info - + RThread().SetProcessPriority(EPriorityHigh); + HbApplication app(deviceDialogAppFactory, arg, args, Hb::NoSplash); #else // Q_OS_SYMBIAN HbApplication app(arg, args); diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbsplashgenerator/hbsplashblacklist_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbservers/hbsplashgenerator/hbsplashblacklist_p.h Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (developer.feedback@nokia.com) +** +** This file is part of the HbServers module of the UI Extensions for Mobile. +** +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at developer.feedback@nokia.com. +** +****************************************************************************/ + +#ifndef HBSPLASHBLACKLIST_P_H +#define HBSPLASHBLACKLIST_P_H + +#include + +// List of apps that should use Hb::NoSplash but they don't. +// Showing a splash screen for these does not make sense anyway. +inline QList hbsplash_blacklist() +{ + return QList() + + // started on phone boot + << 0x20022f35 // app/homescreen/homescreenapp/hsapplication + << 0x100058b3 // app/phone/phoneapp/phoneui2 + << 0x2002e67a // app/phone/phoneengine/networkhandlingstarter + + // uses hbapplication but not hbmainwindow + << 0x1028339d // app/devicecontrol/deviceupdateui/deviceupdateqtsp + << 0x2001fe74 // app/messaging/messagingapp/msgnotifications/msgerrornotifier + << 0xe0022e73 // mw/securitysrv/securitydialogs/autolocksrv (this uid cannot be the final one, can it...) + + // started to background and may not need splash anyway + << 0x2002e669 // mw/webruntime/app/widget/wrtwidgetui + + // probably launched on first boot, including for now to prevent mess in startup sequence + << 0x20026f95 // app/firsttimeuse/ftuapplication + + ; +} + +#endif diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbsplashgenerator/hbsplashgen_server_symbian.cpp --- a/src/hbservers/hbsplashgenerator/hbsplashgen_server_symbian.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbsplashgenerator/hbsplashgen_server_symbian.cpp Thu May 27 13:10:59 2010 +0300 @@ -27,11 +27,18 @@ #include "hbsplashgenerator_p.h" #include "hbsplashdirs_p.h" #include "hbsplashdefs_p.h" +#include "hbsplashblacklist_p.h" +#include "hbsplash_direct_symbian_p.h" #include #include +#include #include +#include +#include #include +const int bitmap_cache_limit = 4; // Must be at least 1. Each bitmap consumes ~1 MB. + #define PRE "[hbsplashgenerator] [server]" TBool HbSplashGenAppUi::FrameworkCallsRendezvous() const @@ -65,16 +72,19 @@ void setSplashScreenDir(const QString &dir) { mSplashScreenDir = dir; } void setSplashScreenDirContents(const QStringList &entries) { mSplashScreenDirEntries = entries; } bool startupSuccess() const { return mStartupSuccess; } - + void clearBitmapCache(); bool processGetSplash(const RMessage2 &message); private: - bool transferHandle(const RMessage2 &message, const QString &fileName); + bool completeGetSplash(const RMessage2 &message, const QString &fileName); + CFbsBitmap *getCachedBitmap(const QString &fileName) const; + void cacheBitmap(const QString &key, CFbsBitmap *bmp); bool mStartupSuccess; RFs mFs; QString mSplashScreenDir; QStringList mSplashScreenDirEntries; + QList< QPair > mBitmaps; }; class HbSplashGenServerSession : public CSession2 @@ -93,6 +103,12 @@ { connect(generator, SIGNAL(outputDirContentsUpdated(QString, QStringList)), SLOT(onOutputDirContentsUpdated(QString, QStringList))); + // React immediately on a theme change, showing out-dated graphics + // is never acceptable. + connect(generator, SIGNAL(regenerateStarted()), SLOT(dropCachedData())); + // Clear the cache again when all the screens are regenerated to + // make sure that only the latest ones are used. + connect(generator, SIGNAL(finished()), SLOT(dropCachedData())); } HbSplashGenServer::~HbSplashGenServer() @@ -108,6 +124,11 @@ mServer->setSplashScreenDirContents(entries); } +void HbSplashGenServer::dropCachedData() +{ + mServer->clearBitmapCache(); +} + bool HbSplashGenServer::startupSuccess() const { return mServer->startupSuccess(); @@ -138,6 +159,7 @@ HbSplashGenServerSymbian::~HbSplashGenServerSymbian() { mFs.Close(); + clearBitmapCache(); } CSession2 *HbSplashGenServerSymbian::NewSessionL(const TVersion &version, const RMessage2 &message) const @@ -150,19 +172,75 @@ return new (ELeave) HbSplashGenServerSession(const_cast(this)); } -bool HbSplashGenServerSymbian::transferHandle(const RMessage2 &message, const QString &fileName) +void HbSplashGenServerSymbian::clearBitmapCache() +{ + for (int i = 0, ie = mBitmaps.count(); i != ie; ++i) { + delete mBitmaps.at(i).second; + } + mBitmaps.clear(); +} + +CFbsBitmap *HbSplashGenServerSymbian::getCachedBitmap(const QString &fileName) const +{ + for (int i = 0, ie = mBitmaps.count(); i != ie; ++i) { + if (!mBitmaps.at(i).first.compare(fileName, Qt::CaseInsensitive)) { + return mBitmaps.at(i).second; + } + } + return 0; +} + +void HbSplashGenServerSymbian::cacheBitmap(const QString &key, CFbsBitmap *bmp) { + while (mBitmaps.count() >= bitmap_cache_limit) { + delete mBitmaps.at(0).second; + mBitmaps.removeAt(0); + } + QPair entry(key, bmp); + mBitmaps.append(entry); +} + +inline void completeWithBitmap(const RMessage2 &message, CFbsBitmap *bmp) +{ + TPckg bmpHandle(bmp->Handle()); + message.Write(3, bmpHandle); + message.Complete(KErrNone); +} + +bool HbSplashGenServerSymbian::completeGetSplash(const RMessage2 &message, const QString &fileName) +{ + bool wantsBitmap = message.Function() == HbSplashSrvGetSplashData; + if (wantsBitmap) { + CFbsBitmap *cachedBitmap = getCachedBitmap(fileName); + if (cachedBitmap) { + qDebug() << PRE << "returning cached bitmap for" << fileName; + completeWithBitmap(message, cachedBitmap); + return true; + } + } QDir splashScreenDir(mSplashScreenDir); QString nativeName = QDir::toNativeSeparators(splashScreenDir.filePath(fileName)); qDebug() << PRE << "trying to read" << nativeName; TPtrC nativeNameDes(static_cast(nativeName.utf16()), nativeName.length()); RFile f; if (f.Open(mFs, nativeNameDes, EFileRead | EFileShareReadersOrWriters) == KErrNone) { - TInt err = f.TransferToClient(message, 3); // completes the message with the fs handle - f.Close(); - if (err != KErrNone) { - // the message is not yet completed if TransferToClient() failed - return false; + if (wantsBitmap) { + CFbsBitmap *bmp = static_cast(HbSplashDirectSymbian::load(&f, 0)); + f.Close(); + if (bmp) { + cacheBitmap(fileName, bmp); + completeWithBitmap(message, bmp); + } else { + qWarning() << PRE << "splash load failed"; + return false; + } + } else { + TInt err = f.TransferToClient(message, 3); // completes the message with the fs handle + f.Close(); + if (err != KErrNone) { + // the message is not yet completed if TransferToClient() failed + return false; + } } } else { qWarning() << PRE << "could not open" << nativeName; @@ -217,6 +295,12 @@ } } + // No splash screen for blacklisted clients. + if (hbsplash_blacklist().contains(message.SecureId().iId)) { + qWarning() << PRE << "app is blacklisted"; + return false; + } + // First check for file existence without filesystem access by using the directory // listing received from the generator. This prevents wasting time with unnecessary // Open() calls. @@ -245,22 +329,22 @@ usingAppSpecific = true; } - bool transferred = transferHandle(message, name); - if (!transferred) { + bool completed = completeGetSplash(message, name); + if (!completed) { // If the screens are just being regenerated then there is a chance that // the app-specific file is not yet ready but the generic one is already // there (and the directory listing checked before is out-of-date). So // try the generic file too. if (usingAppSpecific) { - transferred = transferHandle(message, genericName); + completed = completeGetSplash(message, genericName); } - if (!transferred) { - qWarning() << PRE << "could not transfer file handle"; + if (!completed) { + qWarning() << PRE << "could not complete getSplash request"; return false; } } - qDebug() << PRE << "file handle transfered"; + qDebug() << PRE << "getSplash request completed"; if (!cachedEntryListValid) { // Set the splash dir back to empty so future invocations can also // recognize that the generator has not notified us yet. @@ -285,17 +369,24 @@ /* Supported functions: - EHbSplashSrvGetSplash + EHbSplashSrvGetSplashFile param 0 [in] requested orientation ("prt" or "lsc") param 1 [in] empty or uid (currently ignored if does not match the client's secure id) param 2 [in] empty or screen id param 3 [out] RFile handle (file is open for read) Request is completed with RFs handle or KErrNotFound. + + EHbSplashSrvGetSplashData + param 0 [in] requested orientation ("prt" or "lsc") + param 1 [in] empty or uid (currently ignored if does not match the client's secure id) + param 2 [in] empty or screen id + param 3 [out] CFbsBitmap handle */ qDebug() << PRE << "ServiceL" << message.Function() << QString::number(message.SecureId().iId, 16); switch (message.Function()) { - case HbSplashSrvGetSplash: + case HbSplashSrvGetSplashFile: // fallthrough + case HbSplashSrvGetSplashData: if (!mServer->processGetSplash(message)) { message.Complete(KErrNotFound); } diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbsplashgenerator/hbsplashgen_server_symbian_p.h --- a/src/hbservers/hbsplashgenerator/hbsplashgen_server_symbian_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbsplashgenerator/hbsplashgen_server_symbian_p.h Thu May 27 13:10:59 2010 +0300 @@ -46,6 +46,7 @@ private slots: void onOutputDirContentsUpdated(const QString &dir, const QStringList &entries); + void dropCachedData(); private: HbSplashGenServerSymbian *mServer; diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbsplashgenerator/hbsplashgenerator.cpp --- a/src/hbservers/hbsplashgenerator/hbsplashgenerator.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbsplashgenerator/hbsplashgenerator.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,6 +25,7 @@ #include "hbsplashgenerator_p.h" #include "hbsplashdirs_p.h" +#include "hbsplashdefs_p.h" #include "hbmainwindow.h" #include "hbmainwindow_p.h" #include "hbinstance.h" @@ -45,19 +46,32 @@ #include #include #include +#include #include #include #include +#if defined(Q_OS_SYMBIAN) +#include +#include +#endif + const char *last_theme_key = "lasttheme"; const char *last_lang_key = "lastlang"; const char *last_file_count_key = "lastfilecount"; const char *last_output_dir_key = "lastoutdir"; HbSplashGenerator::HbSplashGenerator() - : mBusy(false), mForceRegen(false), mMainWindow(0), mFirstRegenerate(true), - mSettings("Nokia", "HbSplash") + : mBusy(false), mForceRegen(false), mMainWindow(0), mFirstRegenerate(true) { +#if defined(Q_OS_SYMBIAN) + CCoeEnv::Static()->FsSession().CreatePrivatePath(EDriveC); + QString iniFileName = QString("c:/private/%1/hbsplashgen.ini") + .arg(QString::number(hbsplash_server_uid3.iUid, 16)); + mSettings = new QSettings(iniFileName, QSettings::IniFormat, this); +#else + mSettings = new QSettings("Nokia", "HbSplash", this); +#endif // Effects on decorators (started when they are shown) would ruin // the screenshot. So disable everything (except the orientation // switch effect which is needed for a proper rotated image). @@ -129,10 +143,10 @@ // number of files in the splash screen directory, or the splash screen // directory path is different than the recorded values. (or when // regeneration is forced via command line arg) - QString lastTheme = mSettings.value(QLatin1String(last_theme_key)).toString(); - QString lastLang = mSettings.value(QLatin1String(last_lang_key)).toString(); - int lastFileCount = mSettings.value(QLatin1String(last_file_count_key)).toInt(); - QString lastOutputDir = mSettings.value(QLatin1String(last_output_dir_key)).toString(); + QString lastTheme = mSettings->value(QLatin1String(last_theme_key)).toString(); + QString lastLang = mSettings->value(QLatin1String(last_lang_key)).toString(); + int lastFileCount = mSettings->value(QLatin1String(last_file_count_key)).toInt(); + QString lastOutputDir = mSettings->value(QLatin1String(last_output_dir_key)).toString(); QString currentTheme = theme->name(); QString currentLang = QLocale::system().name(); QString currentOutputDir = hbsplash_output_dir(); @@ -163,6 +177,7 @@ qDebug() << PRE << "regenerate() theme:" << themeName; if (!themeName.isEmpty()) { try { + emit regenerateStarted(); QTime queuePrepTime; queuePrepTime.start(); // Delete existing splash screens. This is important because apps @@ -202,13 +217,17 @@ } } -void HbSplashGenerator::regenerateOne(const QString &splashmlFileName) +void HbSplashGenerator::regenerateOne(const QString &splashmlFileName, const QString &customTrDir) { mQueue.clear(); QueueItem item(hbInstance->theme()->name(), Qt::Vertical); - item.mWorkDirForSingleFileRegen = QFileInfo(splashmlFileName).path(); // e.g. for translations + QString path = QFileInfo(splashmlFileName).path(); + item.mCustomTrDirs.append(path); + if (!customTrDir.isEmpty()) { + item.mCustomTrDirs.append(customTrDir); + } parseSplashml(splashmlFileName, item); - item.mDocmlFileName = QDir(item.mWorkDirForSingleFileRegen).filePath(item.mDocmlFileName); + item.mDocmlFileName = QDir(path).filePath(item.mDocmlFileName); mQueue.enqueue(item); // generate it regardless of the fixed orientation setting item.mOrientation = Qt::Horizontal; mQueue.enqueue(item); @@ -245,11 +264,11 @@ // the settings and stop. if (mQueue.isEmpty()) { qDebug() << PRE << "queue is empty regen finished"; - mSettings.setValue(last_theme_key, hbInstance->theme()->name()); - mSettings.setValue(last_lang_key, QLocale::system().name()); + mSettings->setValue(last_theme_key, hbInstance->theme()->name()); + mSettings->setValue(last_lang_key, QLocale::system().name()); QString outDir = hbsplash_output_dir(); - mSettings.setValue(last_file_count_key, updateOutputDirContents(outDir)); - mSettings.setValue(last_output_dir_key, outDir); + mSettings->setValue(last_file_count_key, updateOutputDirContents(outDir)); + mSettings->setValue(last_output_dir_key, outDir); emit finished(); qDebug() << PRE << "processQueue() over"; return; @@ -265,14 +284,7 @@ mItemTime.start(); log("generating splash screen", mItem.mThemeName, mItem.mOrientation); - if (!mMainWindow) { - // The FixedVertical flag is used just to disable the sensor-based - // orientation switching. - mMainWindow = new HbMainWindow(0, Hb::WindowFlagFixedVertical); - // Make sure that at least the 1st phase of the delayed - // construction is done right now. - HbMainWindowPrivate::d_ptr(mMainWindow)->_q_delayedConstruction(); - } + ensureMainWindow(); mMainWindow->setOrientation(mItem.mOrientation, false); qDebug() << PRE << "mainwindow init time (ms):" << mItemTime.elapsed(); @@ -290,6 +302,18 @@ qDebug() << PRE << "processQueue() over"; } +void HbSplashGenerator::ensureMainWindow() +{ + if (!mMainWindow) { + // The FixedVertical flag is used just to disable the sensor-based + // orientation switching. + mMainWindow = new HbMainWindow(0, Hb::WindowFlagFixedVertical); + // Make sure that at least the 1st phase of the delayed + // construction is done right now. + HbMainWindowPrivate::d_ptr(mMainWindow)->_q_delayedConstruction(); + } +} + void HbSplashGenerator::processWindow() { // Take the screenshot, remove content, and move on to the next request in the queue. @@ -325,7 +349,7 @@ t.start(); QString splashFile = splashFileName(); qDebug() << PRE << "saving to" << splashFile; - if (saveSpl(splashFile, image)) { + if (saveSpl(splashFile, image, mItem.mFlagsToStore)) { #if !defined(Q_OS_SYMBIAN) && defined(QT_DEBUG) image.save(splashFile + QLatin1String(".png")); #endif @@ -368,20 +392,21 @@ return image.bits(); } -bool HbSplashGenerator::saveSpl(const QString &nameWithoutExt, const QImage &image) +bool HbSplashGenerator::saveSpl(const QString &nameWithoutExt, const QImage &image, quint32 extra) { QString fn(nameWithoutExt); fn.append(".spl"); QFile f(fn); if (f.open(QIODevice::WriteOnly | QIODevice::Truncate)) { - int w = image.width(); - int h = image.height(); - int bpl = image.bytesPerLine(); - QImage::Format fmt = image.format(); - f.write((char *) &w, sizeof(int)); - f.write((char *) &h, sizeof(int)); - f.write((char *) &bpl, sizeof(int)); - f.write((char *) &fmt, sizeof(QImage::Format)); + quint32 w = (quint32) image.width(); + quint32 h = (quint32) image.height(); + quint32 bpl = (quint32) image.bytesPerLine(); + qint32 fmt = (qint32) image.format(); + f.write((char *) &w, sizeof(quint32)); + f.write((char *) &h, sizeof(quint32)); + f.write((char *) &bpl, sizeof(quint32)); + f.write((char *) &fmt, sizeof(qint32)); + f.write((char *) &extra, sizeof(quint32)); f.write((const char *) imageBits(image), bpl * h); f.close(); return true; @@ -414,13 +439,16 @@ HbSplashGenerator::QueueItem::QueueItem() : mOrientation(Qt::Vertical), - mHideBackground(false) + mHideBackground(false), + mFlagsToStore(0) { } HbSplashGenerator::QueueItem::QueueItem(const QString &themeName, Qt::Orientation orientation) - : mThemeName(themeName), mOrientation(orientation), - mHideBackground(false) + : mThemeName(themeName), + mOrientation(orientation), + mHideBackground(false), + mFlagsToStore(0) { } @@ -717,9 +745,8 @@ void HbSplashGenerator::finishWindow() { - // Process additional settings. + // There must be a view always in order to support view-specific settings. if (mMainWindow->views().isEmpty()) { - // There must be a view always in order to support view-specific settings. mMainWindow->addView(new HbWidget); } @@ -728,7 +755,7 @@ HbView *view = views.at(0); // view-flags - HbView::HbViewFlags viewFlags = HbView::ViewFlagNone; + HbView::HbViewFlags viewFlags = view->viewFlags(); if (mItem.mViewFlags.contains("tb-minimizable")) { viewFlags |= HbView::ViewTitleBarMinimizable; } @@ -754,6 +781,11 @@ viewFlags |= HbView::ViewStatusBarFloating; } view->setViewFlags(viewFlags); + if (viewFlags.testFlag(HbView::ViewStatusBarHidden) + || viewFlags.testFlag(HbView::ViewStatusBarTransparent)) + { + mItem.mFlagsToStore |= 1; + } // navi-action-icon if (!mItem.mNaviActionIcon.isEmpty()) { @@ -792,17 +824,24 @@ } // Hide dynamic content from status bar (clock, indicators). + setStatusBarElementsVisible(false); +} + +void HbSplashGenerator::setStatusBarElementsVisible(bool visible) +{ + HbMainWindowPrivate *mwd = HbMainWindowPrivate::d_ptr(mMainWindow); HbStatusBar *statusBar = mwd->mStatusBar; if (statusBar) { foreach (QGraphicsItem *item, statusBar->childItems()) { QString name = HbStyle::itemName(item); - bool hideItem = name == QLatin1String("signal") + bool knownItem = + name == QLatin1String("signal") || name == QLatin1String("battery") || name == QLatin1String("notificationindicators") || name == QLatin1String("settingsindicators") || name == QLatin1String("timetext"); - if (hideItem) { - item->setVisible(false); + if (knownItem) { + item->setVisible(visible); } } } @@ -814,9 +853,7 @@ QTranslator *translator = new QTranslator; bool ok = false; QStringList dirNames(hbsplash_translation_dirs()); - if (!mItem.mWorkDirForSingleFileRegen.isEmpty()) { - dirNames.append(mItem.mWorkDirForSingleFileRegen); - } + dirNames.append(mItem.mCustomTrDirs); foreach (const QString &dirName, dirNames) { QDir dir(dirName); QString fullName = dir.filePath(name + '_' + lang); diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbsplashgenerator/hbsplashgenerator.pro --- a/src/hbservers/hbsplashgenerator/hbsplashgenerator.pro Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbsplashgenerator/hbsplashgenerator.pro Thu May 27 13:10:59 2010 +0300 @@ -35,6 +35,7 @@ HEADERS += $$PWD/hbsplashgenerator_p.h HEADERS += $$PWD/hbsplashdirs_p.h symbian: HEADERS += $$PWD/hbsplashgen_server_symbian_p.h +HEADERS += $$PWD/hbsplashblacklist_p.h symbian { TARGET.CAPABILITY = CAP_APPLICATION @@ -55,6 +56,7 @@ LIBS += -lavkon LIBS += -leikcore LIBS += -lapparc + LIBS += -lfbscli } hbAddLibrary(hbcore/HbCore) diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbsplashgenerator/hbsplashgenerator_p.h --- a/src/hbservers/hbsplashgenerator/hbsplashgenerator_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbsplashgenerator/hbsplashgenerator_p.h Thu May 27 13:10:59 2010 +0300 @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -41,6 +40,7 @@ QT_BEGIN_NAMESPACE class QTranslator; +class QSettings; QT_END_NAMESPACE class HbMainWindow; @@ -57,13 +57,14 @@ void start(bool forceRegen); signals: + void regenerateStarted(); void outputDirContentsUpdated(const QString &dir, const QStringList &entries); void finished(); public slots: void regenerate(); void uncachedRegenerate(); - void regenerateOne(const QString &splashmlFileName); + void regenerateOne(const QString &splashmlFileName, const QString &customTrDir = QString()); private slots: void doStart(); @@ -100,15 +101,17 @@ QString mOrientation; }; QList mItemBgGraphics; - QString mWorkDirForSingleFileRegen; + QStringList mCustomTrDirs; + quint32 mFlagsToStore; }; private: + void ensureMainWindow(); void takeScreenshot(); void cleanup(); QImage renderView(); QString splashFileName(); - bool saveSpl(const QString &nameWithoutExt, const QImage &image); + bool saveSpl(const QString &nameWithoutExt, const QImage &image, quint32 extra); void addSplashmlItemToQueue(const QueueItem &item); void queueAppSpecificItems(const QString &themeName, Qt::Orientation orientation); bool parseSplashml(const QString &fullFileName, QueueItem &item); @@ -116,6 +119,7 @@ void setupAppSpecificWindow(); void setupNameBasedWidgetProps(HbDocumentLoader &loader); void finishWindow(); + void setStatusBarElementsVisible(bool visible); void addTranslator(const QString &name); void clearTranslators(); int updateOutputDirContents(const QString &outDir); @@ -129,7 +133,7 @@ QTime mItemTime; bool mFirstRegenerate; QHash mParsedSplashmls; - QSettings mSettings; + QSettings *mSettings; QFileSystemWatcher mFsWatcher; }; diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbsplashgenerator/main.cpp --- a/src/hbservers/hbsplashgenerator/main.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbsplashgenerator/main.cpp Thu May 27 13:10:59 2010 +0300 @@ -56,6 +56,9 @@ wgName->SetWindowGroupName(env->RootWin()); CleanupStack::PopAndDestroy(); RThread::RenameMe(hbsplash_server_name); + RProcess process; + process.SetPriority(EPriorityForeground); + process.Close(); } #else Q_UNUSED(mutexToSignal); @@ -88,8 +91,7 @@ #ifdef Q_OS_SYMBIAN qDebug("[hbsplashgenerator] starting server"); HbSplashGenServer server(&gen); - // If there was an error (or an instance is already running (it is - // possible in certain race conditions)) then exit right away. + // If there was an error then exit right away. if (!server.startupSuccess()) { qDebug("[hbsplashgenerator] exiting due to failed server startup"); return 0; diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbcache_p.cpp --- a/src/hbservers/hbthemeserver/hbcache_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbcache_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -50,7 +50,7 @@ \a key denotes the unique identifier for the cache item whose value is to be returned */ -HbCacheItem* HbCache::value(const QString& key) const +HbCacheItem* HbCache::value(const QString &key) const { return cache.value(key, 0); } @@ -62,9 +62,9 @@ \a key denotes the unique identifier for the cache item that is to be searched in the cache. */ -HbCacheItem* HbCache::cacheItem(const QString& key) +HbCacheItem* HbCache::cacheItem(const QString &key) { - HbCacheItem* item = 0; + HbCacheItem *item = 0; if (!cache.contains(key)) { return 0; } @@ -86,12 +86,12 @@ \a key denotes the unique identifier for the cache item that is to be searched in the cache. \a item represents the cache-item to be inserted. */ -bool HbCache::insert(const QString& key, HbCacheItem* item) +bool HbCache::insert(const QString &key, HbCacheItem *item) { if (!item) { return false; } - cache.insert(key, const_cast(item)); + cache.insert(key, const_cast(item)); item->refCount++; //if item is also present in LRU list, remove it from there to avoid // deletion following LRU policy @@ -109,12 +109,12 @@ unused-resources list for removal later in case of OOM scenario. \a key denotes the unique identifier for the cache item that is to be searched in the cache. */ -bool HbCache::remove(const QString& key) +bool HbCache::remove(const QString &key) { if (key.isEmpty() || !cache.contains(key)) { return false; } - HbCacheItem* item = cache[key]; + HbCacheItem *item = cache[key]; //reference count can obviously be never less than zero, meaning that for all the //css files stored with server-css-cache, there would be minimum zero client (app) //associated @@ -152,7 +152,7 @@ \fn HbCache::cacheHandle() Returns a handle to the cache which holds (css-file-name, cacheItem) key-value pair. */ -QHash &HbCache::cacheHandle() +QHash &HbCache::cacheHandle() { return cache; } @@ -167,7 +167,7 @@ for (QHash::const_iterator iter = cache.constBegin(); iter != itEnd; ++iter) { - HbCacheItem* temp = iter.value(); + HbCacheItem *temp = iter.value(); manager->free(temp->offset); delete temp; } diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbdoublelinkedlist_p.h --- a/src/hbservers/hbthemeserver/hbdoublelinkedlist_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbdoublelinkedlist_p.h Thu May 27 13:10:59 2010 +0300 @@ -45,9 +45,9 @@ inline HbDLink(); - inline ElemType* next() const; + inline ElemType *next() const; - inline ElemType* prev() const; + inline ElemType *prev() const; inline void setNext(ElemType *element); @@ -55,8 +55,8 @@ private: - ElemType* mNext; - ElemType* mPrev; + ElemType *mNext; + ElemType *mPrev; }; @@ -85,7 +85,6 @@ class HbDLinkList { public: - inline explicit HbDLinkList(HbDLink ElemType:: *dLink); inline ~HbDLinkList(); inline void insertBack(ElemType *item); @@ -101,11 +100,9 @@ inline void insertAfter(ElemType *newItem, ElemType *lastItem); private: - ElemType *listFront; ElemType *listBack; - HbDLink ElemType:: *mDLink; - + HbDLink ElemType:: *mDLink; }; #include "hbdoublelinkedlistinline_p.h" diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbiconcacheitemcreator_p.cpp --- a/src/hbservers/hbthemeserver/hbiconcacheitemcreator_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbiconcacheitemcreator_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -46,7 +46,8 @@ @hbserver \class HbIconCacheItemCreator \brief HbIconCacheItemCreator is a factory class responsible for creating the cache items. - The cache item structure internally maintains details of the icons created both in the Gpu and the Cpu memory. + The cache item structure internally maintains details of + the icons created both in the Gpu and the Cpu memory. */ @@ -72,19 +73,20 @@ QString HbIconCacheItemCreator::KSvg = "SVG"; QString HbIconCacheItemCreator::KNvg = "NVG"; QString HbIconCacheItemCreator::KPic = "PIC"; -QString HbIconCacheItemCreator::KBlob = "BOLB"; +QString HbIconCacheItemCreator::KBlob = "BLOB"; QString HbIconCacheItemCreator::KSgimage = "SGIMAGE"; /*! \fn HbIconCacheItemCreator::createCacheItem() - The createCacheItem is responsible for creating an icon in cpu or gpu memory based on the format provided + The createCacheItem is responsible for creating an icon in cpu or gpu memory + based on the format provided. \a key denotes the unique identifier for the cache item \a options indicate different ways of loading icons \a format indicates the icon format e.g. svg/nvg etc.\ \a currentRenderingMode ThemeServer's current rendering mode state. */ -HbIconCacheItem* HbIconCacheItemCreator::createCacheItem(const HbIconKey &key, +HbIconCacheItem *HbIconCacheItemCreator::createCacheItem(const HbIconKey &key, HbIconLoader::IconLoaderOptions options, const QString &format, HbRenderingMode currentRenderingMode, @@ -95,7 +97,7 @@ Q_UNUSED(currentRenderingMode) #endif QScopedPointer tempIconCacheItem(new HbIconCacheItem); - HbIconCacheItem* item = tempIconCacheItem.data(); + HbIconCacheItem *item = tempIconCacheItem.data(); QScopedPointer rasterIcon; QScopedPointer vectorIcon; @@ -124,32 +126,32 @@ if (!isMultiPiece) { #ifdef HB_SGIMAGE_ICON if(renderMode == ESWRendering){ - rasterIcon.reset(new HbPixmapIconProcessor( key, options, format)); - }else { + rasterIcon.reset(new HbPixmapIconProcessor(key, options, format)); + } else { if (HbThemeServerPrivate::gpuMemoryState()) { - rasterIcon.reset(new HbSgimageIconProcessor( key, options, format)); + rasterIcon.reset(new HbSgimageIconProcessor(key, options, format)); } - vectorIcon.reset(new HbNvgIconProcessor( key, options, format )); + vectorIcon.reset(new HbNvgIconProcessor(key, options, format)); } #endif // if sgImage support is enabled by default remove this block #ifndef HB_SGIMAGE_ICON if(renderMode == ESWRendering){ - rasterIcon.reset(new HbPixmapIconProcessor( key, options, format)); + rasterIcon.reset(new HbPixmapIconProcessor(key, options, format)); } else { - vectorIcon.reset(new HbNvgIconProcessor( key, options, format )); + vectorIcon.reset(new HbNvgIconProcessor(key, options, format)); } #endif // block end } else { if(renderMode == ESWRendering){ - rasterIcon.reset(new HbPixmapIconProcessor( key, options, format)); + rasterIcon.reset(new HbPixmapIconProcessor(key, options, format)); } else { // multipieceIcon So make nvgiconimpl for .nvg files // No raster icon data is created - vectorIcon.reset(new HbNvgIconProcessor( key, options, format )); + vectorIcon.reset(new HbNvgIconProcessor(key, options, format)); } } #endif @@ -210,14 +212,14 @@ /*! \fn HbIconCacheItemCreator::createCacheItem() - This overloaded createCacheItem is a helper function to populate a cache item if this item is already - created with some parameters either on the Gpu or the Cpu + This overloaded createCacheItem is a helper function to populate a cache item + if this item is already created with some parameters either on the Gpu or the Cpu \a iconCacheItem denotes the cacheItem to be populated \a key unique identifier to identify the cache item \a currentRenderingMode ThemeServer's current rendering mode state */ -void HbIconCacheItemCreator::createCacheItem(HbIconCacheItem& iconCacheItem, +void HbIconCacheItemCreator::createCacheItem(HbIconCacheItem &iconCacheItem, const HbIconKey &key, HbRenderingMode currentRenderingMode) { @@ -252,10 +254,12 @@ #ifdef HB_SGIMAGE_ICON if(renderMode == EHWRendering){ if (HbThemeServerPrivate::gpuMemoryState()){ - rasterIcon.reset(new HbSgimageIconProcessor( key, iconCacheItem.iconOptions, format)); + rasterIcon.reset(new HbSgimageIconProcessor(key, iconCacheItem.iconOptions, + format)); } }else { - rasterIcon.reset(new HbPixmapIconProcessor( key, iconCacheItem.iconOptions, format)); + rasterIcon.reset(new HbPixmapIconProcessor(key, iconCacheItem.iconOptions, + format)); } #endif #ifdef NVG_ICON @@ -308,8 +312,8 @@ Q_UNUSED(currentRenderingMode) #endif - HbIconCacheItem* item = 0; - QScopedPointer tempIconCacheItem; + HbIconCacheItem *item = 0; + QScopedPointer tempIconCacheItem; bool isIconCreated = false; QScopedPointer rasterIcon; @@ -345,7 +349,8 @@ return item; #endif } else { - rasterIcon.reset(new HbPixmapIconProcessor(finalIconKey, (HbIconLoader::IconLoaderOptions)multiPieceIconParams.options, format)); + rasterIcon.reset(new HbPixmapIconProcessor(finalIconKey, + static_cast(multiPieceIconParams.options), format)); } if (rasterIcon.data()) { diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbiconcacheitemcreator_p.h --- a/src/hbservers/hbthemeserver/hbiconcacheitemcreator_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbiconcacheitemcreator_p.h Thu May 27 13:10:59 2010 +0300 @@ -64,12 +64,12 @@ { public: - static HbIconCacheItem* createCacheItem(const HbIconKey &key, + static HbIconCacheItem *createCacheItem(const HbIconKey &key, HbIconLoader::IconLoaderOptions options, const QString &format, HbRenderingMode currentRenderingMode, bool isMultiPiece = false); - static void createCacheItem(HbIconCacheItem& iconCacheItem, + static void createCacheItem(HbIconCacheItem &iconCacheItem, const HbIconKey &key, HbRenderingMode currentRenderingMode); @@ -81,8 +81,6 @@ bool allNvg, HbRenderingMode currentRenderingMode); - - static QString KSvg ; static QString KNvg ; static QString KPic ; diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbicondatacache_p.cpp --- a/src/hbservers/hbthemeserver/hbicondatacache_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbicondatacache_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -36,23 +36,28 @@ @hbserver \class HbIconDataCache \brief HbIconDataCache provides an implementation for the theme server's icon cache. - It acts as a central repository for storing the various details of all the icons cached in the server. - It provides various methods to insert new items, remove items as well as find existing cached items in the cache. + It acts as a central repository for storing the various details + of all the icons cached in the server. It provides various methods to insert new items, + remove items as well as find existing cached items in the cache. It also has methods to limit the cache size both on Gpu as well as Cpu shared memory. - Reference count based caching - On performing an Icon look up in the server, if the icon is not already cached, - the cache item is created and inserted into cache and its reference count is incremented. - If the same icon is requested by another application, the cached instance is returned and only the reference - count is incremented. Similarly, the refrence count is decremented whenever an icon is destroyed. + Reference count based caching - On performing an Icon look up in the server, + if the icon is not already cached, the cache item is created and inserted into cache + and its reference count is incremented. + If the same icon is requested by another application, the cached instance is returned + and only the reference count is incremented. + Similarly, the refrence count is decremented whenever an icon is destroyed. LRU policy is used for removal of icons from cache. - The cache maintains two separate doubly link lists to maintain the order of the least recently used icons created - in GPU memory as well as those created in the shared memory. Whenever, the reference count for a cached item becomes 0, + The cache maintains two separate doubly link lists to maintain the order + of the least recently used icons created in GPU memory as well as those created + in the shared memory. Whenever, the reference count for a cached item becomes 0, it is not deleted from the cache rather; the cached icon instance is appended to the LRU list. - Consider now that a scenario arrives when the cache has reached its max limit and there are some unused icons - (i.e. icons with reference count = 0) in the LRU list. Suppose at this point there is a new icon caching request. - In such a scenario, the unused icons, starting with those at the beginning of the LRU lists are removed from the cache, - one after the other, till the new icon can be accommodated. + Consider now that a scenario arrives when the cache has reached its max limit + and there are some unused icons (i.e. icons with reference count = 0) in the LRU list. + Suppose at this point there is a new icon caching request. + In such a scenario, the unused icons, starting with those at the beginning of the LRU lists + are removed from the cache one after the other, till the new icon can be accommodated. Description of data members // A list that maintains an ordered collection of least recently used icons in GPU @@ -115,7 +120,6 @@ HbIconDataCache::~HbIconDataCache() { clear(); - delete cache; } @@ -137,11 +141,11 @@ GET_MEMORY_MANAGER(HbMemoryManager::SharedMemory) QHash::const_iterator itEnd(cache->constEnd()); - for (QHash < HbIconKey, - HbIconCacheItem* >::const_iterator iter = cache->constBegin(); + for (QHash::const_iterator iter = cache->constBegin(); iter != itEnd; ++iter) { - HbIconCacheItem* temp = iter.value(); + HbIconCacheItem *temp = iter.value(); if (temp->rasterIconData.type != INVALID_FORMAT) { switch (temp->rasterIconData.type) { case PIC : @@ -206,11 +210,11 @@ \a key denotes the unique identifier for the cache item that is to be searched in the cache. */ -HbIconCacheItem* HbIconDataCache::getCacheItem(const HbIconKey &key , +HbIconCacheItem *HbIconDataCache::getCacheItem(const HbIconKey &key, HbRenderingMode currentRenderingMode, bool isMultiIconPiece) { - HbIconCacheItem* item = 0; + HbIconCacheItem *item = 0; if (!cache->contains(key)) { return 0; @@ -248,19 +252,16 @@ if ((item->rasterIconData.type == INVALID_FORMAT) && (goodMemory && !isMultiIconPiece)) { if (item->vectorIconData.type == NVG) { - HbIconCacheItemCreator::createCacheItem(*item, key, currentRenderingMode); if (item->rasterIconData.type != INVALID_FORMAT) { currentGpuCacheSize += item->rasterIconDataCost; } } - //Debug Code for Test Purpose #ifdef HB_ICON_CACHE_DEBUG addedItemMem = item->rasterIconDataCost; #endif } - // If the Icon is present in CPU LRU list, then remove it from the list if (((item->cpuLink.next() != 0) || (item->cpuLink.prev() != 0)) || ((item == cpuLruList.front()) && (item == cpuLruList.back()))) { @@ -284,7 +285,6 @@ } #endif } - // If the Icon does not have CPU data and there is enough space to create // the icon in CPU cache now, we go ahead and create CPU shared data if ((item->vectorIconData.type == INVALID_FORMAT) && @@ -302,7 +302,8 @@ //Debug Code for Test Purpose #ifdef HB_ICON_CACHE_DEBUG addedItemRefCount = item->refCount; - qDebug() << "HbIconDataCache::getCacheItem: " << "Cache hit in Server-Cache for" << key.filename; + qDebug() << "HbIconDataCache::getCacheItem: " + << "Cache hit in Server-Cache for" << key.filename; qDebug() << "HbIconDataCache::getCacheItem: Server RefCount now = " << item->refCount; #endif @@ -314,16 +315,19 @@ Provides a mechanism for inserting items into the cache. Checks are first done to see whether item can be accomodated in the GPU memory. If so the Gpu limits are updated. Next it tries to cache the item in the Cpu. - If possible, the Cpu limits are updated. If niether is possible, a failure to insert is returned. - In case of success, the item is inserted into the cache and the reference count for the item is incremented by 1. + If possible, the Cpu limits are updated. If neither is possible, + a failure to insert is returned. + In case of success, the item is inserted into the cache and + the reference count for the item is incremented by 1. \a key denotes the unique identifier for the cache item that is to be inserted into the cache. \a item the cache item that is to be inserted into the cache. */ -bool HbIconDataCache::insert(const HbIconKey &key, HbIconCacheItem* item) +bool HbIconDataCache::insert(const HbIconKey &key, HbIconCacheItem *item) { - if (!item) + if (!item) { return false; + } // Check if Item can be accomdated in GPU cache bool gpuCaching = isItemCachableInGpu(item); @@ -334,7 +338,6 @@ if ((!gpuCaching) && (!cpuCaching)) { return false; } - // Item can be accomdated in GPU cache if (gpuCaching) { // Increment the GPU cache size @@ -359,17 +362,18 @@ currentCpuCacheSize += item->vectorIconDataCost; } else { // New item's icon data cost is more than available free CPU cahe size - // Check if some items, whose ref count is 0, can be removed to make way for new item + // Check if some items, whose ref count is 0, + // can be removed to make way for new item createCpuCacheSpace(item->vectorIconDataCost); currentCpuCacheSize += item->vectorIconDataCost; } } - if (currentCpuCacheSize > maxCpuCacheLimit) { currentCpuCacheSize = maxCpuCacheLimit; } } - QHash::iterator iter = cache->insert(key, const_cast(item)); + QHash::iterator iter = + cache->insert(key, const_cast(item)); if (iter == cache->end()) { return false; } @@ -385,7 +389,8 @@ } else if (cpuCaching) { addedItemMem = item->vectorIconDataCost; } - qDebug() << "HbIconDataCache::insert: " << "Item " << key.filename<<" inserted in Server-Cache"; + qDebug() << "HbIconDataCache::insert: " << "Item " << key.filename + << " inserted in Server-Cache"; qDebug() << "HbIconDataCache::insert: Server RefCount now = " << item->refCount; #endif @@ -395,18 +400,20 @@ /*! \fn HbIconDataCache::remove() Remove provides a mechanism for decrementing the reference count of a cached item. - In case the reference count becomes 0, the cache item instance is appended to the corresponding LRU list. - Actual removal of the cache item from the cache only occurs when the cache has reached a max limit and a new request for - insert comes. - \a key denotes the unique identifier for the cache item whose ref count is to be decremented in the cache. + In case the reference count becomes 0, + the cache item instance is appended to the corresponding LRU list. + Actual removal of the cache item from the cache only occurs + when the cache has reached a max limit and a new request for insert comes. + \a key denotes the unique identifier for the cache item whose + ref count is to be decremented in the cache. */ -bool HbIconDataCache::remove(const HbIconKey& key, bool keepInCache) +bool HbIconDataCache::remove(const HbIconKey &key, bool keepInCache) { if (key.filename.isEmpty() || !cache->contains(key)) { return false; } - HbIconCacheItem* item = (*cache)[(key)]; + HbIconCacheItem *item = (*cache)[(key)]; item->refCount--; //Debug Code for Test Purpose @@ -425,7 +432,6 @@ return true; } } - if (item->rasterIconData.type == OTHER_SUPPORTED_FORMATS) { if (keepInCache) { cpuLruList.insertBack(item); @@ -436,8 +442,6 @@ return true; } } - - //Debug Code for Test Purpose #ifdef HB_ICON_CACHE_DEBUG if (! enableCaching) { @@ -454,15 +458,12 @@ } } else { #endif - - //Debug Code for Test Purpose #ifdef HB_ICON_CACHE_DEBUG rasterLruListCount++; } #endif - if ((item->vectorIconData.type != INVALID_FORMAT) && item->refCount == 0) { //Debug Code for Test Purpose @@ -525,7 +526,6 @@ #else maxGpuCacheLimit = size; #endif - } /*! @@ -559,12 +559,13 @@ /*! \fn HbIconDataCache::contains() Provides a mecahnism for finding whether an item exists in cache. - Is different from the find function in that, this function simply checks whether an item is presentin cache, whereas find + Is different from the find function in that, + this function simply checks whether an item is presentin cache, whereas find also performs additional operations such as incrementing the reference count. \a key denotes the unique identifier for the cache item that is to be found into the cache. */ -bool HbIconDataCache::contains(const HbIconKey &key)const +bool HbIconDataCache::contains(const HbIconKey &key) const { return (cache->contains(key)); } @@ -575,7 +576,7 @@ \a key denotes the unique identifier for the cache item whose value is to be returned */ -HbIconCacheItem* HbIconDataCache::value(const HbIconKey &key)const +HbIconCacheItem *HbIconDataCache::value(const HbIconKey &key) const { if (cache->contains(key)) { return cache->value(key); @@ -584,23 +585,22 @@ } } - /*! \fn HbIconDataCache::isItemCachableInGpu() Checks if the new item can be accomdated in the Gpu memory. \a item is the new item to be cached BLOB is always cached in cpu so this function always returns false for such items. */ -bool HbIconDataCache::isItemCachableInGpu(const HbIconCacheItem* item)const +bool HbIconDataCache::isItemCachableInGpu(const HbIconCacheItem *item) const { - if (maxGpuCacheLimit <= 0 || item->rasterIconDataCost <= 0 || item->blobIconData.type != INVALID_FORMAT || - item->rasterIconData.type != SGIMAGE) { + if (maxGpuCacheLimit <= 0 || item->rasterIconDataCost <= 0 + || item->blobIconData.type != INVALID_FORMAT || item->rasterIconData.type != SGIMAGE) { return false; } // Item's GPU Icon's cost is greater than the max GPU Limit - if (item->rasterIconDataCost > maxGpuCacheLimit) + if (item->rasterIconDataCost > maxGpuCacheLimit) { return false; - + } return true; } @@ -610,7 +610,7 @@ \a item is the new item to be cached BLOB is always cached in cpu, never in gpu. */ -bool HbIconDataCache::isItemCachableInCpu(const HbIconCacheItem* item)const +bool HbIconDataCache::isItemCachableInCpu(const HbIconCacheItem *item) const { if (maxCpuCacheLimit <= 0) { return false; @@ -622,10 +622,10 @@ if (item->rasterIconDataCost <= (maxCpuCacheLimit - currentCpuCacheSize)) { return true; } else { - return (item->rasterIconDataCost <= (maxCpuCacheLimit - currentCpuCacheSize) + cpuLruListSize); + return (item->rasterIconDataCost <= (maxCpuCacheLimit - currentCpuCacheSize) + + cpuLruListSize); } } - if (item->vectorIconData.type != INVALID_FORMAT) { if (item->vectorIconDataCost <= 0 || item->vectorIconDataCost > maxCpuCacheLimit) { return false; @@ -633,7 +633,8 @@ if (item->vectorIconDataCost <= (maxCpuCacheLimit - currentCpuCacheSize)) { return true; } else { - return (item->vectorIconDataCost <= (maxCpuCacheLimit - currentCpuCacheSize) + cpuLruListSize); + return (item->vectorIconDataCost <= (maxCpuCacheLimit - currentCpuCacheSize) + + cpuLruListSize); } } return false; @@ -642,7 +643,8 @@ /*! \fn HbIconDataCache::createGpuCacheSpace() This method provides a way to remove the unused icons( icons with ref count =0. - It starts removing the icons from the cache, starting with those that are at the front of the Gpu LRU list. + It starts removing the icons from the cache, + starting with those that are at the front of the Gpu LRU list. It continues removal of items till there is enough space created to cache the new item in Gpu \a itemCost - cost of the new item to be cached in the Gpu memory @@ -653,16 +655,15 @@ // Keep removing items from the cache till there is // enough space to accomdate the new item int freedMemory = 0; - while (itemCost > (freedMemory)) { - HbIconCacheItem* itemToRemove = gpuLruList.removeFront(); + while (itemCost > freedMemory) { + HbIconCacheItem *itemToRemove = gpuLruList.removeFront(); // Decrement the Size by the cost of the removed icon's data cost - //GET_MEMORY_MANAGER(HbMemoryManager::SharedMemory) - //qDebug() << "HbIconDataCache : Calling SgImage Close. Cost = %d "<< itemToRemove->rasterIconDataCost; #ifdef HB_SGIMAGE_ICON #ifdef HB_ICON_CACHE_DEBUG - qDebug() << "HbIconDataCache : Calling SgImage Close. Cost = %d "<< itemToRemove->rasterIconDataCost; + qDebug() << "HbIconDataCache : Calling SgImage Close. Cost = %d " + << itemToRemove->rasterIconDataCost; #endif - HbSgImageRenderer::removeSgImageFromHash(itemToRemove->rasterIconData.sgImageData.id); + HbSgImageRenderer::removeSgImageFromHash(itemToRemove->rasterIconData.sgImageData.id); #endif itemToRemove->rasterIconData.type = INVALID_FORMAT; itemToRemove->gpuLink.setNext(0); @@ -674,7 +675,6 @@ if (currentGpuCacheSize < 0) { currentGpuCacheSize = 0; } - if (gpuLruListSize < 0) { gpuLruListSize = 0; } @@ -686,7 +686,6 @@ rasterLruListCount = 0; } #endif - // This is the case where Icon has no CPU data and // the GPU cached data has also been deleted to make way for new Icon // In such a case the Item can be removed from the Hash @@ -703,7 +702,8 @@ /*! \fn HbIconDataCache::createCpuCacheSpace() This method provides a way to remove the unused icons( icons with ref count =0). - It starts removing the icons from the cache, starting with those that are at the front of the CPU LRU list. + It starts removing the icons from the cache, + starting with those that are at the front of the CPU LRU list. It continues removal of items till there is enough space created to cache the new item in Cpu \a itemCost - cost of the new item to be cached in the Cpu memory @@ -715,7 +715,7 @@ // enough space to accomdate the new item GET_MEMORY_MANAGER(HbMemoryManager::SharedMemory) while (itemCost > (maxCpuCacheLimit - currentCpuCacheSize)) { - HbIconCacheItem* itemToRemove = cpuLruList.removeFront(); + HbIconCacheItem *itemToRemove = cpuLruList.removeFront(); if (itemToRemove->rasterIconData.type == OTHER_SUPPORTED_FORMATS) { manager->free(itemToRemove->rasterIconData.pixmapData.offset); itemToRemove->rasterIconData.type = INVALID_FORMAT; @@ -736,14 +736,12 @@ updateCpuLruSize(-itemToRemove->vectorIconDataCost); } - itemToRemove->cpuLink.setNext(0); itemToRemove->cpuLink.setPrev(0); if (currentCpuCacheSize < 0) { currentCpuCacheSize = 0; } - if (cpuLruListSize < 0) { cpuLruListSize = 0; } @@ -756,11 +754,9 @@ vectorLruListCount = 0; } #endif - // This is the case where Icon has no CPU data and // the GPU cached data has also been deleted to make way for new Icon // In such a case the Item can be removed from the Hash - if ((itemToRemove->vectorIconData.type == INVALID_FORMAT) && (itemToRemove->rasterIconData.type == INVALID_FORMAT)) { cache->remove(cache->key(itemToRemove)); @@ -797,22 +793,21 @@ // Iterate through the cache and remove any active SgImages, before the context // is destroyed. QHash::const_iterator itEnd(cache->constEnd()); - for (QHash < HbIconKey, - HbIconCacheItem* >::const_iterator iter = cache->constBegin(); - iter != itEnd; - ++iter) { - HbIconCacheItem* temp = iter.value(); - if( temp->rasterIconData.type == SGIMAGE ){ + for (QHash::const_iterator iter = cache->constBegin(); + iter != itEnd; + ++iter) { + HbIconCacheItem *temp = iter.value(); + if( temp->rasterIconData.type == SGIMAGE ){ #ifdef HB_SGIMAGE_ICON - HbSgImageRenderer::removeSgImageFromHash(temp->rasterIconData.sgImageData.id); + HbSgImageRenderer::removeSgImageFromHash(temp->rasterIconData.sgImageData.id); #endif - temp->rasterIconData.type = INVALID_FORMAT; - temp->gpuLink.setNext(0); - temp->gpuLink.setPrev(0); - currentGpuCacheSize -= temp->rasterIconDataCost; - } + temp->rasterIconData.type = INVALID_FORMAT; + temp->gpuLink.setNext(0); + temp->gpuLink.setPrev(0); + currentGpuCacheSize -= temp->rasterIconDataCost; } - + } } /*! @@ -829,8 +824,8 @@ { QVector keys; QHash::const_iterator itEnd(cache->constEnd()); - for (QHash < HbIconKey, - HbIconCacheItem* >::const_iterator iter = cache->constBegin(); + for (QHash::const_iterator iter = cache->constBegin(); iter != itEnd; ++iter) { const HbIconKey *key = &iter.key(); @@ -845,10 +840,9 @@ #ifdef HB_ICON_CACHE_DEBUG void HbIconDataCache::cleanVectorLRUList() { - // remove all the items in cpu LRU list. while (cpuLruList.front()) { - HbIconCacheItem* itemToRemove = cpuLruList.removeFront(); + HbIconCacheItem *itemToRemove = cpuLruList.removeFront(); // update the member currentCpuCacheSize -= itemToRemove->vectorIconDataCost; @@ -868,7 +862,6 @@ vectorLruListCount = 0; } #endif - // remove the shared memory allocatedfor this item. releaseVectorItem(itemToRemove); @@ -878,7 +871,7 @@ } #endif // HB_ICON_CACHE_DEBUG -void HbIconDataCache::releaseVectorItem(HbIconCacheItem* releaseItem) +void HbIconDataCache::releaseVectorItem(HbIconCacheItem *releaseItem) { if (!releaseItem) { return; @@ -903,10 +896,9 @@ #ifdef HB_ICON_CACHE_DEBUG void HbIconDataCache::cleanRasterLRUList() { - // remove all the items from the gpu LRU list while (gpuLruList.front()) { - HbIconCacheItem* itemToRemove = gpuLruList.removeFront(); + HbIconCacheItem *itemToRemove = gpuLruList.removeFront(); // update the member currentGpuCacheSize -= itemToRemove->rasterIconDataCost; @@ -915,7 +907,6 @@ if (currentGpuCacheSize < 0) { currentGpuCacheSize = 0; } - if (gpuLruListSize < 0) { gpuLruListSize = 0; } @@ -926,7 +917,6 @@ rasterLruListCount = 0; } #endif - // release the shared memory (later raster memory)of this item. releaseRasterItem(itemToRemove); @@ -936,7 +926,7 @@ } #endif // HB_ICON_CACHE_DEBUG -void HbIconDataCache::releaseRasterItem(HbIconCacheItem* releaseItem) +void HbIconDataCache::releaseRasterItem(HbIconCacheItem *releaseItem) { if (!releaseItem) { return; @@ -947,14 +937,14 @@ releaseItem->rasterIconData.type = INVALID_FORMAT; } -void HbIconDataCache::removeFromCache(const HbIconKey &key, const HbIconCacheItem* releaseItem) +void HbIconDataCache::removeFromCache(const HbIconKey &key, const HbIconCacheItem *releaseItem) { if (!releaseItem) { return; } - if ((releaseItem->vectorIconData.type == INVALID_FORMAT) && - (releaseItem->rasterIconData.type == INVALID_FORMAT)) { + if (releaseItem->vectorIconData.type == INVALID_FORMAT + && releaseItem->rasterIconData.type == INVALID_FORMAT) { cache->remove(key); delete releaseItem; } diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbicondatacache_p.h --- a/src/hbservers/hbthemeserver/hbicondatacache_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbicondatacache_p.h Thu May 27 13:10:59 2010 +0300 @@ -40,14 +40,14 @@ HbIconCacheItem* getCacheItem(const HbIconKey &key , HbRenderingMode currentRenderingMode, bool isMultiIconPiece = false); - bool insert(const HbIconKey &key, HbIconCacheItem* item); + bool insert(const HbIconKey &key, HbIconCacheItem *item); bool remove(const HbIconKey& key, bool keepInCache = true); void setMaxGpuCacheSize(int size); void setMaxCpuCacheSize(int size); bool contains(const HbIconKey &key) const; HbIconCacheItem* value(const HbIconKey &key) const; - bool isItemCachableInGpu(const HbIconCacheItem* item)const; - bool isItemCachableInCpu(const HbIconCacheItem* item)const; + bool isItemCachableInGpu(const HbIconCacheItem *item)const; + bool isItemCachableInCpu(const HbIconCacheItem *item)const; void memoryGood(); void freeGpuRam(int bytes); void freeUnusedGpuResources(); @@ -78,9 +78,9 @@ void createCpuCacheSpace(int itemCost); void updateGpuLruSize(int iconDataCost); void updateCpuLruSize(int iconDataCost); - void removeFromCache(const HbIconKey &key, const HbIconCacheItem* releaseItem); - void releaseVectorItem(HbIconCacheItem* releaseItem); - void releaseRasterItem(HbIconCacheItem* releaseItem); + void removeFromCache(const HbIconKey &key, const HbIconCacheItem *releaseItem); + void releaseVectorItem(HbIconCacheItem *releaseItem); + void releaseRasterItem(HbIconCacheItem *releaseItem); private: QHash *cache; diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbpixmapiconprocessor_p.cpp --- a/src/hbservers/hbthemeserver/hbpixmapiconprocessor_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbpixmapiconprocessor_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -37,8 +37,8 @@ #include "hbthemeserverutils_p.h" #if defined (Q_OS_SYMBIAN) -#include -#include +#include +#include #endif //Q_OS_SYMBIAN /*! diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemeserver.pro --- a/src/hbservers/hbthemeserver/hbthemeserver.pro Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbthemeserver.pro Thu May 27 13:10:59 2010 +0300 @@ -26,6 +26,7 @@ TEMPLATE = app TARGET = hbthemeserver CONFIG -= app_bundle +DEFINES += HB_LIB_DIR=\"\\\"$${HB_LIB_DIR}\\\"\" DEFINES += HB_BUILD_DIR=\"\\\"$${HB_BUILD_DIR}\\\"\" # directories @@ -61,7 +62,9 @@ symbian { SOURCES += $$PWD/hbthemeserver_symbian.cpp + SOURCES += $$PWD/hbthemewatcher_symbian.cpp HEADERS += $$PWD/hbthemeserver_symbian_p_p.h + HEADERS += $$PWD/hbthemewatcher_symbian_p.h LIBS += -lapgrfx -lws32 -lavkon -lcone -leikcore -lNVGDecoder_SW -llibvgi -lfbscli -lefsrv nvg { diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemeserver_generic.cpp --- a/src/hbservers/hbthemeserver/hbthemeserver_generic.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbthemeserver_generic.cpp Thu May 27 13:10:59 2010 +0300 @@ -79,7 +79,8 @@ \a parent */ #ifdef QT_DEBUG -HbThemeServerPrivate::HbThemeServerPrivate(QWidget *parent): QMainWindow(parent), server(new QLocalServer(this)) +HbThemeServerPrivate::HbThemeServerPrivate(QWidget *parent) + : QMainWindow(parent), server(new QLocalServer(this)) #else HbThemeServerPrivate::HbThemeServerPrivate(): server(new QLocalServer(this)) #endif @@ -90,10 +91,7 @@ setWindowTitle("Theme Server"); setCentralWidget(&statusLabel); #endif - // renderMode set to SW mode by default - renderMode = ESWRendering; - // Using QScopedPointer so that it deallocates memory - // when std::badalloc exception occurs. + renderMode = ESWRendering; QScopedPointer tempIconCache(new HbIconDataCache()); QScopedPointer tempCssCache(new HbCache()); iconCache = tempIconCache.take(); @@ -111,7 +109,9 @@ HbThemeServerPrivate::~HbThemeServerPrivate() { server->close(); - delete server; // Order of Deletion needs to be maintain ,as the QLocalServer should delete first before deleting Server data so All sessions will be cleanup first. + // QLocalServer should be deleted first before deleting Server data + // so all sessions will be cleaned up first. + delete server; delete iconCache; delete cssCache; } @@ -167,7 +167,7 @@ \a key denotes the unique identifier for the cache item that is to be inserted into the cache. \a item denotes the cache item that is to be inserted */ -bool HbThemeServerPrivate::insertIconCacheItem(const HbIconKey &key, HbIconCacheItem *item) +bool HbThemeServerPrivate::insertIconCacheItem(const HbIconKey &key, HbIconCacheItem *item) { return (iconCache->insert(key, item)); } @@ -178,7 +178,7 @@ \a key denotes the unique identifier for the cache item that is to be inserted into the cache. \a item denotes the cache item that is to be inserted */ -bool HbThemeServerPrivate::insertCssCacheItem(const QString &key, HbCacheItem *item) +bool HbThemeServerPrivate::insertCssCacheItem(const QString &key, HbCacheItem *item) { return (cssCache->insert(key, item)); } @@ -331,7 +331,7 @@ } // Else delete only specified files - for (int i=0; i keys = iconCache->getKeys(filename); - for (int j = 0; jremoveSessionIconItem(*keys.at(j)); } - iconCache->remove(*keys.at(j),false); + iconCache->remove(*keys.at(j), false); } } } @@ -433,7 +433,7 @@ void HbThemeServerPrivate::clienDisconnected() { #ifdef THEME_SERVER_TRACES - qDebug()<<"Total No of Connection after deletion = "<currentRenderingMode()); + HbIconKey key(filename, size, static_cast(aspectRatioMode), + static_cast(mode), mirrored, color, + iServer->currentRenderingMode()); QByteArray output = handleIconLookup(key, data, options); - ((QLocalSocket *)sender())->write(output); + static_cast(sender())->write(output); break; } case EIconDefaultSize: @@ -763,13 +771,12 @@ inputDataStream >> frameItemParams.multiPartIconData.multiPartIconId; int noOfPieces = 1; - if (frameItemParams.multiPartIconData.multiPartIconId.contains("_3PV", Qt::CaseInsensitive) || - frameItemParams.multiPartIconData.multiPartIconId.contains("_3PH", Qt::CaseInsensitive)) { + if (frameItemParams.multiPartIconData.multiPartIconId.contains("_3PV", Qt::CaseInsensitive) + || frameItemParams.multiPartIconData.multiPartIconId.contains("_3PH", Qt::CaseInsensitive)) { noOfPieces = 3; } else if (frameItemParams.multiPartIconData.multiPartIconId.contains("_9P", Qt::CaseInsensitive)) { noOfPieces = 9; } - for (int i = 0; i < noOfPieces; i++) { inputDataStream >> frameItemParams.multiPartIconData.sources[i]; } @@ -792,16 +799,17 @@ #ifdef THEME_SERVER_TRACES qDebug() << "image req at server: " << frameItemParams.multiPartIconList; #endif - - int index = frameItemParams.multiPartIconList[0].lastIndexOf("/"); + int index = frameItemParams.multiPartIconList[0].lastIndexOf('/'); QString iconId = frameItemParams.multiPartIconList[0].left(index + 1); HbSharedIconInfo stitchedData; QT_TRY { iconId.append(frameItemParams.multiPartIconData.multiPartIconId); HbIconKey finalIconKey(iconId, frameItemParams.size, - (Qt::AspectRatioMode)frameItemParams.aspectRatioMode, - (QIcon::Mode)frameItemParams.mode, frameItemParams.mirrored, - frameItemParams.color, (HbRenderingMode)frameItemParams.renderMode); + static_cast(frameItemParams.aspectRatioMode), + static_cast(frameItemParams.mode), + frameItemParams.mirrored, + frameItemParams.color, + static_cast(frameItemParams.renderMode)); stitchedData.type = INVALID_FORMAT; @@ -818,15 +826,16 @@ request = EMultiPieceIcon; fillOutPutDataStream(outputDataStream, stitchedData, request); #ifdef THEME_SERVER_TRACES - qDebug() << Q_FUNC_INFO << " offset= " << stitchedData.pixmapData.offset << " format= " << stitchedData.pixmapData.format; + qDebug() << Q_FUNC_INFO << " offset= " << stitchedData.pixmapData.offset + << " format= " << stitchedData.pixmapData.format; testLabel->setPixmap(QPixmap::fromImage( - QImage( - HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, stitchedData.pixmapData.offset), - stitchedData.pixmapData.width, - stitchedData.pixmapData.height, - stitchedData.pixmapData.format))); + QImage(HbMemoryUtils::getAddress(HbMemoryManager::SharedMemory, + stitchedData.pixmapData.offset), + stitchedData.pixmapData.width, + stitchedData.pixmapData.height, + stitchedData.pixmapData.format))); #endif - ((QLocalSocket *)sender())->write(outputByteArray); + static_cast(sender())->write(outputByteArray); break; } case EMultiIcon: { @@ -839,10 +848,7 @@ int options; QColor color; inputDataStream >> fileList; - for (int i = 0; i < fileList.count(); i++) { - inputDataStream >> size; - sizeList << size; - } + inputDataStream >> sizeList; inputDataStream >> aspectRatioMode; inputDataStream >> mode; inputDataStream >> mirrored; @@ -853,15 +859,17 @@ qDebug() << "image req at server: " << fileList; #endif QByteArray output; + QDataStream outputDataStream(&output, QIODevice::WriteOnly); + outputDataStream << (int)requestType; // Put EMultiIcon request type in the beginning for (int i = 0; i < fileList.count(); i++) { HbIconKey key(fileList[i], sizeList[i], static_cast(aspectRatioMode), - static_cast(mode), mirrored, color, iServer->currentRenderingMode()); + static_cast(mode), mirrored, color, + iServer->currentRenderingMode()); output.append(handleIconLookup(key, data, options)); } - ((QLocalSocket *)sender())->write(output); - + static_cast(sender())->write(output); break; } case ENotifyForegroundLost: { @@ -873,7 +881,7 @@ case ECacheIconCount: { int count = iServer->cacheIconCount(); outputDataStream << count; - ((QLocalSocket *)sender())->write(outputByteArray); + static_cast(sender())->write(outputByteArray); break; } case ERasterMemLimit: { @@ -891,122 +899,124 @@ case EFreeRasterMem: { int freeRastMem = iServer->freeRasterMemory(); outputDataStream << freeRastMem; - ((QLocalSocket *)sender())->write(outputByteArray); + static_castsender())->write(outputByteArray); break; } case EFreeVectorMem: { int freeVectMem = iServer->freeVectorMemory(); outputDataStream << freeVectMem; - ((QLocalSocket *)sender())->write(outputByteArray); + static_cast(sender())->write(outputByteArray); break; } case ELastAddedItemMem { - int lAddItemMem = iServer->lastAddedItemMem(); - outputDataStream << lAddItemMem; - ((QLocalSocket *)sender())->write(outputByteArray); - break; - } + int lAddItemMem = iServer->lastAddedItemMem(); + outputDataStream << lAddItemMem; + static_cast(sender())->write(outputByteArray); + break; + } case ELastRemovedItemMem { - int lRemItemMem = iServer->lastRemovedItemMem(); - outputDataStream << lRemItemMem; - ((QLocalSocket *)sender())->write(outputByteArray); - break; - } + int lRemItemMem = iServer->lastRemovedItemMem(); + outputDataStream << lRemItemMem; + static_cast(sender())->write(outputByteArray); + break; + } case ELastRemovedItemRefCount: { - int lRemItemRfCnt = iServer->lastRemovedItemRfCount(); - outputDataStream << lRemItemRfCnt; - ((QLocalSocket *)sender())->write(outputByteArray); - break; - } + int lRemItemRfCnt = iServer->lastRemovedItemRfCount(); + outputDataStream << lRemItemRfCnt; + static_cast(sender())->write(outputByteArray); + break; + } case ELastAddedItemRefCount: { - int lAddItemRfCnt = iServer->lastAddedRefCount(); - outputDataStream << lAddItemRfCnt; - ((QLocalSocket *)sender())->write(outputByteArray); - break; - } + int lAddItemRfCnt = iServer->lastAddedRefCount(); + outputDataStream << lAddItemRfCnt; + static_cast(sender())->write(outputByteArray); + break; + } case EEnableCache: { - int enable ; - inputDataStream >> enable; - bool success = iServer->enableCache(enable); - outputDataStream << (int)success; - ((QLocalSocket *)sender())->write(outputByteArray); - break; - } + int enable ; + inputDataStream >> enable; + bool success = iServer->enableCache(enable); + outputDataStream << (int)success; + static_cast(sender())->write(outputByteArray); + break; + } case ECacheHit: { - int cacheHitCnt = iServer->cacheHitCount(); - outputDataStream << cacheHitCnt; - ((QLocalSocket *)sender())->write(outputByteArray); - break; - } + int cacheHitCnt = iServer->cacheHitCount(); + outputDataStream << cacheHitCnt; + static_cast(sender())->write(outputByteArray); + break; + } case ECacheMiss: { - int cacheMissCnt = iServer->cacheMissCount(); - outputDataStream << cacheMissCnt; - ((QLocalSocket *)sender())->write(outputByteArray); - break; - } + int cacheMissCnt = iServer->cacheMissCount(); + outputDataStream << cacheMissCnt; + static_cast(sender())->write(outputByteArray); + break; + } case ECleanRasterLRUList: { - iServer->cleanRasterLRUList(); - break; - } + iServer->cleanRasterLRUList(); + break; + } case ECleanVectorLRUList: { - iServer->cleanVectorLRUList(); - break; - } + iServer->cleanVectorLRUList(); + break; + } case EGpuLruCount: { - int rasterLruCount = iServer->rasterLruCount(); - outputDataStream << rasterLruCount; - ((QLocalSocket *)sender())->write(outputByteArray); - break; - } + int rasterLruCount = iServer->rasterLruCount(); + outputDataStream << rasterLruCount; + static_cast(sender())->write(outputByteArray); + break; + } case ECpuLruCount: { - int vectorLruCount = iServer->vectorLruCount(); - outputDataStream << vectorLruCount; - ((QLocalSocket *)sender())->write(outputByteArray); - break; - } + int vectorLruCount = iServer->vectorLruCount(); + outputDataStream << vectorLruCount; + static_cast(sender())->write(outputByteArray); + break; + } case EServerHeap: { - } + } #endif #ifdef HB_THEME_SERVER_MEMORY_REPORT case ECreateMemoryReport: { - GET_MEMORY_MANAGER(HbMemoryManager::SharedMemory); - static_cast(manager)->createReport(); - break; - } + GET_MEMORY_MANAGER(HbMemoryManager::SharedMemory); + static_cast(manager)->createReport(); + break; + } #endif case EUnloadIcon: { - QString filename; - QSizeF size; - int aspectRatioMode; - int mode; - bool mirrored; - int options; - QColor color; - inputDataStream >> filename; - inputDataStream >> size; - inputDataStream >> aspectRatioMode; - inputDataStream >> mode; - inputDataStream >> mirrored; - inputDataStream >> options; - inputDataStream >> color; + QString filename; + QSizeF size; + int aspectRatioMode; + int mode; + bool mirrored; + int options; + QColor color; + inputDataStream >> filename; + inputDataStream >> size; + inputDataStream >> aspectRatioMode; + inputDataStream >> mode; + inputDataStream >> mirrored; + inputDataStream >> options; + inputDataStream >> color; - HbIconKey key(filename, size, (Qt::AspectRatioMode)aspectRatioMode, - (QIcon::Mode)mode, mirrored, color, iServer->currentRenderingMode()); - iServer->removeIconCacheItem(key); - sessionIconData.removeOne(key); - QByteArray outputByteArray; - QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); - outputDataStream << (int)requestType; - ((QLocalSocket *)sender())->write(outputByteArray); - break; - } + HbIconKey key(filename, size, + static_cast(aspectRatioMode), + static_cast(mode), mirrored, color, + iServer->currentRenderingMode()); + iServer->removeIconCacheItem(key); + sessionIconData.removeOne(key); + QByteArray outputByteArray; + QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); + outputDataStream << int(requestType); + static_cast(sender())->write(outputByteArray); + break; + } case EFreeSharedMem: { int freeSharedMem = iServer->freeSharedMemory(); QByteArray outputByteArray; QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); outputDataStream << requestType; outputDataStream << freeSharedMem; - ((QLocalSocket *)sender())->write(outputByteArray); + static_cast(sender())->write(outputByteArray); break; } case EAllocatedSharedMem: { @@ -1015,10 +1025,9 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); outputDataStream << requestType; outputDataStream << allocatedSharedMem; - ((QLocalSocket *)sender())->write(outputByteArray); + static_cast(sender())->write(outputByteArray); break; } - case ETypefaceOffset: { int offset = -1; HbTypefaceInfoDatabase *typefaceDatabase = @@ -1032,11 +1041,9 @@ QDataStream outputDataStream(&outputByteArray, QIODevice::WriteOnly); outputDataStream << requestType; outputDataStream << offset; - ((QLocalSocket *)sender())->write(outputByteArray); + static_cast(sender())->write(outputByteArray); break; } - - default: break; } @@ -1052,7 +1059,7 @@ HbSharedIconInfo &stitchedData) { stitchedData.type = INVALID_FORMAT; - HbIconCacheItem * cacheItem = iServer->iconCacheItem(key); + HbIconCacheItem *cacheItem = iServer->iconCacheItem(key); if (cacheItem) { getDataFromCacheItem(cacheItem, stitchedData); return true; @@ -1065,23 +1072,21 @@ Creates a cacheItem of the given key and insert the item in to the list else free the data allocated for the cache.. */ -bool HbThemeServerSession::createCacheItemData(HbIconKey key, int options , HbSharedIconInfo &data) +bool HbThemeServerSession::createCacheItemData(HbIconKey key, int options, HbSharedIconInfo &data) { - HbIconCacheItem * cacheItemOfPiece = iServer->iconCacheItem(key); + HbIconCacheItem *cacheItemOfPiece = iServer->iconCacheItem(key); if (cacheItemOfPiece) { return true; } - QScopedPointer tempIconCacheItem; + QScopedPointer tempIconCacheItem; bool insertKeyIntoSessionList = false; data.type = INVALID_FORMAT; QString format = HbThemeServerUtils::formatFromPath(key.filename); tempIconCacheItem.reset(HbIconCacheItemCreator::createCacheItem(key, - (HbIconLoader::IconLoaderOptions)options, - format, - iServer->currentRenderingMode(), - false)); + static_cast(options), + format, iServer->currentRenderingMode(), false)); cacheItemOfPiece = tempIconCacheItem.data(); if (cacheItemOfPiece) { getDataFromCacheItem(cacheItemOfPiece, data); @@ -1105,7 +1110,7 @@ bool HbThemeServerSession::createStichedIconInfoOfParts(QVector dataForParts, HbMultiIconParams params, HbIconKey &finalIconKey, HbSharedIconInfo &stitchedData) { - HbIconCacheItem * cacheItem = iServer->iconCacheItem(finalIconKey); + HbIconCacheItem *cacheItem = iServer->iconCacheItem(finalIconKey); if (cacheItem) { return true; } @@ -1113,9 +1118,9 @@ stitchedData.type = INVALID_FORMAT; QString format = HbThemeServerUtils::formatFromPath(params.multiPartIconList[0]); - QScopedPointer tempIconProcessor(new HbPixmapIconProcessor(finalIconKey, + QScopedPointer tempIconProcessor(new HbPixmapIconProcessor(finalIconKey, static_cast(params.options), format)); - HbPixmapIconProcessor * rasterIcon = tempIconProcessor.data(); + HbPixmapIconProcessor *rasterIcon = tempIconProcessor.data(); rasterIcon->createMultiPieceIconData(dataForParts, params); QScopedPointer tempIconCacheItem; @@ -1153,19 +1158,19 @@ QVector dataForParts; bool insertKeyIntoSessionList = false; bool failedToCreateParts = false; - QString format; try { for (int i = 0; i < noOfPieces; i++) { HbSharedIconInfo data; bool iconPieceMirrored = false; HbIconKey key(params.multiPartIconList.at(i), params.multiPartIconData.pixmapSizes[i], static_cast(stichedKey.aspectRatioMode), - static_cast(stichedKey.mode), iconPieceMirrored, stichedKey.color,stichedKey.renderMode ); + static_cast(stichedKey.mode), + iconPieceMirrored, stichedKey.color, stichedKey.renderMode); insertKeyIntoSessionList = iconInfoFromSingleIcon(key, data); if (!insertKeyIntoSessionList) { insertKeyIntoSessionList = createCacheItemData(key, params.options, data); } - if ((data.type == INVALID_FORMAT) || (!insertKeyIntoSessionList)) { + if ((data.type == INVALID_FORMAT) || !insertKeyIntoSessionList) { failedToCreateParts = true; break; } else { @@ -1180,8 +1185,10 @@ failedToCreateParts = true; } - if ((failedToCreateParts) || (dataForParts.count() != noOfPieces) || (!insertKeyIntoSessionList)) { - //atLeast one of the icon did'nt get constructed , so move the cached piece icons to unused state and return + if (failedToCreateParts || (dataForParts.count() != noOfPieces) + || !insertKeyIntoSessionList) { + //atLeast one of the icon did'nt get constructed , + //so move the cached piece icons to unused state and return for (int i = 0; i < keysInserted.count(); i++) { sessionIconData.removeOne(keysInserted.at(i)); } @@ -1269,10 +1276,12 @@ \fn HbThemeServerSession::fillOutPutDataStream() Fills the Output data stream with the sharedIconInfo data. */ -void HbThemeServerSession::fillOutPutDataStream(QDataStream &outputDataStream, HbSharedIconInfo &data, HbThemeServerRequest request) +void HbThemeServerSession::fillOutPutDataStream(QDataStream &outputDataStream, + HbSharedIconInfo &data, + HbThemeServerRequest request) { - outputDataStream << (int)request; - outputDataStream << (int)data.type; + outputDataStream << int(request); + outputDataStream << int(data.type); switch (data.type) { case OTHER_SUPPORTED_FORMATS: @@ -1281,7 +1290,7 @@ outputDataStream << data.pixmapData.height; outputDataStream << data.pixmapData.defaultWidth; outputDataStream << data.pixmapData.defaultHeight; - outputDataStream << (int)data.pixmapData.format; + outputDataStream << int(data.pixmapData.format); break; /*case SVG:*/ case PIC: { @@ -1310,7 +1319,8 @@ \fn HbThemeServerSession::getDataFromCacheItem() Gets data from the cache Item. */ -void HbThemeServerSession::getDataFromCacheItem(HbIconCacheItem* cacheItem, HbSharedIconInfo &data) const +void HbThemeServerSession::getDataFromCacheItem(HbIconCacheItem* cacheItem, + HbSharedIconInfo &data) const { if (cacheItem) { if (cacheItem->rasterIconData.type != INVALID_FORMAT) { @@ -1328,7 +1338,9 @@ /** * HbThemeServerPrivate::handleSharedWidgetMLLookup() */ -QByteArray HbThemeServerPrivate::handleSharedWidgetMLLookup(const QString &fileName, const QString &layout, const QString §ion) +QByteArray HbThemeServerPrivate::handleSharedWidgetMLLookup(const QString &fileName, + const QString &layout, + const QString §ion) { int offset = HbThemeServerUtils::getSharedLayoutDefinition(fileName, layout, section); QByteArray outputByteArray; @@ -1343,7 +1355,8 @@ /** * HbThemeServerPrivate::handleSharedEffectAddAndFileLookup() */ -QByteArray HbThemeServerPrivate::handleSharedEffectAddAndFileLookup(int request, const QString &fileName) +QByteArray HbThemeServerPrivate::handleSharedEffectAddAndFileLookup(int request, + const QString &fileName) { int offset = HbThemeServerUtils::getSharedEffect(fileName); QByteArray outputByteArray; @@ -1356,7 +1369,8 @@ /** * HbThemeServerSession::handleStyleSheetLookup() */ -QByteArray HbThemeServerSession::handleStyleSheetLookup(int request, const QString &fileName, HbLayeredStyleLoader::LayerPriority priority) +QByteArray HbThemeServerSession::handleStyleSheetLookup(int request, + const QString &fileName, HbLayeredStyleLoader::LayerPriority priority) { int offset = -1; HbCacheItem* cssItem = iServer->cssCacheItem(fileName); @@ -1373,13 +1387,15 @@ if (offset >= 0) { HbCacheItem *cssItem = new HbCacheItem(offset, 0, fileName); insertKeyIntoSessionList = iServer->insertCssCacheItem(fileName, cssItem); - if (priority == HbLayeredStyleLoader::Priority_Core && cssItem->refCount == 1) { + if (priority == HbLayeredStyleLoader::Priority_Core + && cssItem->refCount == 1) { // This will make sure the requested stylesheet will always remain // in the primary and secondary cache. cssItem->incrementRefCount(); } - if (priority == HbLayeredStyleLoader::Priority_Theme && cssItem->refCount == 1) { - iServer->themePriorityItems.insert(fileName,cssItem); + if (priority == HbLayeredStyleLoader::Priority_Theme + && cssItem->refCount == 1) { + iServer->themePriorityItems.insert(fileName, cssItem); } break; } else if (offset == OUT_OF_MEMORY_ERROR && tryAgain == false) { @@ -1413,7 +1429,8 @@ /** * HbThemeServerSession::handleIconLookup() */ -QByteArray HbThemeServerSession::handleIconLookup(const HbIconKey &key, HbSharedIconInfo &data, int options) +QByteArray HbThemeServerSession::handleIconLookup(const HbIconKey &key, HbSharedIconInfo &data, + int options) { bool insertKeyIntoSessionList = false; HbIconCacheItem * cacheItem = iServer->iconCacheItem(key); diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemeserver_generic_p_p.h --- a/src/hbservers/hbthemeserver/hbthemeserver_generic_p_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbthemeserver_generic_p_p.h Thu May 27 13:10:59 2010 +0300 @@ -58,7 +58,7 @@ void stop(); bool insertIconCacheItem(const HbIconKey &key, HbIconCacheItem *item); - HbIconCacheItem* iconCacheItem(const HbIconKey &key); + HbIconCacheItem *iconCacheItem(const HbIconKey &key); void setMaxGpuCacheSize(int size); void setMaxCpuCacheSize(int size); void removeIconCacheItem(const HbIconKey &key); @@ -67,12 +67,13 @@ void handleContentUpdate(const QStringList &fileNames); QByteArray handleSharedEffectAddAndFileLookup(int request, const QString &fileName); - QByteArray handleSharedWidgetMLLookup(const QString &fileName, const QString &layout, const QString §ion); + QByteArray handleSharedWidgetMLLookup(const QString &fileName, + const QString &layout, const QString §ion); void writeToClients(QByteArray &block); void setThemeSelectionClient(QLocalSocket *socket); bool insertCssCacheItem(const QString &key, HbCacheItem *item); - HbCacheItem* cssCacheItem(const QString &key); + HbCacheItem *cssCacheItem(const QString &key); void removeCssCacheItem(const QString &key); void clearCssCache(); @@ -120,7 +121,7 @@ #endif QLocalServer *server; QLocalSocket *iThemeSelectionClient; - QList sessionList; + QList sessionList; HbIconDataCache *iconCache; HbCache *cssCache; HbRenderingMode renderMode; @@ -133,10 +134,12 @@ HbThemeServerSession(QLocalSocket *clientConnection, HbThemeServerPrivate *server); ~HbThemeServerSession(); QLocalSocket *clientConnection(); - void fillOutPutDataStream(QDataStream &outputDataStream, HbSharedIconInfo &data, HbThemeServerRequest request); + void fillOutPutDataStream(QDataStream &outputDataStream, HbSharedIconInfo &data, + HbThemeServerRequest request); void getDataFromCacheItem(HbIconCacheItem* cacheItem, HbSharedIconInfo &data) const; void freeDataFromCacheItem(HbIconCacheItem* cacheItem); - QByteArray handleStyleSheetLookup(int request, const QString &fileName, HbLayeredStyleLoader::LayerPriority priority); + QByteArray handleStyleSheetLookup(int request, const QString &fileName, + HbLayeredStyleLoader::LayerPriority priority); QByteArray handleIconLookup(const HbIconKey &key, HbSharedIconInfo &data, int options); bool iconInfoFromSingleIcon(HbIconKey key, HbSharedIconInfo &stitchedData); bool createCacheItemData(HbIconKey key, int options, HbSharedIconInfo &data); diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemeserver_symbian.cpp --- a/src/hbservers/hbthemeserver/hbthemeserver_symbian.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbthemeserver_symbian.cpp Thu May 27 13:10:59 2010 +0300 @@ -32,13 +32,13 @@ #include "hbsharedmemorymanager_p.h" #include "hbtypefaceinfodatabase_p.h" - #include #include #include #include #include #include +#include #include #include #include @@ -63,15 +63,9 @@ static const TInt KThemeName = 0; -// Publish/Subscribe themeRequestProp specific -static _LIT_SECURITY_POLICY_PASS(KAllowAllPolicy); -static _LIT_SECURITY_POLICY_C1(KThemeChangerPolicy,ECapabilityWriteDeviceData); - +const QString KOperatorCPath = "C:/resource/hb/operatorTheme/icons/"; +const QString KOperatorZPath = "Z:/resource/hb/operatorTheme/icons/"; -const QString operatorCPath = "C:/resource/hb/operatorTheme/icons/"; -const QString operatorZPath = "Z:/resource/hb/operatorTheme/icons/"; - -static HbThemeServerPrivate *TheServer = 0; bool HbThemeServerPrivate::gpuGoodMemoryState = true; // This is used as parent theme always regardless of the active theme @@ -93,7 +87,7 @@ HbThemeServerPrivate* self = new(ELeave) HbThemeServerPrivate(aActiveObjectPriority); CleanupStack::PushL(self); self->ConstructL(); - CleanupStack::Pop(); // self + CleanupStack::Pop(self); return self; } @@ -131,7 +125,11 @@ HbThemeSystemEffect::handleThemeChange(iCurrentThemeName); // Open index file to prevent uninstallation of the active theme - openCurrentIndexFile(); + if (!openCurrentIndexFile()) { + // theme doesn't exist activate default theme + iCurrentThemeName = HbThemeUtils::defaultTheme().name; + resolveThemePath(iCurrentThemeName, iCurrentThemePath); + } cache = 0; cssCache = 0; @@ -157,16 +155,16 @@ QString basePath; resolveThemePath(HbThemeUtils::getThemeSetting(HbThemeUtils::BaseThemeSetting), basePath); createThemeIndex(basePath, BaseTheme); - // Process operator Drive C theme index + // Process operator theme indexes QString operatorName = HbThemeUtils::getThemeSetting(HbThemeUtils::OperatorNameSetting); if (!operatorName.isEmpty()) { QString operatorPath; - operatorPath.append(operatorCPath); + operatorPath.append(KOperatorCPath); operatorPath.append(operatorName); createThemeIndex(operatorPath, OperatorC); // Process operator Drive Z theme index QString operatorROMPath; - operatorROMPath.append(operatorZPath); + operatorROMPath.append(KOperatorZPath); operatorROMPath.append(operatorName); createThemeIndex(operatorROMPath, OperatorROM); } @@ -180,7 +178,7 @@ #endif // Start the splash screen generator app. - //QProcess::startDetached("hbsplashgenerator.exe"); + QProcess::startDetached("hbsplashgenerator.exe"); } /** @@ -194,21 +192,18 @@ so no second parameter is passed to the CServer2 constructor. */ HbThemeServerPrivate::HbThemeServerPrivate(CActive::TPriority aActiveObjectPriority) - : CServer2( aActiveObjectPriority ) + : CServer2( aActiveObjectPriority ), iWatcher(0) { - // Set server pointer in static variable - TheServer = this; - // Set up the listener to listen for Publish events TRAPD(err, iListener = CHbThemeChangeNotificationListener::NewL(*this)); if (err) { qWarning( "HbThemeServerPrivate::HbThemeServerPrivate: CHbThemeChangeNotificationListener::NewL failed = %d", err ); } else { - TRAPD( err, iListener->startListening()); + TRAPD(err, iListener->startListeningL()); if (err) { qWarning( "HbThemeServerPrivate::HbThemeServerPrivate: iListener->startListening failed = %d", err ); } - } + } } /** @@ -226,26 +221,41 @@ } // Delete the listener for Publish/Subscribe delete iListener; + // Delete file watcher + if (iWatcher) { + delete iWatcher; + } } -HbThemeServerPrivate *HbThemeServerPrivate::Instance() -{ - return TheServer; -} - -void HbThemeServerPrivate::openCurrentIndexFile() +/* + * Returns FALSE if file doesn't exist, TRUE otherwise + */ +bool HbThemeServerPrivate::openCurrentIndexFile() { // Open index file to prevent uninstallation of the active theme - if (!iCurrentThemePath.isEmpty() && iCurrentThemePath[0] != 'Z') { + if (!iCurrentThemePath.isEmpty() && iCurrentThemePath[0] != 'z' && + iCurrentThemePath[0] != 'Z' && iCurrentThemePath[0] != ':') { QString indexFileName; indexFileName.append(iCurrentThemePath); - indexFileName.append("\\index.theme"); - - currentIndexfile.setFileName(indexFileName); + indexFileName.append("/index.theme"); + + QFile currentIndexfile(indexFileName); if(!currentIndexfile.open(QIODevice::ReadOnly)) { qWarning()<< "HbSymbianThemeServer: No Index file found in the new theme, How did this happen ??"; + return false; + } else { + currentIndexfile.close(); + if (!iWatcher) { + // Set up the file watcher for active theme changes + TRAP_IGNORE(iWatcher = CHbThemeWatcher::NewL(*this)); + } + // Start watching in case of mmc ejection + if (iWatcher) { + iWatcher->startWatchingL(indexFileName); + } } } + return true; } bool HbThemeServerPrivate::resolveThemePath(const QString &themeName, QString &themePath) @@ -326,15 +336,18 @@ #endif - currentIndexfile.close(); // Open index file to prevent uninstallation of the active theme - openCurrentIndexFile(); + if (!openCurrentIndexFile()) { + // theme doesn't exist activate default theme + iCurrentThemeName = HbThemeUtils::defaultTheme().name; + resolveThemePath(iCurrentThemeName, iCurrentThemePath); + } // Process operator Drive C theme index QString operatorName = HbThemeUtils::getThemeSetting(HbThemeUtils::OperatorNameSetting); if (!operatorName.isEmpty()) { QString operatorPath; - operatorPath.append(operatorCPath); + operatorPath.append(KOperatorCPath); operatorPath.append(operatorName); createThemeIndex(operatorPath, OperatorC); } @@ -344,7 +357,7 @@ // Clear cached icons and session data clearIconCache(); iSessionIter.SetToFirst(); - while(iSessionIter != NULL) { + while(iSessionIter) { HbThemeServerSession &session = reinterpret_cast(*iSessionIter); session.ClearSessionData(); iSessionIter++; @@ -752,13 +765,13 @@ qint64 byteSize = indexFile.size(); #ifdef THEME_INDEX_TRACES - qDebug() << "ThemeIndex: " << theme.toUtf8() << " index file size:" << byteSize; + qDebug() << "ThemeIndex: " << themeName.toUtf8() << " index file size:" << byteSize; #endif int offset = manager->alloc(byteSize); if (offset >= 0) { #ifdef THEME_INDEX_TRACES - qDebug() << "ThemeIndex: memory allocated for theme: " << theme.toUtf8(); + qDebug() << "ThemeIndex: memory allocated for theme: " << themeName.toUtf8(); #endif // Read the theme index in the shared chunk @@ -768,23 +781,23 @@ indexFile.close(); #ifdef THEME_INDEX_TRACES - qDebug() << "ThemeIndex: Reading themeindex for theme" << theme.toUtf8() << "... Done!"; + qDebug() << "ThemeIndex: Reading themeindex for theme" << themeName.toUtf8() << "... Done!"; #endif // Verify theme index contents if it is not located in ROM, // so that it does not have over-indexing offsets which might // crash all the clients trying to read from it. - if (themePath[0] != 'Z') { + if (themePath[0] != 'z' && themePath[0] != 'Z') { #ifdef THEME_INDEX_TRACES - qDebug() << "ThemeIndex: Validating themeindex for theme" << theme.toUtf8(); + qDebug() << "ThemeIndex: Validating themeindex for theme" << themeName.toUtf8(); #endif HbThemeIndex index(address); indexOK = index.validateItems(byteSize); #ifdef THEME_INDEX_TRACES - qDebug() << "ThemeIndex: Validating themeindex for theme" << theme.toUtf8() << " done! Result: " << indexOK; + qDebug() << "ThemeIndex: Validating themeindex for theme" << themeName.toUtf8() << " done! Result: " << indexOK; #endif } @@ -922,10 +935,10 @@ TRAPD(err, DispatchMessageL(aMessage)); aMessage.Complete(err); + +#ifdef THEME_SERVER_TRACES QString er; er.setNum(err); - -#ifdef THEME_SERVER_TRACES qDebug() << "completed DispatchMessageL error code is " + er; #endif @@ -1228,6 +1241,7 @@ } #endif } + /** * HandleStyleSheetLookupL */ @@ -1240,7 +1254,7 @@ return; } - TBuf<256> fileName; + TFileName fileName; aMessage.ReadL(0, fileName, 0); TBuf<256> layerPriorityBuf; aMessage.ReadL(1, layerPriorityBuf, 0); @@ -1291,6 +1305,9 @@ aMessage.WriteL(2, data); } +static const TInt KMaxLayoutName = 256; +static const TInt KMaxSectionName = 256; + /** * HandleWidgetMLLookUp */ @@ -1300,11 +1317,11 @@ return; } - TBuf<256> fileName; + TFileName fileName; aMessage.ReadL(0, fileName, 0); - TBuf<256> layoutName; + TBuf layoutName; aMessage.ReadL(1, layoutName, 0); - TBuf<256> sectionName; + TBuf sectionName; aMessage.ReadL(2, sectionName, 0); QString wmlFileName((QChar*)fileName.Ptr(), fileName.Length()); @@ -1433,10 +1450,10 @@ } else { QT_TRY { QString format = HbThemeServerUtils::formatFromPath(key.filename); - QScopedPointer tempIconCacheItem(HbIconCacheItemCreator::createCacheItem( key, - (HbIconLoader::IconLoaderOptions)params.options, - format, - iServer->currentRenderingMode())); + QScopedPointer tempIconCacheItem( + HbIconCacheItemCreator::createCacheItem(key, + static_cast(params.options), + format, iServer->currentRenderingMode())); cacheItem = tempIconCacheItem.data(); if (cacheItem) { if (cacheItem->rasterIconData.type != INVALID_FORMAT) { @@ -1524,6 +1541,17 @@ return color; } +inline +QSize convert(const TSize &size) +{ + return QSize(size.iWidth, size.iHeight); +} +inline +QRect convert(const TRect &rect) +{ + return QRect(QPoint(rect.iTl.iX, rect.iTl.iY), QPoint(rect.iBr.iX, rect.iBr.iY)); +} + /** * HbThemeServerPrivate::GetSharedMultiIconInfoL Creates a consolidated icon of the frame item pieces , @@ -1544,12 +1572,12 @@ fullPath = fullPath.left(index + 1); iconId.prepend(fullPath); HbIconKey finalIconKey(iconId, - (QSizeF)params.size, - (Qt::AspectRatioMode)params.aspectRatioMode, - (QIcon::Mode)params.mode, - (bool)params.mirrored, + params.size, + static_cast(params.aspectRatioMode), + static_cast(params.mode), + params.mirrored, color, - (HbRenderingMode)params.renderMode); + static_cast(params.renderMode)); if (!IconInfoFromSingleIcon(finalIconKey, stitchedData)) { HbMultiIconParams frameItemParams; @@ -1561,20 +1589,20 @@ } frameItemParams.multiPartIconId = iconId; - frameItemParams.aspectRatioMode = (Qt::AspectRatioMode)params.aspectRatioMode; + frameItemParams.aspectRatioMode = params.aspectRatioMode; frameItemParams.colorflag = params.colorflag; - frameItemParams.mirrored = (bool)params.mirrored; + frameItemParams.mirrored = params.mirrored; frameItemParams.options = params.options; frameItemParams.rgba = params.rgba; - frameItemParams.mode = (QIcon::Mode)params.mode; - frameItemParams.size = (QSizeF)params.size; + frameItemParams.mode = params.mode; + frameItemParams.size = params.size; frameItemParams.color = color; frameItemParams.renderMode = params.renderMode; QT_TRY { for (int i = 0; i < noOfPieces; i++) { - frameItemParams.multiPartIconData.pixmapSizes[i] = (QSize &)params.pixmapSizes[i]; - frameItemParams.multiPartIconData.targets[i] = (QRect &)params.targets[i]; - frameItemParams.multiPartIconData.sources[i] = (QRect &)params.sources[i]; + frameItemParams.multiPartIconData.pixmapSizes[i] = convert(params.pixmapSizes[i]); + frameItemParams.multiPartIconData.targets[i] = convert(params.targets[i]); + frameItemParams.multiPartIconData.sources[i] = convert(params.sources[i]); QString pieceName((QChar*)params.multiPartIconList[i].Ptr(), params.multiPartIconList[i].Length()); frameItemParams.multiPartIconList.append(pieceName); } @@ -1971,15 +1999,15 @@ aMessage.ReadL(0, paramPckg, 0); QColor color = GetColorFromRgba(params.rgba, params.colorflag); - Qt::AspectRatioMode aspectRatioMode = (Qt::AspectRatioMode)params.aspectRatioMode; - QIcon::Mode mode = (QIcon::Mode)params.mode; + Qt::AspectRatioMode aspectRatioMode = static_cast(params.aspectRatioMode); + QIcon::Mode mode = static_cast(params.mode); TBool mirrored = params.mirrored; TInt iconCount = params.iconCount; for (int i = 0; i < iconCount; i++) { QString filename((QChar*)params.iconList[i].Ptr(), params.iconList[i].Length()); HbIconKey key(filename, params.sizeList[i], aspectRatioMode, mode, mirrored, color, - (HbRenderingMode)params.renderMode); + static_cast(params.renderMode)); iServer->CleanupSessionIconItem(key); sessionData.removeOne(key); } @@ -2061,7 +2089,7 @@ (Qt::AspectRatioMode)params.aspectRatioMode, (QIcon::Mode)params.mode, params.mirrored, color, (HbRenderingMode)params.renderMode); - HbIconCacheItem* cacheItem = cache->value(key);//iconCacheItem(key); + HbIconCacheItem* cacheItem = cache->value(key); if(cacheItem) refCount = cacheItem->refCount; else @@ -2071,132 +2099,3 @@ #endif #endif - -CHbThemeChangeNotificationListener* CHbThemeChangeNotificationListener::NewL(HbThemeServerPrivate& aObserver) -{ - CHbThemeChangeNotificationListener* self = new (ELeave) CHbThemeChangeNotificationListener(aObserver); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; -} - -CHbThemeChangeNotificationListener::CHbThemeChangeNotificationListener(HbThemeServerPrivate& aObserver) - :CActive(EPriorityStandard),iObserver(aObserver) -{ - -} - -void CHbThemeChangeNotificationListener::ConstructL() -{ - TInt err = RProperty::Define( KServerUid3, KNewThemeForThemeChanger, RProperty::ELargeText, KAllowAllPolicy, KThemeChangerPolicy ); - if ( err != KErrAlreadyExists ) { - User::LeaveIfError( err ); - } - err = themeRequestProp.Attach(KServerUid3, KNewThemeForThemeChanger ); - User::LeaveIfError(err); - - CActiveScheduler::Add(this); -} - -CHbThemeChangeNotificationListener::~CHbThemeChangeNotificationListener() -{ - stopListening(); -} - -void CHbThemeChangeNotificationListener::startListening() -{ - if (IsActive()) { - return; //do nothing if allready listening - } - - User::LeaveIfError(themeRequestProp.Attach(KServerUid3,KNewThemeForThemeChanger)); - //Subscribe for updates - themeRequestProp.Subscribe(iStatus); - - SetActive(); - -} - -void CHbThemeChangeNotificationListener::stopListening() -{ - Cancel(); // cancel - if(IsActive()) { // only if already listening - themeRequestProp.Close(); // Close the handle since it is not needed anymore - } -} - -/* - * Returns TRUE if parsing succeeded, FALSE otherwise - */ -bool CHbThemeChangeNotificationListener::parseData( TDesC& requestData, HbThemeServerRequest& etype, TDes& data) -{ - TInt result = 0; - const TChar delimiter = ':'; - // initialize return value as failed - bool bSuccess = false; - - result = requestData.Locate( delimiter ); - if( KErrNotFound != result ) { - TInt len = requestData.Length(); - const TDesC& typestr = requestData.Mid( 0, result); - TLex atype ( typestr ); - TInt iType; - atype.Val( iType ); - etype = static_cast(iType); - data.Copy( requestData.Mid( result + 1, len - result - 1 ) ); - bSuccess = true; - } else { - bSuccess = false; - } - - return bSuccess; -} - -void CHbThemeChangeNotificationListener::RunL() -{ - // Subscribe first to make sure we don't miss any - // when handling this one. - themeRequestProp.Subscribe(iStatus); - - SetActive(); - - TBuf<256> requestData; - TInt ret = themeRequestProp.Get(requestData); - switch (ret) { - case KErrNone: - { - QString qrequestData((QChar*)requestData.Ptr(),requestData.Length()); - HbThemeServerRequest etype = EInvalidServerRequest; - TBuf<256> data; - ///Parse the data from the Publisher - bool bSuccess = parseData( requestData, etype, data); - if( bSuccess && EThemeSelection == etype) { - QString str((QChar*)data.Ptr(),data.Length()); - str = str.trimmed(); - iObserver.HandleThemeSelection( str ); - } - } - break; - case KErrPermissionDenied: - qDebug() << "KErrPermissionDenied"; - break; - case KErrNotFound: - qDebug() << "KErrNotFound"; - break; - case KErrArgument: - qDebug() << "KErrArgument"; - break; - case KErrOverflow: - qDebug() << "KErrOverflow"; - break; - } -} - -void CHbThemeChangeNotificationListener::DoCancel() -{ - themeRequestProp.Cancel(); -} - - - diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemeserver_symbian_p_p.h --- a/src/hbservers/hbthemeserver/hbthemeserver_symbian_p_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbthemeserver_symbian_p_p.h Thu May 27 13:10:59 2010 +0300 @@ -38,13 +38,16 @@ #include "hbthemecommon_symbian_p.h" #include "hbicondatacache_p.h" #include "hbcache_p.h" +#include "hbthemewatcher_symbian_p.h" #include #include +#include class HbThemeServerSession; struct HbIconKey; class HbIconSource; class CHbThemeChangeNotificationListener; +class CHbThemeWatcher; // reasons for server panic enum TPixmapServPanic { @@ -78,19 +81,17 @@ ~HbThemeServerPrivate(); CSession2 * NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const; - static HbThemeServerPrivate *Instance(); - public : // Function to panic the server static void PanicServer(TPixmapServPanic aPanic); - bool insertIconCacheItem(const HbIconKey &key, HbIconCacheItem * item); + bool insertIconCacheItem(const HbIconKey &key, HbIconCacheItem *item); HbIconCacheItem * iconCacheItem(const HbIconKey &key, bool isMultiPiece = false); void setMaxGpuCacheSize(int size); void setMaxCpuCacheSize(int size); void CleanupSessionIconItem(HbIconKey key); void clearIconCache(); - bool insertCssCacheItem(const QString& key, HbCacheItem * item); + bool insertCssCacheItem(const QString &key, HbCacheItem *item); HbCacheItem * cssCacheItem(const QString &key); void CleanupSessionCssItem(QString key); void clearCssCache(); @@ -104,7 +105,7 @@ void doCleanup(); static bool gpuMemoryState(); - void openCurrentIndexFile(); + bool openCurrentIndexFile(); bool resolveThemePath(const QString &themeName, QString &themePath); HbRenderingMode currentRenderingMode() const; void setCurrentRenderingMode(HbRenderingMode currentMode); @@ -148,7 +149,7 @@ RProperty iThemeProperty; QString iCurrentThemeName; QString iCurrentThemePath; - QFile currentIndexfile; + private: void ConstructL(); HbIconDataCache * cache; @@ -159,6 +160,7 @@ HbRenderingMode renderMode; QStringList romThemeNames; CHbThemeChangeNotificationListener * iListener; + CHbThemeWatcher *iWatcher; }; //********************************** @@ -190,7 +192,8 @@ void GetDataFromCacheItem(HbIconCacheItem* cacheItem, HbSharedIconInfo &data) const; void FreeDataFromCacheItem(HbIconCacheItem* cacheItem); bool IconInfoFromSingleIcon(HbIconKey key, HbSharedIconInfo &stitchedData); - bool CreateCacheItemData(HbIconKey key, int options, HbSharedIconInfo &data, bool isMultiPiece = false); + bool CreateCacheItemData(HbIconKey key, int options, HbSharedIconInfo &data, + bool isMultiPiece = false); bool CreateStichedIconInfoOfParts(QVector dataForParts, HbMultiIconParams params, HbIconKey &finalIconKey, @@ -220,36 +223,4 @@ QList sessionCssData; }; -//********************************** -//CHbThemeChangeNotificationListener -//********************************** -/** -This class represents a listener for Pub/Sub events sent from the clients. -Functions are provided to parse clients messages. -*/ -class CHbThemeChangeNotificationListener : public CActive -{ -public: - static CHbThemeChangeNotificationListener* NewL(HbThemeServerPrivate& aObserver); - virtual ~CHbThemeChangeNotificationListener(); - void startListening(); - void stopListening(); - -protected: // From CActive - void RunL(); - void DoCancel(); - -private: - CHbThemeChangeNotificationListener(HbThemeServerPrivate& aObserver); - void ConstructL(); - bool parseData( TDesC& requestData, HbThemeServerRequest& etype, TDes& data); - - -private: // data - RProperty themeRequestProp; - HbThemeServerPrivate& iObserver; -}; - - #endif // HBTHEMESERVER_SYMBIAN_P_H - diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemeserverapplication.cpp --- a/src/hbservers/hbthemeserver/hbthemeserverapplication.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbthemeserverapplication.cpp Thu May 27 13:10:59 2010 +0300 @@ -30,6 +30,7 @@ #include #include #include +#include #if defined (Q_OS_SYMBIAN) #include "hbthemecommon_symbian_p.h" @@ -48,7 +49,7 @@ bool HbThemeServerApplication::Options::start = false; bool HbThemeServerApplication::Options::stop = false; bool HbThemeServerApplication::Options::persistent = false; -QString HbThemeServerApplication::Options::error = QString(); +QString HbThemeServerApplication::Options::error; HbThemeServerApplication::HbThemeServerApplication(int &argc, char *argv[]) : QtSingleApplication(argc, argv), server(0) @@ -60,10 +61,6 @@ setStyle(new QWindowsStyle); #endif // QT_DEBUG -#if QT_VERSION >= 0x040601 - setAttribute(Qt::AA_S60DontConstructApplicationPanes); -#endif // QT_VERSION - // ignore command line arguments on Symbian #ifdef Q_OS_SYMBIAN Options::start = true; @@ -76,7 +73,8 @@ Options::start = args.removeAll(QLatin1String("-start")) || restart; Options::stop = args.removeAll(QLatin1String("-stop")) || restart; Options::persistent = args.removeAll(QLatin1String("-persistent")); - Options::help = args.removeAll(QLatin1String("-help")) || args.removeAll(QLatin1String("-h")) || !args.isEmpty() || wasEmpty; + Options::help = args.removeAll(QLatin1String("-help")) + || args.removeAll(QLatin1String("-h")) || !args.isEmpty() || wasEmpty; if (!args.isEmpty()) { Options::error = tr("Unknown option(s): '%1'").arg(args.join(QLatin1String(" "))); } @@ -93,21 +91,19 @@ #if defined (Q_OS_SYMBIAN) CEikonEnv * env = CEikonEnv::Static(); if ( env ) { - CApaWindowGroupName* wgName = CApaWindowGroupName::NewLC(env->WsSession()); + _LIT(KHbThemeServer, "HbThemeServer"); + CApaWindowGroupName *wgName = CApaWindowGroupName::NewLC(env->WsSession()); env->RootWin().SetOrdinalPosition(0, ECoeWinPriorityNeverAtFront); // avoid coming to foreground wgName->SetHidden(ETrue); // hides us from FSW and protects us from OOM FW etc. wgName->SetSystem(ETrue); // Allow only application with PowerManagement cap to shut us down - wgName->SetCaptionL(_L("HbThemeServer")); // TODO: use QCoreApplication::applicationName() + wgName->SetCaptionL(KHbThemeServer); wgName->SetAppUid(KNullUid); wgName->SetWindowGroupName(env->RootWin()); CleanupStack::PopAndDestroy(); - RThread::RenameMe(_L("HbThemeServer")); // TODO: use QCoreApplication::applicationName() + RThread::RenameMe(KHbThemeServer); } #endif - // as for theme initialization, an instance needs to be created before starting the server - HbTheme::instance(); - // load resource libraries in order to make binary resources accessible bool result = loadLibrary(RESOURCE_LIB_NAME); #ifdef HB_DEVELOPER @@ -139,12 +135,34 @@ #endif // Q_OS_SYMBIAN } +static bool hb_loadLibraryHelper(const QString &name) +{ + QLibrary library(name); + // rely on dynamic loader (LD_LIBRARY_PATH) + bool result = library.load(); + if (!result) { + // try from prefix/lib dir + library.setFileName(QDir(HB_LIB_DIR).filePath(name)); + result = library.load(); + if (!result) { + // try from build/lib dir + QString path = QLatin1String(HB_BUILD_DIR) + QDir::separator() + QLatin1String("lib"); + library.setFileName(QDir(path).filePath(name)); + result = library.load(); + } + } +#ifdef THEME_SERVER_TRACES + if (!result) { + qDebug() << "hb_loadLibraryHelper():" << library.errorString(); + } +#endif + return result; +} + bool HbThemeServerApplication::loadLibrary(const QString &name) { // To load resources embedded in hb library - QLibrary library(name); - bool result = library.load(); - + bool result = hb_loadLibraryHelper(name); if (!result) { // Library may not be loaded, if it was built in debug mode and the name in debug mode is // different, change the name to debug version in that scenario @@ -156,8 +174,9 @@ #endif // On symbian library name in debug mode is same as that in release mode, // so no need to do anything for that - library.setFileName(alternateName); - result = library.load(); + if (alternateName != name) { + result = hb_loadLibraryHelper(alternateName); + } } #ifdef THEME_SERVER_TRACES if (result) { @@ -173,8 +192,9 @@ void HbThemeServerApplication::receiveMessage(const QString &message) { - if (!server) + if (!server) { return; + } if (message == STOP_MESSAGE) { server->stopServer(); @@ -219,10 +239,13 @@ #else return true; #endif - - } - +void HbThemeServerApplication::setPriority() +{ +#ifdef Q_OS_SYMBIAN + RProcess().SetPriority(EPriorityHigh); +#endif +} #ifdef Q_OS_SYMBIAN Lock::Lock() diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemeserverapplication_p.h --- a/src/hbservers/hbthemeserver/hbthemeserverapplication_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbthemeserverapplication_p.h Thu May 27 13:10:59 2010 +0300 @@ -25,7 +25,7 @@ #ifndef HBTHEMESERVERAPPLICATION_P_H #define HBTHEMESERVERAPPLICATION_P_H -#include +#include class HbThemeServer; @@ -49,6 +49,7 @@ int exec(); static bool acquireLock(); + static void setPriority(); public slots: void stop(); @@ -74,7 +75,11 @@ }; Lock(); ~Lock(){close();} - void close(){mFile.Close(); mFs.Close();} + void close() + { + mFile.Close(); + mFs.Close(); + } State acquire(); static bool serverExists(); diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemeserverutils.cpp --- a/src/hbservers/hbthemeserver/hbthemeserverutils.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbthemeserverutils.cpp Thu May 27 13:10:59 2010 +0300 @@ -143,7 +143,8 @@ * * Returns false in case Css file has some error or there is not enough memory */ -bool HbThemeServerUtils::parseCssFile(HbCss::Parser &parser, const QString &fileName, int &cssOffset) +bool HbThemeServerUtils::parseCssFile(HbCss::Parser &parser, const QString &fileName, + int &cssOffset) { bool retVal = false; // 1. Create a styleSheet in shared memory @@ -153,7 +154,8 @@ HbCss::StyleSheet *styleSheet = 0; try { cssOffset = manager->alloc(sizeof(HbCss::StyleSheet)); - styleSheet = new((char*)manager->base() + cssOffset) HbCss::StyleSheet(HbMemoryManager::SharedMemory); + styleSheet = new(static_cast(manager->base()) + cssOffset) + HbCss::StyleSheet(HbMemoryManager::SharedMemory); } catch (std::bad_alloc &) { if (cssOffset != -1) { // if manager->alloc in the previous try block suceeds but creation of @@ -184,7 +186,8 @@ Returns of the offset for the given filename,layout and section name. */ -int HbThemeServerUtils::getSharedLayoutDefinition(const QString & fileName, const QString &layout, const QString §ion) +int HbThemeServerUtils::getSharedLayoutDefinition(const QString & fileName, const QString &layout, + const QString §ion) { int layoutDefOffset = -1; // check in the cache. @@ -204,7 +207,6 @@ qDebug() << "Trying to load: " << fileName << "::" << layout << "::" << section; #endif // THEME_SERVER_TRACES - HbWidgetLoader::LayoutDefinition *layoutDef(0); GET_MEMORY_MANAGER(HbMemoryManager::SharedMemory); try { @@ -308,7 +310,8 @@ HbEffectFxmlData *data = 0; try { effOffset = manager->alloc(sizeof(HbEffectFxmlData)); - data = new((char*)manager->base() + effOffset) HbEffectFxmlData(HbMemoryManager::SharedMemory); + data = new(static_cast(manager->base()) + effOffset) + HbEffectFxmlData(HbMemoryManager::SharedMemory); } catch (std::exception &) { if (effOffset != -1) { // if manager->alloc in the previous try block suceeds but creation of diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemeserverutils_p.h --- a/src/hbservers/hbthemeserver/hbthemeserverutils_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbthemeserverutils_p.h Thu May 27 13:10:59 2010 +0300 @@ -45,12 +45,15 @@ public: static HbIconSource *getIconSource(const QString &filename); static QString formatFromPath(const QString &iconPath); - static int getSharedStylesheet(const QString &fileName, HbLayeredStyleLoader::LayerPriority priority, + static int getSharedStylesheet(const QString &fileName, + HbLayeredStyleLoader::LayerPriority priority, bool *inSharedCache = 0); static bool parseCssFile(HbCss::Parser &parser, const QString &fileName, int &cssOffset); static void cleanupUnusedCss(HbCache *cache); static int getSharedEffect(const QString &fileName); - static int getSharedLayoutDefinition(const QString & fileName, const QString &layout, const QString §ion); + static int getSharedLayoutDefinition(const QString & fileName, + const QString &layout, + const QString §ion); static void createDeviceProfileDatabase(); static bool removeSharedEffect(const QString &fileName); static void clearSharedEffects(); @@ -59,4 +62,3 @@ }; #endif // HBTHEMESERVERUTILS_P_H - diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemewatcher_symbian.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbservers/hbthemeserver/hbthemewatcher_symbian.cpp Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,230 @@ +/**************************************************************************** +** +** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (developer.feedback@nokia.com) +** +** This file is part of the HbServers module of the UI Extensions for Mobile. +** +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at developer.feedback@nokia.com. +** +****************************************************************************/ + +#include "hbthemewatcher_symbian_p.h" +#include "hbthemeserver_symbian_p_p.h" +#include "hbthemeutils_p.h" + +#include +#include +#include +#include + +// Publish/Subscribe themeRequestProp specific +static _LIT_SECURITY_POLICY_PASS(KAllowAllPolicy); +static _LIT_SECURITY_POLICY_C1(KThemeChangerPolicy,ECapabilityWriteDeviceData); + +CHbThemeWatcher::CHbThemeWatcher(HbThemeServerPrivate& aObserver) : CActive(EPriorityStandard), + iObserver(aObserver) +{ + CActiveScheduler::Add(this); +} + +void CHbThemeWatcher::ConstructL() +{ + User::LeaveIfError(iFs.Connect()); +} + +CHbThemeWatcher* CHbThemeWatcher::NewL(HbThemeServerPrivate& aObserver) +{ + CHbThemeWatcher* self = new (ELeave) CHbThemeWatcher(aObserver); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; +} + +CHbThemeWatcher::~CHbThemeWatcher() +{ + Cancel(); + iFs.Close(); +} + +void CHbThemeWatcher::startWatchingL(const QString &file) +{ + // Cancel ongoing watch + if (IsActive()) { + Cancel(); + } + iFile = file; + + TBuf<256> fileToWatch(iFile.utf16()); + iFs.NotifyChange(ENotifyAll, iStatus, fileToWatch); + SetActive(); +} + +void CHbThemeWatcher::RunL() +{ + if (iStatus != KErrNone) { + return; + } + + QFile file(iFile); + if (file.open(QIODevice::ReadOnly)) { + file.close(); + + // theme exists continue watching + TBuf<256> fileToWatch(iFile.utf16()); + iFs.NotifyChange(ENotifyAll, iStatus, fileToWatch); + SetActive(); + return; + } + + // theme doesn't exist, change active theme to default + iObserver.HandleThemeSelection(HbThemeUtils::defaultTheme().name); +} + +void CHbThemeWatcher::DoCancel() +{ + iFs.NotifyChangeCancel(iStatus); +} + +CHbThemeChangeNotificationListener* CHbThemeChangeNotificationListener::NewL(HbThemeServerPrivate& aObserver) +{ + CHbThemeChangeNotificationListener* self = new (ELeave) CHbThemeChangeNotificationListener(aObserver); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; +} + +CHbThemeChangeNotificationListener::CHbThemeChangeNotificationListener(HbThemeServerPrivate& aObserver) + :CActive(EPriorityStandard),iObserver(aObserver) +{ + +} + +void CHbThemeChangeNotificationListener::ConstructL() +{ + TInt err = RProperty::Define( KServerUid3, KNewThemeForThemeChanger, RProperty::ELargeText, KAllowAllPolicy, KThemeChangerPolicy ); + if ( err != KErrAlreadyExists ) { + User::LeaveIfError( err ); + } + err = themeRequestProp.Attach(KServerUid3, KNewThemeForThemeChanger ); + User::LeaveIfError(err); + + CActiveScheduler::Add(this); +} + +CHbThemeChangeNotificationListener::~CHbThemeChangeNotificationListener() +{ + stopListening(); +} + +void CHbThemeChangeNotificationListener::startListeningL() +{ + if (IsActive()) { + return; //do nothing if already listening + } + + User::LeaveIfError(themeRequestProp.Attach(KServerUid3,KNewThemeForThemeChanger)); + //Subscribe for updates + themeRequestProp.Subscribe(iStatus); + + SetActive(); + +} + +void CHbThemeChangeNotificationListener::stopListening() +{ + Cancel(); // cancel + if(IsActive()) { // only if already listening + themeRequestProp.Close(); // Close the handle since it is not needed anymore + } +} + +/* + * Returns TRUE if parsing succeeded, FALSE otherwise + */ +bool CHbThemeChangeNotificationListener::parseData(const TDesC& requestData, HbThemeServerRequest& etype, TDes& data) +{ + TInt result = 0; + const TChar delimiter = ':'; + // initialize return value as failed + bool bSuccess = false; + + result = requestData.Locate( delimiter ); + if( KErrNotFound != result ) { + TInt len = requestData.Length(); + const TDesC& typestr = requestData.Mid(0, result); + TLex atype(typestr); + TInt iType; + atype.Val( iType ); + etype = static_cast(iType); + data.Copy( requestData.Mid( result + 1, len - result - 1 ) ); + bSuccess = true; + } else { + bSuccess = false; + } + + return bSuccess; +} + +static const TInt KThemeChangeDataBufferSize = 256; + +void CHbThemeChangeNotificationListener::RunL() +{ + // Subscribe first to make sure we don't miss any + // when handling this one. + themeRequestProp.Subscribe(iStatus); + + SetActive(); + + TBuf requestData; + TInt ret = themeRequestProp.Get(requestData); + switch (ret) { + case KErrNone: + { + QString qrequestData((QChar*)requestData.Ptr(),requestData.Length()); + HbThemeServerRequest etype = EInvalidServerRequest; + TBuf data; + ///Parse the data from the Publisher + bool bSuccess = parseData( requestData, etype, data); + if( bSuccess && EThemeSelection == etype) { + QString str((QChar*)data.Ptr(), data.Length()); + str = str.trimmed(); + iObserver.HandleThemeSelection( str ); + } + } + break; + case KErrPermissionDenied: + qDebug() << "KErrPermissionDenied"; + break; + case KErrNotFound: + qDebug() << "KErrNotFound"; + break; + case KErrArgument: + qDebug() << "KErrArgument"; + break; + case KErrOverflow: + qDebug() << "KErrOverflow"; + break; + } +} + +void CHbThemeChangeNotificationListener::DoCancel() +{ + themeRequestProp.Cancel(); +} diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/hbthemewatcher_symbian_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/hbservers/hbthemeserver/hbthemewatcher_symbian_p.h Thu May 27 13:10:59 2010 +0300 @@ -0,0 +1,95 @@ +/**************************************************************************** +** +** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (developer.feedback@nokia.com) +** +** This file is part of the HbServers module of the UI Extensions for Mobile. +** +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at developer.feedback@nokia.com. +** +****************************************************************************/ + +#ifndef HBTHEMEWATCHER_SYMBIAN_P_H +#define HBTHEMEWATCHER_SYMBIAN_P_H + +#include + +#include "hbthemecommon_p.h" + +#include +#include +#include + +class HbThemeServerPrivate; + +//********************************** +//CHbThemeWatcher +//********************************** +/** +This class is for watching changes in active theme e.g. ejection of the MMC. +*/ +class CHbThemeWatcher : public CActive +{ +public: + static CHbThemeWatcher* NewL(HbThemeServerPrivate& aObserver); + ~CHbThemeWatcher(); + void startWatchingL(const QString &file); + +protected: // From CActive + void RunL(); + void DoCancel(); + +private: + CHbThemeWatcher(HbThemeServerPrivate& aObserver); + void ConstructL(); + +private: // data + RFs iFs; + QString iFile; + HbThemeServerPrivate& iObserver; +}; + +//********************************** +//CHbThemeChangeNotificationListener +//********************************** +/** +This class represents a listener for Pub/Sub events sent from the clients. +Functions are provided to parse clients messages. +*/ +class CHbThemeChangeNotificationListener : public CActive +{ +public: + static CHbThemeChangeNotificationListener* NewL(HbThemeServerPrivate& aObserver); + virtual ~CHbThemeChangeNotificationListener(); + void startListeningL(); + void stopListening(); + +protected: // From CActive + void RunL(); + void DoCancel(); + +private: + CHbThemeChangeNotificationListener(HbThemeServerPrivate& aObserver); + void ConstructL(); + bool parseData(const TDesC& requestData, HbThemeServerRequest& etype, TDes& data); + +private: // data + RProperty themeRequestProp; + HbThemeServerPrivate& iObserver; +}; + +#endif // HBTHEMEWATCHER_SYMBIAN_P_H diff -r 06ff229162e9 -r 11d3954df52a src/hbservers/hbthemeserver/main.cpp --- a/src/hbservers/hbthemeserver/main.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbservers/hbthemeserver/main.cpp Thu May 27 13:10:59 2010 +0300 @@ -46,6 +46,14 @@ int main(int argc, char *argv[]) { + // Hiding theme server from the start up in first phase +#if QT_VERSION >= 0x040601 + QApplication::setAttribute(Qt::AA_S60DontConstructApplicationPanes); +#endif // QT_VERSION + + // We need to be up and running fast + HbThemeServerApplication::setPriority(); + if(!HbThemeServerApplication::acquireLock()) { return 0; } diff -r 06ff229162e9 -r 11d3954df52a src/hbtools/hbthemeindexer/main.cpp --- a/src/hbtools/hbthemeindexer/main.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbtools/hbthemeindexer/main.cpp Thu May 27 13:10:59 2010 +0300 @@ -59,7 +59,9 @@ void createMirroredList(const QString &fullThemePath) { - std::cout << "Parsing mirrored list for theme " << fullThemePath.toStdString() << "\n"; + if (verboseOn) { + std::cout << "Parsing mirrored list for theme " << fullThemePath.toStdString() << "\n"; + } // Find mirrored.txt file QString filename = fullThemePath + "/mirrored.txt"; // Try to read file @@ -81,7 +83,9 @@ void createLockedList(const QString &fullThemePath) { - std::cout << "Parsing locked list for theme " << fullThemePath.toStdString() << "\n"; + if (verboseOn) { + std::cout << "Parsing locked list for theme " << fullThemePath.toStdString() << "\n"; + } // Find locked.txt file QString filename = fullThemePath + "/locked.txt"; // Try to read file diff -r 06ff229162e9 -r 11d3954df52a src/hbtools/hbtools.pro --- a/src/hbtools/hbtools.pro Fri May 14 16:09:54 2010 +0300 +++ b/src/hbtools/hbtools.pro Thu May 27 13:10:59 2010 +0300 @@ -27,7 +27,9 @@ TEMPLATE = subdirs -SUBDIRS += hbthemeindexer hbbincssmaker +SUBDIRS += hbthemeindexer +SUBDIRS += hbbincssmaker +SUBDIRS += docml2bin include($${HB_SOURCE_DIR}/src/hbcommon.pri) diff -r 06ff229162e9 -r 11d3954df52a src/hbutils/document/hbdocumentloader.cpp --- a/src/hbutils/document/hbdocumentloader.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbutils/document/hbdocumentloader.cpp Thu May 27 13:10:59 2010 +0300 @@ -48,6 +48,9 @@ able to create your own custom widgets, you have to derive from this class and override \c createObject method. + See \c HbDocumentLoader::createBinary for information about DocML binary conversion + in build time. + Use the \c HbDocumentLoaderPlugin to add tool support for custom widgets. Example code: @@ -162,6 +165,16 @@ /*! Converts DocML document to binary document. + + You can also convert DocML files to binary format in build time by listing the files in "DOCML" + variable in the .pro file. This will create a binary docml file called .bin that + can be included to the resources (.qrc). + + Known issues: Currently the resource compiler gives warnings about missing binary files during + qmake. It's ok to ignore these warnings. + + For more information about DocML binary format, please refer to S60QtProgrammersGuide. + \param srcDevice source IO device to be processed. \param dstDevice destination IO device where to write to. \return true if conversion was ok. diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataform.cpp --- a/src/hbwidgets/dataform/hbdataform.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataform.cpp Thu May 27 13:10:59 2010 +0300 @@ -43,16 +43,16 @@ @beta @hbwidgets \class HbDataForm - \brief HbDataForm represents hierarchical dataitems in the form of groups,pages and - items. - The HbDataForm class provides a default view implementation of dataform. - A HbDataForm implements a hierarchical representation of data items from a model. + \brief HbDataForm represents hierarchical dataitems in form of form pages, groups, group pages + and data items. + HbDataForm implements a hierarchical representation of view items for each model items from + HbDataFormModel. HbDataForm implements the interfaces defined by the HbAbstractItemView class to allow - it to display data provided by models derived from the QAbstractItemModel class. + it to display data provided by models which are derived from QAbstractItemModel class. It is simple to construct a dataform displaying data from a model. The user has to create - HbDataFormModel and create the hierarchy of HbDataFormModelItems .The hierarchy is + HbDataFormModel and create the hierarchy of HbDataFormModelItems.The hierarchy is similar to the following. - HbDataForm @@ -70,55 +70,80 @@ - HbDataItem - HbDataItem - HbDataItem + - HbDataGroup3 + - HbDataItem + - HbDataItem + - HbDataItem + - HbDataItem + - HbDataItem - HbDataItem can be the child of HbDataForm, HbDataFormPage,HbDataGroup and + HbDataItem can be the child of HbDataForm, HbDataFormPage, HbDataGroup and HbDataGroupPage. An instance of HbDataForm has to be created and model should be set - to the form using setModel(HbDataFormModel) API. - The properties of each DataItem node can be set using HbDataFormModelItem convenient - API's. These data are parsed while the visualization instance of each item is created and - set on each item. + to the form using setModel( ) API. + The properties of each data item node can be set using HbDataFormModelItem convenient + API's like setContentWidgetData( ). These model data are parsed and set while the visualization + instance of each item is created. - The model/view architecture ensures that the contents of the data view are updated as the + The model/view architecture ensures that the view contents are updated as and when the data in model changes. - Items that have children can be in expanded (children are visible) or collapsed - (children are hidden) state. DataItems of type HbDataFormPage, HbDataGroup and - HbDataGroupPage can be expanded and collapsed. HbDataItem of type FormPageItem, - GroupItem, GroupPageItem can only have children. Each item in model is represented by an - instance of HbDataFormViewItem. HbDataForm uses HbDataFormViewItem prototype to instantiate - the HbDataForm items. HbDataFormViewItem can be subclassed for customization purposes. + Only model items that can have children can be in expanded (childrens are visible) or + collapsed (childrens are hidden) state. Model items of type HbDataFormModelItem::FormPageItem, + HbDataFormModelItem::GroupItem and HbDataFormModelItem::GroupPageItem can be expanded + or collapsed. Which in turn means that these types of model item can only have children. + Each item in model is represented by either an instance of HbDataFormViewItem or classes which + are derived from HbDataFormViewItem. HbDataFormViewItem can be subclassed for + customization purposes. - The Model hierarchy can be created using the convenient API's provided on model class like - appendDataFormPage , appendDataFormGroup ,appendDataFormGroupPage and - appendDataFormItem. All of these will return HbDataFormModelItem instance correspoding - to each type on which user can set item specific data. Otherwise each HbDataFormModelItem can - be created individually by passing the corresponding type of item (GroupItem, GroupPageItem, - FormPageItem) and create the tree of HbDataFormModelItem using setParent API - or by passing the parent HbDataFormModelItem in constructor. Later the top level - HbDataFormModelItem can be added inside the model. + The Model hierarchy can be created using the convenient API's provided in model class like + appendDataFormPage(), appendDataFormGroup(), appendDataFormGroupPage() and + appendDataFormItem(). All these API's return HbDataFormModelItem instance corresponding + to each HbDataFormModelItem::DataItemType type on which user can set item + specific(content widget) data. Otherwise each HbDataFormModelItem can be created individually + by passing the corresponding type of item (GroupItem, GroupPageItem, FormPageItem) and create + the tree of HbDataFormModelItem using setParent API or by passing the parent + HbDataFormModelItem in constructor. Later the top level HbDataFormModelItem can be added in + model. - After doing the setModel, the visualization gets created . Only the items inside the expanded - group or group page instances are created. When an item's visualization is created , - DataForm emits activated(constQModelIndex&) signal. The application can get - HbDataFormViewItem and content widget from DataForm using QModelIndex. + After setting model in HbDataForm using setModel(), the visualization gets created. + Only the items inside the expanded form page, group or group page are created. When an item's + visualization is created, HbDataForm emits itemShown(constQModelIndex&) signal. The application + can connect to this signal and when corresponding slot is called then application can get + HbDataFormViewItem instance and even content widget instance. Use HbAbstractItemView::itemByIndex() + to get HbDataFormViewItem instance. Use HbDataFormViewItem::dataItemContentWidget() to get + content widget instance. - The signal emitted by HbDataForm - \li activated(const QModelIndex &index) Emitted when the HbDataFormViewItem corresponding to + The signals emitted by HbDataForm + \li itemShown(const QModelIndex &index) Emitted when the HbDataFormViewItem corresponding to \a index is shown. User can connect to this signal and can fetch the instance of HbDataFormViewItem from HbDataForm using the API dataFormViewItem(const QModelIndex &index). - \li dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) emitted when the - HbDataFormModel is updated \atopLeft and \abottomRight will be same since every node has only one column. - User can connect to this signal and can fetch the instance of HbDataFormViewItem from HbDataForm - using the API dataFormViewItem(const QModelIndex &index) or user can fetch HbDataFormModelItem using API - itemFromIndex(const QModelIndex &index) in HbDataFormModel .When user updates model using - setContentWidgetData API provided in HbDataFormModelItem class, then DataForm takes care of updating the - corresponding item's visualization. + This signal is only emitted for model items of type greater than HbDataFormModelItem::GroupPageItem + + The user can also provide connection information to correspoding content widget of each + HbDataFormModelItem using API + addConnection(HbDataFormModelItem* item, const char* signal, QObject* receiver, const char* slot) + provided in HbDataForm. The connection will be established when the item visualization is created. + Similar way + removeConnection(HbDataFormModelItem *item, const char* signal, QObject *receiver, const char* slot) + and removeAllConnection() API can be used. Connection can be established or removed even at runtime. + An example of how to make connection and setting the content widget property: - The user can also provide connection information to correspoding content widget of each HbDataFormModelItem - using API addConnection(HbDataFormModelItem* item, const char* signal, QObject* receiver, consta char* slot) - provided in HbDataForm class.The connection will be established when the item visualization is created . - similar way removeConnection(HbDataFormModelItem *item, const char* signal, QObject *receiver, const char* slot) - and removeAllConnection() API can be used. Connection can be established or removed even at runtime also. + \code + HbDataForm *form = new HbDataForm(); + model = new HbDataFormModel(); + + HbDataFormModelItem *sliderItem = + model->appendDataFormItem(HbDataFormModelItem::SliderItem, QString("slider")); + //Set the content widget properties. In this case its HbSlider. + sliderItem->setContentWidgetData("maximum", 200); + sliderItem->setContentWidgetData("minimum", 0); + sliderItem->setContentWidgetData("value", 100); + //Make a connection to HbSlider valueChanged signal. + form->addConnection(sliderItem, SIGNAL(valueChanged(int)), this, SLOT(sliderValueChanged(int))); + + form->setModel(model); + setWidget(form); + \endcode An example of how to create HbDataForm: \snippet{ultimatecodesnippet/ultimatecodesnippet.cpp,31} @@ -134,20 +159,20 @@ \sa HbDataFormViewItem, HbDataFormModel, HbDataFormModelItem Creating Custom Item: + Application developer can create custom DataItem by deriving from HbDataFormViewItem and setting this as - prototype(setItemProtoType() API). - Application has to override virtual API's createCustomWidget() , restore()and save(). - createCustomWidget() API should return the corresponding custom HbWidget which can also be a compound widget. - Signal connection for child widgets inside the compound widget should taken care by the application. - restore() API will be called by the framework when the model data is changed. - So restore() should take care of updating the visual items with correspoding data from model. - save() API should update the model.App developer should connect respective widgets SIGNALs to SLOT save() + prototype using setItemProtoType() API. Application has to override virtual API's createCustomWidget(), + restore()and save(). createCustomWidget() API should return the corresponding custom HbWidget which + can also be a compound widget. Signal connection for child widgets inside the compound widget should + be taken care by the application. restore() API will be called by the framework when the model data + is changed. So restore() should take care of updating the visual items with correspoding data from model. + save() API should update the model. App developer should connect respective widgets SIGNALs to SLOT save() and update the data to model . */ /*! - \fn void HbAbstractItemView::activated(const QModelIndex &index) + \fn void HbAbstractItemView::itemShown(const QModelIndex &index) This signal is emitted when HbDataFormViewItem corresponding to \a index is shown. @@ -165,8 +190,6 @@ d->q_ptr = this; d->init(); setVerticalScrollBarPolicy(ScrollBarAlwaysOff); - //d->mHeadingWidget->createPrimitives(); - //static_cast(container())->setFormHeading(d->mHeadingWidget); } /*! @@ -192,15 +215,13 @@ /*! \reimp - Scrolls the view so that the item represented by \a index comes at the middle of - screen. By default HbDataForm does not scrolls. Application developer is supposed to - call this API if he wants this behaviour. User can connect to activated signal and then + Scrolls the view so that the item represented by \a index position is changed as per \a hint + parameter. By default HbDataForm does not scrolls. Application developer is supposed to + call this API if he wants this behaviour. User can connect to itemShown signal and then can call this API. */ void HbDataForm::scrollTo(const QModelIndex &index, ScrollHint hint) { - //Q_D(HbDataForm); - //d->revealItem(d->mContainer->itemByIndex(index), PositionAtCenter); HbAbstractItemView::scrollTo(index, hint); } @@ -208,9 +229,10 @@ /*! @beta - Sets the item referred to by \a index to either collapse or expanded, + Sets the item referred to by \a index to either collapse or expanded state, depending on the value of \a expanded. If \a expanded is true then child item are - supposed to be visible. + supposed to be visible and in that case itemShown will be emitted for all the + new data items which were created. \sa isExpanded */ @@ -235,7 +257,7 @@ /*! @beta - Returns true if the model item \a index is expanded otherwise returns false. + Returns true if the model item at \a index is expanded otherwise returns false. \sa setExpanded */ @@ -256,7 +278,9 @@ Sets the heading of HbDataForm with the \a heading provided. Heading is displayed on top of the HbDataForm. Heading is non-focusable. - \sa heading + \sa heading + \sa setDescription + \sa description */ void HbDataForm::setHeading(const QString &heading) { @@ -292,7 +316,9 @@ Returns heading of HbDataForm. - \sa setHeading + \sa setHeading + \sa setDescription + \sa description */ QString HbDataForm::heading() const { @@ -311,6 +337,8 @@ below heading. Description is non-focusable. \sa description + \sa setHeading + \sa heading */ void HbDataForm::setDescription(const QString &description) { @@ -347,6 +375,8 @@ Returns description of HbDataForm. \sa setDescription + \sa setHeading + \sa heading */ QString HbDataForm::description() const { @@ -412,7 +442,6 @@ /*! \reimp */ - void HbDataForm::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) { Q_UNUSED(bottomRight); @@ -487,7 +516,7 @@ } /*! - @alpha + @beta This API can be used to connect with the signal of HbDataFormViewItem's content widget. For example: If HbDataFormModelItem is of type DataItemType::SliderItem then user @@ -506,7 +535,8 @@ \param receiver Instance of object whose slot will be called \param slot Slot of \a receiver which will get called when signal is emitted - \sa removeConnection + \sa removeConnection + \sa removeAllConnection */ void HbDataForm::addConnection(HbDataFormModelItem * item, const char* signal, @@ -523,12 +553,13 @@ } /*! - @alpha + @beta This API can be used to remove the signal connection which was established using the addConnection API. - \sa addConnection + \sa addConnection + \sa removeAllConnection */ void HbDataForm::removeConnection(HbDataFormModelItem * item, const char* signal, @@ -540,12 +571,13 @@ } /*! - @alpha + @beta - Removes the connection of all the contentwidget of all the items which has been established . - The connection information stored inside DataForm also cleared. + Removes the connection of all the contentwidget of all the items which has been established. + The connection information stored inside data form is also cleared. - \sa removeAllConnection + \sa removeConnection + \sa addConnection */ void HbDataForm::removeAllConnection() { @@ -554,11 +586,11 @@ } /*! - @alpha + @beta - Removes the all connections of the contentwidget of HbDataFormModelItem's corresponding - visual Item ( HbdataFormViewItem).The connection information of correspoding - HbDataFormModelItem stored inside DataForm also cleared. + Removes all connections to the contentwidget of HbDataFormModelItem's corresponding + visual Item ( HbdataFormViewItem ).The connection information of correspoding + HbDataFormModelItem stored inside data form also cleared. \sa removeAllConnection */ diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataform.h --- a/src/hbwidgets/dataform/hbdataform.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataform.h Thu May 27 13:10:59 2010 +0300 @@ -72,6 +72,7 @@ void removeAllConnection(); void removeAllConnection(HbDataFormModelItem *item); + signals: void itemShown(const QModelIndex &index); @@ -93,6 +94,7 @@ Q_DISABLE_COPY(HbDataForm) Q_PRIVATE_SLOT(d_func(), void _q_page_changed(int)) Q_PRIVATE_SLOT(d_func(), void _q_item_displayed(const QModelIndex&)) + friend class HbDataFormViewItem; }; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataform_p.cpp --- a/src/hbwidgets/dataform/hbdataform_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataform_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,6 +25,7 @@ #include "hbdataform_p.h" #include +#include "hbdataformviewitem_p.h" #include "hbdataitemcontainer_p.h" #include #include @@ -207,7 +208,7 @@ if(signalList.count() > 0){ HbDataFormViewItem *viewItem = static_cast(q->itemByIndex(index)); if(viewItem){ - HbWidget *contentWidget = viewItem->dataItemContentWidget(); + HbWidget *contentWidget = HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget; if(contentWidget){ foreach(ItemSignal signal, signalList) { QObject *objct = signal.reciever; @@ -242,7 +243,7 @@ static_cast(q->model())->indexFromItem(modelItem); HbDataFormViewItem *viewItem = static_cast(q->itemByIndex(index)); if(viewItem){ - HbWidget *contentWidget = viewItem->dataItemContentWidget(); + HbWidget *contentWidget = HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget; if(contentWidget){ //foreach(ItemSignal signalItem, signalList) { for(int i = 0; i < signalList.count() ;i++){ @@ -277,14 +278,13 @@ if(q->model()) { QModelIndex index = static_cast(q->model())->indexFromItem(modelItem); if(modelItem){ - HbDataFormViewItem *viewItem =static_cast( q->itemByIndex(index) ); - if(viewItem){ - HbWidget *contentWidget = viewItem->dataItemContentWidget(); - // Make connection - if(contentWidget){ - QObject::connect(contentWidget, signal.toAscii().data(), + HbDataFormViewItem *viewItem =static_cast( q->itemByIndex(index) ); + if(viewItem){ + if(HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget) { + // Make connection + QObject::connect(HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget, signal.toAscii().data(), reciever,slot.toAscii().data()); - } + } } } } @@ -303,7 +303,7 @@ QModelIndex index = static_cast(q->model())->indexFromItem(item); HbDataFormViewItem *viewItem = static_cast (q->itemByIndex(index)); if(viewItem){ - HbWidget *contentWidget = viewItem->dataItemContentWidget(); + HbWidget *contentWidget = HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget; // disconnect signal and remove signal from list for(int i = 0;i(q->model())->indexFromItem(modelItem); HbDataFormViewItem *viewItem =static_cast( q->itemByIndex(index)); if(viewItem){ - HbWidget *contentWidget = viewItem->dataItemContentWidget(); + HbWidget *contentWidget = HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget; // disconnect signal and remove signal from list for(int i = 0;iactivated(modelIndex); +} + diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataform_p.h --- a/src/hbwidgets/dataform/hbdataform_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataform_p.h Thu May 27 13:10:59 2010 +0300 @@ -62,6 +62,7 @@ void addFormPage(const QString& page); void removeFormPage(const QString& page); void _q_page_changed(int index); + void _q_item_displayed(const QModelIndex &index); void makeConnection(QModelIndex index); void connectNow(HbDataFormModelItem * modelItem, QString signal, @@ -73,6 +74,7 @@ void removeAllConnection(); void removeAllConnection(HbDataFormModelItem *item); inline HbTreeModelIterator *treeModelIterator() const; + void emitActivated(const QModelIndex &modelIndex); public: HbDataFormHeadingWidget* mHeadingWidget; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataformmodel.cpp --- a/src/hbwidgets/dataform/hbdataformmodel.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataformmodel.cpp Thu May 27 13:10:59 2010 +0300 @@ -123,11 +123,20 @@ HbDataFormModel is derived from QAbstractItemModel. So applications can use, QAbstractItemModel API's to create their datamodel. HbDataFormModel also provides convenience API's specific to HbDataForm. These convinience API's are useful in creating - form page, group, group page and data item. + FormPageItem, GroupItem, GroupPageItem and data item. A HbDataForm can be used to display the contents of the model. - HbDataFormModel also has Apis to return modelindex of the items and vice-versa. + HbDataFormModel also has APIs to return modelindex of the items and vice-versa. So applications can individually modify the items data and set it to the HbDataForm. + + The signals emitted by HbDataFormModel + \li dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) emitted when the + HbDataFormModel is updated \atopLeft and \abottomRight will be same since every node has only one column. + User can connect to this signal and can fetch the instance of HbDataFormViewItem from HbDataForm + using the API dataFormViewItem(const QModelIndex &index) or user can fetch HbDataFormModelItem using API + itemFromIndex(const QModelIndex &index) in HbDataFormModel .When user updates model using + setContentWidgetData API provided in HbDataFormModelItem class, then DataForm takes care of updating the + corresponding item's visualization. */ /*! @@ -142,6 +151,9 @@ HbDataFormModelItemPrivate::d_ptr(d->mRoot)->setModel(this); } +/*! + Destructor. +*/ HbDataFormModel::~HbDataFormModel() { Q_D(HbDataFormModel); @@ -152,7 +164,7 @@ /*! @beta - Appends FormPageItem and return pointer to newly created HbDataFormModelItem. + Appends FormPageItem and returns pointer to newly created HbDataFormModelItem. The parent of FormPageItem is always model's root item. The DataItemType is set as FormPageItem. @@ -239,7 +251,7 @@ This is a convenience API. If user wants then he can create HbDataFormModelItem individually and then add that item in model using this API. If the \a data is of FormpageItemtype then parent is not considered. FormPage Items are always added - to rootItem. Also GroupPage Item has to be inserted in GroupItem. + to rootItem. Also GroupPageItem has to be inserted only in GroupItem. \a data Child item to be inserted. \a parent Parent of DataFormViewItem @@ -418,7 +430,7 @@ } /*! - \reimp + \reimp */ bool HbDataFormModel::removeRows(int row, int count, const QModelIndex &index) { @@ -432,7 +444,7 @@ } /*! - \reimp + \reimp Column value should be 0 as DataForm has only one column.If the value is not 0 function returns invalid index. If index is not valid then rootItem's index is considered. @@ -626,7 +638,8 @@ return QModelIndex(); } -/*! @beta +/*! + @beta Returns the HbDataFormModelItem at given \a row and with given parent /a index. */ diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataformmodelitem.cpp --- a/src/hbwidgets/dataform/hbdataformmodelitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataformmodelitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -63,7 +63,12 @@ } } - +void HbDataFormModelItemPrivate::setContentWidgetData( + const QString& propertyName ,const QVariant &value) +{ + mProperties.remove(propertyName); + mProperties.insert(propertyName,value); +} QAbstractItemModel* HbDataFormModelItemPrivate::model() const { return mModel; @@ -82,7 +87,7 @@ - ringtone_general - unknowncaller_ringtone_general, - Then sample code to create above model and data it to dataForm would be, + Then sample code to create above model and data it to data form would be, \code HbDataForm* form = new HbDataForm(); @@ -104,20 +109,20 @@ /*! \enum HbDataFormModelItem::Roles - This enum defines the Roles supported by dataForm.Any data from application + This enum defines the Roles supported by dataForm. Any data from application can be added through these Roles. */ /*! \var HbDataFormModelItem::LabelRole - LabelRole: This Role is used for data label of the DataFormViewItem + LabelRole: This Role is used for data item label/heading of HbDataFormViewItem. */ /*! \var HbDataFormModelItem::ItemTypeRole - ItemTypeRole: This Role is used for data itemType of the HbDataFormModelItem + ItemTypeRole: This Role is used for data item type of the HbDataFormModelItem */ @@ -135,13 +140,6 @@ */ /*! - \var HbDataFormModelItem::DescriptionRole - DescriptionRole: This Role will add a description text in model item visualization. This role - is valid only for GroupItem and data items ( > GroupPageItem ). - - */ - -/*! \enum HbDataFormModelItem::DataItemType This enum defines itemtypes supported in dataform. @@ -157,7 +155,7 @@ /*! \var HbDataFormModelItem::GroupItem - GroupItem is used for grouping diffrent group pages or grouping data items under one group + GroupItem is used for grouping different group pages or grouping data items under one group heading. */ @@ -176,13 +174,6 @@ */ /*! - - \var HbDataFormModelItem::VolumeSliderItem - VolumeSliderItem: This itemType is for volume slider type of data item - - */ - -/*! \var HbDataFormModelItem::CheckBoxItem CheckBoxItem: This itemType is for check box type of data item @@ -192,8 +183,8 @@ \var HbDataFormModelItem::TextItem TextItem: This itemType is for text type of data item The TextItem by default has maximum 4 rows. - Application can configure thisvalue using HbLineEdit Property maxRows. - This Property Value has to be set using SetContentWidgetData API. + Application can configure this value using HbLineEdit Property maxRows. + This Property Value has to be set using setContentWidgetData() API. */ @@ -249,14 +240,14 @@ RadioButtonListItem will appear in three display modes - automatic : radioButtonList item appear as embedded( inline) if it contains less than four items and + - Automatic : radioButtonList item appear as embedded( inline) if it contains less than four items and if more than three items then selected items are displayed as text on a PushButton and when pushbutton clicked it lunches popup. Automatic mode is set as the default mode. - embedded : Application can set these items as always embedded(inline) by setting the property "displayMode" + - Embedded : Application can set these items as always embedded(inline) by setting the property "displayMode" with value of property as "embedded" - popup : Application can set these items as always popup by setting the property "displayMode" + - Popup : Application can set these items as always popup by setting the property "displayMode" with value of property as "popup" HbDataFormModelItem *radioItem = model->appendDataItem(HbDataFormModelItem::RadioButtonListItem, QString("Caller Tone")); @@ -272,14 +263,14 @@ MultiSelectionListItem will appear in three display modes - automatic : radioButtonList item appear as embedded( inline) if it contains less than four items and + - Automatic : radioButtonList item appear as embedded( inline) if it contains less than four items and if more than three items then selected items are displayed as text on a PushButton and when pushbutton clicked it lunches popup. Automatic mode is set as the default mode. - embedded : Application can set these items as always embedded(inline) by setting the property "displayMode" + - Embedded : Application can set these items as always embedded(inline) by setting the property "displayMode" with value of property as "embedded" - popup : Application can set these items as always popup by setting the property "displayMode" + - Popup : Application can set these items as always popup by setting the property "displayMode" with value of property as "popup" HbDataFormModelItem *radioItem = model->appendDataItem(HbDataFormModelItem::MultiSelectionListItem, QString("Caller Tone")); @@ -367,6 +358,7 @@ /*! @beta + Adds the given \a child to the children list of current item. \sa insertChild, insertChildren @@ -416,6 +408,7 @@ /*! @beta + Inserts the given list of \a items starting from the given \a row. \sa insertChild, appendChild @@ -443,6 +436,7 @@ /*! @beta + Removes the child item at the given \a index. The item at \a index is deleted. @@ -450,30 +444,35 @@ */ void HbDataFormModelItem::removeChild(int index) { + if( ( index < 0 ) || ( index >= childCount() ) ) { + return; + } Q_D(HbDataFormModelItem); - HbDataFormModel* model = static_cast(d->mModel); - if(model) { + + if(model) model->d_func()->rowsAboutToBeRemoved(this, index, index); - HbDataFormModelItem *item = d->mChildItems.takeAt(index); - if ( item ) { + + HbDataFormModelItem *item = d->mChildItems.at(index); + if( item ) { + int childCount = item->childCount(); + for ( int childIndex = 0; childIndex <= childCount ;childIndex++) { + item->removeChild(0); + } + + HbDataFormModelItem *item = d->mChildItems.takeAt(index); delete item; item = 0; - } + } + + if(model) model->d_func()->rowsRemoved(); - } - else { - HbDataFormModelItem *item = d->mChildItems.takeAt(index); - if ( item ) { - delete item; - item = 0; - } - } - + } /*! @beta + Removes the given no of \a count of childitems from the given \a startindex. The items are deleted. @@ -481,22 +480,37 @@ */ void HbDataFormModelItem::removeChildren(int startIndex, int count) { - Q_D(HbDataFormModelItem); + if( ( startIndex < 0 ) || ( startIndex > childCount() ) || ( count <= 0 )) { + return; + } + + if( startIndex + count > childCount() ) { + return; + } - HbDataFormModel* model = static_cast(d->mModel); - model->d_func()->rowsAboutToBeRemoved(this, startIndex, startIndex + count -1); - for(int index = 0; index < count ;index++) { + Q_D(HbDataFormModelItem); + + HbDataFormModel* model = static_cast(d->mModel); + if( model ) { + model->d_func()->rowsAboutToBeRemoved(this, startIndex, startIndex + count -1); + } + + for(int index = 0; index < count ;index++) { HbDataFormModelItem *item = d->mChildItems.takeAt(0); if ( item ) { delete item; item = 0; } - } - model->d_func()->rowsRemoved(); + } + + if( model ) { + model->d_func()->rowsRemoved(); + } } /*! @beta + Returns the child item at the given \a index. Returns 0 if \a index passed in greater than count or less than 0. @@ -513,6 +527,7 @@ /*! @beta + Returns index of the given \a child. \sa childAt @@ -536,6 +551,7 @@ /*! @beta + Returns the data for the given \a role. Returns empty string if DescriptionRole is queried for items other then GroupItem and data item. */ @@ -565,6 +581,7 @@ /*! @beta + Sets the given \a value of variant to the given \a role. */ void HbDataFormModelItem::setData(int role ,const QVariant &value) @@ -620,10 +637,9 @@ const QString& propertyName ,const QVariant &value) { Q_D(HbDataFormModelItem); - d->mProperties.remove(propertyName); - d->mProperties.insert(propertyName,value); + d->setContentWidgetData(propertyName, value); + d->mDirtyProperty = propertyName; - HbDataFormModel *data_model = static_cast(d->mModel); if(data_model) { QModelIndex index = data_model->indexFromItem(this); @@ -633,6 +649,7 @@ /*! @beta + Returns the property \a value for the given \a propertyName. */ QVariant HbDataFormModelItem::contentWidgetData(const QString& propertyName ) const @@ -640,8 +657,10 @@ Q_D(const HbDataFormModelItem); return d->mProperties.value(propertyName); } + /*! @beta + Returns all properties with values which was set in HbDataFormModelItem. */ QHash HbDataFormModelItem::contentWidgetData() const @@ -649,8 +668,10 @@ Q_D(const HbDataFormModelItem); return d->mProperties; } + /*! @beta + Sets \a parent as a parent to this item. It only sets the parent pointer. It doesnt put the item in the hierarchy. @@ -663,6 +684,7 @@ /*! @beta + Returns the parent of the this data item. */ HbDataFormModelItem* HbDataFormModelItem::parent() const @@ -673,6 +695,7 @@ /*! @beta + Sets \a type as a DataItemType for this data item. */ void HbDataFormModelItem::setType(HbDataFormModelItem::DataItemType type) @@ -682,6 +705,7 @@ /*! @beta + Returns the DataItemType of the this item. */ HbDataFormModelItem::DataItemType HbDataFormModelItem::type() const @@ -691,6 +715,7 @@ /*! @beta + Sets the \a label to the item. This is valid only if the type is other than FormPageItem, GroupItem and GroupPageItem. */ @@ -701,6 +726,7 @@ /*! @beta + Returns the label of the item. */ QString HbDataFormModelItem::label() const @@ -710,6 +736,7 @@ /*! @beta + Sets the \a icon to the item. This is valid only if the type is other than FormPageItem, GroupItem and GroupPageItem. */ @@ -720,6 +747,7 @@ /*! @beta + Returns the icon of the item. */ QString HbDataFormModelItem::icon() const @@ -727,14 +755,9 @@ return data(Qt::DecorationRole).toString(); } -/* -QHash HbDataFormModelItem::getContentWidgetValues() -{ - Q_D(const HbDataFormModelItem); - return d->mProperties; -}*/ +/*! + @beta -/*! Sets whether the item is enabled. If enabled is true, the item is \a enabled, meaning that the user can interact with the item @@ -759,7 +782,8 @@ } /*! - Returns true if the item is enabled; otherwise returns false. + @beta + Returns true if the item is enabled otherwise returns false. */ bool HbDataFormModelItem::isEnabled() const { @@ -768,6 +792,7 @@ } /*! + @beta Returns item flags for this item. */ Qt::ItemFlags HbDataFormModelItem::flags() const @@ -777,7 +802,7 @@ } /*! - @proto + @beta Sets the \a description to the item. This is valid only if the type is GroupItem or DataItem. Its not valid for GroupPageItem and FormPageItem. */ @@ -787,7 +812,7 @@ } /*! - @proto + @beta Returns the description of the item. */ QString HbDataFormModelItem::description() const diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataformmodelitem_p.h --- a/src/hbwidgets/dataform/hbdataformmodelitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataformmodelitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -41,6 +41,7 @@ void setModel(const QAbstractItemModel *model); QAbstractItemModel* model() const; + void setContentWidgetData(const QString& propertyName ,const QVariant &value); public: diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataformviewitem.cpp --- a/src/hbwidgets/dataform/hbdataformviewitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataformviewitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -43,8 +43,9 @@ /*! @beta @hbwidgets - \class HbDataFormViewItem represents an item/view in HbDataForm. Each HbDataFormModelItem - added inside a model is represented using HbDataFormViewItem instance. + \class HbDataFormViewItem + \brief HbDataFormViewItem represents an item view in HbDataForm corresponding to model item. + Each HbDataFormModelItem added inside model is represented using HbDataFormViewItem instance. HbDataFormViewItem have different visualization based upon the HbDataFormModelItem::DataItemType: @@ -60,10 +61,11 @@ creating HbDataFormModelItem, is added in a group combo box. User can switch between different group page using this combo. - DataItems: Any type other then FormPageItem, GroupItem and GroupPageItem is treated as - a data item. Data item contains label and the content widget. Data item content - widget can be set using HbDataFormModelItem::ItemTypeRole and label of data items - can be set using HbDataFormModelItem::LabelRole. Data items can not have any - children. They are always placed at the leaf. + a data item. Data item can contain label, description, icon and content widget. Data items + can not have any children. They are always placed at the leaf. Data item content widget + can be set using HbDataFormModelItem::ItemTypeRole, label of data items can be set using + HbDataFormModelItem::LabelRole, description of data item can be set using + HbDataFormModelItem::DescriptionRole. If HbDataFormViewItem represents a GroupItem then it can be expanded and collapsed. If group is expanded then all the child items are shown. @@ -159,7 +161,7 @@ /*! \reimp - Creates HbDataFormViewItem. This function is called form HbAbstractItemContainer + Creates HbDataFormViewItem. This function is called from HbAbstractItemContainer when model is getting parsed for creating items. */ @@ -169,13 +171,12 @@ } /*! \reimp - Returns true if \a model index is supported by HbDataFormViewItem, otherwise returns false. - This function is called for every item on the prototype list (, if several prototypes exist) - until item is found, which can create item for \a index. The prototype list is gone - through from end to the beginning. - \sa HbAbstractItemView::setItemPrototype(HbAbstractViewItem *prototype), HbAbstractItemView::setItemPrototype(const QList &prototypes) + Returns true if \a model index is supported by HbDataFormViewItem prototype, otherwise returns false. + This function is called for every item on the prototype list (if several prototypes exist) + until item is found, which can create view item for \a index. - + \sa HbAbstractItemView::setItemPrototype(HbAbstractViewItem *prototype) + \sa HbAbstractItemView::setItemPrototype(const QList &prototypes) */ bool HbDataFormViewItem::canSetModelIndex(const QModelIndex &index) const { @@ -194,7 +195,7 @@ /*! \reimp - Updates child graphics items to represent current state and content. In case when + Updates child graphics items to represent current state and content stored in model. In case when HbDataFormViewItem represents data item and DataItemType is set to custom item, then createCustomWidget is called. User can override createCustomWidget and can pass his own custom widget. @@ -276,10 +277,12 @@ } /*! - @alpha + @beta + Restores the data from the model and assign to the widget. - The property for restoring and saving the data need to be initialized when the - data item is created. + The content widget property for restoring and saving the data need to be initialized when the + data item is created. If model item type is custom, then application developer has to override + this API in order to get notification when data is changed in model. \sa save */ @@ -330,10 +333,12 @@ } /*! - @alpha - Saves the current data of the content widget in data item to the model . + @beta + + Saves the current data of the content widget in data item to the model. The property for restoring and saving the data need to be initialized when the - data item is created. + data item is created. If model item type is custom, then application developer has to override + this API in order to save the content widget value in model. \sa restore */ @@ -356,11 +361,11 @@ } /*! - @alpha + @beta This is a virtual function which by default returns NULL. This function must be overridden in case user wants to create a data item of type custom item. The user is supposed to pass - the widget which is wants to display in data item. + the widget which he wants to display in data item. */ HbWidget* HbDataFormViewItem::createCustomWidget() { @@ -369,9 +374,10 @@ /*! \reimp - Sets the item to either collapse or expanded, depending on the value of \a expanded. + Sets the item to either collapse or expanded state, depending on the value of \a expanded. The function calls setModelIndexes which inturn will make the child items visible/invisible - accordingly. This API is valid if HbDataFormViewItem represents a GroupItem. + accordingly. This API is valid only if HbDataFormViewItem represents a FormPageItem, GroupItem + or GroupPageItem. \sa isExpanded */ @@ -406,13 +412,14 @@ } /*! - This API is valid only if HbDataFormViewItem represents a data item. Returns the - content widget of data item. For example if data item is of type SliderItem then - this API will return the instance of HbSlider. - If user wants to connect to some signals of content widget in data item then this - API can be used to fetch the instance of the widget. It will return the instance only - if data item is visible. User can connect to HbDataForm::activated() signal - and when this item is visible then he can query the content widget using this API. + @beta + + Returns the content widget of data item. For example if data item is of type SliderItem + then this API will return the instance of HbSlider. If user wants to connect to some + signals of content widget in data item then this API can be used to fetch the instance + of the widget. It will return the instance only if data item is visible. User can connect + to HbDataForm::itemShown() signal and when this item is visible then he can query the + content widget using this API. */ HbWidget* HbDataFormViewItem::dataItemContentWidget()const { @@ -453,6 +460,9 @@ Q_UNUSED(animate); } +/*! + \reimp +*/ void HbDataFormViewItem::initStyleOption(HbStyleOptionDataFormViewItem *option) const { Q_D( const HbDataFormViewItem ); @@ -463,6 +473,9 @@ option->description = d->mDescription; } +/*! + \reimp +*/ void HbDataFormViewItem::showEvent(QShowEvent * event) { Q_D( const HbDataFormViewItem ); diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataformviewitem.h --- a/src/hbwidgets/dataform/hbdataformviewitem.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataformviewitem.h Thu May 27 13:10:59 2010 +0300 @@ -41,6 +41,8 @@ public: + + explicit HbDataFormViewItem(QGraphicsItem *parent = 0); virtual ~HbDataFormViewItem(); @@ -55,7 +57,7 @@ void setExpanded(bool expanded); bool isExpanded() const; - + HbWidget* dataItemContentWidget()const; public slots: diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataformviewitem_p.cpp --- a/src/hbwidgets/dataform/hbdataformviewitem_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataformviewitem_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -116,10 +116,12 @@ QString additionalTxt = mModelItem->contentWidgetData( QString("additionalText") ).toString(); QString txt = mModelItem->contentWidgetData(QString("text")).toString(); + HbDataFormModelItemPrivate *modelItem_priv = HbDataFormModelItemPrivate::d_ptr(mModelItem); + // Dont want to emit datachanged for this property so calling private function + modelItem_priv->setContentWidgetData( QString("additionalText"), txt ); + // will emit datachanged mModelItem->setContentWidgetData( QString("text"), additionalTxt ); emit valueChanged(mViewItem->modelIndex(), additionalTxt); - // HbPushButton will not be updated with Additional Text when modelChanged signal is emitted - mModelItem->setContentWidgetData( QString("additionalText"), txt ); } /* @@ -424,7 +426,7 @@ int selectionindex = mSelectedItems.at( i ).toInt(); if( selectionindex< mItems.count()) { if( i > 0) {// dont add ; in the starting of the string - newValue.append( ";" ); + newValue.append( "," ); } newValue.append( mItems.at( mSelectedItems.at( i ).toInt() ) ); } @@ -551,6 +553,10 @@ { if(!mSelectionDialog ) { mSelectionDialog = new HbSelectionDialog(); + QObject::connect(mSelectionDialog, SIGNAL(aboutToShow()),this ,SIGNAL(aboutToShow())); + QObject::connect(mSelectionDialog, SIGNAL(aboutToHide()),this ,SIGNAL(aboutToHide())); + QObject::connect(mSelectionDialog, SIGNAL(aboutToClose()),this ,SIGNAL(aboutToClose())); + QObject::connect(mSelectionDialog, SIGNAL(finished(HbAction*)),this ,SIGNAL(finished(HbAction*))); mSelectionDialog->setSelectionMode( HbAbstractItemView::MultiSelection ); mSelectionDialog->setStringItems( mItems, -1 ); mSelectionDialog->setSelectedItems( mSelectedItems ); @@ -575,7 +581,7 @@ mSelectedItems.append(selection.at(i)); newValue.append(mSelectionDialog->stringItems().at(selection.at(i))); if( i != selection.count() - 1 ) { - newValue.append( ";" ); + newValue.append( "," ); } } mButton->setText( newValue ); @@ -916,11 +922,10 @@ void HbDataFormViewItemPrivate::createContentWidget() { Q_Q(HbDataFormViewItem); - + QObject::connect(q, SIGNAL(itemShown(const QModelIndex&)), - mSharedData->mItemView, SIGNAL(activated(const QModelIndex&))); - QObject::connect(q, SIGNAL(itemShown(const QModelIndex&)), - mSharedData->mItemView, SIGNAL(itemShown(const QModelIndex&))); + mSharedData->mItemView, SIGNAL(itemShown(const QModelIndex&))); + switch( mType ) { // following are standard data item case HbDataFormModelItem::SliderItem: diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdataformviewitem_p.h --- a/src/hbwidgets/dataform/hbdataformviewitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataformviewitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -40,6 +40,7 @@ class HbListWidget; class QGraphicsLinearLayout; class QItemSelection; +class HbAction; QT_FORWARD_DECLARE_CLASS(QGraphicsLinearLayout) @@ -135,6 +136,10 @@ void makeSelection(); signals: void valueChanged(QPersistentModelIndex, QVariant); + void aboutToShow(); + void aboutToHide(); + void aboutToClose(); + void finished(HbAction*); private: diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdatagroup_p.cpp --- a/src/hbwidgets/dataform/hbdatagroup_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdatagroup_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -61,6 +61,7 @@ void HbDataGroupPrivate::expand( bool expanded ) { + Q_Q(HbDataGroup); HbAbstractItemContainer *container = qobject_cast( static_cast( mSharedData->mItemView->contentWidget( ) ) ); HbDataFormModelItem::DataItemType itemType = static_cast( @@ -115,6 +116,8 @@ } //get the group page index QModelIndex groupPageIndex = mIndex.child(activePage,0); + q->emitActivated(groupPageIndex); + if(groupPageIndex.isValid()) { container->setItemTransientStateValue(groupPageIndex, "expanded", true); } @@ -265,7 +268,14 @@ Q_D(HbDataGroup); HB_SD(HbAbstractViewItem); HbAbstractItemContainer *container = 0; - + HbDataFormModelItem::DataItemType itemType = + static_cast( + d->mIndex.data(HbDataFormModelItem::ItemTypeRole).toInt()); + //emit activated signal for newly expanded group page + if(expanded && (itemType == HbDataFormModelItem::GroupPageItem || + itemType == HbDataFormModelItem::FormPageItem)) { + emitActivated(modelIndex()); + } if(d->mSharedData->mItemView) { container = qobject_cast( static_cast(d->mSharedData->mItemView->contentWidget())); @@ -277,9 +287,6 @@ //if some one exlicitly calls setExpanded for data group then primitives needs to be //updated. - HbDataFormModelItem::DataItemType itemType = - static_cast( - d->mIndex.data(HbDataFormModelItem::ItemTypeRole).toInt()); if(itemType == HbDataFormModelItem::GroupItem){ if(d->mPageCombo) { if(expanded) { @@ -521,3 +528,10 @@ Q_UNUSED(animate); } +void HbDataGroup::emitActivated(const QModelIndex &index )const +{ + HbDataForm *form = static_cast(itemView()); + if(form) { + HbDataFormPrivate::d_ptr(form)->emitActivated(index); + } +} diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdatagroup_p.h --- a/src/hbwidgets/dataform/hbdatagroup_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdatagroup_p.h Thu May 27 13:10:59 2010 +0300 @@ -57,6 +57,7 @@ virtual void updateChildItems( ); virtual bool canSetModelIndex( const QModelIndex &index ) const; void polish( HbStyleParameters& params ); + void emitActivated(const QModelIndex &index)const; public slots: void updatePrimitives( ); diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdatagroupheadingwidget_p.cpp --- a/src/hbwidgets/dataform/hbdatagroupheadingwidget_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdatagroupheadingwidget_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -26,7 +26,8 @@ #include "hbdatagroupheadingwidget_p.h" #include "hbdataformviewitem_p.h" #include -#include +#include "hbdatagroup_p.h" +#include "hbdatagroup_p_p.h" #include #include @@ -43,8 +44,10 @@ mDescriptionItem(0), mParent(0), mExpanded(false), - mDown(false) + mDown(false), + mLongPressed(false) { + #ifdef HB_GESTURE_FW grabGesture( Qt::TapGesture ); #endif @@ -58,7 +61,8 @@ } void HbDataGroupHeadingWidget::createPrimitives() -{ +{ + QObject::connect(mParent, SIGNAL(longPressed(const QPointF )), this, SLOT(longPressed(const QPointF ))); if(!mBackgroundItem) { mBackgroundItem = style()->createPrimitive(HbStyle::P_DataGroup_background, this); } @@ -177,19 +181,22 @@ void HbDataGroupHeadingWidget::gestureEvent(QGestureEvent *event) { Hb::InteractionModifiers modifiers = 0; - + if (event->gesture(Qt::TapGesture)) { + HbDataGroupPrivate::d_ptr(static_cast(mParent))->tapTriggered( event ); + } if (HbTapGesture *tap = qobject_cast(event->gesture(Qt::TapGesture))) { switch(tap->state()) { case Qt::GestureStarted: { mDown = true; + mLongPressed = false; HbStyleOptionDataGroupHeadingWidget settingGroupOption; initStyleOption(&settingGroupOption); if(mBackgroundItem) { - style()->updatePrimitive( - mBackgroundItem, HbStyle::P_DataGroup_background, &settingGroupOption); - } + style()->updatePrimitive( + mBackgroundItem, HbStyle::P_DataGroup_background, &settingGroupOption); + } modifiers = Hb::ModifierExpandedItem; HbWidgetFeedback::triggered(this, Hb::InstantPressed, modifiers); break; @@ -199,12 +206,13 @@ { modifiers = 0; - if(mDown && rect().contains(mapFromScene(event->mapToGraphicsScene(tap->position())))) { + if(mDown && !mLongPressed && rect().contains(mapFromScene(event->mapToGraphicsScene(tap->position())))) { static_cast(mParent)->setExpanded( !static_cast(mParent)->isExpanded()); modifiers |= Hb::ModifierExpandedItem; - mDown = false; } + mDown = false; + HbStyleOptionDataGroupHeadingWidget settingGroupOption; initStyleOption(&settingGroupOption); if(mBackgroundItem) { @@ -235,5 +243,13 @@ break; } } + +} + + +void HbDataGroupHeadingWidget::longPressed(const QPointF &position) +{ + Q_UNUSED(position); + mLongPressed = true; } #endif diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/dataform/hbdatagroupheadingwidget_p.h --- a/src/hbwidgets/dataform/hbdatagroupheadingwidget_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/dataform/hbdatagroupheadingwidget_p.h Thu May 27 13:10:59 2010 +0300 @@ -51,6 +51,9 @@ enum { Type = HbPrivate::ItemType_DataGroupHeadingWidget }; int type() const { return Type; } +public slots: + void longPressed(const QPointF &position); + #ifndef HB_GESTURE_FW void mousePressEvent(QGraphicsSceneMouseEvent *event); void mouseReleaseEvent( QGraphicsSceneMouseEvent * event ); @@ -70,6 +73,7 @@ bool mDown; QString mHeading; QString mDescription; + bool mLongPressed; }; #endif // HBDATAGROUPHEADINGWIDGET_H diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/devicedialogs/hbdevicemessagebox.cpp --- a/src/hbwidgets/devicedialogs/hbdevicemessagebox.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/devicedialogs/hbdevicemessagebox.cpp Thu May 27 13:10:59 2010 +0300 @@ -24,7 +24,6 @@ ****************************************************************************/ #include -#include #include #include "hbdevicemessagebox.h" #include "hbdevicemessagebox_p.h" @@ -42,6 +41,7 @@ TRACE_ENTRY for(int i = 0; i < NumActions; i++) { mDefaultActions[i] = 0; + mActions[i].mAction = 0; } TRACE_EXIT } @@ -85,7 +85,9 @@ for(int i = 0; i < NumProperties; i++) { mProperties[i].mFlags = NoFlags; } - clearActions(); + for(int i = 0; i < NumActions; i++) { + clearAction(mActions[i]); + } QString text; q_ptr->setText(text); @@ -93,39 +95,53 @@ q_ptr->setIconVisible(true); q_ptr->setAnimationDefinition(text); + bool useActions[NumActions]; + for(int i = 0; i < NumActions; i++) { + useActions[i] = false; + } + switch(mProperties[Type].mValue.toInt()) { case HbMessageBox::MessageTypeInformation: case HbMessageBox::MessageTypeWarning: q_ptr->setDismissPolicy(HbPopup::TapAnywhere); q_ptr->setTimeout(timeoutValue(HbPopup::StandardTimeout)); - // Use default primary button, secondary button is empty - if (!mDefaultActions[AcceptButton]) { - mDefaultActions[AcceptButton] = new HbAction(0); - } - mActions[AcceptButton].mAction = mDefaultActions[AcceptButton]; + // Use default accept button, reject button is empty + useActions[AcceptButton] = true; break; case HbMessageBox::MessageTypeQuestion: q_ptr->setTimeout(HbPopup::NoTimeout); q_ptr->setDismissPolicy(HbPopup::NoDismiss); - // Use default primary and secondary buttons - for(int i = 0; i < NumActions; i++) { - if (!mDefaultActions[i]) { - mDefaultActions[i] = new HbAction(0); - } - mActions[i].mAction = mDefaultActions[i]; - } + // Use default accept and reject buttons + useActions[AcceptButton] = true; + useActions[RejectButton] = true; break; default: Q_ASSERT(false); } + + for(int i = 0; i < NumActions; i++) { + if (useActions[i]) { + if (!mDefaultActions[i]) { + mDefaultActions[i] = new QAction(0); + } + mActions[i].mAction = mDefaultActions[i]; + connect(mActions[i].mAction, SIGNAL(changed()), SLOT(actionChanged())); + } + } } void HbDeviceMessageBoxPrivate::setAction(ActionSelector select, QAction *action) { TRACE_ENTRY Action &dialogAction = mActions[select]; + bool saveTriggered = dialogAction.mTriggered; + clearAction(dialogAction); + dialogAction.mTriggered = saveTriggered; dialogAction.mFlags = Modified; dialogAction.mAction = action; + if (dialogAction.mAction) { + connect(dialogAction.mAction, SIGNAL(changed()), SLOT(actionChanged())); + } TRACE_EXIT } @@ -216,14 +232,16 @@ return false; } -// Clear actions -void HbDeviceMessageBoxPrivate::clearActions() +// Clear action +void HbDeviceMessageBoxPrivate::clearAction(Action &action) { - for(int i = 0; i < NumActions; i++) { - mActions[i].mAction = 0; - mActions[i].mFlags = NoFlags; - mActions[i].mTriggered = false; + if (action.mAction) { + disconnect(action.mAction, SIGNAL(changed()), this, SLOT(actionChanged())); } + action.mAction = 0; + action.mFlags = NoFlags; + action.mTriggered = false; + } void HbDeviceMessageBoxPrivate::close() @@ -264,6 +282,18 @@ TRACE_EXIT } +void HbDeviceMessageBoxPrivate::actionChanged() +{ + QObject *action = sender(); + for(int i = 0; i < NumActions; i++) { + if (mActions[i].mAction == action) { + mActions[i].mFlags = Modified; + scheduleUpdateEvent(); + break; + } + } +} + void HbDeviceMessageBoxPrivate::setProperty(PropertySelector propertySelector, int value) { Property &property = mProperties[propertySelector]; @@ -385,6 +415,11 @@ QString fileName("note_warning"); messageBox.setIconName(fileName); + // Change button text + messageBox.action(HbDeviceMessageBox::AcceptButtonRole)->setText("Ok"); + messageBox.action(HbDeviceMessageBox::RejectButtonRole)->setText("Cancel"); + + // Set new actions (buttons) QAction acceptAction("Ok", 0); messageBox.setAction(&acceptAction, HbDeviceMessageBox::AcceptButtonRole); QAction rejectAction("Cancel", 0); diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/devicedialogs/hbdevicemessagebox.h --- a/src/hbwidgets/devicedialogs/hbdevicemessagebox.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/devicedialogs/hbdevicemessagebox.h Thu May 27 13:10:59 2010 +0300 @@ -31,7 +31,6 @@ #include class HbDeviceMessageBoxPrivate; -class HbAction; class QAction; class HB_WIDGETS_EXPORT HbDeviceMessageBox : public QObject diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/devicedialogs/hbdevicemessagebox_p.h --- a/src/hbwidgets/devicedialogs/hbdevicemessagebox_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/devicedialogs/hbdevicemessagebox_p.h Thu May 27 13:10:59 2010 +0300 @@ -81,7 +81,7 @@ void setAction(ActionSelector select, QAction *action); void sendToServer(bool show = false); bool propertiesModified() const; - void clearActions(); + void clearAction(Action &action); void setProperty(PropertySelector propertySelector, int value); void setProperty(PropertySelector propertySelector, const QString &value); @@ -93,6 +93,7 @@ public slots: void triggerAction(QVariantMap data); + void actionChanged(); public: // data HbDeviceMessageBox *q_ptr; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/editors/hbabstractedit.cpp --- a/src/hbwidgets/editors/hbabstractedit.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/editors/hbabstractedit.cpp Thu May 27 13:10:59 2010 +0300 @@ -1013,10 +1013,10 @@ if (source->hasFormat(QLatin1String("application/x-qrichtext"))) { QString richtext = QString::fromUtf8(source->data(QLatin1String("application/x-qrichtext"))); richtext.prepend(QLatin1String("")); - fragment = QTextDocumentFragment::fromHtml(filterInputText(richtext), d->doc); + fragment = QTextDocumentFragment::fromHtml(richtext, d->doc); hasData = true; } else if (source->hasHtml()) { - fragment = QTextDocumentFragment::fromHtml(filterInputText(source->html()), d->doc); + fragment = QTextDocumentFragment::fromHtml(source->html(), d->doc); hasData = true; } else #endif //QT_NO_TEXTHTMLPARSER @@ -1716,16 +1716,8 @@ */ QString HbAbstractEdit::filterInputText(const QString &text) { - HbEditorInterface editorInterface(this); - HbInputFilter *inputFilter = editorInterface.filter(); - if (!text.isEmpty() && inputFilter) { - QString filteredText; - foreach(QChar c, text) { - if (inputFilter->filter(c)) { - filteredText.append(c); - } - } - return filteredText; - } - return text; + Q_D(HbAbstractEdit); + QString filteredText(text); + d->filterInputText(filteredText); + return filteredText; } diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/editors/hbabstractedit_p.cpp --- a/src/hbwidgets/editors/hbabstractedit_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/editors/hbabstractedit_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -1172,6 +1172,22 @@ } } +void HbAbstractEditPrivate::filterInputText(QString &text) const +{ + Q_Q(const HbAbstractEdit); + HbEditorInterface editorInterface(const_cast(q)); + HbInputFilter *inputFilter = editorInterface.filter(); + + if (!text.isEmpty() && inputFilter) { + for(int i(text.length() - 1); i>=0; --i) { + if (!inputFilter->filter(text.at(i))) { + text.remove(i,1); + } + } + } +} + + Qt::Alignment HbAbstractEditPrivate::alignmentFromString(const QString &text) { Qt::Alignment align(0); diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/editors/hbabstractedit_p.h --- a/src/hbwidgets/editors/hbabstractedit_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/editors/hbabstractedit_p.h Thu May 27 13:10:59 2010 +0300 @@ -150,6 +150,7 @@ const QStyleOptionGraphicsItem &option) const; void updatePlaceholderDocProperties(); + void filterInputText(QString &text) const; void _q_updateRequest(QRectF rect); void _q_updateBlock(QTextBlock block); diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/editors/hblineedit.cpp --- a/src/hbwidgets/editors/hblineedit.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/editors/hblineedit.cpp Thu May 27 13:10:59 2010 +0300 @@ -594,7 +594,14 @@ */ bool HbLineEdit::canInsertFromMimeData(const QMimeData *source) const { - return source->hasText() && !source->text().isEmpty(); + Q_D(const HbLineEdit); + if(source->hasText() && !source->text().isEmpty()) { + QString text(source->text()); + d->filterInputText(text); + return !text.isEmpty(); + } else { + return false; + } } /*! diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hbabstractitemview.cpp --- a/src/hbwidgets/itemviews/hbabstractitemview.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hbabstractitemview.cpp Thu May 27 13:10:59 2010 +0300 @@ -739,11 +739,7 @@ if (item) { item->setCheckState(Qt::Checked); if (!d->mClearingSelection) { - Hb::InteractionModifiers modifiers = 0; - if (d->mIsScrolling) { - modifiers |= Hb::ModifierScrolling; - } - HbWidgetFeedback::triggered(item, Hb::InstantSelectionChanged, modifiers); + HbWidgetFeedback::triggered(item, Hb::InstantSelectionChanged); } } d->mContainer->setItemTransientStateValue(selectedIndexes.at(i), diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hbabstractviewitem.cpp --- a/src/hbwidgets/itemviews/hbabstractviewitem.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hbabstractviewitem.cpp Thu May 27 13:10:59 2010 +0300 @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -48,6 +49,7 @@ const QString KDefaultLayoutOption = "default"; const int HbAbstractViewItemShared::ViewItemDeferredDeleteEvent = QEvent::registerEventType(); +const int HbViewItemPressDelay = 50; /*! @alpha @@ -127,6 +129,12 @@ \snippet{ultimatecodesnippet/customlistviewitem.cpp,1} */ +void HbAbstractViewItemShared::pressStateChangeTimerTriggered() +{ + HbWidgetFeedback::triggered(mPressedItem, Hb::InstantPressed, 0); + mPressedItem->pressStateChanged(true, mAnimatePress); +} + void HbAbstractViewItemPrivate::init() { Q_Q(HbAbstractViewItem); @@ -204,7 +212,6 @@ switch (gesture->state()) { case Qt::GestureStarted: { - HbWidgetFeedback::triggered(q, Hb::InstantPressed, 0); setPressed(true, true); emit q->pressed(position); break; @@ -277,10 +284,25 @@ if (pressed != mPressed) { mPressed = pressed; - q->pressStateChanged(mPressed, animate); + + if (mSharedData->mPressStateChangeTimer) { + mSharedData->mPressStateChangeTimer->stop(); + } + if (mPressed) { + if (!mSharedData->mPressStateChangeTimer) { + mSharedData->mPressStateChangeTimer = new QTimer(mSharedData.data()); + mSharedData->mPressStateChangeTimer->setSingleShot(true); + QObject::connect(mSharedData->mPressStateChangeTimer, SIGNAL(timeout()), mSharedData.data(), SLOT(pressStateChangeTimerTriggered())); + } + mSharedData->mPressedItem = q; + mSharedData->mAnimatePress = animate; + mSharedData->mPressStateChangeTimer->start(HbViewItemPressDelay); + q->setProperty("state", "pressed"); } else { + q->pressStateChanged(mPressed, animate); + q->setProperty("state", "normal"); } } @@ -896,10 +918,10 @@ HbEffect::start(d->mFocusItem, sd->mItemType + QString("-focus"), "released", this, "_q_animationFinished"); } else { HbEffect::cancel(this, "pressed"); - HbEffect::start(this, sd->mItemType, "released"); + HbEffect::cancel(this, "released"); if (d->mFocusItem) { HbEffect::cancel(d->mFocusItem, "pressed"); - HbEffect::start(d->mFocusItem, sd->mItemType + QString("-focus"), "released", this, "_q_animationFinished"); + HbEffect::cancel(d->mFocusItem, "released"); QCoreApplication::postEvent(this, new QEvent((QEvent::Type)HbAbstractViewItemShared::ViewItemDeferredDeleteEvent)); } } diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hbabstractviewitem.h --- a/src/hbwidgets/itemviews/hbabstractviewitem.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hbabstractviewitem.h Thu May 27 13:10:59 2010 +0300 @@ -37,6 +37,7 @@ QT_END_NAMESPACE class HbAbstractViewItemPrivate; +class HbAbstractViewItemShared; class HbAbstractItemView; class HbStyleOptionAbstractViewItem; class HbStyleParameters; @@ -116,6 +117,8 @@ private: Q_DECLARE_PRIVATE_D( d_ptr, HbAbstractViewItem ) Q_PRIVATE_SLOT(d_func(), void _q_animationFinished(const HbEffect::EffectStatus &status)) + + friend class HbAbstractViewItemShared; }; #endif /*HBABSTRACTVIEWITEM_H*/ diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hbabstractviewitem_p.h --- a/src/hbwidgets/itemviews/hbabstractviewitem_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hbabstractviewitem_p.h Thu May 27 13:10:59 2010 +0300 @@ -32,6 +32,7 @@ #include #include +#include #include #include #include @@ -39,24 +40,34 @@ class HbAbstractItemView; class QGraphicsItem; - +class QTimer; class QGestureEvent; #define HB_SD(Class) Class##Shared * sd = (Class##Shared *)(d->mSharedData.data()) #define HB_SDD(Class) Q_D(Class); Class##Shared * sd = (Class##Shared *)(d->mSharedData.data()) -class HbAbstractViewItemShared : public QSharedData +class HbAbstractViewItemShared : public QObject, public QSharedData { + Q_OBJECT + public: HbAbstractViewItemShared() : mPrototype(0), mItemView(0), mDefaultFrame(), - mItemType("viewitem") + mItemType("viewitem"), + mPressStateChangeTimer(0), + mPressedItem(0) { } + public slots: + + void pressStateChangeTimerTriggered(); + + public: + HbAbstractViewItem *mPrototype; HbAbstractItemView *mItemView; @@ -65,6 +76,10 @@ QString mItemType; static const int ViewItemDeferredDeleteEvent; + + QTimer *mPressStateChangeTimer; + HbAbstractViewItem *mPressedItem; + bool mAnimatePress; }; class HbAbstractViewItemPrivate : public HbWidgetPrivate diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hblistitemcontainer_p.cpp --- a/src/hbwidgets/itemviews/hblistitemcontainer_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hblistitemcontainer_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -30,6 +30,7 @@ #include "hbabstractitemcontainer_p.h" #include "hbabstractitemview.h" #include "hblistviewitem.h" +#include "hblistview.h" #include "hbmodeliterator.h" #include @@ -129,7 +130,7 @@ bool HbListItemContainerPrivate::intoContainerBuffer(const QModelIndex &index) const { if (!mItems.isEmpty() - && mItems.first()->modelIndex().row() <= index.row() + && mItems.first()->modelIndex().row() <= index.row() && mItems.last()->modelIndex().row() >= index.row()){ return true; } else { @@ -237,17 +238,11 @@ if (animate) { Q_D(HbListItemContainer); - int itemCount = d->mItems.count(); - HbAbstractViewItem *item = 0; - for (int i = 0; i < itemCount; ++i) { - item = d->mItems.at(i); - if (item->modelIndex() == index) { - QPair pair(item, i); - d->mAnimatedItems.append(pair); - } - } - - if (!item) { + HbAbstractViewItem *viewItem = d->item(index); + if (viewItem) { + QPair pair(viewItem, d->mapToLayoutIndex(d->mItems.indexOf(viewItem))); + d->mAnimatedItems.append(pair); + } else { return; } } @@ -256,6 +251,19 @@ } /*! + Sets the modelIndexes of \a count container items starting from item at \a containerStartRow row of the container + to model's indexes starting from \a modelStartRow +*/ +void HbListItemContainer::setItemModelIndexes(int containerStartRow, int modelStartRow, int count) +{ + Q_D(HbListItemContainer); + + for (int i = 0; i <= count; ++i) { + setItemModelIndex(d->mItems.at(containerStartRow + i), d->mItemView->modelIterator()->index(modelStartRow + i)); + } +} + +/*! \reimp */ void HbListItemContainer::itemRemoved( HbAbstractViewItem *item, bool animate ) diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hblistitemcontainer_p.h --- a/src/hbwidgets/itemviews/hblistitemcontainer_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hblistitemcontainer_p.h Thu May 27 13:10:59 2010 +0300 @@ -39,6 +39,7 @@ virtual ~HbListItemContainer(); void removeItem(const QModelIndex &index, bool animate); + void setItemModelIndexes(int containerStartRow, int modelStartRow, int count); protected: @@ -47,6 +48,7 @@ virtual void itemAdded(int index, HbAbstractViewItem *item, bool animate = false); virtual void itemRemoved(HbAbstractViewItem *item, bool animate = false); + virtual void viewResized(const QSizeF &viewSize); QPointF recycleItems(const QPointF &delta); diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hblistview.cpp --- a/src/hbwidgets/itemviews/hblistview.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hblistview.cpp Thu May 27 13:10:59 2010 +0300 @@ -244,7 +244,6 @@ verticalScrollBar()->setInteractive(false); } d->mArrangeMode = arrangeMode; - d->mAnimateItems = !d->mArrangeMode; if (d->mArrangeMode == true) { d->mOriginalFriction = d->mFrictionEnabled; @@ -317,14 +316,20 @@ /*! \reimp + + Derived implementations must respect the d->mMoveOngoing flag and not perform + any view actions when the flag is set. */ void HbListView::rowsInserted(const QModelIndex &parent, int start, int end) { Q_D(HbListView); + if (d->mMoveOngoing) + return; + if (parent == d->mModelIterator->rootIndex()) { HbAbstractItemView::rowsInserted(parent, start, end); - if (!d->mArrangeMode && d->animationEnabled(true)) { + if (d->animationEnabled(true)) { d->startAppearEffect("viewitem", "appear", parent, start, end); } } @@ -332,11 +337,17 @@ /*! \reimp + + Derived implementations must respect the d->mMoveOngoing flag and not perform + any view actions when the flag is set. */ void HbListView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) { Q_D(HbListView); + if (d->mMoveOngoing) + return; + if (parent == d->mModelIterator->rootIndex()) { for (int i = start; i <= end; i++) { HbAbstractViewItem* item = viewItem(i); @@ -345,7 +356,7 @@ d->mDraggedItem = 0; } - if (!d->mArrangeMode && d->animationEnabled(false)) { + if (d->animationEnabled(false)) { d->mItemsAboutToBeDeleted.append(item); } } @@ -355,10 +366,17 @@ /*! \reimp + + Derived implementations must respect the d->mMoveOngoing flag and not perform + any view actions when the flag is set. */ void HbListView::rowsRemoved(const QModelIndex &parent, int start, int end) { Q_D(HbListView); + + if (d->mMoveOngoing) + return; + if (parent == d->mModelIterator->rootIndex()) { if (d->animationEnabled(false)) { for (int i = 0; i < d->mItemsAboutToBeDeleted.count(); i++) { diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hblistview_p.cpp --- a/src/hbwidgets/itemviews/hblistview_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hblistview_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -28,6 +28,7 @@ #include "hblistviewitem.h" #include "hbabstractitemcontainer_p.h" +#include "hblistitemcontainer_p.h" #include #include "hbmodeliterator.h" #include @@ -52,7 +53,8 @@ mMousePressPos(), mScrollStartMousePos(), mLastScrollPos(), - mOriginalTransform() + mOriginalTransform(), + mMoveOngoing(false) { } @@ -121,8 +123,16 @@ //mDraggedItem->setPressed(false, false); int targetRow = targetIndex.row(); + int startRow = qMin(targetRow, mDraggedItemIndex.row()); + int endRow = qMax(targetRow, mDraggedItemIndex.row()); + int containerStartIndex = mContainer->items().at(0)->modelIndex().row(); + mMoveOngoing = true; q->move(mDraggedItemIndex, targetIndex); - + static_cast (mContainer)->setItemModelIndexes(startRow - containerStartIndex, + startRow, + endRow - startRow); + mMoveOngoing = false; + // in the swap the dragged item may have been deleted and recreated. So take it again here mDraggedItemIndex = mModelIterator->index(targetRow); if (mDraggedItemIndex.isValid()) { @@ -165,10 +175,13 @@ mDraggedItemIndex = mDraggedItem->modelIndex(); if (mDraggedItemIndex.isValid()) { + HbEffect::cancel(mDraggedItem, QString(), true); mMousePressTimer.restart(); mMousePressPos = scenePos; mOriginalTransform = mDraggedItem->transform(); mDraggedItem->setZValue(mDraggedItem->zValue() + 1); + mDraggedItem->translate(0, event->mapToGraphicsScene(gesture->offset()).y() - + event->mapToGraphicsScene(gesture->lastOffset()).y()); QObject::connect(q, SIGNAL(scrollPositionChanged(QPointF)), q, SLOT(scrolling(QPointF))); } else { @@ -185,8 +198,6 @@ if (!q->isScrolling()) { // move the item with the cursor to indicate the move - //qDebug() << "ScenePos: " << scenePos; - //qDebug() << "Offset: " << event->mapToGraphicsScene(gesture->offset()).y() << " lastOffset: " << event->mapToGraphicsScene(gesture->lastOffset()).y(); mDraggedItem->translate(0, event->mapToGraphicsScene(gesture->offset()).y() - event->mapToGraphicsScene(gesture->lastOffset()).y()); @@ -207,8 +218,10 @@ QModelIndex firstItemIndex = mContainer->items().first()->modelIndex(); QModelIndex lastItemIndex = mContainer->items().last()->modelIndex(); // If the item is dragged up in the list (and there are more items to show), scroll up - if (!q->isScrolling() - && !q->isVisible(firstItemIndex) + + if (!mIsAnimating + && !(visible(mContainer->itemByIndex(firstItemIndex), true) + && (firstItemIndex.row() == 0)) && scenePos.y() < mMousePressPos.y() && pos.y() < q->itemByIndex(firstVisible)->size().height()) { mScrollStartMousePos = scenePos; @@ -216,8 +229,9 @@ animateScroll(QPointF(0.0f , DRAGGED_ITEM_SCROLL_SPEED)); } // If the item is dragged down in the list (and there are more items to show), scroll down - else if (!q->isScrolling() - && !q->isVisible(lastItemIndex) + else if (!mIsAnimating + && !(visible(mContainer->itemByIndex(lastItemIndex), true) + && (lastItemIndex.row() == mModelIterator->indexCount() - 1)) && scenePos.y() > mMousePressPos.y() && pos.y() > (q->size().height() - q->itemByIndex(lastVisible)->size().height())) { mScrollStartMousePos = scenePos; @@ -274,12 +288,3 @@ return HbAbstractItemViewPrivate::panTriggered(event); } -bool HbListViewPrivate::animationEnabled(bool insertOperation) -{ - if (mArrangeMode) { - return false; - } else { - return HbAbstractItemViewPrivate::animationEnabled(insertOperation); - } -} - diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hblistview_p.h --- a/src/hbwidgets/itemviews/hblistview_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hblistview_p.h Thu May 27 13:10:59 2010 +0300 @@ -68,7 +68,7 @@ virtual bool panTriggered(QGestureEvent *event); - virtual bool animationEnabled(bool insertOperation); + public: bool mArrangeMode; QPersistentModelIndex mDraggedItemIndex; @@ -79,6 +79,7 @@ QPointF mLastScrollPos; QTransform mOriginalTransform; + bool mMoveOngoing; bool mOriginalFriction; }; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hblistwidget.cpp --- a/src/hbwidgets/itemviews/hblistwidget.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hblistwidget.cpp Thu May 27 13:10:59 2010 +0300 @@ -351,7 +351,6 @@ } d->mArrangeMode = arrangeMode; - d->mAnimateItems = !d->mArrangeMode; if (d->mArrangeMode == true) { d->mOriginalFriction = d->mFrictionEnabled; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hbtumbleview.cpp --- a/src/hbwidgets/itemviews/hbtumbleview.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hbtumbleview.cpp Thu May 27 13:10:59 2010 +0300 @@ -35,10 +35,11 @@ #include #include +#include +#include #define HB_TUMBLE_ITEM_ANIMATION_TIME 500 #define HB_TUMBLE_PREFERRED_ITEMS 3 -#define DELAYED_SELECT_INTERVAL 100 #define HBTUMBLE_DEBUG #ifdef HBTUMBLE_DEBUG @@ -56,6 +57,8 @@ void setLoopingEnabled(bool looping) ; bool isLoopingEnabled() const ; + void removeItem(const QModelIndex &index, bool animate ); + void setModelIndexes(const QModelIndex &startIndex); }; class HbTumbleViewItemContainerPrivate:public HbListItemContainerPrivate @@ -84,16 +87,14 @@ void init(QAbstractItemModel *model); void calculateItemHeight(); + void selectCurrentIndex(const QModelIndex& index); void selectMiddleItem(); + HbAbstractViewItem* getCenterItem(); void createPrimitives(); - - void delayedSelectCurrent(const QModelIndex& index); - void _q_scrollingStarted();//private slot void _q_scrollingEnded();//private slot - void _q_delayedSelectCurrent();//private slot void setPressedState(HbAbstractViewItem *item); @@ -188,12 +189,143 @@ void HbTumbleViewItemContainer::setLoopingEnabled(bool looped) { Q_D(HbTumbleViewItemContainer); d->mIsLooped = looped; + if(looped){ + recycleItems(QPointF()); + } + else{ + setModelIndexes(d->mItemView->currentIndex()); + } } bool HbTumbleViewItemContainer::isLoopingEnabled() const { Q_D(const HbTumbleViewItemContainer); return d->mIsLooped; } +void HbTumbleViewItemContainer::removeItem(const QModelIndex &index, bool animate ) +{ + Q_D(HbTumbleViewItemContainer); + HbListItemContainer::removeItem(index,animate); + if (d->mItems.count() < maxItemCount()) { + d->updateItemBuffer(); + } +} + +void HbTumbleViewItemContainer::setModelIndexes(const QModelIndex &startIndex) +{ + Q_D(HbAbstractItemContainer); + + if (!d->mItemView || !d->mItemView->model()) { + return; + } + + QModelIndex index = startIndex; + if (!index.isValid()) { + if (!d->mItems.isEmpty()) { + index = d->mItems.first()->modelIndex(); + } + + if (!index.isValid()) { + index = d->mItemView->modelIterator()->nextIndex(index); + } + } + + QModelIndexList indexList; + + int itemCount(d->mItems.count()); + + if (itemCount != 0 && index.isValid()) { + indexList.append(index); + } + + for (int i = indexList.count(); i < itemCount; ++i) { + index = d->mItemView->modelIterator()->nextIndex(indexList.last()); + + if (index.isValid()) { + indexList.append(index); + } else { + break; + } + } + if(isLoopingEnabled() && indexList.count()mItemView->modelIterator()->index(0,QModelIndex()); + indexList.append(firstModelIndex); + for (int i = indexList.count(); i < itemCount; ++i) { + index = d->mItemView->modelIterator()->nextIndex(indexList.last()); + + if (index.isValid()) { + indexList.append(index); + } else { + break; + } + } + } + + for (int i = indexList.count(); i < itemCount; ++i) { + index = d->mItemView->modelIterator()->previousIndex(indexList.first()); + + if (index.isValid()) { + indexList.prepend(index); + } else { + break; + } + } + + // if items have been added/removed in the middle of the buffer, there might be items + // that can be reused at the end of the buffer. The following block will scan for + // those items and move them in correct position + int lastUsedItem = -1; + for (int indexCounter = 0; indexCounter < indexList.count(); ++indexCounter) { + HbAbstractViewItem *item = d->mItems.at(indexCounter); + if (item && item->modelIndex() == indexList.at(indexCounter)) { + lastUsedItem = indexCounter; + } else { + for (int itemCounter = lastUsedItem + 1; itemCounter < d->mItems.count(); itemCounter++) { + HbAbstractViewItem *item2 = d->mItems.at(itemCounter); + qDebug()<<"containeritemsat("<modelIndex()<<"--indexList.at(" + <modelIndex() == indexList.at(indexCounter)) { + d->mItems.swap(indexCounter, itemCounter); + itemRemoved(d->mItems.at(indexCounter), false); + itemRemoved(d->mItems.at(itemCounter), false); + itemAdded(qMin(indexCounter, itemCounter), d->mItems.at(qMin(indexCounter, itemCounter)), false); + itemAdded(qMax(indexCounter, itemCounter), d->mItems.at(qMax(indexCounter, itemCounter)), false); + lastUsedItem = itemCounter; + break; + } + } + + } + qDebug()<<"last used item -"<mItems.at(i); + HbAbstractViewItem *prototype = 0; + // setItemModelIndex() is considered recycling. It is called only, if recycling is permitted + if (i < indexCount) { + prototype = d->itemPrototype(indexList.at(i)); + } + if (prototype) { + if ( prototype == item->prototype() + && d->mItemRecycling) { + setItemModelIndex(item, indexList.at(i)); + } else if ( d->mItemRecycling + || ( !d->mItemRecycling + && item->modelIndex() != indexList.at(i))) { + d->deleteItem(item); + insertItem(i, indexList.at(i)); + } // else: !d->mItemRecycling && item->modelIndex().isValid() == indexList.at(i)) + } else { + d->deleteItem(item); + itemCount--; + i--; + } + } +} + HbTumbleViewItemContainerPrivate::HbTumbleViewItemContainerPrivate() : mIsLooped(false) { @@ -319,8 +451,6 @@ Q_ASSERT(b); b = q->connect(q,SIGNAL(scrollingEnded()),q,SLOT(_q_scrollingEnded())); Q_ASSERT(b); - b = q->connect(&mDelayedSelectTimer,SIGNAL(timeout()),q,SLOT(_q_delayedSelectCurrent())); - Q_UNUSED(b); createPrimitives(); } @@ -331,17 +461,27 @@ if(!q->scene()) { return; } - QPointF centerPt = q->mapToScene(q->boundingRect().center()); - HbAbstractViewItem *item = itemAt(centerPt); + HbAbstractViewItem *item = getCenterItem(); if(item) { #ifdef HBTUMBLE_DEBUG - qDebug() << "HbTumbleViewPrivate::selectMiddleItem - " << item->modelIndex().row() ; + qDebug() << "HbTumbleViewPrivate::selectMiddleItem - " << item->modelIndex().row() ; #endif - delayedSelectCurrent(item->modelIndex()); - mSelected = item->modelIndex().row(); - } + selectCurrentIndex(item->modelIndex()); + mSelected = item->modelIndex().row(); } +} + +HbAbstractViewItem* HbTumbleViewPrivate::getCenterItem() +{ + Q_Q(HbTumbleView); + + if(!q->scene()) { + return 0; + } + QPointF centerPt = q->mapToScene(q->boundingRect().center()); + return itemAt(centerPt); +} void HbTumbleViewPrivate::scrollTo(const QModelIndex &index, HbAbstractItemView::ScrollHint hint) { @@ -366,6 +506,24 @@ #endif } +void HbTumbleViewPrivate::selectCurrentIndex(const QModelIndex& index) +{ + Q_Q(HbTumbleView); + if(!mIsAnimating && !mIsScrolling) { + if(index == q->currentIndex()){ + HbAbstractViewItem *item =q->itemByIndex(index); + QPointF delta = pixelsToScroll(item,HbAbstractItemView::PositionAtCenter ); + QPointF newPos = -mContainer->pos() + delta; + checkBoundaries(newPos); + scrollByAmount(newPos - (-mContents->pos())); + mIsScrolling = false; + } + else{ + q->setCurrentIndex(index,QItemSelectionModel::SelectCurrent); + } + } +} + void HbTumbleView::scrollTo(const QModelIndex &index, ScrollHint) { #ifdef HBTUMBLE_DEBUG @@ -419,21 +577,25 @@ /*! @proto \class HbTumbleView - \this is a tumbler widget which lets the user select alphanumeric values from a predefined list of - values via vertical flicking and dragging. Typically widgets such as date picker and time picker use the + \brief HbTumbleView is a tumbler widget which lets the user select alphanumeric values from a predefined list of values via vertical flicking and dragging.
+ + Typically widgets such as date picker and time picker use the Tumbler. The Tumbler could also be used to change other values such as number code sequence, - landmark coordinates, country selection, and currency. + landmark coordinates, country selection, and currency.
Only strings can be accepted as HbTumbleView's items. - \this can be used like this: + HbTumbleView can be used, as shown in the below code snippet: \snippet{ultimatecodesnippet/ultimatecodesnippet.cpp,52} + + \image html hbdatetimepicker_date.png "Two TumbleViews(tumblers) in a datetime picker widget in d/MMMM format. One tumbler for day and the other for month." + Note:Graphics in the above image varies depending on theme. */ /*! \fn void itemSelected(int index) - This signal is emitted when an item is selected in date time picker. + This signal is emitted when an item is selected in the tumbler. \param index selected item. */ @@ -457,7 +619,7 @@ /*! HbTumbleView's constructor. - \param list to be set as data to QStringListModel. + \param list String list to be set as data to HbTumbleView's model. \parent item to set as parent. */ HbTumbleView::HbTumbleView(const QStringList &list,QGraphicsItem *parent) @@ -497,7 +659,7 @@ /*! Sets the HbTumbleView's items to the given string \a list. - \param list Items to be set as tumble view's model. + \param list Items to be set as data to HbTumbleView's model. */ void HbTumbleView::setItems(const QStringList &list) @@ -514,7 +676,7 @@ /*! Returns items in QStringList format. - \return list of items in tumbleview's model in QStringList format. + \return List of items set as data to HbTumbleView's model in QStringList format. */ QStringList HbTumbleView::items() const { @@ -528,7 +690,7 @@ /*! Sets the selection to the item at \a index. - \param index to be selected in the tumble view. + \param index of the item to be selected in the tumbler. */ void HbTumbleView::setSelected(int index) @@ -541,7 +703,7 @@ QModelIndex modelIndex = d->mModelIterator->index(index, rootIndex()); if(modelIndex.isValid()) { - d->delayedSelectCurrent(modelIndex); + d->selectCurrentIndex(modelIndex); emitActivated(modelIndex); } } @@ -549,7 +711,7 @@ /*! Returns the index of the current selected item in integer format. - \return current index selected in tumble view. + \return current index of the item selected in the tumbler. */ int HbTumbleView::selected() const { @@ -557,7 +719,6 @@ } /*! - \deprecated HbTumbleView::primitive(HbStyle::Primitive) is deprecated. @@ -653,25 +814,17 @@ */ void HbTumbleView::rowsInserted(const QModelIndex &parent,int start,int end) { + Q_D(HbTumbleView); HbListView::rowsInserted(parent,start,end); - scrollTo(currentIndex(),PositionAtCenter); -} -void HbTumbleViewPrivate::_q_delayedSelectCurrent() -{ - Q_Q(HbTumbleView); - if(!mIsAnimating && !mIsScrolling) { - if(mDelayedSelectIndex == q->currentIndex()){ - HbAbstractViewItem *item =q->itemByIndex(mDelayedSelectIndex); - QPointF delta = pixelsToScroll(item,HbAbstractItemView::PositionAtCenter ); - QPointF newPos = -mContainer->pos() + delta; - checkBoundaries(newPos); - scrollByAmount(newPos - (-mContents->pos())); - } - else{ - q->setCurrentIndex(mDelayedSelectIndex); - } + //Trigger recycle, in the scenario where item's are deleted and reinserted again. + QPointF alignedPosition = d->mContents->pos(); + Q_UNUSED(alignedPosition); + if(alignedPosition.y() > 0.0){ + alignedPosition.setY(0.0); + d->HbScrollAreaPrivate::setContentPosition(alignedPosition); } + scrollTo(currentIndex(),PositionAtCenter); } /*! @@ -727,9 +880,9 @@ } /*! - Sets the looping enabled flag to eith true or false, which makes the tumbleview to scroll in a circular way. + Sets the looping enabled flag to either true or false, which makes the tumbler to scroll in a circular way. - \param looped flag to enable curcular view. + \param looped flag to enable curcular view for the tumbler. \sa isLoopingEnabled */ @@ -745,7 +898,7 @@ /*! Returns looping enabled flag. - \return looping enabled flag. + \return looping enabled flag as boolean value. \sa setLoopingEnabled @@ -792,7 +945,7 @@ QSizeF sh=HbListView::sizeHint(which,constraint); switch(which) { case Qt::MinimumSize: - sh = QSizeF(sh.width(),HB_TUMBLE_PREFERRED_ITEMS*d->mHeight); + sh = QSizeF(sh.width(),HB_TUMBLE_PREFERRED_ITEMS*d->mHeight); break; case Qt::PreferredSize: sh = QSizeF(sh.width(),HB_TUMBLE_PREFERRED_ITEMS*d->mHeight); @@ -833,13 +986,12 @@ return; } - QPointF pt = q->mapToScene(q->boundingRect().center()); - HbAbstractViewItem *centerItem=itemAt(pt); + HbAbstractViewItem *centerItem=getCenterItem(); if(centerItem) { setPressedState(centerItem); if(centerItem->modelIndex().isValid()) { - delayedSelectCurrent(centerItem->modelIndex()); + selectCurrentIndex(centerItem->modelIndex()); q->emitActivated(centerItem->modelIndex()); } } @@ -878,10 +1030,60 @@ HbListView::rowsRemoved(parent,start,end); scrollTo(currentIndex(),PositionAtCenter); } -void HbTumbleViewPrivate::delayedSelectCurrent(const QModelIndex& index) + +/*! + \reimp +*/ +void HbTumbleView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) +{ + Q_D(const HbListView); + + QList items = d->mContainer->items(); + bool empty = items.isEmpty(); + QModelIndex rootIndex = d->mModelIterator->rootIndex(); + QModelIndex firstIndex = items.first()->modelIndex(); + QModelIndex lastIndex = items.last()->modelIndex(); + + if (!empty && + topLeft.parent() == rootIndex + /*&& firstIndex.row() <= bottomRight.row() + && topLeft.row() <= lastIndex.row()*/) { + HbAbstractItemView::dataChanged(topLeft, bottomRight); + } +} + +void HbTumbleView::gestureEvent(QGestureEvent *event) { - mDelayedSelectIndex = index; - mDelayedSelectTimer.start(DELAYED_SELECT_INTERVAL); + Q_D(HbTumbleView); + if(QTapGesture *gesture = static_cast(event->gesture(Qt::TapGesture))){ + switch(gesture->state()){ + case Qt::GestureStarted: + if(d->mIsAnimating || d->mIsScrolling){ + d->mInternalScroll = true; + HbAbstractViewItem* centerItem = d->getCenterItem(); + if(centerItem){ + d->mDelayedSelectIndex = centerItem->modelIndex(); + } + } + else{ + d->mDelayedSelectIndex = QModelIndex(); + } + break; + case Qt::GestureCanceled: + d->mInternalScroll = false; + break; + case Qt::GestureFinished: + d->mInternalScroll = false; + if(d->mDelayedSelectIndex.isValid()){ + d->selectCurrentIndex(d->mDelayedSelectIndex); + } + break; + default: + break; + + } + } + HbListView::gestureEvent(event); } #include "moc_hbtumbleview.cpp" diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/itemviews/hbtumbleview.h --- a/src/hbwidgets/itemviews/hbtumbleview.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/itemviews/hbtumbleview.h Thu May 27 13:10:59 2010 +0300 @@ -81,6 +81,8 @@ void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint) const; QVariant itemChange(GraphicsItemChange change,const QVariant &value); + void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); + void gestureEvent(QGestureEvent *event); bool event(QEvent *e); @@ -89,7 +91,6 @@ Q_DISABLE_COPY(HbTumbleView) Q_PRIVATE_SLOT(d_func(), void _q_scrollingStarted()) Q_PRIVATE_SLOT(d_func(), void _q_scrollingEnded()) - Q_PRIVATE_SLOT(d_func(), void _q_delayedSelectCurrent()) }; #endif diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/popups/hbinputdialog.cpp --- a/src/hbwidgets/popups/hbinputdialog.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/popups/hbinputdialog.cpp Thu May 27 13:10:59 2010 +0300 @@ -42,36 +42,72 @@ /*! @beta @hbwidgets - \class HbInputDialog - \brief HbInputDialog creates a modal dialog for the user to get some information in the form of text or numbers. - + \brief HbInputDialog is a convenient class for getting user inputs. Based on the \InputMode user can enter text, int, double or an IP address. InputDialog can have one or two line edit input fields. - HbInputDialog by default will have a label to display a descriptive text for the line edit input field and, - OK and Cancel buttons. + \image html inputdialog.png "An Input dialog with prompt text and a user input field." + + HbInputDialog by default will have a label to display a descriptive text which gives information on the user input field, + an edit field for entering text and,two action buttons. example code example: \code + HbInputDialog *object = new HbInputDialog(); + \endcode + + The HbDialog::open( QObject* receiver, const char* member ) method from the HbDialog is used to show the HbInputDialog. + + The open method can be attached with a SLOT of the format finished(HbAction*). When the open is used with a slot then the slot + will be invoked once the user does any action such as accept or reject (The Ok or Cancel press). + + + below is the declaration of the slot. + \code + public slots : + void dialogClosed(HbAction *action); + \endcode + + below code shows how the open method can be called using this slot. + + \code HbInputDialog *object = new HbInputDialog(parent); - object->show(); + object->open(this,SLOT(dialogClosed(HbAction*))); \endcode + + A sample slot definition is shown below - Four static convenience API's are provided: getText(), getInteger(), getDouble(), and getIp() + \code + void dialogClosed(HbAction *action) + { + HbInputDialog *dlg=static_cast(sender()); + if(dlg->actions().first() == action) { // user is clicked OK + //Get the string enter by user + QString myString = dlg->value().toString(); + //Do the action here + } + else if(dlg->actions().at(1) == action) { + // user is clicked CANCEL + } + } + \endcode + + + In HbInputDialog four static convenience API's are provided: getText(), getInteger(), getDouble(), and getIp() static API's can be used to quickly get an input from user. - \enum HbInputDialog::InputMode + \enum HbInputDialog::InputMode - \value \b TextInput When this value is set as Input mode, input dialog accepts text input in its + \value \b TextInput When this value is set as Input mode, Input Dialog accepts text input in its correspoinding line edit field. - \value \b IntInput When this value is set as Input mode, input dialog accepts Integer input in its + \value \b IntInput When this value is set as Input mode, Input Dialog accepts Integer input in its correspoinding line edit field. - \value \b RealInput When this value is set as Input mode, input dialog accepts double or float input in its + \value \b RealInput When this value is set as Input mode, Input Dialog accepts double or float input in its correspoinding line edit field. - \value \b IpInput When this value is set as Input mode, input dialog accepts Ip address as input in its + \value \b IpInput When this value is set as Input mode, Input Dialog accepts Ip address as input in its correspoinding line edit field. */ @@ -107,15 +143,15 @@ } /*! - Sets the input mode of the primary(Top/default)line edit in the query widget. - - The default InputMode is TextInput + Sets the input mode of the user field. The default InputMode is TextInput. + The other available modes are IntInput,RealInput and IpInput. \param mode. InputMode can be TextMode, IntMode, RealMode and Ip address mode. each mode will affect how the line edit filters its input. - \param row. value 0 or 1 - + \param row. This parameter indicates which row of the field.0 (by default) means the + the first user field and 1 means second user field. + \sa inputMode() */ void HbInputDialog::setInputMode(InputMode mode ,int row) @@ -125,11 +161,10 @@ } /*! - Returns input mode for top/default line edit. + Returns input mode of the user field.The default InputMode is TextInput. - The default InputMode is TextInput - - \param row. value 0 or 1 + \param row This parameter indicates which row of the field.0 means the + the first user field and 1 means second user field. \sa setInputMode() */ @@ -148,10 +183,11 @@ } /*! - Sets the prompt \a text for top/default line edit. + Sets the prompt text for the user field. This prompt text text can be very descriptive like username,password etc. - \param text. Text for the label which describes the purpose of the corresponding input line edit field. - \param row. value 0 or 1 + \param text The des + \param row This parameter indicates which row of the user field.0 (by default) means the + the first user field and 1 means second user field. \sa promtText() */ @@ -162,9 +198,10 @@ } /*! - Returns prompt text for top/default line edit. - the default is null string. - \param row. value 0 or 1 + Returns descriptive prompt text. + + \param row This parameter indicates which row of the field. 0 means the + the user field in the first row and 1 means user field in the second row. \sa setPromptText() */ @@ -175,10 +212,12 @@ } /*! - Sets the top/default line edit value in \a text format. - - \param value. user defined value for the default line edit. - \param row. value 0 or 1 + Sets the value for the user input field.The value should in sync HbInputDialog::InputMode of the field. + + \param value The value that should be presented to the user. + + \param row This parameter indicates which row of the user field.0 (by default) means the + the first user field and 1 means second user field. \sa value() */ @@ -189,9 +228,11 @@ } /*! - Returns top/default line edit value as QVariant object. - - \param row. value 0 or 1 + This returns the value of the user field row. The return type is QVariant which can be converted to + corresponding type based on HbInputDialog::InputMode of the field. + + \param row This parameter indicates which row of the user field.0 (by default) means the + the first user field and 1 means second user field \sa setValue() */ @@ -202,9 +243,10 @@ } /*! - Sets the visibility of bottom line edit and prompt text. + HbInputDialog is capable of showing one or two user input fields. This can be set using this function. + By default this is false and only first row is visible. - \param visible true or false. + \param visible true or false. If true then two user fields will be visible otherwise one. \sa isAdditionalRowVisible() */ @@ -215,8 +257,8 @@ } /*! - Returns the visibility of secondary row(bottom line edit and prompt text). - the default is false + Returns the visibility of second row user input field.The default is false. + \sa setAdditionalRowVisible() */ bool HbInputDialog::isAdditionalRowVisible() @@ -226,12 +268,16 @@ } /*! - Validator is used to validate the content and cursor movements. + + This API allows the user to set any validator to the user input field. - \param validator. Validator uses undo stack to back out invalid changes. Therefore undo + \param validator Validator uses undo stack to back out invalid changes. Therefore undo is enabled when validator is set. - \sa HbAbstractEdit::setValidator + \param row This parameter indicates which row of the user field.0 means the + the first user field and 1 means second user field + + \sa HbAbstractEdit::validator */ void HbInputDialog::setValidator(HbValidator *validator,int row) { @@ -244,9 +290,10 @@ } /*! - Returns the validator of the inputDialog's line edit. + This API returns the validator of the corresponding user input row. - \param row. A value 0 or 1 + \param row This parameter indicates which row of the user field.0 (by default) means the + the first user field and 1 means second user field \sa setValidator() */ @@ -262,9 +309,9 @@ } /*! - returns the lineEdit pointer. will return NULL if row is greater than 2. - - \param row. A value 0 or 1 + This returns the editor instance used in HbInputDialog. + \param row This parameter indicates which row of the user field.0 (by default) means the + the first user field and 1 means second user field */ HbLineEdit* HbInputDialog::lineEdit(int row) const { @@ -278,12 +325,15 @@ } /*! - sets the echo mode for the given row. + sets the echo mode for the user input fiels. The echo mode is defined in HbLineEdit. + Normal, NoEcho, Password, PasswordEchoOnEdit are the different echo modes supportted in HbLineEdit. - \param echoMode - \param row. A value 0 or 1 + \param echoMode which can be HbLineEdit::Normal, HbLineEdit::NoEcho, HbLineEdit::Password or HbLineEdit::PasswordEchoOnEdit. + + \param row This parameter indicates which row of the user field.0 (by default) means the + the first user input field and 1 means second user input field - \sa HbLineEdit::setEchoMode + \sa echoMode() , HbLineEdit::setEchoMode() */ void HbInputDialog::setEchoMode(HbLineEdit::EchoMode echoMode,int row) { @@ -322,7 +372,6 @@ /*! \reimp - Initializes \a option with the values from this HbInputDialog. */ void HbInputDialog::initStyleOption(HbStyleOptionInputDialog *option) const { @@ -334,7 +383,6 @@ /*! \reimp - updatePrimitives. */ void HbInputDialog::updatePrimitives() { @@ -352,9 +400,10 @@ } /*! - Returns the echoMode of line edit. returns -1 if row is more than 2. + Returns the echoMode of the user input field.It returns HbLineEdit::EchoMode. - \param row. A value 0 or 1 + \param row This parameter indicates which row of the user field.0 means the + the first user input field and 1 means second user input field \sa setEchoMode() */ @@ -370,16 +419,20 @@ } /*! - Static convenience function for creating an input dialog to get a string from the user. - \a label is the text which is shown to the user (it should - say what should be entered). \a text is the default text which is - placed in the line edit. If \a ok is non-null \e *\a ok will be - set to true if the user pressed \gui OK and to false if the user pressed - \gui Cancel. The dialog's parent is \a parent. The dialog will be - modal. - - This function return data has to be queried in the finished(HbAction*) slot. - + This is a static convenience function for creating an Input Dialog and to get a string data from the the user. The Application can use this + function in order to get any text data from user like username,search data etc. This API allows a slot to be passed as a param. This slot will + be invoked when the user does the action like OK press or CANCEL press. + + HbInputDialog::getText(iTitle,this,SLOT(dialogClosed(HbAction*)),iText); iTitle is the prompt text.dialogClosed will be invoked when the user does the action. + Please refer the class documentation to know how to handle the slot. + + \param label The prompt text which gives information on user input field. + \param receiver The instance where the slot is declared. + \param member The slot which has dialogClosed(HbAction*) signature. + \param text The default text that should be presented to the user. + \param scene The scene parameter. + \param parent The parent item for the dialog. + \sa getInteger(), getDouble(), getIp() */ void HbInputDialog::getText(const QString &label, @@ -402,16 +455,20 @@ /*! - Static convenience function to get an integer input from the - user.\a label is the text which is shown to the user - (it should say what should be entered). \a value is the default - integer which the spinbox will be set to. - If \a ok is non-null *\a ok will be set to true if the user - pressed \gui OK and to false if the user pressed \gui Cancel. The - dialog's parent is \a parent. The dialog will be modal. - - This function return data has to be queried in the finished(HbAction*) slot. - + This is a static convenience function for creating an Input Dialog and to get an integer data from the the user. The Application can use this + function in order to get any integer data from user like year , any number etc. This API allows a slot to be passed as a param. This slot will + be invoked when the user does the action like OK press or CANCEL press. + + HbInputDialog::getInt(iTitle,this,SLOT(dialogClosed(HbAction*)),iText); iTitle is the prompt text.dialogClosed will be invoked when the user does the action. + Please refer the class documentation to know how to handle the slot. + + \param label The prompt text which gives information on user input field. + \param receiver The instance where the slot is declared. + \param member The slot which has dialogClosed(HbAction*) signature. + \param value The default value that should be presented to the user. + \param scene The scene parameter. + \param parent The parent widget for the dialog. + \sa getText(), getDouble(), getIp() */ void HbInputDialog::getInteger(const QString &label, @@ -432,17 +489,20 @@ dlg->open(receiver,member); } /*! - Static convenience function to get a floating point number from - the user.\a label is the text which is shown to the user - (it should say what should be entered). \a value is the default - floating point number that the line edit will be set to. - - If \a ok is non-null, *\a ok will be set to true if the user - pressed \gui OK and to false if the user pressed \gui Cancel. The - dialog's parent is \a parent. The dialog will be modal. - - This function return data has to be queried in the finished(HbAction*) slot. - + This is a static convenience function for creating an Input Dialog and to get a double data from the the user. The Application can use this + function in order to get any double data from user. This API allows a slot to be passed as a param. This slot will + be invoked when the user does the action like OK press or CANCEL press. + + HbInputDialog::getDouble(iTitle,this,SLOT(dialogClosed(HbAction*)),iText); iTitle is the prompt text.dialogClosed will be invoked when the user does the action. + Please refer the class documentation to know how to handle the slot. + + \param label The prompt text which gives information on user input field. + \param receiver the instance where the slot is declared. + \param member the slot which has dialogClosed(HbAction*) signature. + \param value the default value that should be presented to the user. + \param scene the scene parameter. + \param parent the parent widget for the dialog. + \sa getText(), getInteger(), getIp() */ void HbInputDialog::getDouble(const QString &label, @@ -464,19 +524,22 @@ /*! - Static convenience function to get an ip address from - the user.\a label is the text which is shown to the user - (it should say what should be entered). \a address is the default - QHostAddress that the line edit will be set to. - - If \a ok is non-null, *\a ok will be set to true if the user - pressed \gui OK and to false if the user pressed \gui Cancel. The - dialog's parent is \a parent. The dialog will be modal. - - This function return data has to be queried in the finished(HbAction*) slot. - + This is a static convenience function for creating an Input Dialog and to get an IP information from the the user. This API allows a slot to be passed as a param. This slot will + be invoked when the user does the action like OK press or CANCEL press. + + HbInputDialog::getIp(iTitle,this,SLOT(dialogClosed(HbAction*)),iText); iTitle is the prompt text.dialogClosed will be invoked when the user does the action. + Please refer the class documentation to know how to handle the slot. + + \param label The prompt text which gives information on user input field. + \param receiver the instance where the slot is declared. + \param member the slot which has dialogClosed(HbAction*) signature. + \param ipaddress the default value that should be presented to the user. + \param scene the scene parameter. + \param parent the parent widget for the dialog. + \sa getText(), getInteger(), getDouble() */ + void HbInputDialog::getIp(const QString &label, QObject *receiver, const char *member, @@ -489,9 +552,9 @@ scene->addItem(dlg); } dlg->setPromptText(label); - dlg->setValue(ipaddress); + dlg->setValue(ipaddress); dlg->setInputMode(IpInput); dlg->open(receiver,member); } +#include "moc_hbinputdialog.cpp" -#include "moc_hbinputdialog.cpp" diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/popups/hbmessagebox.cpp --- a/src/hbwidgets/popups/hbmessagebox.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/popups/hbmessagebox.cpp Thu May 27 13:10:59 2010 +0300 @@ -165,7 +165,11 @@ @beta \class HbMessageBox - \brief HbMessageBox is a convenience modal dialog class, using which a simple information, a question, or a simple warning can be shown to the user. + \brief The HbMessageBox class provides a modal dialog for informing the user or for asking the user a question and receiving an answer. + + \image html information.PNG "An information MessageBox" + \image html question.PNG "A question MessageBox" + \image html warning.PNG "A warning MessageBox" Using HbMessageBox, the following dialogs can be created: @@ -183,6 +187,7 @@ All the three dialogs(information, warning, question) supported by MessageBox are by default modal in nature, with a dismiss policy of NoDismiss, timeout policy of NoTimeout, and with a BackgroundFade property on. + The user must click the OK/Yes/No buttons to dismiss the Message Box. Example code for launching MessageBox using static convenience functions: @@ -197,26 +202,6 @@ HbMessageBox::question(questionText, this, SLOT(onDialogClose(HbAction*)), primaryButtonText, secondaryButtonText, headWidget, scene, parent); \endcode - Example code to show an information messagebox: - - \code - HbMessageBox *box = new HbMessageBox("This is an information dialog."); - box->setAttribute(Qt::WA_DeleteOnClose); - box->open(); - \endcode - - Example code to show an information messagebox with two action buttons: - \code - HbMessageBox *box = new HbMessageBox("XX will be deleted. Do you want to Continue ? "); - - //Add new action. - box->addAction(new HbAction(HbWidget::tr("Cancel"), q)); - - box->setAttribute(Qt::WA_DeleteOnClose); - - box->open(); - \endcode - Example code to show a question messagebox with a return value based action \code HbMessageBox *box = new HbMessageBox(" Delete file IC0002 ? ",HbMessageBox::MessageTypeQuestion); diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/popups/hbprogressdialog.cpp --- a/src/hbwidgets/popups/hbprogressdialog.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/popups/hbprogressdialog.cpp Thu May 27 13:10:59 2010 +0300 @@ -231,7 +231,8 @@ \class HbProgressDialog \brief HbProgressDialog provides feedback on the progress of a slow operation. - \image html hbprogressdialog.png A progress dialog. + \image html progressdialog2.png "A normal Progress Dialog with icon and text" + \image html progressdialog2.png "A wait Progress Dialog with icon and text" ProgressDialog widget displays that a process is active and also the completion level of the process to the user. diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbprogressbar.cpp --- a/src/hbwidgets/sliders/hbprogressbar.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbprogressbar.cpp Thu May 27 13:10:59 2010 +0300 @@ -40,53 +40,65 @@ \class HbProgressBar \brief HbProgressBar widget provides a vertical and horizontal progress bar. - An infinite progressbar is also available. - - A progress bar is used to give the user an indication of the progress of an operation and to - reassure them that the application is still running. + + \image html progressbar.png "A Progress Bar with Min-Max text at bottom" + \image html infiniteprogressbar.png "An infinite progres bar" - The progress bar uses the concept of steps. User can set it up by specifying the minimum and - maximum possible step values, and it will display the percentage of steps that have been completed - when you later give it the current step value. - - The percentage is calculated by dividing the progress (progressValue() - minimum()) divided by maximum() - minimum(). + The HbProgressBar widget provides a horizontal or vertical progress bar. - User can specify the minimum and maximum number of steps with setMinimum() and setMaximum() APIs. - The current number of steps is set with setProgressValue(). + A progress bar is used to give the user an indication of the progress of an operation and to reassure them that + the application is still running. The progress bar uses the concept of steps. You set it up by specifying the + minimum and maximum possible step values, and it will display the percentage of steps that have been completed + when you later give it the current step value. The percentage is calculated by dividing the + progress (value() - minimum()) divided by maximum() - minimum(). + + By default the min value is 0 and max value is 100.If minimum and maximum both are set to 0, the bar shows a busy indicator + instead of a percentage of steps. - If minimum and maximum both are set to 0, the bar shows a busy indicator instead of a percentage of steps. - This is useful, for example, when using ftp or http to download items when they are unable to - determine the size of the item being downloaded. - - ProgressBar also supports adding text . min max text pair is also supported which is commonly - used for progress indication for music. + ProgressBar also supports adding text . Min-Max text pair is also supported which is commonly + used for progress indication for music. - \image html hbprogressbartext.png Left Aligned Text, Min Max Text. - Progress bar provides below signal. \li valueChanged(int value) Emitted when the value of the progressbar is changed. -*/ - -/*! - @beta - \fn void HbProgressBar::valueChanged(int value) - - Emitted when the value of the progressbar is changed. -*/ -/*! - @beta - \reimp - \fn int HbProgressBar::type() const - */ + Example code for creating normal ProgressBar: + \code + HbProgressBar *pb = new HbProgressBar(); + pb->setMinimum(0); + pb->setMaximum(500); + pb->setProgressValue(175); + \endcode + + Example code for creating infinite ProgressBar: + \code + HbProgressBar *pb = new HbProgressBar(); + pb->setMinimum(0); + pb->setMaximum(0); + \endcode -/*! - @beta - \enum HbProgressBar::ProgressBarType + Example code for creating normal ProgressBar with Min-Max text at Top: + \code + HbProgressBar *pb = new HbProgressBar(); + pb->setMinimum(0); + pb->setMaximum(500); + pb->setProgressValue(175); + pb->setMinMaxTextVisible(true); + pb->setMinMaxTextAlignment(Qt::AlignTop);// The possible options are Qt::AlignTop ,Qt::AlignBottom ,Qt::AlignCenter + pb->setminText("0"); + pb->setmaxText("500"); - This enum defines available progress bar types. + \endcode + + Example code for creating vertical normal ProgressBar: + \code + HbProgressBar *pb = new HbProgressBar(); + pb->setOrientation(Qt::Vertical); + pb->setMinimum(0); + pb->setMaximum(500); + pb->setProgressValue(175); + \endcode */ @@ -275,8 +287,9 @@ /*! @beta - Constructor of Progressbar. - \param parent. Parent widget + Constructs a progress bar with the given parent. + By default, the minimum step value is set to 0, and the maximum to 100. + \param parent The parent of ProgressBar */ HbProgressBar::HbProgressBar(QGraphicsItem *parent) : @@ -305,7 +318,6 @@ /*! @beta Return the inverted appearence property. - \sa setInvertedAppearance() */ bool HbProgressBar::invertedAppearance() const @@ -346,7 +358,7 @@ @beta Sets the maximum value of the progressbar. By default it is 100. - \param maximum the max value + \param maximum the maximum value \sa maximum() */ @@ -372,7 +384,7 @@ @beta Sets the minimum value of the progressbar. By default it is 0. - \param maximum the max value + \param minimum the minimum value \sa minimum() */ @@ -410,14 +422,13 @@ /*! @beta This function is provided for convenience. - Sets the progress bar's minimum and its maximum. If maximum is smaller than minimum, minimum becomes the only valid legal value. - \param minimum the minimum value - \param maximum the maximum value + \param minimum the minimum value + \param maximum the maximum value */ void HbProgressBar::setRange(int minimum, int maximum) { @@ -427,7 +438,8 @@ /*! @beta - Sets the min text string. + A text can be shown at top,bottom or left-right of the progressbar near minimum and maximum. + This will set the text near the minimum point. \param text mintext string @@ -457,7 +469,8 @@ /*! @beta - Sets the max text string. + A text can be shown at top,bottom or left-right of the progressbar near minimum and maximum. + This will set the text near the minimum point. \param text max text string @@ -596,8 +609,8 @@ } /*! - Returns the pointer for \a primitive passed. - Will return NULL if \a primitive passed is invalid + \deprecated HbProgressBar::primitive(HbStyle::Primitive) + is deprecated. */ QGraphicsItem* HbProgressBar::primitive(HbStyle::Primitive primitive) const { @@ -653,10 +666,8 @@ } /*! - Initializes \a option with the values from this HbProgressBar. This method - is useful for subclasses when they need a HbStyleOptionProgressBar, but don't - want to fill in all the information themselves. - */ + \reimp +*/ void HbProgressBar::initStyleOption(HbStyleOptionProgressBar *option) const { diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbprogressslider.cpp --- a/src/hbwidgets/sliders/hbprogressslider.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbprogressslider.cpp Thu May 27 13:10:59 2010 +0300 @@ -86,11 +86,11 @@ void HbProgressSliderPrivate::setEnableFlag(bool flag) { Q_Q(HbProgressSlider); - - HbStyleOptionProgressSlider option; + + HbStyleOptionProgressSlider option; q->initStyleOption(&option); - if(!flag) { + if(!flag) { q->setProgressValue(q->minimum()); q->setSliderValue(q->minimum()); } @@ -212,7 +212,12 @@ @beta @hbwidgets \class HbProgressSlider - \brief Constructs a basic progress slider. + \brief ProgressSlider is used to indicate the current position of a playing music or video.It can show the progress + of a progressing music or video along with the status of the buffered data. + + \image html progressslider.png "A Progress Slider with Min-Max text at bottom " + + ProgressSlider is a basic slider but the track is like a progressbar indicating how much progress has been done. its a slider with progressbar as its track with some additional behaviour. There is also a progressValue which indicates the amount of buffered data.General use @@ -220,6 +225,7 @@ progressValue as the buffered amount. HbProgressSlider is derived from HbProgressBar so it supports all the features supported by HbProgressBar. + But It supports only horizontal orientation. HbProgressSlider emits below signals @@ -231,13 +237,31 @@ sliderReleased is emits when the track is released. sliderMoved is emits when the handle is moved in any direction. + The Application can customize the Slider behaviour by listening the signals sliderPressed and sliderReleased.By default there + is no behaviour defined by HbProgressSlider for these actions. - sample code showing how this can be connected. If the Application has different use case based on - Slider press and slider release they can customize the behaviour. + By default the min value is 0 and max value is 100. The application can set the progressValue (buffer data) and + sliderValue (Progress Slider position) according to the situation. + Example code for creating and using Progress Slider: \code - HbProgressSlider *object = new HbProgressSlider(parent); + HbProgressSlider *mySlider = new HbProgressSlider(parent); connect(mySlider,SIGNAL(sliderMoved(int)), mySlider ,SLOT(setSliderValue(int))); + //This sets the buffered data progress + mySlider->setProgressValue(45); + \endcode + + + Example code for creating and using Progress Slider along with Min-Max text: + \code + HbProgressSlider *mySlider = new HbProgressSlider(parent); + connect(mySlider,SIGNAL(sliderMoved(int)), mySlider ,SLOT(setSliderValue(int))); + //This sets the buffered data progress + mySlider->setProgressValue(45); + mySlider->setMinText("0"); + mySlider->setMaxText("100"); + //This sets the slider position + mySlider->setSliderValue(20); \endcode */ @@ -275,7 +299,8 @@ /*! @beta - Constructs a progressslider with a parent. + Constructs a progress bar with the given parent. + \param parent The parent of ProgressBar */ HbProgressSlider::HbProgressSlider(HbProgressSliderPrivate &dd,QGraphicsItem *parent) : HbProgressBar( dd,parent) @@ -386,7 +411,9 @@ } } - +/*! + \reimp + */ void HbProgressSlider::mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_D(HbProgressSlider); @@ -416,7 +443,9 @@ event->ignore(); } } - +/*! + \reimp + */ void HbProgressSlider::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { Q_D(HbProgressSlider); @@ -439,19 +468,19 @@ event->ignore(); } } - +/*! + \reimp + */ void HbProgressSlider::setGeometry(const QRectF & rect) { Q_D(HbProgressSlider); HbProgressBar::setGeometry(rect); d->handle->setHandlePosForValue(sliderValue()); - updatePrimitives(); + //updatePrimitives(); } /*! - Initializes \a option with the values from this HbProgressSlider. - This method is useful for subclasses when they need a HbStyleOptionProgressSlider, - but don't want to fill in all the information themselves. + \reimp */ void HbProgressSlider::initStyleOption( HbStyleOptionProgressSlider *option ) const { @@ -468,7 +497,9 @@ option->disableState = true; } } - +/*! + \reimp + */ void HbProgressSlider::updatePrimitives() { Q_D(HbProgressSlider); @@ -503,7 +534,9 @@ } } } - +/*! + \reimp + */ void HbProgressSlider::showEvent( QShowEvent * event ) { Q_D(const HbProgressSlider); @@ -514,6 +547,9 @@ HbProgressBar::showEvent(event); } +/*! + \reimp + */ QVariant HbProgressSlider::itemChange(GraphicsItemChange change,const QVariant & value) { Q_D(HbProgressSlider); @@ -531,7 +567,9 @@ } return HbProgressBar::itemChange(change, value); } - +/*! + \reimp + */ bool HbProgressSlider::sceneEventFilter(QGraphicsItem *obj,QEvent *event) { Q_D(HbProgressSlider); @@ -554,9 +592,8 @@ /*! @beta - Sets the tooltip for the handle. By default it shows the slider value. - If the Application wants to configure this they use setSliderToolTip for - setting the new tooltip text. + Sets the tooltip for the Slider handle. By default it shows the slider value. + The application can customize the tooltip text using this API. \param text tooltip text diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbratingslider.cpp --- a/src/hbwidgets/sliders/hbratingslider.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbratingslider.cpp Thu May 27 13:10:59 2010 +0300 @@ -140,47 +140,50 @@ /*! \class HbRatingSlider - \brief A control for user to do rating. - - This is a general rating widget where user will be able to do different - ratings for things like Music ,Video etc. + \brief This is a widget through which user can do rating for videos , music etc. + \image html ratingslider.png "A Rating Slider with rating done" - By default there are 5 ratings ( 5 stars ). This can be configured also. - The interval , number of icons etc can be configured. + By default there are 5 ratings. The default rating graphics comes from theme.It supports custom graphics + also.The custom graphics should contain only 1 star.Using the API \a setNumberOfIcons() number of icons can be + configured.By default it is 5 and maximum number of icons is 10. - Apart from rating the this can used for showing cumulative rating also. + Along with the rating HbRatingSlider can be used to show the cumulative rating also. - example code example: + To use HbRatingSlider with default settings it just needs to be created. + example code: \code HbRatingSlider *object = new HbRatingSlider(parent); \endcode - The below code can be used to show some rating e.g. 2.5/5 - by default the stepcount =5 + HbRatingSlider emits below signals + + void ratingDone(int ratingValue); + void ratingChanged(int ratingValue); + ratingDone is emits when the user does the rating and releases the finger. + ratingChanged is emits when the user changes the rating by simply moving on the Rating Slider + + HbRatingSlider supports integer ratings.But using the API \a setStepCount() fraction ratings can also be + shown on Rating Slider + + The below code can be used to show some rating e.g. 2.5/5 \code + //2.5/5 can be set as 25/50 HbRatingSlider *slider = new HbRatingSlider(); - slider->setStepCount(100); //5 *20// - slider->setCurrentRating(50); //2.5*20 it shows 50 / 100 which is same as 2.5/5 + slider->setStepCount(50); //5 *10// + slider->setCurrentRating(25); //2.5*10 it shows 25/50 which is same as 2.5/5 \endcode - This will show as 2.5/5. Now if one the same ratingslider - if the Application wants to configure a rating slider with range 1-5 - on emitting the signal rating changed it can set to - slider->setStepCount(5); - slider->setCurrentRating(0) - - When the rating is done it emits a signal called ratingDone and when rating is - changed by the user by draging the pointer ratingChanged signal is emitted. - + This will show as 2.5/5. Now if on the same ratingslider + the Application wants to configure a rating slider with range 1-5 + on emitting the signal rating changed it can set to 5. */ - /*! @beta - Constructor of RatingSlider. - \param parent. Parent widget + Constructs a Rating Slider bar with the given parent. + \param parent Parent Item. */ @@ -195,8 +198,7 @@ /*! @beta - Constructor of RatingSlider. - \param parent. Parent widget + Protected constructor */ HbRatingSlider::HbRatingSlider(HbRatingSliderPrivate &dd,QGraphicsItem *parent) : HbWidget( dd,parent) @@ -232,9 +234,8 @@ /*! @beta - Sets the number of icons. In a Rating scenario you may have number of repeated icons. This API can be used to set - the number of icons required. For Example the default image is "*" and you have 5 stars. You can set the number of - stars using this. By default this value is 5. + Sets the number of icons. There can be n number of repeated icons. This method can be used to set + the number of icons required.The default image is "*" and have 5 stars. \param number. A value between 1 and 10 @@ -268,9 +269,8 @@ /*! @beta - Sets the step count for the rating slider. If the number of icons is 5 and step count is 10 then it is possible to have 10 ratings. - one rating will be half star (by default). If the number of icons is 5 and step count is 5 then 5 ratings are possible. In this - case one rating will be one complete star. By default this value is 5. + Sets the step count for the rating slider.This indicates the interval of the rating. Eg. If step count is 10 + then 10 rating is possible. \param count. A value between 1 and 100. This can be considerd as the maximum rating possible. @@ -521,6 +521,9 @@ } } #else +/*! + \reimp + */ void HbRatingSlider::mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) @@ -528,6 +531,9 @@ #endif #ifdef HB_GESTURE_FW +/*! + \reimp + */ void HbRatingSlider::gestureEvent(QGestureEvent *event) { Q_D (HbRatingSlider); @@ -671,7 +677,9 @@ updatePrimitives(); d->createLookupTable(); } - +/*! + \reimp + */ void HbRatingSlider::initStyleOption(HbStyleOption *hboption) const { Q_D( const HbRatingSlider ); @@ -710,7 +718,9 @@ return 0; } } - +/*! + \reimp + */ void HbRatingSlider::changeEvent(QEvent *event) { HbWidget::changeEvent(event); @@ -722,6 +732,9 @@ break; } } +/*! + \reimp + */ void HbRatingSlider::updatePrimitives() { Q_D(HbRatingSlider); @@ -740,7 +753,9 @@ } } - +/*! + \reimp + */ QVariant HbRatingSlider::itemChange(GraphicsItemChange change, const QVariant &value) { if(change == ItemVisibleHasChanged && value.toBool()){ diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbslider.cpp --- a/src/hbwidgets/sliders/hbslider.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbslider.cpp Thu May 27 13:10:59 2010 +0300 @@ -31,6 +31,7 @@ #include "hbsliderhandle_p.h" #include "hbstyleoptionslider_p.h" +#include "hbslidertickmarks_p.h" #include "hbslidertickmarkslabel_p.h" #include "hbabstractbutton.h" #include @@ -243,7 +244,12 @@ HbSliderPrivate::HbSliderPrivate( ) : sliderControl( 0 ), orientation( Qt::Vertical ), - pressOnIncrement( false ) + pressOnIncrement( false ), + tickmarksLeft( 0 ), // slider left/top tick mark item + tickmarksRight( 0 ),// slider right/bottom tick mark item + tickmarkslabelLeft( 0 ),// slider left/above tick mark label + tickmarkslabelRight ( 0 )// slider right/bottom tick mark label + { elementItemMap.clear(); @@ -293,6 +299,11 @@ // repolish call is required because new elements might be added } +QSizeF HbSliderPrivate::getHandleSize( ) +{ + return sliderControl ->getHandleSize(); +} + /*! This api creates widget for given element */ @@ -464,6 +475,242 @@ } + + + +void HbSliderPrivate::createTickMarks( ) +{ + Q_Q ( HbSlider); + bool modified = false; + if( q->majorTickInterval( ) <= 0) { + return; + } + if ( q->tickPosition( ) & Hb::SliderTicksLeft) { + if (!tickmarksLeft) { + tickmarksLeft = new HbSliderTickmarks(q); + tickmarksLeft->setZValue(sliderControl->zValue()-1); + tickmarksLeft->setTickPosition (Hb::SliderTicksLeft); + modified = true; + if ( orientation == Qt::Vertical ) { + HbStyle::setItemName( tickmarksLeft, "tick-marksleft" ); + } else { + HbStyle::setItemName( tickmarksLeft, "tick-marksabove" ); + } + } + + } else if ( tickmarksLeft ) { + delete tickmarksLeft; + tickmarksLeft = 0; + modified = true; + } + if ( q->tickPosition( ) & Hb::SliderTicksRight) { + if (!tickmarksRight) { + tickmarksRight = new HbSliderTickmarks(q); + tickmarksRight->setTickPosition (Hb::SliderTicksRight); + tickmarksRight->setZValue(sliderControl->zValue()-1); + modified = true; + + if ( orientation == Qt::Vertical ) { + HbStyle::setItemName( tickmarksRight, "tick-marksright" ); + } else { + HbStyle::setItemName( tickmarksRight, "tick-marksbelow" ); + } + } + } else if ( tickmarksRight ) { + delete tickmarksRight; + tickmarksRight = 0; + modified = true; + } + if ( orientation == Qt::Vertical ) { + if ( q->tickPosition( ) & Hb::SliderTicksAbsolute) { + q->setLayoutDirection (Qt::LeftToRight ); + } else { + q->unsetLayoutDirection( ); + } + } else { + q->unsetLayoutDirection( ); + } + + if ( modified) { + q->repolish( ); + } +} + + +void HbSliderPrivate::createTickLabels( ) +{ + Q_Q(HbSlider); + bool modified = false; + if( q->majorTickInterval( ) <= 0 || q->majorTickLabels( ).isEmpty( ) ) { + return; + } + if ( q->tickPosition( ) & Hb::SliderTicksLeft) { + if (!tickmarkslabelLeft) { + modified = true; + tickmarkslabelLeft = new HbSliderTickmarksLabel(q); + tickmarkslabelLeft->setTickPosition (Hb::SliderTicksLeft); + if ( orientation == Qt::Vertical ) { + HbStyle::setItemName( tickmarkslabelLeft, "tick-textsleft" ); + } else { + HbStyle::setItemName( tickmarkslabelLeft, "tick-textsabove" ); + } + } + } else if ( tickmarkslabelLeft ) { + modified = true; + delete tickmarkslabelLeft; + tickmarkslabelLeft = 0; + } + if ( q->tickPosition( ) & Hb::SliderTicksRight) { + if (!tickmarkslabelRight) { + modified = true; + tickmarkslabelRight = new HbSliderTickmarksLabel(q); + tickmarkslabelRight->setTickPosition (Hb::SliderTicksRight); + if ( orientation == Qt::Vertical ) { + HbStyle::setItemName( tickmarkslabelRight, "tick-textsright" ); + } else { + HbStyle::setItemName( tickmarkslabelRight, "tick-textsbelow" ); + } + } + } else if ( tickmarkslabelRight ) { + delete tickmarkslabelRight; + modified = true; + tickmarkslabelRight = 0; + } + if ( orientation == Qt::Vertical ) { + if ( q->tickPosition( ) & Hb::SliderTicksAbsolute) { + q->setLayoutDirection (Qt::LeftToRight ); + } + } + if ( modified ) { + q->repolish( ); + } +} + + +void HbSliderPrivate::setTickOrientation() +{ + Q_Q(HbSlider); + if ( orientation == Qt::Vertical ) { + if ( tickmarksLeft ) { + HbStyle::setItemName( tickmarksLeft, "tick-marksleft" ); + } + if ( tickmarksRight) { + HbStyle::setItemName( tickmarksRight, "tick-marksright" ); + } + if (tickmarkslabelLeft ) { + HbStyle::setItemName( tickmarkslabelLeft, "tick-textsleft" ); + } + if (tickmarkslabelRight ) { + HbStyle::setItemName( tickmarkslabelRight, "tick-textsright" ); + } + if ( q->tickPosition( )&Hb::SliderTicksAbsolute) { + q->setLayoutDirection (Qt::LeftToRight); + } + } else { + if ( tickmarksLeft ) { + HbStyle::setItemName( tickmarksLeft, "tick-marksabove" ); + } + if ( tickmarksRight) { + HbStyle::setItemName( tickmarksRight, "tick-marksbelow" ); + } + if (tickmarkslabelLeft ) { + HbStyle::setItemName( tickmarkslabelLeft, "tick-textsabove" ); + } + if (tickmarkslabelRight ) { + HbStyle::setItemName( tickmarkslabelRight, "tick-textsbelow" ); + } + q->unsetLayoutDirection( ); + + + } + +} + + + + + +/*! + \internal + Updates tick and Label. + */ +void HbSliderPrivate::updateTickMarks( ) +{ + if (tickmarksLeft) { + tickmarksLeft->updateTicks(); + } + if (tickmarksRight) { + tickmarksRight->updateTicks(); + } +} + + +/*! + \internal + Updates tick and Label. + */ +void HbSliderPrivate::updateTickLabels( ) +{ + if( tickmarkslabelLeft ) { + tickmarkslabelLeft->updateTickLabels(); + } + if( tickmarkslabelRight ) { + tickmarkslabelRight->updateTickLabels( ); + } +} + + +/*! + \internal + Updates tick and Label. + */ +void HbSliderPrivate::deleteTickMarks( ) +{ + Q_Q ( HbSlider ); + bool deleted = false; + if (tickmarksLeft) { + delete tickmarksLeft; + tickmarksLeft = 0; + deleted = true; + } + if (tickmarksRight) { + delete tickmarksRight; + tickmarksRight = 0; + deleted = true; + } + if ( deleted ) { + q->repolish( ); + } + +} + + +/*! + \internal + Updates tick and Label. + */ +void HbSliderPrivate::deleteTickLabels( ) +{ + + Q_Q(HbSlider); + bool deleted = false; + if (tickmarkslabelLeft) { + delete tickmarkslabelLeft; + tickmarkslabelLeft = 0; + deleted = true; + + } + if (tickmarkslabelRight) { + delete tickmarkslabelRight; + tickmarkslabelRight = 0; + deleted = true; + } + if (deleted) { + q->repolish( ); + } + + } + #ifdef HB_EFFECTS /*! @@ -551,7 +798,7 @@ } /*! - @proto + @beta Returns the list of slider elements as QVariant \note it is safe to type-cast element to HbSlider::SliderElement. @@ -571,7 +818,7 @@ } /*! - @proto + @beta Sets the elements of the slider. \note Duplicate elements will be ignored. @@ -603,7 +850,7 @@ } /*! - @proto + @beta Sets the icons for elements key of \a elements is element name and value is icon @@ -658,7 +905,7 @@ } /*! - @proto + @beta Returns the map , which consist of element name as key and icon name as value returns NULL map if none of the element has icon @@ -963,7 +1210,8 @@ if ( d->orientation != orientation ) { d->orientation = orientation; d->sliderControl->setOrientation( orientation ); - repolish(); + d->setTickOrientation( ); + repolish( ); } } @@ -1290,6 +1538,8 @@ Q_D( HbSlider ); d->sliderControl->setTickPosition( position ); d->setTickLabelPresentProperty( ); + d->createTickMarks( ); + d->createTickLabels( ); } /*! @@ -1346,6 +1596,16 @@ { Q_D( HbSlider ); d->sliderControl->setMajorTickInterval( interval ); + if (interval <=0 ) { + d->deleteTickMarks( ); + d->deleteTickLabels( ); + } + else { + d->createTickMarks( ); + d->createTickLabels( ); + d->updateTickMarks( ); + d->updateTickLabels( ); + } d->setTickLabelPresentProperty( ); } @@ -1377,6 +1637,8 @@ { Q_D( HbSlider ); d->sliderControl->setMinorTickInterval( interval ); + d->updateTickMarks( ); + d->updateTickLabels( ); d->setTickLabelPresentProperty( ); } @@ -1408,7 +1670,7 @@ /*! - @proto + @beta Sets whether to display progress track or not \default value is true @@ -1424,7 +1686,7 @@ } /*! - @proto + @beta returns whether progress track is visible or not \sa setTrackFilled( ) @@ -1478,7 +1740,13 @@ { Q_D( HbSlider ); d->sliderControl->setMajorTickLabels( majorTickLabels ); - d->setTickLabelPresentProperty( ); + if(majorTickLabels.isEmpty( )) { + d->deleteTickLabels( ); + } else { + d->createTickLabels( ); + d->updateTickLabels( ); + d->setTickLabelPresentProperty( ); + } } /*! @@ -1504,6 +1772,7 @@ { Q_D( HbSlider ); d->sliderControl->setMinorTickLabels( minorTickLabels ); + d->updateTickLabels( ); d->setTickLabelPresentProperty( ); } diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbslider.h --- a/src/hbwidgets/sliders/hbslider.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbslider.h Thu May 27 13:10:59 2010 +0300 @@ -194,10 +194,14 @@ private: Q_DECLARE_PRIVATE_D(d_ptr, HbSlider) Q_DISABLE_COPY(HbSlider) + friend class HbSliderTickmarks; + friend class HbSliderTickmarksLabel; + #ifdef HB_EFFECTS Q_PRIVATE_SLOT(d_func(), void _q_startIconPressedEffect()) Q_PRIVATE_SLOT(d_func(), void _q_startIconReleasedEffect()) Q_PRIVATE_SLOT(d_func(), void _q_startTextClickEffect()) + #endif }; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbslider_p.h --- a/src/hbwidgets/sliders/hbslider_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbslider_p.h Thu May 27 13:10:59 2010 +0300 @@ -29,9 +29,12 @@ #include "hbwidget_p.h" #include +#include class HbSliderControl; class QGraphicsItem; +class HbSliderTickmarksLabel; +class HbSliderTickmarks; struct ItemPrimitive { @@ -50,11 +53,27 @@ void init(); void setElements( QList elementList); void elementWidget(HbSlider::SliderElement element); + QSizeF getHandleSize( ); void updateElements(); void startIncrementing(); void startDecrementing(); void stopRepeatAction(); void setTickLabelPresentProperty(); + void updateTickMarks(); + void updateTickLabels(); + void deleteTickMarks(); + void deleteTickLabels(); + void createTickMarks( ); + void createTickLabels( ); + void setTickOrientation( ); + +public: + static HbSliderPrivate *d_ptr(HbSlider *slider) { + Q_ASSERT(slider); + return slider->d_func(); + } + + #ifdef HB_EFFECTS void _q_startIconPressedEffect(); @@ -72,6 +91,12 @@ QString thumbPath; bool pressOnIncrement; QMap elementItemMap; + HbSliderTickmarks *tickmarksLeft; + HbSliderTickmarks *tickmarksRight; + HbSliderTickmarksLabel *tickmarkslabelLeft; + HbSliderTickmarksLabel *tickmarkslabelRight; + friend class HbSliderTickmarks; + friend class HbSliderTickmarksLabel; }; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbslidercontrol.cpp --- a/src/hbwidgets/sliders/hbslidercontrol.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbslidercontrol.cpp Thu May 27 13:10:59 2010 +0300 @@ -62,10 +62,6 @@ minorTickInterval( 0 ),// minor tick interval groove( 0 ), //slider groove progressGroove( 0 ),//progress mask top of groove - tickmarksLeft( 0 ), // slider left/top tick mark item - tickmarksRight( 0 ),// slider right/bottom tick mark item - tickmarkslabelLeft( 0 ),// slider left/above tick mark label - tickmarkslabelRight ( 0 ),// slider right/bottom tick mark label displayCurrValueToolTip( true ), // holds whether to show current value tooltip or not toolTipAlignment( Qt::AlignTop|Qt::AlignRight ), // tooltip alignment groovePressed( false ), // hold whether groove is pressed or not @@ -129,57 +125,10 @@ q->setFlags( QGraphicsItem::ItemIsFocusable ); } -/*! - \internal - Updates tick and Label. - */ -void HbSliderControlPrivate::updateTickAndLabel( ) -{ - if (tickmarksLeft) { - tickmarksLeft->updateTicks(); - } - if (tickmarksRight) { - tickmarksRight->updateTicks(); - } - if( tickmarkslabelLeft ) { - tickmarkslabelLeft->updateTickLabels(); - } - if( tickmarkslabelRight ) { - tickmarkslabelRight->updateTickLabels( ); - } -} /*! \internal - Updates tick and Label. - */ -void HbSliderControlPrivate::deleteTickAndLabel( ) -{ - if (tickmarksLeft) { - delete tickmarksLeft; - tickmarksLeft = 0; - - } - if (tickmarksRight) { - delete tickmarksRight; - tickmarksRight = 0; - } - - - if( tickmarkslabelLeft ) { - delete tickmarkslabelLeft; - tickmarkslabelLeft = 0; - } - if( tickmarkslabelRight ) { - delete tickmarkslabelRight; - tickmarkslabelRight = 0; - } - -} - -/*! - \internal This is used to create the handle, is virtual and can be overridden to create different handle. */ HbSliderHandle *HbSliderControlPrivate::createHandle() @@ -323,92 +272,6 @@ return ( q->sliderPosition( ) ); } -void HbSliderControlPrivate::createSliderTicks( ) -{ - - Q_Q ( HbSliderControl); - if (! tickmarksLeft) { - tickmarksLeft = new HbSliderTickmarks(q); - tickmarksLeft->setTickPosition (Hb::SliderTicksLeft); - } - if (!tickmarksRight) { - tickmarksRight = new HbSliderTickmarks(q); - tickmarksRight->setTickPosition ( Hb::SliderTicksRight); - } - if ( orientation == Qt::Vertical ) { - HbStyle::setItemName( tickmarksLeft, "tick-marksleft" ); - HbStyle::setItemName( tickmarksRight, "tick-marksright" ); - } else { - HbStyle::setItemName( tickmarksLeft, "tick-marksabove" ); - HbStyle::setItemName( tickmarksRight, "tick-marksbelow" ); - } -} - -void HbSliderControlPrivate::positionTickMarks( ) -{ - Q_Q (HbSliderControl); - if (!tickmarksLeft||!tickmarksRight) { - return; - } - // SliderTickLeft and SliderTicksAbove value is same - if ( tickPosition & Hb::SliderTicksLeft) { - tickmarksLeft->createIcons(true); - } else { - tickmarksLeft->createIcons(false); - } - if ( tickPosition & Hb::SliderTicksRight ) { - tickmarksRight->createIcons(true); - } else { - tickmarksRight->createIcons(false); - } - if ( orientation == Qt::Vertical ) { - if ( tickPosition & Hb::SliderTicksAbsolute) { - q->setLayoutDirection (Qt::LeftToRight ); - } - } -} - -void HbSliderControlPrivate::createSliderTickLabels( ) -{ - Q_Q(HbSliderControl); - if (! tickmarkslabelLeft) { - tickmarkslabelLeft = new HbSliderTickmarksLabel(q); - tickmarkslabelLeft->setTickPosition (Hb::SliderTicksLeft); - } - if (!tickmarkslabelRight) { - tickmarkslabelRight = new HbSliderTickmarksLabel(q); - tickmarkslabelRight->setTickPosition (Hb::SliderTicksRight ); - } - if ( orientation == Qt::Horizontal ) { - HbStyle::setItemName( tickmarkslabelLeft, "tick-textsabove" ); - HbStyle::setItemName( tickmarkslabelRight, "tick-textsbelow" ); - } else { - HbStyle::setItemName( tickmarkslabelLeft, "tick-textsleft" ); - HbStyle::setItemName( tickmarkslabelRight, "tick-textsright" ); - } - -} - - -void HbSliderControlPrivate::positionTickMarksLabel( ) -{ - if (!tickmarkslabelLeft||!tickmarkslabelRight) { - return; - } - // SliderTickLeft and SliderTicksAbove value is same - if ( tickPosition & Hb::SliderTicksLeft) { - tickmarkslabelLeft->createText(true); - } else { - tickmarkslabelLeft->createText(false); - } - if ( tickPosition & Hb::SliderTicksRight ) { - tickmarkslabelRight->createText(true); - } else { - tickmarkslabelRight->createText(false); - } -} - - /*! Constructs a slider control with \a parent. */ @@ -482,26 +345,7 @@ Q_D( HbSliderControl ); if ( d->tickPosition != position ) { d->tickPosition = position; - unsetLayoutDirection( ); - if ( position == Hb::NoSliderTicks) { - d->deleteTickAndLabel( ); - } else { - if ( (!d->tickmarksLeft || !d->tickmarksRight) && d->majorTickInterval > 0) { - d->createSliderTicks( ); - d->positionTickMarks( ); - repolish( ); - - } - if ( (!d->tickmarkslabelLeft || !d->tickmarkslabelRight) && d->majorTickInterval > 0 && - (!d->majorLabel.isEmpty( ) || (!d->minorLabel.isEmpty( ) && d->minorTickInterval > 0) ) ) { - d->createSliderTickLabels( ); - d->positionTickMarksLabel ( ); - repolish( ); - } - d->positionTickMarks( ); - d->positionTickMarksLabel( ); - } - } + } } /*! @@ -531,29 +375,7 @@ Q_D( HbSliderControl ); if ( d->majorTickInterval != interval ) { d->majorTickInterval = qAbs ( interval ); - if (interval <= 0 ) { - d->deleteTickAndLabel(); - repolish(); - } else if( d->tickPosition!=Hb::NoSliderTicks) { - if( !d->tickmarksLeft || !d->tickmarksRight) { - d->createSliderTicks( ); - d->positionTickMarks( ); - repolish( ); - } else { - d->tickmarksLeft->updateTicks( ); - d->tickmarksRight->updateTicks( ); - } - if ( (!d->tickmarkslabelRight || !d->tickmarkslabelLeft) && (!d->majorLabel.isEmpty( ) || - (d->minorTickInterval >0 &&! d->minorLabel.isEmpty( )))) { - d->createSliderTickLabels( ); - d->positionTickMarksLabel( ); - repolish( ); - } - if ( d->snappingMode == MajorTickSnapping ) { - updateSliderPosToTick( ); - } - } } } @@ -582,15 +404,6 @@ Q_D( HbSliderControl ); if ( d->minorTickInterval != interval ) { d->minorTickInterval = qAbs ( interval ); - if ( d->tickmarksLeft && d->tickmarksRight ) { - d->tickmarksLeft->updateTicks( ); - d->tickmarksRight->updateTicks( ); - } - if ( d->majorTickInterval > 0 && ( !d->minorLabel.isEmpty() && d->minorTickInterval > 0) && - (!d->tickmarkslabelLeft || !d->tickmarkslabelRight) && d->tickPosition!=Hb::NoSliderTicks) { - d->createSliderTickLabels( ); - repolish( ); - } if ( d->snappingMode == MinorTickSnapping && d->minorTickInterval > 0 && d->tickPosition!= Hb::NoSliderTicks ) { updateSliderPosToTick( ); } @@ -638,28 +451,7 @@ { Q_D( HbSliderControl ); d->majorLabel = majorTickLabels; - if (d->majorLabel.isEmpty( ) && (d->minorLabel.isEmpty( )|| d->minorTickInterval <=0) ) { - if (d->tickmarkslabelLeft) { - delete d->tickmarkslabelLeft; - d->tickmarkslabelLeft =0; - } - if( d->tickmarkslabelRight) { - delete d->tickmarkslabelRight; - d->tickmarkslabelRight =0; - } - repolish( ); - } else { - if ((!d->tickmarkslabelLeft || !d->tickmarkslabelRight) && !d->majorLabel.isEmpty( ) && - d->majorTickInterval > 0 && d->tickPosition!=Hb::NoSliderTicks) { - d->createSliderTickLabels( ); - d->positionTickMarksLabel( ); - repolish( ); - } else if ( d->tickmarkslabelLeft && d->tickmarkslabelRight ) { - d->tickmarkslabelLeft->updateTickLabels( ); - d->tickmarkslabelRight->updateTickLabels( ); - } - } } /*! @@ -684,25 +476,6 @@ { Q_D( HbSliderControl ); d->minorLabel = minorTickLabels; - if (d->majorLabel.isEmpty( ) && (d->minorLabel.isEmpty( )|| d->minorTickInterval <=0) ) { - if (d->tickmarkslabelLeft) { - delete d->tickmarkslabelLeft; - } - if( d->tickmarkslabelRight) { - delete d->tickmarkslabelRight; - } - repolish( ); - - } else { - if ((!d->tickmarkslabelLeft || !d->tickmarkslabelRight) && - d->majorTickInterval > 0 && d->tickPosition!=Hb::NoSliderTicks) { - d->createSliderTickLabels( ); - repolish( ); - } else if ( d->tickmarkslabelLeft && d->tickmarkslabelRight) { - d->tickmarkslabelLeft->updateTickLabels( ); - d->tickmarkslabelRight->updateTickLabels( ); - } - } } @@ -786,7 +559,6 @@ switch ( event->type( ) ) { case QEvent::LayoutDirectionChange: d->adjustHandle( ); - d->updateTickAndLabel( ); break; case QEvent::StyleChange: // HbSlider::boundingRect( ) result depends on current style @@ -1076,7 +848,26 @@ setSliderPosition( pressValue ); triggerAction( SliderMove ); setRepeatAction( SliderNoAction, pressValue ); + HbWidgetFeedback::triggered( this, Hb::InstantReleased ); + if ( d->groovePressed ) { +#ifdef HB_EFFECTS + if( orientation( ) == Qt::Horizontal ) { + HbEffectInternal::add( HB_SLIDERCONTROL_TYPE,"slider_h_trackrelease", "h_trackrelease" ); + HbEffect::start( d->groove, HB_SLIDERCONTROL_TYPE, "h_trackrelease" ); + } else { + HbEffectInternal::add( HB_SLIDERCONTROL_TYPE,"slider_v_trackrelease", "v_trackrelease" ); + HbEffect::start( d->groove, HB_SLIDERCONTROL_TYPE, "v_trackrelease" ); + } +#endif + HbStyleOptionSlider opt; + d->groovePressed = false; + initStyleOption( &opt ); + // update primitive from press to normal + style( )->updatePrimitive( d->groove, HbStyle::P_Slider_groove, &opt ); } + } + break; + case Qt::GestureCanceled: { if ( d->groovePressed ) { #ifdef HB_EFFECTS @@ -1095,6 +886,8 @@ style( )->updatePrimitive( d->groove, HbStyle::P_Slider_groove, &opt ); } } + break; + default: break; } @@ -1145,8 +938,18 @@ HbWidgetFeedback::triggered( this, Hb::InstantPressed ); event->ignore(); break; - } + } else { + setSliderDown( false ); + d->groovePressed = false; + updatePrimitives( ); + d->handle->updatePrimitives(); + d->handleMoving = false; + event->ignore(); + HbAbstractSliderControl::gestureEvent(event); + } + } + break; case Qt::GestureFinished: case Qt::GestureCanceled: { setSliderDown( false ); @@ -1157,6 +960,7 @@ event->ignore(); HbAbstractSliderControl::gestureEvent(event); } + break; default: break; } @@ -1208,7 +1012,6 @@ updatePrimitives( ); repolish(); d->adjustHandle( ); - d->updateTickAndLabel( ); } /*! reimp @@ -1216,16 +1019,12 @@ */ void HbSliderControl::polish( HbStyleParameters& params ) { - Q_D( HbSliderControl ); HbStyleOptionSlider option; initStyleOption( &option ); HbAbstractSliderControl::polish( params ); d->adjustHandle( ); - d->updateTickAndLabel(); updatePrimitives( ); - - } /*! @@ -1331,7 +1130,7 @@ } } -bool HbSliderControl::handleVisible() const +bool HbSliderControl::handleVisible( ) const { Q_D( const HbSliderControl ); return d->handle->isVisible(); @@ -1347,52 +1146,16 @@ d->adjustHandle( ); if ( change == SliderOrientationChange ) { //Layout is not mirrored in vertical orientation with absolute ticks - if ( d->orientation == Qt::Horizontal ) { - } else if ( d->tickPosition&Hb::SliderTicksAbsolute) { - setLayoutDirection (Qt::LeftToRight); - } if(d->orientation ==Qt::Horizontal) { - unsetLayoutDirection( ); if (!d->userDefinedTooltipAlign) { d->toolTipAlignment = ( Qt::AlignTop|Qt::AlignHCenter ); } - setProperty("orientation",(Qt::Orientation)1); - if ( d->tickmarksLeft && d->tickmarksRight) { - HbStyle::setItemName( d->tickmarksLeft, "tick-marksabove" ); - HbStyle::setItemName( d->tickmarksRight, "tick-marksbelow" ); - } - if ( d->tickmarkslabelLeft && d->tickmarkslabelRight ) { - HbStyle::setItemName( d->tickmarkslabelLeft, "tick-textsabove" ); - HbStyle::setItemName( d->tickmarkslabelRight, "tick-textsbelow" ); - } - } else { - setProperty("orientation",(Qt::Orientation)2); - if ( d->tickPosition & Hb::SliderTicksAbsolute) { - setLayoutDirection (Qt::LeftToRight); - } if (!d->userDefinedTooltipAlign) { d->toolTipAlignment = ( Qt::AlignTop|Qt::AlignRight ); } - if ( d->tickmarksLeft && d->tickmarksRight) { - HbStyle::setItemName( d->tickmarksLeft, "tick-marksleft" ); - HbStyle::setItemName( d->tickmarksRight, "tick-marksright" ); - if ( d->tickPosition & Hb::SliderTicksAbsolute ) { - setLayoutDirection (Qt::LeftToRight ); - } - } - if ( d->tickmarkslabelLeft && d->tickmarkslabelRight ) { - HbStyle::setItemName( d->tickmarkslabelLeft, "tick-textsleft" ); - HbStyle::setItemName( d->tickmarkslabelRight, "tick-textsright" ); - } - } repolish( ); - if ( d->tickmarkslabelLeft && d->tickmarkslabelRight ) { - d->tickmarkslabelLeft->updateTickLabels( ); - d->tickmarkslabelRight->updateTickLabels( ); - } - } } @@ -1569,6 +1332,17 @@ return d->trackHandlingEnable ; } +/*! + Gets the size of the handle + */ + +QSizeF HbSliderControl::getHandleSize ( ) +{ + Q_D( HbSliderControl ); + return d->handle->size( ) ; +} + + void HbSliderControl::setTrackFilled(bool trackVisible ) { diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbslidercontrol_p.h --- a/src/hbwidgets/sliders/hbslidercontrol_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbslidercontrol_p.h Thu May 27 13:10:59 2010 +0300 @@ -98,6 +98,7 @@ void setTrackFilled(bool trackVisible ); bool isTrackFilled() const; + QSizeF getHandleSize() ; public slots: void updateTheme(); diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbslidercontrol_p_p.h --- a/src/hbwidgets/sliders/hbslidercontrol_p_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbslidercontrol_p_p.h Thu May 27 13:10:59 2010 +0300 @@ -49,17 +49,11 @@ void adjustHandle(); bool onHandle(QPointF pos); int getNearbyTick(); - void updateTickAndLabel(); - void deleteTickAndLabel(); - virtual HbSliderHandle *createHandle(); virtual QGraphicsItem *createGroove(); virtual QGraphicsItem *createProgressGroove(); - void createSliderTicks( ); - void positionTickMarks( ); - void createSliderTickLabels( ); - void positionTickMarksLabel ( ); + HbSliderHandle *handle; Hb::SliderTickPositions tickPosition; HbSliderControl::SnappingMode snappingMode; @@ -67,10 +61,8 @@ int minorTickInterval; QGraphicsItem *groove; QGraphicsItem *progressGroove; - HbSliderTickmarks *tickmarksLeft; - HbSliderTickmarks *tickmarksRight; - HbSliderTickmarksLabel *tickmarkslabelLeft; - HbSliderTickmarksLabel *tickmarkslabelRight; + + bool displayCurrValueToolTip; QPointF oldPos; Qt::Alignment toolTipAlignment; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbsliderhandle.cpp --- a/src/hbwidgets/sliders/hbsliderhandle.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbsliderhandle.cpp Thu May 27 13:10:59 2010 +0300 @@ -319,9 +319,8 @@ */ void HbSliderHandle::gestureEvent(QGestureEvent *event) -{ +{ Q_UNUSED(event); - // HbWidgetBase::gestureEvent() ignores, overriding to accept } /*! diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbslidertickmarks.cpp --- a/src/hbwidgets/sliders/hbslidertickmarks.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbslidertickmarks.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,14 +25,25 @@ #include "hbslidertickmarks_p.h" #include "hbwidget_p.h" -#include "hbslidercontrol_p.h" #include "hbsliderhandle_p.h" +#include "hbslider_p.h" #include #include #include #include #include +#include #include +#include +#include +#include + + +#ifdef HB_EFFECTS +#include "hbeffect.h" +#include "hbeffectinternal_p.h" +#define HB_SLIDER_TYPE "HB_SLIDER" +#endif @@ -46,11 +57,10 @@ public: HbSliderTickmarksPrivate(); void createTicks( ); - void updateTickSize( ); HbStyleOptionSlider sliderOption; QList tickmarkmajorIcons; QList tickmarkminorIcons; - HbSliderControl *sliderControl; + HbSlider *slider; Hb::SliderTickPositions tickPosition; bool createIcons; int majorTickWidth; @@ -63,7 +73,7 @@ HbSliderTickmarksPrivate::HbSliderTickmarksPrivate() :HbWidgetPrivate(){ tickmarkmajorIcons.clear(); tickmarkminorIcons.clear(); - sliderControl = 0; + slider = 0; tickPosition = Hb::NoSliderTicks; createIcons = true; majorTickWidth = 0; @@ -79,10 +89,10 @@ if(!createIcons){ return; } - int minimum = sliderControl->minimum(); - int maximum = sliderControl->maximum(); - int majorTickInterval = sliderControl->majorTickInterval ( ); - int minorTickInterval = sliderControl->minorTickInterval ( ); + int minimum = slider->minimum(); + int maximum = slider->maximum(); + int majorTickInterval = slider->majorTickInterval ( ); + int minorTickInterval = slider->minorTickInterval ( ); if (majorTickInterval) { int totalMajorTicks = ((maximum-minimum)/majorTickInterval)+1; int majorIconListLength = tickmarkmajorIcons.length(); @@ -128,19 +138,6 @@ q->setProperty("state", "normal"); } -void HbSliderTickmarksPrivate::updateTickSize() -{ - for(int i=0;isetMinimumSize(majorTickWidth,majorTickHeight); - tickmarkmajorIcons.at(i)->setMaximumSize(majorTickWidth,majorTickHeight); - } - for(int i=0;isetMinimumSize(minorTickWidth,minorTickHeight); - tickmarkminorIcons.at(i)->setMaximumSize(minorTickWidth,minorTickHeight); - } - - -} void HbSliderTickmarks::resizeEvent(QGraphicsSceneResizeEvent *event) { @@ -163,7 +160,7 @@ { Q_D( HbSliderTickmarks ); d->q_ptr = this; - d->sliderControl=dynamic_cast( parentItem() ); + d->slider=dynamic_cast( parentItem() ); d->createTicks(); } @@ -174,26 +171,7 @@ { } -void HbSliderTickmarks::createIcons( bool create ) -{ - Q_D(HbSliderTickmarks); - d->createIcons = create; - if (!create) { - while ( d->tickmarkmajorIcons.length() > 0) { - QGraphicsWidget *iconItem = d->tickmarkmajorIcons.at(0); - d->tickmarkmajorIcons.removeAll(iconItem); - delete iconItem; - } - while ( d->tickmarkminorIcons.length() > 0) { - QGraphicsWidget *iconItem = d->tickmarkminorIcons.at(0); - d->tickmarkminorIcons.removeAll(iconItem); - delete iconItem; - } - } else { - d->createTicks(); - } - } /*! updates the ticks whenever there is change in position or number of ticks */ @@ -205,22 +183,27 @@ return; } d->createTicks(); - d->updateTickSize(); - int minimum = d->sliderControl->minimum(); - int maximum = d->sliderControl->maximum(); - int majorTickInterval = d->sliderControl->majorTickInterval ( ); - int minorTickInterval = d->sliderControl->minorTickInterval ( ); + int minimum = d->slider->minimum(); + int maximum = d->slider->maximum(); + int majorTickInterval = d->slider->majorTickInterval ( ); + int minorTickInterval = d->slider->minorTickInterval ( ); qreal span = 0; - bool rtlLayout = (((d->sliderControl->orientation()!=Qt::Vertical)&& + bool rtlLayout = (((d->slider->orientation()!=Qt::Vertical)&& (HbApplication::layoutDirection() == Qt::LeftToRight))?false:true); - HbSliderHandle *handle = dynamic_cast (d->sliderControl->primitive (HbStyle::P_Slider_thumb)); - if ( d->sliderControl->orientation() == Qt::Horizontal) { - span = d->sliderControl->size().width(); - span-=handle->size().width(); + HbSliderPrivate *sliderPrivate = dynamic_cast(HbSliderPrivate::d_ptr(d->slider)); + QSizeF handleSize(0.0,0.0); + if( sliderPrivate) { + handleSize = sliderPrivate->getHandleSize( ); + } else { + return; } - if ( d->sliderControl->orientation() == Qt::Vertical) { - span = d->sliderControl->size().height(); - span-=handle->size().height(); + if ( d->slider->orientation() == Qt::Horizontal) { + span = boundingRect().width(); + span-=handleSize.width(); + } + if ( d->slider->orientation() == Qt::Vertical) { + span = boundingRect().height(); + span-=handleSize.height(); } if (majorTickInterval) { int totalMajorTicks = ((maximum-minimum)/majorTickInterval)+1; @@ -228,22 +211,20 @@ QGraphicsWidget *iconItem = d->tickmarkmajorIcons.at ( i); HbStyleOptionSlider opt; initStyleOption(&opt); - opt.orientation = d->sliderControl->orientation(); + opt.orientation = d->slider->orientation(); style()->updatePrimitive(iconItem,HbStyle::P_SliderTickMark_majoricon,&opt); int pos = QStyle::sliderPositionFromValue( minimum, maximum, minimum+majorTickInterval*i,static_cast( span ), rtlLayout ); - if ( d->sliderControl->orientation() == Qt::Horizontal) { - qreal correctedPosX = handle->size().width()/2+pos; - qreal correctedPosY = 0; - iconItem->setPos ( correctedPosX,correctedPosY ); - iconItem->update(); + qreal correctedPosX = 0; + qreal correctedPosY = 0; + if ( d->slider->orientation() == Qt::Horizontal) { + correctedPosX = handleSize.width()/2+pos; } else { - qreal correctedPosY = handle->size().height()/2+pos; - qreal correctedPosX =0; - iconItem->setPos ( correctedPosX,correctedPosY ); - iconItem->update(); + correctedPosY = handleSize.height()/2+pos; } + iconItem->setGeometry (QRectF( correctedPosX,correctedPosY ,d->majorTickWidth,d->majorTickHeight)); + iconItem->update(); } } if (minorTickInterval) { @@ -259,24 +240,20 @@ minorIndex++; HbStyleOptionSlider opt; initStyleOption(&opt); - opt.orientation = d->sliderControl->orientation(); + opt.orientation = d->slider->orientation(); style()->updatePrimitive(iconItem,HbStyle::P_SliderTickMark_minoricon,&opt); int pos = QStyle::sliderPositionFromValue( minimum, maximum, minimum+minorTickInterval*i,static_cast( span ), rtlLayout ); - - if ( d->sliderControl->orientation() == Qt::Horizontal) { - qreal correctedPosX = handle->size().width()/2+pos; - qreal correctedPosY = 0; - iconItem->setPos ( correctedPosX,correctedPosY ); - iconItem->update(); + qreal correctedPosX = 0; + qreal correctedPosY = 0; + if ( d->slider->orientation() == Qt::Horizontal) { + correctedPosX = handleSize.width()/2+pos; } else { - qreal correctedPosY = handle->size().height()/2+pos; - qreal correctedPosX =0; - iconItem->setPos ( correctedPosX,correctedPosY ); - iconItem->update(); - + correctedPosY = handleSize.height()/2+pos; } + iconItem->setGeometry (QRectF( correctedPosX,correctedPosY ,d->majorTickWidth,d->majorTickHeight)); + iconItem->update(); } } } diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbslidertickmarks_p.h --- a/src/hbwidgets/sliders/hbslidertickmarks_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbslidertickmarks_p.h Thu May 27 13:10:59 2010 +0300 @@ -40,19 +40,13 @@ explicit HbSliderTickmarks( QGraphicsItem *parent = 0 ); ~HbSliderTickmarks(); - /* virtual void paint( QPainter *painter, const QStyleOptionGraphicsItem *option, - QWidget *widget );*/ - virtual void resizeEvent(QGraphicsSceneResizeEvent *event); - enum {Type = HbPrivate::ItemType_SliderTickmarks }; int type() const {return Type;} - - void createIcons(bool create); + virtual void resizeEvent(QGraphicsSceneResizeEvent *event); void updateTicks( ); void setTickPosition(Hb::SliderTickPositions position); virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value); - protected: void polish( HbStyleParameters& params ); diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbslidertickmarkslabel.cpp --- a/src/hbwidgets/sliders/hbslidertickmarkslabel.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbslidertickmarkslabel.cpp Thu May 27 13:10:59 2010 +0300 @@ -25,15 +25,18 @@ #include "hbslidertickmarkslabel_p.h" #include "hbslidercontrol_p.h" -#include "hbsliderhandle_p.h" +#include "hbslider_p.h" #include "hbwidget_p.h" #include #include #include #include #include +#include #include #include +#include +#include class HbSliderTickmarksLabelPrivate : public HbWidgetPrivate @@ -46,7 +49,7 @@ HbStyleOptionSlider sliderOption; QList tickmarkmajorIconItemsLabel; QList tickmarkminorIconItemsLabel; - HbSliderControl *sliderControl; + HbSlider *slider; Hb::SliderTickPositions tickPosition; bool createText; @@ -56,7 +59,7 @@ HbSliderTickmarksLabelPrivate::HbSliderTickmarksLabelPrivate() :HbWidgetPrivate(){ tickmarkmajorIconItemsLabel.clear(); tickmarkminorIconItemsLabel.clear(); - sliderControl = 0; + slider = 0; tickPosition = Hb::NoSliderTicks; createText = true; @@ -70,13 +73,14 @@ if (!createText) { return; } + bool textItemCreated = false; - int minimum = sliderControl->minimum(); - int maximum = sliderControl->maximum(); - QStringList majorLabelList = sliderControl->majorTickLabels( ); - QStringList minorLabelList = sliderControl->minorTickLabels( ); - int majorTickInterval = sliderControl->majorTickInterval ( ); - int minorTickInterval = sliderControl->minorTickInterval ( ); + int minimum = slider->minimum(); + int maximum = slider->maximum(); + QStringList majorLabelList = slider->majorTickLabels( ); + QStringList minorLabelList = slider->minorTickLabels( ); + int majorTickInterval = slider->majorTickInterval ( ); + int minorTickInterval = slider->minorTickInterval ( ); if (majorTickInterval) { int totalMajorTicksLabel = ((maximum-minimum)/majorTickInterval)+1; if (majorLabelList.length( ) < totalMajorTicksLabel ) { @@ -85,6 +89,7 @@ int majorLabelListLength = tickmarkmajorIconItemsLabel.length(); for (int i=majorLabelListLength;istyle()->createPrimitive(HbStyle::P_SliderTickMark_majorlabel, q); + textItemCreated = true; Q_ASSERT(textItem->isWidget()); tickmarkmajorIconItemsLabel.append(static_cast(textItem));//add newly defind primitive } @@ -111,6 +116,7 @@ int minorIconLabelListLength = tickmarkminorIconItemsLabel.length(); for (int i=minorIconLabelListLength;istyle()->createPrimitive(HbStyle::P_SliderTickMark_minorlabel, q); + textItemCreated = true; Q_ASSERT(textItem->isWidget()); tickmarkminorIconItemsLabel.append(static_cast(textItem));//add newly defind primitive } @@ -127,6 +133,9 @@ } } q->setProperty("state","normal"); + if( textItemCreated ) { + q->repolish(); +} } void HbSliderTickmarksLabel::resizeEvent(QGraphicsSceneResizeEvent *event) @@ -145,22 +154,39 @@ } d->createTickLabels(); setLabelSize( ); - int minimum = d->sliderControl->minimum(); - int maximum = d->sliderControl->maximum(); - int majorTickInterval = d->sliderControl->majorTickInterval ( ); - int minorTickInterval = d->sliderControl->minorTickInterval ( ); + int minimum = d->slider->minimum(); + int maximum = d->slider->maximum(); + int majorTickInterval = d->slider->majorTickInterval ( ); + int minorTickInterval = d->slider->minorTickInterval ( ); qreal span = 0; - bool rtlLayout = (((d->sliderControl->orientation( ) != Qt::Vertical) + bool rtlLayout = (((d->slider->orientation( ) != Qt::Vertical) &&(HbApplication::layoutDirection() == Qt::LeftToRight))?false:true); - HbSliderHandle *handle = dynamic_cast (d->sliderControl->primitive (HbStyle::P_Slider_thumb)); - if ( d->sliderControl->orientation() == Qt::Horizontal) { - span = d->sliderControl->size().width(); - span-=handle->size().width(); + HbSliderPrivate *sliderPrivate = dynamic_cast(HbSliderPrivate::d_ptr(d->slider)); + QSizeF handleSize(0.0,0.0); + if( sliderPrivate) { + handleSize = sliderPrivate->getHandleSize( ); + } else { + return; + } + if ( d->slider->orientation() == Qt::Horizontal) { + span = boundingRect().width(); + span-=handleSize.width(); } - if ( d->sliderControl->orientation() == Qt::Vertical) { - span = d->sliderControl->size().height(); - span-=handle->size().height(); + if ( d->slider->orientation() == Qt::Vertical) { + span = boundingRect().height(); + span-=handleSize.height(); } + int minPos = QStyle::sliderPositionFromValue( minimum, maximum, + minimum,static_cast( span ), rtlLayout ); + int firstMajorIntervalPos = QStyle::sliderPositionFromValue( minimum, maximum, + minimum+majorTickInterval,static_cast( span ), rtlLayout ); + + int firstMinorIntervalPos = QStyle::sliderPositionFromValue( minimum, maximum, + minimum+minorTickInterval,static_cast( span ), rtlLayout ); + + qreal totalMajorTextWidth = abs(firstMajorIntervalPos-minPos); + qreal totalMinorTextWidth = abs(firstMinorIntervalPos-minPos); + if (majorTickInterval) { int totalMajorTicksLabel = d->tickmarkmajorIconItemsLabel.length(); for (int i=0;i( span ), rtlLayout ); - if ( d->sliderControl->orientation() == Qt::Horizontal) { - textItem->setPreferredHeight(boundingRect().height()); + if ( d->slider->orientation() == Qt::Horizontal) { textItem->update(); - qreal correctedPosX = handle->size().width()/2+pos; - qreal tickWidth = textItem->boundingRect().size().width(); + qreal correctedPosX = handleSize.width()/2+pos; + qreal tickWidth = totalMajorTextWidth; correctedPosX -= tickWidth/2; qreal correctedPosY = 0; - textItem->setPos( correctedPosX,correctedPosY ); + qreal tickHeight = textItem->boundingRect().size().height(); + textItem->setGeometry( QRectF(correctedPosX,correctedPosY,tickWidth,tickHeight)); } else { - qreal correctedPosY = handle->size().height()/2+pos; + qreal correctedPosY = handleSize.height()/2+pos; qreal tickHeight = textItem->boundingRect().size().height(); correctedPosY-=tickHeight/2; qreal correctedPosX =0; - textItem->setPos ( correctedPosX,correctedPosY ); + qreal tickWidth = boundingRect().width(); + textItem->setGeometry ( QRectF(correctedPosX,correctedPosY,tickWidth,tickHeight )); textItem->setLayoutDirection (layoutDirection()); } } @@ -201,25 +228,29 @@ QGraphicsWidget *textItem = d->tickmarkminorIconItemsLabel.at ( minorIndex); HbStyleOptionSlider opt; initStyleOption(&opt); - opt.orientation = d->sliderControl->orientation(); - opt.text = (d->sliderControl->minorTickLabels( )).at(minorIndex); + opt.orientation = d->slider->orientation(); + opt.text = (d->slider->minorTickLabels( )).at(minorIndex); style()->updatePrimitive(textItem,HbStyle::P_SliderTickMark_minorlabel,&opt); minorIndex++; int pos = QStyle::sliderPositionFromValue( minimum, maximum, minimum+minorTickInterval*i,static_cast( span ), rtlLayout ); - if ( d->sliderControl->orientation() == Qt::Horizontal) { - qreal correctedPosX = handle->size().width()/2+pos; - qreal tickWidth = textItem->boundingRect().size().width(); - correctedPosX -= tickWidth/2; + if ( d->slider->orientation() == Qt::Horizontal) { + qreal correctedPosX = handleSize.width()/2+pos; + correctedPosX -= totalMinorTextWidth/2; qreal correctedPosY = 0; - textItem->setPos ( correctedPosX,correctedPosY ); + qreal tickHeight = textItem->boundingRect().size().height(); + textItem->setGeometry( QRectF(correctedPosX,correctedPosY,totalMinorTextWidth,tickHeight)); + } else { - qreal correctedPosY = handle->size().height()/2+pos; + qreal correctedPosY = handleSize.height()/2+pos; qreal tickHeight = textItem->boundingRect().size().height(); correctedPosY-=tickHeight/2; textItem->setLayoutDirection (layoutDirection()); qreal correctedPosX =0; - textItem->setPos ( correctedPosX,correctedPosY ); + qreal tickWidth = boundingRect().width(); + textItem->setGeometry ( QRectF(correctedPosX,correctedPosY,tickWidth,tickHeight )); + + } } } @@ -256,7 +287,7 @@ { Q_D( HbSliderTickmarksLabel ); d->q_ptr = this; - d->sliderControl=dynamic_cast( parentItem() ); + d->slider=dynamic_cast( parentItem() ); d->createTickLabels(); } @@ -271,21 +302,27 @@ { Q_D (HbSliderTickmarksLabel); - int minimum = d->sliderControl->minimum(); - int maximum = d->sliderControl->maximum(); - int majorTickInterval = d->sliderControl->majorTickInterval ( ); - int minorTickInterval = d->sliderControl->minorTickInterval ( ); + int minimum = d->slider->minimum(); + int maximum = d->slider->maximum(); + int majorTickInterval = d->slider->majorTickInterval ( ); + int minorTickInterval = d->slider->minorTickInterval ( ); qreal span = 0; - bool rtlLayout = (((d->sliderControl->orientation( ) != Qt::Vertical) + bool rtlLayout = (((d->slider->orientation( ) != Qt::Vertical) &&(HbApplication::layoutDirection() == Qt::LeftToRight))?false:true); - HbSliderHandle *handle = dynamic_cast (d->sliderControl->primitive (HbStyle::P_Slider_thumb)); - if ( d->sliderControl->orientation() == Qt::Horizontal) { - span = d->sliderControl->size().width(); - span-=handle->size().width(); + HbSliderPrivate *sliderPrivate = dynamic_cast(HbSliderPrivate::d_ptr(d->slider)); + QSizeF handleSize(0.0,0.0); + if( sliderPrivate) { + handleSize = sliderPrivate->getHandleSize( ); + } else { + return; } - if ( d->sliderControl->orientation() == Qt::Vertical) { - span = d->sliderControl->size().height(); - span-=handle->size().height(); + if ( d->slider->orientation() == Qt::Horizontal) { + span = d->slider->size().width(); + span-=handleSize.width(); + } + if ( d->slider->orientation() == Qt::Vertical) { + span = d->slider->size().height(); + span-=handleSize.height(); } int minPos = QStyle::sliderPositionFromValue( minimum, maximum, minimum,static_cast( span ), rtlLayout ); @@ -297,6 +334,8 @@ qreal totalMajorTextWidth = abs(firstMajorIntervalPos-minPos); qreal totalMinorTextWidth = abs(firstMinorIntervalPos-minPos); + Q_UNUSED(totalMajorTextWidth) + Q_UNUSED(totalMinorTextWidth) if (majorTickInterval) { int totalMajorTicksLabel = d->tickmarkmajorIconItemsLabel.length(); @@ -304,18 +343,18 @@ QGraphicsWidget *textItem = d->tickmarkmajorIconItemsLabel.at ( i); HbStyleOptionSlider opt; initStyleOption(&opt); - opt.orientation = d->sliderControl->orientation(); - opt.text = (d->sliderControl->majorTickLabels( )).at(i); + opt.orientation = d->slider->orientation(); + opt.text = (d->slider->majorTickLabels( )).at(i); style()->updatePrimitive(textItem,HbStyle::P_SliderTickMark_majorlabel,&opt); - if ( d->sliderControl->orientation() == Qt::Horizontal) { - textItem->setMaximumHeight (boundingRect().height()); + if ( d->slider->orientation() == Qt::Horizontal) { + /* textItem->setMaximumHeight (boundingRect().height()); textItem->setMinimumHeight (boundingRect().height()); textItem->setMinimumWidth(totalMajorTextWidth); - textItem->setMaximumWidth(totalMajorTextWidth); + textItem->setMaximumWidth(totalMajorTextWidth);*/ textItem->update(); } else { - textItem->setMinimumWidth(boundingRect().width()); - textItem->setMaximumWidth(boundingRect().width()); + /* textItem->setMinimumWidth(boundingRect().width()); + textItem->setMaximumWidth(boundingRect().width());*/ textItem->update( ); } } @@ -332,43 +371,21 @@ if ( minorIndex < d->tickmarkminorIconItemsLabel.length() ) { QGraphicsWidget *textItem = d->tickmarkminorIconItemsLabel.at ( minorIndex); minorIndex++; - if ( d->sliderControl->orientation() == Qt::Horizontal) { - textItem->setMaximumHeight (boundingRect().height()); + if ( d->slider->orientation() == Qt::Horizontal) { + /* textItem->setMaximumHeight (boundingRect().height()); textItem->setMinimumHeight (boundingRect().height()); textItem->setMinimumWidth(totalMinorTextWidth); - textItem->setMaximumWidth(totalMinorTextWidth); + textItem->setMaximumWidth(totalMinorTextWidth);*/ textItem->update(); } else { - textItem->setMinimumWidth(boundingRect().width()); - textItem->setMaximumWidth(boundingRect().width()); + /* textItem->setMinimumWidth(boundingRect().width()); + textItem->setMaximumWidth(boundingRect().width());*/ textItem->update( ); } } } } -} - -void HbSliderTickmarksLabel::createText(bool create) -{ - Q_D(HbSliderTickmarksLabel); - d->createText = create; - if (!create) { - while ( d->tickmarkmajorIconItemsLabel.length() > 0) { - QGraphicsWidget *textItem = d->tickmarkmajorIconItemsLabel.at(0); - d->tickmarkmajorIconItemsLabel.removeAll(textItem); - delete textItem; - } - while ( d->tickmarkminorIconItemsLabel.length() > 0) { - QGraphicsWidget *textItem = d->tickmarkminorIconItemsLabel.at(0); - d->tickmarkminorIconItemsLabel.removeAll(textItem); - delete textItem; - } - } else { - d->createTickLabels(); - } - - -} + } @@ -376,7 +393,7 @@ { Q_D (HbSliderTickmarksLabel); d->createTickLabels(); - if( d->sliderControl->orientation( ) == Qt::Horizontal ) { + if( d->slider->orientation( ) == Qt::Horizontal ) { setProperty("orientation",(Qt::Orientation)1); } else { setProperty("orientation",(Qt::Orientation)2); @@ -409,6 +426,14 @@ return HbWidget::itemChange( change, value ); } +bool HbSliderTickmarksLabel::event(QEvent *e) +{ + if(e->type( ) == QEvent::LayoutDirectionChange) { + updateTickLabels( ); + } + return HbWidget::event(e); +} + void HbSliderTickmarksLabel::initStyleOption( HbStyleOptionSlider *option ) const { @@ -417,11 +442,11 @@ return; } HbWidget::initStyleOption( option ); - option->orientation = d->sliderControl->orientation( ); - option->tickPosition = d->sliderControl->tickPosition( ); - option->upsideDown = ( d->sliderControl->orientation( ) == Qt::Horizontal ) - ? ( d->sliderControl->invertedAppearance( ) != ( option->direction == Qt::RightToLeft ) ) - : ( !d->sliderControl->invertedAppearance( ) ); + option->orientation = d->slider->orientation( ); + option->tickPosition = d->slider->tickPosition( ); + option->upsideDown = ( d->slider->orientation( ) == Qt::Horizontal ) + ? ( d->slider->invertedAppearance( ) != ( option->direction == Qt::RightToLeft ) ) + : ( !d->slider->invertedAppearance( ) ); // we use the upsideDown option instead } diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbslidertickmarkslabel_p.h --- a/src/hbwidgets/sliders/hbslidertickmarkslabel_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbslidertickmarkslabel_p.h Thu May 27 13:10:59 2010 +0300 @@ -33,6 +33,8 @@ class QStyleOption; class HbSliderTickmarksLabelPrivate; +class QEvent; + class HB_AUTOTEST_EXPORT HbSliderTickmarksLabel : public HbWidget { @@ -42,8 +44,6 @@ explicit HbSliderTickmarksLabel( QGraphicsItem *parent = 0 ); ~HbSliderTickmarksLabel(); - /* virtual void paint( QPainter *painter, const QStyleOptionGraphicsItem *option, - QWidget *widget );*/ virtual void resizeEvent(QGraphicsSceneResizeEvent *event); enum {Type = HbPrivate::ItemType_SliderTickmarksLabel }; @@ -52,7 +52,8 @@ void updateTickLabels( ); void setTickPosition(Hb::SliderTickPositions position); void setLabelSize(); - void createText(bool create); + virtual bool event ( QEvent * event ); + protected: diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbvolumeslider_p.cpp --- a/src/hbwidgets/sliders/hbvolumeslider_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbvolumeslider_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -123,6 +123,7 @@ void HbVolumeSliderPrivate::init( ) { Q_Q( HbVolumeSlider ); + sliderControl->setToolTipVisible(false); q->connect( q, SIGNAL( valueChanged( int ) ), q, SLOT( _q_valueChanged( int ) ) ); q->connect( q, SIGNAL( iconToggled( bool ) ), q, SLOT( _q_muteToggled( bool ) ) ); QList elements; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/sliders/hbzoomslider_p.cpp --- a/src/hbwidgets/sliders/hbzoomslider_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/sliders/hbzoomslider_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -116,7 +116,7 @@ { Q_Q( HbZoomSlider ); mDefaultSet = false; - + sliderControl->setToolTipVisible(false); QList elements; elements << HbSlider::IncreaseElement << HbSlider::TrackElement diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbcheckbox.h --- a/src/hbwidgets/widgets/hbcheckbox.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbcheckbox.h Thu May 27 13:10:59 2010 +0300 @@ -36,17 +36,21 @@ { Q_OBJECT Q_PROPERTY( QString text READ text WRITE setText ) - Q_PROPERTY(bool tristate READ isTristate WRITE setTristate) - Q_PROPERTY(Qt::CheckState checkState READ checkState WRITE setCheckState) + Q_PROPERTY( bool tristate READ isTristate WRITE setTristate ) + Q_PROPERTY( Qt::CheckState checkState READ checkState WRITE setCheckState ) public: explicit HbCheckBox( QGraphicsItem *parent = 0 ); explicit HbCheckBox( const QString &text, QGraphicsItem *parent = 0 ); - virtual ~HbCheckBox(); + virtual ~HbCheckBox( ); - enum { Type = Hb::ItemType_CheckBox }; - int type() const { return Type; } + enum { + Type = Hb::ItemType_CheckBox + }; + int type() const { + return Type; + } void setText( const QString &text ); QString text( ) const; @@ -56,7 +60,7 @@ Qt::CheckState checkState( ) const; - virtual QGraphicsItem *primitive(HbStyle::Primitive primitive) const; + virtual QGraphicsItem *primitive( HbStyle::Primitive primitive ) const; public slots: @@ -64,28 +68,32 @@ virtual void updatePrimitives(); protected: + void initStyleOption( HbStyleOptionCheckBox *option ) const; - void resizeEvent(QGraphicsSceneResizeEvent *event); + void resizeEvent( QGraphicsSceneResizeEvent *event ); virtual bool hitButton( const QPointF &pos ) const; virtual void checkStateSet( ); virtual void nextCheckState( ); #ifndef HB_GESTURE_FW void mouseReleaseEvent( QGraphicsSceneMouseEvent *event ); - void mouseMoveEvent(QGraphicsSceneMouseEvent *event); + void mouseMoveEvent( QGraphicsSceneMouseEvent *event ); #endif + #ifdef HB_GESTURE_FW - virtual void gestureEvent(QGestureEvent *event); + virtual void gestureEvent( QGestureEvent *event ); #endif - void keyPressEvent(QKeyEvent *keyEvent); + void keyPressEvent( QKeyEvent *keyEvent ); QVariant itemChange( GraphicsItemChange change, const QVariant &value ); signals: + void stateChanged ( int state ); private: - Q_DECLARE_PRIVATE_D(d_ptr, HbCheckBox) - Q_DISABLE_COPY(HbCheckBox) + + Q_DECLARE_PRIVATE_D( d_ptr, HbCheckBox ) + Q_DISABLE_COPY( HbCheckBox ) }; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbcombobox.cpp --- a/src/hbwidgets/widgets/hbcombobox.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbcombobox.cpp Thu May 27 13:10:59 2010 +0300 @@ -47,9 +47,9 @@ in a way that takes up the minimum amount of screen space. A combobox is a selection widget that displays the currently selected item, - and can provides a drop-down list that permits selecting an item. + and provides a drop-down list that permits selecting an item. - A HbComboBox with currently Selected item + A HbComboBox with currently selected item \image html noneditablecombobox.png. @@ -57,71 +57,68 @@ \image html comboboxdropdownlist.png. - HbComboBox are of two types. + HbComboBox are of two types: - Editable: + 1: Editable: - If the comboBox is set to editable, touching the ComboBox label field invokes the VKB in - touch environments or accepts input from an attached keyboard. - choosing an element from the ComboBox dropdown list replaces the label - area with the chosen item. - on touching button area of the comboBox launches the drop-down list to select - the list of options - ( button area in comboBox behaves same in both editable and Non Editable comboBox ). + If combobox is set to editable, tapping on combobox label field invokes the VKB in + touch environments or accepts input from an attached keyboard. Tapping on + button area of combobox launches dropdown list. Choosing an element from + the combobox dropdown list replaces the label with the chosen item. Touch events on + combobox button behaves same in both editable and non-editable combobox. - Non Editable: + 2: Non Editable: - If the comboBox is set to Non Editable widget that displays the currently selected item - in the label field of ComboBox. - Touching the comboBox label field or button area of the comboBox will opens - the drop-down list to select an item from list of options. + If the combobox is set to non-editable then even tapping on label field will launch + drop down unlike editable combobox. Tapping on combobox button area behaves in + same way as in editable combobox. - By Default comboBox is Non Editable. + By default combobox is non-editable. - Application is responsible for setting the model to the HbComboBox, - If no model is set, the drop down list cannot be displayed at all. + Application is responsible for setting the model in combobox. If no model is set or model + set is empty then drop down list will not be displayed at all. Combobox owns the model set + by application. - HbComboBox owns the model set by the Application. + The number of rows to be displayed in HbComboBox drop down can be configured by overriding + HbComboBox css. By default number of items in drop down is 8 in portrait mode and 5 in + landscape mode. - HbComboBox provides three signals: + HbComboBox provides four signals: \li currentIndexChanged( index ) is emitted when the current selection in the combobox is - changed by user interaction. If application is setting a index/text then this signal is - not emmitted. In case of an editable combobox on combobox loosing focus if the current - selection has changed then this signal is emitted with the new model index. + changed either by user interaction or programmatically. \li currentIndexChanged( const QString& ) is emitted when the curret selection in the combobox is changed by user interaction. If application is setting a differnet index/text - then this signal is not emmitted. - In case of an editable combobox on combobox loosing focus if the current selection - has changed then this signal is emitted with the new string. + then this signal is not emmitted. + + \li editTextChanged( const QString& ) is emitted when text is changed in editable combobox. - \li editTextChanged( QString& ) is emitted when combobox looses focus and user has typed a text - for which there is no matching item found in the model with the text typed by the user. + \li editingFinished( ) is emitted either because editable combobox lost focus or Return/Enter + is pressed. - The following is an example of how to create a model and adding item to the created model. - How to set the model on the HbcomboBox. - Here the model is ownership transfer to the widget. + The following is an example of how to create a model and adding item in the model. + HbComboBox takes ownership of model. \snippet{ultimatecodesnippet/ultimatecodesnippet.cpp,37} - An example how to add strings into HbComboBox and setting currentIndex. - HbComboBox will creates the model internally if model is not created. + An example of how to add strings in HbComboBox and setting currentIndex. + HbComboBox will creates model internally if model is not created. \snippet{ultimatecodesnippet/ultimatecodesnippet.cpp,38} - An example how to add stringsList into HbComboBox and setting currentIndex. + An example of how to add stringsList into HbComboBox and setting currentIndex. HbComboBox will creates the model internally if model is not created. \snippet{ultimatecodesnippet/ultimatecodesnippet.cpp,39} - An example how to insert String at index into HbComboBox. + An example of how to insert string at some index in HbComboBox. HbComboBox will creates the model internally if model is not created. \snippet{ultimatecodesnippet/ultimatecodesnippet.cpp,40} - An example how to insert StringList at index into HbComboBox. + An example of how to insert StringList at index into HbComboBox. HbComboBox will creates the model internally if model is not created. \snippet{ultimatecodesnippet/ultimatecodesnippet.cpp,41} - An example how to set the items into HbComboBox. - HbComboBox will replces the existing model. + An example of how to set the items into HbComboBox. + HbComboBox will replace the existing model. \snippet{ultimatecodesnippet/ultimatecodesnippet.cpp,42} */ @@ -136,7 +133,7 @@ Q_D( HbComboBox ); d->init( ); updatePrimitives( ); - setProperty("state", "normal"); + setProperty( "state", "normal" ); } /*! @@ -155,14 +152,15 @@ Q_D( HbComboBox ); d->init( ); updatePrimitives( ); - setProperty("state", "normal"); + setProperty( "state", "normal" ); } /*! @beta + \property HbComboBox::items - \brief list of comboBox items - It replaces the existing list. + + It replaces the existing list with \a texts. */ void HbComboBox::setItems( const QStringList &texts ) { @@ -182,44 +180,46 @@ /*! @beta + This property holds the list added in the combobox. By default, for an empty combo box, this property has a empty StringList. */ QStringList HbComboBox::items( ) const { Q_D( const HbComboBox ); - if( d->mModel && d->mModel->rowCount( )) { + if( d->mModel && d->mModel->rowCount( ) ) { QStringList list; - int rowCount = d->mModel->rowCount(); - for(int i = 0; i < rowCount; i++) - { - list<<( d->mModel->data( d->mModel->index( i, 0 ) ) ).toString(); + int rowCount = d->mModel->rowCount( ); + for(int i = 0; i < rowCount; i++) { + list<<( d->mModel->data( d->mModel->index( i, 0 ) ) ).toString( ); } return list; } else { - return QStringList(); + return QStringList( ); } } /*! @alpha - Sets the \a icon for the item on the given \a index in the combobox. - this API will not work if applcation sets the model as QStringlistModel. + + Sets \a icon for the item at the given \a index in the combobox. + This API will not work if applcation sets the model as QStringListModel. */ void HbComboBox::setItemIcon( int index, const HbIcon &icon ) { - Q_D(const HbComboBox); - if(d->mModel) { + Q_D( const HbComboBox ); + if( d->mModel ) { QModelIndex item = d->mModel->index( index, 0 ); - if ( item.isValid( ) ) { - d->mModel->setData( item, icon.qicon(), Qt::DecorationRole ); + if ( item.isValid( ) ) { + d->mModel->setData( item, icon.qicon( ), Qt::DecorationRole ); } } } /*! @alpha - returns the HbIcon for the given \a index in the combobox. + + Returns HbIcon at \a index in the combobox. */ HbIcon HbComboBox::itemIcon( int index ) const { @@ -235,8 +235,9 @@ /*! @beta - Returns the data for the given \a role in the given \a index in the - combobox, or QVariant::Invalid if there is no data for this role. + + Either returns the \a role data at this \a index in HbComboBox, or QVariant::Invalid + if there is no data for this role. */ QVariant HbComboBox::itemData( int index, int role ) const { @@ -245,14 +246,15 @@ QModelIndex mi = d->mModel->index( index, 0 ); if( mi.isValid ( ) ) { return d->mModel->data( mi, role ); - } + } } return QVariant( ); } /*! @beta - Sets the data \a role for the item on the given \a index in the combobox + + Sets the \a role data for the item at the given \a index in HbComboBox to the specified \a value. */ void HbComboBox::setItemData( int index, const QVariant &value, int role ) @@ -267,14 +269,15 @@ } /*! - @proto - This case is valid only for Editable comboBox - Returns the validator that is used to constraint text input to the - combobox and returns NULL if it is invalid. + @beta + + This API is valid only for editable combobox. + Either returns the validator that is used to constraint text input in + combobox or returns NULL if it is invalid. \sa editable */ -const HbValidator *HbComboBox::validator() const +const HbValidator *HbComboBox::validator( ) const { Q_D( const HbComboBox ); if( d->mEditable) { @@ -284,25 +287,28 @@ } /*! - @proto - This case is only valid for the Editable comboBox. - Sets the \a validator to use instead of the current validator. + @beta + + This API is only valid for the editable combobox. + Sets the \a validator to be used in editable combobox. */ void HbComboBox::setValidator( HbValidator *validator ) { Q_D( HbComboBox ); if( d->mEditable ) { - disconnect( d->mLineEdit, SIGNAL( textChanged ( QString ) ), + disconnect( d->mLineEdit, SIGNAL( textChanged ( QString ) ), this, SLOT( _q_textChanged( QString ) ) ); d->mLineEdit->setValidator( validator ); - connect( d->mLineEdit, SIGNAL( textChanged ( QString ) ), + connect( d->mLineEdit, SIGNAL( textChanged ( QString ) ), this, SLOT( _q_textChanged( QString ) ) ); } } /*! - This property holds the number of items in the combobox. - By default, for an empty combo box, this property has a value of 0. + @beta + + This property holds the number of items in combobox. + For an empty combo box, this property is equal to 0. */ int HbComboBox::count( ) const { @@ -315,10 +321,12 @@ /*! @beta + Sets the model to \a model - comboBox Owns the model set by the Application. + Ownership of \a model is taken by HbComboBox. It replaces the old model if exists. - please do not pass 0(NULL) as \a model instead call clear() to clear the contens of the model. + Do not pass 0(NULL) as \a model to clear contents of model instead call clear( ). + \sa clear */ void HbComboBox::setModel( QAbstractItemModel * model ) { @@ -334,7 +342,8 @@ /*! @beta - Returns model that view is currently presenting. + + Returns current model. */ QAbstractItemModel* HbComboBox::model( ) const { @@ -344,6 +353,7 @@ /*! @beta + Sets current index to \a index. By default no item is selected. */ @@ -360,7 +370,8 @@ /*! @beta - Returns index of current item and returns -1 for invalid current index. + + Either returns index of current item if valid or else returns -1 for invalid current index. */ int HbComboBox::currentIndex( ) const { @@ -370,6 +381,7 @@ /*! @beta + \fn int HbComboBox::findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const @@ -380,20 +392,23 @@ */ /*! + @beta + Returns the index of the item containing the given \a data for the - given \a role; otherwise returns -1. + given \a role if valid, otherwise returns -1. The \a flags specify how the items in the combobox are searched. */ int HbComboBox::findData( const QVariant &data, int role, Qt::MatchFlags flags ) const { Q_D( const HbComboBox ); - if(d->mModel) { + if( d->mModel ) { QModelIndexList result; QModelIndex start = d->mModel->index( 0, 0 ); result = d->mModel->match( start, role, data, 1, flags ); - if ( result.isEmpty( ) ) + if ( result.isEmpty( ) ) { return -1; + } return result.first( ).row( ); } return -1; @@ -401,26 +416,29 @@ /*! @beta - This is specific to the Editable comboBox only. - Sets the text in the combobox's text edit + + This API is valid for editable combobox. + Sets the \a text in editable combobox's line edit. */ void HbComboBox::setEditText( const QString &text ) { Q_D( HbComboBox ); if( d->mEditable ) { - disconnect( d->mLineEdit, SIGNAL( textChanged ( QString ) ), + disconnect( d->mLineEdit, SIGNAL( textChanged ( QString ) ), this, SLOT( _q_textChanged( QString ) ) ); d->mLineEdit->setText( text ); - connect( d->mLineEdit, SIGNAL( textChanged ( QString ) ), + connect( d->mLineEdit, SIGNAL( textChanged ( QString ) ), this, SLOT( _q_textChanged( QString ) ) ); } } /*! @beta + \property HbComboBox::currentText - \brief the text of the current item - combo box with model count \0 returns an empty string. + + In case of non-editable combobox it returns the text at current index. + In case of editable combobox it returns the text in line edit. */ QString HbComboBox::currentText( ) const { @@ -436,8 +454,9 @@ /*! @beta - Removes the item at the given index from the combobox. - This will update the current index if the index is removed. + + Removes the item at the given \a index from HbComboBox. + If \a index passed is current index then current index will be updated accordingly. */ void HbComboBox::removeItem( int index ) { @@ -446,11 +465,11 @@ int rowCount = d->mModel->rowCount( ); if( index >=0 && index < rowCount ) { bool currentText = false; - if ( d->mModel->index(index, 0) == d->mCurrentIndex ) { + if ( d->mModel->index( index, 0 ) == d->mCurrentIndex ) { currentText = true; d->mModel->removeRow( index ); - } else if( d->mCurrentIndex.row() > index ) { - int row = d->mCurrentIndex.row(); + } else if( d->mCurrentIndex.row( ) > index ) { + int row = d->mCurrentIndex.row( ); d->mModel->removeRow( index ); d->mCurrentIndex = d->mModel->index( --row, 0 ); d->currentIndexChanged( d->mCurrentIndex ); @@ -459,35 +478,38 @@ } if( d->mModel->rowCount( ) == 0 ) { if( d->mEditable ) { - clearEditText(); + clearEditText( ); } else { if( d->mLineEdit ) { - d->mLineEdit->setText( QString() ); + d->mLineEdit->setText( QString( ) ); } else { - d->mText.clear(); + d->mText.clear( ); HbStyleOptionComboBox comboBoxOption; - initStyleOption(&comboBoxOption); - style()->updatePrimitive( d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption); + initStyleOption( &comboBoxOption ); + style( )->updatePrimitive( + d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption ); } } + d->mCurrentIndex = QModelIndex(); return; } if( currentText ) { d->mCurrentIndex = d->mModel->index( 0, 0 ); if( d->mEditable ) { disconnect(d->mLineEdit, SIGNAL( textChanged ( QString ) ), - this, SLOT( _q_textChanged( QString ) ) ); + this, SLOT( _q_textChanged( QString ) ) ); d->mLineEdit->setText( d->mModel->data( d->mCurrentIndex ).toString( ) ); connect(d->mLineEdit, SIGNAL( textChanged ( QString ) ), - this, SLOT( _q_textChanged( QString ) ) ); + this, SLOT( _q_textChanged( QString ) ) ); } else { if( d->mLineEdit ) { - d->mLineEdit->setText( QString() ); + d->mLineEdit->setText( QString( ) ); } else { d->mText = d->mModel->data( d->mCurrentIndex ).toString( ); HbStyleOptionComboBox comboBoxOption; - initStyleOption(&comboBoxOption); - style()->updatePrimitive( d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption); + initStyleOption( &comboBoxOption ); + style( )->updatePrimitive( + d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption); } } d->currentIndexChanged( d->mCurrentIndex ); @@ -503,7 +525,7 @@ { Q_UNUSED( event ) Q_D( HbComboBox ); - if ( d->mDropDown && d->mDropDown->isVisible() ){ + if ( d->mDropDown && d->mDropDown->isVisible( ) ) { d->positionDropDown( ); } } @@ -555,7 +577,7 @@ { Q_D( const HbComboBox ); - switch( primitive ){ + switch( primitive ) { case HbStyle::P_ComboBox_text: return d->mTextItem; case HbStyle::P_ComboBox_background: @@ -569,11 +591,14 @@ } } +/*! + \reimp + */ void HbComboBox::initStyleOption( HbStyleOptionComboBox *option )const { - Q_D( const HbComboBox ); + Q_D( const HbComboBox ); option->text = d->mText; - HbWidget::initStyleOption( option ); + HbWidget::initStyleOption( option ); } /*! @@ -581,7 +606,7 @@ */ void HbComboBox::updatePrimitives( ) { - Q_D( HbComboBox ); + Q_D( HbComboBox ); HbStyleOption styleOption; HbWidget::initStyleOption( &styleOption ); if ( d->mIsDown ) { @@ -597,24 +622,25 @@ /*! @beta - Clears the combobox, removes all items from model. + + Removes all items from model. */ void HbComboBox::clear( ) { Q_D( HbComboBox ); if( d->mModel ) { - d->mModel->removeRows(0, d->mModel->rowCount()); + d->mModel->removeRows( 0, d->mModel->rowCount( ) ); d->mCurrentIndex = QModelIndex( ); if( d->mEditable ) { - clearEditText(); + clearEditText( ); } else { if( d->mLineEdit ) { - d->mLineEdit->setText( QString() ); + d->mLineEdit->setText( QString( ) ); } else { - d->mText.clear(); + d->mText.clear( ); HbStyleOptionComboBox comboBoxOption; - initStyleOption(&comboBoxOption); - style()->updatePrimitive( d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption); + initStyleOption( &comboBoxOption ); + style( )->updatePrimitive( d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption ); } } } @@ -622,7 +648,9 @@ /*! @beta - Clears the contents of the line edit used for editing in the combobox. + + This API is valid only for editable combobox. + Clears the contents of line edit in editable combobox. */ void HbComboBox::clearEditText( ) { @@ -638,24 +666,28 @@ /*! @beta + \property HbComboBox::editable - \brief Set editable the property of the combobox. - True, Editable, user can type in the combobox to search for items from - the list of items. Shows the prediction. If user types a text which does not match - to any items in the model then slection is not changed. - False, Non editable user canot enter text using keyboard. + + If \a editable is true then combobox will be editable else it will be + non-editable. + + \sa isEditable */ void HbComboBox::setEditable( bool editable ) { Q_D( HbComboBox ); d->setEditable( editable ); - setProperty("state", "normal"); + setProperty( "state", "normal" ); } /*! @beta - Returns whether or not the combobox is editable - True if editable, else false + + Returns combobox is editable or not. If editable then returns true else returns + false. + + \sa setEditable */ bool HbComboBox::isEditable( ) const { @@ -665,20 +697,25 @@ /*! @beta - Adds an item to the combobox with the given text, - and containing the specified userData (stored in the Qt::UserRole). - The item is appended to the list of existing items. + + Adds an item in combobox with the given \a text, containing the specified \a userData + (stored in the Qt::UserRole). The item is appended to the list of existing items. + + \sa insertItem */ -void HbComboBox::addItem( const QString &text, const QVariant &userData) +void HbComboBox::addItem( const QString &text, const QVariant &userData ) { insertItem( count( ), text, userData ); } /*! @beta - Adds an item to the combobox with the given icon and text, - and containing the specified userData (stored in the Qt::UserRole). + + Adds an item in combobox with the given \a icon and \a text, + and containing the specified \a userData (stored in the Qt::UserRole). The item is appended to the list of existing items. + + \sa insertItem */ void HbComboBox::addItem( const HbIcon &icon, const QString &text, const QVariant &userData ) { @@ -687,33 +724,39 @@ /*! @beta - Adds each of the strings in the given texts to the combobox. + + Adds each of the strings in the given \a texts to combobox. Each item is appended to the list of existing items in turn. + + \sa insertItem */ void HbComboBox::addItems( const QStringList &texts ) { - insertItems( count(), texts ); + insertItems( count( ), texts ); } /*! @beta - Inserts the text into the combobox at the given index. + + Inserts the \a text in combobox at the given \a index. If the index is equal to or higher than the total number of items, the new item is appended to the list of existing items. If the index is zero or negative, the new item is prepended to the list of existing items. + + \sa addItems addItem */ void HbComboBox::insertItem( int index, const QString &text, const QVariant &userData ) { Q_D( HbComboBox ); - if( text.isNull( ) ){ + if( text.isNull( ) ) { return; } if( !d->mModel ) { - QStandardItemModel* model = new QStandardItemModel(this ); + QStandardItemModel* model = new QStandardItemModel( this ); setModel( model ); } - if ( !d->mModel->rowCount( ) ) { + if ( !d->mModel->rowCount( ) ) { d->mModel->insertRow( 0 ); d->mModel->insertColumn( 0 ); if( d->mModel->index( 0, 0 ).isValid( ) ) { @@ -733,97 +776,21 @@ } } else if(index <= 0) { d->mModel->insertRow( 0 ); - d->mModel->setData( d->mModel->index(0,0), text, Qt::DisplayRole ); + d->mModel->setData( d->mModel->index( 0, 0 ), text, Qt::DisplayRole ); if( userData.isValid( ) ) { d->mModel->setData( d->mModel->index( 0, 0 ), userData, Qt::UserRole ); } - if( d->mCurrentIndex.row() >= 0 ) { - d->mCurrentIndex = d->mModel->index(d->mCurrentIndex.row()+1, 0); - d->currentIndexChanged(d->mCurrentIndex); + if( d->mCurrentIndex.row( ) >= 0 ) { + d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + 1, 0); + d->currentIndexChanged( d->mCurrentIndex ); } } else { d->mModel->insertRow( index ); d->mModel->setData( d->mModel->index( index, 0 ), text, Qt::DisplayRole ); if( userData.isValid( ) ) { - d->mModel->setData( d->mModel->index( index, 0 ), userData, Qt::UserRole ); - } - if( d->mCurrentIndex.row() <= index ) { - d->mCurrentIndex = d->mModel->index(d->mCurrentIndex.row()+1, 0); - d->currentIndexChanged(d->mCurrentIndex); - } - } - } -} - -/*! - @beta - Inserts the text and icon into the combobox at the given index. - If the index is equal to or higher than the total number of items, - the new item is appended to the list of existing items. - If the index is zero or negative, the new item is prepended to the list of existing items. - */ -void HbComboBox::insertItem( int index, const HbIcon &icon, const QString &text, const QVariant &userData) -{ - Q_D( HbComboBox ); - if( text.isEmpty( ) ){ - return; - } - - if( !d->mModel ) { - QStandardItemModel* model = new QStandardItemModel( this ); - setModel( model ); - } - if ( !d->mModel->rowCount( ) ) { - d->mModel->insertRow( 0 ); - d->mModel->insertColumn( 0 ); - if( d->mModel->index( 0, 0 ).isValid( ) ) { - d->mModel->setData( d->mModel->index(0,0), text, Qt::DisplayRole ); - setCurrentIndex( 0 ); - } - if(!icon.isNull() && d->mModel->index( 0, 0 ).isValid( ) ) { - d->mModel->setData(d->mModel->index( 0, 0 ), icon.qicon( ), Qt::DecorationRole); - } - if( userData.isValid( ) && d->mModel->index( 0, 0 ).isValid( ) ) { - d->mModel->setData( d->mModel->index( 0, 0 ), userData, Qt::UserRole ); - } - } else { - int rowCount = d->mModel->rowCount( ); - if( index >= rowCount ) { - d->mModel->insertRow( rowCount ); - d->mModel->setData( d->mModel->index( rowCount, 0 ), text, Qt::DisplayRole ); - if(!icon.isNull()) { - d->mModel->setData( d->mModel->index( rowCount, 0 ), icon, Qt::DecorationRole ); - } - if( userData.isValid( ) ) { - d->mModel->setData( d->mModel->index( rowCount, 0 ), userData, Qt::UserRole ); - } - if( d->mCurrentIndex.row() == index ) { - d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + 1, 0 ); - d->currentIndexChanged( d->mCurrentIndex ); - } - } else if(index <= 0) { - d->mModel->insertRow( 0 ); - d->mModel->setData( d->mModel->index( 0, 0 ), text, Qt::DisplayRole ); - if(!icon.isNull()) { - d->mModel->setData(d->mModel->index( 0, 0 ), icon, Qt::DecorationRole); - } - if( userData.isValid( ) ) { - d->mModel->setData( d->mModel->index( 0, 0 ), userData, Qt::UserRole ); - } - if( d->mCurrentIndex.row() >= 0 ) { - d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + 1, 0); - d->currentIndexChanged( d->mCurrentIndex ); - } - } else { - d->mModel->insertRow( index ); - d->mModel->setData( d->mModel->index( index, 0 ), text, Qt::DisplayRole ); - if(!icon.isNull( ) ) { - d->mModel->setData( d->mModel->index( index, 0 ), icon, Qt::DecorationRole ); - } - if( userData.isValid( ) ) { d->mModel->setData( d->mModel->index( index, 0 ), userData, Qt::UserRole ); } - if( d->mCurrentIndex.row() <= index ) { + if( d->mCurrentIndex.row( ) >= index ) { d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + 1, 0); d->currentIndexChanged( d->mCurrentIndex ); } @@ -833,7 +800,88 @@ /*! @beta - Inserts the strings from the list into the combobox as separate items, starting at the index. + + Inserts the \a text and \a icon into the combobox at the given \a index. + If the index is equal to or higher than the total number of items, + the new item is appended to the list of existing items. + If the index is zero or negative, the new item is prepended to the list of existing items. + + \sa insertItem + */ +void HbComboBox::insertItem( int index, const HbIcon &icon, + const QString &text, const QVariant &userData ) +{ + Q_D( HbComboBox ); + if( text.isEmpty( ) ) { + return; + } + + if( !d->mModel ) { + QStandardItemModel* model = new QStandardItemModel( this ); + setModel( model ); + } + if ( !d->mModel->rowCount( ) ) { + d->mModel->insertRow( 0 ); + d->mModel->insertColumn( 0 ); + if( d->mModel->index( 0, 0 ).isValid( ) ) { + d->mModel->setData( d->mModel->index( 0, 0 ), text, Qt::DisplayRole ); + setCurrentIndex( 0 ); + } + if( !icon.isNull( ) && d->mModel->index( 0, 0 ).isValid( ) ) { + d->mModel->setData( d->mModel->index( 0, 0 ), icon.qicon( ), Qt::DecorationRole ); + } + if( userData.isValid( ) && d->mModel->index( 0, 0 ).isValid( ) ) { + d->mModel->setData( d->mModel->index( 0, 0 ), userData, Qt::UserRole ); + } + } else { + int rowCount = d->mModel->rowCount( ); + if( index >= rowCount ) { + d->mModel->insertRow( rowCount ); + d->mModel->setData( d->mModel->index( rowCount, 0 ), text, Qt::DisplayRole ); + if( !icon.isNull( ) ) { + d->mModel->setData( d->mModel->index( rowCount, 0 ), icon, Qt::DecorationRole ); + } + if( userData.isValid( ) ) { + d->mModel->setData( d->mModel->index( rowCount, 0 ), userData, Qt::UserRole ); + } + if( d->mCurrentIndex.row( ) == index ) { + d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + 1, 0 ); + d->currentIndexChanged( d->mCurrentIndex ); + } + } else if( index <= 0 ) { + d->mModel->insertRow( 0 ); + d->mModel->setData( d->mModel->index( 0, 0 ), text, Qt::DisplayRole ); + if( !icon.isNull( ) ) { + d->mModel->setData( d->mModel->index( 0, 0 ), icon, Qt::DecorationRole ); + } + if( userData.isValid( ) ) { + d->mModel->setData( d->mModel->index( 0, 0 ), userData, Qt::UserRole ); + } + if( d->mCurrentIndex.row( ) >= 0 ) { + d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + 1, 0 ); + d->currentIndexChanged( d->mCurrentIndex ); + } + } else { + d->mModel->insertRow( index ); + d->mModel->setData( d->mModel->index( index, 0 ), text, Qt::DisplayRole ); + if( !icon.isNull( ) ) { + d->mModel->setData( d->mModel->index( index, 0 ), icon, Qt::DecorationRole ); + } + if( userData.isValid( ) ) { + d->mModel->setData( d->mModel->index( index, 0 ), userData, Qt::UserRole ); + } + if( d->mCurrentIndex.row( ) <= index ) { + d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + 1, 0 ); + d->currentIndexChanged( d->mCurrentIndex ); + } + } + } +} + +/*! + @beta + + Inserts the strings in \a texts into combobox as separate items, starting at the given \a index. If the index is equal to or higher than the total number of items, the new item is appended to the list of existing items. If the index is zero or negative, the new item is prepended to the list of existing items. @@ -847,11 +895,11 @@ } if ( !d->mModel->rowCount( ) ) { int textCount = texts.count( ); - for( int i = 0; i < textCount; i++) - { + for( int i = 0; i < textCount; i++) { d->mModel->insertRow( i ); - if( i == 0) + if( i == 0) { d->mModel->insertColumn( 0 ); + } if( d->mModel->index( i, 0 ).isValid( ) ) { d->mModel->setData( d->mModel->index( i, 0 ), texts.at( i ), Qt::DisplayRole ); if( i == 0) { @@ -859,7 +907,7 @@ } } } - } else { + } else { int rowCount = -1; rowCount = d->mModel->rowCount( ); int textCount = texts.count( ); @@ -869,8 +917,8 @@ for ( int i = rowCount; i < ( rowCount + textCount ); i++ ) { d->mModel->setData ( d->mModel->index( i, 0 ), texts.at( temp++ ) ); } - if( d->mCurrentIndex.row() == index ) { - d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + textCount, 0); + if( d->mCurrentIndex.row( ) == index ) { + d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + textCount, 0 ); d->currentIndexChanged( d->mCurrentIndex ); } } else if( index <= 0 ) { @@ -878,8 +926,8 @@ for ( int i = 0; i < textCount; i++ ) { d->mModel->setData( d->mModel->index( i, 0 ), texts.at( i ) ); } - if( d->mCurrentIndex.row() >= 0 ) { - d->mCurrentIndex = d->mModel->index(d->mCurrentIndex.row() + textCount, 0); + if( d->mCurrentIndex.row( ) >= 0 ) { + d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + textCount, 0 ); d->currentIndexChanged( d->mCurrentIndex ); } } else { @@ -888,8 +936,8 @@ for ( int i = index; i < ( textCount + index ); i++ ) { d->mModel->setData( d->mModel->index( i, 0 ), texts.at( temp++ ) ); } - if( d->mCurrentIndex.row() <= index ) { - d->mCurrentIndex = d->mModel->index(d->mCurrentIndex.row() + textCount, 0); + if( d->mCurrentIndex.row( ) <= index ) { + d->mCurrentIndex = d->mModel->index( d->mCurrentIndex.row( ) + textCount, 0 ); d->currentIndexChanged( d->mCurrentIndex ); } } @@ -898,14 +946,17 @@ /*! @beta - Returns the text for the given index in the combobox. + + Returns text at given \a index in combobox. + + \sa setItemText */ QString HbComboBox::itemText( int index ) const { Q_D( const HbComboBox ); - if(d->mModel) { + if( d->mModel ) { QModelIndex mi = d->mModel->index( index, 0 ); - if( mi.isValid() ) { + if( mi.isValid( ) ) { return d->itemText( mi ); } } @@ -914,27 +965,30 @@ /*! @beta - Sets the text for the item on the given index in the combobox. + + Sets the \a text for item at given \a index in combobox. + + \sa itemText */ void HbComboBox::setItemText( int index, const QString &text ) { Q_D( HbComboBox ); - if (d->mModel) { + if ( d->mModel ) { QModelIndex item = d->mModel->index( index, 0 ); if ( item.isValid( ) ) { - if(d->mModel->setData( item, text, Qt::EditRole )) { - if(d->mCurrentIndex.row() == index) { + if( d->mModel->setData( item, text, Qt::EditRole ) ) { + if( d->mCurrentIndex.row( ) == index ) { if( d->mLineEdit ) { d->mLineEdit->setText( text ); - } else { + } else { d->mText = text ; HbStyleOptionComboBox comboBoxOption; - initStyleOption(&comboBoxOption); - style()->updatePrimitive( d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption); + initStyleOption( &comboBoxOption ); + style( )->updatePrimitive( + d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption ); } } } - } } } @@ -946,26 +1000,27 @@ { Q_D( HbComboBox ); bool accepted = false; - if ( !isEnabled() ) { + if ( !isEnabled( ) ) { return false ; } - if(obj == static_cast(d->mButtonTouchAreaItem)) { - if(event->type() == QEvent::Gesture ) { + if( obj == static_cast( d->mButtonTouchAreaItem ) ) { + if( event->type( ) == QEvent::Gesture ) { QGestureEvent *gestureEvent = static_cast( event ); - if(gestureEvent->gesture(Qt::TapGesture)) { - HbTapGesture *tap = static_cast(gestureEvent->gesture(Qt::TapGesture)); - switch(tap->state()) { + if( gestureEvent->gesture( Qt::TapGesture ) ) { + HbTapGesture *tap = + static_cast( gestureEvent->gesture( Qt::TapGesture ) ); + switch( tap->state( ) ) { case Qt::GestureStarted: { d->touchAreaPressEvent( ); accepted = true; break; - } + } case Qt::GestureCanceled: { d->mIsDown = false; - updatePrimitives(); - setProperty("state", "normal"); + updatePrimitives( ); + setProperty( "state", "normal" ); accepted = true; break; } @@ -990,7 +1045,7 @@ */ void HbComboBox::changeEvent( QEvent *event ) { - switch ( event->type( ) ){ + switch ( event->type( ) ) { case QEvent::EnabledChange: updatePrimitives( ); break; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbcombobox.h --- a/src/hbwidgets/widgets/hbcombobox.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbcombobox.h Thu May 27 13:10:59 2010 +0300 @@ -57,21 +57,22 @@ explicit HbComboBox( QGraphicsItem *parent = 0 ); virtual ~HbComboBox( ); - enum { Type = Hb::ItemType_ComboBox }; - int type( ) const { return Type; } + enum { + Type = Hb::ItemType_ComboBox + }; + int type( ) const { + return Type; + } void addItem( const QString &text, const QVariant &userData = QVariant() ); - void addItem( const HbIcon &icon, - const QString &text, - const QVariant &userData = QVariant( ) ); + void addItem( const HbIcon &icon, const QString &text, + const QVariant &userData = QVariant( ) ); void addItems( const QStringList &texts ); void insertItem( int index, const QString &text, const QVariant &userData = QVariant() ); - void insertItem( int index, - const HbIcon &icon, - const QString &text, - const QVariant & userData = QVariant( ) ); + void insertItem( int index, const HbIcon &icon, const QString &text, + const QVariant & userData = QVariant( ) ); void insertItems( int index, const QStringList &texts ); int count( ) const; @@ -84,10 +85,10 @@ void setItemText( int index, const QString &text ); QString itemText( int index ) const; - + void setModel( QAbstractItemModel *model ); QAbstractItemModel *model( ) const; - + void setEditable( bool editable ); bool isEditable( ) const; @@ -96,17 +97,18 @@ void setValidator( HbValidator *validator ); const HbValidator *validator( ) const; - + QString currentText( ) const; - + int currentIndex( ) const; - + void removeItem( int index ); inline int findText( const QString &text, - Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const - { return findData( text, Qt::DisplayRole, flags ); } - + Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const { + return findData( text, Qt::DisplayRole, flags ); + } + int findData( const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const; @@ -118,11 +120,12 @@ void clearEditText( ); void setCurrentIndex( int index ); void setEditText( const QString &text ); - + signals: void currentIndexChanged( int index ); void currentIndexChanged( const QString &text ); void editTextChanged( const QString &text ); + void editingFinished( ); protected: HbComboBox( HbComboBoxPrivate &dd, QGraphicsItem *parent = 0 ); diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbcombobox_p.cpp --- a/src/hbwidgets/widgets/hbcombobox_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbcombobox_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -48,7 +48,7 @@ #include HbComboBoxPrivate::HbComboBoxPrivate( ): - HbWidgetPrivate ( ), + HbWidgetPrivate ( ), mLineEdit ( 0 ), mTextItem ( 0 ), mButton ( 0 ), @@ -61,10 +61,10 @@ mButtonTouchAreaItem ( 0 ), mIsDown ( false ), mEditable ( false ), - mIsDorpdownCreated(false), - mIsDropwnToSceneAdded(false), + mIsDorpdownCreated( false ), + mIsDropwnToSceneAdded( false ), mHasDownEffect ( false ), - mHasUpEffect (false ), + mHasUpEffect ( false ), mListItemHeight( -1 ), mDropDownRowsInPortrait( -1 ), mDropDownRowsInLandscape( -1 ) @@ -73,11 +73,11 @@ HbComboBoxPrivate::~HbComboBoxPrivate( ) { - Q_Q(HbComboBox); + Q_Q( HbComboBox ); if( mButtonTouchAreaItem ) { static_cast( mButtonTouchAreaItem )->removeEventFilter( q ); } - if ( !q->scene() || !q->scene( )->property( "destructed" ).isValid( ) ) { + if ( !q->scene( ) || !q->scene( )->property( "destructed" ).isValid( ) ) { if( mDropDown ) { delete mDropDown; mDropDown = 0; @@ -103,23 +103,22 @@ mButton = q->style( )->createPrimitive( HbStyle::P_ComboBox_button, q ); HbStyle::setItemName( mButton, "combobox_button" ); - mButtonTouchAreaItem = q->style( )->createPrimitive( - HbStyle::P_ComboBoxButton_toucharea, q ); - static_cast(mButtonTouchAreaItem)->installEventFilter( q ); - q->setHandlesChildEvents(true); + mButtonTouchAreaItem = q->style( )->createPrimitive( HbStyle::P_ComboBoxButton_toucharea, q ); + static_cast( mButtonTouchAreaItem )->installEventFilter( q ); + q->setHandlesChildEvents( true ); - static_cast(mButtonTouchAreaItem)->grabGesture( Qt::TapGesture ); + static_cast( mButtonTouchAreaItem )->grabGesture( Qt::TapGesture ); } void HbComboBoxPrivate::touchAreaPressEvent( ) { Q_Q( HbComboBox ); - if (q->count() > 0) { + if ( q->count( ) > 0 ) { HbWidgetFeedback::triggered( q, Hb::InstantPressed ); } mIsDown = true; q->updatePrimitives( ); - q->setProperty( "state", "pressed" ); + q->setProperty( "state", "pressed" ); } void HbComboBoxPrivate::touchAreaReleaseEvent( ) @@ -128,7 +127,7 @@ mIsDown = false; touchAreaClicked( ); q->updatePrimitives( ); - if ( q->count() > 0 ) { + if ( q->count( ) > 0 ) { HbWidgetFeedback::triggered( q, Hb::InstantReleased ); } @@ -143,9 +142,9 @@ mDropDown->setVisible( true ); if( !mDropDown->mList ) { mDropDown->createList( ); - mDropDown->mList->setModel( mModel ); + mDropDown->mList->setModel( mModel ); q->connect( mDropDown->mList, SIGNAL( activated( QModelIndex ) ), q, - SLOT( _q_textChanged( QModelIndex ) ) ); + SLOT( _q_textChanged( QModelIndex ) ) ); } if ( mCurrentIndex.isValid( ) ) { if( mDropDown->mList->model( ) != mModel ) { @@ -158,12 +157,13 @@ mDropDown->mList->setModel( mModel ); } mDropDown->mList->scrollTo( mModel->index( 0, 0 ) ); - mDropDown->mList->setCurrentIndex( mModel->index( 0, 0 ), QItemSelectionModel::Select ); + mDropDown->mList->setCurrentIndex( + mModel->index( 0, 0 ), QItemSelectionModel::Select ); } #ifdef HB_EFFECTS - HbEffect::start( mDropDown, HB_DROPD0WN_ITEM_TYPE, "appear" ); + HbEffect::start( mDropDown, HB_DROPD0WN_ITEM_TYPE, "appear" ); #endif - positionDropDown( ); + positionDropDown( ); } } @@ -172,7 +172,7 @@ } -void HbComboBoxPrivate::vkbClosed() +void HbComboBoxPrivate::vkbClosed( ) { if( mDropDown->isVisible( ) ) { positionDropDown( ); @@ -180,17 +180,14 @@ } void HbComboBoxPrivate::showPopup( QAbstractItemModel *aModel, QModelIndex aIndex ) -{ - Q_UNUSED( aModel ); - Q_UNUSED( aIndex ); +{ Q_Q( HbComboBox ); if ( aModel && aModel->rowCount( ) ) { - addDropDownToScene(); + addDropDownToScene( ); if( !mDropDown->mList ) { - mDropDown->createList(); + mDropDown->createList( ); q->connect( mDropDown->mList, SIGNAL( activated( QModelIndex ) ), q, - SLOT( _q_textChanged( QModelIndex ) ) ); - + SLOT( _q_textChanged( QModelIndex ) ) ); } mDropDown->mList->setModel( aModel ); if ( aIndex.isValid( ) ) { @@ -204,22 +201,25 @@ } } -void HbComboBoxPrivate::createDropDown() -{ +void HbComboBoxPrivate::createDropDown( ) +{ if( !mIsDorpdownCreated ) { mDropDown = new HbComboDropDown( this ); mIsDorpdownCreated = true; - mDropDown->setVisible(false); + mDropDown->setVisible( false ); } } -void HbComboBoxPrivate::calculateListItemHeight() +void HbComboBoxPrivate::calculateListItemHeight( ) { QAbstractItemModel *model = mDropDown->mList->model( ); if( mCurrentIndex.isValid( ) && mDropDown->mList->itemByIndex( mCurrentIndex ) ) { mListItemHeight = mDropDown->mList->itemByIndex( mCurrentIndex )->geometry( ).height( ); - } else if( model->index( 0, 0 ).isValid() && mDropDown->mList->itemByIndex( model->index( 0, 0 ) ) ) { - mListItemHeight = mDropDown->mList->itemByIndex( model->index( 0, 0 ) )->geometry( ).height( ); + } else if( model->index( 0, 0 ).isValid( ) && + mDropDown->mList->itemByIndex( model->index( 0, 0 ) ) ) { + + mListItemHeight = + mDropDown->mList->itemByIndex( model->index( 0, 0 ) )->geometry( ).height( ); } else { HbListViewItem *proto = mDropDown->mList->listItemPrototype( ); HbListViewItem *temp = static_cast( proto->createItem( ) ); @@ -238,10 +238,10 @@ QAbstractItemModel *model = mDropDown->mList->model( ); calculateListItemHeight( ); qreal totalHeightRequd = model->rowCount( ) * mListItemHeight; - qreal maxPopupHeight = 0.0; + //read the maximum rows in drop down for different orientation from css - if( q->mainWindow( )->orientation( ) == Qt::Horizontal ){ + if( q->mainWindow( )->orientation( ) == Qt::Horizontal ) { if( mDropDownRowsInLandscape == -1 ) { HbStyleParameters params; q->style( )->parameters( params ); @@ -250,17 +250,17 @@ mDropDownRowsInLandscape = params.value( "max-rows-in-dropdown" ).toInt( ); } maxPopupHeight = mDropDownRowsInLandscape * mListItemHeight; - } else if( q->mainWindow( )->orientation( ) == Qt::Vertical ){ + } else if( q->mainWindow( )->orientation( ) == Qt::Vertical ) { if( mDropDownRowsInPortrait == -1 ) { HbStyleParameters params; - q->style( )->parameters(params); + q->style( )->parameters( params ); params.addParameter( "max-rows-in-dropdown" ); q->polish( params ); - mDropDownRowsInPortrait = params.value("max-rows-in-dropdown").toInt(); + mDropDownRowsInPortrait = params.value( "max-rows-in-dropdown" ).toInt( ); } maxPopupHeight = mDropDownRowsInPortrait * mListItemHeight; } - + if ( totalHeightRequd < maxPopupHeight ) { maxPopupHeight = totalHeightRequd; } @@ -269,55 +269,55 @@ if( !mDropDown->vkbOpened ) { //position of drop down in both editable and non-editable combobox depends upon //the available space above and below combobox - if( (widgetPos.y( ) + q->rect( ).height( ) + maxPopupHeight) < sceneRect.height( ) ) { - popupPos = QPointF( widgetPos.x(), widgetPos.y( ) + q->rect( ).height( ) ); + if( ( widgetPos.y( ) + q->rect( ).height( ) + maxPopupHeight) < sceneRect.height( ) ) { + popupPos = QPointF( widgetPos.x( ), widgetPos.y( ) + q->rect( ).height( ) ); #ifdef HB_EFFECTS - if ( !mHasDownEffect ) { - mHasDownEffect = true; - mHasUpEffect = false; - // this is temporary until proper effect theming comes. - //this Effect will be shown when there is space in the view bottom. - HbEffectInternal::add( mDropDown, "combo_appear_down", "appear" ); - HbEffectInternal::add( mDropDown, "combo_disappear_downl", "disappear" ); - } + if ( !mHasDownEffect ) { + mHasDownEffect = true; + mHasUpEffect = false; + // this is temporary until proper effect theming comes. + //this Effect will be shown when there is space in the view bottom. + HbEffectInternal::add( mDropDown, "combo_appear_down", "appear" ); + HbEffectInternal::add( mDropDown, "combo_disappear_downl", "disappear" ); + } #endif } else if( widgetPos.y( ) - maxPopupHeight > 0.0 ) { popupPos = QPointF( widgetPos.x( ), widgetPos.y( ) - maxPopupHeight ); #ifdef HB_EFFECTS - if ( !mHasUpEffect ) { - // this is temporary until proper effect theming comes. - //this Effect will be shown when there is no space in the view bottom - mHasUpEffect = true; - mHasDownEffect = false; - HbEffectInternal::add( mDropDown, "combo_appear_up", "appear" ); - HbEffectInternal::add( mDropDown, "combo_disappear_up", "disappear" ); - } + if ( !mHasUpEffect ) { + // this is temporary until proper effect theming comes. + //this Effect will be shown when there is no space in the view bottom + mHasUpEffect = true; + mHasDownEffect = false; + HbEffectInternal::add( mDropDown, "combo_appear_up", "appear" ); + HbEffectInternal::add( mDropDown, "combo_disappear_up", "disappear" ); + } #endif } else { qreal topScreenHeight = sceneRect.height( ) - maxPopupHeight; if( topScreenHeight > sceneRect.height( ) - topScreenHeight ) { popupPos = QPointF( widgetPos.x( ), 0.0 ); #ifdef HB_EFFECTS - if ( !mHasDownEffect ) { - mHasDownEffect = true; - mHasUpEffect = false; - // this is temporary until proper effect theming comes. - //this Effect will be shown when there is more space in the view bottom. - HbEffectInternal::add( mDropDown, "combo_appear_down", "appear" ); - HbEffectInternal::add( mDropDown, "combo_disappear_down", "disappear" ); - } + if ( !mHasDownEffect ) { + mHasDownEffect = true; + mHasUpEffect = false; + // this is temporary until proper effect theming comes. + //this Effect will be shown when there is more space in the view bottom. + HbEffectInternal::add( mDropDown, "combo_appear_down", "appear" ); + HbEffectInternal::add( mDropDown, "combo_disappear_down", "disappear" ); + } #endif } else { popupPos = QPointF( widgetPos.x( ), sceneRect.height( ) - maxPopupHeight ); #ifdef HB_EFFECTS - if ( !mHasUpEffect ) { - mHasUpEffect = true; - mHasDownEffect = false; - // this is temporary until proper effect theming comes. - //this Effect will be shown when there is more space in the view bottom. - HbEffectInternal::add( mDropDown, "combo_appear_up", "appear" ); - HbEffectInternal::add( mDropDown, "combo_disappear_up", "disappear" ); - } + if ( !mHasUpEffect ) { + mHasUpEffect = true; + mHasDownEffect = false; + // this is temporary until proper effect theming comes. + //this Effect will be shown when there is more space in the view bottom. + HbEffectInternal::add( mDropDown, "combo_appear_up", "appear" ); + HbEffectInternal::add( mDropDown, "combo_disappear_up", "disappear" ); + } #endif } } @@ -325,13 +325,12 @@ // positioning drop down when vkb is positioned // drop down will come on top/below of combo based upon which side has more space // available - HbEditorInterface editorInterface( q ); HbVkbHost *host = editorInterface.vkbHost( ); if ( host ) { QSizeF keyBoardArea = host->keyboardArea( ); QSize screenSize = HbDeviceProfile::profile( q ).logicalSize( ); - + qreal heightDifference = screenSize.height( ) - keyBoardArea.height( ); qreal topSpace = widgetPos.y( ); qreal bottomSpace = heightDifference - topSpace - q->boundingRect( ).height( ); @@ -345,16 +344,15 @@ popupSize.setHeight( topSpace ); } #ifdef HB_EFFECTS - if ( !mHasUpEffect ) { - mHasUpEffect = true; - mHasDownEffect = false; - // this is temporary until proper effect theming comes. - //this Effect will be shown when there is more space in the view bottom. - HbEffectInternal::add( mDropDown, "combo_appear_up", "appear" ); - HbEffectInternal::add( mDropDown, "combo_disappear_up", "disappear" ); - } + if ( !mHasUpEffect ) { + mHasUpEffect = true; + mHasDownEffect = false; + // this is temporary until proper effect theming comes. + //this Effect will be shown when there is more space in the view bottom. + HbEffectInternal::add( mDropDown, "combo_appear_up", "appear" ); + HbEffectInternal::add( mDropDown, "combo_disappear_up", "disappear" ); + } #endif - } else { //display drop down at bottom popupPos = QPointF( widgetPos.x( ), widgetPos.y( ) + q->rect( ).height( ) ); @@ -362,14 +360,14 @@ popupSize.setHeight( bottomSpace ); } #ifdef HB_EFFECTS - if ( !mHasDownEffect ) { - mHasDownEffect = true; - mHasUpEffect = false; - // this is temporary until proper effect theming comes. - //this Effect will be shown when there is more space in the view bottom. - HbEffectInternal::add( mDropDown, "combo_appear_down", "appear" ); - HbEffectInternal::add( mDropDown, "combo_disappear_down", "disappear" ); - } + if ( !mHasDownEffect ) { + mHasDownEffect = true; + mHasUpEffect = false; + // this is temporary until proper effect theming comes. + //this Effect will be shown when there is more space in the view bottom. + HbEffectInternal::add( mDropDown, "combo_appear_down", "appear" ); + HbEffectInternal::add( mDropDown, "combo_disappear_down", "disappear" ); + } #endif } } @@ -377,7 +375,7 @@ mDropDown->setPreferredSize( popupSize ); mDropDown->setMinimumSize( popupSize ); mDropDown->setMaximumSize( popupSize ); - mDropDown->setPos(popupPos); + mDropDown->setPos( popupPos ); QGraphicsWidget *p = q; while ( p->parentWidget( ) ) { p = p->parentWidget( ); @@ -390,22 +388,22 @@ Q_Q( HbComboBox ); QVariant data = mDropDown->mList->model( )->data( aIndex ); mText = data.toString( ); - if( !mEditable ) { + if( !mEditable ) { if( mLineEdit ) { mLineEdit->setText( mText ); } else { HbStyleOptionComboBox comboBoxOption; q->initStyleOption( &comboBoxOption ); - q->style( )->updatePrimitive( mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption); + q->style( )->updatePrimitive( mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption ); } mCurrentIndex = aIndex; } else { q->disconnect( mLineEdit, SIGNAL( textChanged ( QString ) ), q, - SLOT( _q_textChanged( QString ) ) ); + SLOT( _q_textChanged( QString ) ) ); mLineEdit->setText( mText ); mCurrentIndex = findData( mText ); q->connect( mLineEdit, SIGNAL( textChanged ( QString ) ), q, - SLOT( _q_textChanged( QString ) ) ); + SLOT( _q_textChanged( QString ) ) ); } if ( mDropDown->isVisible( ) ) { mDropDown->setVisible( false ); @@ -414,7 +412,7 @@ } void HbComboBoxPrivate::_q_textCompleted( const QModelIndex & aIndex ) -{ +{ if( aIndex.isValid( ) ) { showPopup( mCompleter->completionModel( ) ); } @@ -422,21 +420,21 @@ void HbComboBoxPrivate::_q_textChanged( const QString & aString ) { - Q_Q(HbComboBox); + Q_Q( HbComboBox ); if( !aString.isEmpty( ) ) { if ( mCompleter ) { mCompleter->setCompletionPrefix( aString ); mCompleter->complete( ); - if( mCompleter->currentRow() == -1 ) { - if (( mDropDown ) && ( mDropDown->isVisible() )) { - mDropDown->setVisible(false); + if( mCompleter->currentRow( ) == -1 ) { + if ( ( mDropDown ) && ( mDropDown->isVisible( ) ) ) { + mDropDown->setVisible( false ); } } } } else { if( mDropDown ) { - mDropDown->setVisible(false); + mDropDown->setVisible( false ); } //showPopup( mModel, mCurrentIndex); } @@ -495,19 +493,20 @@ void HbComboBoxPrivate::setEditable( bool editable ) { - Q_Q(HbComboBox); + Q_Q( HbComboBox ); if( mEditable == editable ) { return; } mEditable = editable; - if( editable ) { + if( editable ) { if( mTextItem ) { HbStyle::setItemName( mTextItem, "" ); delete mTextItem; mTextItem = 0; mLineEdit = new HbCustomLineEdit( q, this ); + q->connect( mLineEdit, SIGNAL( editingFinished( ) ), q, SIGNAL( editingFinished( ) ) ); HbStyle::setItemName( mLineEdit, "combobox_labelfield" ); - mLineEdit->backgroundItem()->setVisible(false); + mLineEdit->backgroundItem( )->setVisible( false ); } q->setHandlesChildEvents( false ); mLineEdit->setReadOnly( false ); @@ -545,7 +544,7 @@ QIcon HbComboBoxPrivate::itemIcon( const QModelIndex &index ) const { QVariant decoration = mModel->data( index, Qt::DecorationRole ); - if ( decoration.type() == QVariant::Icon ) { + if ( decoration.type( ) == QVariant::Icon ) { return QIcon( qvariant_cast( decoration ) ); } return qvariant_cast( decoration ); @@ -557,7 +556,7 @@ } void HbComboBoxPrivate::addDropDownToScene( ) -{ +{ Q_Q( HbComboBox ); if( !mIsDropwnToSceneAdded ) { if ( q->scene( ) ) { @@ -577,20 +576,21 @@ bool indexChanged = ( mi != mCurrentIndex ); if ( indexChanged ) { mCurrentIndex = QModelIndex( mi ); - mText = q->itemText( mCurrentIndex.row( ) ); + mText = q->itemText( mCurrentIndex.row( ) ); if( mEditable ) { q->disconnect( mLineEdit, SIGNAL( textChanged ( QString ) ), q, SLOT( _q_textChanged( QString ) ) ); - mLineEdit->setText( mText ); - q->connect( mLineEdit, SIGNAL( textChanged ( QString ) ), - q, SLOT( _q_textChanged( QString ) ) ); - } else { + mLineEdit->setText( mText ); + q->connect( mLineEdit, SIGNAL( textChanged ( QString ) ), + q, SLOT( _q_textChanged( QString ) ) ); + } else { if( mLineEdit ) { mLineEdit->setText( mText ); - } else { + } else { HbStyleOptionComboBox comboBoxOption; q->initStyleOption(&comboBoxOption); - q->style( )->updatePrimitive( mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption ); + q->style( )->updatePrimitive( + mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption ); } } currentIndexChanged( mCurrentIndex ); @@ -598,9 +598,9 @@ } void HbComboBoxPrivate::currentIndexChanged( const QModelIndex &index ) -{ +{ Q_Q( HbComboBox ); - emit q->currentIndexChanged( index.row( ) ); + emit q->currentIndexChanged( index.row( ) ); emit q->currentIndexChanged( q->itemText ( mCurrentIndex.row( ) ) ); } diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbcombobox_p.h --- a/src/hbwidgets/widgets/hbcombobox_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbcombobox_p.h Thu May 27 13:10:59 2010 +0300 @@ -66,7 +66,7 @@ HbComboBoxPrivate( ); ~HbComboBoxPrivate( ); void init( ); - void createPrimitives(); + void createPrimitives( ); void setModel( QAbstractItemModel * model ); void positionDropDown( ); void setCompletion( bool completion ); @@ -88,9 +88,9 @@ QModelIndex findData( const QVariant &data ) const; void showPopup( QAbstractItemModel* aModel, QModelIndex aIndex = QModelIndex( ) ); void createDropDown( ); - void calculateListItemHeight(); + void calculateListItemHeight( ); -public: +public: HbCustomLineEdit* mLineEdit; QGraphicsItem* mTextItem; QGraphicsItem *mButton; @@ -118,14 +118,12 @@ { Q_OBJECT public: - explicit HbComboListViewItem ( QGraphicsItem *parent = 0 ) : HbListViewItem( parent ) - { + explicit HbComboListViewItem ( QGraphicsItem *parent = 0 ) : HbListViewItem( parent ) { } - HbAbstractViewItem *createItem() - { - return new HbComboListViewItem(*this); - } + HbAbstractViewItem *createItem( ) { + return new HbComboListViewItem( *this ); + } }; class HbCustomLineEdit : public HbLineEdit @@ -133,34 +131,32 @@ Q_OBJECT public: - HbCustomLineEdit( QGraphicsWidget *parent, HbComboBoxPrivate *comboPriv ) - :HbLineEdit( *new HbLineEditPrivate, parent ), + HbCustomLineEdit( QGraphicsWidget *parent, HbComboBoxPrivate *comboPriv ) : + HbLineEdit( *new HbLineEditPrivate, parent ), comboBoxPrivate( comboPriv ), - VkbLaunched( false ) - { - + VkbLaunched( false ) { + } + + void setLongPressEnabled( bool enable = true ) { + if( enable ) { + scrollArea( )->setLongPressEnabled( true ); + } else { + scrollArea( )->setLongPressEnabled( false ); + } } -void setLongPressEnabled( bool enable = true ) - { - if( enable ) { - scrollArea( )->setLongPressEnabled( true ); - } else { - scrollArea( )->setLongPressEnabled( false ); - } - } + protected: - void focusInEvent( QFocusEvent *event ) - { - HbEditorInterface editorInterface(this); - HbVkbHost *host = editorInterface.vkbHost(); - if ( host && !VkbLaunched ) { - VkbLaunched = true; - connect( host, SIGNAL( keypadClosed ( ) ), comboBoxPrivate->mDropDown, - SLOT( keypadClosed( ) ) ); - connect( host, SIGNAL( keypadOpened ( ) ), comboBoxPrivate->mDropDown, - SLOT( keypadOpened( ) ) ); - } - HbLineEdit::focusInEvent(event); + void focusInEvent( QFocusEvent *event ) { + HbEditorInterface editorInterface( this ); + HbVkbHost *host = editorInterface.vkbHost( ); + if ( host && !VkbLaunched ) { + VkbLaunched = true; + connect( host, SIGNAL( keypadClosed ( ) ), comboBoxPrivate->mDropDown, + SLOT( keypadClosed( ) ) ); + connect( host, SIGNAL( keypadOpened ( ) ), comboBoxPrivate->mDropDown, + SLOT( keypadOpened( ) ) ); + } + HbLineEdit::focusInEvent( event ); } private: HbComboBoxPrivate *comboBoxPrivate; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbcombodropdown_p.cpp --- a/src/hbwidgets/widgets/hbcombodropdown_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbcombodropdown_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -34,20 +34,18 @@ #endif HbComboDropDown::HbComboDropDown( HbComboBoxPrivate *comboBoxPrivate, QGraphicsItem *parent ) - :HbWidget( parent ), - mList( 0 ), - comboPrivate( comboBoxPrivate ), - vkbOpened( false ), - backgroundPressed( false ) + :HbWidget( parent ), + mList( 0 ), + comboPrivate( comboBoxPrivate ), + vkbOpened( false ), + backgroundPressed( false ) { setBackgroundItem( HbStyle::P_ComboBoxPopup_background ); #if QT_VERSION >= 0x040600 - //this is to keep the focus in the previous widget. - setFlag( QGraphicsItem::ItemIsPanel, true ); - setActive( false ); + //this is to keep the focus in the previous widget. + setFlag( QGraphicsItem::ItemIsPanel, true ); + setActive( false ); #endif - //setFlag(QGraphicsItem::ItemIsPanel); - //setPanelModality(PanelModal); } HbComboDropDown::~HbComboDropDown( ) @@ -58,8 +56,8 @@ void HbComboDropDown::createList( ) { mList = new HbListView( this ); - mList->setLongPressEnabled(false); - HbComboListViewItem *protoType = new HbComboListViewItem(this); + mList->setLongPressEnabled( false ); + HbComboListViewItem *protoType = new HbComboListViewItem( this ); mList->setItemPrototype( protoType ); HbStyle::setItemName( mList, "list" ); mList->setUniformItemSizes( true ); @@ -69,13 +67,13 @@ void HbComboDropDown::keypadOpened( ) { vkbOpened = true; - comboPrivate->vkbOpened(); + comboPrivate->vkbOpened( ); } void HbComboDropDown::keypadClosed( ) { vkbOpened = false; - comboPrivate->vkbClosed(); + comboPrivate->vkbClosed( ); } bool HbComboDropDown::eventFilter( QObject *obj, QEvent *event ) @@ -90,28 +88,21 @@ case QEvent::GraphicsSceneMouseDoubleClick: { if( !( this->isUnderMouse( ) ) ) { - backgroundPressed = true; - accepted = true; - } - } - break; - case QEvent::GraphicsSceneMouseRelease: - { - if( !( this->isUnderMouse( ) ) && backgroundPressed ) { HbWidgetFeedback::triggered( this, Hb::InstantPopupClosed ); setVisible( false ); - backgroundPressed = false; + backgroundPressed = true; accepted = true; } } break; case QEvent::Gesture: { - if( !this->isUnderMouse() ) { + if( !this->isUnderMouse( ) ) { //if its a pan gesture then don't accept the event so that list can be scrolled //even if mouse is outside drop down area - if(QGestureEvent *gestureEvent = static_cast( event ) ) { - if( !qobject_cast( gestureEvent->gesture( Qt::PanGesture ) ) ) { + if( QGestureEvent *gestureEvent = static_cast( event ) ) { + if( !qobject_cast( + gestureEvent->gesture( Qt::PanGesture ) ) ) { accepted = true; } } @@ -122,7 +113,6 @@ break; } } - return accepted; } diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbcombodropdown_p.h --- a/src/hbwidgets/widgets/hbcombodropdown_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbcombodropdown_p.h Thu May 27 13:10:59 2010 +0300 @@ -35,8 +35,8 @@ Q_OBJECT public: explicit HbComboDropDown( HbComboBoxPrivate *comboBoxPrivate, QGraphicsItem *parent = 0 ); - virtual ~HbComboDropDown(); - void createList(); + virtual ~HbComboDropDown( ); + void createList( ); HbListView *mList; HbComboBoxPrivate *comboPrivate; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbdatetimepicker.cpp --- a/src/hbwidgets/widgets/hbdatetimepicker.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbdatetimepicker.cpp Thu May 27 13:10:59 2010 +0300 @@ -30,29 +30,37 @@ /*! @beta \class HbDateTimePicker - \brief HbDateTimePicker class provides a widget for picking the date, time, date and time. + \brief HbDateTimePicker class provides a widget for picking the date, time, date and time.
+ By default date picker will be created, with date functionality only. For exclusive time or datetime picker creation, use QTime or QDateTime variable as parameter for the constructor. \li Date and Time \li Date \li Time + Below is a sample code snippet for datetime picker creation: \snippet{ultimatecodesnippet/ultimatecodesnippet.cpp,51} - By default, display format is from HbExtendedLocale. User can set the format using \sa setDisplayFormat. - Based on the display format the tumblers or sections will be rearranged. + By default, display format is from HbExtendedLocale. User can set the format using setDisplayFormat API. \sa setDisplayFormat.
+ Based on the display format the tumblers or sections will be rearranged.
+ For each tumbler(TumbleView) in datetime picker, loopingEnabled property is always true.
- HbDateTimePicker provides various date and time range functionalities. - currently the date range is independent of the time range. + HbDateTimePicker provides various date and time range functionalities.
+ Currently the date range is independent of the time range. \sa setDateRange \sa setTimeRange \sa setDateTimeRange \sa setMinimumTime \sa setMaximumTime \sa setMinimumDate \sa setMaximumDate \sa setMinimumDateTime \sa setMaximumDateTime + + \image html hbdatetimepicker_date.png "Datetime picker with date functionalities, in d/MMMM format" + \image html hbdatetimepicker_time.png "Datetime picker with time functionalities, in h.m.AP format" + + Note:Graphics in the above images varies depending on theme. */ /*! \fn void dateChanged(const QDate &date) - This signal is emitted when item selection changes in any of the date pickers in the datetimepicker widget. + This signal is emitted when item selection changes in any of the date pickers(day, month, year) in the datetimepicker widget. \param date selected by the user. @@ -61,7 +69,7 @@ /*! \fn void timeChanged(const QTime &time) - This signal is emitted when item selection changes in any of the time pickers in the datetimepicker widget. + This signal is emitted when item selection changes in any of the time pickers(hour, minute, second, am/pm) in the datetimepicker widget. \param time selected by the user. */ @@ -69,7 +77,7 @@ /*! \fn void dateTimeChanged(const QDateTime &datetime) - This signal is emitted when item selection changes in any of the pickers in the datetimepicker widget. + This signal is emitted when item selection changes in any of the date and time pickers in the datetimepicker widget. \param datetime selected by the user. */ @@ -77,35 +85,34 @@ /*! Constructs date picker widget by default. - \param parent parent item. + \param parent parent item for datetime picker widget. */ HbDateTimePicker::HbDateTimePicker( QGraphicsItem *parent ): HbWidget(*new HbDateTimePickerPrivate, parent) { - Q_D(HbDateTimePicker); + Q_D(HbDateTimePicker); - //no mode passed so it should take date as mode by default - d->init(QVariant::Date); + //no mode passed so it should take date as mode by default + d->init(QVariant::Date); - setDateTime(QDateTime::currentDateTime()); + setDateTime(QDateTime::currentDateTime()); } /*! - Constructs datetime picker widget. - - \param datetime QDateTime value. + Constructs datetime picker widget with both date and time functionalities and with default locale's datetime format. + \param datetime Value to be set on datetime picker widget, which has both date and time related tumblers. */ HbDateTimePicker::HbDateTimePicker(const QDateTime &datetime, QGraphicsItem *parent ): HbWidget(*new HbDateTimePickerPrivate, parent) { Q_D(HbDateTimePicker); - d->init(QVariant::DateTime); - setDateTime(datetime); + d->init(QVariant::DateTime); + setDateTime(datetime); } /*! - Constructs date picker widget with default locale's date format. + Constructs datetime picker widget with only date functionalities and with default locale's date format. \param date QDate value. */ @@ -114,12 +121,12 @@ { Q_D(HbDateTimePicker); - d->init(QVariant::Date); + d->init(QVariant::Date); setDate(date); } /*! - Constructs time picker widget with default locale's time format. + Constructs datetime picker widget with only time functionalities and with with default locale's time format. \param time QTime value. */ @@ -128,12 +135,13 @@ { Q_D(HbDateTimePicker); - d->init(QVariant::Time); + d->init(QVariant::Time); setTime(time); } /*! - Internal. Protected constructor for derivations. + \internal + Protected constructor for derivations. the default mode is DateTimeMode, if other mode is required, set the mDateTimeMode variable. this does not set any default datetime, needs to be explicitly done in the derived constructor. @@ -144,7 +152,7 @@ { Q_D(HbDateTimePicker); - d->init(QVariant::DateTime); + d->init(QVariant::DateTime); } /*! @@ -169,7 +177,7 @@ /*! Returns current display format as QString value. - \return display format. + \return display format of datetime picker widget. \sa setDisplayFormat() */ @@ -210,26 +218,40 @@ NOTE:setDisplayFormat works only when the seperators are mentioned in the format like 'dd.mm.yy' or 'dd mm yy', this will be fixed in the future versions. - \param format is the display format in QString format. + \param format is the display format, for datetime picker widget, in QString format. \sa displayFormat() */ void HbDateTimePicker::setDisplayFormat(const QString &format) { - Q_D(HbDateTimePicker); + Q_D(HbDateTimePicker); - if(d->isFormatValid(format)){ - d->mFormat = format; - d->parseDisplayFormat(format); - d->rearrangeTumbleViews(); + if(d->isFormatValid(format)){ + d->mFormat = format; + d->parseDisplayFormat(format); + d->rearrangeTumbleViews(); d->emitDateTimeChange(); - }//End If format is valid + }//End If format is valid } /*! Returns the current date in QDate format. - \return Date Picker's current date. + \return current selected date in datetime picker. + + Note: The DocML does not support directly the properties which uses QDate/QTime/QDateTime as parameters. For the properties to work user has to pass date, time or datetime + as a string, in a valid ISO date format. + + ISO 8601 extended format: either YYYY-MM-DD for dates or YYYY-MM-DDTHH:MM:SS for combined dates and times. + + \code + ... + + + + + ... + \endcode \sa setDate */ @@ -243,7 +265,7 @@ /*! Sets the current \a date in the form of QDate. - \param date date in QDate format + \param date date to be set on the datetime picker in QDate format \sa date */ @@ -256,7 +278,21 @@ /*! Returns minimum date in QDate format. - \return Minimum date in QDate format. + \return Minimum date set on datetime picker in QDate format. + + Note: The DocML does not support directly the properties which uses QDate/QTime/QDateTime as parameters. For the properties to work user has to pass date, time or datetime + as a string, in a valid ISO date format. + + ISO 8601 extended format: either YYYY-MM-DD for dates or YYYY-MM-DDTHH:MM:SS for combined dates and times. + + \code + ... + + + + + ... + \endcode \sa setMinimumDate */ @@ -269,7 +305,7 @@ /*! Sets minimum \a date in QDate format. - \param Minimum date in QDate format. + \param Minimum date to be set on datetime picker in QDate format. \sa minimumDate */ @@ -282,7 +318,21 @@ /*! Returns maximum date in QDate format. - \return Maximum Date in QDate format. + \return Maximum Date set on datetime picker in QDate format. + + Note: The DocML does not support directly the properties which uses QDate/QTime/QDateTime as parameters. For the properties to work user has to pass date, time or datetime + as a string, in a valid ISO date format. + + ISO 8601 extended format: either YYYY-MM-DD for dates or YYYY-MM-DDTHH:MM:SS for combined dates and times. + + \code + ... + + + + + ... + \endcode \sa setMaximumDate */ @@ -295,7 +345,7 @@ /*! Sets maximum \a date in QDate format. - \param date Maximum date in QDate format. + \param date Maximum date to be set on datetime picker in QDate format. \sa maximumDate */ @@ -306,7 +356,7 @@ } /*! - Sets minimum \a minDate and maximum \a maxDate dates in QDate format. + Sets minimum \a minDate and maximum \a maxDate dates in QDate format. This will allow user to set date range on datetime picker. \param minDate Minimum date in QDate format. \param maxDate Maximum date in QDate format. @@ -321,10 +371,24 @@ } /*! - Returns the current datetime in QDateTime format. + Returns the current date and time value, selected in datetime picker, in QDateTime format. \return date and time value in QDateTime format. + Note: The DocML does not support directly the properties which uses QDate/QTime/QDateTime as parameters. For the properties to work user has to pass date, time or datetime + as a string, in a valid ISO date format. + + ISO 8601 extended format: either YYYY-MM-DD for dates or YYYY-MM-DDTHH:MM:SS for combined dates and times. + + \code + ... + + + + + ... + \endcode + \sa setDateTime */ QDateTime HbDateTimePicker::dateTime()const @@ -334,7 +398,7 @@ } /*! - Sets the current \a datetime in the form of QDateTime. + Sets the current \a datetime value to be set on datetime picker in QDateTime format. \param datetime in QDateTime format. @@ -347,10 +411,24 @@ } /*! - Returns minimum date time in QDateTime format. + Returns minimum date time value set on datetime picker in QDateTime format. \return Minimum date and minimum time in QDateTime format. + Note: The DocML does not support directly the properties which uses QDate/QTime/QDateTime as parameters. For the properties to work user has to pass date, time or datetime + as a string, in a valid ISO date format. + + ISO 8601 extended format: either YYYY-MM-DD for dates or YYYY-MM-DDTHH:MM:SS for combined dates and times. + + \code + ... + + + + + ... + \endcode + \sa setMinimumDateTime */ QDateTime HbDateTimePicker::minimumDateTime()const @@ -360,9 +438,10 @@ } /*! - Sets minimum \a datetime in QDateTime format. - Note: There's no link between Date and time in this API, using this API as of now - would be similar to using combination of \sa setMinimumDate and \sa setMinimumTime + Sets minimum \a datetime for datetime picker in QDateTime format. + + Note: There's no link between Date functionality and time functionality in this API. Using this API, for now, + would be similar to using a combination of setMinimumDate and setMinimumTime APIs. \param datetime minimum date and minimum time in QDateTime format. @@ -375,11 +454,25 @@ } /*! - Returns maximum date time in QDateTime format. + Returns maximum date time, set on datetime picker, in QDateTime format. \return Maximum date and maximum time in QDateTime format. - \sa setMaximumDate + Note: The DocML does not support directly the properties which uses QDate/QTime/QDateTime as parameters. For the properties to work user has to pass date, time or datetime + as a string, in a valid ISO date format. + + ISO 8601 extended format: either YYYY-MM-DD for dates or YYYY-MM-DDTHH:MM:SS for combined dates and times. + + \code + ... + + + + + ... + \endcode + + \sa setMaximumDateTime */ QDateTime HbDateTimePicker::maximumDateTime()const { @@ -388,10 +481,10 @@ } /*! - Sets maximum \a datetime in QDateTime format. - - Note: There's no link between Date and time in this API, using this API as of now - would be similar to using combination of \sa setMaximumDate and \sa setMaximumTime + Sets maximum \a datetime, to be set on datetime picker, in QDateTime format. + + Note: There's no link between Date functionality and time functionality in this API, using this API for now + would be similar to using a combination of setMaximumDate and setMaximumTime APIs. \param date Maximum date and maximum time in QDateTime format. @@ -404,17 +497,18 @@ } /*! - Sets minimum \a minDatetime and maximum \a maxDatetime datetimes in QDateTime format. + Sets minimum \a minDatetime and maximum \a maxDatetime date and time values, to be set on datetime picker, in QDateTime format. + This will allow the user to set date and time range on datetime picker. - Note: There's no link between Date and time in this API, using this API as of now - would be similar to using combination of \sa setMinimumDate \sa setMaximumTime and - \sa setMinimumTime, \sa setMaximumTime. + Note: There's no link between Date and time in this API, using this API for now + would be similar to using a combination of setMinimumDate, setMaximumTime and + setMinimumTime, setMaximumTime APIs. \param minDateTime minimum date and time in QDateTime format. \param maxDateTime maximum date and time in QDateTime format. \sa setMinimumDateTime \sa setMaximumDateTime \sa setMinimumDate \sa setMaximumDate - \sa setMinimumTime \sa setMaximumTime + \sa setMinimumTime \sa setMaximumTime */ void HbDateTimePicker::setDateTimeRange(const QDateTime &minDateTime, const QDateTime &maxDateTime) { @@ -423,10 +517,24 @@ } /*! - Returns the current time in QTime format. + Returns the current time, selected in datetime picker widget, in QTime format. \return time in QTime format. + Note: The DocML does not support directly the properties which uses QDate/QTime/QDateTime as parameters. For the properties to work user has to pass date, time or datetime + as a string, in a valid ISO date format. + + ISO 8601 extended format: either YYYY-MM-DD for dates or YYYY-MM-DDTHH:MM:SS for combined dates and times. + + \code + ... + + + + + ... + \endcode + \sa setTime */ QTime HbDateTimePicker::time() const @@ -436,7 +544,7 @@ } /*! - Sets the current \a time in the form of QTime. + Sets the current \a time, to be set on datetime picker widget, in QTime format. \param time in QTime format. @@ -449,10 +557,24 @@ } /*! - Returns minimum time in QTime format. + Returns minimum time, set on datetime picker, in QTime format. \return Minimum time in QTime format. + Note: The DocML does not support directly the properties which uses QDate/QTime/QDateTime as parameters. For the properties to work user has to pass date, time or datetime + as a string, in a valid ISO date format. + + ISO 8601 extended format: either YYYY-MM-DD for dates or YYYY-MM-DDTHH:MM:SS for combined dates and times. + + \code + ... + + + + + ... + \endcode + \sa setMinimumTime */ QTime HbDateTimePicker::minimumTime()const @@ -462,7 +584,7 @@ } /*! - Sets minimum \a time in QTime format. + Sets minimum \a time, to be set on datetime picker, in QTime format. \param time minimum time in QTime format. @@ -475,10 +597,24 @@ } /*! - Returns maximum time in QTime format. + Returns maximum time, set on datetime picker, in QTime format. \return maximum time in QTime format. + Note: The DocML does not support directly the properties which uses QDate/QTime/QDateTime as parameters. For the properties to work user has to pass date, time or datetime + as a string, in a valid ISO date format. + + ISO 8601 extended format: either YYYY-MM-DD for dates or YYYY-MM-DDTHH:MM:SS for combined dates and times. + + \code + ... + + + + + ... + \endcode + \sa setMaximumTime */ QTime HbDateTimePicker::maximumTime()const @@ -488,7 +624,7 @@ } /*! - Sets maximum \a time in QTime format. + Sets maximum \a time, to be set on datetime picker, in QTime format. \param time maximum time in QTime format @@ -501,7 +637,7 @@ } /*! - Sets minimum \a minTime and maximum \a maxTime in QTime format. + Sets minimum \a minTime and maximum \a maxTime in QTime format. This will allow the user to set a time range on datetime picker. \param minTime minimum time in QTime format. \param maxTime maximum time in QTime format. @@ -516,9 +652,10 @@ } /*! - sets the \a interval for the corresponding \a section. + Sets the \a interval or periodic gap for the corresponding \a section. - Note: Only MinuteSection is supported at this time. + Note: Only MinuteSection is supported at this time.
+ Note: Minute interval must be a divisor of 60. Divisors of 60 are 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 \param section can be a MinuteSection. \param interval to be set on each picker. @@ -534,14 +671,30 @@ return; } + if(60 % interval) + { + return; + } + d->mIntervals[section] = interval; if((section == QDateTimeEdit::MinuteSection) && (d->mMinuteModel)){ d->mMinuteModel->removeRows(0, d->mMinuteModel->rowCount()); - d->resizeModel(d->mMinuteModel, d->mMinimumDate.time().minute(), d->mMaximumDate.time().minute(), - d->mMinimumDate.time().minute(), d->mMaximumDate.time().minute(),&HbDateTimePickerPrivate::localeMinute, interval); + int newStart = d->mMinimumDate.time().minute(); + if(interval <= newStart && !d->isMinimumHour()){ + int i = 0; + for(i = newStart; i > 0; i -= interval){ + + } + + newStart = i; + + } + + d->resizeModel(d->mMinuteModel, newStart, d->isMaximumHour()?d->mMaximumDate.time().minute():59, + newStart, d->isMaximumHour()?d->mMaximumDate.time().minute():59,&HbDateTimePickerPrivate::localeMinute, d->mIntervals[section]); } } @@ -560,7 +713,6 @@ } /*! - \deprecated HbDateTimePicker::primitive(HbStyle::Primitive) is deprecated. diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbdatetimepicker_p.cpp --- a/src/hbwidgets/widgets/hbdatetimepicker_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbdatetimepicker_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -477,7 +477,7 @@ mAmPmPicker = new HbTumbleView(q); mAmPmModel = new QStringListModel(q); mAmPmPicker->setModel(mAmPmModel); - //mAmPmPicker->setLoopingEnabled(true); + mAmPmPicker->setLoopingEnabled(true); mLayout->addItem(mAmPmPicker); mAmPmPicker->primitive("highlight")->hide(); mAmPmPicker->primitive("separator")->show(); @@ -489,9 +489,8 @@ mDayPicker = new HbTumbleView(q); mDayModel = new QStringListModel(q); mDayPicker->setModel(mDayModel); - //mDayPicker->setLoopingEnabled(true); + mDayPicker->setLoopingEnabled(true); mLayout->addItem(mDayPicker); - mDayPicker->primitive("highlight")->hide(); mDayPicker->primitive("separator")->show(); lastAdded = mDayPicker; break; @@ -500,9 +499,8 @@ mMonthPicker = new HbTumbleView(q); mMonthModel = new QStringListModel(q); mMonthPicker->setModel(mMonthModel); - //mMonthPicker->setLoopingEnabled(true); + mMonthPicker->setLoopingEnabled(true); mLayout->addItem(mMonthPicker); - mMonthPicker->primitive("highlight")->hide(); mMonthPicker->primitive("separator")->show(); lastAdded = mMonthPicker; break; @@ -512,9 +510,8 @@ mYearPicker = new HbTumbleView(q); mYearModel = new QStringListModel(q); mYearPicker->setModel(mYearModel); - //mYearPicker->setLoopingEnabled(true); + mYearPicker->setLoopingEnabled(true); mLayout->addItem(mYearPicker); - mYearPicker->primitive("highlight")->hide(); mYearPicker->primitive("separator")->show(); lastAdded = mYearPicker; break; @@ -523,9 +520,8 @@ mSecondPicker = new HbTumbleView(q); mSecondModel = new QStringListModel(q); mSecondPicker->setModel(mSecondModel); - //mSecondPicker->setLoopingEnabled(false); + mSecondPicker->setLoopingEnabled(true); mLayout->addItem(mSecondPicker); - mSecondPicker->primitive("highlight")->hide(); mSecondPicker->primitive("separator")->show(); lastAdded = mSecondPicker; break; @@ -534,9 +530,8 @@ mMinutePicker = new HbTumbleView(q); mMinuteModel = new QStringListModel(q); mMinutePicker->setModel(mMinuteModel); - //mMinutePicker->setLoopingEnabled(false); + mMinutePicker->setLoopingEnabled(true); mLayout->addItem(mMinutePicker); - mMinutePicker->primitive("highlight")->hide(); mMinutePicker->primitive("separator")->show(); lastAdded = mMinutePicker; break; @@ -546,9 +541,8 @@ mHourPicker = new HbTumbleView(q); mHourModel = new QStringListModel(q); mHourPicker->setModel(mHourModel); - //mHourPicker->setLoopingEnabled(true); + mHourPicker->setLoopingEnabled(true); mLayout->addItem(mHourPicker); - mHourPicker->primitive("highlight")->hide(); mHourPicker->primitive("separator")->show(); lastAdded = mHourPicker; break; @@ -556,6 +550,12 @@ default: break; } + + if(lastAdded){ + lastAdded->primitive("highlight")->hide(); + lastAdded->primitive("separator")->show(); + } + } //For the last added tumble view, hide the separator. @@ -818,9 +818,28 @@ if(mHourPicker) { mHourPicker->setSelected(newDateTime.time().hour()-mHourOffset); } + if(mMinutePicker) { - mMinutePicker->setSelected(newDateTime.time().minute()-mMinuteOffset); + int index = newDateTime.time().minute()-mMinuteOffset; + if(mIntervals[QDateTimeEdit::MinuteSection] > 1){ + for(int i = 0; i < mMinuteModel->rowCount(); i++){ + + if(mMinuteModel->index(i,0).data().toInt() <= newDateTime.time().minute()){ + index = i; + } + else{ + break; + } + + //TODO: if minute is not in the model data then nearest value should be selected. + } + } + else{ + index = newDateTime.time().minute()-mMinuteOffset; + } + mMinutePicker->setSelected(index); } + if(mSecondPicker) { #ifdef HBDATETIMEPICKER_DEBUG qDebug() << "setDateTime before: secondOffset=" << mSecondOffset << " time=" << newDateTime.time(); @@ -1013,13 +1032,45 @@ newIndex = end-start; } - resizeModel(mMinuteModel, - mMinuteOffset,mMinuteOffset+mMinuteModel->rowCount()-1, - start,end, - &HbDateTimePickerPrivate::localeMinute, mIntervals[QDateTimeEdit::MinuteSection]); + //Store the value before resizing the model. + int value = mMinuteModel->index(mMinutePicker->selected()).data().toInt(); + + if(mIntervals[QDateTimeEdit::MinuteSection] > 1){ + if((mIntervals[QDateTimeEdit::MinuteSection] <= mMinimumDate.time().minute()) && + !isMinimumHour()){ + int i = 0; + for(i = start; i > 0; i -= mIntervals[QDateTimeEdit::MinuteSection]){ + + } + + start = i; + } + else{ + start = mMinimumDate.time().minute(); + } + } + + resizeModel(mMinuteModel, mMinuteOffset,mMinuteModel->index(mMinuteModel->rowCount() - 1).data().toInt()/*mMinuteOffset+mMinuteModel->mMinuteModel->rowCount()-1*/, + start,end, + &HbDateTimePickerPrivate::localeMinute, mIntervals[QDateTimeEdit::MinuteSection]); mMinuteOffset = start; - mMinutePicker->setSelected(newIndex); + //Select the nearest value when the range is set. + int index = newIndex; + if(mIntervals[QDateTimeEdit::MinuteSection] > 1){ + for(int i = 0; i < mMinuteModel->rowCount(); i++){ + + if(mMinuteModel->index(i,0).data().toInt() <= value){ + index = i; + } + else{ + break; + } + } + } + mMinutePicker->setSelected(index); + + mDateTime.setTime(QTime(mDateTime.time().hour(), localeMinute(mMinuteModel->index(index,0).data().toInt()).toInt(), mDateTime.time().second())); //check if minute is valid if(mDateTime.time().minute() < start) { @@ -1145,25 +1196,23 @@ int newStart, int newEnd, QString (HbDateTimePickerPrivate::*localeFunc)(int), int interval) { - if(interval > 1){ - model->removeRows(0, model->rowCount()); - } - if((model->rowCount() == 0) && (newEnd-newStart>=0)) { //initialize condition - + int previous = newStart; for(int i=0;i<=newEnd-newStart;i++) { - //model->setData(index,(this->*localeFunc)(i+newStart));//TODO:add a readable typedef QString text; if(interval > 1){ - if(((newStart + interval) * i) <= newEnd){ + + if(previous <= newEnd){ model->insertRow(i); - text = (this->*localeFunc)(!((newStart + interval)*i) ? newStart : (newStart + interval)*i); + text = (this->*localeFunc)(previous); } else{ break; } + + previous += interval; } else{ model->insertRow(i); @@ -1188,31 +1237,120 @@ } if(newStart < oldStart) { - model->insertRows(0,oldStart-newStart); + int previous = newStart; + for(int i=0;i 1){ + + if(previous < oldStart){ + model->insertRow(i); + text = (this->*localeFunc)(previous); + } + else{ + break; + } + + previous += interval; + } + else{ + model->insertRow(i); + text = (this->*localeFunc)(i+newStart); + } + QModelIndex index=model->index(i,0); if(index.isValid()) { - model->setData(index,(this->*localeFunc)(i+newStart)); + model->setData(index,text); } } } if(newEnd > oldEnd) { + int rowCount = model->rowCount(); - model->insertRows(rowCount,newEnd-oldEnd); + int previous = oldEnd+interval; for(int i=0;i 1){ + + if(previous <= newEnd){ + model->insertRows(rowCount+i,1); + text = (this->*localeFunc)(previous); + } + else{ + break; + } + + previous += interval; + } + else{ + model->insertRows(rowCount+i,1); + text = (this->*localeFunc)(oldEnd+i+1); + } + QModelIndex index=model->index(rowCount+i,0); if(index.isValid()) { - model->setData(index,(this->*localeFunc)(oldEnd+i+1)); + model->setData(index,text); } } } if(newStart > oldStart) { - model->removeRows(0,newStart-oldStart); + if(interval > 1){ + for(int i = oldStart; i < newStart; i += interval){ + model->removeRows(0, 1); + } + } + else{ + model->removeRows(0,newStart-oldStart); + } } if(oldEnd > newEnd) { - model->removeRows((model->rowCount()-(oldEnd-newEnd)),oldEnd-newEnd); + if(interval > 1){ + for(int i = oldEnd; i > newEnd; i -= interval){ + model->removeRows(model->rowCount()-1, 1); + } + } + else{ + model->removeRows((model->rowCount()-(oldEnd-newEnd)),oldEnd-newEnd); + } + } + + if(interval > 1){ + //Check if there's any mismatch between actual rows in the model and the supposed rows. + int previous = newStart; + int actualRowCount = 0; + for(actualRowCount=0;actualRowCount<=newEnd-newStart;actualRowCount++) { + if(previous <= newEnd){ + } + else{ + break; + } + + previous += interval; + } + + if(actualRowCount > model->rowCount()){ + model->insertRows(model->rowCount(), actualRowCount - model->rowCount()); + } + else if( actualRowCount < model->rowCount()){ + model->removeRows(model->rowCount()-1, model->rowCount() - actualRowCount); + } + + //Populate the data in the model. + previous = newStart; + for(int i = 0; i < model->rowCount(); i++) + { + if(previous <= newEnd){ + model->setData(model->index(i), (this->*localeFunc)(previous)); + } + else{ + break; + } + previous += interval; + } } } @@ -1482,10 +1620,12 @@ void HbDateTimePickerPrivate::_q_minutesChanged(int index) { + bool *bOk = false; #ifdef HBDATETIMEPICKER_DEBUG qDebug() << "_q_minutesChanged:" << index; + qDebug() << mLocale.toInt(mMinuteModel->index(mMinuteOffset+index,0).data().toString(),bOk, 10); #endif - QTime newTime(mDateTime.time().hour(),mLocale.toInt(mMinuteModel->index(mMinuteOffset+index,0).data().toString()),mDateTime.time().second()); + QTime newTime(mDateTime.time().hour(),mLocale.toInt(mMinuteModel->index(index,0).data().toString(),bOk, 10),mDateTime.time().second()); if(newTime.isValid()) { mDateTime.setTime(newTime); } diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbdatetimepicker_p.h --- a/src/hbwidgets/widgets/hbdatetimepicker_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbdatetimepicker_p.h Thu May 27 13:10:59 2010 +0300 @@ -163,7 +163,6 @@ int newStart, int newEnd, QString (HbDateTimePickerPrivate::*localeFuncPtr)(int), int interval = 1); - void createPrimitives(); void deleteAndNull(HbTumbleView*& t) { delete t;t=0; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbgroupbox.cpp --- a/src/hbwidgets/widgets/hbgroupbox.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbgroupbox.cpp Thu May 27 13:10:59 2010 +0300 @@ -89,7 +89,7 @@ /*! \internal - Sets the group box type + Sets the groupbox type */ void HbGroupBoxPrivate::setGroupBoxType( GroupBoxType type ) { @@ -171,59 +171,60 @@ /*! - @alpha + @beta @hbwidgets \class HbGroupBox \brief HbGroupBox shows the user that a set of controls belong together. - HbGroupBox is a container that provides the following : + HbGroupBox is a container, which can have following Elementes: - \li Heading: text only - \li Body content: arbitrary content (any HbWidget) - \li Disclosure mechanism: expands and collapses the body content; + \li Heading: A heading contains one row text and disclosure indicator if the disclosure mechanism is on. + \li Body content: Can have arbitrary content (any HbWidget)and application is responsible for its layout. + \li Disclosure Indicator: Indicates the expands and collapses state of body; There are three types of GroupBox: - \li Simple Label - it's only function is to show relationship between items. - simple Label shows a heading with marquee, no disclosure mechanism, and - no body content. Marquee is disabled by default.Also it is not focusable. + \li Simple Label - Simple Label is to indicate the users position in the application hierarchy + or to display a textual label and its noninteractive. + Simple Label has a heading text with marquee, no disclosure mechanism, and + no body content.Simple label only has heading element. + Marquee is disabled by default, can be enabled using setMarqueeHeading () .Also it is not focusable. Example usage: For SimpleLabel type groupbox \code // create groupBox and set only heading; without any body content HbGroupBox *simpleLabel = new HbGroupBox(); simpleLabel->setHeading("Simple label groupBox comes with marquee disabled by default"); + //to make marqee enabled + simpleLabel->setMarqueeHeading(true); \endcode \image html simpleLabelgroupbox.png A SimpleLabel groupbox - \li Rich Label - does not show a heading and all content is in the body area - with no marquee and no disclosure control.Body Content must describe its own behavior and layout. + \li Rich Label - Rich label can contain dynamic content,which themselves can be interactive,or informative + with no heading ,no marquee and no disclosure control.Body Content must describe its own behavior and layout. Example usage: For RichLabel type groupbox \code // create groupBox and set only content; without any heading - HbGroupBox *richHeading = new HbGroupBox(); - // content widget can be any HbWidget - // layouting and interaction behaviour inside Content widget is application's responsiblity - HbPushButton *button = new HbPushButton(HbIcon(":/icons/ovi.png"),"Ovi"); + HbGroupBox *richLabel = new HbGroupBox(); + HbPushButton *button = new HbPushButton(HbIcon(QString("qtg_large_info")),"Ovi"); button->setAdditionalText("Launch Ovi Music store"); - button->setOrientation(Qt::Vertical); - button->setTextAlignment(Qt::AlignLeft); - richHeading->setContentWidget(button); + richLabel->setContentWidget(button); + mainlayout->addItem(richLabel); \endcode \image html richLabelgroupbox.png A RichLabel groupbox. In RichLabel type, groupbox provides background for body content. - \li Collapsing container - also allows the user to show or hide the content of the groupBox. + \li Collapsing container - Collapsing container allows the user to show or hide the content of the groupBox. It always has a heading and body content; optionally has a disclosure mechanism. - The heading does not marquee.The collapse/expand disclosure mechanism is located - in the heading and is the chief utility of this type of group box. + The heading does not marquee.The body content must describe its own behavior and layout. + The collapse/expand disclosure mechanism is located in the heading and is the chief utility of this type of groupbox. - If disclosure mechanism is Off, then heading will appear without expand/collapse indication icon + If disclosure mechanism is Off,then heading will appear without expand/collapse indication icon heading.Also the user will not be able to expand/collapse the body content. Example usage:For collapsingContainer groupbox @@ -241,7 +242,7 @@ \image html collapsableContainergroupbox.png A Collapsing container groupbox. In this type, groupBox body content can be expanded/collapsed, - depending on whether or not the group box is collapsed. + depending on whether or not the groupbox is collapsed. CollapsingContainer type groupBox comes with disclosure mechanism On by default. @@ -262,7 +263,7 @@ This signal is emitted only in case of richLabel and collapsing container groupbox, whenever click happened on body content.If the body content set is an interactive widget - and consumes mouse press event, then clicked signal will not get emitted from groupBox in that case. + and consumes mouse press event, then in that case clicked signal will not get emitted from groupBox. */ /*! @@ -273,8 +274,8 @@ */ /*! - @alpha - Constructs a group box with the given \a parent. + @beta + Constructs a groupbox with the given \a parent. */ HbGroupBox::HbGroupBox( QGraphicsItem *parent) : HbWidget(*new HbGroupBoxPrivate, parent) @@ -294,18 +295,20 @@ } /*! - Destructs the group box. + Destructs the groupbox. */ HbGroupBox::~HbGroupBox() { } /*! - @alpha + @beta - Sets the group box heading + Sets the groupbox heading Note: heading property is valid for simpleLabel & collapsing container type. + For Collapsing container, + if body content is collapsible ,heading will appear along with Disclosure indicator. If heading is set on richLabel type groupBox, it will be ignored \sa heading @@ -326,7 +329,7 @@ } /*! - @alpha + @beta Returns text shown on the groupBox heading. @@ -346,7 +349,7 @@ } /*! - @alpha + @beta Sets whether the groupbox is collapsable or not @@ -382,11 +385,11 @@ } /*! - @alpha + @beta Returns whether the groupbox is collapsable or not - By default, group boxes are collapsable. + By default, groupbox is collapsable. \sa setCollapsable */ @@ -399,18 +402,18 @@ } /*! - @alpha + @beta Sets whether the groupbox collapsed or expanded - If the groupbox is collapsed,the group box's content widget are hidden; + If the groupbox is collapsed,the groupbox's content widget are hidden; otherwise they will be visible setCollapsed on groupbox will emit signal toggled( bool ) upon collapse\expand of content widget - Only collapsable groupboxes can be collapsed. (i.e)this API will not do anything - if group box is not collapsable.By default, group boxes are not collapsed. + Only collapsable groupbox can be collapsed. (i.e)this API will not do anything + if groupbox is not collapsable.By default, groupbox is not collapsed. Note: collapsed property is valid only for collapsing container type. If collapsed is set on simpleLabel or richLabel type groupBox, it will be ignored @@ -449,15 +452,16 @@ d->mHeadingWidget->updatePrimitives(); emit toggled( d->mHeadingWidget->collapsed ); } - } + repolish(); + } } /*! - @alpha + @beta - Returns whether the group box is collapsed or expanded + Returns whether the groupbox is collapsed or expanded - By default, groupboxes are not collapsed. + By default, groupbox is not collapsed. \sa setCollapsed \sa setCollapsable */ @@ -471,7 +475,7 @@ } /*! - @alpha + @beta Enables the marquee for heading if marqueeHeading is true, otherwise the heading will not marquee. @@ -491,7 +495,7 @@ } /*! - @alpha + @beta Returns true if marquee is enabled for groupbox heading; otherwise returns false. @@ -511,7 +515,7 @@ /*! - @alpha + @beta Sets the groupbox content widget @@ -555,7 +559,7 @@ } /*! - @alpha + @beta Returns groupbox content widget diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbgroupbox.h --- a/src/hbwidgets/widgets/hbgroupbox.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbgroupbox.h Thu May 27 13:10:59 2010 +0300 @@ -39,6 +39,7 @@ Q_PROPERTY( bool marqueeHeading READ marqueeHeading WRITE setMarqueeHeading ) public: + explicit HbGroupBox( QGraphicsItem *parent = 0 ); ~HbGroupBox( ); @@ -48,7 +49,7 @@ bool isCollapsable( ) const; bool isCollapsed( ) const; - void setMarqueeHeading( bool marquee = false ); + void setMarqueeHeading( bool marquee = true ); bool marqueeHeading( ) const; void setContentWidget( HbWidget *widget ); @@ -56,20 +57,28 @@ virtual QGraphicsItem *primitive( HbStyle::Primitive primitive ) const; - enum { Type = Hb::ItemType_GroupBox }; - int type( ) const { return Type; } + enum { + Type = Hb::ItemType_GroupBox + }; + + int type( ) const { + return Type; + } public slots: + void updatePrimitives( ); void setCollapsed( bool collapsed = true ); void setCollapsable( bool collapsable = true ); - signals: +signals: + void clicked(); - void longPress(const QPointF &delta); - void toggled(bool state); + void longPress( const QPointF &delta ); + void toggled( bool state ); protected: + HbGroupBox( HbGroupBoxPrivate &dd, QGraphicsItem *parent ); private: diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbgroupboxcontentwidget_p.cpp --- a/src/hbwidgets/widgets/hbgroupboxcontentwidget_p.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbgroupboxcontentwidget_p.cpp Thu May 27 13:10:59 2010 +0300 @@ -142,6 +142,10 @@ */ void HbGroupBoxContentWidget::setContentWidget( HbWidget *widget ) { + if ( widget == mContent ) { + return; + } + // delete old content set if ( mContent ) { delete mContent; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbpushbutton.cpp --- a/src/hbwidgets/widgets/hbpushbutton.cpp Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbpushbutton.cpp Thu May 27 13:10:59 2010 +0300 @@ -217,17 +217,6 @@ } } - - -void HbPushButtonPrivate::_q_handleLongPress(QPointF point) -{ - Q_Q(HbPushButton); - if(!longPress){ - longPress = true; - emit q->longPress( point ); - } -} - void HbPushButtonPrivate::_q_handleLongKeyPress( ) { Q_Q( HbPushButton ); @@ -694,6 +683,7 @@ } /*! + \reimp Initializes \a option with the values from this HbPushButton. This method is useful for subclasses when they need a HbStyleOptionPushButton, but don't want to fill in all the information themselves. diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbpushbutton.h --- a/src/hbwidgets/widgets/hbpushbutton.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbpushbutton.h Thu May 27 13:10:59 2010 +0300 @@ -122,7 +122,6 @@ Q_DECLARE_PRIVATE_D( d_ptr, HbPushButton ) Q_DISABLE_COPY( HbPushButton ) - Q_PRIVATE_SLOT( d_func(),void _q_handleLongPress(QPointF) ) Q_PRIVATE_SLOT( d_func(),void _q_handleLongKeyPress( ) ) }; diff -r 06ff229162e9 -r 11d3954df52a src/hbwidgets/widgets/hbpushbutton_p.h --- a/src/hbwidgets/widgets/hbpushbutton_p.h Fri May 14 16:09:54 2010 +0300 +++ b/src/hbwidgets/widgets/hbpushbutton_p.h Thu May 27 13:10:59 2010 +0300 @@ -60,7 +60,6 @@ void createPrimitives(); void initialize(); - void _q_handleLongPress(QPointF point); void _q_handleLongKeyPress( ); QGraphicsItem *textItem;