- Merged shell branch back into master.
- QExt can now be included directly into your projects! src/qext_files.pri will import the files for QExt into your .pro, so it's not necessary to build a dll.
- Updated the projects to use C++17, which seems to enforce stricter compliance with the Standard in MSVC.
- Fixed an infinite compilation loop in pointer_deleters.h
- Fixed another infinite loop in test.h
- Cleaned up some of the test files
- Added TODO.md with short-term and near-term roadmap.
- qewindows/shell: added in comments missing functions; still sketching out the
full list of free
qe::windows::shellfunctions. - qewindows/shell: added optional HRESULT pointer parameter to most functions.
- qewindows/shell: renamed
parsingFilePath()toparsingPathName()and added an overload for ShellItem2Pointer. - qewindows/shell: removed clutter.
- qecore: inlined everything. QeCore is now entirely header-only and has no dll to export.
- qecore/global: fixed up
QE_STATIC_CLASSand corrected documentation. - qecore/dptr.h: cosmetic fixes.
- qewindows/shell_impl: corrected the
BHID_enum forIEnumShellItemstoBHID_EnumItems(it wasBHID_Storage)
- qewindows/shellnode: added comparison operators
- qewindows/shell: working on a proper templated implementation of
compareItems - test/windows/*: some cleanup here, added to test_shellnode for comarison operators
- qewindows/shell: added inline getters (
retrieveItemPointer) in shellnode.h and shellnodedata.h to retrieve IShellItem pointers from both ShellNode and ShellNodeData and their QSharedPointer typedefs. - Prettied up the generated doxygen class files.
- qewindows/shellnode: Lots of documentation for ShellNode
- qewindows/shellnode: Added
childCount(),childIndex()andchildAt() - test/windows/shellnode: updated test harness
- qewindows/shellnodebuilder: removed
- qewindows/shellcache: removed
- qewindows/shellnodedata: added equality operators, removed cruft
- qewindows/shellnode: added equality operators, removed cruft
- qewindows/idlist: added quite a bit of functionality from the sandbox and updated unit test
- qewindows/shell: converted to IdList from IdListPointer, added
compareItems() - qewindows/shellnodeinfo: updated to use IdList
- qewindows/types: removed IdListPointer, added
#includefor IdList. - test.h: added
flag_check()lambda andEXPECT_FLAG()macro for binary AND testing strongly typed enums. - Lots of documentation, particularly IdList.
- Finished unaligned.h, which helps with the
__unalignedspecifier on x86-64 Windows platforms. - Finished idlist.h and idlist_impl.h, which are part of qewindows/idlist, to replace the IdListPointer.
- Pushing the few updates I've made while working on
shell::IdList UnknownPointeris better documented.- qewindows/shell:
desktopFolder()anddesktopItem()are now backed bythread_localvariables. - qewindows/shell: added
itemParent()andidListParent()functions.
- Working on an alternative implementation of IdListPointer that behaves more like a trivial, concrete type and less like a pointer.
- Need to strip out
ShellCache, etc. and leaveShellNode,ShellNodeData, andShellNodeInfo. - Will start this after I have a working test harness for shell::IdList
- qewindows/shell: added
idListParent().
- qewindows/shellnodebuilder: implemented most of the work for the class.
- qewindows/shell: added
itemParent()function. - qewindows/shellnode: delegated construction to
ShellNodeBuilder.
- qewindows/shellnode: added comparison operators.
- qewindows/unknownpointer: refactoring and documentation.
- Working towards a node/cache builder/manager that accepts some arguments and constructs a new node.
- qewindows/shell: hopefully fixing
bindingGuid().
- Fixed the linking error, FINALLY (missed a
STRICT_TYPED_ITEMIDS). - qewindows/shellcache: implemented
insert(). - qewindows/shellcache: moved
createNode()toShellCachePrivate. - qewindows/compointer: removed string functions and inlined the code.
- qewindows/shell: added
knownFolderIdList()andknownFolderItem(). - qewindows/shell: added
bindTo()andbindToObject(). - added shell_impl.h to help with
qe::windows::shell::bindTo(). - qewindows/shellnode: started work on
enumerate().
- Minor doxygen config tweaks.
- Documented a few undocumented function calls.
- qewindows/shell: Enums are properly documented now.
- Minor doxygen style updates.
- ShellNode now inherits from
QEnableSharedFromThis. - Still working on the linking error.
- qewindows/shell: added
createBindContext() - Created test_shellcache.h in the test project.
- Lots of fixes.
- Still working at auto-populating the cache on
ShellNodecreation. - qewindows/types: renamed
ShellItemPointertoShellItem2Pointerto reflect the obvious. - A lot of work narrowing construction points (and thus insertions) for
ShellNode. - qewindows/shellcache: Worked on parent/child relationship during node construction
- qewindows/shellnode: some refactoring
- Documented some things in need of documenting.
- qewindows/shellcache: worked on storing data as a
QMapinstead of aQHash.
- qewindows/shellcache: added
keyForfor parsing pathnames.
- qecore/type_util: cleaned up and removed everything from the ::detail namespace.
- qewindows/shell: added idListFromUnknown free function
- qewindows/shell: added MayHaveChildren flag
- qewindows/shellnodedata: updated for MayHaveChildren flag
- qewindows/shell: NodeFlag has proper doxygen comments now
- Major doxygen fixes, particularly with font faces
- qecore/managedpointer: Documented and cleaned up.
- qewindows/compointer: BStrPointer and WCharPointer are now template types of ManagedPointer and can thus be copied.
- Implemented the skeletons of ShellCache and ShellNode
- Began work on qewindows/shellcache
- Cleaned up some pointer issues
- qewindows/compointer: BStrPointer and WCharPointer are copyable now and inherit from qe::ManagedPointer. They are also declared as metatypes.
- Blocked off the windows module from qext.pro with a
win32include condition. - Created shell branch
- Added some basic functions to
ShellNodeInfo. - qewindows/shellnodedata: fleshed out
refresh()
- Moved qe::windows::util to qe::windows::shell
- qewindows/shellutil: renamed to shell.h
- qewindows/shellnode: simplified data storage to swappable LocalData struct
- qewindows/unknownpointer: fixed a minor bug on copy
- qewindows/shellnodedata: lots of fixes on construction
- qewindows/shellnodedata: flags populate on
refresh()now.
- qecore/managedpointer: Merged ManagedPointer
- Adapted Qt's QScopedPointer*Deleter types
- qecore/pointer_deleters: Broke deleters off into separate header
- Updated test files, added one for
ManagedPointer - Doxygen now less ugly.
- qewindows/types: Proper clutter names for qe::windows type aliases.
- qewindows/shellutil: added desktop() method
- qewindows/global: Added
STRICT_TYPED_ITEMIDS#define - qewindows/compointer:
IdListPointeris now copyable and derives fromManagedPointer.