Ok, this has come up before. It has been quite some time since investigating it,
but I seem to remember a couple of key points and roadblocks that prevent fixing
it at this time. I’ll list them out even though you know most of this
already from observation.
We set the last used file extension, FNC in your case
We unfortunately (and probably incorrectly) have multiple filters that
include the FNC extension
Windows Common Dialogs search through the filters, in order, until one is
found that contains the extension and uses that filter
Toad has a predefined set of filters for the common dialogs and PLSQL is one
of many and happens to appear below some of the other PLSQL object filters
The list of filters (Options à Files à General) can’t be reordered
and the predefined filters can’t be deleted
We have no way of obtaining the last used filter index from the common
dialog, just extension of the last opened file
One proposition from back in the day was to retain the last used filter and not
last used extension, but we can’t do this because of 6 above. This would
be ideal, but as far as I know still not possible.
Another way to “fix” it would be to ship with a predefined filter
list, but give you complete control over reordering or even removing those
filters with a restore defaults option so that you can nuke all of the
individual PLSQL object type filters or at least push PLSQL to the top.
For now you can do the following which should work. Edit the filters for the
PLSQL object types that are listed above PLSQL (function, java, java source,
package, and package body) so that those filters look for a bogus extension,
.aaa for instance. This should cause your case below to always go to the PLSQL
filter, but means that the modified filters are now useless.