Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
macOS: Implemented macOS specific paths and variable name fixes
[xestiacalendar/.git] / source / widgets / XCCalendarManipulator.cpp
index 7acf19d..4ca64bc 100644 (file)
@@ -27,7 +27,11 @@ XCCalendarManipulator::XCCalendarManipulator(wxWindow* parent, const wxString& t
         : wxPanel(parent, wxID_ANY, pos, size, wxTAB_TRAVERSAL, title){
        szrMain = new wxBoxSizer( wxVERTICAL );
        pnlMain = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(500, 50), wxTAB_TRAVERSAL);
+#if defined(__APPLE__)
+       pnlMain->SetBackgroundColour(wxColour(120,120,120));
+#else
        pnlMain->SetBackgroundColour(wxColour(40,40,40));
+#endif
        this->SetSizer(szrMain);
        szrMain->Add(pnlMain, 0, wxEXPAND, 0);
        
@@ -89,7 +93,7 @@ XCCalendarManipulator::XCCalendarManipulator(wxWindow* parent, const wxString& t
        
        wxDateTime dtNow = wxDateTime::Now();
 
-#if defined(WIN32)
+#if defined(WIN32) || defined(__APPLE__)
        moo = new frmCalendarSelectMonth(this);
 #else
        moo = new XCCalendarMonthSelect(this);
@@ -140,11 +144,11 @@ void XCCalendarManipulator::DateTextClick(wxCommandEvent &event){
        
        // Bring up a popup control to select the month and year.
        
-       // TODO: Do something different for Win32.
+       // Do something different for Win32 and macOS.
 
        moo->SetPosition(wxPoint(dateButton->GetScreenRect().GetLeft(), dateButton->GetScreenRect().GetBottom()));
        moo->UpdateDate(month, year);
-#if defined(WIN32)
+#if defined(WIN32) || defined(__APPLE__)
        moo->ShowModal();
 #else
        moo->Popup();
@@ -241,8 +245,22 @@ void XCCalendarManipulator::ShowCalendarsList(wxCommandEvent &event){
        
        calendarList->SetPosition(wxPoint(calendarsButton->GetScreenRect().GetLeft(), calendarsButton->GetScreenRect().GetBottom()));
        calendarList->UpdateCalendarList(dataStorage);
+#if defined(__APPLE__)
+
+    if (calendarListShow == false)
+    {
+        calendarList->Show();
+        calendarListShow = true;
+    }
+    else
+    {
+        calendarList->Hide();
+        calendarListShow = false;
+    }
+#else
        calendarList->Popup();
-       
+#endif
+    
 }
 
 void XCCalendarManipulator::UpdateDateButtonText(){
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy