"Client Kit for Perforce", is a proof-of-concept demonstrating a Qt Thin Client application useful for quickly creating custom Perforce clients with a wide range of capabilities using a combination of Qt/C++ and web technologies (HTML5). The code uses no special Perforce knowledge. This is a key advantage, as all of the source code is made freely available for maximum flexibility, power and creativity. Having all the source available means the Qt/C++ core can be very compact, because only the minimum needed C++ code for supporting an application needs to be built-in. (It also means that any given example, including the one here, only hints at the possibilities of marrying the power of Qt and HTML5). Another benefit of providing the C++ core is that the security model can be fine tuned to the application. The "Kit" part of the name refers to the (relatively) easy re-usability of HTML and JavaScript components. Pieces such as a depot tree and local tree browser can be written separately and then quickly added together to build custom clients. Ideally, the Ecosystem will build and extend the "Kit" components. Building P4ClientKit -------------------- 1. Download Qt libraries http://qt.nokia.com/products/. We've tested with 4.7.2 and 4.7.4 2. Download Perforce C++ API ftp://ftp.perforce.com/perforce/ 3. Tip: C++ API documentation http://www.perforce.com/perforce/doc.current/manuals/p4api/index.html 4. Build Qt/C++ application: KCommon.h ClientKitApi.h main.cpp ClientKitApi.cpp mainwindow.cpp 5. Also link in the Perforce C++ API. 6. Qt Creator and Visual Studio VS2008 have been used to build on WinXP and Mac OSX. 7. Tip: Qt Plug-in for Visual Studio helps configure custom build step for MOC compiler required by Qt 8. Once the C++ application is built, drag & drop html files onto the P4ClientKit window to run them (or configure start application through the P4ClientKit.conf file) 9. Tip: Open the "SimpleCommandApplet.js" in the "sample applet/js/" directory and enter your port, username, and client on lines 4, 5, and 6 to configure your Perforce connection for the samples If you run into trouble, I'll try (but can't guarantee) to help you. Questions, comments also to: jcreasy at perforce dot com