--- wxCpuThrottle/src/trayicon.cpp 2007/08/09 20:57:19 24 +++ wxCpuThrottle/src/trayicon.cpp 2007/08/10 18:12:36 25 @@ -63,13 +63,18 @@ menu->AppendSeparator(); menu->Append(Menu_Quit, wxT("Quit application"), wxT("Terminates wxCpuThrottle") ); + if (!mParent->GetWritable()) + { + menu->Enable(Menu_Increase, false); + menu->Enable(Menu_Decrease, false); + } return menu; } void TrayIcon::OnQuit( wxCommandEvent& event ) { - mParent->OnQuit(event); + mParent->OnQuit(/*event*/); } @@ -81,19 +86,39 @@ void TrayIcon::OnShowDialog( wxCommandEvent& event ) { - mParent->SetPosition(); - mParent->Show( !mParent->IsShown() ); + ShowDialog(); } void TrayIcon::OnLeftClick(wxTaskBarIconEvent& WXUNUSED(event) ) { - mParent->SetPosition(); - mParent->Show( !mParent->IsShown() ); + ShowDialog(); } void TrayIcon::OnIncrease( wxCommandEvent& WXUNUSED( event ) ) { -} + AcpiParser* parser = mParent->GetParser(); + int current = parser->GetCurrentState(); + + if (current < parser->GetStateCount() -1) + parser->SetState( current +1 ); +} + void TrayIcon::OnDecrease( wxCommandEvent& WXUNUSED( event ) ) { + AcpiParser* parser = mParent->GetParser(); + int current = parser->GetCurrentState(); + + if ( current > 0) + parser->SetState( current - 1 ); +} + + + +void TrayIcon::ShowDialog() +{ + mParent->SetPosition(); + mParent->Show( !mParent->IsShown() ); + + if (mParent->IsIconized()) + mParent->Iconize( false ); }