diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h index 42e04bf85f..067ba6e9a0 100644 --- a/include/wx/prntbase.h +++ b/include/wx/prntbase.h @@ -267,13 +267,14 @@ public: virtual wxPrintPreviewBase *GetPrintPreview() const { return m_printPreview; } - void OnPrint(wxCommandEvent& event); void OnWindowClose(wxCommandEvent& event); void OnNext(); void OnPrevious(); void OnFirst(); void OnLast(); void OnGoto(); + void OnPrint(); + void OnPrint(wxCommandEvent& WXUNUSED(event)) { OnPrint(); } void OnNextButton(wxCommandEvent & WXUNUSED(event)) { OnNext(); } void OnPreviousButton(wxCommandEvent & WXUNUSED(event)) { OnPrevious(); } void OnFirstButton(wxCommandEvent & WXUNUSED(event)) { OnFirst(); } diff --git a/src/common/prntbase.cpp b/src/common/prntbase.cpp index 8b94982154..59a2bc634f 100644 --- a/src/common/prntbase.cpp +++ b/src/common/prntbase.cpp @@ -242,34 +242,42 @@ void wxPreviewCanvas::OnSysColourChanged(wxSysColourChangedEvent& event) void wxPreviewCanvas::OnChar(wxKeyEvent &event) { + wxPreviewControlBar* controlBar = ((wxPreviewFrame*) GetParent())->GetControlBar(); if (event.GetKeyCode() == WXK_ESCAPE) { ((wxPreviewFrame*) GetParent())->Close(TRUE); return; + } + else if (event.GetKeyCode() == WXK_TAB) + { + controlBar->OnGoto(); + return; } - + else if (event.GetKeyCode() == WXK_RETURN) + { + controlBar->OnPrint(); + return; + } + if (!event.ControlDown()) { event.Skip(); return; } - - wxPreviewControlBar* controlBar = ((wxPreviewFrame*) GetParent())->GetControlBar(); - switch(event.GetKeyCode()) - { - case WXK_NEXT: - controlBar->OnNext(); break; - case WXK_PRIOR: - controlBar->OnPrevious(); break; - case WXK_HOME: - controlBar->OnFirst(); break; - case WXK_END: - controlBar->OnLast(); break; - case WXK_TAB: - controlBar->OnGoto(); break; - default: - event.Skip(); - } + + switch(event.GetKeyCode()) + { + case WXK_NEXT: + controlBar->OnNext(); break; + case WXK_PRIOR: + controlBar->OnPrevious(); break; + case WXK_HOME: + controlBar->OnFirst(); break; + case WXK_END: + controlBar->OnLast(); break; + default: + event.Skip(); + } } /* @@ -323,7 +331,7 @@ void wxPreviewControlBar::OnWindowClose(wxCommandEvent& WXUNUSED(event)) frame->Close(TRUE); } -void wxPreviewControlBar::OnPrint(wxCommandEvent& WXUNUSED(event)) +void wxPreviewControlBar::OnPrint(void) { wxPrintPreviewBase *preview = GetPrintPreview(); preview->Print(TRUE);