-use of the override keyword
-delete unused code
-const correctness
-more uniform code style
-for each with const references when possible
-getters no longer use the word 'get'
-others
A new, more flexible and restrictive parser to improve the
usage and experience of Flameshot in the command line.
This parser is based on a parent-child node model and is very easy
to define relationships between arguments and options with
informative error checking. You can define lambdas to check the
received values for every option and custom error messages
The controller class has some important methods which may be
required in multiple parts of the code. Now that class is a
singleton (that may change in the future).
The core parts have been moved to src/core.
Now the tray Icon can be disabled by the controller.
I need to reimplement a new notification system due to its
dependency with the tray icon, they are disabled in this actual
commit.
The design was defective and I didn't expect the popularity of the project. After these changes the code will be more mantainable and understandable.
Among the changes we can see:
- A better code structure
- Decoupled button widget from its logic
- More code reuse
- Easier way to add buttons
- Specialized classes