Image a case where BOINC Manager and the BOINC Manager event log
live side-by-side or only slightly overlapped, and the user wants
to use a full screen/maximized window. If the bring the BOINC
manager window back into focus while that app is still running
make sure the event log comes forward as well. The event log
should appear behind the main window in the case they are
overlapped.
clientgui/
BOINCGUIApp.cpp, .h
svn path=/trunk/boinc/; revision=25129
used for system process info
Old: vector of PROCINFO.
Descendants of a process were found by recursively
iterating through the vector.
Operations are O(n)
New: map of (id, PROCINFO),
and each PROCINFO has a vector of its children.
Operations are O(log(n))
Also combined Mac/Win/Linux variants of code that
was essentially the same.
svn path=/trunk/boinc/; revision=24117
ShowWindow() on an application frame to restore an application from
a minimized state or a hidden state on Windows(75% of the UI test
automation would fail at Microsoft without this ability), it appeartly
isn't for other platforms. wxWidgets is or appears to be tracking window
state internally, which leads to problems when the OS restores the window
and the rest of the framework doesn't know about that change in state.
Certain window events were being ignored (like WM_CLOSE, menu selection
events, etc.). So replace the previous mechinism for bringing an existing
instance of the BOINC Manager to the foreground by creating a new global
window message which is tracked by the system tray icon. When the new
global message is fired make sure the CBOINCGUIApp::SetActiveGUI() function
is called to restore the window state which in turn updates all the internal
framework data structures.
clientgui/
BOINCGUIApp.cpp
clientgui/
BOINCTaskBar.cpp, .h
clientgui/msw/
taskbarex.cpp, .h
svn path=/trunk/boinc/; revision=22547
cycle, before any window or document creation. Prevents rapid window
creation and then destruction.
clientgui/
BOINCGUIApp.cpp, .h
svn path=/trunk/boinc/; revision=22504
recursive call to itself on shutdown thereby halting the Windows
shutdown procedure on Windows XP and older systems. It would
eventually crash the process with a stack overflow error.
clientgui/
BOINCGUIApp.cpp, .h
svn path=/trunk/boinc/; revision=22137
and main window are open.
- MGR: Don't replace control characters for regular messages.
clientgui/
BOINCGUIApp.cpp, .h
DlgEventLog.cpp
MainDocument.cpp, .h
NoticeListCtrl.cpp
svn path=/trunk/boinc/; revision=22054
count has changed.
- MGR: Don't update the last arrival time for the host unless
it has changed from the last time it was saved.
- MGR: Opps, forgot to move some code before commiting yesterday,
don't update the last save arrival time unless the user
clicks on the balloon.
- MGR: Stop the simple GUI from blinking the messages button
when the balloon is clicked.
clientgui/
AdvancedFrame.cpp
BOINCGUIApp.cpp
BOINCTaskBar.cpp
MainDocument.cpp
sg_BoincSimpleGUI.cpp
sg_ProjectsComponent.h
svn path=/trunk/boinc/; revision=22051
manager, right now it stores everything in memory but will be extended
in the future.
- MGR: Clean up notice memory on shutdown
clientgui/
BOINCGUIApp.cpp
BOINCInternetFSHandler.cpp, .h
NoticeListCtrl.cpp, .h
stdwx.h
ViewNotices.cpp
win_build/
boincmgr.vcproj
svn path=/trunk/boinc/; revision=21833
class, it is not owned by any frame, it is modeless.
NOTE: Need to consult with Charlie about how best to register modeless
dialogs for RPC updates. They are not owned by a frame and should
be capable of being displayed or view from any frame. i.e.
SwitchActiveGUI() should not have any effect on them.
- MGR: Display a window title with the async waiting dialog.
clientgui/
AdvancedFrame.cpp, .h
AsyncRPC.cpp
BOINCBaseFrame.cpp
BOINCGUIApp.cpp, .h
DlgEventLog.cpp
svn path=/trunk/boinc/; revision=20014