diff --git a/checkin_notes b/checkin_notes
index 71fe6bceb5..2a3dc9ca24 100755
--- a/checkin_notes
+++ b/checkin_notes
@@ -1915,3 +1915,14 @@ David 15 Feb 2006
lib/
crypt_prog.C
+
+Charlie 16 Feb 2006
+ - Mac: Fix menubar draw bug by calling MacInstallMenuBar().
+ - Since Quit (Exit) is not in File menu on Mac OSX, don't show File
+ menu unless it contains other items in addition to Exit.
+ - Dialup manager doesn't work on Mac or Linux, so compile it and
+ Options dialog Connections tab only for Windows.
+
+ clientgui/
+ MainDocument.cpp
+ DlgOptions.cpp
diff --git a/clientgui/DlgOptions.cpp b/clientgui/DlgOptions.cpp
index 6c9f242689..d99a438c4d 100644
--- a/clientgui/DlgOptions.cpp
+++ b/clientgui/DlgOptions.cpp
@@ -50,8 +50,10 @@ BEGIN_EVENT_TABLE(CDlgOptions, wxDialog)
////@begin CDlgOptions event table entries
EVT_NOTEBOOK_PAGE_CHANGED( ID_NOTEBOOK, CDlgOptions::OnNotebookPageChanged )
EVT_UPDATE_UI( ID_NOTEBOOK, CDlgOptions::OnNotebookUpdate )
+#if defined(__WXMSW__)
EVT_BUTTON( ID_DIALUPSETDEFAULT, CDlgOptions::OnDialupSetDefaultClick )
EVT_BUTTON( ID_DIALUPCLEARDEFAULT, CDlgOptions::OnDialupClearDefaultClick )
+#endif // __WXMSW__
EVT_CHECKBOX( ID_ENABLEHTTPPROXYCTRL, CDlgOptions::OnEnableHTTPProxyCtrlClick )
EVT_UPDATE_UI( ID_ENABLEHTTPPROXYCTRL, CDlgOptions::OnEnableHTTPProxyCtrlUpdate )
EVT_CHECKBOX( ID_ENABLESOCKSPROXYCTRL, CDlgOptions::OnEnableSOCKSProxyCtrlClick )
@@ -83,11 +85,13 @@ bool CDlgOptions::Create(wxWindow* parent, wxWindowID id, const wxString& captio
m_LanguageSelectionCtrl = NULL;
m_ReminderFrequencyCtrl = NULL;
m_DialupStaticBoxCtrl = NULL;
+#if defined(__WXMSW__)
m_DialupConnectionsCtrl = NULL;
m_DialupSetDefaultCtrl = NULL;
m_DialupClearDefaultCtrl = NULL;
m_DialupDefaultConnectionTextCtrl = NULL;
m_DialupDefaultConnectionCtrl = NULL;
+#endif // __WXMSW__
m_EnableHTTPProxyCtrl = NULL;
m_HTTPAddressCtrl = NULL;
m_HTTPPortCtrl = NULL;
@@ -157,6 +161,7 @@ void CDlgOptions::CreateControls()
itemNotebook3->AddPage(itemPanel4, _("General"));
+#if defined(__WXMSW__)
wxPanel* itemPanel11 = new wxPanel;
itemPanel11->Create( itemNotebook3, ID_CONNECTONS, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxVERTICAL);
@@ -196,6 +201,7 @@ void CDlgOptions::CreateControls()
itemFlexGridSizer22->Add(m_DialupDefaultConnectionCtrl, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
itemNotebook3->AddPage(itemPanel11, _("Connections"));
+#endif // __WXMSW__
wxPanel* itemPanel27 = new wxPanel;
itemPanel27->Create( itemNotebook3, ID_HTTPPROXY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
@@ -347,6 +353,7 @@ void CDlgOptions::OnNotebookUpdate(wxUpdateUIEvent& event)
}
+#if defined(__WXMSW__)
/*!
* wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DIALUPSETDEFAULT
*/
@@ -365,7 +372,7 @@ void CDlgOptions::OnDialupClearDefaultClick( wxCommandEvent& WXUNUSED(event) )
{
m_DialupDefaultConnectionCtrl->SetLabel(wxEmptyString);
}
-
+#endif // __WXMSW__
/*!
* wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_ENABLEHTTPPROXYCTRL
@@ -448,6 +455,7 @@ void CDlgOptions::OnEnableSOCKSProxyCtrlUpdate(wxUpdateUIEvent& event) {
}
+#if defined(__WXMSW__)
wxString CDlgOptions::GetDefaultDialupConnection() const
{
return m_DialupDefaultConnectionCtrl->GetLabel();
@@ -458,6 +466,7 @@ void CDlgOptions::SetDefaultDialupConnection(wxString value)
{
m_DialupDefaultConnectionCtrl->SetLabel(value);
}
+#endif // __WXMSW__
/*!
diff --git a/clientgui/MainFrame.cpp b/clientgui/MainFrame.cpp
index 07a1deaa69..040bac6bbd 100644
--- a/clientgui/MainFrame.cpp
+++ b/clientgui/MainFrame.cpp
@@ -222,8 +222,10 @@ CMainFrame::CMainFrame(wxString title, wxIcon* icon) :
SetStatusBarPane(0);
+#ifdef __WXMSW__
m_pDialupManager = new CBOINCDialUpManager();
wxASSERT(m_pDialupManager->IsOk());
+#endif
m_pRefreshStateTimer = new wxTimer(this, ID_REFRESHSTATETIMER);
wxASSERT(m_pRefreshStateTimer);
@@ -509,10 +511,16 @@ bool CMainFrame::CreateMenu() {
// construct menu
m_pMenubar = new wxMenuBar;
- m_pMenubar->Append(
- menuFile,
- _("&File")
- );
+#ifdef __WXMAC__
+// WxWidgets automatically prevents the Exit item from showing in the File menu
+// because Mac OSX has its Quit item in "BOINCManager" menu, not in File menu.
+// Don't show File menu on the Mac unless it has additional items.
+ if (menuFile->GetMenuItemCount() > 1)
+#endif
+ m_pMenubar->Append(
+ menuFile,
+ _("&File")
+ );
m_pMenubar->Append(
menuTools,
_("&Tools")
@@ -532,6 +540,9 @@ bool CMainFrame::CreateMenu() {
wxMenuBar* m_pOldMenubar = GetMenuBar();
SetMenuBar(m_pMenubar);
+#ifdef __WXMAC__
+ m_pMenubar->MacInstallMenuBar();
+#endif
if (m_pOldMenubar) {
delete m_pOldMenubar;
}
@@ -1300,6 +1311,7 @@ void CMainFrame::OnOptionsOptions(wxCommandEvent& WXUNUSED(event)) {
pDlg->m_LanguageSelectionCtrl->SetSelection(m_iSelectedLanguage);
pDlg->m_ReminderFrequencyCtrl->SetValue(m_iReminderFrequency);
+#ifdef __WXMSW__
// Connection Tab
if (m_pDialupManager) {
m_pDialupManager->GetISPNames(astrDialupConnections);
@@ -1311,6 +1323,7 @@ void CMainFrame::OnOptionsOptions(wxCommandEvent& WXUNUSED(event)) {
pDlg->m_DialupSetDefaultCtrl->Disable();
pDlg->m_DialupClearDefaultCtrl->Disable();
}
+#endif
// Proxy Tabs
bRetrievedProxyConfiguration = (0 == pDoc->GetProxyConfiguration());
@@ -1373,8 +1386,10 @@ void CMainFrame::OnOptionsOptions(wxCommandEvent& WXUNUSED(event)) {
m_iSelectedLanguage = pDlg->m_LanguageSelectionCtrl->GetSelection();
m_iReminderFrequency = pDlg->m_ReminderFrequencyCtrl->GetValue();
+#ifdef __WXMSW__
// Connection Tab
m_strNetworkDialupConnectionName = pDlg->GetDefaultDialupConnection();
+#endif
// Proxy Tabs
if (bRetrievedProxyConfiguration) {
@@ -1680,6 +1695,7 @@ void CMainFrame::OnFrameRender(wxTimerEvent &event) {
bAlreadyRunOnce = true;
}
+#ifdef __WXMSW__
// Check to see if there is anything that we need to do from the
// dial up user perspective.
if (pDoc->IsConnected()) {
@@ -1687,6 +1703,7 @@ void CMainFrame::OnFrameRender(wxTimerEvent &event) {
m_pDialupManager->poll();
}
}
+#endif
if (IsShown()) {
if (pDoc) {
diff --git a/mac_build/English.lproj/InfoPlist.strings b/mac_build/English.lproj/InfoPlist.strings
index 822737fb78..34c5b75370 100755
--- a/mac_build/English.lproj/InfoPlist.strings
+++ b/mac_build/English.lproj/InfoPlist.strings
@@ -1,5 +1,5 @@
/* Localized versions of Info.plist keys */
CFBundleName = "BOINC";
-CFBundleShortVersionString = "BOINC version 5.3.18";
-CFBundleGetInfoString = "BOINC version 5.3.18, Copyright 2005 University of California.";
+CFBundleShortVersionString = "BOINC version 5.3.19";
+CFBundleGetInfoString = "BOINC version 5.3.19, Copyright 2005 University of California.";
diff --git a/mac_build/Info.plist b/mac_build/Info.plist
index 35bccb87e5..6861671e3e 100644
--- a/mac_build/Info.plist
+++ b/mac_build/Info.plist
@@ -17,6 +17,6 @@
CFBundleSignature
BNC!
CFBundleVersion
- 5.3.18
+ 5.3.19
diff --git a/mac_build/Installer-Info.plist b/mac_build/Installer-Info.plist
index 3f077ab75c..d34a8825f6 100644
--- a/mac_build/Installer-Info.plist
+++ b/mac_build/Installer-Info.plist
@@ -15,6 +15,6 @@
CFBundleSignature
????
CFBundleVersion
- 5.3.18
+ 5.3.19
diff --git a/mac_build/ScreenSaver-Info.plist b/mac_build/ScreenSaver-Info.plist
index c5f4e43761..30f8e73109 100644
--- a/mac_build/ScreenSaver-Info.plist
+++ b/mac_build/ScreenSaver-Info.plist
@@ -17,7 +17,7 @@
CFBundleSignature
????
CFBundleVersion
- 5.3.18
+ 5.3.19
NSPrincipalClass
BOINC_Saver_ModuleView
diff --git a/mac_build/SystemMenu-Info.plist b/mac_build/SystemMenu-Info.plist
index d57dece1c3..71aa4296f8 100644
--- a/mac_build/SystemMenu-Info.plist
+++ b/mac_build/SystemMenu-Info.plist
@@ -15,6 +15,6 @@
CFBundleSignature
????
CFBundleVersion
- 5.3.18
+ 5.3.19