-rw-r--r-- | noncore/graphics/drawpad/drawpadcanvas.cpp | 18 | ||||
-rw-r--r-- | noncore/graphics/drawpad/drawpadcanvas.h | 2 | ||||
-rw-r--r-- | noncore/graphics/drawpad/thumbnailview.cpp | 43 | ||||
-rw-r--r-- | noncore/graphics/drawpad/thumbnailview.h | 11 |
4 files changed, 65 insertions, 9 deletions
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp index c23ee34..bcb6877 100644 --- a/noncore/graphics/drawpad/drawpadcanvas.cpp +++ b/noncore/graphics/drawpad/drawpadcanvas.cpp @@ -420,4 +420,22 @@ void DrawPadCanvas::deletePage() } +void DrawPadCanvas::movePageUp() +{ + int index = m_pages.at(); + Page* page = m_pages.take(); + m_pages.insert(index - 1, page); + + emit pagesChanged(); +} + +void DrawPadCanvas::movePageDown() +{ + int index = m_pages.at(); + Page* page = m_pages.take(); + m_pages.insert(index + 1, page); + + emit pagesChanged(); +} + bool DrawPadCanvas::undoEnabled() { diff --git a/noncore/graphics/drawpad/drawpadcanvas.h b/noncore/graphics/drawpad/drawpadcanvas.h index d74d425..39cf752 100644 --- a/noncore/graphics/drawpad/drawpadcanvas.h +++ b/noncore/graphics/drawpad/drawpadcanvas.h @@ -56,4 +56,6 @@ public slots: void clearPage(); void deletePage(); + void movePageUp(); + void movePageDown(); void undo(); diff --git a/noncore/graphics/drawpad/thumbnailview.cpp b/noncore/graphics/drawpad/thumbnailview.cpp index 0c7934e..428e008 100644 --- a/noncore/graphics/drawpad/thumbnailview.cpp +++ b/noncore/graphics/drawpad/thumbnailview.cpp @@ -171,11 +171,13 @@ ThumbnailView::ThumbnailView(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas, QWi connect(deletePageButton, SIGNAL(clicked()), this, SLOT(deletePage())); - QToolButton* movePageUpButton = new QToolButton(this); - movePageUpButton->setIconSet(Resource::loadIconSet("up")); - movePageUpButton->setAutoRaise(true); + m_pMovePageUpButton = new QToolButton(this); + m_pMovePageUpButton->setIconSet(Resource::loadIconSet("up")); + m_pMovePageUpButton->setAutoRaise(true); + connect(m_pMovePageUpButton, SIGNAL(clicked()), this, SLOT(movePageUp())); - QToolButton* movePageDownButton = new QToolButton(this); - movePageDownButton->setIconSet(Resource::loadIconSet("down")); - movePageDownButton->setAutoRaise(true); + m_pMovePageDownButton = new QToolButton(this); + m_pMovePageDownButton->setIconSet(Resource::loadIconSet("down")); + m_pMovePageDownButton->setAutoRaise(true); + connect(m_pMovePageDownButton, SIGNAL(clicked()), this, SLOT(movePageDown())); m_pPageListView = new PageListView(m_pDrawPadCanvas, this); @@ -189,9 +191,11 @@ ThumbnailView::ThumbnailView(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas, QWi buttonLayout->addWidget(deletePageButton); buttonLayout->addStretch(); - buttonLayout->addWidget(movePageUpButton); - buttonLayout->addWidget(movePageDownButton); + buttonLayout->addWidget(m_pMovePageUpButton); + buttonLayout->addWidget(m_pMovePageDownButton); mainLayout->addLayout(buttonLayout); mainLayout->addWidget(m_pPageListView); + + updateView(); } @@ -201,4 +205,10 @@ ThumbnailView::~ThumbnailView() } +void ThumbnailView::updateView() +{ + m_pMovePageUpButton->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled()); + m_pMovePageDownButton->setEnabled(m_pDrawPadCanvas->goNextPageEnabled()); +} + void ThumbnailView::hide() { @@ -232,4 +242,5 @@ void ThumbnailView::newPage() newPageDialog.selectedColor()); m_pPageListView->updateView(); + updateView(); } } @@ -264,9 +275,25 @@ void ThumbnailView::deletePage() m_pDrawPadCanvas->deletePage(); m_pPageListView->updateView(); + updateView(); } } +void ThumbnailView::movePageUp() +{ + m_pDrawPadCanvas->movePageUp(); + m_pPageListView->updateView(); + updateView(); +} + +void ThumbnailView::movePageDown() +{ + m_pDrawPadCanvas->movePageDown(); + m_pPageListView->updateView(); + updateView(); +} + void ThumbnailView::changePage() { m_pDrawPadCanvas->selectPage(m_pPageListView->selected()); + updateView(); } diff --git a/noncore/graphics/drawpad/thumbnailview.h b/noncore/graphics/drawpad/thumbnailview.h index 1fdb168..eb748fa 100644 --- a/noncore/graphics/drawpad/thumbnailview.h +++ b/noncore/graphics/drawpad/thumbnailview.h @@ -22,4 +22,6 @@ class DrawPadCanvas; class Page; +class QToolButton; + class PageListViewItem : public QListViewItem { @@ -59,5 +61,7 @@ public: ThumbnailView(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas, QWidget* parent = 0, const char* name = 0); ~ThumbnailView(); - + + void updateView(); + void hide(); void exec(); @@ -67,4 +71,6 @@ public slots: void clearPage(); void deletePage(); + void movePageUp(); + void movePageDown(); void changePage(); @@ -75,4 +81,7 @@ private: DrawPadCanvas* m_pDrawPadCanvas; + QToolButton* m_pMovePageUpButton; + QToolButton* m_pMovePageDownButton; + PageListView* m_pPageListView; }; |