├── src
├── VERSION.TXT.in
├── libexprtk
│ ├── libexprtk.def
│ └── CMakeLists.txt
├── flat-color-icons
│ └── flat-color-icons.url
├── tests
│ ├── test_files
│ │ ├── issue036_icon.7z
│ │ ├── Smiley.40x60.1bpp.bmp
│ │ ├── Smiley.40x60.4bpp.bmp
│ │ ├── Smiley.80x80.1bpp.bmp
│ │ ├── Smiley.80x80.24bpp.bmp
│ │ ├── Smiley.80x80.32bpp.bmp
│ │ ├── Smiley.80x80.4bpp.bmp
│ │ ├── Smiley.80x80.8bpp.bmp
│ │ ├── test-res-16-32-48-64-96-128-256.ico
│ │ ├── issue117
│ │ │ ├── alarm_clock-all-compressed.ico
│ │ │ ├── alarm_clock-all-uncompressed.ico
│ │ │ ├── alarm_clock-16-24bpp-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-16-32bpp-8ba-uncompressed.ico
│ │ │ ├── alarm_clock-20-24bpp-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-20-32bpp-8ba-uncompressed.ico
│ │ │ ├── alarm_clock-24-24bpp-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-24-32bpp-8ba-uncompressed.ico
│ │ │ ├── alarm_clock-256-24bpp-1ba-compressed.ico
│ │ │ ├── alarm_clock-256-32bpp-8ba-compressed.ico
│ │ │ ├── alarm_clock-32-24bpp-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-32-32bpp-8ba-uncompressed.ico
│ │ │ ├── alarm_clock-40-24bpp-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-40-32bpp-8ba-uncompressed.ico
│ │ │ ├── alarm_clock-48-24bpp-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-48-32bpp-8ba-uncompressed.ico
│ │ │ ├── alarm_clock-64-24bpp-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-64-32bpp-8ba-uncompressed.ico
│ │ │ ├── alarm_clock-96-24bpp-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-96-32bpp-8ba-uncompressed.ico
│ │ │ ├── alarm_clock-128-24bpp-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-128-32bpp-8ba-uncompressed.ico
│ │ │ ├── alarm_clock-16-8bpp-indexed-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-20-8bpp-indexed-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-24-8bpp-indexed-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-256-8bpp-indexed-1ba-compressed.ico
│ │ │ ├── alarm_clock-32-8bpp-indexed-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-40-8bpp-indexed-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-48-8bpp-indexed-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-64-8bpp-indexed-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-96-8bpp-indexed-1ba-uncompressed.ico
│ │ │ ├── alarm_clock-128-8bpp-indexed-1ba-uncompressed.ico
│ │ │ └── LICENSE
│ │ ├── test-res-16-32-48-64-96-128-256.ico.content.png
│ │ ├── test-res-16-20-24-32-40-48-60-64-72-80-96-120-128-144-160-192-256.ico
│ │ ├── test-res-16-20-24-32-40-48-60-64-72-80-96-120-128-144-160-192-256.ico.content.png
│ │ ├── TestConfigManager.testClear.xml
│ │ ├── TestConfigManager.testDetectNewFile.xml
│ │ ├── TestObjectFactory.testParseSeparator.xml
│ │ ├── TestConfigManager.testFileModifications.xml
│ │ ├── TestActionExecute.testWaitInfinite.xml
│ │ ├── TestActionExecute.testWaitTimeout.xml
│ │ ├── TestConfigManager.testFindMenuByNameExpanding.xml
│ │ ├── TestConfigManager.testFindMenuByName.xml
│ │ ├── issue041.xml
│ │ ├── TestConfigManager.testFindMenuByNameCaseInsensitive.xml
│ │ ├── TestConfigManager.testParentWithoutChildren.xml
│ │ ├── TestActionProperty.testCaptureOutput.xml
│ │ ├── TestTools.testArgumentsDebugger.xml
│ │ ├── TestPlugins.testPluginActionGetData.xml
│ │ ├── TestPlugins.testPluginInitializeAndTerminate.xml
│ │ ├── TestConfiguration.testLoadProperties.xml
│ │ ├── TestObjectFactory.testParseDefaults.xml
│ │ ├── test_issue011.xml
│ │ ├── TestObjectFactory.testParseActionMessage.xml
│ │ ├── issue044.xml
│ │ ├── TestConfigManager.testAssignCommandIdsInvalid.xml
│ │ ├── TestObjectFactory.testParseActionFile.xml
│ │ ├── TestActionProperty.testCopyFile.xml
│ │ ├── TestPlugins.testTime.xml
│ │ ├── TestObjectFactory.testParsePlugins.xml
│ │ ├── TestConfigManager.testAssignCommandId.2.xml
│ │ ├── TestObjectFactory.testParseMenuMaxLength.xml
│ │ ├── TestObjectFactory.testParseIcon.xml
│ │ ├── TestActionProperty.testSearchPath.xml
│ │ ├── TestObjectFactory.testParseActionPrompt.xml
│ │ ├── TestObjectFactory.testGetParent.xml
│ │ ├── TestActionProperty.testLiveProperties.xml
│ │ ├── TestActionProperty.testRandomProperties.xml
│ │ ├── TestObjectFactory.testParseActionExecute.xml
│ │ ├── TestConfigManager.testAssignCommandId.1.xml
│ │ ├── TestObjectFactory.testParseActionProperty.xml
│ │ └── issue040.xml
│ ├── TestIcon.h
│ ├── TestMenu.h
│ ├── TestTools.h
│ ├── TestSaUtils.h
│ ├── TestIObject.h
│ ├── TestInputBox.h
│ ├── TestUnicode.h
│ ├── TestPlugins.h
│ ├── TestWildcard.h
│ ├── TestWin32Clipboard.h
│ ├── TestDemoSamples.h
│ ├── TestLibExprtk.h
│ ├── TestValidator.h
│ ├── TestWin32Utils.h
│ ├── TestWorkspace.h
│ ├── TestActionFile.h
│ ├── TestActionStop.h
│ ├── TestGlogUtils.h
│ ├── TestShellExtension.h
│ └── TestEnvironment.h
├── arguments.debugger.window
│ ├── How to Create a Multiline Edit Control - Win32 apps - Microsoft Learn.url
│ ├── Walkthrough- Create a traditional Windows Desktop application (C++) - Microsoft Learn.url
│ ├── targetver.h
│ ├── arguments.h
│ ├── framework.h
│ ├── resource.h
│ └── CMakeLists.txt
├── shellextension
│ ├── shellext.def
│ ├── stdafx.cpp
│ ├── targetver.h
│ ├── resource.h
│ └── shellext.idl
├── arguments.debugger.console
│ ├── targetver.h
│ ├── framework.h
│ ├── resource.h
│ ├── main.cpp
│ └── CMakeLists.txt
├── version.h.in
├── shared
│ └── CMakeLists.txt
├── file_explorer_renew
│ ├── resource.h
│ ├── main.h
│ ├── CMakeLists.txt
│ ├── framework.h
│ └── targetver.h
├── config.h.in
├── plugins
│ ├── sa_plugin_demo
│ │ ├── sa_plugin_demo.bat
│ │ ├── README.md
│ │ └── CMakeLists.txt
│ └── sa_plugin_time
│ │ └── README.md
├── core
│ ├── IAction.cpp
│ ├── ILiveProperty.cpp
│ ├── IActionFactory.cpp
│ ├── ILoggerService.cpp
│ ├── IRandomService.cpp
│ ├── IUpdateCallback.cpp
│ ├── IKeyboardService.cpp
│ ├── IRegistryService.cpp
│ ├── IClipboardService.cpp
│ ├── IAttributeValidator.cpp
│ ├── IIconResolutionService.cpp
│ ├── IProcessLauncherService.cpp
│ ├── IntList.h
│ └── StringList.h
├── api
│ └── sa_memory.cpp
└── logger
│ └── glog
│ └── CMakeLists.txt
├── cmake
├── shellanything-config.cmake.in
├── shellanything-config-version.cmake.in
├── FindGRIP.cmake
└── MakeCplusplusHeader.cmake
├── docs
├── screenshot_file.png
├── screenshot_folder.png
├── multiple_columns_menu.png
├── ShellAnything-splashscreen.jpg
└── ShellAnything-splashscreen.xcf
├── resources
├── icons
│ ├── 0.1.0.ico
│ ├── 0.1.0.xcf
│ ├── 0.2.0.ico
│ ├── menu01.ico
│ ├── menu02.ico
│ ├── menu03.ico
│ ├── cil-bug.ico
│ ├── sa-text.ico
│ ├── samples.xcf
│ ├── sa-bubble.ico
│ ├── cil-bug.url
│ ├── shellanything.ico
│ ├── 0.2.0-16x16-legacy.ico
│ ├── 0.2.0-16x16-legacy.xcf
│ ├── sa-text-16 (manual stroke).png
│ ├── cil-bug.info.txt
│ ├── cil-bug.svg
│ ├── svg2ico.bat
│ └── 0.2.0.bat
├── Windows Icon Tables
│ ├── generate_system_icons_preview.bat
│ ├── Win 11 Pro - urlmon.dll icons.png
│ ├── Win 11 Pro - user32.dll icons.png
│ ├── Win 11 Pro - wmploc.dll icons.png
│ ├── Win 10 Home - ieframe.dll icons.png
│ ├── Win 10 Home - imageres.dll icons.png
│ ├── Win 10 Home - netshell.dll icons.png
│ ├── Win 10 Home - shell32.dll icons.png
│ ├── Win 10 Home - urlmon.dll icons.png
│ ├── Win 10 Home - user32.dll icons.png
│ ├── Win 10 Home - wmploc.dll icons.png
│ ├── Win 10 Home - wpdshext.dll icons.png
│ ├── Win 11 Pro - ieframe.dll icons.png
│ ├── Win 11 Pro - imageres.dll icons.png
│ ├── Win 11 Pro - netshell.dll icons.png
│ ├── Win 11 Pro - shell32.dll icons.png
│ ├── Win 11 Pro - wpdshext.dll icons.png
│ ├── Win 11 Pro - accessibilitycpl.dll icons.png
│ └── Win 10 Home - accessibilitycpl.dll icons.png
├── configurations
│ ├── Mark Text.xml
│ ├── WinDirStat.xml
│ └── git.xml
└── installer
│ ├── bin
│ ├── register.bat
│ └── unregister.bat
│ └── wix_license_template.rtf
├── ci
├── windows
│ ├── list_services_status.bat
│ ├── list_registry_keys.bat
│ ├── install_grip.bat
│ ├── install_glog.vbs
│ └── test_script.bat
├── appveyor
│ ├── UploadJUnitFiles.bat
│ ├── install_cmake.bat
│ ├── install_glog.bat
│ ├── install_grip.bat
│ ├── install_zlib.bat
│ ├── test_script.bat
│ ├── install_doxygen.bat
│ ├── install_googletest.bat
│ ├── install_libmagic.bat
│ ├── install_tinyxml2.bat
│ ├── list_registry_keys.bat
│ ├── build_flat-color-icons.bat
│ ├── install_imagemagick.bat
│ ├── install_rapidassist.bat
│ ├── install_sa_plugin_demo.bat
│ ├── install_sa_plugin_time.bat
│ ├── install_shellanything.bat
│ ├── list_services_status.bat
│ ├── install_sa_plugin_process.bat
│ ├── install_sa_plugin_services.bat
│ ├── install_sa_plugin_strings.bat
│ ├── emulate_appveyor.bat
│ ├── UploadJUnitFiles.ps1
│ ├── shell_extension_register.bat
│ └── shell_extension_unregister.bat
└── github
│ ├── tests_not_available.badge.json
│ ├── install_cmake.bat
│ ├── install_glog.bat
│ ├── install_grip.bat
│ ├── install_zlib.bat
│ ├── test_script.bat
│ ├── install_doxygen.bat
│ ├── install_googletest.bat
│ ├── install_imagemagick.bat
│ ├── install_libmagic.bat
│ ├── install_rapidassist.bat
│ ├── install_tinyxml2.bat
│ ├── list_registry_keys.bat
│ ├── build_flat-color-icons.bat
│ ├── install_sa_plugin_demo.bat
│ ├── install_sa_plugin_time.bat
│ ├── install_shellanything.bat
│ ├── list_services_status.bat
│ ├── install_sa_plugin_process.bat
│ ├── install_sa_plugin_services.bat
│ └── install_sa_plugin_strings.bat
├── desktop.ini
├── references
├── Windows shell extension - CodeProject.url
├── Shell Extensions- Basics, Samples, Common problems.url
├── Writing a shell extension in plain C++ - CodeProject.url
├── atl - How to write a shell extension in C++- - Stack Overflow.url
├── Initializing Shell Extension Handlers - Windows applications - Microsoft Docs.url
├── Registering Shell Extension Handlers - Windows applications - Microsoft Docs.url
├── Windows shell extension with C# - Stack Overflow.url
├── dwmkerr-sharpshell- SharpShell makes it easy to create Windows Shell Extensions using the .NET Framework-.url
├── c++ - Windows Shell Extension Not Calling Initialize - Stack Overflow.url
├── windows - How to Get ShellNew sub menu items - Stack Overflow.url
├── Customizing a Shortcut Menu Using Dynamic Verbs - Windows applications - Microsoft Docs.url
├── TortoiseGit-TortoiseGit- Windows Explorer Extension to Operate Git; Mirror of official repository https---tortoisegit.org-sourcecode.url
├── How to Implement the IContextMenu Interface - Windows applications - Microsoft Docs.url
├── c++ - Context menu methods in shell extension aren't being used - Stack Overflow.url
├── Example Code for Implementation of the Context Menu COM Object - Windows applications - Microsoft Docs.url
├── Create a Shell Extension Handler thumbnail extractor with .net-.url
└── c++ - Shell Extension DLL - how to capture the folder path, if user clicks inside the folder empty area- - Stack Overflow.url
├── .gitmodules
├── wix
└── WIX.patches.in
├── AUTHORS
├── licenses
├── Flat Color Icons LICENSE.txt
├── exprtk LICENSE.txt
├── TinyXML 2 LICENSE.txt
├── file-windows LICENSE.txt
├── RapidAssist LICENSE.txt
├── pcg-cpp LICENSE-MIT.txt
├── zlib LICENSE.txt
└── Google C++ Testing Framework LICENSE.txt
├── .gitignore
├── .github
└── ISSUE_TEMPLATE
│ ├── feature_request.md
│ └── bug_report.md
├── scripts
└── refresh.bat
└── LICENSE
/src/VERSION.TXT.in:
--------------------------------------------------------------------------------
1 | @SHELLANYTHING_VERSION@
--------------------------------------------------------------------------------
/src/libexprtk/libexprtk.def:
--------------------------------------------------------------------------------
1 | EXPORTS
2 | EvaluateDouble
3 | EvaluateBoolean
4 |
--------------------------------------------------------------------------------
/cmake/shellanything-config.cmake.in:
--------------------------------------------------------------------------------
1 | include("${CMAKE_CURRENT_LIST_DIR}/shellanything-targets.cmake")
2 |
--------------------------------------------------------------------------------
/docs/screenshot_file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/docs/screenshot_file.png
--------------------------------------------------------------------------------
/docs/screenshot_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/docs/screenshot_folder.png
--------------------------------------------------------------------------------
/resources/icons/0.1.0.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/0.1.0.ico
--------------------------------------------------------------------------------
/resources/icons/0.1.0.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/0.1.0.xcf
--------------------------------------------------------------------------------
/resources/icons/0.2.0.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/0.2.0.ico
--------------------------------------------------------------------------------
/resources/icons/menu01.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/menu01.ico
--------------------------------------------------------------------------------
/resources/icons/menu02.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/menu02.ico
--------------------------------------------------------------------------------
/resources/icons/menu03.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/menu03.ico
--------------------------------------------------------------------------------
/resources/icons/cil-bug.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/cil-bug.ico
--------------------------------------------------------------------------------
/resources/icons/sa-text.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/sa-text.ico
--------------------------------------------------------------------------------
/resources/icons/samples.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/samples.xcf
--------------------------------------------------------------------------------
/src/flat-color-icons/flat-color-icons.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://github.com/icons8/flat-color-icons
3 |
--------------------------------------------------------------------------------
/ci/windows/list_services_status.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -nologo -executionpolicy bypass -command "Get-Service"
3 |
--------------------------------------------------------------------------------
/docs/multiple_columns_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/docs/multiple_columns_menu.png
--------------------------------------------------------------------------------
/resources/icons/sa-bubble.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/sa-bubble.ico
--------------------------------------------------------------------------------
/resources/icons/cil-bug.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://github.com/coreui/coreui-icons/blob/main/svg/free/cil-bug.svg
3 |
--------------------------------------------------------------------------------
/resources/icons/shellanything.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/shellanything.ico
--------------------------------------------------------------------------------
/docs/ShellAnything-splashscreen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/docs/ShellAnything-splashscreen.jpg
--------------------------------------------------------------------------------
/docs/ShellAnything-splashscreen.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/docs/ShellAnything-splashscreen.xcf
--------------------------------------------------------------------------------
/ci/appveyor/UploadJUnitFiles.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | cd c:\temp
3 | powershell -nologo -executionpolicy bypass -File "%~dpn0.ps1"
4 | pause
5 |
--------------------------------------------------------------------------------
/resources/icons/0.2.0-16x16-legacy.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/0.2.0-16x16-legacy.ico
--------------------------------------------------------------------------------
/resources/icons/0.2.0-16x16-legacy.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/0.2.0-16x16-legacy.xcf
--------------------------------------------------------------------------------
/src/tests/test_files/issue036_icon.7z:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue036_icon.7z
--------------------------------------------------------------------------------
/desktop.ini:
--------------------------------------------------------------------------------
1 | [.ShellClassInfo]
2 | IconResource=resources\icons\shellanything.ico,0
3 | [ViewState]
4 | Mode=
5 | Vid=
6 | FolderType=Generic
7 |
--------------------------------------------------------------------------------
/src/tests/test_files/Smiley.40x60.1bpp.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/Smiley.40x60.1bpp.bmp
--------------------------------------------------------------------------------
/src/tests/test_files/Smiley.40x60.4bpp.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/Smiley.40x60.4bpp.bmp
--------------------------------------------------------------------------------
/src/tests/test_files/Smiley.80x80.1bpp.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/Smiley.80x80.1bpp.bmp
--------------------------------------------------------------------------------
/src/tests/test_files/Smiley.80x80.24bpp.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/Smiley.80x80.24bpp.bmp
--------------------------------------------------------------------------------
/src/tests/test_files/Smiley.80x80.32bpp.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/Smiley.80x80.32bpp.bmp
--------------------------------------------------------------------------------
/src/tests/test_files/Smiley.80x80.4bpp.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/Smiley.80x80.4bpp.bmp
--------------------------------------------------------------------------------
/src/tests/test_files/Smiley.80x80.8bpp.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/Smiley.80x80.8bpp.bmp
--------------------------------------------------------------------------------
/references/Windows shell extension - CodeProject.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://www.codeproject.com/Questions/1228261/Windows-shell-extension
3 |
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/generate_system_icons_preview.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -nologo -ExecutionPolicy Bypass -File "%~dpn0.ps1"
3 | pause
4 |
--------------------------------------------------------------------------------
/resources/icons/sa-text-16 (manual stroke).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/icons/sa-text-16 (manual stroke).png
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "third_parties/flat-color-icons"]
2 | path = third_parties/flat-color-icons
3 | url = https://github.com/icons8/flat-color-icons.git
4 |
--------------------------------------------------------------------------------
/src/tests/test_files/test-res-16-32-48-64-96-128-256.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/test-res-16-32-48-64-96-128-256.ico
--------------------------------------------------------------------------------
/resources/icons/cil-bug.info.txt:
--------------------------------------------------------------------------------
1 | url: https://github.com/coreui/coreui-icons/blob/main/svg/free/cil-bug.svg
2 | license: https://github.com/coreui/coreui-icons/blob/main/LICENSE
--------------------------------------------------------------------------------
/references/Shell Extensions- Basics, Samples, Common problems.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://www.apriorit.com/dev-blog/357-shell-extentions-basics-samples-common-problems
3 |
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-all-compressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-all-compressed.ico
--------------------------------------------------------------------------------
/references/Writing a shell extension in plain C++ - CodeProject.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://www.codeproject.com/Articles/583726/Writing-a-shell-extension-in-plain-Cplusplus
3 |
--------------------------------------------------------------------------------
/references/atl - How to write a shell extension in C++- - Stack Overflow.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://stackoverflow.com/questions/8811621/how-to-write-a-shell-extension-in-c
3 |
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 11 Pro - urlmon.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 11 Pro - urlmon.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 11 Pro - user32.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 11 Pro - user32.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 11 Pro - wmploc.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 11 Pro - wmploc.dll icons.png
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-all-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-all-uncompressed.ico
--------------------------------------------------------------------------------
/references/Initializing Shell Extension Handlers - Windows applications - Microsoft Docs.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://docs.microsoft.com/en-us/windows/desktop/shell/int-shell-exts
3 |
--------------------------------------------------------------------------------
/references/Registering Shell Extension Handlers - Windows applications - Microsoft Docs.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://docs.microsoft.com/en-us/windows/desktop/shell/reg-shell-exts
3 |
--------------------------------------------------------------------------------
/references/Windows shell extension with C# - Stack Overflow.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://stackoverflow.com/questions/2194572/windows-shell-extension-with-c-sharp/2194638#2194638
3 |
--------------------------------------------------------------------------------
/references/dwmkerr-sharpshell- SharpShell makes it easy to create Windows Shell Extensions using the .NET Framework-.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://github.com/dwmkerr/sharpshell
3 |
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 10 Home - ieframe.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 10 Home - ieframe.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 10 Home - imageres.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 10 Home - imageres.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 10 Home - netshell.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 10 Home - netshell.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 10 Home - shell32.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 10 Home - shell32.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 10 Home - urlmon.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 10 Home - urlmon.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 10 Home - user32.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 10 Home - user32.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 10 Home - wmploc.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 10 Home - wmploc.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 10 Home - wpdshext.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 10 Home - wpdshext.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 11 Pro - ieframe.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 11 Pro - ieframe.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 11 Pro - imageres.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 11 Pro - imageres.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 11 Pro - netshell.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 11 Pro - netshell.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 11 Pro - shell32.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 11 Pro - shell32.dll icons.png
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 11 Pro - wpdshext.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 11 Pro - wpdshext.dll icons.png
--------------------------------------------------------------------------------
/src/tests/test_files/test-res-16-32-48-64-96-128-256.ico.content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/test-res-16-32-48-64-96-128-256.ico.content.png
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-16-24bpp-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-16-24bpp-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-16-32bpp-8ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-16-32bpp-8ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-20-24bpp-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-20-24bpp-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-20-32bpp-8ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-20-32bpp-8ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-24-24bpp-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-24-24bpp-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-24-32bpp-8ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-24-32bpp-8ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-256-24bpp-1ba-compressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-256-24bpp-1ba-compressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-256-32bpp-8ba-compressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-256-32bpp-8ba-compressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-32-24bpp-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-32-24bpp-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-32-32bpp-8ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-32-32bpp-8ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-40-24bpp-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-40-24bpp-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-40-32bpp-8ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-40-32bpp-8ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-48-24bpp-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-48-24bpp-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-48-32bpp-8ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-48-32bpp-8ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-64-24bpp-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-64-24bpp-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-64-32bpp-8ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-64-32bpp-8ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-96-24bpp-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-96-24bpp-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-96-32bpp-8ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-96-32bpp-8ba-uncompressed.ico
--------------------------------------------------------------------------------
/references/c++ - Windows Shell Extension Not Calling Initialize - Stack Overflow.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://stackoverflow.com/questions/6037888/windows-shell-extension-not-calling-initialize
3 |
--------------------------------------------------------------------------------
/references/windows - How to Get ShellNew sub menu items - Stack Overflow.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://stackoverflow.com/questions/23052139/how-to-get-shellnew-sub-menu-items/23054694#23054694
3 |
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 11 Pro - accessibilitycpl.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 11 Pro - accessibilitycpl.dll icons.png
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-128-24bpp-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-128-24bpp-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-128-32bpp-8ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-128-32bpp-8ba-uncompressed.ico
--------------------------------------------------------------------------------
/resources/Windows Icon Tables/Win 10 Home - accessibilitycpl.dll icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/resources/Windows Icon Tables/Win 10 Home - accessibilitycpl.dll icons.png
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-16-8bpp-indexed-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-16-8bpp-indexed-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-20-8bpp-indexed-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-20-8bpp-indexed-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-24-8bpp-indexed-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-24-8bpp-indexed-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-256-8bpp-indexed-1ba-compressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-256-8bpp-indexed-1ba-compressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-32-8bpp-indexed-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-32-8bpp-indexed-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-40-8bpp-indexed-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-40-8bpp-indexed-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-48-8bpp-indexed-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-48-8bpp-indexed-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-64-8bpp-indexed-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-64-8bpp-indexed-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-96-8bpp-indexed-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-96-8bpp-indexed-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/ci/github/tests_not_available.badge.json:
--------------------------------------------------------------------------------
1 | {
2 | "schemaVersion": 1,
3 | "namedLogo": "GitHub",
4 | "logoColor": "white",
5 | "label": "tests",
6 | "color": "inactive",
7 | "message": "not available"
8 | }
9 |
--------------------------------------------------------------------------------
/references/Customizing a Shortcut Menu Using Dynamic Verbs - Windows applications - Microsoft Docs.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://docs.microsoft.com/en-us/windows/desktop/shell/shortcut-menu-using-dynamic-verbs
3 |
--------------------------------------------------------------------------------
/references/TortoiseGit-TortoiseGit- Windows Explorer Extension to Operate Git; Mirror of official repository https---tortoisegit.org-sourcecode.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://github.com/TortoiseGit/TortoiseGit
3 |
--------------------------------------------------------------------------------
/src/arguments.debugger.window/How to Create a Multiline Edit Control - Win32 apps - Microsoft Learn.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://learn.microsoft.com/en-us/windows/win32/controls/use-a-multiline-edit-control
3 |
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/alarm_clock-128-8bpp-indexed-1ba-uncompressed.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/issue117/alarm_clock-128-8bpp-indexed-1ba-uncompressed.ico
--------------------------------------------------------------------------------
/references/How to Implement the IContextMenu Interface - Windows applications - Microsoft Docs.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://docs.microsoft.com/en-us/windows/desktop/shell/how-to-implement-the-icontextmenu-interface
3 |
--------------------------------------------------------------------------------
/references/c++ - Context menu methods in shell extension aren't being used - Stack Overflow.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://stackoverflow.com/questions/45040798/context-menu-methods-in-shell-extension-arent-being-used
3 |
--------------------------------------------------------------------------------
/src/shellextension/shellext.def:
--------------------------------------------------------------------------------
1 | LIBRARY
2 |
3 | EXPORTS
4 | DllCanUnloadNow PRIVATE
5 | DllGetClassObject PRIVATE
6 | DllRegisterServer PRIVATE
7 | DllUnregisterServer PRIVATE
8 | DllInstall PRIVATE
9 |
--------------------------------------------------------------------------------
/src/tests/test_files/test-res-16-20-24-32-40-48-60-64-72-80-96-120-128-144-160-192-256.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/test-res-16-20-24-32-40-48-60-64-72-80-96-120-128-144-160-192-256.ico
--------------------------------------------------------------------------------
/references/Example Code for Implementation of the Context Menu COM Object - Windows applications - Microsoft Docs.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://docs.microsoft.com/en-us/windows/desktop/ad/example-code-for-implementation-of-the-context-menu-com-object
3 |
--------------------------------------------------------------------------------
/src/arguments.debugger.window/Walkthrough- Create a traditional Windows Desktop application (C++) - Microsoft Learn.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://learn.microsoft.com/en-us/cpp/windows/walkthrough-creating-windows-desktop-applications-cpp?view=msvc-170
3 |
--------------------------------------------------------------------------------
/src/tests/test_files/test-res-16-20-24-32-40-48-60-64-72-80-96-120-128-144-160-192-256.ico.content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/end2endzone/ShellAnything/HEAD/src/tests/test_files/test-res-16-20-24-32-40-48-60-64-72-80-96-120-128-144-160-192-256.ico.content.png
--------------------------------------------------------------------------------
/references/Create a Shell Extension Handler thumbnail extractor with .net-.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://social.msdn.microsoft.com/Forums/vstudio/en-US/1428326d-7950-42b4-ad94-8e962124043e/create-a-shell-extension-handler-thumbnail-extractor-with-net?forum=netfxbcl
3 |
--------------------------------------------------------------------------------
/references/c++ - Shell Extension DLL - how to capture the folder path, if user clicks inside the folder empty area- - Stack Overflow.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://stackoverflow.com/questions/9415502/shell-extension-dll-how-to-capture-the-folder-path-if-user-clicks-inside-the
3 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestConfigManager.testClear.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestConfigManager.testDetectNewFile.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/src/tests/test_files/issue117/LICENSE:
--------------------------------------------------------------------------------
1 | Good Boy License
2 | To be used with whatever your mom would approve of
3 |
4 | Permitted Use:
5 | - Download
6 | - Change
7 | - Fork on GitHub
8 |
9 | Prohibited Use:
10 | - No tattoos
11 | - No touching food with unwashed hands
12 | - No exchanging for drugs
13 |
--------------------------------------------------------------------------------
/src/shellextension/stdafx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // stdafx.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
7 | #ifdef _ATL_STATIC_REGISTRY
8 | #include
9 | #endif
10 |
--------------------------------------------------------------------------------
/wix/WIX.patches.in:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/ci/github/install_cmake.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_glog.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_grip.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_zlib.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/test_script.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_doxygen.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_googletest.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_imagemagick.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_libmagic.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_rapidassist.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_tinyxml2.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/list_registry_keys.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/build_flat-color-icons.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_sa_plugin_demo.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_sa_plugin_time.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_shellanything.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/list_services_status.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/src/arguments.debugger.console/targetver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // // Including SDKDDKVer.h defines the highest available Windows platform.
4 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
5 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
6 | #include
7 |
--------------------------------------------------------------------------------
/src/arguments.debugger.window/targetver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // // Including SDKDDKVer.h defines the highest available Windows platform.
4 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
5 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
6 | #include
7 |
--------------------------------------------------------------------------------
/ci/appveyor/install_cmake.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_glog.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_grip.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_zlib.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/test_script.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_sa_plugin_process.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_sa_plugin_services.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/github/install_sa_plugin_strings.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate GitHub CI's environment
4 | if "%GITHUB_WORKSPACE%"=="" (
5 | echo Please define 'GITHUB_WORKSPACE' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%GITHUB_WORKSPACE%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testParseSeparator.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_doxygen.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_googletest.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_libmagic.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_tinyxml2.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/list_registry_keys.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestConfigManager.testFileModifications.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ci/appveyor/build_flat-color-icons.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_imagemagick.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_rapidassist.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_sa_plugin_demo.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_sa_plugin_time.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_shellanything.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/list_services_status.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_sa_plugin_process.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_sa_plugin_services.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/ci/appveyor/install_sa_plugin_strings.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate appveyor's environment
4 | if "%APPVEYOR_BUILD_FOLDER%"=="" (
5 | echo Please define 'APPVEYOR_BUILD_FOLDER' environment variable.
6 | exit /B 1
7 | )
8 |
9 | :: Call matching script for windows
10 | call "%APPVEYOR_BUILD_FOLDER%\ci\windows\%~n0.bat"
11 | if %errorlevel% neq 0 exit /b %errorlevel%
12 |
--------------------------------------------------------------------------------
/src/arguments.debugger.window/arguments.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | static const std::wstring EMPTY_WIDE_STRING;
7 | static const std::string EMPTY_ANSI_STRING;
8 |
9 | #ifdef UNICODE
10 | typedef std::wstring tstring_t;
11 | #else
12 | typedef std::string tstring_t;
13 | #endif
14 |
15 | void ReadCommandLineArguments(tstring_t & str);
16 |
--------------------------------------------------------------------------------
/AUTHORS:
--------------------------------------------------------------------------------
1 | # This file contains a list of people who've made contribution to
2 | # the project. People who commit code are encouraged to add
3 | # their names here. Please keep the list sorted by first names.
4 |
5 | Antoine Beauchamp, https://github.com/end2endzone, end2endzone@gmail.com
6 | Cirn09, https://github.com/Cirn09
7 | Mindaugas Ribaconka, https://github.com/GasDauMin, GasDauMin@gmail.com
8 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestActionExecute.testWaitInfinite.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/licenses/Flat Color Icons LICENSE.txt:
--------------------------------------------------------------------------------
1 | Good Boy License
2 |
3 | To be used with whatever your mom would approve of :
4 |
5 | Permitted Use:
6 | - Download
7 | - Change
8 | - Fork on GitHub
9 |
10 | Prohibited Use:
11 | - No tattoos
12 | - No touching food with unwashed hands
13 | - No exchanging for drugs
14 |
15 | License: https://icons8.com/good-boy-license
16 | Sources: https://github.com/icons8/flat-color-icons
17 |
--------------------------------------------------------------------------------
/src/shellextension/targetver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // Including SDKDDKVer.h defines the highest available Windows platform.
4 |
5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
7 |
8 | #include
9 |
10 | #define WINVER 0x0600
11 | #define _WIN32_WINNT 0x0600
12 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestActionExecute.testWaitTimeout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestConfigManager.testFindMenuByNameExpanding.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestConfigManager.testFindMenuByName.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/tests/test_files/issue041.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestConfigManager.testFindMenuByNameCaseInsensitive.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestConfigManager.testParentWithoutChildren.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/ci/appveyor/emulate_appveyor.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | echo Emulating appveyor's environment.
4 |
5 | cd /d %~dp0
6 | cd ..\..
7 | set APPVEYOR=True
8 | set APPVEYOR_BUILD_FOLDER=%cd%
9 | set Configuration=Debug
10 | set Platform=x64
11 | set PlatformToolset=""
12 |
13 | echo APPVEYOR_BUILD_FOLDER set to '%PRODUCT_SOURCE_DIR%'
14 | echo.
15 |
16 | :: Return back to original folder
17 | cd /d %~dp0
18 |
19 | :: Leave the command prompt open
20 | cmd.exe /k echo AppVeyor ready...
21 |
--------------------------------------------------------------------------------
/src/arguments.debugger.console/framework.h:
--------------------------------------------------------------------------------
1 | // header.h : include file for standard system include files,
2 | // or project specific include files
3 | //
4 |
5 | #pragma once
6 |
7 | #include "targetver.h"
8 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
9 | // Windows Header Files
10 | #include
11 | // C RunTime Header Files
12 | #include
13 | #include
14 | #include
15 | #include
16 |
--------------------------------------------------------------------------------
/src/arguments.debugger.window/framework.h:
--------------------------------------------------------------------------------
1 | // header.h : include file for standard system include files,
2 | // or project specific include files
3 | //
4 |
5 | #pragma once
6 |
7 | #include "targetver.h"
8 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
9 | // Windows Header Files
10 | #include
11 | // C RunTime Header Files
12 | #include
13 | #include
14 | #include
15 | #include
16 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestActionProperty.testCaptureOutput.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/resources/configurations/Mark Text.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/resources/configurations/WinDirStat.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestTools.testArgumentsDebugger.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestPlugins.testPluginActionGetData.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestPlugins.testPluginInitializeAndTerminate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestConfiguration.testLoadProperties.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testParseDefaults.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/tests/test_files/test_issue011.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/version.h.in:
--------------------------------------------------------------------------------
1 | @LICENSE_CPLUSPLUS_HEADER@
2 | #ifndef SHELLANYTHING_VERSION_H
3 | #define SHELLANYTHING_VERSION_H
4 |
5 | #ifndef SHELLANYTHING_VERSION_MAJOR
6 | # define SHELLANYTHING_VERSION_MAJOR @SHELLANYTHING_VERSION_MAJOR@
7 | #endif
8 |
9 | #ifndef SHELLANYTHING_VERSION_MINOR
10 | # define SHELLANYTHING_VERSION_MINOR @SHELLANYTHING_VERSION_MINOR@
11 | #endif
12 |
13 | #ifndef SHELLANYTHING_VERSION_PATCH
14 | # define SHELLANYTHING_VERSION_PATCH @SHELLANYTHING_VERSION_PATCH@
15 | #endif
16 |
17 | #ifndef SHELLANYTHING_VERSION
18 | # define SHELLANYTHING_VERSION "@SHELLANYTHING_VERSION@"
19 | #endif
20 |
21 | #endif //SHELLANYTHING_VERSION_H
22 |
--------------------------------------------------------------------------------
/cmake/shellanything-config-version.cmake.in:
--------------------------------------------------------------------------------
1 | # shellanything-config-version.cmake - checks version: major must match, minor must be less than or equal
2 |
3 | set(PACKAGE_VERSION @SHELLANYTHING_VERSION@)
4 |
5 | if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL "@SHELLANYTHING_VERSION_MAJOR@")
6 | if ("${PACKAGE_FIND_VERSION_MINOR}" EQUAL "@SHELLANYTHING_VERSION_MINOR@")
7 | set(PACKAGE_VERSION_EXACT TRUE)
8 | elseif("${PACKAGE_FIND_VERSION_MINOR}" LESS "@SHELLANYTHING_VERSION_MINOR@")
9 | set(PACKAGE_VERSION_COMPATIBLE TRUE)
10 | else()
11 | set(PACKAGE_VERSION_UNSUITABLE TRUE)
12 | endif()
13 | else()
14 | set(PACKAGE_VERSION_UNSUITABLE TRUE)
15 | endif()
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | /install
3 | /out
4 | .vscode
5 | .vs
6 | /src/plugins/sa_plugin_time/build
7 | /src/plugins/sa_plugin_time/install
8 | /src/plugins/sa_plugin_demo/build
9 | /src/plugins/sa_plugin_demo/install
10 | /src/plugins/sa_plugin_services/build
11 | /src/plugins/sa_plugin_services/install
12 | /src/plugins/sa_plugin_strings/build
13 | /src/plugins/sa_plugin_strings/install
14 | /src/plugins/sa_plugin_process/install
15 | /src/plugins/sa_plugin_process/build
16 | /scripts/refresh.tmp.bat
17 | /installer
18 | /third_parties/RapidAssist
19 | /third_parties/glog
20 | /third_parties/glog_static_old
21 | /third_parties/googletest
22 | /third_parties/libmagic
23 | /third_parties/tinyxml2
24 | /third_parties/zlib
25 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: bug
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Environment**
27 | - OS: [e.g. iOS]
28 | - Version [e.g. 22]
29 |
30 | **Additional context**
31 | Add any other context about the problem here.
32 |
--------------------------------------------------------------------------------
/resources/installer/bin/register.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate administrative permissions...
4 | :: https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights
5 | echo Administrative permissions required for registering the Shell Extension.
6 | net session >nul 2>&1
7 | if %errorLevel% == 0 (
8 | echo Found administrative permissions.
9 | ) else (
10 | echo Failure: Please open a command prompt with administrative permissions.
11 | pause
12 | exit /B 1
13 | )
14 |
15 | :: Registering the Shell Extension.
16 | echo Proceeding with the Shell Extension registration.
17 | cd /d %~dp0
18 | if exist "sa.shellextension.dll" (
19 | regsvr32 sa.shellextension.dll
20 | ) else (
21 | regsvr32 sa.shellextension-d.dll
22 | )
23 |
24 | pause
25 |
--------------------------------------------------------------------------------
/resources/installer/bin/unregister.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate administrative permissions...
4 | :: https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights
5 | echo Administrative permissions required for unregistering the Shell Extension.
6 | net session >nul 2>&1
7 | if %errorLevel% == 0 (
8 | echo Found administrative permissions.
9 | ) else (
10 | echo Failure: Please open a command prompt with administrative permissions.
11 | pause
12 | exit /B 1
13 | )
14 |
15 | :: Unregistering the Shell Extension.
16 | echo Proceeding with the Shell Extension unregistration.
17 | cd /d %~dp0
18 | if exist "sa.shellextension.dll" (
19 | regsvr32 /u sa.shellextension.dll
20 | ) else (
21 | regsvr32 /u sa.shellextension-d.dll
22 | )
23 |
24 | pause
25 |
--------------------------------------------------------------------------------
/ci/windows/list_registry_keys.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | echo ==========================================================================================================
3 | echo WindowsUpdate registry
4 | echo ==========================================================================================================
5 | reg QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /s
6 | echo.
7 | echo.
8 | echo.
9 |
10 | echo ==========================================================================================================
11 | echo Windows Defender registry
12 | echo ==========================================================================================================
13 | reg QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender" /s
14 | echo.
15 | echo.
16 | echo.
17 |
--------------------------------------------------------------------------------
/src/shellextension/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by resource.rc
4 | //
5 | #define IDR_SHELLANYTHING 102
6 | #define IDI_ICON_MAIN 103
7 | #define IDI_ICON_MENU01 104
8 | #define IDI_ICON_MENU02 105
9 | #define IDI_ICON_MENU03 106
10 | #define IDI_ICON_SA_BUBBLE 107
11 | #define IDI_ICON_SA_TEXT 108
12 |
13 |
14 | // Next default values for new objects
15 | //
16 | #ifdef APSTUDIO_INVOKED
17 | #ifndef APSTUDIO_READONLY_SYMBOLS
18 | #define _APS_NEXT_RESOURCE_VALUE 109
19 | #define _APS_NEXT_COMMAND_VALUE 40001
20 | #define _APS_NEXT_CONTROL_VALUE 1001
21 | #define _APS_NEXT_SYMED_VALUE 101
22 | #endif
23 | #endif
24 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testParseActionMessage.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/tests/test_files/issue044.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | selection=${selection.path}
10 | selection=${selection.path}
11 | selection=${selection.path}
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/arguments.debugger.console/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by showargs.rc
4 |
5 | #define IDS_APP_TITLE 103
6 | //
7 | #define IDR_MAINFRAME 128
8 | #define IDD_SHOWARGS_DIALOG 102
9 | #define IDD_ABOUTBOX 103
10 | #define IDM_ABOUT 104
11 | #define IDM_EXIT 105
12 | #define IDI_SHOWARGS 107
13 | #define IDC_SHOWARGS 109
14 | #define ID_EDITCHILD 129
15 | #ifndef IDC_STATIC
16 | #define IDC_STATIC -1
17 | #endif
18 | // Next default values for new objects
19 | //
20 | #ifdef APSTUDIO_INVOKED
21 | #ifndef APSTUDIO_READONLY_SYMBOLS
22 |
23 | #define _APS_NO_MFC 130
24 | #define _APS_NEXT_RESOURCE_VALUE 130
25 | #define _APS_NEXT_COMMAND_VALUE 32771
26 | #define _APS_NEXT_CONTROL_VALUE 1000
27 | #define _APS_NEXT_SYMED_VALUE 110
28 | #endif
29 | #endif
30 |
--------------------------------------------------------------------------------
/src/arguments.debugger.window/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by showargs.rc
4 |
5 | #define IDS_APP_TITLE 103
6 | //
7 | #define IDR_MAINFRAME 128
8 | #define IDD_SHOWARGS_DIALOG 102
9 | #define IDD_ABOUTBOX 103
10 | #define IDM_ABOUT 104
11 | #define IDM_EXIT 105
12 | #define IDI_SHOWARGS 107
13 | #define IDC_SHOWARGS 109
14 | #define ID_EDITCHILD 129
15 | #ifndef IDC_STATIC
16 | #define IDC_STATIC -1
17 | #endif
18 | // Next default values for new objects
19 | //
20 | #ifdef APSTUDIO_INVOKED
21 | #ifndef APSTUDIO_READONLY_SYMBOLS
22 |
23 | #define _APS_NO_MFC 130
24 | #define _APS_NEXT_RESOURCE_VALUE 130
25 | #define _APS_NEXT_COMMAND_VALUE 32771
26 | #define _APS_NEXT_CONTROL_VALUE 1000
27 | #define _APS_NEXT_SYMED_VALUE 110
28 | #endif
29 | #endif
30 |
--------------------------------------------------------------------------------
/src/shared/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_library(sa.shared STATIC
2 | BitmapCache.h
3 | BitmapCache.cpp
4 | SaUtils.h
5 | SaUtils.cpp
6 | Win32Registry.h
7 | Win32Registry.cpp
8 | Win32Utils.h
9 | Win32Utils.cpp
10 | )
11 |
12 | # Force CMAKE_DEBUG_POSTFIX for executables
13 | set_target_properties(sa.shared PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
14 |
15 | # Define include directories for the library.
16 | target_include_directories(sa.shared
17 | PUBLIC
18 | $ # for clients using the installed library.
19 | PRIVATE
20 | rapidassist
21 | ${CMAKE_SOURCE_DIR}/src/core
22 | )
23 |
24 | # Define linking dependencies.
25 | target_link_libraries(sa.shared
26 | PRIVATE
27 | ${PTHREAD_LIBRARIES}
28 | ${GTEST_LIBRARIES}
29 | rapidassist
30 | )
31 |
--------------------------------------------------------------------------------
/src/file_explorer_renew/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by showargs.rc
4 |
5 | #define IDS_APP_TITLE 103
6 | //
7 | #define IDR_MAINFRAME 128
8 | #define IDD_SHOWARGS_DIALOG 102
9 | #define IDD_ABOUTBOX 103
10 | #define IDM_ABOUT 104
11 | #define IDM_EXIT 105
12 | #define IDI_MYAPP_ICON 107
13 | #define IDC_MYAPP 109
14 | #define IDT_TIMER1 130
15 | #define ID_EDITCHILD 129
16 | #ifndef IDC_STATIC
17 | #define IDC_STATIC -1
18 | #endif
19 | // Next default values for new objects
20 | //
21 | #ifdef APSTUDIO_INVOKED
22 | #ifndef APSTUDIO_READONLY_SYMBOLS
23 |
24 | #define _APS_NO_MFC 131
25 | #define _APS_NEXT_RESOURCE_VALUE 131
26 | #define _APS_NEXT_COMMAND_VALUE 32771
27 | #define _APS_NEXT_CONTROL_VALUE 1000
28 | #define _APS_NEXT_SYMED_VALUE 110
29 | #endif
30 | #endif
31 |
--------------------------------------------------------------------------------
/licenses/exprtk LICENSE.txt:
--------------------------------------------------------------------------------
1 | This software is provided 'as-is', without any express or implied
2 | warranty. In no event will the authors be held liable for any
3 | damages arising from the use of this software.
4 |
5 | Permission is granted to anyone to use this software for any
6 | purpose, including commercial applications, and to alter it and
7 | redistribute it freely, subject to the following restrictions:
8 |
9 | 1. The origin of this software must not be misrepresented; you must
10 | not claim that you wrote the original software. If you use this
11 | software in a product, an acknowledgment in the product documentation
12 | would be appreciated but is not required.
13 |
14 | 2. Altered source versions must be plainly marked as such, and
15 | must not be misrepresented as being the original software.
16 |
17 | 3. This notice may not be removed or altered from any source
18 | distribution.
19 |
--------------------------------------------------------------------------------
/licenses/TinyXML 2 LICENSE.txt:
--------------------------------------------------------------------------------
1 | This software is provided 'as-is', without any express or implied
2 | warranty. In no event will the authors be held liable for any
3 | damages arising from the use of this software.
4 |
5 | Permission is granted to anyone to use this software for any
6 | purpose, including commercial applications, and to alter it and
7 | redistribute it freely, subject to the following restrictions:
8 |
9 | 1. The origin of this software must not be misrepresented; you must
10 | not claim that you wrote the original software. If you use this
11 | software in a product, an acknowledgment in the product documentation
12 | would be appreciated but is not required.
13 |
14 | 2. Altered source versions must be plainly marked as such, and
15 | must not be misrepresented as being the original software.
16 |
17 | 3. This notice may not be removed or altered from any source
18 | distribution.
19 |
--------------------------------------------------------------------------------
/ci/windows/install_grip.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Install grip.
4 | :: https://github.com/joeyespo/grip
5 | :: https://pypi.org/project/grip/
6 |
7 | :: Validate if python launcher is installed
8 | where py.exe >NUL 2>NUL
9 | if errorlevel 1 (
10 | echo Command failed. Please install python and python launcher to continue.
11 | exit /B %errorlevel%
12 | )
13 | echo Found python interpreter
14 | python --version
15 |
16 | :: Validate if pip is installed
17 | where pip.exe >NUL 2>NUL
18 | if errorlevel 1 (
19 | echo Command failed. Please install pip ^(Package Installer Python^) to continue.
20 | exit /B %errorlevel%
21 | )
22 |
23 | :: Installing grip.
24 | echo Proceeding with instaling grip...
25 | pip install grip
26 | if errorlevel 1 (
27 | echo Command failed. An error was found while installing grip.
28 | exit /B %errorlevel%
29 | )
30 |
31 | echo grip was installed on the system without error.
32 | echo.
33 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestConfigManager.testAssignCommandIdsInvalid.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/shellextension/shellext.idl:
--------------------------------------------------------------------------------
1 | // shellext.idl : IDL source for sa.shellextension.dll
2 | //
3 |
4 | // This file will be processed by the MIDL tool to
5 | // produce the type library (ShellExtension.tlb) and marshalling code.
6 |
7 | import "oaidl.idl";
8 | import "ocidl.idl";
9 |
10 | [
11 | object,
12 | uuid(C67AAC2C-186E-4361-8856-AC93851FF781),
13 | dual,
14 | helpstring("IShellAnything Interface"),
15 | pointer_default(unique)
16 | ]
17 | interface IShellAnything : IDispatch
18 | {
19 | };
20 |
21 | [
22 | uuid(EB26EA8E-3B98-4DED-AE59-255C3BA725C3),
23 | version(1.0),
24 | helpstring("ShellExtension 1.0 Type Library")
25 | ]
26 | library SHELLEXTENSIONLib
27 | {
28 | importlib("stdole32.tlb");
29 | importlib("stdole2.tlb");
30 |
31 | [
32 | uuid(B0D35103-86A1-471C-A653-E130E3439A3B),
33 | helpstring("ShellAnything Extension")
34 | ]
35 | coclass ShellAnything
36 | {
37 | [default] interface IShellAnything;
38 | };
39 | };
40 |
--------------------------------------------------------------------------------
/resources/icons/cil-bug.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testParseActionFile.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | This is a single line text file created by ShellAnything.
7 |
8 |
9 |
10 |
11 |
12 |
13 | This is a
14 | multiline
15 | text file.
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | This is a single line text file created by ShellAnything.
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestActionProperty.testCopyFile.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | ${copypaste.file.content}
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/config.h.in:
--------------------------------------------------------------------------------
1 | @LICENSE_CPLUSPLUS_HEADER@
2 | #ifndef SHELLANYTHING_CONFIG_H
3 | #define SHELLANYTHING_CONFIG_H
4 |
5 | /*
6 | Issue #103
7 | Since we do not expect any external library to call sa.core.dll directly, we do not care about the following Visual Studio warning:
8 | 1>D:\Projets\Programmation\Cpp\ShellAnything\ShellAnything\src\PropertyManager.h(138,17): warning C4251: 'shellanything::PropertyManager::properties': class 'std::map,std::allocator>>' needs to have dll-interface to be used by clients of class 'shellanything::PropertyManager'
9 | 1>D:\Projets\Programmation\Cpp\ShellAnything\ShellAnything\src\PropertyManager.h(76): message : see declaration of 'std::map,std::allocator>>'
10 | */
11 | #ifdef _MSC_VER
12 | #pragma warning(disable: 4251) // disable warning 4345
13 | #endif
14 |
15 | #endif //SHELLANYTHING_CONFIG_H
16 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestPlugins.testTime.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/scripts/refresh.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set SECONDARY_SCRIPT=refresh.tmp.bat
4 |
5 | :: Delete secondary script, if any
6 | if exist "%SECONDARY_SCRIPT%" (
7 | del "%SECONDARY_SCRIPT%"
8 | )
9 |
10 | :: List directories opened by explorer.exe and
11 | :: prefix all elements with `@start ""` to convert each element to a command.
12 | :: Appends the output to a secondary batch file that will be called later.
13 | powershell "$directories = @((New-Object -com shell.application).Windows()).Document.Folder.Self.Path; $directories = $directories -replace '^', '@start \""\"" \""'; $directories -replace '$', '\""';"> "%SECONDARY_SCRIPT%"
14 | if %errorlevel% neq 0 echo Failed getting extract directories from explorer.exe && exit /b %errorlevel%
15 |
16 | :: Kill all explorer.exe instances...
17 | taskkill /F /IM explorer.exe
18 |
19 | :: Run explorer.exe again. This will create the taskbar.
20 | start C:\Windows\explorer.exe
21 |
22 | :: Call the generated secondary script to reopen the same previous directories...
23 | call "%SECONDARY_SCRIPT%"
24 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testParsePlugins.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/ci/appveyor/UploadJUnitFiles.ps1:
--------------------------------------------------------------------------------
1 | Param(
2 | [Parameter(Mandatory=$True)]
3 | [string]$Path
4 | )
5 |
6 | function IsJUnitFile([string]$Path)
7 | {
8 | $JUnitSignature = "
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Antoine Beauchamp
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/licenses/file-windows LICENSE.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Julian David Rath
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testParseMenuMaxLength.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/licenses/RapidAssist LICENSE.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Antoine Beauchamp
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testParseIcon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ci/windows/install_glog.vbs:
--------------------------------------------------------------------------------
1 | ' Usage:
2 | ' arg 0 is oldstr
3 | ' arg 1 is newstr
4 | ' arg 2 is input file
5 | '
6 | strFile=WScript.Arguments.Item(2)
7 | strOld=WScript.Arguments.Item(0)
8 | strNew=WScript.Arguments.Item(1)
9 |
10 | Set objFSO = CreateObject("Scripting.FileSystemObject")
11 |
12 | Dim linestr
13 |
14 | 'Read file content
15 | ReDim fileContent(-1)
16 | Set objFileToRead = objFSO.OpenTextFile(strFile,1)
17 | i = 0
18 | do while not objFileToRead.AtEndOfStream
19 | linestr = objFileToRead.ReadLine()
20 | 'WScript.Echo "Reading name [" & linestr & "] with a length of " & len(linestr)
21 | if (len(linestr) > 0) then
22 | ReDim Preserve fileContent( UBound(fileContent) + 1)
23 | fileContent(i) = linestr
24 | i = i + 1
25 | end if
26 | loop
27 | objFileToRead.Close
28 | Set objFileToRead = Nothing
29 |
30 |
31 | 'Overwrite existing file...
32 | Set objFileToWrite = objFSO.CreateTextFile(strFile,True)
33 | 'For each lines of content
34 | For i = LBound( fileContent ) To UBound( fileContent )
35 | linestr = fileContent( i )
36 | linestr=Replace(linestr,strOld,strNew)
37 | objFileToWrite.Write linestr & vbCrLf
38 | Next
39 | objFileToWrite.Close
40 |
--------------------------------------------------------------------------------
/licenses/pcg-cpp LICENSE-MIT.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014-2017 Melissa O'Neill and PCG Project contributors
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all
11 | copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 | SOFTWARE.
20 |
--------------------------------------------------------------------------------
/resources/configurations/git.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/ci/windows/test_script.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate mandatory environment variables
4 | if "%CONFIGURATION%"=="" (
5 | echo Please define 'Configuration' environment variable.
6 | exit /B 1
7 | )
8 | if "%PLATFORM%"=="" (
9 | echo Please define 'Platform' environment variable.
10 | exit /B 1
11 | )
12 |
13 | :: Set PRODUCT_SOURCE_DIR root directory
14 | setlocal enabledelayedexpansion
15 | if "%PRODUCT_SOURCE_DIR%"=="" (
16 | :: Delayed expansion is required within parentheses https://superuser.com/questions/78496/variables-in-batch-file-not-being-set-when-inside-if
17 | cd /d "%~dp0"
18 | cd ..\..
19 | set PRODUCT_SOURCE_DIR=!CD!
20 | cd ..\..
21 | echo PRODUCT_SOURCE_DIR set to '!PRODUCT_SOURCE_DIR!'.
22 | )
23 | endlocal & set PRODUCT_SOURCE_DIR=%PRODUCT_SOURCE_DIR%
24 | echo.
25 |
26 | echo =======================================================================
27 | echo Testing project
28 | echo =======================================================================
29 | cd /d %PRODUCT_SOURCE_DIR%\build\bin\%CONFIGURATION%
30 | if "%CONFIGURATION%" == "Debug" (
31 | sa.tests-d.exe
32 | ) else (
33 | sa.tests.exe
34 | )
35 |
36 | ::reset error in case of test case fail
37 | exit /b 0
38 |
--------------------------------------------------------------------------------
/src/libexprtk/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_library(libexprtk SHARED
2 | ${EXPRTK_HEADER_PATH}
3 | libexprtk.h
4 | libexprtk.cpp
5 | libexprtk.def
6 | )
7 |
8 | # Force CMAKE_DEBUG_POSTFIX for executables
9 | set_target_properties(libexprtk PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
10 |
11 | # exprtk.hpp(15607): fatal error C1128: number of sections exceeded object file format limit : compile with /bigobj
12 | target_compile_options(libexprtk PRIVATE "/bigobj")
13 |
14 | # Define include directories for the library.
15 | target_include_directories(libexprtk
16 | PUBLIC
17 | $ # for clients using the installed library.
18 | PRIVATE
19 | ${PACKAGE_DOWNLOAD_DIR}/exprtk-${EXPRTK_TAG}
20 | )
21 |
22 | # Define files that will be part of the installation package.
23 | install(FILES libexprtk.h
24 | DESTINATION ${SHELLANYTHING_INSTALL_INCLUDE_DIR}/shellanything
25 | )
26 | install(TARGETS libexprtk
27 | EXPORT shellanything-targets
28 | ARCHIVE DESTINATION ${SHELLANYTHING_INSTALL_LIB_DIR}
29 | LIBRARY DESTINATION ${SHELLANYTHING_INSTALL_LIB_DIR}
30 | RUNTIME DESTINATION ${SHELLANYTHING_INSTALL_BIN_DIR}
31 | )
32 |
--------------------------------------------------------------------------------
/licenses/zlib LICENSE.txt:
--------------------------------------------------------------------------------
1 | zlib
2 | License
3 | /* zlib.h -- interface of the 'zlib' general purpose compression library
4 | version 1.2.11, January 15th, 2017
5 |
6 | Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
7 |
8 | This software is provided 'as-is', without any express or implied
9 | warranty. In no event will the authors be held liable for any damages
10 | arising from the use of this software.
11 |
12 | Permission is granted to anyone to use this software for any purpose,
13 | including commercial applications, and to alter it and redistribute it
14 | freely, subject to the following restrictions:
15 |
16 | 1. The origin of this software must not be misrepresented; you must not
17 | claim that you wrote the original software. If you use this software
18 | in a product, an acknowledgment in the product documentation would be
19 | appreciated but is not required.
20 | 2. Altered source versions must be plainly marked as such, and must not be
21 | misrepresented as being the original software.
22 | 3. This notice may not be removed or altered from any source distribution.
23 |
24 | Jean-loup Gailly Mark Adler
25 | jloup@gzip.org madler@alumni.caltech.edu
26 |
27 | */
--------------------------------------------------------------------------------
/src/tests/test_files/TestActionProperty.testSearchPath.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/resources/icons/svg2ico.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: This script is designed for drag and drop
4 | IF [%1] == [] goto :eof
5 | echo Processing file: %~1
6 |
7 | :: Assume that ImageMagick already installed by installation script.
8 | set PATH=%TEMP%\imagemagick;%PATH%
9 |
10 | echo Searching for imagemagik executables in PATH...
11 | where magick.exe
12 | if errorlevel 1 (
13 | echo File 'magick.exe' not found. Please install imagemagik on system and add the directory to PATH.
14 | exit /B %errorlevel%
15 | )
16 | echo Found imagemagik directory.
17 | echo.
18 |
19 | echo Generate pngs...
20 | magick -background none -size 16x16 "%~1" "%~dpn1-16.png"
21 | magick -background none -size 32x32 "%~1" "%~dpn1-32.png"
22 | magick -background none -size 48x48 "%~1" "%~dpn1-48.png"
23 | magick -background none -size 64x64 "%~1" "%~dpn1-64.png"
24 |
25 | echo Generate ico...
26 | set png_files=
27 | set png_files=%png_files% "%~dpn1-16.png"
28 | set png_files=%png_files% "%~dpn1-32.png"
29 | set png_files=%png_files% "%~dpn1-48.png"
30 | set png_files=%png_files% "%~dpn1-64.png"
31 | magick %png_files% "%~dpn1.ico"
32 |
33 | echo Generated "%~dpn1.ico".
34 | echo.
35 |
36 | echo Deleting png (intermediate files).
37 | del %png_files%
38 |
39 | pause
40 |
--------------------------------------------------------------------------------
/cmake/FindGRIP.cmake:
--------------------------------------------------------------------------------
1 | #-------------------------------------------------------------------
2 | # This file is part of the CMake build system for ShellAnything
3 | # For the latest info, see https://github.com/end2endzone/ShellAnything
4 | #
5 | # The contents of this file are placed in the public domain. Feel
6 | # free to make use of it in any way you like.
7 | #-------------------------------------------------------------------
8 | #
9 | # - Try to find Grip
10 | # See https://github.com/joeyespo/grip and https://pypi.org/project/grip/
11 | # You can help this by defining GRIP_DIR in the environment / CMake
12 | # Once done, this will define
13 | #
14 | # GRIP_FOUND - True if GRIP is found
15 | # GRIP_PROGRAM - The path of the grip program
16 | #
17 | #-------------------------------------------------------------------
18 |
19 | # Search for the main executable
20 | find_program(GRIP_PROGRAM
21 | NAMES
22 | grip
23 | PATHS
24 | $ENV{GRIP_DIR}
25 | $ENV{PATH}
26 | )
27 | mark_as_advanced(GRIP_PROGRAM)
28 | #message("GRIP_PROGRAM=" "${GRIP_PROGRAM}")
29 |
30 | include(FindPackageHandleStandardArgs)
31 | find_package_handle_standard_args(GRIP DEFAULT_MSG GRIP_PROGRAM)
32 |
33 | if (GRIP_PROGRAM)
34 | set(GRIP_FOUND TRUE)
35 | endif (GRIP_PROGRAM)
36 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testParseActionPrompt.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testGetParent.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/src/plugins/sa_plugin_demo/sa_plugin_demo.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set SHELLANYTHING_INSTALL_DIR=C:\Program Files\ShellAnything-0.8.0-win64
4 | set PLUGIN_BUILD_DIR=%USERPROFILE%\Documents\sa_plugin_demo_build
5 | set PLUGIN_INSTALL_DIRECTORY=%USERPROFILE%\ShellAnything\plugins\sa_plugin_demo
6 | set PLUGIN_CONFIGURATION=Release
7 |
8 | echo Create build directory...
9 | mkdir "%PLUGIN_BUILD_DIR%" >NUL 2>NUL
10 | cd /d "%PLUGIN_BUILD_DIR%"
11 | if %errorlevel% neq 0 echo Failed creating build directory "%PLUGIN_BUILD_DIR%" && exit /b %errorlevel%
12 | echo done.
13 | echo.
14 |
15 | echo Create project files...
16 | cmake -DCMAKE_INSTALL_PREFIX="%PLUGIN_INSTALL_DIRECTORY%" -DCMAKE_PREFIX_PATH="%SHELLANYTHING_INSTALL_DIR%" "%~dp0"
17 | if %errorlevel% neq 0 exit /b %errorlevel%
18 | echo done.
19 | echo.
20 |
21 | echo Building plugin...
22 | cmake --build . --config %PLUGIN_CONFIGURATION% -- -maxcpucount /m
23 | if %errorlevel% neq 0 echo Failed to build source code && exit /b %errorlevel%
24 | echo done.
25 | echo.
26 |
27 | echo Installing plugin...
28 | cmake --build . --config %PLUGIN_CONFIGURATION% --target INSTALL
29 | if %errorlevel% neq 0 echo Failed to install plugin in directory "%PLUGIN_INSTALL_DIRECTORY%" && exit /b %errorlevel%
30 | echo done.
31 | echo.
32 |
33 | cd /d "%~dp0"
34 |
35 | pause
36 |
--------------------------------------------------------------------------------
/resources/installer/wix_license_template.rtf:
--------------------------------------------------------------------------------
1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
2 | {\*\generator Riched20 10.0.18362}\viewkind4\uc1
3 | \pard\f0\fs22\lang3084 MIT License\par
4 | \par
5 | Copyright (c) 2018 Antoine Beauchamp\par
6 | \par
7 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\par
8 | \par
9 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\par
10 | \par
11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\par
12 | \par
13 | }
14 |
--------------------------------------------------------------------------------
/cmake/MakeCplusplusHeader.cmake:
--------------------------------------------------------------------------------
1 |
2 | #! MakeCplusplusHeader : Read the given file content into an output variable wrapping the file content in c++ comments.
3 | #
4 | # \arg:file The path of the file to read.
5 | # \arg:output_variable The path to the output variable that contains the c++ comments.
6 | #
7 | function(MakeCplusplusHeader file output_variable)
8 | set(CPLUSPLUS_COMMENT_HEADER "/*********************************************************************************")
9 | set(CPLUSPLUS_COMMENT_FOOTER " *********************************************************************************/")
10 |
11 | # Read the file
12 | file(READ ${file} FILE_CONTENT)
13 |
14 | # Remove last \n at the end of the file.
15 | string(STRIP ${FILE_CONTENT} FILE_CONTENT)
16 |
17 | # Add " * " at the beginning of each new line
18 | string(REPLACE "\n" "\n * " FILE_CONTENT ${FILE_CONTENT})
19 |
20 | # Also add " * " for the first line
21 | set(FILE_CONTENT " * ${FILE_CONTENT}")
22 |
23 | # Add header and footer
24 | set(FILE_CONTENT "${CPLUSPLUS_COMMENT_HEADER}\n${FILE_CONTENT}\n${CPLUSPLUS_COMMENT_FOOTER}\n")
25 |
26 | # Debug
27 | #FILE(WRITE ${CMAKE_SOURCE_DIR}/MakeCplusplusHeader.h "${FILE_CONTENT}")
28 |
29 | # Copy formatted header to the calling scope
30 | set(${output_variable} "${FILE_CONTENT}" PARENT_SCOPE)
31 | endfunction()
32 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestActionProperty.testLiveProperties.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/resources/icons/0.2.0.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Assume that ImageMagick already installed by installation script.
4 | set PATH=%TEMP%\imagemagick;%PATH%
5 |
6 | echo Searching for imagemagik executables in PATH...
7 | where magick.exe
8 | if errorlevel 1 (
9 | echo File 'magick.exe' not found. Please install imagemagik on system and add the directory to PATH.
10 | exit /B %errorlevel%
11 | )
12 | echo Found imagemagik directory.
13 | echo.
14 |
15 | call :process_file "0.2.0.svg"
16 | pause
17 | goto :eof
18 |
19 |
20 | :process_file
21 | echo Generate pngs...
22 | magick -background none -size 16x16 "%~1" "%~dpn1-16.png"
23 | magick -background none -size 32x32 "%~1" "%~dpn1-32.png"
24 | magick -background none -size 48x48 "%~1" "%~dpn1-48.png"
25 | magick -background none -size 64x64 "%~1" "%~dpn1-64.png"
26 |
27 | echo Override generated 16x16 icon with the legacy 16x16 icon.
28 | magick -background none "0.2.0-16x16-legacy.ico" "%~dpn1-16.png"
29 |
30 | echo Generate ico...
31 | set png_files=
32 | set png_files=%png_files% "%~dpn1-16.png"
33 | set png_files=%png_files% "%~dpn1-32.png"
34 | set png_files=%png_files% "%~dpn1-48.png"
35 | set png_files=%png_files% "%~dpn1-64.png"
36 | magick %png_files% "%~dpn1.ico"
37 |
38 | echo Generated "%~dpn1.ico".
39 | echo.
40 |
41 | echo Deleting png (intermediate files).
42 | del %png_files%
43 |
44 | goto :eof
45 |
46 | :eof
47 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestActionProperty.testRandomProperties.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testParseActionExecute.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestConfigManager.testAssignCommandId.1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/file_explorer_renew/main.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #pragma once
26 |
27 | #include "resource.h"
28 |
--------------------------------------------------------------------------------
/src/plugins/sa_plugin_demo/README.md:
--------------------------------------------------------------------------------
1 | # sa_plugin_demo #
2 | _sa_plugin_demo_ is a demo plugin library for [ShellAnything](https://github.com/end2endzone/ShellAnything). It can be used as a base code for new plugins. This demo provides new validation attributes called `demo1` and `demo2` for showing or enabling menus.
3 |
4 |
5 |
6 | # Usage #
7 |
8 | Declare the plugin as the following:
9 | ```xml
10 |
11 |
14 |
15 | ```
16 |
17 | # Building #
18 |
19 | This section explains how to compile _sa_plugin_demo_ example.
20 |
21 | To build the project, execute the following steps:
22 |
23 | 1) Open a command prompt and navigate to the plugin source directory.
24 | 2) Enter the following commands:
25 |
26 | ```cmake
27 | mkdir build
28 | cd build
29 | cmake -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_INSTALL_PREFIX="path\to\plugin\installation\directory" -DCMAKE_PREFIX_PATH="path\to\shellanything\installation\directory" ..
30 | cmake --build . --config Release -- -maxcpucount /m
31 | cmake --build . --config Release --target INSTALL
32 | cmake ..
33 | ```
34 |
35 | Please refer to [install_shellanything_plugins.bat](https://github.com/end2endzone/ShellAnything/blob/master/ci/windows/install_shellanything_plugins.bat) for details about _sa_time_plugin_ plugin.
36 |
--------------------------------------------------------------------------------
/src/arguments.debugger.console/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include "framework.h"
6 | #include "../arguments.debugger.window/arguments.h"
7 |
8 | #include "rapidassist/console.h"
9 |
10 |
11 | // Debug arguments example:
12 | // This is "multiple arguments at once" including "utf-8 characters" such as the Greek alphabet Αα Ββ Γγ Δδ Εε Ζζ Ηη Θθ Ιι Κκ Λλ Μμ Νν Ξξ Οο Ππ Ρρ Σσ/ς Ττ Υυ Φφ Χχ Ψψ Ωω.
13 |
14 |
15 | // https://stackoverflow.com/questions/33836706/what-are-tchar-strings-and-the-a-or-w-version-of-win32-api-functions
16 |
17 | #if defined(UNICODE)
18 | std::wistream& tcin = std::wcin;
19 | std::wostream& tcout = std::wcout;
20 | #else
21 | std::istream& tcin = std::cin;
22 | std::ostream& tcout = std::cout;
23 | #endif
24 |
25 | int _tmain(int argc, _TCHAR* argv[])
26 | {
27 | _setmode(_fileno(stdout), _O_U16TEXT);
28 |
29 | // The string that appears in the application's title bar.
30 | tcout << _T("ShellAything Arguments Debugging Application\n");
31 | tcout << "\n";
32 |
33 | // Get current directory
34 | TCHAR curdir[MAX_PATH] = { 0 };
35 | GetCurrentDirectory(MAX_PATH, curdir);
36 | tcout << _T("Current directory: ") << curdir << "\n";
37 |
38 | tstring_t arguments_desc;
39 | ReadCommandLineArguments(arguments_desc);
40 |
41 | tcout << arguments_desc << "\n";
42 |
43 | tcout << "Press any key to continue . . .";
44 | int tmp = ra::console::WaitKeyPress();
45 | tcout << "\n";
46 |
47 | return 0;
48 | }
49 |
--------------------------------------------------------------------------------
/src/core/IAction.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "IAction.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | IAction::IAction()
31 | {
32 | }
33 |
34 | IAction::~IAction()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/licenses/Google C++ Testing Framework LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2008, Google Inc.
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are
6 | met:
7 |
8 | * Redistributions of source code must retain the above copyright
9 | notice, this list of conditions and the following disclaimer.
10 | * Redistributions in binary form must reproduce the above
11 | copyright notice, this list of conditions and the following disclaimer
12 | in the documentation and/or other materials provided with the
13 | distribution.
14 | * Neither the name of Google Inc. nor the names of its
15 | contributors may be used to endorse or promote products derived from
16 | this software without specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------
/src/plugins/sa_plugin_time/README.md:
--------------------------------------------------------------------------------
1 | # sa_plugin_time #
2 | _sa_plugin_time_ is a plugin library for [ShellAnything](https://github.com/end2endzone/ShellAnything). It provides new validation attributes called `start_time`, `end_time` for showing or enabling menus based on the current system time.
3 |
4 |
5 |
6 | # Usage #
7 |
8 | Declare the plugin in a Configuration File as the following:
9 | ```xml
10 |
11 |
16 |
17 | ```
18 |
19 |
20 |
21 | # Building #
22 |
23 | This section explains how to compile _sa_plugin_time_ example.
24 |
25 | To build the project, execute the following steps:
26 |
27 | 1) Open a command prompt and navigate to the plugin source directory.
28 | 2) Enter the following commands:
29 |
30 | ```cmake
31 | mkdir build
32 | cd build
33 | cmake -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_INSTALL_PREFIX="path\to\plugin\installation\directory" -DCMAKE_PREFIX_PATH="path\to\shellanything\installation\directory" ..
34 | cmake --build . --config Release -- -maxcpucount /m
35 | cmake --build . --config Release --target INSTALL
36 | cmake ..
37 | ```
38 |
39 | Please refer to [install_shellanything_plugins.bat](https://github.com/end2endzone/ShellAnything/blob/master/ci/windows/install_shellanything_plugins.bat) for details about _sa_plugin_time_ plugin.
40 |
--------------------------------------------------------------------------------
/ci/appveyor/shell_extension_register.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate mandatory environment variables
4 | if "%CONFIGURATION%"=="" (
5 | echo Please define 'Configuration' environment variable.
6 | exit /B 1
7 | )
8 | if "%PLATFORM%"=="" (
9 | echo Please define 'Platform' environment variable.
10 | exit /B 1
11 | )
12 |
13 | :: Set PRODUCT_SOURCE_DIR root directory
14 | setlocal enabledelayedexpansion
15 | if "%PRODUCT_SOURCE_DIR%"=="" (
16 | :: Delayed expansion is required within parentheses https://superuser.com/questions/78496/variables-in-batch-file-not-being-set-when-inside-if
17 | cd /d "%~dp0"
18 | cd ..\..
19 | set PRODUCT_SOURCE_DIR=!CD!
20 | cd ..\..
21 | echo PRODUCT_SOURCE_DIR set to '!PRODUCT_SOURCE_DIR!'.
22 | )
23 | endlocal & set PRODUCT_SOURCE_DIR=%PRODUCT_SOURCE_DIR%
24 | echo.
25 |
26 | :: Validate administrative permissions...
27 | :: https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights
28 | echo Administrative permissions required for registering the Shell Extension.
29 | net session >nul 2>&1
30 | if %errorLevel% == 0 (
31 | echo Found administrative permissions.
32 | ) else (
33 | echo Failure: Please open a command prompt with administrative permissions.
34 | pause
35 | exit /B 1
36 | )
37 |
38 | :: Registering the Shell Extension.
39 | echo Proceeding with the Shell Extension registration.
40 | cd /d "%PRODUCT_SOURCE_DIR%\build\bin\%CONFIGURATION%"
41 | if "%CONFIGURATION%" == "Debug" (
42 | regsvr32 sa.shellextension-d.dll
43 | ) else (
44 | regsvr32 sa.shellextension.dll
45 | )
46 |
47 | ::Return to launch folder
48 | cd /d %~dp0
49 |
--------------------------------------------------------------------------------
/ci/appveyor/shell_extension_unregister.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :: Validate mandatory environment variables
4 | if "%CONFIGURATION%"=="" (
5 | echo Please define 'Configuration' environment variable.
6 | exit /B 1
7 | )
8 | if "%PLATFORM%"=="" (
9 | echo Please define 'Platform' environment variable.
10 | exit /B 1
11 | )
12 |
13 | :: Set PRODUCT_SOURCE_DIR root directory
14 | setlocal enabledelayedexpansion
15 | if "%PRODUCT_SOURCE_DIR%"=="" (
16 | :: Delayed expansion is required within parentheses https://superuser.com/questions/78496/variables-in-batch-file-not-being-set-when-inside-if
17 | cd /d "%~dp0"
18 | cd ..\..
19 | set PRODUCT_SOURCE_DIR=!CD!
20 | cd ..\..
21 | echo PRODUCT_SOURCE_DIR set to '!PRODUCT_SOURCE_DIR!'.
22 | )
23 | endlocal & set PRODUCT_SOURCE_DIR=%PRODUCT_SOURCE_DIR%
24 | echo.
25 |
26 | :: Validate administrative permissions...
27 | :: https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights
28 | echo Administrative permissions required for unregistering the Shell Extension.
29 | net session >nul 2>&1
30 | if %errorLevel% == 0 (
31 | echo Found administrative permissions.
32 | ) else (
33 | echo Failure: Please open a command prompt with administrative permissions.
34 | pause
35 | exit /B 1
36 | )
37 |
38 | :: Unregistering the Shell Extension.
39 | echo Proceeding with the Shell Extension unregistration.
40 | cd /d "%PRODUCT_SOURCE_DIR%\build\bin\%CONFIGURATION%"
41 | if "%CONFIGURATION%" == "Debug" (
42 | regsvr32 /u sa.shellextension-d.dll
43 | ) else (
44 | regsvr32 /u sa.shellextension.dll
45 | )
46 |
47 | ::Return to launch folder
48 | cd /d %~dp0
49 |
--------------------------------------------------------------------------------
/src/core/ILiveProperty.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "ILiveProperty.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | ILiveProperty::ILiveProperty()
31 | {
32 | }
33 |
34 | ILiveProperty::~ILiveProperty()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/core/IActionFactory.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "IActionFactory.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | IActionFactory::IActionFactory()
31 | {
32 | }
33 |
34 | IActionFactory::~IActionFactory()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/core/ILoggerService.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "ILoggerService.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | ILoggerService::ILoggerService()
31 | {
32 | }
33 |
34 | ILoggerService::~ILoggerService()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/core/IRandomService.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "IRandomService.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | IRandomService::IRandomService()
31 | {
32 | }
33 |
34 | IRandomService::~IRandomService()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/core/IUpdateCallback.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "IUpdateCallback.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | IUpdateCallback::IUpdateCallback()
31 | {
32 | }
33 |
34 | IUpdateCallback::~IUpdateCallback()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/core/IKeyboardService.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "IKeyboardService.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | IKeyboardService::IKeyboardService()
31 | {
32 | }
33 |
34 | IKeyboardService::~IKeyboardService()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/core/IRegistryService.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "IRegistryService.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | IRegistryService::IRegistryService()
31 | {
32 | }
33 |
34 | IRegistryService::~IRegistryService()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/core/IClipboardService.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "IClipboardService.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | IClipboardService::IClipboardService()
31 | {
32 | }
33 |
34 | IClipboardService::~IClipboardService()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/api/sa_memory.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "shellanything/sa_memory.h"
26 |
27 | #include
28 |
29 | void* sa_memory_alloc(size_t size)
30 | {
31 | void* ptr = malloc(size);
32 | return ptr;
33 | }
34 |
35 | void sa_memory_free(void* ptr)
36 | {
37 | if (ptr)
38 | free(ptr);
39 | }
40 |
--------------------------------------------------------------------------------
/src/core/IAttributeValidator.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "IAttributeValidator.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | IAttributeValidator::IAttributeValidator()
31 | {
32 | }
33 |
34 | IAttributeValidator::~IAttributeValidator()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/core/IIconResolutionService.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "IIconResolutionService.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | IIconResolutionService::IIconResolutionService()
31 | {
32 | }
33 |
34 | IIconResolutionService::~IIconResolutionService()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/core/IProcessLauncherService.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #include "IProcessLauncherService.h"
26 |
27 | namespace shellanything
28 | {
29 |
30 | IProcessLauncherService::IProcessLauncherService()
31 | {
32 | }
33 |
34 | IProcessLauncherService::~IProcessLauncherService()
35 | {
36 | }
37 |
38 | } //namespace shellanything
39 |
--------------------------------------------------------------------------------
/src/tests/test_files/TestObjectFactory.testParseActionProperty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/src/tests/test_files/issue040.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/src/file_explorer_renew/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | find_package(rapidassist REQUIRED)
2 |
3 | set(REFRESH_FILE_EXP_RESOURCE_FILES ""
4 | resource.h
5 | resource.rc
6 | )
7 |
8 | add_executable(file_explorer_renew WIN32
9 | ${SHELLANYTHING_EXPORT_HEADER}
10 | ${SHELLANYTHING_VERSION_HEADER}
11 | ${SHELLANYTHING_CONFIG_HEADER}
12 | ${REFRESH_FILE_EXP_RESOURCE_FILES}
13 | file_explorer.cpp
14 | file_explorer.h
15 | framework.h
16 | main.cpp
17 | main.h
18 | targetver.h
19 | user_feedback.cpp
20 | user_feedback.h
21 | )
22 |
23 | # Group external files as filter for Visual Studio
24 | source_group("Resource Files" FILES ${REFRESH_FILE_EXP_RESOURCE_FILES})
25 |
26 | # Force UNICODE for target
27 | target_compile_definitions(file_explorer_renew PRIVATE -D_UNICODE -DUNICODE)
28 |
29 | # Force CMAKE_DEBUG_POSTFIX for executables
30 | set_target_properties(file_explorer_renew PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
31 |
32 | # Define include directories for the executable.
33 | target_include_directories(file_explorer_renew
34 | PRIVATE
35 | ${GTEST_INCLUDE_DIR}
36 | rapidassist
37 | ${CMAKE_SOURCE_DIR}/src/shared
38 | ${CMAKE_BINARY_DIR}/include # for finding config.h
39 | ${CMAKE_BINARY_DIR}
40 | )
41 |
42 | # Define linking dependencies.
43 | add_dependencies(file_explorer_renew sa.shared)
44 | target_link_libraries(file_explorer_renew
45 | PRIVATE
46 | sa.shared
47 | rapidassist
48 | )
49 |
50 | install(TARGETS file_explorer_renew
51 | EXPORT shellanything-targets
52 | ARCHIVE DESTINATION ${SHELLANYTHING_INSTALL_LIB_DIR}
53 | LIBRARY DESTINATION ${SHELLANYTHING_INSTALL_LIB_DIR}
54 | RUNTIME DESTINATION ${SHELLANYTHING_INSTALL_BIN_DIR}
55 | )
56 |
--------------------------------------------------------------------------------
/src/file_explorer_renew/framework.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #pragma once
26 |
27 | #include "targetver.h"
28 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
29 | // Windows Header Files
30 | #include
31 | // C RunTime Header Files
32 | #include
33 | #include
34 | #include
35 | #include
36 |
--------------------------------------------------------------------------------
/src/file_explorer_renew/targetver.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #pragma once
26 |
27 | // // Including SDKDDKVer.h defines the highest available Windows platform.
28 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
29 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
30 | #include
31 |
--------------------------------------------------------------------------------
/src/arguments.debugger.window/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | find_package(rapidassist REQUIRED)
2 |
3 | set(REFRESH_DEBUG_ARGS_WIN_RESOURCE_FILES ""
4 | resource.h
5 | showargs.rc
6 | )
7 |
8 | add_executable(arguments.debugger.window WIN32
9 | ${SHELLANYTHING_EXPORT_HEADER}
10 | ${SHELLANYTHING_VERSION_HEADER}
11 | ${SHELLANYTHING_CONFIG_HEADER}
12 | ${REFRESH_DEBUG_ARGS_WIN_RESOURCE_FILES}
13 | arguments.cpp
14 | arguments.h
15 | framework.h
16 | gui.cpp
17 | targetver.h
18 | )
19 |
20 | # Group external files as filter for Visual Studio
21 | source_group("Resource Files" FILES ${REFRESH_DEBUG_ARGS_WIN_RESOURCE_FILES})
22 |
23 | # Force UNICODE for target
24 | target_compile_definitions(arguments.debugger.window PRIVATE -D_UNICODE -DUNICODE)
25 |
26 | # Force CMAKE_DEBUG_POSTFIX for executables
27 | set_target_properties(arguments.debugger.window PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
28 |
29 | # Define include directories for the executable.
30 | target_include_directories(arguments.debugger.window
31 | PRIVATE
32 | ${GTEST_INCLUDE_DIR}
33 | rapidassist
34 | ${CMAKE_SOURCE_DIR}/src/shared
35 | ${CMAKE_SOURCE_DIR}/resources/icons
36 | ${CMAKE_BINARY_DIR}/include # for finding config.h
37 | ${CMAKE_BINARY_DIR}
38 | )
39 |
40 | # Define linking dependencies.
41 | add_dependencies(arguments.debugger.window sa.shared)
42 | target_link_libraries(arguments.debugger.window
43 | PRIVATE
44 | sa.shared
45 | rapidassist
46 | )
47 |
48 | install(TARGETS arguments.debugger.window
49 | EXPORT shellanything-targets
50 | ARCHIVE DESTINATION ${SHELLANYTHING_INSTALL_LIB_DIR}
51 | LIBRARY DESTINATION ${SHELLANYTHING_INSTALL_LIB_DIR}
52 | RUNTIME DESTINATION ${SHELLANYTHING_INSTALL_BIN_DIR}
53 | )
54 |
--------------------------------------------------------------------------------
/src/core/IntList.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef SA_INTLIST_H
26 | #define SA_INTLIST_H
27 |
28 | #include "shellanything/export.h"
29 | #include "shellanything/config.h"
30 | #include
31 |
32 | namespace shellanything
33 | {
34 |
35 | ///
36 | /// A list of integer values.
37 | ///
38 | typedef std::vector IntList;
39 |
40 | } //namespace shellanything
41 |
42 | #endif //SA_INTLIST_H
43 |
--------------------------------------------------------------------------------
/src/logger/glog/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_library(sa.logger.glog SHARED
2 | dllmain.cpp
3 | GlogLoggerService.cpp
4 | GlogLoggerService.h
5 | GlogUtils.cpp
6 | GlogUtils.h
7 | )
8 |
9 | # Force CMAKE_DEBUG_POSTFIX for executables
10 | set_target_properties(sa.logger.glog PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
11 |
12 | set(SA_GLOG_EXPORT_HEADER_FILENAME "sa_glog_export.h")
13 | set(SA_GLOG_EXPORT_HEADER ${CMAKE_BINARY_DIR}/src/logger/glog/${SA_GLOG_EXPORT_HEADER_FILENAME})
14 | message("Generating ${SA_GLOG_EXPORT_HEADER_FILENAME} for shared library...")
15 | include (GenerateExportHeader)
16 | GENERATE_EXPORT_HEADER( sa.logger.glog
17 | BASE_NAME sa_glog
18 | EXPORT_MACRO_NAME SA_GLOG_EXPORT
19 | EXPORT_FILE_NAME ${SA_GLOG_EXPORT_HEADER}
20 | )
21 |
22 | # Define include directories for the library.
23 | target_include_directories(sa.logger.glog
24 | PUBLIC
25 | $ # for clients using the installed library.
26 | PRIVATE
27 | rapidassist
28 | glog::glog
29 | ${CMAKE_SOURCE_DIR}/src/core
30 | ${CMAKE_BINARY_DIR}/src/logger/glog
31 | ${CMAKE_SOURCE_DIR}/src/shared
32 | )
33 |
34 | # Define linking dependencies.
35 | add_dependencies(sa.logger.glog sa.core)
36 | target_link_libraries(sa.logger.glog
37 | PRIVATE
38 | rapidassist
39 | glog::glog
40 | sa.core
41 | sa.shared
42 | )
43 |
44 | # Define files that will be part of the installation package.
45 | install(TARGETS sa.logger.glog
46 | EXPORT shellanything-targets
47 | ARCHIVE DESTINATION ${SHELLANYTHING_INSTALL_LIB_DIR}
48 | LIBRARY DESTINATION ${SHELLANYTHING_INSTALL_LIB_DIR}
49 | RUNTIME DESTINATION ${SHELLANYTHING_INSTALL_BIN_DIR}
50 | )
51 |
--------------------------------------------------------------------------------
/src/tests/TestIcon.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_ICON_H
26 | #define TEST_SA_ICON_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestIcon : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_ICON_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestMenu.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_MENU_H
26 | #define TEST_SA_MENU_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestMenu : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_MENU_H
45 |
--------------------------------------------------------------------------------
/src/plugins/sa_plugin_demo/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.0)
2 | project(sa_plugin_demo)
3 |
4 | find_package(shellanything 0.8.0 REQUIRED)
5 |
6 | ## Debugging code
7 | #message(shellanything_FOUND= ${shellanything_FOUND})
8 | #message(shellanything_LIBRARY= ${shellanything_LIBRARY})
9 | #message(shellanything_LIBRARIES= ${shellanything_LIBRARIES})
10 | #message(shellanything_INCLUDE= ${shellanything_INCLUDE})
11 | #message(shellanything_INCLUDES= ${shellanything_INCLUDES})
12 | #message(shellanything_INCLUDE_DIR= ${shellanything_INCLUDE_DIR})
13 | #message(shellanything_VERSION= ${shellanything_VERSION})
14 | #message(shellanything_DIR= ${shellanything_DIR})
15 |
16 | add_library(sa_plugin_demo SHARED
17 | sa_plugin_demo.cpp
18 | )
19 |
20 | # Force a debug postfix if none specified.
21 | # This allows publishing both release and debug binaries to the same location
22 | # and it helps to prevent linking with the wrong library on Windows.
23 | if(NOT CMAKE_DEBUG_POSTFIX)
24 | set(CMAKE_DEBUG_POSTFIX "-d")
25 | endif()
26 |
27 | # Force CMAKE_DEBUG_POSTFIX for executables and libraries
28 | set_target_properties(sa_plugin_demo PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
29 |
30 | # Define include directories for the library.
31 | target_include_directories(sa_plugin_demo
32 | PRIVATE
33 | sa.api
34 | )
35 |
36 | # Define linking dependencies.
37 | add_dependencies(sa_plugin_demo sa.api)
38 | target_link_libraries(sa_plugin_demo
39 | PRIVATE
40 | sa.api
41 | )
42 |
43 | # Define files that will be part of the installation package.
44 | install(TARGETS sa_plugin_demo
45 | EXPORT sa_plugin_demo-targets
46 | ARCHIVE DESTINATION "lib"
47 | LIBRARY DESTINATION "lib"
48 | RUNTIME DESTINATION "bin"
49 | INCLUDES DESTINATION "include"
50 | )
51 |
--------------------------------------------------------------------------------
/src/tests/TestTools.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_TOOLS_H
26 | #define TEST_SA_TOOLS_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestTools : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_TOOLS_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestSaUtils.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_UTILS_H
26 | #define TEST_SA_UTILS_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestSaUtils : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_WIN32_UTILS_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestIObject.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_IOBJECT_H
26 | #define TEST_SA_IOBJECT_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestIObject : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_IOBJECT_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestInputBox.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_CONTEXT_H
26 | #define TEST_SA_CONTEXT_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestInputBox : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_CONTEXT_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestUnicode.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_UNICODE_H
26 | #define TEST_SA_UNICODE_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestUnicode : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_UNICODE_H
45 |
--------------------------------------------------------------------------------
/src/arguments.debugger.console/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | find_package(rapidassist REQUIRED)
2 |
3 | set(REFRESH_DEBUG_ARGS_CON_RESOURCE_FILES ""
4 | resource.h
5 | showargs.rc
6 | )
7 |
8 | add_executable(arguments.debugger.console
9 | ${SHELLANYTHING_EXPORT_HEADER}
10 | ${SHELLANYTHING_VERSION_HEADER}
11 | ${SHELLANYTHING_CONFIG_HEADER}
12 | ${REFRESH_DEBUG_ARGS_CON_RESOURCE_FILES}
13 | ../arguments.debugger.window/arguments.cpp
14 | ../arguments.debugger.window/arguments.h
15 | framework.h
16 | main.cpp
17 | targetver.h
18 | )
19 |
20 | # Group external files as filter for Visual Studio
21 | source_group("Resource Files" FILES ${REFRESH_DEBUG_ARGS_CON_RESOURCE_FILES})
22 |
23 | # Force UNICODE for target
24 | target_compile_definitions(arguments.debugger.console PRIVATE -D_UNICODE -DUNICODE)
25 |
26 | # Force CMAKE_DEBUG_POSTFIX for executables
27 | set_target_properties(arguments.debugger.console PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
28 |
29 | # Define include directories for the executable.
30 | target_include_directories(arguments.debugger.console
31 | PRIVATE
32 | ${GTEST_INCLUDE_DIR}
33 | rapidassist
34 | ${CMAKE_SOURCE_DIR}/src/shared
35 | ${CMAKE_SOURCE_DIR}/resources/icons
36 | ${CMAKE_BINARY_DIR}/include # for finding config.h
37 | ${CMAKE_BINARY_DIR}
38 | )
39 |
40 | # Define linking dependencies.
41 | add_dependencies(arguments.debugger.console sa.shared)
42 | target_link_libraries(arguments.debugger.console
43 | PRIVATE
44 | sa.shared
45 | rapidassist
46 | )
47 |
48 | install(TARGETS arguments.debugger.console
49 | EXPORT shellanything-targets
50 | ARCHIVE DESTINATION ${SHELLANYTHING_INSTALL_LIB_DIR}
51 | LIBRARY DESTINATION ${SHELLANYTHING_INSTALL_LIB_DIR}
52 | RUNTIME DESTINATION ${SHELLANYTHING_INSTALL_BIN_DIR}
53 | )
54 |
--------------------------------------------------------------------------------
/src/core/StringList.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef SA_STRINGLIST_H
26 | #define SA_STRINGLIST_H
27 |
28 | #include "shellanything/export.h"
29 | #include "shellanything/config.h"
30 | #include
31 | #include
32 |
33 | namespace shellanything
34 | {
35 |
36 | ///
37 | /// A list of string values.
38 | ///
39 | typedef std::vector StringList;
40 |
41 | } //namespace shellanything
42 |
43 | #endif //SA_STRINGLIST_H
44 |
--------------------------------------------------------------------------------
/src/tests/TestPlugins.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_PLUGINS_H
26 | #define TEST_SA_PLUGINS_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestPlugins : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_CONFIGMANAGER_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestWildcard.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_WILDCARD_H
26 | #define TEST_SA_WILDCARD_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestWildcard : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_WILDCARD_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestWin32Clipboard.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_WIN32CLIPBOARD_H
26 | #define TEST_WIN32CLIPBOARD_H
27 |
28 | #include
29 |
30 | namespace win32clipboard
31 | {
32 | namespace test
33 | {
34 | class TestWin32Clipboard : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace win32clipboard
43 |
44 | #endif //TEST_WIN32CLIPBOARD_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestDemoSamples.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_CONTEXT_H
26 | #define TEST_SA_CONTEXT_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestDemoSamples : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_CONTEXT_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestLibExprtk.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_LIBEXPRTK_H
26 | #define TEST_SA_LIBEXPRTK_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestLibExprtk : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_LIBEXPRTK_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestValidator.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_VALIDATOR_H
26 | #define TEST_SA_VALIDATOR_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestValidator : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_VALIDATOR_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestWin32Utils.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_WIN32_UTILS_H
26 | #define TEST_WIN32_UTILS_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestWin32Utils : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_WIN32_UTILS_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestWorkspace.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_WORKSPACE_H
26 | #define TEST_SA_WORKSPACE_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestWorkspace : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_WORKSPACE_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestActionFile.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_ACTIONFILE_H
26 | #define TEST_SA_ACTIONFILE_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestActionFile : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_ACTIONFILE_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestActionStop.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_ACTIONSTOP_H
26 | #define TEST_SA_ACTIONSTOP_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestActionStop : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_ACTIONSTOP_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestGlogUtils.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_GLOG_UTILS_H
26 | #define TEST_SA_GLOG_UTILS_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestGlogUtils : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_GLOG_UTILS_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestShellExtension.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_SHELLEXT_H
26 | #define TEST_SA_SHELLEXT_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestShellExtension : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_SHELLEXT_H
45 |
--------------------------------------------------------------------------------
/src/tests/TestEnvironment.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************************
2 | * MIT License
3 | *
4 | * Copyright (c) 2018 Antoine Beauchamp
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in all
14 | * copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | * SOFTWARE.
23 | *********************************************************************************/
24 |
25 | #ifndef TEST_SA_ENVIRONMENT_H
26 | #define TEST_SA_ENVIRONMENT_H
27 |
28 | #include
29 |
30 | namespace shellanything
31 | {
32 | namespace test
33 | {
34 | class TestEnvironment : public ::testing::Test
35 | {
36 | public:
37 | virtual void SetUp();
38 | virtual void TearDown();
39 | };
40 |
41 | } //namespace test
42 | } //namespace shellanything
43 |
44 | #endif //TEST_SA_ENVIRONMENT_H
45 |
--------------------------------------------------------------------------------