dansage/cerikey — pull request #8 by dansage (2013-05-04 08:17:19+00:00)
Title: WIP: Cerikey 2.0

Starting at version 1.0, the project never had a chance to develop over time without breaking compatibility: *1.0*, *1.1*, and *1.2* all had different plugin systems. With the move to 2.0, that will be resolved; the major version change will signify that things may break – but for the better. All 2.0-related changes will be contained within this pull request until it is time to merge them.

## Interface
The interface will be as streamlined and user-friendly as possible.

#### General
- [x] **Create a new icon**
- [ ] **Add an about dialog** to show license and version information
- [ ] **Add an error dialog** to show errors or warnings that occur while running
- Also log all errors/warnings to a log file

#### Settings
- [x] **Add a Check for Updates setting**
- [ ] **Add an option to only load plugins** with a trusted digital signature
- [ ] **Load/Save the user's settings**
- [ ] **Allow the user to disable specific plugins**

## Plugins
The plugin system is being redesigned to accomodate some features that will expand the programs that can be found.

#### General
- [ ] **Check for a trusted digital signature** when loading each plugin
- Give the user the choice to only load signed plugins
- Only load signed plugins by default
- [ ] **Remove the core plugin**
- As support for more software has been added, the core plugin has started to become bloated
- Move the *Microsoft Windows* finder that startup sequence

#### Finders
- [ ] **Make `Finder` an interface** and create `SimpleFinder` and `ComplexFinder`
- `SimpleFinder` can only find single-line product keys
- `ComplexFinder` can find *any* product key but must implement a way to show the key
- A helper method will be included to easily show a multi-line product key