Review Request 127245: Fix Kdelibs4 config migration for Windows

Andre Heinecke aheinecke at intevation.de
Wed Mar 2 10:14:20 UTC 2016



> On March 2, 2016, 8:19 a.m., David Faure wrote:
> > I couldn't find "AppData" or "Roaming" in kdelibs4 though. Did this come from windows API calls, or from kdewin maybe? Just wanted to check it was the exact same logic as in kdelibs4...

In kdecore/kernel/kstandarddirs.cpp line 1733   if ( SHGetFolderPathW(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, wPath) == S_OK) < This puts ~/AppData/Roaming in wPath (for Windows Vista and later).
which is then used in: localKdeDir = QDir::fromNativeSeparators(QString::fromUtf16((const ushort *) wPath)) + QLatin1Char('/') + QString::fromLatin1(KDE_DEFAULT_HOME) + QLatin1Char('/');


Thinking about it the patch would be better if it mirrors that behavior. I thought it's ok to hardcode AppData/Roaming (as XP compatibility should not be an issue) but it would be better to use SHGetFolderPath. I had not thought of cases where upgrades from XP to Vista to newer versions happened. In this case I think SHGetFolderPath might return a different path. So it's better to use that function.

I'll update the patch accordingly.


- Andre


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127245/#review93055
-----------------------------------------------------------


On March 1, 2016, 4:50 p.m., Andre Heinecke wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127245/
> -----------------------------------------------------------
> 
> (Updated March 1, 2016, 4:50 p.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Repository: kcoreaddons
> 
> 
> Description
> -------
> 
> The old config was by default in ~/AppData/Roaming/.kde so on Windows we should look there, too.
> 
> The new config location (as used everywhere in KConfig) should be GenericConfigLocation and not ConfigLocation. 
> According to http://doc.qt.io/qt-5/qstandardpaths.html this only makes a difference on Windows so I think it's still safe to change this.
> 
> 
> Diffs
> -----
> 
>   src/lib/util/kdelibs4configmigrator.cpp c8560c1 
>   src/lib/util/kdelibs4migration.cpp f631efa 
> 
> Diff: https://git.reviewboard.kde.org/r/127245/diff/
> 
> 
> Testing
> -------
> 
> On Windows: Made changes to XMLGui rc file and both kleopatra config files with a KDE 4 Kleo. Checked that they were migrated and changes show up.
> 
> 
> Thanks,
> 
> Andre Heinecke
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160302/2e07ef25/attachment.html>


More information about the Kde-frameworks-devel mailing list