* The File/Open dialog gets invoked in
  sfx2/source/appl/appopen.cxx:994 (sfx2::FileOpenDialog_Impl)

* See also sfx2/source/appl/appopen.cxx:1130;
  TypeDetection->queryTypeByURL() and then SfxFilterMatcher

* SfxFilterMatcher is in sfx2/inc/fcontnr.hxx and
  sfx2/source/bastyp/fltfnc.cxx

* Interesting stack trace when opening a file --- so the filter stuff
  is not in FileOpenDialog_Impl:

#0  0x40bb4985 in gnome_vfs_directory_open_from_uri () from /usr/lib/libgnomevfs-2.so.0
#1  0x405cb0fb in osl_openDirectory () from /oo/install/program/libsal.so.3
#2  0x43901c86 in fileaccess::XResultSet_impl::XResultSet_impl(fileaccess::shell*, rtl::OUString const&, long, com::sun::star::uno::Sequence<com::sun::star::beans::Property> const&, com::sun::star::uno::Sequence<com::sun::star::ucb::NumberedSortingInfo> const&) () from /oo/install/program/libucpfile1.so
#3  0x438e9c97 in fileaccess::shell::ls(long, rtl::OUString const&, long, com::sun::star::uno::Sequence<com::sun::star::beans::Property> const&, com::sun::star::uno::Sequence<com::sun::star::ucb::NumberedSortingInfo> const&) ()
   from /oo/install/program/libucpfile1.so
#4  0x438dc28a in fileaccess::BaseContent::open(long, com::sun::star::ucb::OpenCommandArgument2 const&) ()
   from /oo/install/program/libucpfile1.so
#5  0x438d8102 in fileaccess::BaseContent::execute(com::sun::star::ucb::Command const&, long, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) () from /oo/install/program/libucpfile1.so
#6  0x4080eb2c in ucb::Content_Impl::executeCommand(com::sun::star::ucb::Command const&) ()
   from /oo/install/program/libucbhelper1gcc3.so
#7  0x4080902d in ucb::Content::createCursor(com::sun::star::uno::Sequence<rtl::OUString> const&, ucb::ResultSetInclude) () from /oo/install/program/libucbhelper1gcc3.so
#8  0x48252def in ScGlobal::InitAddIns() () from /oo/install/program/libsc641li.so
#9  0x482495a4 in ScGlobal::Init() () from /oo/install/program/libsc641li.so
#10 0x47f283ad in ScDLL::Init() () from /oo/install/program/libsc641li.so
#11 0x47f42a7b in InitScDll () from /oo/install/program/libsc641li.so
#12 0x4394aef2 in LoadLibSc() () from /oo/install/program/libwrp641li.so
#13 0x4394af76 in GetFuncSc(char const*) () from /oo/install/program/libwrp641li.so
#14 0x4394b212 in CreateObjScDocShellLib(int) () from /oo/install/program/libwrp641li.so
#15 0x4394b24d in ScDocShell::CreateObject(SfxObjectCreateMode) () from /oo/install/program/libwrp641li.so
#16 0x445b10b6 in SfxObjectFactory::CreateObject(SfxObjectCreateMode) const () from /oo/install/program/libsfx641li.so
#17 0x4451f93d in LoadEnvironment_Impl::Load(SfxObjectFactory const*) () from /oo/install/program/libsfx641li.so
#18 0x445217d0 in LoadEnvironment_Impl::LoadDataAvailable() () from /oo/install/program/libsfx641li.so
#19 0x44521980 in LoadEnvironment_Impl::LoadDataAvailable() () from /oo/install/program/libsfx641li.so
#20 0x4451f1fe in LoadEnvironment_Impl::Start() () from /oo/install/program/libsfx641li.so
#21 0x445ea538 in SfxFrameLoader::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) () from /oo/install/program/libsfx641li.so
#22 0x4567154a in framework::BaseDispatcher::implts_loadIt(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, com::sun::star::uno::Any const&) () from /oo/install/program/libfwk641li.so
#23 0x45678de7 in framework::BlankDispatcher::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () from /oo/install/program/libfwk641li.so
#24 0x444e88d8 in SfxApplication::OpenDocExec_Impl(SfxRequest&) (this=0x43929ba0, rReq=@0x47c16098)
    at /home/oo/build/unknown/OOO_1_0_2/sfx2/source/appl/appopen.cxx:1332
#25 0x444eef1e in SfxStubSfxApplicationOpenDocExec_Impl(SfxShell*, SfxRequest&) ()
   from /oo/install/program/libsfx641li.so

* From frame 21 above; sfx2/source/view/frmload.cxx:190
  SfxFrameLoader::load(); it picks up the arguments including the
  filter name.  But if the filter name is not specified, it uses the
  type name to figure things out at line 245.  See also
  sfx2/source/appl/appopen.cxx:1130 --- this is where the type name
  gets queried and later mapped to a filter with
  aFilter.GetFilter4EA() (what does 4EA mean?).

* Autodetection has to happen upwards from frame 21; see
  frmload.cxx:248 --- it expects that something did autodetection
  before.  So maybe we should just copy&paste from appopen.cxx...?
