Thiago Macieira schrieb: > Ralf Habacker wrote: > >> 1. As Oswald initial stated rename KProcess KProcIO and >> KProcessController to relating K3... and move to kde3support and >> introduce new implementation as KProcess. This requires to port all >> KProcess references in kdecore to the new style (much work) or to make >> kde3support a dependency of kdecore (seems not be much work) and rename >> all references into other packages to K3Process (seems solvable). >> > > kdecore cannot depend on kde3support. The K3Process class, if we make one, > has to be in kde3support. > > So your option here is: port every use of KProcess in kdecore, kdeui and > kio to the new class. > > Below there all required changes listed. kdecore/ktimezones.cpp - unix only - default blocking call without any redirection, easy to fix [1] kdecore/kpty.cpp - unix only - redirects fd's, does QProcess support all required needs ? [3] kdecore/kconfigbackend.cpp - all platforms - default blocking call without any redirection, easy to fix [1] kdeui/kbugreport.cpp - all platforms - starts non blocking call and perform action on process finished [1] kdeui/kedittoolbar.cpp - all platforms - starts non blocking call and perform action on process finished depending on exit state [2] kdeui/kspell.cpp - all platforms - starts non blocking call and perform action on process finished [1] kio/kfile/kdiskfreesp.cpp - all platforms - starts non blocking call, catch stderr and perform action on process finished [2] kio/kfile/kfilesharedlg.cpp - unix only - starts non blocking call and perform action on process finished [2] kio/kfile/kpropertiesdialog.cpp - all platforms - needs cleanup (old KProcess method is used in KRun context) [4] kio/kio/defaultprogress.cpp - all platforms - start non blocking call [1] kio/kio/kfileshare.cpp - unix only - starts non blocking call, catch stdout and perform action on process finished [2] kio/kio/kmimetype.cpp - all platforms - start non blocking call [1] kio/kio/kmimetypechooser.cpp - all platforms - needs cleanup (old KProcess function is used in KRun context) [4] kio/kio/krun.cpp - all platforms - starts non blocking call and perform action on process finished depending on exit state [2] kio/kio/slave.cpp - all platforms - start non blocking call [1] kio/kioexec/main.cpp - all platforms - start blocking call [1] kio/misc/kpac/discovery.cpp - unix only - starts non blocking call, catch stdout and perform action on process finished [2] kio/tests/kdcopcheck.cpp - all platforms - starts non blocking call, catch stdout and perform action on process finished [2] Inidicators: [1] easy to fix [2] more work to fix [3] needs unix developer [4] need design change >> 2. introduce new KProcess as K4Process and give people time to port >> KProcess references to K4Process. If this is stabilized move recent >> KProcess to kde3support and rename K4Process to KProcess. Still not >> ported old KProcess references must be renamed to K3Process. >> > > Renaming is not an option. > > >> 3. Do nothing until Qt 4.2 is released because QProcess may change (This >> adds unwanted delay in the windows port) >> > > Not released, but at least until the snapshots of 4.2 start appearing and > qt-copy switches to it. > > >> 4. Ask tt again about their qt4.2 QProcess api changes, consider the >> changes in the new implementation and go on with 1. or 2. >> > > This is the same as above. > > I'll see what TT can do and, given the possibility, push the patch into > qt-copy, as has been done with other Qt 4.2 features required by kdelibs. > > Thanks Ralf