From 5b4036c9f6c7cb94d476257b96e4753765841f46 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 3 Jun 2009 15:00:04 +0300 Subject: Removed old workaround for S60 emulator deployment bug with saxbookmarks xbel files. --- demos/embedded/fluidlauncher/fluidlauncher.pro | 4 +- examples/xml/saxbookmarks/frankf.xbel | 230 ------------------------- examples/xml/saxbookmarks/jenniferf.xbel | 93 ---------- 3 files changed, 2 insertions(+), 325 deletions(-) delete mode 100644 examples/xml/saxbookmarks/frankf.xbel delete mode 100644 examples/xml/saxbookmarks/jenniferf.xbel diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro index ed2530c..9c08801 100644 --- a/demos/embedded/fluidlauncher/fluidlauncher.pro +++ b/demos/embedded/fluidlauncher/fluidlauncher.pro @@ -127,8 +127,8 @@ symbian { desktopservices_images.sources = $$PWD/../desktopservices/data/*.png desktopservices_images.path = /data/images - saxbookmarks.sources = $$PWD/../../../examples/xml/saxbookmarks/frankf.xbel - saxbookmarks.sources += $$PWD/../../../examples/xml/saxbookmarks/jenniferf.xbel + saxbookmarks.sources = $$PWD/../../../examples/xml/saxbookmarks/frank.xbel + saxbookmarks.sources += $$PWD/../../../examples/xml/saxbookmarks/jennifer.xbel saxbookmarks.path = /data/qt/saxbookmarks DEPLOYMENT += config files executables viewerimages saxbookmarks reg_resource resource \ diff --git a/examples/xml/saxbookmarks/frankf.xbel b/examples/xml/saxbookmarks/frankf.xbel deleted file mode 100644 index 07a9463..0000000 --- a/examples/xml/saxbookmarks/frankf.xbel +++ /dev/null @@ -1,230 +0,0 @@ - - - - - Literate Programming - - Synopsis of Literate Programming - - - Literate Programming: Propaganda and Tools - - - Literate Programming by Henrik Turbell - - - Literate Programming Library - - - Literate Programming Basics - - - Literate Programming Overview - - - POD is not Literate Programming - - - Computers That We Can Count On - - - Literate Programming - Issues and Problems - - - Literate Programming - Wiki Pages - - - What is well-commented code? - - - Bibliography on literate programming - A searchable bibliography - - - Program comprehension and code reading bibliography - - - Elucidative Programming - - - AVL Trees (TexiWeb) - - - Literate Programming on Wikiverse - - - Physically Based Rendering: From Theory to Implementation - - - - Useful C++ Links - - STL - - STL Reference Documentation - - - STL Tutorial - - - STL Reference - - - - Qt - - Qt 2.3 Reference - - - Qt 3.3 Reference - - - Qt 4.0 Reference - - - Trolltech Home Page - - - - IOStreams - - IO Stream Library - - - Binary I/O - - - I/O Stream FAQ - - - - gdb - - GDB Tutorial - - - Debugging with GDB - - - GDB Quick Reference Page (PDF) (Handy) - - - - Classes and Constructors - - Constructor FAQ - - - Organizing Classes - - - - - Software Documentation or System Documentation - - The Almighty Thud - - - Microsoft Coding Techniques and Programming Practices - - - Software and Documentation - - - The Source Code is the Design - - - What is Software Design? - - - How To Write Unmaintainable Code - - - Self Documenting Program Code Remains a Distant Goal - - - Place Tab A in Slot B - - - UML Reference Card - - - - TeX Resources - - The TeX User's Group - - - MikTeX website - - - MetaPost website - - - HEVEA is a quite complete and fast LATEX to HTML translator - - - - Portable Document Format (PDF) - - Adobe - The postscript and PDF standards - - - Reference Manual Portable Document Format - - - Adobe Acrobat Software Development Kit - - - - Literature Sites - - Guide to Special Collections (Columbia University) - - - Literary Criticism on the Web from the Internet Public Library - - - Victorian Web. - - - Voice of the Shuttle. - - - Modernist Journals Project - - - Museum of American Poetics - - - Modern American Poetry - - - FindArticles.com - - - Literary History - - - Literary Encyclopedia - - - - The University of California Press - - - Wright American Fiction, 1851-1875 - - - Documenting the American South: Beginnings to 1920 - - - Electronic Text Center at the University of Virginia - - - The Schomburg Center for Research in Black Culture - - - Alex Catalogue of Electronic Texts. - - - diff --git a/examples/xml/saxbookmarks/jenniferf.xbel b/examples/xml/saxbookmarks/jenniferf.xbel deleted file mode 100644 index 1f7810b..0000000 --- a/examples/xml/saxbookmarks/jenniferf.xbel +++ /dev/null @@ -1,93 +0,0 @@ - - - - - Qt Resources - - Trolltech Partners - - Training Partners - - - Consultants and System Integrators - - - Technology Partners - - - Value Added Resellers (VARs) - - - - Community Resources - - QtForum.org - - - The Independent Qt Tutorial - - - French PROG.Qt - - - German Qt Forum - - - Korean Qt Community Site - - - Russian Qt Forum - - - Digitalfanatics: The QT 4 Resource Center - - - QtQuestions - - - - Qt Quarterly - - - Trolltech's home page - - - Qt 4.0 documentation - - - Frequently Asked Questions - - - - Online Dictionaries - - Dictionary.com - - - Merriam-Webster Online - - - Cambridge Dictionaries Online - - - OneLook Dictionary Search - - - - The New English-German Dictionary - - - TU Chemnitz German-English Dictionary - - - - Trésor de la Langue Française informatisé - - - Dictionnaire de l'Académie Française - - - Dictionnaire des synonymes - - - -- cgit v0.12 From 9db0d28080b4b08ef484e2fb767e20a2754f537d Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 3 Jun 2009 14:31:57 +0200 Subject: Fixed QFontEngineS60::boundingBox. It was actually returning the tight bounding rect, before. --- src/gui/text/qfontengine_s60.cpp | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp index eec09f4..3862b36 100644 --- a/src/gui/text/qfontengine_s60.cpp +++ b/src/gui/text/qfontengine_s60.cpp @@ -197,27 +197,14 @@ QImage QFontEngineS60::alphaMapForGlyph(glyph_t glyph) glyph_metrics_t QFontEngineS60::boundingBox(const QGlyphLayout &glyphs) { - glyph_metrics_t overall; - // initialize with line height, we get the same behaviour on all platforms - overall.y = -ascent(); - overall.height = ascent() + descent() + 1; - - QFixed ymax = 0; - QFixed xmax = 0; - for (int i = 0; i < glyphs.numGlyphs; i++) { - const glyph_metrics_t glyphBounds = boundingBox_const(glyphs.glyphs[i]); - QFixed x = overall.xoff + glyphs.offsets[i].x + glyphBounds.x; - QFixed y = overall.yoff + glyphs.offsets[i].y - glyphBounds.y; - overall.x = qMin(overall.x, x); - overall.y = qMin(overall.y, y); - xmax = qMax(xmax, x + glyphBounds.width); - ymax = qMax(ymax, y + glyphBounds.height); - overall.xoff += glyphBounds.xoff; - } - overall.height = qMax(overall.height, ymax - overall.y); - overall.width = xmax - overall.x; + if (glyphs.numGlyphs == 0) + return glyph_metrics_t(); + + QFixed w = 0; + for (int i = 0; i < glyphs.numGlyphs; ++i) + w += glyphs.effectiveAdvance(i); - return overall; + return glyph_metrics_t(0, -ascent(), w, ascent()+descent()+1, w, 0); } glyph_metrics_t QFontEngineS60::boundingBox_const(glyph_t glyph) const -- cgit v0.12 From 00685bd4a38333e1d13861ecccaab43744009ae3 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 3 Jun 2009 15:34:44 +0300 Subject: Removed DEPENDS keyword from resource blocks of generated mmp files from symbian-abld builds. --- qmake/generators/symbian/symmake.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index c5f13f6..68d544b 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -805,8 +805,9 @@ bool SymbianMakefileGenerator::writeMmpFileResourcePart(QTextStream& t, QStringL t << "SOURCEPATH\t\t\t. " << endl; t << "START RESOURCE\t\t" << regTarget << endl; - t << "DEPENDS " << target << ".rsg" << endl; - t << "\tTARGETPATH\t\t" REGISTRATION_RESOURCE_DIRECTORY_HW << endl; + if (isForSymbianSbsv2()) + t << "DEPENDS " << target << ".rsg" << endl; + t << "TARGETPATH\t\t" REGISTRATION_RESOURCE_DIRECTORY_HW << endl; t << "END" << endl << endl; } return true; -- cgit v0.12 From c3cad947658ba2ea70e6b9335dd365192a6ed4c4 Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Wed, 3 Jun 2009 15:48:52 +0200 Subject: Make qmake compile from .pro on other platforms. The qpopen.cpp file is a workaround for the fact that the Metrowerks compiler that we are (ab)using to build Windows binaries is lacking a popen() function in the standard library. So only enable the workaround on the platform that needs it. --- qmake/qmake.pri | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qmake/qmake.pri b/qmake/qmake.pri index b51db32..4e58732 100644 --- a/qmake/qmake.pri +++ b/qmake/qmake.pri @@ -9,7 +9,6 @@ DEFINES += QT_NO_TEXTCODEC QT_NO_LIBRARY QT_NO_STL QT_NO_COMPRESS QT_NO_UNICODET SOURCES += project.cpp property.cpp main.cpp generators/makefile.cpp \ generators/unix/unixmake2.cpp generators/unix/unixmake.cpp meta.cpp \ option.cpp generators/win32/winmakefile.cpp generators/win32/mingw_make.cpp \ - qpopen.cpp \ generators/makefiledeps.cpp generators/metamakefile.cpp generators/mac/pbuilder_pbx.cpp \ generators/xmloutput.cpp generators/win32/borland_bmake.cpp \ generators/win32/msvc_nmake.cpp generators/projectgenerator.cpp \ @@ -19,6 +18,12 @@ SOURCES += project.cpp property.cpp main.cpp generators/makefile.cpp \ generators/symbian/symmake_abld.cpp \ generators/symbian/symmake_sbsv2.cpp \ generators/symbian/initprojectdeploy_symbian.cpp + +# MWC does not provide an implementation of popen() so fake it. +win32-mwc { + SOURCES += qpopen.cpp \ +} + HEADERS += project.h property.h generators/makefile.h \ generators/unix/unixmake.h meta.h option.h cachekeys.h \ -- cgit v0.12 From c1af1b23442f6d879d3f7eb8c193935f9887244a Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 3 Jun 2009 17:16:59 +0200 Subject: Fix merge --- src/gui/kernel/qapplication_s60.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 542ad43..3921331 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -1,5 +1,5 @@ /**************************************************************************** -** +1** ** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Qt Software Information (qt-info@nokia.com) ** @@ -1102,7 +1102,6 @@ void QApplication::symbianResourceChange(int type) #endif default: ->>>>>>> master:src/gui/kernel/qapplication_s60.cpp break; } } -- cgit v0.12 From 4e7ab98ebd48cc1d5fa7643290e34ee166b9ab03 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 3 Jun 2009 19:30:39 +0200 Subject: Adding and removing a 'Cancel' SoftKey --- src/gui/widgets/qmenu.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp index 6be0f19..c4db539 100644 --- a/src/gui/widgets/qmenu.cpp +++ b/src/gui/widgets/qmenu.cpp @@ -60,6 +60,9 @@ #ifndef QT_NO_WHATSTHIS # include #endif +#ifdef QT_KEYPAD_NAVIGATION +# include +#endif #include "qmenu_p.h" #include "qmenubar_p.h" @@ -578,8 +581,14 @@ void QMenuPrivate::setCurrentAction(QAction *action, int popup, SelectionReason //when the action has no QWidget, the QMenu itself should // get the focus // Since the menu is a pop-up, it uses the popup reason. - if (!q->hasFocus()) + if (!q->hasFocus()) { q->setFocus(Qt::PopupFocusReason); +#ifdef QT_KEYPAD_NAVIGATION + // TODO: aportale, remove KEYPAD_NAVIGATION_HACK when softkey stack + // handles focus related and user related actions separately... + QKeyEventSoftKey::addSoftKey(QSoftKeyAction::Cancel, Qt::Key_Back, q); +#endif + } } } } else { //action is a separator @@ -1937,6 +1946,9 @@ void QMenu::popup(const QPoint &p, QAction *atAction) #ifndef QT_NO_ACCESSIBILITY QAccessible::updateAccessibility(this, 0, QAccessible::PopupMenuStart); #endif +#ifdef QT_KEYPAD_NAVIGATION + QKeyEventSoftKey::addSoftKey(QSoftKeyAction::Cancel, Qt::Key_Back, this); +#endif } /*! @@ -2587,7 +2599,7 @@ void QMenu::keyPressEvent(QKeyEvent *e) case Qt::Key_Escape: #ifdef QT_KEYPAD_NAVIGATION case Qt::Key_Back: - case Qt::Key_Context2: // TODO: aportale, remove KEYPAD_NAVIGATION_HACK when softkey support is there + QKeyEventSoftKey::removeSoftkey(this); #endif key_consumed = true; if (d->tornoff) { -- cgit v0.12