Review Request 117078: Allow compiling kio on windows

Mark Gaiser markg85 at gmail.com
Wed Mar 26 13:39:38 UTC 2014



> On March 26, 2014, 12:57 p.m., Mark Gaiser wrote:
> > src/widgets/kpropertiesdialog.cpp, line 3444
> > <https://git.reviewboard.kde.org/r/117078/diff/2/?file=257291#file257291line3444>
> >
> >     If you change it anyway, you might as well go for C++11:
> >     for(const QString& userName : userNames) {...}
> >     
> >     Just a matter of taste though. Feel free to ignore :)
> 
> Alexander Richardson wrote:
>     Would also prefer that, but not possible (yet) due to minimum supported compilers: https://community.kde.org/Frameworks/Policies#Frameworks_compiler_requirements_and_C.2B.2B11
>     Only avaiable from GCC 4.6 and MSVC 2012. I would personally like the minimum to be that since it also allows stuff like nullptr and strongly typed enums, but those versions have been decided upon.

Ohh, i thought for(.. : ..) was supported just fine. It's in GCC since 4.6 http://gcc.gnu.org/projects/cxx0x.html (range based for). Don't know for MSVC 2012.


> On March 26, 2014, 12:57 p.m., Mark Gaiser wrote:
> > src/widgets/kurlcompletion.cpp, lines 1555-1568
> > <https://git.reviewboard.kde.org/r/117078/diff/2/?file=257292#file257292line1555>
> >
> >     Now it looks like either case (if and else) just return the users's home dir. You new code is certainly doing that. I don't know exactly what the old case was doing here.
> >     
> >     What was it doing?
> 
> Alexander Richardson wrote:
>     No, it looks for the homedir of a user with name = userName in the second case (same as the code before)

Ahh right, now i see it. Thank you for explaining.


- Mark


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


On March 26, 2014, 11:16 a.m., Alexander Richardson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/117078/
> -----------------------------------------------------------
> 
> (Updated March 26, 2014, 11:16 a.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Repository: kio
> 
> 
> Description
> -------
> 
> A series of commits (can submit separately if necessary):
> ---
> Add S_IXUSR, IRUSR, etc. definitions for Windows
> ---
> Add KIOPrivate::isProcessAlive() and KIOPrivate::sendTerminateSignal()
> 
> kill() does not work on Windows, therefore a WIN32 implementation is needed
> in order to compile slave.cpp
> ---
> Add KIOPrivate::symlinkTarget() to avoid directly calling readlink()
> 
> This allows KFileItem to be compiled on Windows.
> The Windows implementation requires at least Windows Vista because
> GetFinalPathNameByHandleW is not available in earlier version. Windows XP
> support ends on the 8th of April so it should be okay to drop support for
> it. If XP support is deemed necessary GetFinalPathNameByHandleW can be
> loaded dynamically using GetProcAddress but that is not part of this patch.
> Fix windows build of tests
> ---
> Add KIOPrivate::changeOwnership() to avoid directly calling chown()
> 
> Additionally use KUserId/KGroupId instead of uid_t/gid_t.
> This allows compiling chmodjob.cpp on Windows.
> 
> KIOPrivate::changeOwnership is a stub on Windows. However, it has always
> been like that with the kdewin chmod() implementation, so this is not a
> regression from kdelibs4.
> ---
> Add KIOPrivate::createSymlink() to avoid using symlink() directly
> ---
> Minor Windows compile fixes
> ---
> Use KUser in KPropertiesDialog
> 
> This means no more need for getpwent(), etc -> works on Windows
> ---
> Export the KIOPrivate functions
> ---
> Fix kio_http build on Windows
> ---
> No longer use uid_t/gid_t in kio_file
> ---
> Allow compiling kurlcompletion.cpp on windows
> ---
> Add a fake QT_LSTAT for Windows
> 
> This just calls QT_STAT and adds QT_STAT_LNK flag to st_mode if it is a
> symlink
> ---
> Use KUser in kpropertiesdialog.cpp -> no more getgrouplist
> 
> 
> Diffs
> -----
> 
>   autotests/fileundomanagertest.cpp 3f209f89cc0e2ac48d8eaef7ee73ec18abca9a4c 
>   autotests/globaltest.cpp 4367e53b44e077c566316081e21f429ac15b74a0 
>   autotests/kdirlistertest.cpp 10a970416b8874f1e136b460d05378f8f3a86810 
>   autotests/kfileitemtest.h dc1808e726cf6af1605cfda520c7df3832225cc1 
>   autotests/kfileitemtest.cpp 38bd87f4e9facd8e52e9e5fbd98b16011c866b5a 
>   autotests/kiotesthelper.h eb9f0f3019deb63506c2a173d700b78daa95ae10 
>   src/core/CMakeLists.txt d897e370baedbe06b267934c123acee7a149adff 
>   src/core/chmodjob.cpp 271869bc2a643d715670560b7920efdbc948e560 
>   src/core/job_error.cpp 1ec28c5d9ebdbc2045743c566f473c8cfa02e1bd 
>   src/core/kfileitem.cpp 7364f87257b5d7dfb760b1c6e5b5d04e1d15a19d 
>   src/core/kioglobal_p.h PRE-CREATION 
>   src/core/kioglobal_p_unix.cpp PRE-CREATION 
>   src/core/kioglobal_p_win.cpp PRE-CREATION 
>   src/core/slave.cpp 787ffcf3cc97a73fb29c2172ed6b8df19ac016fc 
>   src/ioslaves/file/file.h 6477df7cf0d26bf4f581151e1ce8e6c1115a221c 
>   src/ioslaves/file/file.cpp 6387d7f29df2c0a26952be5255438361c37ed082 
>   src/ioslaves/file/file_win.cpp b0e433e5438e3c45f2f021bf073cb3cca8f4f923 
>   src/ioslaves/ftp/ftp.cpp 49037701772f88e9a96bc3110f1f04fccb810ca8 
>   src/ioslaves/http/http.cpp 3158628af2dc8ee88a0ac0d968748d6b50a8da33 
>   src/widgets/CMakeLists.txt 61e4db3566bad08baaa2e7e90b862ddfc8b957f7 
>   src/widgets/config-getgrouplist.h.cmake 6847a19d60be4eb5c2b65fb86258f7368848e6ab 
>   src/widgets/getgrouplist-fake.c dbe77067371dcedb80cea684fb3cd5f42ed72805 
>   src/widgets/kpropertiesdialog.cpp a3011a8adac98287bcada281dfc50b27e1af8fa0 
>   src/widgets/kurlcompletion.cpp 3f309257c187358de0fd66f9d67f09a712fdf7d6 
> 
> Diff: https://git.reviewboard.kde.org/r/117078/diff/
> 
> 
> Testing
> -------
> 
> compiles, tests still the same as before (i.e. not passing)
> 
> 
> Thanks,
> 
> Alexander Richardson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140326/cdd53327/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list