Colin,

Thanks for your reply.

While you are right considering the code I have posted here, the truth is that 
in my actual code I have the setObject. But since I have more stuff going on I 
didn’t want to flood the list with code:

void Settings::setSharedKey(QString key, QVariant value)
{
    if (defaults==nil)
        defaults = [[NSUserDefaults alloc] 
initWithSuiteName:@“group.com.acme.app"];

    [defaults setObject:[ISettingsManagerCocoaHelper variantToNSObject:value] 
forKey:key.toNSString()];
    [defaults synchronize];
}

I’m still struggling with this. I can’t have the settings saved. I’m tired to 
googling and trying stuff. 

Any ideas? Do you have anything similar?

Thanks!

Regards,

Nuno

> On 15 Nov 2018, at 17:17, Colin Worth <jlk2...@gmail.com> wrote:
> 
> Hi Nuno,
>    You are missing a line, something like:
> 
>    [defaults setValue:object forKey:key]
> 
> in setSharedKey.
> 
>> 
>> From: Nuno Santos <nunosan...@imaginando.pt 
>> <mailto:nunosan...@imaginando.pt>>
>> Subject: [Interest] Qt iOS / App Groups / NSUserDefaults initWithSuiteName / 
>> Not persisting
>> Date: November 14, 2018 at 7:24:06 AM AST
>> To: "interest@qt-project.org <mailto:interest@qt-project.org> Interest" 
>> <interest@qt-project.org <mailto:interest@qt-project.org>>
>> 
>> 
>> Hi,
>> 
>> I’m trying to persist data in a App Group on Qt iOS app to share data 
>> between a standalone app and app extension.
>> 
>> I have been reading on how to do it and apparently is dead simple -> 
>> https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW6
>>  
>> <https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW6>
>> 
>> The problem is that it is not persisting data…. 
>> 
>> I’m starting to question the model I’m following in terms of code. I have my 
>> Settings manager in C++. What I have done was to create a SettingsCocoa.mm 
>> file that does what is below.
>> 
>> In a app session, the value is persisted but as soon as I start the app 
>> again, the value is null. 
>> 
>> As anyone experienced similar issues before? Any ideas would be highly 
>> appreciated.
>> 
>> Thanks in advance.
>> 
>> Best regards,
>> 
>> Nuno
>> 
>> 
>> #include "Settings.h"
>> 
>> #import <Foundation/Foundation.h>
>> #include <QDebug>
>> 
>> static NSUserDefaults *defaults = nil;
>> 
>> QVariant Settings::sharedKey(QString key, const QVariant &defaultValue) const
>> {
>>     if (defaults==nil)
>>         defaults = [[NSUserDefaults alloc] 
>> initWithSuiteName:@"group.com.acme.app"];
>> 
>>     NSObject *value = [defaults valueForKey:key.toNSString()];
>>     NSLog(@"get object: %@", value);
>> }
>> 
>> void Settings::setSharedKey(QString key, QVariant value)
>> {
>>     if (defaults==nil)
>>         defaults = [[NSUserDefaults alloc] 
>> initWithSuiteName:@"group.com.acme.app"];
>> 
>>     NSObject *object = [ISettingsManagerCocoaHelper variantToNSObject:value];
>>     NSLog(@"set object: %@", object);
>> 
>>     sharedKey(key, value);
>> 
>>     [defaults synchronize];
>> }
>> 
>> 
>> 
>> From: Giuseppe D'Angelo <giuseppe.dang...@kdab.com 
>> <mailto:giuseppe.dang...@kdab.com>>
>> Subject: Re: [Interest] efficient natural sorting
>> Date: November 14, 2018 at 10:57:03 AM AST
>> To: interest@qt-project.org <mailto:interest@qt-project.org>
>> 
>> 
>> Hi,
>> 
>> Il 14/11/18 03:28, Frank Rueter | OHUfx ha scritto:
>>> This works nicely but I’m wondering if it’s reliable and efficient to 
>>> implement it like this in the QSortFilterProxyModel.lessThan() method?!
>>> |def lessThan(self, source_left, source_right): natural_keys(source_left) < 
>>> natural_keys(source_right) |
>>> Any thoughts on this?
>> 
>> You can use QCollator to implement natural sorting (by enabling the numeric 
>> mode). Or doesn't it work for your use case?
>> 
>> My 2 c,
>> -- 
>> Giuseppe D'Angelo | giuseppe.dang...@kdab.com 
>> <mailto:giuseppe.dang...@kdab.com> | Senior Software Engineer
>> KDAB (France) S.A.S., a KDAB Group company
>> Tel. France +33 (0)4 90 84 08 53, http://www.kdab.com <http://www.kdab.com/>
>> KDAB - The Qt, C++ and OpenGL Experts
>> 
>> 
>> 
>> 
>> From: Shawn Rutledge <shawn.rutle...@qt.io <mailto:shawn.rutle...@qt.io>>
>> Subject: Re: [Interest] efficient natural sorting
>> Date: November 14, 2018 at 11:14:21 AM AST
>> To: "interest@qt-project.org <mailto:interest@qt-project.org>" 
>> <interest@qt-project.org <mailto:interest@qt-project.org>>
>> 
>> 
>> 
>>> On 14 Nov 2018, at 03:28, Frank Rueter | OHUfx <fr...@ohufx.com 
>>> <mailto:fr...@ohufx.com>> wrote:
>>> 
>>> Hi,
>>> 
>>> I need to use the QSortFilterProxyModel to sort strings with numbers in 
>>> them, i.e. perform natural sorting.
>> 
>> Another idea is to add a different role to your model, have data() return 
>> the original number (int or qreal or whatever) in the variant for that role, 
>> and call setSortRole() to tell QSFPM which role to use.
>> 
>> 
>> 
>> 
>> 
>> From: Roman Wüger <roman.wue...@gmx.at <mailto:roman.wue...@gmx.at>>
>> Subject: Re: [Interest] Connection problems with QNerworkAccessManager
>> Date: November 14, 2018 at 12:06:37 PM AST
>> To: ekke <e...@ekkes-corner.org <mailto:e...@ekkes-corner.org>>
>> Cc: interest@qt-project.org <mailto:interest@qt-project.org>
>> 
>> 
>> No one?
>> 
>>> Am 09.10.2018 um 14:54 schrieb Roman Wüger <roman.wue...@gmx.at 
>>> <mailto:roman.wue...@gmx.at>>:
>>> 
>>> I tried to copy the script outside of the htaccess restricted are, and it 
>>> seems to work. Maybe it has todo with the combination of ssl and htaccess?
>>> 
>>> Regards 
>>> 
>>>> Am 09.10.2018 um 14:50 schrieb Roman Wüger <roman.wue...@gmx.at 
>>>> <mailto:roman.wue...@gmx.at>>:
>>>> 
>>>> Hello,
>>>> 
>>>> i tried it with 5.11.x versions.
>>>> The log from the server shows that the request (which is a normal GET 
>>>> request), I also tried POST request, is sent a multiply of 100 per second 
>>>> so ~= 200 requests per second until the server give up.
>>>> 
>>>> I use https and a htaccess restricted area, which calls my 
>>>> authenticationRequired() slot.
>>>> 
>>>> Regards
>>>> 
>>>>> Am 08.10.2018 um 13:30 schrieb ekke <e...@ekkes-corner.org 
>>>>> <mailto:e...@ekkes-corner.org>>:
>>>>> 
>>>>> have you tried 5.11.2, 5.12 Beta or 5.10.1 ?
>>>>> 
>>>>>> Am 08.10.18 um 12:35 schrieb Roman Wüger:
>>>>>> Hi,
>>>>>> 
>>>>>> i use Qt 5.11.1 at the moment and have some connection problems with 
>>>>>> QNetworkAccessManager.
>>>>>> There are no error, sslerror or finished signals emitted, but I see the 
>>>>>> traffic in Wireshark.
>>>>>> The problem occurs on Windows, Mac and iOS.
>>>>>> 
>>>>>> When I enter the url in the browser, then it is working without a 
>>>>>> problem.
>>>>>> 
>>>>>> Any hints?
>>>>>> 
>>>>>> Thanks in advance
>>>>>> _______________________________________________
>>>>>> Interest mailing list
>>>>>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>>>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Interest mailing list
>>>>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>>> 
>>>> _______________________________________________
>>>> Interest mailing list
>>>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>> 
>>> _______________________________________________
>>> Interest mailing list
>>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> 
>> 
>> 
>> 
>> From: Roman Wüger <roman.wue...@gmx.at <mailto:roman.wue...@gmx.at>>
>> Subject: [Interest] Problem with font size on Android and High DPI
>> Date: November 14, 2018 at 12:11:13 PM AST
>> To: Qt Project MailingList <interest@qt-project.org 
>> <mailto:interest@qt-project.org>>
>> 
>> 
>> Hello everyone,
>> 
>> I enabled the High DPI option on an android tablet. However, the fonts are 
>> not resized at all and looks a way too small. I tried the other environment 
>> variables too, but the result is not as expected. 
>> 
>> Does anyone have a hint or how is that done normally?
>> 
>> Regards
>> Roman
>> 
>> 
>> 
>> 
>> From: ekke <e...@ekkes-corner.org <mailto:e...@ekkes-corner.org>>
>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>> Date: November 14, 2018 at 12:15:09 PM AST
>> To: interest@qt-project.org <mailto:interest@qt-project.org>
>> 
>> 
>> Am 14.11.18 um 17:11 schrieb Roman Wüger:
>>> Hello everyone,
>>> 
>>> I enabled the High DPI option on an android tablet. However, the fonts are 
>>> not resized at all and looks a way too small. I tried the other environment 
>>> variables too, but the result is not as expected. 
>>> 
>>> Does anyone have a hint or how is that done normally?
>>> 
>>> Regards
>>> Roman
>>> _______________________________________________
>>> Interest mailing list
>>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>>> http://lists.qt-project.org/mailman/listinfo/interest
>>> 
>> what kind of application ?
>> 
>> QtQuickControls2 ?
>> 
>> ekke
>> 
>> 
>> 
>> 
>> 
>> From: Roman Wüger <roman.wue...@gmx.at <mailto:roman.wue...@gmx.at>>
>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>> Date: November 14, 2018 at 12:29:36 PM AST
>> To: ekke <e...@ekkes-corner.org <mailto:e...@ekkes-corner.org>>
>> Cc: interest@qt-project.org <mailto:interest@qt-project.org>
>> 
>> 
>> No, it is a QWidget application with Qt 5.12. I can’t switch to QtQuick 
>> because customer wants existing application to be ported to android tablet.
>> 
>> Regards
>> Roman
>> 
>>> Am 14.11.2018 um 17:15 schrieb ekke <e...@ekkes-corner.org 
>>> <mailto:e...@ekkes-corner.org>>:
>>> 
>>>> Am 14.11.18 um 17:11 schrieb Roman Wüger:
>>>> Hello everyone,
>>>> 
>>>> I enabled the High DPI option on an android tablet. However, the fonts are 
>>>> not resized at all and looks a way too small. I tried the other 
>>>> environment variables too, but the result is not as expected. 
>>>> 
>>>> Does anyone have a hint or how is that done normally?
>>>> 
>>>> Regards
>>>> Roman
>>>> _______________________________________________
>>>> Interest mailing list
>>>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>>> 
>>> what kind of application ?
>>> 
>>> QtQuickControls2 ?
>>> 
>>> ekke
>>> 
>>> _______________________________________________
>>> Interest mailing list
>>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> 
>> 
>> 
>> 
>> From: Thiago Macieira <thiago.macie...@intel.com 
>> <mailto:thiago.macie...@intel.com>>
>> Subject: Re: [Interest] QDir::entry(Info)List on macos
>> Date: November 14, 2018 at 12:34:02 PM AST
>> To: <interest@qt-project.org <mailto:interest@qt-project.org>>
>> 
>> 
>> On Wednesday, 14 November 2018 01:34:17 PST Manner Róbert wrote:
>>> int main() {
>>>  qDebug() << QDir(".").entryList();
>> 
>> QCoreApplication missing. Try again with it.
>> 
>> -- 
>> Thiago Macieira - thiago.macieira (AT) intel.com <http://intel.com/>
>>  Software Architect - Intel Open Source Technology Center
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> From: Jérôme Godbout <godbo...@amotus.ca <mailto:godbo...@amotus.ca>>
>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>> Date: November 14, 2018 at 1:17:27 PM AST
>> To: Roman Wüger <roman.wue...@gmx.at <mailto:roman.wue...@gmx.at>>, ekke 
>> <e...@ekkes-corner.org <mailto:e...@ekkes-corner.org>>
>> Cc: "interest@qt-project.org <mailto:interest@qt-project.org>" 
>> <interest@qt-project.org <mailto:interest@qt-project.org>>
>> 
>> 
>> Take care the pixel density is way different on a mobile device form a 
>> normal desktop window. You might need to adjust your sizing for many thing. 
>> I do the following, I develop on a particular device with REFERENCE SIZE:
>> 
>> // Collect screen dimension
>>        const QScreen* const screen = QGuiApplication::primaryScreen();
>>        QRect rect = screen->geometry();
>>        const qreal height = qMax(rect.width(), rect.height());
>>        const qreal width = qMin(rect.width(), rect.height());
>>        const qreal dpi = screen->logicalDotsPerInch();
>> 
>>        // Compute reference ratio
>>        m_horizontal_scale = width / REFERENCE_WIDTH;
>>        m_vertical_scale = height / REFERENCE_HEIGHT;
>>        m_dpi_scale = dpi / REFERENCE_DPI;
>> 
>>        // Compute other element scale factor
>>        m_font_scale = qMin(m_horizontal_scale / m_dpi_scale, 
>> m_vertical_scale / m_dpi_scale);
>> 
>> This allow you to have a display that look like each other compare to screen 
>> size. It's maybe not what yo are looking for but might give you some idea to 
>> achieve what you are looking for.
>> 
>> -----Original Message-----
>> From: Interest <interest-bounces+godboutj=amotus...@qt-project.org 
>> <mailto:interest-bounces+godboutj=amotus...@qt-project.org>> On Behalf Of 
>> Roman Wüger
>> Sent: November 14, 2018 11:30 AM
>> To: ekke <e...@ekkes-corner.org <mailto:e...@ekkes-corner.org>>
>> Cc: interest@qt-project.org <mailto:interest@qt-project.org>
>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>> 
>> No, it is a QWidget application with Qt 5.12. I can’t switch to QtQuick 
>> because customer wants existing application to be ported to android tablet.
>> 
>> Regards
>> Roman
>> 
>>> Am 14.11.2018 um 17:15 schrieb ekke <e...@ekkes-corner.org 
>>> <mailto:e...@ekkes-corner.org>>:
>>> 
>>>> Am 14.11.18 um 17:11 schrieb Roman Wüger:
>>>> Hello everyone,
>>>> 
>>>> I enabled the High DPI option on an android tablet. However, the fonts are 
>>>> not resized at all and looks a way too small. I tried the other 
>>>> environment variables too, but the result is not as expected. 
>>>> 
>>>> Does anyone have a hint or how is that done normally?
>>>> 
>>>> Regards
>>>> Roman
>>>> _______________________________________________
>>>> Interest mailing list
>>>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>>> 
>>> what kind of application ?
>>> 
>>> QtQuickControls2 ?
>>> 
>>> ekke
>>> 
>>> _______________________________________________
>>> Interest mailing list
>>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> _______________________________________________
>> Interest mailing list
>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> 
>> 
>> From: Roman Wüger <roman.wue...@gmx.at>
>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>> Date: November 14, 2018 at 2:32:06 PM AST
>> To: Jérôme Godbout <godbo...@amotus.ca>
>> Cc: ekke <e...@ekkes-corner.org>, "interest@qt-project.org" 
>> <interest@qt-project.org>
>> 
>> 
>> And then I need to go over all widgets and multiply the font scale with 
>> current font size?
>> 
>> Regards 
>> 
>>> Am 14.11.2018 um 18:17 schrieb Jérôme Godbout <godbo...@amotus.ca>:
>>> 
>>> Take care the pixel density is way different on a mobile device form a 
>>> normal desktop window. You might need to adjust your sizing for many thing. 
>>> I do the following, I develop on a particular device with REFERENCE SIZE:
>>> 
>>> // Collect screen dimension
>>>       const QScreen* const screen = QGuiApplication::primaryScreen();
>>>       QRect rect = screen->geometry();
>>>       const qreal height = qMax(rect.width(), rect.height());
>>>       const qreal width = qMin(rect.width(), rect.height());
>>>       const qreal dpi = screen->logicalDotsPerInch();
>>> 
>>>       // Compute reference ratio
>>>       m_horizontal_scale = width / REFERENCE_WIDTH;
>>>       m_vertical_scale = height / REFERENCE_HEIGHT;
>>>       m_dpi_scale = dpi / REFERENCE_DPI;
>>> 
>>>       // Compute other element scale factor
>>>       m_font_scale = qMin(m_horizontal_scale / m_dpi_scale, 
>>> m_vertical_scale / m_dpi_scale);
>>> 
>>> This allow you to have a display that look like each other compare to 
>>> screen size. It's maybe not what yo are looking for but might give you some 
>>> idea to achieve what you are looking for.
>>> 
>>> -----Original Message-----
>>> From: Interest <interest-bounces+godboutj=amotus...@qt-project.org> On 
>>> Behalf Of Roman Wüger
>>> Sent: November 14, 2018 11:30 AM
>>> To: ekke <e...@ekkes-corner.org>
>>> Cc: interest@qt-project.org
>>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>>> 
>>> No, it is a QWidget application with Qt 5.12. I can’t switch to QtQuick 
>>> because customer wants existing application to be ported to android tablet.
>>> 
>>> Regards
>>> Roman
>>> 
>>>>> Am 14.11.2018 um 17:15 schrieb ekke <e...@ekkes-corner.org>:
>>>>> 
>>>>> Am 14.11.18 um 17:11 schrieb Roman Wüger:
>>>>> Hello everyone,
>>>>> 
>>>>> I enabled the High DPI option on an android tablet. However, the fonts 
>>>>> are not resized at all and looks a way too small. I tried the other 
>>>>> environment variables too, but the result is not as expected. 
>>>>> 
>>>>> Does anyone have a hint or how is that done normally?
>>>>> 
>>>>> Regards
>>>>> Roman
>>>>> _______________________________________________
>>>>> Interest mailing list
>>>>> Interest@qt-project.org
>>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>>>> 
>>>> what kind of application ?
>>>> 
>>>> QtQuickControls2 ?
>>>> 
>>>> ekke
>>>> 
>>>> _______________________________________________
>>>> Interest mailing list
>>>> Interest@qt-project.org
>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>> 
>>> _______________________________________________
>>> Interest mailing list
>>> Interest@qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> 
>> 
>> 
>> 
>> From: Manner Róbert <rma...@gmail.com>
>> Subject: Re: [Interest] QDir::entry(Info)List on macos
>> Date: November 15, 2018 at 3:54:38 AM AST
>> To: interest@qt-project.org
>> 
>> 
>> On 11/14/18 5:34 PM, Thiago Macieira wrote:
>>> On Wednesday, 14 November 2018 01:34:17 PST Manner Róbert wrote:
>>>> int main() {
>>>>  qDebug() << QDir(".").entryList();
>>> QCoreApplication missing. Try again with it.
>>> 
>> Tried, without success, still does not display these files. Even tried
>> with QDirIterator, that is also working the same (skipping these files).
>> 
>> With further checking I noticed that the files are only not displaying
>> if I do not create them with Qt. Eg I created with "touch filenamé". If
>> I create the same file with QFile, that seems to be found by these dir
>> lists. I know it sounds insane.
>> 
>> 
>> Locale is utf8:
>> 
>>> locale
>> LANG="en_US.UTF-8"
>> LC_COLLATE="en_US.UTF-8"
>> LC_CTYPE="en_US.UTF-8"
>> LC_MESSAGES="en_US.UTF-8"
>> LC_MONETARY="en_US.UTF-8"
>> LC_NUMERIC="en_US.UTF-8"
>> LC_TIME="en_US.UTF-8"
>> LC_ALL="en_US.UTF-8"
>> 
>> The modified source code:
>> 
>>> cat main.cpp
>> #include <QDirIterator>
>> #include <QDebug>
>> #include <QFileInfoList>
>> #include <QCoreApplication>
>> #include <QFile>
>> 
>> int main(int argc, char** argv) {
>>   QFile file("éáőú");  // This file is visible in the list! But not any
>> other I create with touch for example.
>>   file.open(QFile::WriteOnly);
>>   file.close();
>> 
>>   QCoreApplication app(argc, argv);
>>   QDirIterator iterator(".", QDir::Files, QDirIterator::Subdirectories);
>>   while (iterator.hasNext())
>>     {
>>       qDebug() << "QDiriterator" << iterator.next();
>>     }
>> 
>>   qDebug() << QDir(".").entryList(QDir::System | QDir::AllEntries |
>> QDir::Hidden);
>> 
>>   qDebug() << QDir(".").entryInfoList(QDir::System | QDir::AllEntries |
>> QDir::Hidden);
>> }
>> 
>> Thanks in advance for any idea.
>> 
>> Robert
>> 
>> 
>> 
>> 
>> 
>> From: "Olivier B." <perso.olivier.barthel...@gmail.com>
>> Subject: Re: [Interest] QDir::entry(Info)List on macos
>> Date: November 15, 2018 at 4:49:08 AM AST
>> To: rma...@gmail.com
>> Cc: interest@qt-project.org
>> 
>> 
>> What is the encoding of your source file?
>> QString constructors interprets char* as if they are UTF-8. If the
>> source file is encoded in your local encoding, the QString created for
>> QFile constructor will have a wrong unicode storage of your wanted
>> filename, then will try to convert what it thinks is UTF into your
>> local encoding to pass the filename to the system calls. Maybe the mac
>> explorer can work around this and adjust the displayed name, but the
>> Filesystem interface of Qt can't because that puts forbidden
>> characters in the real name?
>> Le jeu. 15 nov. 2018 à 08:55, Manner Róbert <rma...@gmail.com> a écrit :
>>> 
>>> On 11/14/18 5:34 PM, Thiago Macieira wrote:
>>>> On Wednesday, 14 November 2018 01:34:17 PST Manner Róbert wrote:
>>>>> int main() {
>>>>>  qDebug() << QDir(".").entryList();
>>>> QCoreApplication missing. Try again with it.
>>>> 
>>> Tried, without success, still does not display these files. Even tried
>>> with QDirIterator, that is also working the same (skipping these files).
>>> 
>>> With further checking I noticed that the files are only not displaying
>>> if I do not create them with Qt. Eg I created with "touch filenamé". If
>>> I create the same file with QFile, that seems to be found by these dir
>>> lists. I know it sounds insane.
>>> 
>>> 
>>> Locale is utf8:
>>> 
>>>> locale
>>> LANG="en_US.UTF-8"
>>> LC_COLLATE="en_US.UTF-8"
>>> LC_CTYPE="en_US.UTF-8"
>>> LC_MESSAGES="en_US.UTF-8"
>>> LC_MONETARY="en_US.UTF-8"
>>> LC_NUMERIC="en_US.UTF-8"
>>> LC_TIME="en_US.UTF-8"
>>> LC_ALL="en_US.UTF-8"
>>> 
>>> The modified source code:
>>> 
>>>> cat main.cpp
>>> #include <QDirIterator>
>>> #include <QDebug>
>>> #include <QFileInfoList>
>>> #include <QCoreApplication>
>>> #include <QFile>
>>> 
>>> int main(int argc, char** argv) {
>>>  QFile file("éáőú");  // This file is visible in the list! But not any
>>> other I create with touch for example.
>>>  file.open(QFile::WriteOnly);
>>>  file.close();
>>> 
>>>  QCoreApplication app(argc, argv);
>>>  QDirIterator iterator(".", QDir::Files, QDirIterator::Subdirectories);
>>>  while (iterator.hasNext())
>>>    {
>>>      qDebug() << "QDiriterator" << iterator.next();
>>>    }
>>> 
>>>  qDebug() << QDir(".").entryList(QDir::System | QDir::AllEntries |
>>> QDir::Hidden);
>>> 
>>>  qDebug() << QDir(".").entryInfoList(QDir::System | QDir::AllEntries |
>>> QDir::Hidden);
>>> }
>>> 
>>> Thanks in advance for any idea.
>>> 
>>> Robert
>>> 
>>> _______________________________________________
>>> Interest mailing list
>>> Interest@qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> 
>> 
>> 
>> From: Manner Róbert <rma...@gmail.com>
>> Subject: Re: [Interest] QDir::entry(Info)List on macos
>> Date: November 15, 2018 at 9:54:22 AM AST
>> To: "Olivier B." <perso.olivier.barthel...@gmail.com>
>> Cc: interest@qt-project.org
>> 
>> 
>> Hi,
>> 
>> ((
>> My local encoding is utf-8, so the source file seems to be the same as well:
>>> file main.cpp
>> main.cpp: c program text, UTF-8 Unicode text
>> ))
>> 
>> I think I have found the bug which causes this:
>> https://bugreports.qt.io/browse/QTBUG-70732
>> 
>> I am currently working on a workaround, I am now able to list the files
>> now using <dirent.h>:
>> 
>>         QStringList results;
>>         DIR *dir;
>>         struct dirent *ent;
>>         QByteArray bpath = path.toUtf8();
>>         if ((dir = opendir (bpath.constData())) != NULL) {
>>           /* print all the files and directories within directory */
>>           while ((ent = readdir (dir)) != NULL) {
>>             results << ent->d_name;
>>           }
>>           closedir (dir);
>>         } else {
>>           /* could not open directory */
>>           perror ("");
>>         }
>>         return results;
>> 
>> This gives back the files successfully, the downside is that they are in
>> UTF-8 normalization format D (UTF-8-mac) which represents accented
>> characters like O" format, so the original character (O) + the accent
>> ("). Similarly as "ls -1" does.
>> 
>> And having a QString like that does not match "normal" (==
>> "normalization format C") UTF-8 strings. Eg.:
>> 
>>   QString ch1("\u00D6");   // this is normal representation of "Ö"
>>   QString ch2("O\u0308");  // this specifies O with an accent
>>   qDebug() << ch1 << ch2 << (ch1 == ch2 ? "matches!" : "does not match");
>> 
>> This outputs: "Ö" "Ö" "does not match" not only on mac, but even on linux.
>> 
>> So I also needed to convert "utf8 to utf8" :) for my complete
>> workaround. Unfortunately I did not find a way to do so with QTextCodec.
>> (Is there?) So I am trying now iconv... this seems to do the trick, but
>> quite ugly and inefficient.
>> 
>> QByteArray
>> utf8_unmac(const QByteArray &utf8_mac)
>> {
>>   iconv_t conv = iconv_open("UTF-8-mac", "UTF-8");
>>   if (conv == (iconv_t)-1)
>>     {
>>       RAISE(TestRunnerException(QString("Iconv open failed: ") +
>> sys_errlist[errno]));
>>     }
>> 
>>   char *inp = const_cast<char *>(utf8_mac.constData());  // iconv is
>> moving these thats why the duplication
>>   size_t inp_len = utf8_mac.size();
>> 
>>   size_t out_len = inp_len * 2;
>> 
>>   QByteArray utf8;
>>   utf8.resize(out_len);
>> 
>>   char *out = utf8.data();
>> 
>>   if (iconv(conv, &inp, &inp_len, &out, &out_len) == (size_t)-1)
>>     {
>>       RAISE(TestRunnerException(QString("Iconv convert failed: ") +
>> sys_errlist[errno]));
>>     }
>> 
>>   utf8.chop(out_len);
>>   iconv_close(conv);
>>   return utf8;
>> }
>> 
>> Hope it is useful for someone. To be honest, I always imagined that if
>> everyone would use UTF-8 life would be much better, now I'm unsure ;)
>> 
>> Br,
>> 
>> Robert
>> 
>> 
>> On 11/15/18 9:49 AM, Olivier B. wrote:
>>> What is the encoding of your source file?
>>> QString constructors interprets char* as if they are UTF-8. If the
>>> source file is encoded in your local encoding, the QString created for
>>> QFile constructor will have a wrong unicode storage of your wanted
>>> filename, then will try to convert what it thinks is UTF into your
>>> local encoding to pass the filename to the system calls. Maybe the mac
>>> explorer can work around this and adjust the displayed name, but the
>>> Filesystem interface of Qt can't because that puts forbidden
>>> characters in the real name?
>>> Le jeu. 15 nov. 2018 à 08:55, Manner Róbert <rma...@gmail.com> a écrit :
>>>> On 11/14/18 5:34 PM, Thiago Macieira wrote:
>>>>> On Wednesday, 14 November 2018 01:34:17 PST Manner Róbert wrote:
>>>>>> int main() {
>>>>>>  qDebug() << QDir(".").entryList();
>>>>> QCoreApplication missing. Try again with it.
>>>>> 
>>>> Tried, without success, still does not display these files. Even tried
>>>> with QDirIterator, that is also working the same (skipping these files).
>>>> 
>>>> With further checking I noticed that the files are only not displaying
>>>> if I do not create them with Qt. Eg I created with "touch filenamé". If
>>>> I create the same file with QFile, that seems to be found by these dir
>>>> lists. I know it sounds insane.
>>>> 
>>>> 
>>>> Locale is utf8:
>>>> 
>>>>> locale
>>>> LANG="en_US.UTF-8"
>>>> LC_COLLATE="en_US.UTF-8"
>>>> LC_CTYPE="en_US.UTF-8"
>>>> LC_MESSAGES="en_US.UTF-8"
>>>> LC_MONETARY="en_US.UTF-8"
>>>> LC_NUMERIC="en_US.UTF-8"
>>>> LC_TIME="en_US.UTF-8"
>>>> LC_ALL="en_US.UTF-8"
>>>> 
>>>> The modified source code:
>>>> 
>>>>> cat main.cpp
>>>> #include <QDirIterator>
>>>> #include <QDebug>
>>>> #include <QFileInfoList>
>>>> #include <QCoreApplication>
>>>> #include <QFile>
>>>> 
>>>> int main(int argc, char** argv) {
>>>>  QFile file("éáőú");  // This file is visible in the list! But not any
>>>> other I create with touch for example.
>>>>  file.open(QFile::WriteOnly);
>>>>  file.close();
>>>> 
>>>>  QCoreApplication app(argc, argv);
>>>>  QDirIterator iterator(".", QDir::Files, QDirIterator::Subdirectories);
>>>>  while (iterator.hasNext())
>>>>    {
>>>>      qDebug() << "QDiriterator" << iterator.next();
>>>>    }
>>>> 
>>>>  qDebug() << QDir(".").entryList(QDir::System | QDir::AllEntries |
>>>> QDir::Hidden);
>>>> 
>>>>  qDebug() << QDir(".").entryInfoList(QDir::System | QDir::AllEntries |
>>>> QDir::Hidden);
>>>> }
>>>> 
>>>> Thanks in advance for any idea.
>>>> 
>>>> Robert
>>>> 
>>>> _______________________________________________
>>>> Interest mailing list
>>>> Interest@qt-project.org
>>>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> 
>> 
>> 
>> 
>> 
>> From: Jérôme Godbout <godbo...@amotus.ca>
>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>> Date: November 15, 2018 at 10:42:20 AM AST
>> To: Roman Wüger <roman.wue...@gmx.at>
>> Cc: ekke <e...@ekkes-corner.org>, "interest@qt-project.org" 
>> <interest@qt-project.org>
>> 
>> 
>> That I don't known, I'm 100% Qml and I just apply this to my Control style 
>> at one place. Maybe there is a way to do this into the cascading widget 
>> style...
>> 
>> -----Original Message-----
>> From: Roman Wüger <roman.wue...@gmx.at> 
>> Sent: November 14, 2018 1:32 PM
>> To: Jérôme Godbout <godbo...@amotus.ca>
>> Cc: ekke <e...@ekkes-corner.org>; interest@qt-project.org
>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>> 
>> And then I need to go over all widgets and multiply the font scale with 
>> current font size?
>> 
>> Regards 
>> 
>>> Am 14.11.2018 um 18:17 schrieb Jérôme Godbout <godbo...@amotus.ca>:
>>> 
>>> Take care the pixel density is way different on a mobile device form a 
>>> normal desktop window. You might need to adjust your sizing for many thing. 
>>> I do the following, I develop on a particular device with REFERENCE SIZE:
>>> 
>>> // Collect screen dimension
>>>       const QScreen* const screen = QGuiApplication::primaryScreen();
>>>       QRect rect = screen->geometry();
>>>       const qreal height = qMax(rect.width(), rect.height());
>>>       const qreal width = qMin(rect.width(), rect.height());
>>>       const qreal dpi = screen->logicalDotsPerInch();
>>> 
>>>       // Compute reference ratio
>>>       m_horizontal_scale = width / REFERENCE_WIDTH;
>>>       m_vertical_scale = height / REFERENCE_HEIGHT;
>>>       m_dpi_scale = dpi / REFERENCE_DPI;
>>> 
>>>       // Compute other element scale factor
>>>       m_font_scale = qMin(m_horizontal_scale / m_dpi_scale, 
>>> m_vertical_scale / m_dpi_scale);
>>> 
>>> This allow you to have a display that look like each other compare to 
>>> screen size. It's maybe not what yo are looking for but might give you some 
>>> idea to achieve what you are looking for.
>>> 
>>> -----Original Message-----
>>> From: Interest <interest-bounces+godboutj=amotus...@qt-project.org> On 
>>> Behalf Of Roman Wüger
>>> Sent: November 14, 2018 11:30 AM
>>> To: ekke <e...@ekkes-corner.org>
>>> Cc: interest@qt-project.org
>>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>>> 
>>> No, it is a QWidget application with Qt 5.12. I can’t switch to QtQuick 
>>> because customer wants existing application to be ported to android tablet.
>>> 
>>> Regards
>>> Roman
>>> 
>>>>> Am 14.11.2018 um 17:15 schrieb ekke <e...@ekkes-corner.org>:
>>>>> 
>>>>> Am 14.11.18 um 17:11 schrieb Roman Wüger:
>>>>> Hello everyone,
>>>>> 
>>>>> I enabled the High DPI option on an android tablet. However, the fonts 
>>>>> are not resized at all and looks a way too small. I tried the other 
>>>>> environment variables too, but the result is not as expected. 
>>>>> 
>>>>> Does anyone have a hint or how is that done normally?
>>>>> 
>>>>> Regards
>>>>> Roman
>>>>> _______________________________________________
>>>>> Interest mailing list
>>>>> Interest@qt-project.org
>>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>>>> 
>>>> what kind of application ?
>>>> 
>>>> QtQuickControls2 ?
>>>> 
>>>> ekke
>>>> 
>>>> _______________________________________________
>>>> Interest mailing list
>>>> Interest@qt-project.org
>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>> 
>>> _______________________________________________
>>> Interest mailing list
>>> Interest@qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> 
>> 
>> 
>> From: Nguyen Ngoc Thach Chau <chau...@gmail.com>
>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>> Date: November 15, 2018 at 11:04:41 AM AST
>> To: godbo...@amotus.ca
>> Cc: roman.wue...@gmx.at, interest@qt-project.org
>> 
>> 
>>         QGuiApplication app(argc, argv);
>>         QScreen *screen = app.screens()[0];
>>         double dpi = screen->physicalDotsPerInch();
>>         dpi-= dpi * 10/100;
>>         if(dpi >= 640) dpi = dpi/640; //xxxhdpi
>>         else if (dpi >= 480) dpi = dpi/480; //xxhdpi
>>         else if (dpi >= 320) dpi = dpi/320; //xhdpi
>>         else if (dpi >= 240) dpi = dpi/240; //hdpi
>>         else if (dpi >= 160) dpi = dpi/160; //mdpi
>>         else if (dpi >= 120) dpi = dpi/120; //ldpi
>>         else{
>>             dpi = 1;//ldpi
>>         }
>> I used as above then multiply all font pixels with "dpi".
>> 
>> 
>> On Thu, Nov 15, 2018 at 9:42 PM Jérôme Godbout <godbo...@amotus.ca 
>> <mailto:godbo...@amotus.ca>> wrote:
>> That I don't known, I'm 100% Qml and I just apply this to my Control style 
>> at one place. Maybe there is a way to do this into the cascading widget 
>> style...
>> 
>> -----Original Message-----
>> From: Roman Wüger <roman.wue...@gmx.at <mailto:roman.wue...@gmx.at>> 
>> Sent: November 14, 2018 1:32 PM
>> To: Jérôme Godbout <godbo...@amotus.ca <mailto:godbo...@amotus.ca>>
>> Cc: ekke <e...@ekkes-corner.org <mailto:e...@ekkes-corner.org>>; 
>> interest@qt-project.org <mailto:interest@qt-project.org>
>> Subject: Re: [Interest] Problem with font size on Android and High DPI
>> 
>> And then I need to go over all widgets and multiply the font scale with 
>> current font size?
>> 
>> Regards 
>> 
>> > Am 14.11.2018 um 18:17 schrieb Jérôme Godbout <godbo...@amotus.ca 
>> > <mailto:godbo...@amotus.ca>>:
>> > 
>> > Take care the pixel density is way different on a mobile device form a 
>> > normal desktop window. You might need to adjust your sizing for many 
>> > thing. I do the following, I develop on a particular device with REFERENCE 
>> > SIZE:
>> > 
>> > // Collect screen dimension
>> >        const QScreen* const screen = QGuiApplication::primaryScreen();
>> >        QRect rect = screen->geometry();
>> >        const qreal height = qMax(rect.width(), rect.height());
>> >        const qreal width = qMin(rect.width(), rect.height());
>> >        const qreal dpi = screen->logicalDotsPerInch();
>> > 
>> >        // Compute reference ratio
>> >        m_horizontal_scale = width / REFERENCE_WIDTH;
>> >        m_vertical_scale = height / REFERENCE_HEIGHT;
>> >        m_dpi_scale = dpi / REFERENCE_DPI;
>> > 
>> >        // Compute other element scale factor
>> >        m_font_scale = qMin(m_horizontal_scale / m_dpi_scale, 
>> > m_vertical_scale / m_dpi_scale);
>> > 
>> > This allow you to have a display that look like each other compare to 
>> > screen size. It's maybe not what yo are looking for but might give you 
>> > some idea to achieve what you are looking for.
>> > 
>> > -----Original Message-----
>> > From: Interest <interest-bounces+godboutj=amotus...@qt-project.org 
>> > <mailto:amotus...@qt-project.org>> On Behalf Of Roman Wüger
>> > Sent: November 14, 2018 11:30 AM
>> > To: ekke <e...@ekkes-corner.org <mailto:e...@ekkes-corner.org>>
>> > Cc: interest@qt-project.org <mailto:interest@qt-project.org>
>> > Subject: Re: [Interest] Problem with font size on Android and High DPI
>> > 
>> > No, it is a QWidget application with Qt 5.12. I can’t switch to QtQuick 
>> > because customer wants existing application to be ported to android tablet.
>> > 
>> > Regards
>> > Roman
>> > 
>> >>> Am 14.11.2018 um 17:15 schrieb ekke <e...@ekkes-corner.org 
>> >>> <mailto:e...@ekkes-corner.org>>:
>> >>> 
>> >>> Am 14.11.18 um 17:11 schrieb Roman Wüger:
>> >>> Hello everyone,
>> >>> 
>> >>> I enabled the High DPI option on an android tablet. However, the fonts 
>> >>> are not resized at all and looks a way too small. I tried the other 
>> >>> environment variables too, but the result is not as expected. 
>> >>> 
>> >>> Does anyone have a hint or how is that done normally?
>> >>> 
>> >>> Regards
>> >>> Roman
>> >>> _______________________________________________
>> >>> Interest mailing list
>> >>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>> >>> http://lists.qt-project.org/mailman/listinfo/interest 
>> >>> <http://lists.qt-project.org/mailman/listinfo/interest>
>> >>> 
>> >> what kind of application ?
>> >> 
>> >> QtQuickControls2 ?
>> >> 
>> >> ekke
>> >> 
>> >> _______________________________________________
>> >> Interest mailing list
>> >> Interest@qt-project.org <mailto:Interest@qt-project.org>
>> >> http://lists.qt-project.org/mailman/listinfo/interest 
>> >> <http://lists.qt-project.org/mailman/listinfo/interest>
>> > 
>> > _______________________________________________
>> > Interest mailing list
>> > Interest@qt-project.org <mailto:Interest@qt-project.org>
>> > http://lists.qt-project.org/mailman/listinfo/interest 
>> > <http://lists.qt-project.org/mailman/listinfo/interest>
>> 
>> _______________________________________________
>> Interest mailing list
>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>> http://lists.qt-project.org/mailman/listinfo/interest 
>> <http://lists.qt-project.org/mailman/listinfo/interest>
>> 
>> 
>> _______________________________________________
>> Interest mailing list
>> Interest@qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
> 
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to