From b38b0d22d7a97ff66d824e11e3e1c96c4423900b Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Thu, 24 Jul 2003 10:07:43 +0000 Subject: [PATCH] Fixed preview navigation as per ancient bug report git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/prntbase.h | 3 ++- src/common/prntbase.cpp | 46 ++++++++++++++++++++++++----------------- 2 files changed, 29 insertions(+), 20 deletions(-) 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); -- 2.45.2