]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commit
Reworked mac gui to not lock up upon launch
authorrobk-tahoe <robk-tahoe@allmydata.com>
Fri, 25 Jan 2008 03:00:28 +0000 (20:00 -0700)
committerrobk-tahoe <robk-tahoe@allmydata.com>
Fri, 25 Jan 2008 03:00:28 +0000 (20:00 -0700)
commit2f2de9df2ee381f89e15df080aa6641daff0c9af
treebecede1c35f6a4dd25de9a7eb1da07155a72295d
parent5085c35002f09b78abfe1269422958e597058e5f
Reworked mac gui to not lock up upon launch

Previously, once the node itself was launched, the UI event loop was no longer
running.  This meant that the app would sit around seemingly 'wedged' and being
reported as 'Not Responding' by the os.

This chnages that by actually implementing a wxPython gui which is left running
while the reactor, and the node within it, is launched in another thread.
Beyond 'quit' -> reactor.stop, there are no interactions between the threads.

The ui provides 'open web root' and 'open account page' actions, both in the
file menu, and in the (right click) dock icon menu.

Something weird in the handling of wxpython's per-frame menubar stuff seems to
mean that the menu bar only displays the file menu and about etc (i.e. the items
from the wx menubar) if the focus changes from and back to the app while the
frame the menubar belongs to is displayed.  Hence a splash frame comes up at
startup to provide an opportunity.

It also seems that, in the case that the file menu is not available, that one
can induce it to reappear by choosing 'about' from the dock menu, and then
closing the about window.
src/allmydata/gui/confwiz.py
src/allmydata/gui/macapp.py