end2endzone / ShellAnything

ShellAnything is a C++ open-source software which allow one to easily customize and add new options to *Windows Explorer* context menu. Define specific actions when a user right-click on a file or a directory.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Move code from the shell extension to the core

end2endzone opened this issue · comments

Is your feature request related to a problem? Please describe.
There is a lot of code in the Shell Extension that could be moved to the core in order to be reusable or tested.

Describe the solution you'd like
What ever code that can be moved to the core is good.

  • Setting global properties:
    • log.directory
  • Create ShellAnythingApp, App or Settings class to store global settings. This class shall be a good candidate for moving code from DLL to the core.
    • Move function InitConfigManager().
    • Move function LogEnvironment(). Won't do. Function is already too much win32/Windows specific. Not appropriate for the core.
    • Move function PropertyManager::SetApplicationPath().
    • Move function InstallDefaultConfigurations().
  • Move code that "execute all actions of a menu" from CContextMenu.cpp to Menu.cpp.
  • Move "menu finding code" from unit test TestConfigManager.cpp#L76:L128 to ConfigManager,Configuration and Menu classes (close to function FindMenuByCommandId()).

Describe alternatives you've considered
Duplicated code ?!?!?

Additional context
N/A