void KPrViewModeNotes::updateActivePage( KoPAPageBase *page ) { if ( m_view->activePage() != page ) { m_view->setActivePage( page ); } KPrPage *prPage = dynamic_cast<KPrPage *>( page ); if ( !prPage ) return; KPrNotes *notes = prPage->pageNotes(); notes->updatePageThumbnail(); KoShapeLayer* layer = dynamic_cast<KoShapeLayer*>( notes->childShapes().last() ); KoPageLayout &layout = notes->pageLayout(); QSize size(layout.width, layout.height); m_view->horizontalRuler()->setRulerLength(layout.width); m_view->verticalRuler()->setRulerLength(layout.height); m_view->horizontalRuler()->setActiveRange(layout.left, layout.width - layout.right); m_view->verticalRuler()->setActiveRange(layout.top, layout.height - layout.bottom); m_view->zoomController()->setPageSize(size); m_view->zoomController()->setDocumentSize(size); m_canvas->update(); m_canvas->shapeManager()->setShapes( layer->childShapes() ); m_canvas->masterShapeManager()->setShapes(QList<KoShape*>()); KoSelection *selection = m_canvas->shapeManager()->selection(); selection->select(notes->textShape()); selection->setActiveLayer( layer ); QString tool = KoToolManager::instance()->preferredToolForSelection(selection->selectedShapes()); KoToolManager::instance()->switchToolRequested(tool); }
void TestPACopyPastePage::addShape( KoPAPageBase * page ) { KoPathShape * path = new KoPathShape(); path->lineTo( QPointF( 10, 0 ) ); path->lineTo( QPointF( 10, 10 ) ); path->setPosition( m_pos ); m_pos += QPointF( 1.0, 1.0 ); QList<KoShape*> shapes = page->shapes(); if ( !shapes.isEmpty() ) { KoShapeLayer* layer = dynamic_cast<KoShapeLayer*>( shapes.last() ); layer->addShape( path ); } }
void KPrPicturesImport::pictureImported(KJob *job) { KoShape *shape = m_factory->createDefaultShape(); if (shape) { KIO::StoredTransferJob *transferJob = qobject_cast<KIO::StoredTransferJob*>(job); Q_ASSERT(transferJob); KoImageData *imageData = m_doc->resourceManager()->imageCollection()->createImageData(transferJob->data()); if (imageData->isValid()) { shape->setUserData(imageData); // make sure the picture fits on the page QSizeF imageSize = imageData->imageSize(); QSizeF pageSize = m_masterPage->size(); qreal zoom = 1; if (imageSize.width() > pageSize.width() || imageSize.height() > pageSize.height()) { zoom = pageSize.width() / imageSize.width(); zoom = qMin(zoom, pageSize.height() / imageSize.height()); } imageSize *= zoom; shape->setSize(imageSize); // center the picture on the page QPointF pos( pageSize.width() / 2- imageSize.width() / 2, pageSize.height() / 2 - imageSize.height() / 2 ); shape->setPosition(pos); KoPAPageBase *page = m_doc->newPage(m_masterPage); KoShapeLayer *layer = dynamic_cast<KoShapeLayer *>(page->shapes().first()); if (layer) { layer->addShape(shape); new KoPAPageInsertCommand(m_doc, page, m_currentPage, m_cmd); m_currentPage = page; } else { delete page; delete shape; } } else { kWarning(33001) << "imageData not valid"; delete shape; } } else { kWarning(33001) << "shape not created"; } import(); }
void KoPAView::editSelectAll() { KoSelection* selection = kopaCanvas()->shapeManager()->selection(); if( !selection ) return; QList<KoShape*> shapes = activePage()->shapes(); foreach( KoShape *shape, shapes ) { KoShapeLayer *layer = dynamic_cast<KoShapeLayer *>( shape ); if ( layer ) { QList<KoShape*> layerShapes( layer->shapes() ); foreach( KoShape *layerShape, layerShapes ) { selection->select( layerShape ); layerShape->update(); } }