[kde-doc-english] [labplot/frameworks] /: Merge branch 'master' into frameworks

Garvit Khatri garvitdelhi at gmail.com
Mon Jan 4 12:34:24 UTC 2016


Git commit ace936ed5e3cad7050216a50b3117e5cb343e9dd by Garvit Khatri.
Committed on 04/01/2016 at 12:33.
Pushed by garvitkhatri into branch 'frameworks'.

Merge branch 'master' into frameworks

M  +23   -23   doc/index.docbook
R  +1    -1    org.kde.labplot.appdata.xml
M  +12   -6    src/backend/core/AspectTreeModel.cpp
M  +9    -3    src/backend/matrix/Matrix.cpp
M  +10   -18   src/backend/spreadsheet/SpreadsheetModel.cpp
M  +8    -0    src/backend/worksheet/plots/cartesian/CartesianPlot.cpp
M  +31   -24   src/commonfrontend/datapicker/DatapickerImageView.cpp
M  +9    -1    src/commonfrontend/spreadsheet/SpreadsheetView.cpp
M  +9    -11   src/commonfrontend/worksheet/WorksheetView.cpp
M  +4    -1    src/kdefrontend/MainWin.cpp
M  +5    -4    src/kdefrontend/widgets/ImageWidget.cpp

http://commits.kde.org/labplot/ace936ed5e3cad7050216a50b3117e5cb343e9dd

diff --cc src/commonfrontend/datapicker/DatapickerImageView.cpp
index d24210e,c70389f..05757bb
--- a/src/commonfrontend/datapicker/DatapickerImageView.cpp
+++ b/src/commonfrontend/datapicker/DatapickerImageView.cpp
@@@ -457,25 -461,34 +461,36 @@@ void DatapickerImageView::mouseMoveEven
  	if ( magnificationFactor && m_mouseMode == SelectAndEditMode && m_image->isLoaded && sceneRect().contains(pos)
  	        && m_image->plotPointsType() != DatapickerImage::SegmentPoints ) {
  
 -		if (!m_image->m_magnificationWindow) {
 -			m_image->m_magnificationWindow = new QGraphicsPixmapItem(0, scene());
 +        if (!m_image->m_magnificationWindow) {
 +//            m_image->m_magnificationWindow = new QGraphicsPixmapItem(0, scene());
 +            m_image->m_magnificationWindow = new QGraphicsPixmapItem;
 +            scene()->addItem(m_image->m_magnificationWindow);
- 			m_image->m_magnificationWindow->setZValue(-1);
+ 			m_image->m_magnificationWindow->setZValue(std::numeric_limits<int>::max());
  		}
  
- 		int size = 200/transform().m11();
- 		QImage imageSection = m_image->originalPlotImage.scaled(scene()->width(), scene()->height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
- 		imageSection = imageSection.copy(pos.x() - size/2, pos.y() - size/2, size, size);
- 		imageSection = imageSection.scaled(size*magnificationFactor, size*magnificationFactor, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
- 		imageSection = imageSection.copy(imageSection.width()/2 - size/2, imageSection.height()/2 - size/2, size, size);
- 		QPainter painter(&imageSection);
- 		painter.setPen(QPen(Qt::lightGray, 2/transform().m11()));
- 		painter.drawRect(imageSection.rect());
+ 		m_image->m_magnificationWindow->setVisible(false);
+ 
+ 		//copy the part of the view to be shown magnified
+ 		int size = Worksheet::convertToSceneUnits(2.0, Worksheet::Centimeter)/transform().m11();
+ 		QRectF copyRect(pos.x() - size/2, pos.y() - size/2, size, size);
+ 		QPixmap px = QPixmap::grabWidget(this, mapFromScene(copyRect).boundingRect());
+ 		px = px.scaled(size*magnificationFactor, size*magnificationFactor, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
+ 		px = px.copy(px.width()/2 - size/2, px.height()/2 - size/2, size, size);
+ 
+ 		//draw the bounding rect
+ 		QPainter painter(&px);
+ 		QPen pen = QPen(Qt::lightGray, 2/transform().m11());
+ 		painter.setPen(pen);
+ 		QRect rect = px.rect();
+ 		rect.setWidth(rect.width()-pen.widthF()/2);
+ 		rect.setHeight(rect.height()-pen.widthF()/2);
+ 		painter.drawRect(rect);
+ 
+ 		//set the pixmap
+ 		m_image->m_magnificationWindow->setPixmap(px);
+ 		m_image->m_magnificationWindow->setPos(pos.x()- px.width()/2, pos.y()- px.height()/2);
  
  		m_image->m_magnificationWindow->setVisible(true);
- 		m_image->m_magnificationWindow->setPixmap(QPixmap::fromImage(imageSection));
- 		m_image->m_magnificationWindow->setPos(pos.x()- imageSection.width()/2, pos.y()- imageSection.height()/2);
  	} else if (m_image->m_magnificationWindow) {
  		m_image->m_magnificationWindow->setVisible(false);
  	}
diff --cc src/commonfrontend/worksheet/WorksheetView.cpp
index d2c7086,24f44a0..7f9015a
--- a/src/commonfrontend/worksheet/WorksheetView.cpp
+++ b/src/commonfrontend/worksheet/WorksheetView.cpp
@@@ -59,58 -59,56 +59,56 @@@
    Creates a view for the Worksheet \c worksheet and initializes the internal model.
  */
  WorksheetView::WorksheetView(Worksheet* worksheet) : QGraphicsView(),
 -	m_worksheet(worksheet),
 -	m_mouseMode(SelectionMode),
 -	m_cartesianPlotActionMode(ApplyActionToSelection),
 -	m_cartesianPlotMouseMode(CartesianPlot::SelectionMode),
 -	m_selectionBandIsShown(false),
 -	m_suppressSelectionChangedEvent(false),
 -	lastAddedWorksheetElement(0),
 -	m_fadeInTimeLine(0),
 -	m_fadeOutTimeLine(0),
 -	tbNewCartesianPlot(0),
 -	tbZoom(0) {
 -
 -	setScene(m_worksheet->scene());
 -
 -	setRenderHint(QPainter::Antialiasing);
 -	setRubberBandSelectionMode(Qt::ContainsItemBoundingRect);
 -	setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
 -	setResizeAnchor(QGraphicsView::AnchorViewCenter);
 -	setMinimumSize(16, 16);
 -	setFocusPolicy(Qt::StrongFocus);
 -
 -	if (m_worksheet->useViewSize()) {
 -		setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 -		setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 -	}
 +    m_worksheet(worksheet),
 +    m_mouseMode(SelectionMode),
 +    m_cartesianPlotActionMode(ApplyActionToSelection),
 +    m_cartesianPlotMouseMode(CartesianPlot::SelectionMode),
 +    m_selectionBandIsShown(false),
 +    m_suppressSelectionChangedEvent(false),
 +    lastAddedWorksheetElement(0),
 +    m_fadeInTimeLine(0),
 +    m_fadeOutTimeLine(0),
 +    tbNewCartesianPlot(0),
 +    tbZoom(0) {
 +
 +    setScene(m_worksheet->scene());
 +
 +    setRenderHint(QPainter::Antialiasing);
 +    setRubberBandSelectionMode(Qt::ContainsItemBoundingRect);
 +    setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
 +    setResizeAnchor(QGraphicsView::AnchorViewCenter);
 +    setMinimumSize(16, 16);
 +    setFocusPolicy(Qt::StrongFocus);
 +
 +    if (m_worksheet->useViewSize()) {
 +        setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 +        setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 +    }
  
 -	viewport()->setAttribute( Qt::WA_OpaquePaintEvent );
 -	viewport()->setAttribute( Qt::WA_NoSystemBackground );
 +    viewport()->setAttribute( Qt::WA_OpaquePaintEvent );
 +    viewport()->setAttribute( Qt::WA_NoSystemBackground );
  // 	setAcceptDrops( true );
 -	setCacheMode(QGraphicsView::CacheBackground);
 +    setCacheMode(QGraphicsView::CacheBackground);
  
 -	m_gridSettings.style = WorksheetView::NoGrid;
 +    m_gridSettings.style = WorksheetView::NoGrid;
  
 -	initActions();
 -	initMenus();
 -	selectionModeAction->setChecked(true);
 -	handleCartesianPlotActions();
 +    initActions();
 +    initMenus();
 +    selectionModeAction->setChecked(true);
 +    handleCartesianPlotActions();
  
 -	changeZoom(zoomOriginAction);
 -	currentZoomAction=zoomInViewAction;
 +    changeZoom(zoomOriginAction);
 +    currentZoomAction=zoomInViewAction;
  
-     //signal/slot connections
-     connect(m_worksheet, SIGNAL(requestProjectContextMenu(QMenu*)), this, SLOT(createContextMenu(QMenu*)));
-     connect(m_worksheet, SIGNAL(itemSelected(QGraphicsItem*)), this, SLOT(selectItem(QGraphicsItem*)) );
-     connect(m_worksheet, SIGNAL(itemDeselected(QGraphicsItem*)), this, SLOT(deselectItem(QGraphicsItem*)) );
-     connect(m_worksheet, SIGNAL(itemSelected(QGraphicsItem*)), this, SLOT(selectItem(QGraphicsItem*)) );
-     connect(m_worksheet, SIGNAL(itemDeselected(QGraphicsItem*)), this, SLOT(deselectItem(QGraphicsItem*)) );
-     connect(m_worksheet, SIGNAL(requestUpdate()), this, SLOT(updateBackground()) );
-     connect(m_worksheet, SIGNAL(aspectAboutToBeRemoved(const AbstractAspect*)), this, SLOT(aspectAboutToBeRemoved(const AbstractAspect*)));
-     connect(m_worksheet, SIGNAL(useViewSizeRequested()), this, SLOT(useViewSizeRequested()) );
-     connect(m_worksheet, SIGNAL(layoutChanged(Worksheet::Layout)), this, SLOT(layoutChanged(Worksheet::Layout)) );
-     connect(scene(), SIGNAL(selectionChanged()), this, SLOT(selectionChanged()) );
+ 	//signal/slot connections
+ 	connect(m_worksheet, SIGNAL(requestProjectContextMenu(QMenu*)), this, SLOT(createContextMenu(QMenu*)));
+ 	connect(m_worksheet, SIGNAL(itemSelected(QGraphicsItem*)), this, SLOT(selectItem(QGraphicsItem*)) );
+ 	connect(m_worksheet, SIGNAL(itemDeselected(QGraphicsItem*)), this, SLOT(deselectItem(QGraphicsItem*)) );
+ 	connect(m_worksheet, SIGNAL(requestUpdate()), this, SLOT(updateBackground()) );
+ 	connect(m_worksheet, SIGNAL(aspectAboutToBeRemoved(const AbstractAspect*)), this, SLOT(aspectAboutToBeRemoved(const AbstractAspect*)));
+ 	connect(m_worksheet, SIGNAL(useViewSizeRequested()), this, SLOT(useViewSizeRequested()) );
+ 	connect(m_worksheet, SIGNAL(layoutChanged(Worksheet::Layout)), this, SLOT(layoutChanged(Worksheet::Layout)) );
+ 	connect(scene(), SIGNAL(selectionChanged()), this, SLOT(selectionChanged()) );
  }
  
  void WorksheetView::initActions(){
diff --cc src/kdefrontend/MainWin.cpp
index 695cbce,68c4f84..984e625
--- a/src/kdefrontend/MainWin.cpp
+++ b/src/kdefrontend/MainWin.cpp
@@@ -153,13 -153,16 +153,16 @@@ void MainWin::initGUI(const QString& fi
  	setAttribute( Qt::WA_DeleteOnClose );
  
  	//make the status bar of a fixed size in order to avoid height changes when placing a ProgressBar there.
- 	statusBar()->setFixedHeight(statusBar()->height());
+ 	QFont font;
+ 	font.setFamily(font.defaultFamily());
+ 	QFontMetrics fm(font);
+ 	statusBar()->setFixedHeight(fm.height());
  
  	//load recently used projects
 -  	m_recentProjectsAction->loadEntries( KGlobal::config()->group("Recent Files") );
 +	m_recentProjectsAction->loadEntries( KSharedConfig::openConfig()->group("Recent Files") );
  
  	//set the view mode of the mdi area
 -	KConfigGroup group = KGlobal::config()->group("General");
 +	KConfigGroup group = KSharedConfig::openConfig()->group("General");
  	int viewMode = group.readEntry("ViewMode", 0);
  	if (viewMode == 1) {
  		m_mdiArea->setViewMode(QMdiArea::TabbedView);


More information about the kde-doc-english mailing list