summaryrefslogtreecommitdiffstats
path: root/src/gui/widgets
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-03-158-50/+85
|\ | | | | | | | | Conflicts: src/gui/styles/qs60style_s60.cpp
| * Moved softkey "Options" action handling from QMainWindow to QMenuBar.Janne Anttila2010-03-124-34/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is done to enable QMenuBar usage and related "Options" softkey also on other than QMainWindow objects. For example with this change it is possible to create menubar and set it to QLayout by using setMenuBar, and it will then be usable via "Options" softkey. This functionality makes it easy to use different menus for different views in QStackedWidget. Task-number: QT-2275 (Not yet finished, but related) Reviewed-by: Sami Merila Reviewed-by: Alessandro Portale
| * fix menu handling on Windows CEJoerg Bornemann2010-03-102-7/+19
| | | | | | | | | | | | | | | | | | | | Don't recreate the menu handles on every rebuild. Now, we clear the menu before rebuilding. Also, we have to clear the menu before destroying the menu bar handle. Otherwise, DestroyWindow kills our menu handles. Task-number: QTBUG-8754 Reviewed-by: thartman
| * Cursor would remain in a non-focused QLineEdit after clearing its selectionGabriel de Dietrich2010-03-091-1/+1
| | | | | | | | | | | | | | | | QLineEditPrivate::_q_selectionChanged() did not take into account whether the widget had focus. Reviewed-by: Olivier Task-number: QTBUG-8634
| * remove unneeded function pointer in qmenu_wince.cppJoerg Bornemann2010-03-081-1/+0
| | | | | | | | Reviewed-by: mauricek
| * Fix undocked widgets not being restored correctly as part of the layoutThierry Bastian2010-03-081-7/+10
| | | | | | | | | | Task-number: QTBUG-7921 Reviewed-by: ogoffart
* | Fixed mouse wheel handling in scrollareas.Denis Dzyubenko2010-03-081-0/+1
| | | | | | | | | | | | | | | | | | When handling wheel events in the scrollbar we should ignore the event by default, so that if we cannot scroll it gets propagated (like in QAbstractSlider). Task-number: QTBUG-8325 Reviewed-by: Richard Moe Gustavsen
* | Carbon: usage of menu bars can cause exceptions to be thrownRichard Moe Gustavsen2010-03-081-1/+1
| | | | | | | | | | | | | | | | | | The reason is that a function in the Qt menu bar code assumes that windows on screen are NSWindows (which is true for the cocoa-port). But when using carbon, this will fail. This simple patch will fix this. Reviewed-by: msorvig
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Rohan McGovern2010-03-063-0/+11
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe examples/multimedia/audioinput/audioinput.cpp src/corelib/io/qfsfileengine.cpp src/gui/egl/qegl_wince.cpp src/gui/egl/qeglproperties.cpp src/gui/egl/qeglproperties_p.h src/gui/embedded/directfb.pri src/gui/kernel/qapplication_win.cpp src/gui/painting/qdrawutil.cpp src/opengl/qgl_p.h src/sql/drivers/odbc/qsql_odbc.cpp src/sql/drivers/odbc/qsql_odbc.h tests/auto/auto.pro tests/auto/qgl/tst_qgl.cpp translations/assistant_adp_ru.ts
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-03-051-0/+8
| |\ | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fixed crash in Symbian when having empty QMenu in menubar.
| | * Fixed crash in Symbian when having empty QMenu in menubar.Janne Anttila2010-03-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Typically cascade menus in Symbian/S60 are created from resources. When cascade menus are defined in resources the RestoreMenuL is responsible for instantiating the cascade menu item array and items. In Qt for Symbian the menus need to be created dynamically from QActions, that's why RestoreMenuL is reimplemeted in Qt for Symbian to dynamically init the menu pane content. Adding a first dynamic item to cascase menu pane creates the CEikMenuPane internal item array. In case where empty QMenu was added to QMenubar, the item array for cascade menupane was never constructed. Then later on CEikMenuPane code assumes that item array exist. To avoid access violation crash we now create the item array manually when building submenu. Task-number: QTBUG-4897 Reviewed-by: Jason Barron
| * | showFullscreen() broken if UnifiedTitleAndToolBarOnMac is enabledCarlos Manuel Duclos Vergara2010-03-041-0/+2
| |/ | | | | | | | | | | | | | | | | | | | | The problem here is caused by the fix to QTBUG-6200. For this fix we removed the lines that deleted the item because the iterator might be invalid at that point. However, we still need to delete the iterator. The solution is to not use the iterator and ask the hash to delete the item, since the remove function will not crash if the item is invalid. Task-number: QTBUG-8633 Reviewed-by: Prasanth
| * Re-applied a fix which get lost during softkey refactoring.Janne Anttila2010-03-021-0/+1
| | | | | | | | | | | | | | | | See original commit (b461da1040c32d6690870290d6716a3b5cb7e9e9) for more information. Task-number: QTBUG-6220 Reviewed-By: TrustMe
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-051-4/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fix for torn off menus that were way too big Compile fix for Windows Mobile and OpenGLES2 Fixed failure to store certain image formats as jpeg Fixa few warnings on mingw Added QImage::bitPlaneCount().
| * | Fix for torn off menus that were way too bigThierry Bastian2010-03-051-4/+5
| | |
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-048-28/+43
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (63 commits) doc: Fixed some qdoc errors. Setting ImhHiddenText for NoEcho line edits is not 100% correct, but still way better than fully visible text. Allow building documentation without all of Qt Added a documentation for the new enum value in gesture api. Remove the OBJECTS_DIR variable assignment from some projets in Qt. Fix compile qmake/MinGw: Link statically for Qt Creator to be able to detect it. Enable two fast path for blend_tiled_rgb565 Avoid QString reallocation for smallcaps fonts in Itemizer::generate() Make QLabel::text a reloadable property remove non wifi interfaces from being handled. Disable auto-uppercasing and predictive text for password line edits. Avoid QString reallocation in QTextEngine::itemize() Remove the Qt 4.7 #if guards that were needed for 4.6 Always redraw the complete control when an input event comes in. Make sure not to crash if createStandardContextMenu() returns 0 (e.g. on Maemo5) Fix compilation: include QString in order to use QString. Fix compile Block the Maemo5 window attribute values from being assigned to something else on other platforms. be more verbose when warning about incompatible libraries ...
| * | Setting ImhHiddenText for NoEcho line edits is not 100% correct, but still ↵Robert Griebl2010-03-041-1/+1
| | | | | | | | | | | | | | | | | | way better than fully visible text. Reviewed-by: axis
| * | Disable auto-uppercasing and predictive text for password line edits.Robert Griebl2010-03-031-0/+5
| | | | | | | | | | | | Reviewed-by: axis
| * | Remove the Qt 4.7 #if guards that were needed for 4.6Robert Griebl2010-03-032-9/+0
| | | | | | | | | | | | Reviewed-by: TrustMe
| * | Always redraw the complete control when an input event comes in.Robert Griebl2010-03-032-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The problem here is that a pre-edit string won't be detected by updateDisplayText(), so the control thinks nothing has changed when a new pre-edit string is set. Reviewed-By: Simon Hausmann (cherry picked from commit 16f30906f6eea3e00351478555f153697a6e186d)
| * | Make sure not to crash if createStandardContextMenu() returns 0 (e.g. on Maemo5)Robert Griebl2010-03-031-3/+4
| | | | | | | | | | | | Reviewed-by: Harald Fernengel
| * | Do not reset state too early on RMB clickHarald Fernengel2010-03-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | When long-tapping on a spin box, a context menu event would stop incrementing the spin box since we called reset() too early. Call reset only if it's clear that there's a context menu. Also don't crash if menu is 0. Reviewed-by: Robert Griebl
| * | fix includeHarald Fernengel2010-03-031-1/+1
| | |
| * | Application menu is not translated in Mac OS X CocoaPrasanth Ullattil2010-03-031-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The application menu is loaded from the qt_menu.nib which only has English strings. These will now be translated using Qt's own translation mechanism. Every time a new translator is installed, the menu will now try to get the new string. Modification of qt_xx.ts files are done in a different patch. Task-number: QTBUG-4463 Reviewed-by: MortenS
| * | Implement alien widgets on Mac/Cocoa.Morten Johan Sørvig2010-03-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes alien widgets opt in on a per-widget basis on Mac, set the Qt::WA_NativeWindow flag when creating the widget to enable. Setting this flag on widgets that have native child or sibling NSViews is not supported. The main use case for alien widgets on Mac is to improve performance for applications that have complex user interfaces. Qt can handle thousands of widgets per window, while Cocoa is designed to use a smaller number of NSViews in combination with NSCells and custom control implementations. This commit moves us in the direction of having a few main NSViews with "leaf" qwidgets implemented as a custom control.
* | | Build fix for Sun StudioThierry Bastian2010-03-041-2/+2
| | | | | | | | | | | | Task-number: QTBUG-8192
* | | Fixes QMenu to only have static POD membersThierry Bastian2010-03-042-15/+15
| | | | | | | | | | | | This also fixes the autotests
* | | sizeHint of checkbox/radiobutton without text is not correctThierry Bastian2010-03-032-2/+2
| | | | | | | | | | | | Reviewed-by: Jens Bache-Wiig
* | | fixed a memory leak when restoring a state in QMainWindowThierry Bastian2010-03-031-1/+4
| | | | | | | | | | | | Task-number: QTBUG-8631
* | | Make the sub-menu accessible via its shortcut even if it is the currentThierry Bastian2010-03-031-10/+2
|/ / | | | | | | | | Task-number: QTBUG-7411 Reviewed-by: ogoffart
* | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-02-271-2/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2: QMainWindow would show hidden QDockwidget when calling rstoreDockWidget Compile on WinCE
| * | QMainWindow would show hidden QDockwidget when calling rstoreDockWidgetThierry Bastian2010-02-261-2/+1
| | | | | | | | | | | | | | | Task-number: QTBUG-7785 Reviewed-by: ogoffart
* | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into master-s60axis2010-02-262-47/+8
|\ \ \ | |/ / |/| / | |/ | | | | Conflicts: qmake/generators/symbian/initprojectdeploy_symbian.cpp qmake/generators/symbian/symmake_abld.h
| * Improvements to itemview keypad navigation in S60.Janne Anttila2010-02-251-46/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic used in this commit is partially taken from sliders. This commit makes it possible to interact (change row or column) in itemview even itemview does not have editFocus. Interacting without editFocus is enabled when it is not possible to keypad navigate to reuqested direction. In addition if keypad navigation to any direction is not possible (i.e there is only one listwidget on screen), there is no sense to add "done" softkey to get out of edit focus. Task-number: QTBUG-4802 Reviewed-by: Alessandro Portale
| * QLineEdit shows leftovers of edit cursor after clear()Prasanth Ullattil2010-02-231-1/+1
| | | | | | | | | | | | | | | | | | The commit 0568fb9f428a84a344baaa5c53395db4b99f082c introduced this regression. Make sure that we have text in the lineedit before showing the cursor. Task-number: QTBUG-7826 Reviewed-by: Olivier Goffart
* | Merge branch 'master' of git:qt/qtThiago Macieira2010-02-215-4/+30
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/declarative/advtutorial1.qdoc doc/src/declarative/advtutorial2.qdoc doc/src/declarative/advtutorial3.qdoc doc/src/declarative/advtutorial4.qdoc doc/src/declarative/tutorial1.qdoc doc/src/declarative/tutorial2.qdoc doc/src/declarative/tutorial3.qdoc
| * \ Merge remote branch 'origin/master' into qt-master-from-4.6Thiago Macieira2010-02-203-1/+23
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp
| * \ \ Merge remote branch 'origin/4.6' into integration-master-from-4.6Rohan McGovern2010-02-185-4/+30
| |\ \ \ | | | |/ | | |/| | | | | | | | | Conflicts: src/corelib/codecs/qtextcodec.h
| | * | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-02-182-1/+2
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Always use display() in QEglContext, so initialization can occur Fixed a regression in dockwidgets that would jump when toplevel resized Stabilize QGraphicsView benchmarks. Remove platform dependent code from QGraphicsView benchmark. Compiler warnings in QGraphicsView benchmark. Stabilize QGraphicsScene benchmarks. Compiler warning, unusable variable in tst_QGraphicsScene benchmark. Documented behavior of blur effect radius and drop shadow offset. Fixed autotest failure in tst_QPainter::drawEllipse on Maemo.
| | | * | Fixed a regression in dockwidgets that would jump when toplevel resizedThierry Bastian2010-02-182-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was reproducible when the main window doesn't contain a central widget. Task-number: QTBUG-8107 Reviewed-by: ogoffart
| | * | | Fixed softkey localizaton to comile also on platforms without softkeys.Janne Anttila2010-02-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-6785 Reviewed-by: TrustMe
| | * | | Support for dynamic localization in Symbian softkeys.Janne Anttila2010-02-173-3/+26
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for dynamic i.e. runtime localization of S60 softkeys. Note that translations are not provided yet with qt.sis (QTBUG-4919), meaning that localization does not actually happen unless application developer provides its own translation (including translation for softkeys). Task-number: QTBUG-6785 Reviewed-by: Jason Barron
* | | | Fix compilation: qmlviewer cannot use symbols exported with ↵Thiago Macieira2010-02-201-1/+1
| |_|/ |/| | | | | | | | Q_AUTOTEST_EXPORT in production builds
* | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1 into ↵Qt Continuous Integration System2010-02-192-0/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1: (25 commits) Add convenience function QTextCursor::positionInBlock() Fixed URL in Russian translation. Designer/Resourceview: Suppress warning about QFileInfo on empty path. optimize qstring::simplified() Revert optimizations to QString::append unbreak QList::append() and co. again Implement bookmark manager widget. optimization: use QList::reserve() and QVector::reserve() amend "purge msvc.net and msvc2002 makespecs" Added QPlainTextEditor::anchorAt(const QPoint &pos) Fix memmory leak. Fix spacing. Prevent renaming the bookmarks menu root item, it's just a placeholder. Fix broken set last shown pagen when the last page was about:blank. Move launch with external app in base class. Make sure the bookmarks menu updates on add/ remove as well. Fix broken Drag&Drop, reset and clear the model if we set new bookmarks. avoid double reallocations in appending operations avoid double reallocation in string-growing replace() case optimize qHash() some more ...
| * \ \ Merge branch 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1 into ↵Qt Continuous Integration System2010-02-182-0/+22
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/berlin-staging-1: (22 commits) optimize qstring::simplified() Revert optimizations to QString::append unbreak QList::append() and co. again Implement bookmark manager widget. optimization: use QList::reserve() and QVector::reserve() amend "purge msvc.net and msvc2002 makespecs" Added QPlainTextEditor::anchorAt(const QPoint &pos) Fix memmory leak. Fix spacing. Prevent renaming the bookmarks menu root item, it's just a placeholder. Fix broken set last shown pagen when the last page was about:blank. Move launch with external app in base class. Make sure the bookmarks menu updates on add/ remove as well. Fix broken Drag&Drop, reset and clear the model if we set new bookmarks. avoid double reallocations in appending operations avoid double reallocation in string-growing replace() case optimize qHash() some more optimize QList::mid() optimization: use QList::reserve() in QSet::toList() add QList::reserve() ...
| | * | Added QPlainTextEditor::anchorAt(const QPoint &pos)Thorbjørn Lindeijer2010-02-172-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | The equivalent of QTextEdit::anchorAt. Done-with: mae
* | | | Merge remote branch 'qt/master' into staging-2-masterQt Continuous Integration System2010-02-183-16/+28
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | Conflicts: tools/assistant/tools/assistant/helpviewer_qtb.h tools/assistant/tools/assistant/helpviewer_qwv.cpp tools/assistant/tools/assistant/helpviewer_qwv.h
| * | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-02-163-16/+28
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (42 commits) doc: Fixed some qdoc errors. doc: Fixed some qdoc errors. Fix copyright year. Fix broken license headers. doc: Fixed some qdoc errors. Reusing sheets on Mac OS X 10.5 & above shows painting artifacts. doc: Fixed some qdoc errors. QNetworkAccessManager: add method to send custom requests doc: Fixed some qdoc errors. Optimization: Avoid calling out to public API function Mac: submenu shows up at the wrong position Add operator< and qHash for QSharedPointer and fix operator-. Don't use QSystemLocale if QT_NO_SYSTEMLOCALE (like QWS) Don't use QSystemLocale if QT_NO_SYSTEMLOCALE (like QWS) Optimized QLocale to access system locale on demand. Fix QRegion under Mac OS X. update according to Thiago's comments. Changes: add functionality for dbus auto start to qt Add license header to this file readdir64 is not available on HP-UX ...
| | * | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-02-133-16/+28
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (28 commits) Optimized QLocale to access system locale on demand. Fix QRegion under Mac OS X. update according to Thiago's comments. Changes: add functionality for dbus auto start to qt Add license header to this file readdir64 is not available on HP-UX Fix bug in QDirPrivate::setPath, affecting QDir::cd, cdUp and setPath qdoc3: Completed handling of the new \pagekeywords command. Wrong cursor shown by the parent window after setOverrideCursor(). Fixed Mac OS X compile time error by using GLint for temp. qdoc3: Added curly braces in switch statement for braindead compiler. qdoc: Added a build rule for the documentation - disabled by default. Doc: Added the qdoc manual to the repository for future maintenance. qdoc3: Fixed bug in creation of qt.pageindex. qdoc3: Added capability to create qt.pageindex. Incorrect property setter generated by dumpcpp for Microsoft Word 2007. Cocoa: Implement our own NSApplication subclass Cocoa: Menu in menubar stays highlighted qdoc: Made a temporary fix for comment highlighting. Doc: Tidied up the class layout and removed an unnecessary image. ...
| | | * \ Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-02-123-16/+28
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (27 commits) Fix QRegion under Mac OS X. update according to Thiago's comments. Changes: add functionality for dbus auto start to qt Add license header to this file readdir64 is not available on HP-UX Fix bug in QDirPrivate::setPath, affecting QDir::cd, cdUp and setPath qdoc3: Completed handling of the new \pagekeywords command. Wrong cursor shown by the parent window after setOverrideCursor(). Fixed Mac OS X compile time error by using GLint for temp. qdoc3: Added curly braces in switch statement for braindead compiler. qdoc: Added a build rule for the documentation - disabled by default. Doc: Added the qdoc manual to the repository for future maintenance. qdoc3: Fixed bug in creation of qt.pageindex. qdoc3: Added capability to create qt.pageindex. Incorrect property setter generated by dumpcpp for Microsoft Word 2007. Cocoa: Implement our own NSApplication subclass Cocoa: Menu in menubar stays highlighted qdoc: Made a temporary fix for comment highlighting. Doc: Tidied up the class layout and removed an unnecessary image. Doc/qdoc: Use Chinese titles; canonicalize titles with non-ASCII chars. ...