summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.cpp18
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.h2
-rw-r--r--noncore/graphics/drawpad/thumbnailview.cpp43
-rw-r--r--noncore/graphics/drawpad/thumbnailview.h9
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
@@ -419,6 +419,24 @@ void DrawPadCanvas::deletePage()
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
@@ -55,6 +55,8 @@ public slots:
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
@@ -170,13 +170,15 @@ ThumbnailView::ThumbnailView(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas, QWi
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()));
@@ -188,11 +190,13 @@ ThumbnailView::ThumbnailView(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas, QWi
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()
@@ -200,6 +204,12 @@ ThumbnailView::~ThumbnailView()
hide();
}
+void ThumbnailView::updateView()
+{
+ m_pMovePageUpButton->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled());
+ m_pMovePageDownButton->setEnabled(m_pDrawPadCanvas->goNextPageEnabled());
+}
+
void ThumbnailView::hide()
{
QWidget::hide();
@@ -231,6 +241,7 @@ void ThumbnailView::newPage()
m_pDrawPadCanvas->newPage(newPageDialog.selectedWidth(), newPageDialog.selectedHeight(),
newPageDialog.selectedColor());
m_pPageListView->updateView();
+ updateView();
}
}
@@ -263,10 +274,26 @@ 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
@@ -21,6 +21,8 @@ class DrawPad;
class DrawPadCanvas;
class Page;
+class QToolButton;
+
class PageListViewItem : public QListViewItem
{
public:
@@ -59,6 +61,8 @@ public:
ThumbnailView(DrawPad* drawPad, DrawPadCanvas* drawPadCanvas, QWidget* parent = 0, const char* name = 0);
~ThumbnailView();
+ void updateView();
+
void hide();
void exec();
@@ -66,6 +70,8 @@ public slots:
void newPage();
void clearPage();
void deletePage();
+ void movePageUp();
+ void movePageDown();
void changePage();
private:
@@ -74,6 +80,9 @@ private:
DrawPad* m_pDrawPad;
DrawPadCanvas* m_pDrawPadCanvas;
+ QToolButton* m_pMovePageUpButton;
+ QToolButton* m_pMovePageDownButton;
+
PageListView* m_pPageListView;
};