summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.cpp13
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.h1
-rw-r--r--noncore/graphics/drawpad/thumbnailview.cpp27
-rw-r--r--noncore/graphics/drawpad/thumbnailview.h2
4 files changed, 42 insertions, 1 deletions
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp
index 252f4d5..0a1e9a5 100644
--- a/noncore/graphics/drawpad/drawpadcanvas.cpp
+++ b/noncore/graphics/drawpad/drawpadcanvas.cpp
@@ -327,6 +327,19 @@ uint DrawPadCanvas::pageCount()
327 return m_pages.count(); 327 return m_pages.count();
328} 328}
329 329
330void DrawPadCanvas::selectPage(Page* page)
331{
332 m_pages.findRef(page);
333 m_pageBackups.clear();
334 m_pageBackups.append(new Page(*(m_pages.current())));
335
336 resizeContents(m_pages.current()->width(), m_pages.current()->height());
337 viewport()->update();
338
339 emit pagesChanged();
340 emit pageBackupsChanged();
341}
342
330void DrawPadCanvas::backupPage() 343void DrawPadCanvas::backupPage()
331{ 344{
332 QPixmap* currentBackup = m_pageBackups.current(); 345 QPixmap* currentBackup = m_pageBackups.current();
diff --git a/noncore/graphics/drawpad/drawpadcanvas.h b/noncore/graphics/drawpad/drawpadcanvas.h
index 47763f9..cf2d904 100644
--- a/noncore/graphics/drawpad/drawpadcanvas.h
+++ b/noncore/graphics/drawpad/drawpadcanvas.h
@@ -47,6 +47,7 @@ public:
47 uint pagePosition(); 47 uint pagePosition();
48 uint pageCount(); 48 uint pageCount();
49 49
50 void selectPage(Page* page);
50 void backupPage(); 51 void backupPage();
51 52
52public slots: 53public slots:
diff --git a/noncore/graphics/drawpad/thumbnailview.cpp b/noncore/graphics/drawpad/thumbnailview.cpp
index 1754ce9..476b7b9 100644
--- a/noncore/graphics/drawpad/thumbnailview.cpp
+++ b/noncore/graphics/drawpad/thumbnailview.cpp
@@ -100,6 +100,9 @@ void PageListView::updateView()
100 for (; it.current(); ++it) { 100 for (; it.current(); ++it) {
101 new PageListViewItem(it.current(), this); 101 new PageListViewItem(it.current(), this);
102 } 102 }
103
104 setSorting(0, false);
105 select(m_pDrawPadCanvas->currentPage());
103 } 106 }
104} 107}
105 108
@@ -110,6 +113,21 @@ void PageListView::resizeEvent(QResizeEvent* e)
110 setColumnWidth(1, contentsRect().width() - columnWidth(0) - verticalScrollBar()->width()); 113 setColumnWidth(1, contentsRect().width() - columnWidth(0) - verticalScrollBar()->width());
111} 114}
112 115
116void PageListView::select(Page* page)
117{
118 PageListViewItem* item = (PageListViewItem*)firstChild();
119
120 while (item) {
121 if (item->page() == page) {
122 setSelected(item, true);
123 ensureItemVisible(item);
124 break;
125 }
126
127 item = (PageListViewItem*)(item->nextSibling());
128 }
129}
130
113Page* PageListView::selected() const 131Page* PageListView::selected() const
114{ 132{
115 Page* page; 133 Page* page;
@@ -125,7 +143,6 @@ Page* PageListView::selected() const
125 return page; 143 return page;
126} 144}
127 145
128
129ThumbnailView::ThumbnailView(DrawPadCanvas* drawPadCanvas, QWidget* parent, const char* name) 146ThumbnailView::ThumbnailView(DrawPadCanvas* drawPadCanvas, QWidget* parent, const char* name)
130 : QWidget(parent, name, Qt::WType_Modal | Qt::WType_TopLevel) 147 : QWidget(parent, name, Qt::WType_Modal | Qt::WType_TopLevel)
131{ 148{
@@ -145,6 +162,7 @@ ThumbnailView::ThumbnailView(DrawPadCanvas* drawPadCanvas, QWidget* parent, cons
145 QToolButton* deletePageButton = new QToolButton(this); 162 QToolButton* deletePageButton = new QToolButton(this);
146 deletePageButton->setIconSet(Resource::loadIconSet("trash")); 163 deletePageButton->setIconSet(Resource::loadIconSet("trash"));
147 deletePageButton->setAutoRaise(true); 164 deletePageButton->setAutoRaise(true);
165 connect(deletePageButton, SIGNAL(clicked()), this, SLOT(deletePage()));
148 166
149 QToolButton* movePageUpButton = new QToolButton(this); 167 QToolButton* movePageUpButton = new QToolButton(this);
150 movePageUpButton->setIconSet(Resource::loadIconSet("up")); 168 movePageUpButton->setIconSet(Resource::loadIconSet("up"));
@@ -155,6 +173,7 @@ ThumbnailView::ThumbnailView(DrawPadCanvas* drawPadCanvas, QWidget* parent, cons
155 movePageDownButton->setAutoRaise(true); 173 movePageDownButton->setAutoRaise(true);
156 174
157 m_pPageListView = new PageListView(m_pDrawPadCanvas, this); 175 m_pPageListView = new PageListView(m_pDrawPadCanvas, this);
176 connect(m_pPageListView, SIGNAL(selectionChanged()), this, SLOT(changePage()));
158 177
159 QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4); 178 QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4);
160 QHBoxLayout* buttonLayout = new QHBoxLayout(0); 179 QHBoxLayout* buttonLayout = new QHBoxLayout(0);
@@ -207,5 +226,11 @@ void ThumbnailView::deletePage()
207 226
208 if (messageBox.exec() == QMessageBox::Yes) { 227 if (messageBox.exec() == QMessageBox::Yes) {
209 m_pDrawPadCanvas->deletePage(); 228 m_pDrawPadCanvas->deletePage();
229 m_pPageListView->updateView();
210 } 230 }
211} 231}
232
233void ThumbnailView::changePage()
234{
235 m_pDrawPadCanvas->selectPage(m_pPageListView->selected());
236}
diff --git a/noncore/graphics/drawpad/thumbnailview.h b/noncore/graphics/drawpad/thumbnailview.h
index ae97ff1..9417655 100644
--- a/noncore/graphics/drawpad/thumbnailview.h
+++ b/noncore/graphics/drawpad/thumbnailview.h
@@ -40,6 +40,7 @@ public:
40 40
41 void updateView(); 41 void updateView();
42 42
43 void select(Page* page);
43 Page* selected() const; 44 Page* selected() const;
44 45
45protected: 46protected:
@@ -62,6 +63,7 @@ public:
62 63
63public slots: 64public slots:
64 void deletePage(); 65 void deletePage();
66 void changePage();
65 67
66private: 68private:
67 bool inLoop; 69 bool inLoop;