diff --git a/kpdf/kpdf_pagewidget.cc b/kpdf/kpdf_pagewidget.cc index c0928ece21cf8563c4470b1495b82ad11a330b4d..600169df067cdbbceb4b7efb6de81209e7489be5 100644 --- a/kpdf/kpdf_pagewidget.cc +++ b/kpdf/kpdf_pagewidget.cc @@ -120,6 +120,12 @@ namespace KPDF mutex.unlock(); } + void PageWidget::enableScrollBars( bool b ) + { + setHScrollBarMode( b ? Auto : AlwaysOff ); + setVScrollBarMode( b ? Auto : AlwaysOff ); + } + void PageWidget::updatePixmap() { if ( m_doc ) diff --git a/kpdf/kpdf_pagewidget.h b/kpdf/kpdf_pagewidget.h index 264a38ad995028128bf1cb144fb2e5951757e433..9cb6a21907d43a777b866ab99ed23fbd51a72334 100644 --- a/kpdf/kpdf_pagewidget.h +++ b/kpdf/kpdf_pagewidget.h @@ -12,56 +12,56 @@ class QOutputDevPixmap; namespace KPDF { - /** - * Widget displaying a pixmap containing a PDF page and Links. - */ - class PageWidget : public QScrollView - { - Q_OBJECT + /** + * Widget displaying a pixmap containing a PDF page and Links. + */ + class PageWidget : public QScrollView + { + Q_OBJECT - enum ZoomMode { FitInWindow, FitWidth, FitVisible, FixedFactor }; + enum ZoomMode { FitInWindow, FitWidth, FitVisible, FixedFactor }; - public: - PageWidget(QWidget* parent = 0, const char* name = 0); - ~PageWidget(); - void setPDFDocument(PDFDoc*); - void setPixelsPerPoint(float); - /* void setLinks(); */ + public: + PageWidget(QWidget* parent = 0, const char* name = 0); + ~PageWidget(); + void setPDFDocument(PDFDoc*); + void setPixelsPerPoint(float); + /* void setLinks(); */ - void setPage(int pagenum); - int getPage() const { return m_currentPage; }; + void setPage(int pagenum); + int getPage() const { return m_currentPage; }; + void enableScrollBars( bool b ); + public slots: + void nextPage(); + void previousPage(); + void zoomIn(); + void zoomOut(); - public slots: - void nextPage(); - void previousPage(); - void zoomIn(); - void zoomOut(); + void updatePixmap(); - void updatePixmap(); + signals: + void linkClicked(LinkAction*); - signals: - void linkClicked(LinkAction*); + protected: + void contentsMousePressEvent(QMouseEvent*); + void contentsMouseReleaseEvent(QMouseEvent*); + void contentsMouseMoveEvent(QMouseEvent*); - protected: - void contentsMousePressEvent(QMouseEvent*); - void contentsMouseReleaseEvent(QMouseEvent*); - void contentsMouseMoveEvent(QMouseEvent*); + virtual void drawContents ( QPainter *p, int, int, int, int ); - virtual void drawContents ( QPainter *p, int, int, int, int ); + private: - private: + QOutputDevPixmap * m_outputdev; + PDFDoc* m_doc; - QOutputDevPixmap * m_outputdev; - PDFDoc* m_doc; + float m_ppp; // Pixels per point + float m_zoomFactor; + ZoomMode m_zoomMode; - float m_ppp; // Pixels per point - float m_zoomFactor; - ZoomMode m_zoomMode; + int m_currentPage; - int m_currentPage; - - LinkAction* m_pressedAction; - }; + LinkAction* m_pressedAction; + }; } #endif diff --git a/kpdf/kpdf_part.cpp b/kpdf/kpdf_part.cpp index ba10178a6a5b5ed4f90f6537831116dd1d74261e..b0a18235b40cdb5022f2da4d56ebb7a9fc1fa9da 100644 --- a/kpdf/kpdf_part.cpp +++ b/kpdf/kpdf_part.cpp @@ -59,6 +59,15 @@ Part::Part(QWidget *parentWidget, const char *widgetName, setWidget(pdfpartview); + m_showScrollBars = new KToggleAction( i18n( "Show &Scrollbars" ), 0, + actionCollection(), "show_scrollbars" ); + m_showPageList = new KToggleAction( i18n( "Show &Page List" ), 0, + actionCollection(), "show_page_list" ); + connect( m_showScrollBars, SIGNAL( toggled( bool ) ), + SLOT( showScrollBars( bool ) ) ); + connect( m_showPageList, SIGNAL( toggled( bool ) ), + SLOT( showMarkList( bool ) ) ); + // create our actions KStdAction::find (this, SLOT(find()), actionCollection(), "find"); @@ -102,6 +111,20 @@ Part::~Part() delete globalParams; } +void Part::showScrollBars( bool show ) +{ + m_outputDev->enableScrollBars( show ); +} + +void Part::showMarkList( bool show ) +{ +#if 0 + _markList->setShown( show ); + _scrollBox->setShown( show ); + _divider->setShown( show ); +#endif +} + void Part::slotGotoEnd() { if ( m_doc && m_doc->getNumPages() > 0 ); diff --git a/kpdf/kpdf_part.h b/kpdf/kpdf_part.h index c1eec1c6b93395746a1431de97c4b97a53ff3b6a..ae748dca609f88508a7ebf71181172c453eb50f5 100644 --- a/kpdf/kpdf_part.h +++ b/kpdf/kpdf_part.h @@ -95,14 +95,19 @@ namespace KPDF void executeAction(LinkAction*); + void showScrollBars( bool ); + void showMarkList( bool ); + private: PDFDoc* m_doc; PageWidget* m_outputDev; - PDFPartView * pdfpartview; + PDFPartView * pdfpartview; KAction* m_firstPage; KAction* m_lastPage; KAction* m_prevPage; KAction* m_nextPage; + KToggleAction* m_showScrollBars; + KToggleAction* m_showPageList; KToggleAction* m_fitToWidth; diff --git a/kpdf/kpdf_part.rc b/kpdf/kpdf_part.rc index ae21420a5a7205926ef504f1292764846285bbc7..e6dd8126a905b132d8dd9e2dbe0269dfa0d70fbc 100644 --- a/kpdf/kpdf_part.rc +++ b/kpdf/kpdf_part.rc @@ -1,5 +1,5 @@ - + &Edit @@ -18,6 +18,10 @@ + &Settings + + + diff --git a/kpdf/kpdf_shell.cpp b/kpdf/kpdf_shell.cpp index 120c4ef0142a508338e9a24ada2660fd384dd55f..99193cede6e9e5d0a3514770af9f63c386fdb006 100644 --- a/kpdf/kpdf_shell.cpp +++ b/kpdf/kpdf_shell.cpp @@ -17,6 +17,7 @@ #include #include #include +#include using namespace KPDF; @@ -53,7 +54,7 @@ Shell::Shell() { // if we couldn't find our Part, we exit since the Shell by // itself can't do anything useful - KMessageBox::error(this, "Could not find our Part!"); + KMessageBox::error(this, i18n("Could not find our Part!")); kapp->quit(); // we return here, cause kapp->quit() only means "exit the // next time we enter the event loop...