author | leseb <leseb> | 2002-06-09 16:06:21 (UTC) |
---|---|---|
committer | leseb <leseb> | 2002-06-09 16:06:21 (UTC) |
commit | b59a64c90deba66180e3a778d411296e984f64ea (patch) (side-by-side diff) | |
tree | 88ef0767602dd174f5911719ffb346a4fcf7420f | |
parent | 29c0d188836a59bff1fbcd1d338fcd3334c0f1f5 (diff) | |
download | opie-b59a64c90deba66180e3a778d411296e984f64ea.zip opie-b59a64c90deba66180e3a778d411296e984f64ea.tar.gz opie-b59a64c90deba66180e3a778d411296e984f64ea.tar.bz2 |
Changing page order now works in thumbnail view
-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 | 9 |
4 files changed, 64 insertions, 8 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 @@ -418,8 +418,26 @@ void DrawPadCanvas::deletePage() emit pagesChanged(); emit pageBackupsChanged(); } +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() { return (m_pageBackups.current() != m_pageBackups.getFirst()); } 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 @@ -54,8 +54,10 @@ public slots: void deleteAll(); void newPage(uint width, uint height, const QColor& color); void clearPage(); void deletePage(); + void movePageUp(); + void movePageDown(); void undo(); void redo(); 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 @@ -169,15 +169,17 @@ ThumbnailView::ThumbnailView(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas, QWi deletePageButton->setIconSet(Resource::loadIconSet("trash")); deletePageButton->setAutoRaise(true); 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); connect(m_pPageListView, SIGNAL(selectionChanged()), this, SLOT(changePage())); @@ -187,20 +189,28 @@ ThumbnailView::ThumbnailView(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas, QWi buttonLayout->addWidget(newPageButton); buttonLayout->addWidget(clearPageButton); 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(); } ThumbnailView::~ThumbnailView() { hide(); } +void ThumbnailView::updateView() +{ + m_pMovePageUpButton->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled()); + m_pMovePageDownButton->setEnabled(m_pDrawPadCanvas->goNextPageEnabled()); +} + void ThumbnailView::hide() { QWidget::hide(); @@ -230,8 +240,9 @@ void ThumbnailView::newPage() if (newPageDialog.exec() == QDialog::Accepted) { m_pDrawPadCanvas->newPage(newPageDialog.selectedWidth(), newPageDialog.selectedHeight(), newPageDialog.selectedColor()); m_pPageListView->updateView(); + updateView(); } } void ThumbnailView::clearPage() @@ -262,11 +273,27 @@ void ThumbnailView::deletePage() if (messageBox.exec() == QMessageBox::Yes) { 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 @@ -20,8 +20,10 @@ class DrawPad; class DrawPadCanvas; class Page; +class QToolButton; + class PageListViewItem : public QListViewItem { public: PageListViewItem(Page* page, QListView* parent); @@ -58,23 +60,30 @@ class ThumbnailView : public QWidget public: ThumbnailView(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas, QWidget* parent = 0, const char* name = 0); ~ThumbnailView(); + void updateView(); + void hide(); void exec(); public slots: void newPage(); void clearPage(); void deletePage(); + void movePageUp(); + void movePageDown(); void changePage(); private: bool inLoop; DrawPad* m_pDrawPad; DrawPadCanvas* m_pDrawPadCanvas; + QToolButton* m_pMovePageUpButton; + QToolButton* m_pMovePageDownButton; + PageListView* m_pPageListView; }; #endif // THUMBNAILVIEW_H |