Introduce DelayedMessageBox class
Move the starting point of a timer to setQuitSignal()

In exec(), a message box is too lately shown up.
Restore a text of a location line properly

Restore it only if the focus moved from a location line to a dir tree or
an entry tree.
Select a corresponding entry of a dir tree

whenever a entry tree is set.
Show a native file path
Determine with 'ftp:/' instead of QUrl::scheme()

QUrl::scheme() thinks that a scheme of 'ftp:' is 'ftp'. And 'ftp:/'
should be used not 'ftp://'. This is due to a bug of QFileSystemModel
not understanding URL scheme correctly. It always tries to treat all the
things as local paths. So it converts ftp://xxx to ftp:/xxx.

As a side effect, there is no need to check that a directory is 'ftp:'.
Introduce trigger() member function to DelayedMessageBox class
Do not change the root path of a dir tree

This causes ASSERTION to be failed in Qt internal.

    1. connect to ftp://ftp.netlabs.org
    2. cd to incoming
    3. cd to Qt
    4. then crash
Show a message while checking the accessability

QFuture and QtConcurrent seems to have a conflict with a local event
loop. So just use a blocking member function result() of QFuture.
Strangely, this does not freeze GUI thread. What is the reason ?