Also make numerous other fixes to make uninstall which distros never seem to patch when they patch make install - we now uninstall all the files we install during make install.
* Implemented drag'n'drop reordering for Plugin list.
Now single wxDropTarget subclass is used for both RuleTable
and PluginList.
Now ExtImportPrefsDropTarget interfacing with PrefsPanel is
a bit more object-oriented (no direct access to properties)
Now row swapping in PluginList is made by separate function
(the code is a bit less ugly)
* Fixed PluginList reordering by a button (broken by previous
commit)
Made a special FakeOnPluginKeyDown() function for that, also
added some conditions into handler itself to emulate list
navigation.
* Fixed PluginList initialization in PopulateOrExchange
* Fixed RuleTable drag'n'drop reordering to work with single click
Now it is possible to click-and-drag previously unselected item
to reorder it, no need to select it beforehand
* Fix PluginList item selection movement (Linux)
Removed some unneeded code that b0rked item selection
in PluginList on Linux.
* Fix RuleTable multi-item drag selection.
Used undocumented EnableDragCell() method for that,
but now it is not possible to select multiple items
by dragging. It is still necessary to select an item
before you can drag it (because click-event occurs
after selection is changed and you can not select
an item without moving it otherwise).
* Fix indentation
Converted tabs to 3-spaces.
Wrapped everything at 80th column.
* /ExtendedImport/OverrideExtendedImportByOpenFileDialogChoice preference enables the override (backward-compatibel behaviour), and it is now false by default
* File names (and mime types) and patterns are Lower()'ed before being fed to wxMatchWild(), now matching should be case-insensitive
* Now empty rule elements (empty list of extensions, empty list of mime types) will match anything (just as if they had one "*" element)
* "Extended Import" preferences tab is now next to "Import/Export" tab
* Preferences now use Grid class (the one used in Tag editor) instead of default wxGrid. Tabbing now works correctly.
* First attempt to add Drag'n'Drop re-ordering for Rule table. Seems to be working.
* Cleaned up a couple of cruft code comments.
* Separate buttons (with hotkeys) for moving rules and filters up and down (ctrl+up/down still works)
* Moved some code into helper funcions (can be called from both button and keyboard event handlers)
* Grid is now configured in PopulateOrExchange (the same way it is in Tags.cpp)
* Keep selection while moving table rows and list items
* Detect trailing/leading spaces in rule condition and offer to trim them
* Select newly added item and switch focus to the table
* Show confirmation dialog when deleting items
* Be smart about keeping cursor and selection position when deleting items