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

Alexander Semke alexander.semke at web.de
Wed Mar 16 21:09:46 UTC 2016


Git commit cbe3b1dcf87f94536d981fc76fe68ee37305b2d9 by Alexander Semke.
Committed on 16/03/2016 at 21:09.
Pushed by asemke into branch 'frameworks'.

Merge branch 'master' into frameworks

M  +71   -81   doc/index.docbook
M  +2    -4    src/backend/matrix/Matrix.cpp
M  +8    -5    src/commonfrontend/datapicker/DatapickerImageView.cpp
M  +107  -96   src/commonfrontend/worksheet/WorksheetView.cpp
M  +1    -0    src/commonfrontend/worksheet/WorksheetView.h
M  +1    -1    src/kdefrontend/GuiTools.cpp
M  +205  -188  src/kdefrontend/MainWin.cpp
M  +40   -33   src/kdefrontend/MainWin.h
M  +1    -1    src/kdefrontend/SettingsDialog.cpp
M  +8    -8    src/kdefrontend/datasources/ImportFileDialog.cpp
M  +26   -27   src/kdefrontend/datasources/ImportFileDialog.h
M  +51   -50   src/kdefrontend/datasources/ImportFileWidget.cpp
M  +1    -1    src/kdefrontend/dockwidgets/AxisDock.cpp
M  +105  -104  src/kdefrontend/dockwidgets/CartesianPlotDock.cpp
M  +2    -0    src/kdefrontend/dockwidgets/CartesianPlotLegendDock.cpp
M  +1    -1    src/kdefrontend/dockwidgets/ColumnDock.cpp
M  +1    -1    src/kdefrontend/dockwidgets/MatrixDock.cpp
M  +1    -1    src/kdefrontend/dockwidgets/SpreadsheetDock.cpp
M  +1    -1    src/kdefrontend/dockwidgets/WorksheetDock.cpp
M  +7    -2    src/kdefrontend/dockwidgets/XYCurveDock.cpp
M  +6    -1    src/kdefrontend/dockwidgets/XYEquationCurveDock.cpp
M  +27   -18   src/kdefrontend/dockwidgets/XYFitCurveDock.cpp
M  +1    -0    src/kdefrontend/matrix/MatrixFunctionDialog.cpp
M  +1    -0    src/kdefrontend/spreadsheet/FunctionValuesDialog.cpp
M  +5    -5    src/kdefrontend/widgets/DatapickerImageWidget.cpp
M  +1    -1    src/kdefrontend/widgets/FitOptionsWidget.cpp
M  +1    -1    src/kdefrontend/widgets/FitParametersWidget.cpp
M  +2    -2    src/kdefrontend/widgets/LabelWidget.cpp

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

diff --cc src/commonfrontend/worksheet/WorksheetView.cpp
index 9a81408,69aabce..18877b2
--- a/src/commonfrontend/worksheet/WorksheetView.cpp
+++ b/src/commonfrontend/worksheet/WorksheetView.cpp
@@@ -73,36 -73,37 +73,37 @@@ WorksheetView::WorksheetView(Worksheet
  	m_fadeInTimeLine(0),
  	m_fadeOutTimeLine(0),
  	tbNewCartesianPlot(0),
- 	tbZoom(0) {
+     tbZoom(0),
+     tbMagnification(0) {
  
 -	setScene(m_worksheet->scene());
 +    setScene(m_worksheet->scene());
  
 -	setRenderHint(QPainter::Antialiasing);
 -	setRubberBandSelectionMode(Qt::ContainsItemBoundingRect);
 -	setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
 -	setResizeAnchor(QGraphicsView::AnchorViewCenter);
 -	setMinimumSize(16, 16);
 -	setFocusPolicy(Qt::StrongFocus);
 +    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);
 -	}
 +    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;
  
  	currentMagnificationAction = noMagnificationAction;
  
@@@ -526,41 -527,20 +527,20 @@@ void WorksheetView::setScene(QGraphicsS
  }
  
  void WorksheetView::drawForeground(QPainter* painter, const QRectF& rect) {
 -	if (m_mouseMode==ZoomSelectionMode && m_selectionBandIsShown) {
 -		painter->save();
 -		const QRectF& selRect = mapToScene(QRect(m_selectionStart, m_selectionEnd).normalized()).boundingRect();
 -		painter->setPen(QPen(Qt::black, 5/transform().m11()));
 -		painter->drawRect(selRect);
 -		painter->setBrush(Qt::blue);
 -		painter->setOpacity(0.2);
 -		painter->drawRect(selRect);
 -		painter->restore();
 -	}
 -	QGraphicsView::drawForeground(painter, rect);
 +    if (m_mouseMode==ZoomSelectionMode && m_selectionBandIsShown) {
 +        painter->save();
 +        const QRectF& selRect = mapToScene(QRect(m_selectionStart, m_selectionEnd).normalized()).boundingRect();
 +        painter->setPen(QPen(Qt::black, 5/transform().m11()));
 +        painter->drawRect(selRect);
 +        painter->setBrush(Qt::blue);
 +        painter->setOpacity(0.2);
 +        painter->drawRect(selRect);
 +        painter->restore();
 +    }
 +    QGraphicsView::drawForeground(painter, rect);
  }
  
- void WorksheetView::drawBackground(QPainter* painter, const QRectF& rect) {
-     painter->save();
- 
-     //painter->setRenderHint(QPainter::Antialiasing);
-     QRectF scene_rect = sceneRect();
- 
-     if (!m_worksheet->useViewSize()) {
-         // background
-         if (!scene_rect.contains(rect))
-             painter->fillRect(rect, Qt::lightGray);
- 
-         //shadow
-         int shadowSize = scene_rect.width()*0.02;
-         QRectF rightShadowRect(scene_rect.right(), scene_rect.top() + shadowSize,
-                                             shadowSize, scene_rect.height());
-         QRectF bottomShadowRect(scene_rect.left() + shadowSize, scene_rect.bottom(),
-                                             scene_rect.width(), shadowSize);
- 
-         painter->fillRect(rightShadowRect.intersected(rect), Qt::darkGray);
-         painter->fillRect(bottomShadowRect.intersected(rect), Qt::darkGray);
-     }
- 
+ void WorksheetView::drawBackgroundItems(QPainter* painter, const QRectF& scene_rect) {
  	// canvas
  	painter->setOpacity(m_worksheet->backgroundOpacity());
  	if (m_worksheet->backgroundType() == PlotArea::Color){
@@@ -643,51 -623,74 +623,74 @@@
  		painter->drawRect(scene_rect);
  	}
  
-   //grid
-     if (m_gridSettings.style != WorksheetView::NoGrid){
-         QColor c=m_gridSettings.color;
-         c.setAlphaF(m_gridSettings.opacity);
-         painter->setPen(c);
- 
-         qreal x, y;
-         qreal left = scene_rect.left();
-         qreal right = scene_rect.right();
-         qreal top = scene_rect.top();
-         qreal bottom = scene_rect.bottom();
- 
-         if (m_gridSettings.style==WorksheetView::LineGrid){
-             QLineF line;
- 
-             //horizontal lines
-             y = top + m_gridSettings.verticalSpacing;
-             while (y < bottom) {
-                 line.setLine( left, y,  right, y );
-                 painter->drawLine(line);
-                 y += m_gridSettings.verticalSpacing;
-             }
+ 	//grid
+ 	if (m_gridSettings.style != WorksheetView::NoGrid){
+ 		QColor c=m_gridSettings.color;
+  		c.setAlphaF(m_gridSettings.opacity);
+ 		painter->setPen(c);
+ 
+ 		qreal x, y;
+ 		qreal left = scene_rect.left();
+ 		qreal right = scene_rect.right();
+ 		qreal top = scene_rect.top();
+ 		qreal bottom = scene_rect.bottom();
+ 
+ 		if (m_gridSettings.style==WorksheetView::LineGrid){
+ 			QLineF line;
+ 
+ 			//horizontal lines
+ 			y = top + m_gridSettings.verticalSpacing;
+ 			while (y < bottom) {
+ 				line.setLine( left, y,  right, y );
+ 				painter->drawLine(line);
+ 				y += m_gridSettings.verticalSpacing;
+ 			}
  
-             //vertical lines
-             x = left + m_gridSettings.horizontalSpacing;
-             while (x < right) {
-                 line.setLine( x, top,  x, bottom );
-                 painter->drawLine(line);
-                 x += m_gridSettings.horizontalSpacing;
-             }
-         }else{ //DotGrid
-             y = top + m_gridSettings.verticalSpacing;
-             while (y < bottom){
-                 x = left;// + m_gridSettings.horizontalSpacing;
-                 while (x < right){
-                     x += m_gridSettings.horizontalSpacing;
-                     painter->drawPoint(x, y);
-                 }
-                 y += m_gridSettings.verticalSpacing;
-             }
-         }
-     }
+ 			//vertical lines
+ 			x = left + m_gridSettings.horizontalSpacing;
+ 			while (x < right) {
+ 				line.setLine( x, top,  x, bottom );
+ 				painter->drawLine(line);
+ 				x += m_gridSettings.horizontalSpacing;
+ 			}
+ 		}else{ //DotGrid
+ 			y = top + m_gridSettings.verticalSpacing;
+ 			while (y < bottom){
+ 				x = left;// + m_gridSettings.horizontalSpacing;
+ 				while (x < right){
+ 					x += m_gridSettings.horizontalSpacing;
+ 					painter->drawPoint(x, y);
+ 				}
+ 				y += m_gridSettings.verticalSpacing;
+ 			}
+ 		}
+ 	}
+ }
+ 
+ void WorksheetView::drawBackground(QPainter* painter, const QRectF& rect) {
+ 	painter->save();
+ 
+ 	//painter->setRenderHint(QPainter::Antialiasing);
+ 	QRectF scene_rect = sceneRect();
+ 
+ 	if (!m_worksheet->useViewSize()) {
+ 		// background
+ 		if (!scene_rect.contains(rect))
+ 			painter->fillRect(rect, Qt::lightGray);
+ 
+ 		//shadow
+ 		int shadowSize = scene_rect.width()*0.02;
+ 		QRectF rightShadowRect(scene_rect.right(), scene_rect.top() + shadowSize, shadowSize, scene_rect.height());
+ 		QRectF bottomShadowRect(scene_rect.left() + shadowSize, scene_rect.bottom(), scene_rect.width(), shadowSize);
+ 
+ 		painter->fillRect(rightShadowRect.intersected(rect), Qt::darkGray);
+ 		painter->fillRect(bottomShadowRect.intersected(rect), Qt::darkGray);
+ 	}
+ 
+ 	drawBackgroundItems(painter, scene_rect);
  
 -	invalidateScene(rect, QGraphicsScene::BackgroundLayer);
 -	painter->restore();
 +    invalidateScene(rect, QGraphicsScene::BackgroundLayer);
 +    painter->restore();
  }
  
  //##############################################################################
@@@ -1236,120 -1238,119 +1239,119 @@@ void WorksheetView::selectionChanged()
  
  //check whether we have cartesian plots selected and activate/deactivate
  void WorksheetView::handleCartesianPlotActions() {
 -	bool plot = false;
 -	if (m_cartesianPlotActionMode == ApplyActionToSelection) {
 -		//check whether we have cartesian plots selected
 -		foreach (QGraphicsItem* item , m_selectedItems) {
 -			if (item->data(0).toInt() == WorksheetElement::NameCartesianPlot) {
 -				plot = true;
 -				break;
 -			}
 -		}
 -	} else {
 -		//actions are applied to all available plots -> check whether we have plots
 -		plot = (m_worksheet->children<CartesianPlot>().size() != 0);
 -	}
 +    bool plot = false;
 +    if (m_cartesianPlotActionMode == ApplyActionToSelection) {
 +        //check whether we have cartesian plots selected
 +        foreach (QGraphicsItem* item , m_selectedItems) {
 +            if (item->data(0).toInt() == WorksheetElement::NameCartesianPlot) {
 +                plot = true;
 +                break;
 +            }
 +        }
 +    } else {
 +        //actions are applied to all available plots -> check whether we have plots
 +        plot = (m_worksheet->children<CartesianPlot>().size() != 0);
 +    }
  
 -	cartesianPlotSelectionModeAction->setEnabled(plot);
 -	cartesianPlotZoomSelectionModeAction->setEnabled(plot);
 -	cartesianPlotZoomXSelectionModeAction->setEnabled(plot);
 -	cartesianPlotZoomYSelectionModeAction->setEnabled(plot);
 -
 -	addCurveAction->setEnabled(plot);
 -	addEquationCurveAction->setEnabled(plot);
 -	addFitCurveAction->setEnabled(plot);
 -	addHorizontalAxisAction->setEnabled(plot);
 -	addVerticalAxisAction->setEnabled(plot);
 -	addLegendAction->setEnabled(plot);
 -
 -	scaleAutoXAction->setEnabled(plot);
 -	scaleAutoYAction->setEnabled(plot);
 -	scaleAutoAction->setEnabled(plot);
 -	zoomInAction->setEnabled(plot);
 -	zoomOutAction->setEnabled(plot);
 -	zoomInXAction->setEnabled(plot);
 -	zoomOutXAction->setEnabled(plot);
 -	zoomInYAction->setEnabled(plot);
 -	zoomOutYAction->setEnabled(plot);
 -	shiftLeftXAction->setEnabled(plot);
 -	shiftRightXAction->setEnabled(plot);
 -	shiftUpYAction->setEnabled(plot);
 -	shiftDownYAction->setEnabled(plot);
 +    cartesianPlotSelectionModeAction->setEnabled(plot);
 +    cartesianPlotZoomSelectionModeAction->setEnabled(plot);
 +    cartesianPlotZoomXSelectionModeAction->setEnabled(plot);
 +    cartesianPlotZoomYSelectionModeAction->setEnabled(plot);
 +
 +    addCurveAction->setEnabled(plot);
 +    addEquationCurveAction->setEnabled(plot);
 +    addFitCurveAction->setEnabled(plot);
 +    addHorizontalAxisAction->setEnabled(plot);
 +    addVerticalAxisAction->setEnabled(plot);
 +    addLegendAction->setEnabled(plot);
 +
 +    scaleAutoXAction->setEnabled(plot);
 +    scaleAutoYAction->setEnabled(plot);
 +    scaleAutoAction->setEnabled(plot);
 +    zoomInAction->setEnabled(plot);
 +    zoomOutAction->setEnabled(plot);
 +    zoomInXAction->setEnabled(plot);
 +    zoomOutXAction->setEnabled(plot);
 +    zoomInYAction->setEnabled(plot);
 +    zoomOutYAction->setEnabled(plot);
 +    shiftLeftXAction->setEnabled(plot);
 +    shiftRightXAction->setEnabled(plot);
 +    shiftUpYAction->setEnabled(plot);
 +    shiftDownYAction->setEnabled(plot);
  }
  
- void WorksheetView::exportToFile(const QString& path, const ExportFormat format,
-                                  const ExportArea area, const bool background, const int resolution) {
-     QRectF sourceRect;
- 
-     //determine the rectangular to print
-     if (area==WorksheetView::ExportBoundingBox){
-         sourceRect = scene()->itemsBoundingRect();
-     }else if (area==WorksheetView::ExportSelection){
-         //TODO doesn't work: rect = scene()->selectionArea().boundingRect();
-         foreach(QGraphicsItem* item, m_selectedItems) {
-             sourceRect = sourceRect.united( item->mapToScene(item->boundingRect()).boundingRect() );
-         }
-     }else{
-         sourceRect = scene()->sceneRect();
-     }
+ void WorksheetView::exportToFile(const QString& path, const ExportFormat format, const ExportArea area, const bool background, const int resolution) {
+ 	QRectF sourceRect;
+ 
+ 	//determine the rectangular to print
+ 	if (area==WorksheetView::ExportBoundingBox){
+ 		sourceRect = scene()->itemsBoundingRect();
+ 	}else if (area==WorksheetView::ExportSelection){
+ 		//TODO doesn't work: rect = scene()->selectionArea().boundingRect();
+ 		foreach(QGraphicsItem* item, m_selectedItems) {
+ 			sourceRect = sourceRect.united( item->mapToScene(item->boundingRect()).boundingRect() );
+ 		}
+ 	}else{
+ 		sourceRect = scene()->sceneRect();
+ 	}
  
 -	//print
 -	if (format==WorksheetView::Pdf || format==WorksheetView::Eps){
 -		QPrinter printer(QPrinter::HighResolution);
 -		if (format==WorksheetView::Pdf)
 -			printer.setOutputFormat(QPrinter::PdfFormat);
 -		else
 -			printer.setOutputFormat(QPrinter::PostScriptFormat);
 -
 -		printer.setOutputFileName(path);
 -		int w = Worksheet::convertFromSceneUnits(sourceRect.width(), Worksheet::Millimeter);
 -		int h = Worksheet::convertFromSceneUnits(sourceRect.height(), Worksheet::Millimeter);
 -		printer.setPaperSize( QSizeF(w, h), QPrinter::Millimeter);
 -		printer.setPageMargins(0,0,0,0, QPrinter::Millimeter);
 -		printer.setPrintRange(QPrinter::PageRange);
 -		printer.setCreator( QString("LabPlot ") + LVERSION );
 -
 -		QPainter painter(&printer);
 -		painter.setRenderHint(QPainter::Antialiasing);
 -		QRectF targetRect(0, 0, painter.device()->width(),painter.device()->height());
 -		painter.begin(&printer);
 -		exportPaint(&painter, targetRect, sourceRect, background);
 -		painter.end();
 -	}else if (format==WorksheetView::Svg){
 -		QSvgGenerator generator;
 -		generator.setFileName(path);
 -		int w = Worksheet::convertFromSceneUnits(sourceRect.width(), Worksheet::Millimeter);
 -		int h = Worksheet::convertFromSceneUnits(sourceRect.height(), Worksheet::Millimeter);
 -		w = w*QApplication::desktop()->physicalDpiX()/25.4;
 -		h = h*QApplication::desktop()->physicalDpiY()/25.4;
 -
 -		generator.setSize(QSize(w, h));
 -		QRectF targetRect(0, 0, w, h);
 -		generator.setViewBox(targetRect);
 -
 -		QPainter painter;
 -		painter.begin(&generator);
 -		exportPaint(&painter, targetRect, sourceRect, background);
 -		painter.end();
 -	}else{
 -		//PNG
 -		//TODO add all formats supported by Qt in QImage
 -		int w = Worksheet::convertFromSceneUnits(sourceRect.width(), Worksheet::Millimeter);
 -		int h = Worksheet::convertFromSceneUnits(sourceRect.height(), Worksheet::Millimeter);
 -		w = w*resolution/25.4;
 -		h = h*resolution/25.4;
 -		QImage image(QSize(w, h), QImage::Format_ARGB32_Premultiplied);
 -		image.fill(Qt::transparent);
 -		QRectF targetRect(0, 0, w, h);
 -
 -		QPainter painter;
 -		painter.begin(&image);
 -		painter.setRenderHint(QPainter::Antialiasing);
 -		exportPaint(&painter, targetRect, sourceRect, background);
 -		painter.end();
 -
 -		image.save(path, "png");
 -	}
 +    //print
 +    if (format==WorksheetView::Pdf || format==WorksheetView::Eps){
 +        QPrinter printer(QPrinter::HighResolution);
 +        if (format==WorksheetView::Pdf)
 +            printer.setOutputFormat(QPrinter::PdfFormat);
 +        else
 +//            printer.setOutputFormat(QPrinter::PostScriptFormat);
 +
 +        printer.setOutputFileName(path);
 +        int w = Worksheet::convertFromSceneUnits(sourceRect.width(), Worksheet::Millimeter);
 +        int h = Worksheet::convertFromSceneUnits(sourceRect.height(), Worksheet::Millimeter);
 +        printer.setPaperSize( QSizeF(w, h), QPrinter::Millimeter);
 +        printer.setPageMargins(0,0,0,0, QPrinter::Millimeter);
 +        printer.setPrintRange(QPrinter::PageRange);
 +        printer.setCreator( QString("LabPlot ") + LVERSION );
 +
 +        QPainter painter(&printer);
 +        painter.setRenderHint(QPainter::Antialiasing);
 +        QRectF targetRect(0, 0, painter.device()->width(),painter.device()->height());
 +        painter.begin(&printer);
 +        exportPaint(&painter, targetRect, sourceRect, background);
 +        painter.end();
 +    }else if (format==WorksheetView::Svg){
 +        QSvgGenerator generator;
 +        generator.setFileName(path);
 +        int w = Worksheet::convertFromSceneUnits(sourceRect.width(), Worksheet::Millimeter);
 +        int h = Worksheet::convertFromSceneUnits(sourceRect.height(), Worksheet::Millimeter);
 +        w = w*QApplication::desktop()->physicalDpiX()/25.4;
 +        h = h*QApplication::desktop()->physicalDpiY()/25.4;
 +
 +        generator.setSize(QSize(w, h));
 +        QRectF targetRect(0, 0, w, h);
 +        generator.setViewBox(targetRect);
 +
 +        QPainter painter;
 +        painter.begin(&generator);
 +        exportPaint(&painter, targetRect, sourceRect, background);
 +        painter.end();
 +    }else{
 +        //PNG
 +        //TODO add all formats supported by Qt in QImage
 +        int w = Worksheet::convertFromSceneUnits(sourceRect.width(), Worksheet::Millimeter);
 +        int h = Worksheet::convertFromSceneUnits(sourceRect.height(), Worksheet::Millimeter);
 +        w = w*resolution/25.4;
 +        h = h*resolution/25.4;
 +        QImage image(QSize(w, h), QImage::Format_ARGB32_Premultiplied);
 +        image.fill(Qt::transparent);
 +        QRectF targetRect(0, 0, w, h);
 +
 +        QPainter painter;
 +        painter.begin(&image);
 +        painter.setRenderHint(QPainter::Antialiasing);
 +        exportPaint(&painter, targetRect, sourceRect, background);
 +        painter.end();
 +
 +        image.save(path, "png");
 +    }
  }
  
  void WorksheetView::exportPaint(QPainter* painter, const QRectF& targetRect, const QRectF& sourceRect, const bool background) {
diff --cc src/kdefrontend/MainWin.cpp
index 7b7651c,b3c23c1..37dfc20
--- a/src/kdefrontend/MainWin.cpp
+++ b/src/kdefrontend/MainWin.cpp
@@@ -58,7 -58,6 +58,8 @@@
  #include <QStackedWidget>
  #include <QUndoStack>
  #include <QCloseEvent>
 +#include <QFileDialog>
++#include <QMimeData>
  #include <QElapsedTimer>
  #include <QDebug>
  
@@@ -69,15 -69,15 +70,15 @@@
  #include <KMessageBox>
  #include <KToolBar>
  #include <KStatusBar>
 -#include <KLocale>
 +#include <KLocalizedString>
  #include <KFilterDev>
  
-  /*!
- 	\class MainWin
- 	\brief Main application window.
+ /*!
+ \class MainWin
+ \brief Main application window.
  
- 	\ingroup kdefrontend
-  */
+ \ingroup kdefrontend
+ */
  
  MainWin::MainWin(QWidget *parent, const QString& filename)
  	: KXmlGuiWindow(parent),
@@@ -120,9 -121,9 +122,9 @@@ MainWin::~MainWin() 
  // 	qDebug()<<"SAVED m_recentProjectsAction->urls()="<<m_recentProjectsAction->urls()<<endl;
  	//etc...
  
 -	KGlobal::config()->sync();
 +	KSharedConfig::openConfig()->sync();
  
- 	if (m_project!=0){
+ 	if (m_project!=0) {
  		m_mdiArea->closeAllSubWindows();
  		disconnect(m_project, 0, this, 0);
  		delete m_aspectTreeModel;
@@@ -151,13 -152,13 +153,13 @@@ void MainWin::initGUI(const QString& fi
  	QFont font;
  	font.setFamily(font.defaultFamily());
  	QFontMetrics fm(font);
- 	statusBar()->setFixedHeight(fm.height());
+ 	statusBar()->setFixedHeight(fm.height()+5);
  
  	//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);
@@@ -216,11 -218,11 +218,12 @@@ void MainWin::initActions() 
  	actionCollection()->addAction("new_workbook", m_newWorkbookAction);
  	connect(m_newWorkbookAction, SIGNAL(triggered()),SLOT(newWorkbook()));
  
-         m_newDatapickerAction = new QAction(QIcon::fromTheme("color-picker-black"), i18n("Datapicker"), this);
-         actionCollection()->addAction("new_datapicker", m_newDatapickerAction);
-         connect(m_newDatapickerAction, SIGNAL(triggered()),SLOT(newDatapicker()));
-         
 -	m_newDatapickerAction = new KAction(KIcon("color-picker-black"),i18n("Datapicker"),this);
++	m_newDatapickerAction = new QAction(QIcon::fromTheme("color-picker-black"), i18n("Datapicker"), this);
+ 	actionCollection()->addAction("new_datapicker", m_newDatapickerAction);
+ 	connect(m_newDatapickerAction, SIGNAL(triggered()),SLOT(newDatapicker()));
+ 
 -	m_newSpreadsheetAction = new KAction(KIcon("labplot-spreadsheet-new"),i18n("Spreadsheet"),this);
 +	m_newSpreadsheetAction = new QAction(QIcon::fromTheme("labplot-spreadsheet-new"),i18n("Spreadsheet"),this);
++
  // 	m_newSpreadsheetAction->setShortcut(Qt::CTRL+Qt::Key_Equal);
  	actionCollection()->addAction("new_spreadsheet", m_newSpreadsheetAction);
  	connect(m_newSpreadsheetAction, SIGNAL(triggered()),SLOT(newSpreadsheet()));
@@@ -347,10 -350,10 +350,10 @@@
  	connect(docksActions, SIGNAL(triggered(QAction*)), this, SLOT(toggleDockWidget(QAction*)));
  }
  
- void MainWin::initMenus(){
+ void MainWin::initMenus() {
  	//menu for adding new aspects
  	m_newMenu = new QMenu(i18n("Add new"));
 -	m_newMenu->setIcon(KIcon("document-new"));
 +	m_newMenu->setIcon(QIcon::fromTheme("document-new"));
  	m_newMenu->addAction(m_newFolderAction);
  	m_newMenu->addAction(m_newWorkbookAction);
  	m_newMenu->addAction(m_newSpreadsheetAction);
@@@ -569,27 -572,27 +572,27 @@@ void MainWin::updateGUI() 
  		factory->container("matrix", this)->setEnabled(false);
  	}
  
-     const Datapicker* datapicker = this->activeDatapicker();
-     if (datapicker){
-         factory->container("datapicker", this)->setEnabled(true);
-         //populate datapicker-menu
-         DatapickerView* view=qobject_cast<DatapickerView*>(datapicker->view());
-         QMenu* menu=qobject_cast<QMenu*>(factory->container("datapicker", this));
-         menu->clear();
-         view->createContextMenu(menu);
- 
-         //populate spreadsheet-toolbar
-         QToolBar* toolbar=qobject_cast<QToolBar*>(factory->container("datapicker_toolbar", this));
-         if (group.groupList().indexOf("Toolbar datapicker_toolbar")==-1)
-             toolbar->setToolButtonStyle(Qt::ToolButtonFollowStyle);
- 
-         toolbar->setVisible(true);
-         toolbar->clear();
-         view->fillToolBar(toolbar);
-     }else{
-         factory->container("datapicker", this)->setEnabled(false);
-         factory->container("datapicker_toolbar", this)->setVisible(false);
-     }
+ 	const Datapicker* datapicker = this->activeDatapicker();
+ 	if (datapicker) {
+ 		factory->container("datapicker", this)->setEnabled(true);
+ 		//populate datapicker-menu
+ 		DatapickerView* view=qobject_cast<DatapickerView*>(datapicker->view());
+ 		QMenu* menu=qobject_cast<QMenu*>(factory->container("datapicker", this));
+ 		menu->clear();
+ 		view->createContextMenu(menu);
+ 
+ 		//populate spreadsheet-toolbar
+ 		QToolBar* toolbar=qobject_cast<QToolBar*>(factory->container("datapicker_toolbar", this));
+ 		if (group.groupList().indexOf("Toolbar datapicker_toolbar")==-1)
 -			toolbar->setToolButtonStyle(KToolBar::toolButtonStyleSetting());
++			toolbar->setToolButtonStyle(Qt::ToolButtonFollowStyle);
+ 
+ 		toolbar->setVisible(true);
+ 		toolbar->clear();
+ 		view->fillToolBar(toolbar);
+ 	} else {
+ 		factory->container("datapicker", this)->setEnabled(false);
+ 		factory->container("datapicker_toolbar", this)->setVisible(false);
+ 	}
  }
  
  /*!
@@@ -679,11 -682,10 +682,11 @@@ bool MainWin::newProject() 
  	return true;
  }
  
- void MainWin::openProject(){
+ void MainWin::openProject() {
  	KConfigGroup conf(KSharedConfig::openConfig(), "MainWin");
  	QString dir = conf.readEntry("LastOpenDir", "");
 -	QString path = KFileDialog::getOpenFileName(KUrl(dir),i18n("LabPlot Projects (*.lml *.lml.gz *.lml.bz2 *.LML *.LML.GZ *.LML.BZ2)"),this, i18n("Open project"));
 +	QString path = QFileDialog::getOpenFileName(this,i18n("Open project"), dir,
- 			i18n("LabPlot Projects (*.lml *.lml.gz *.lml.bz2 *.LML *.LML.GZ *.LML.BZ2)"));
++	               i18n("LabPlot Projects (*.lml *.lml.gz *.lml.bz2 *.LML *.LML.GZ *.LML.BZ2)"));
  
  	if (!path.isEmpty()) {
  		this->openProject(path);
@@@ -828,8 -830,11 +831,10 @@@ bool MainWin::saveProject() 
  }
  
  bool MainWin::saveProjectAs() {
- 	QString fileName = QFileDialog::getSaveFileName(this, i18n("Save project as"),QString::null,
- 		i18n("LabPlot Projects (*.lml *.lml.gz *.lml.bz2 *.LML *.LML.GZ *.LML.BZ2)"));
+ 	KConfigGroup conf(KSharedConfig::openConfig(), "MainWin");
+ 	QString dir = conf.readEntry("LastOpenDir", "");
 -	QString fileName = KFileDialog::getSaveFileName(KUrl(dir),
 -	                   i18n("LabPlot Projects (*.lml *.lml.gz *.lml.bz2 *.LML *.LML.GZ *.LML.BZ2)"),
 -	                   this, i18n("Save project as"));
++	QString fileName = QFileDialog::getSaveFileName(this, i18n("Save project as"), dir,
++	                   i18n("LabPlot Projects (*.lml *.lml.gz *.lml.bz2 *.LML *.LML.GZ *.LML.BZ2)"));
  
  	if( fileName.isEmpty() )// "Cancel" was clicked
  		return false;
@@@ -1171,10 -1176,10 +1176,10 @@@ void MainWin::handleAspectAboutToBeRemo
  }
  
  /*!
 -  called when the current aspect in the tree of the project explorer was changed.
 -  Selects the new aspect.
 +	called when the current aspect in the tree of the project explorer was changed.
 +	Selects the new aspect.
  */
- void MainWin::handleCurrentAspectChanged(AbstractAspect *aspect){
+ void MainWin::handleCurrentAspectChanged(AbstractAspect *aspect) {
  	if (!aspect)
  		aspect = m_project; // should never happen, just in case
  
@@@ -1368,8 -1373,20 +1373,20 @@@ void MainWin::closeEvent(QCloseEvent* e
  	}
  }
  
+ void MainWin::dragEnterEvent(QDragEnterEvent* event) {
+ 	event->accept();
+ }
+ 
+ void MainWin::dropEvent(QDropEvent* event) {
+ 	if (!m_project)
+ 		newProject();
+ 
+ 	QUrl url = event->mimeData()->urls().at(0);
+ 	importFileDialog(url.toLocalFile());
+ }
+ 
  void MainWin::handleSettingsChanges() {
 -	const KConfigGroup group = KGlobal::config()->group( "General" );
 +	const KConfigGroup group = KSharedConfig::openConfig()->group( "General" );
  
  	QMdiArea::ViewMode viewMode = QMdiArea::ViewMode(group.readEntry("ViewMode", 0));
  	if (m_mdiArea->viewMode() != viewMode) {
@@@ -1431,10 -1448,10 +1448,10 @@@ void MainWin::historyDialog() 
  }
  
  /*!
 -  Opens the dialog to import data to the selected workbook, spreadsheet or matrix
 +	Opens the dialog to import data to the selected workbook, spreadsheet or matrix
  */
- void MainWin::importFileDialog(){
- 	m_importFileDialog = new ImportFileDialog(this);
+ void MainWin::importFileDialog(const QString& fileName) {
+ 	m_importFileDialog = new ImportFileDialog(this, false, fileName);
  
  	if ( m_currentAspect->inherits("Spreadsheet") || m_currentAspect->inherits("Matrix") || m_currentAspect->inherits("Workbook") ) {
  		m_importFileDialog->setCurrentIndex( m_projectExplorer->currentIndex());
@@@ -1479,9 -1496,9 +1496,9 @@@ void MainWin::newFileDataSourceActionTr
  }
  
  /*!
 -  adds a new SQL data source to the current project.
 +	adds a new SQL data source to the current project.
  */
- void MainWin::newSqlDataSourceActionTriggered(){
+ void MainWin::newSqlDataSourceActionTriggered() {
  	//TODO
  }
  
diff --cc src/kdefrontend/MainWin.h
index 08b1988,eb0801d..2cbcab5
--- a/src/kdefrontend/MainWin.h
+++ b/src/kdefrontend/MainWin.h
@@@ -94,55 -96,54 +96,55 @@@ private
  	Qt::WindowStates m_lastWindowState; //< last window state before switching to full screen mode
  
  	KRecentFilesAction* m_recentProjectsAction;
 -	KAction* m_saveAction;
 -	KAction* m_saveAsAction;
 -	KAction* m_printAction;
 -	KAction* m_printPreviewAction;
 -	KAction* m_importAction;
 -	KAction* m_exportAction;
 -	KAction* m_closeAction;
 -	KAction* m_newFolderAction;
 -	KAction* m_newWorkbookAction;
 -	KAction* m_newSpreadsheetAction;
 -	KAction* m_newMatrixAction;
 -	KAction* m_newWorksheetAction;
 -	KAction* m_newFileDataSourceAction;
 -	KAction* m_newSqlDataSourceAction;
 -	KAction* m_newScriptAction;
 -	KAction* m_newProjectAction;
 -	KAction* m_historyAction;
 -	KAction* m_undoAction;
 -	KAction* m_redoAction;
 -	KAction* m_tileWindows;
 -	KAction* m_cascadeWindows;
 -	KAction* m_newDatapickerAction;
 -
 +	QAction* m_saveAction;
 +	QAction* m_saveAsAction;
 +	QAction* m_printAction;
 +	QAction* m_printPreviewAction;
 +	QAction* m_importAction;
 +	QAction* m_exportAction;
 +	QAction* m_closeAction;
 +	QAction* m_newFolderAction;
 +	QAction* m_newWorkbookAction;
 +	QAction* m_newSpreadsheetAction;
 +	QAction* m_newMatrixAction;
 +	QAction* m_newWorksheetAction;
 +	QAction* m_newFileDataSourceAction;
 +	QAction* m_newSqlDataSourceAction;
 +	QAction* m_newScriptAction;
 +	QAction* m_newProjectAction;
 +	QAction* m_historyAction;
 +	QAction* m_undoAction;
 +	QAction* m_redoAction;
 +	QAction* m_tileWindows;
 +	QAction* m_cascadeWindows;
-         QAction* m_newDatapickerAction;
++	QAction* m_newDatapickerAction;
  
  	//toggling doch widgets
-     QAction* m_toggleProjectExplorerDocQAction;
-     QAction* m_togglePropertiesDocQAction;
 -	KAction* m_toggleProjectExplorerDockAction;
 -	KAction* m_togglePropertiesDockAction;
++	QAction* m_toggleProjectExplorerDocQAction;
++	QAction* m_togglePropertiesDocQAction;
  
  	//worksheet actions
-     QAction* worksheetZoomInAction;
-     QAction* worksheetZoomOutAction;
-     QAction* worksheetZoomOriginAction;
-     QAction* worksheetZoomFitPageHeightAction;
-     QAction* worksheetZoomFitPageWidthAction;
-     QAction* worksheetZoomFitSelectionAction;
- 
-     QAction* worksheetNavigationModeAction;
-     QAction* worksheetZoomModeAction;
-     QAction* worksheetSelectionModeAction;
- 
-     QAction* worksheetVerticalLayoutAction;
-     QAction* worksheetHorizontalLayoutAction;
-     QAction* worksheetGridLayoutAction;
-     QAction* worksheetBreakLayoutAction;
- 
-     QAction* m_visibilityFolderAction;
-     QAction* m_visibilitySubfolderAction;
-     QAction* m_visibilityAllAction;
-     QAction* m_toggleProjectExplorerDockAction;
-     QAction* m_togglePropertiesDockAction;
 -	KAction* worksheetZoomInAction;
 -	KAction* worksheetZoomOutAction;
 -	KAction* worksheetZoomOriginAction;
 -	KAction* worksheetZoomFitPageHeightAction;
 -	KAction* worksheetZoomFitPageWidthAction;
 -	KAction* worksheetZoomFitSelectionAction;
 -
 -	KAction* worksheetNavigationModeAction;
 -	KAction* worksheetZoomModeAction;
 -	KAction* worksheetSelectionModeAction;
 -
 -	KAction* worksheetVerticalLayoutAction;
 -	KAction* worksheetHorizontalLayoutAction;
 -	KAction* worksheetGridLayoutAction;
 -	KAction* worksheetBreakLayoutAction;
 -
 -	KAction* m_visibilityFolderAction;
 -	KAction* m_visibilitySubfolderAction;
 -	KAction* m_visibilityAllAction;
++	QAction* worksheetZoomInAction;
++	QAction* worksheetZoomOutAction;
++	QAction* worksheetZoomOriginAction;
++	QAction* worksheetZoomFitPageHeightAction;
++	QAction* worksheetZoomFitPageWidthAction;
++	QAction* worksheetZoomFitSelectionAction;
++
++	QAction* worksheetNavigationModeAction;
++	QAction* worksheetZoomModeAction;
++	QAction* worksheetSelectionModeAction;
++
++	QAction* worksheetVerticalLayoutAction;
++	QAction* worksheetHorizontalLayoutAction;
++	QAction* worksheetGridLayoutAction;
++	QAction* worksheetBreakLayoutAction;
++
++	QAction* m_visibilityFolderAction;
++	QAction* m_visibilitySubfolderAction;
++	QAction* m_visibilityAllAction;
++	QAction* m_toggleProjectExplorerDockAction;
++	QAction* m_togglePropertiesDockAction;
  
  	//Menus
  	QMenu* m_visibilityMenu;
@@@ -194,7 -200,7 +201,7 @@@ private slots
  	bool newProject();
  	void openProject();
  	void openProject(const QString&);
-     void openRecentProject(const QUrl&);
 -	void openRecentProject(const KUrl&);
++	void openRecentProject(const QUrl&);
  	bool closeProject();
  	bool saveProject();
  	bool saveProjectAs();
diff --cc src/kdefrontend/datasources/ImportFileDialog.h
index b1e9b7f,c2532f6..2d0f31c
--- a/src/kdefrontend/datasources/ImportFileDialog.h
+++ b/src/kdefrontend/datasources/ImportFileDialog.h
@@@ -49,36 -50,35 +49,35 @@@ class QToolButton
  class ImportFileDialog: public KDialog {
  	Q_OBJECT
  
- 	public:
- 		explicit ImportFileDialog(MainWin*, bool fileDataSource = false);
- 		~ImportFileDialog();
+ public:
+ 	explicit ImportFileDialog(MainWin*, bool fileDataSource = false, const QString& fileName = QString());
+ 	~ImportFileDialog();
  
- 		void importToFileDataSource(FileDataSource*, QStatusBar*) const;
- 		void importTo(QStatusBar*) const;
- 		void setCurrentIndex(const QModelIndex&);
+ 	void importToFileDataSource(FileDataSource*, QStatusBar*) const;
+ 	void importTo(QStatusBar*) const;
+ 	void setCurrentIndex(const QModelIndex&);
+ private:
+ 	void setModel(QAbstractItemModel*);
  
- 	private:
- 		void setModel(QAbstractItemModel*);
+ 	MainWin* m_mainWin;
+ 	QVBoxLayout* vLayout;
+ 	ImportFileWidget* importFileWidget;
+ 	QGroupBox* frameAddTo;
+ 	TreeViewComboBox* cbAddTo;
+ 	QLabel* lPosition;
+ 	QComboBox* cbPosition;
+ 	QPushButton* bNewSpreadsheet;
+ 	QPushButton* bNewMatrix;
+ 	QPushButton* bNewWorkbook;
+ 	QToolButton* tbNewDataContainer;
+ 	bool m_showOptions;
 -	KMenu* m_newDataContainerMenu;
++	QMenu* m_newDataContainerMenu;
  
- 		MainWin* m_mainWin;
- 		QVBoxLayout* vLayout;
- 		ImportFileWidget* importFileWidget;
- 		QGroupBox* frameAddTo;
- 		TreeViewComboBox* cbAddTo;
- 		QLabel* lPosition;
- 		QComboBox* cbPosition;
- 		QPushButton* bNewSpreadsheet;
- 		QPushButton* bNewMatrix;
- 		QPushButton* bNewWorkbook;
- 		QToolButton* tbNewDataContainer;
- 		bool m_showOptions;
- 		QMenu* m_newDataContainerMenu;
- 
- 	private slots:
- 		void toggleOptions();
- 		void newDataContainerMenu();
- 		void newDataContainer(QAction*);
- 		void checkOkButton();
+ private slots:
+ 	void toggleOptions();
+ 	void newDataContainerMenu();
+ 	void newDataContainer(QAction*);
+ 	void checkOkButton();
  };
  
  #endif //IMPORTFILEDIALOG_H
diff --cc src/kdefrontend/datasources/ImportFileWidget.cpp
index 8f982f5,27d3199..29ada09
--- a/src/kdefrontend/datasources/ImportFileWidget.cpp
+++ b/src/kdefrontend/datasources/ImportFileWidget.cpp
@@@ -128,11 -127,13 +129,13 @@@ ImportFileWidget::ImportFileWidget(QWid
  
  	ui.gbOptions->hide();
  
-     ui.bOpen->setIcon( QIcon::fromTheme("document-open") );
-     ui.bFileInfo->setIcon( QIcon::fromTheme("help-about") );
-     ui.bManageFilters->setIcon( QIcon::fromTheme("configure") );
-     ui.bSaveFilter->setIcon( QIcon::fromTheme("document-save") );
-     ui.bRefreshPreview->setIcon( QIcon::fromTheme("view-refresh") );
 -	ui.bOpen->setIcon( KIcon("document-open") );
 -	ui.bFileInfo->setIcon( KIcon("help-about") );
 -	ui.bManageFilters->setIcon( KIcon("configure") );
 -	ui.bSaveFilter->setIcon( KIcon("document-save") );
 -	ui.bRefreshPreview->setIcon( KIcon("view-refresh") );
 -	hdfOptionsWidget.bRefreshPreview->setIcon( KIcon("view-refresh") );
 -	netcdfOptionsWidget.bRefreshPreview->setIcon( KIcon("view-refresh") );
++	ui.bOpen->setIcon( QIcon::fromTheme("document-open") );
++	ui.bFileInfo->setIcon( QIcon::fromTheme("help-about") );
++	ui.bManageFilters->setIcon( QIcon::fromTheme("configure") );
++	ui.bSaveFilter->setIcon( QIcon::fromTheme("document-save") );
++	ui.bRefreshPreview->setIcon( QIcon::fromTheme("view-refresh") );
++	hdfOptionsWidget.bRefreshPreview->setIcon( QIcon::fromTheme("view-refresh") );
++	netcdfOptionsWidget.bRefreshPreview->setIcon( QIcon::fromTheme("view-refresh") );
  
  	connect( ui.kleFileName, SIGNAL(textChanged(QString)), SLOT(fileNameChanged(QString)) );
  	connect( ui.bOpen, SIGNAL(clicked()), this, SLOT (selectFile()) );
diff --cc src/kdefrontend/dockwidgets/CartesianPlotDock.cpp
index 31c4ea9,0f66633..f4d6a43
--- a/src/kdefrontend/dockwidgets/CartesianPlotDock.cpp
+++ b/src/kdefrontend/dockwidgets/CartesianPlotDock.cpp
@@@ -50,111 -49,112 +50,112 @@@
    \ingroup kdefrontend
  */
  
- CartesianPlotDock::CartesianPlotDock(QWidget *parent):
-     QWidget(parent),
-     m_initializing(false)
- {
-     ui.setupUi(this);
- 
-     //"Coordinate system"-tab
-     ui.bAddXBreak->setIcon( QIcon::fromTheme("list-add") );
-     ui.bRemoveXBreak->setIcon( QIcon::fromTheme("list-remove") );
-     ui.cbXBreak->addItem("1");
- 
-     ui.bAddYBreak->setIcon( QIcon::fromTheme("list-add") );
-     ui.bRemoveYBreak->setIcon( QIcon::fromTheme("list-remove") );
-     ui.cbYBreak->addItem("1");
- 
-     //"Background"-tab
-     ui.kleBackgroundFileName->setClearButtonShown(true);
-     ui.bOpen->setIcon( QIcon::fromTheme("document-open") );
- 
-     KUrlCompletion *comp = new KUrlCompletion();
-     ui.kleBackgroundFileName->setCompletionObject(comp);
- 
-     //"Title"-tab
-     QHBoxLayout* hboxLayout = new QHBoxLayout(ui.tabTitle);
-     labelWidget=new LabelWidget(ui.tabTitle);
-     hboxLayout->addWidget(labelWidget);
-     hboxLayout->setContentsMargins(2,2,2,2);
-     hboxLayout->setSpacing(2);
- 
-     //adjust layouts in the tabs
-     for (int i=0; i<ui.tabWidget->count(); ++i){
-         QGridLayout* layout = dynamic_cast<QGridLayout*>(ui.tabWidget->widget(i)->layout());
-         if (!layout)
-             continue;
- 
-         layout->setContentsMargins(2,2,2,2);
-         layout->setHorizontalSpacing(2);
-         layout->setVerticalSpacing(2);
-     }
- 
-     //Validators
-     ui.leXBreakStart->setValidator( new QDoubleValidator(ui.leXBreakStart) );
-     ui.leXBreakEnd->setValidator( new QDoubleValidator(ui.leXBreakEnd) );
-     ui.leYBreakStart->setValidator( new QDoubleValidator(ui.leYBreakStart) );
-     ui.leYBreakEnd->setValidator( new QDoubleValidator(ui.leYBreakEnd) );
- 
-     //SIGNAL/SLOT
-     //General
-     connect( ui.leName, SIGNAL(returnPressed()), this, SLOT(nameChanged()) );
-     connect( ui.leComment, SIGNAL(returnPressed()), this, SLOT(commentChanged()) );
-     connect( ui.chkVisible, SIGNAL(stateChanged(int)), this, SLOT(visibilityChanged(int)) );
-     connect( ui.sbLeft, SIGNAL(valueChanged(double)), this, SLOT(geometryChanged()) );
-     connect( ui.sbTop, SIGNAL(valueChanged(double)), this, SLOT(geometryChanged()) );
-     connect( ui.sbWidth, SIGNAL(valueChanged(double)), this, SLOT(geometryChanged()) );
-     connect( ui.sbHeight, SIGNAL(valueChanged(double)), this, SLOT(geometryChanged()) );
- 
-     connect( ui.chkAutoScaleX, SIGNAL(stateChanged(int)), this, SLOT(autoScaleXChanged(int)) );
-     connect( ui.kleXMin, SIGNAL(returnPressed()), this, SLOT(xMinChanged()) );
-     connect( ui.kleXMax, SIGNAL(returnPressed()), this, SLOT(xMaxChanged()) );
-     connect( ui.cbXScaling, SIGNAL(currentIndexChanged(int)), this, SLOT(xScaleChanged(int)) );
- 
-     connect( ui.chkAutoScaleY, SIGNAL(stateChanged(int)), this, SLOT(autoScaleYChanged(int)) );
-     connect( ui.kleYMin, SIGNAL(returnPressed()), this, SLOT(yMinChanged()) );
-     connect( ui.kleYMax, SIGNAL(returnPressed()), this, SLOT(yMaxChanged()) );
-     connect( ui.cbYScaling, SIGNAL(currentIndexChanged(int)), this, SLOT(yScaleChanged(int)) );
- 
-     //Scale breakings
-     connect( ui.chkXBreak, SIGNAL(stateChanged(int)), this, SLOT(toggleXBreak(int)) );
-     connect( ui.bAddXBreak, SIGNAL(clicked()), this, SLOT(addXBreak()) );
-     connect( ui.bRemoveXBreak, SIGNAL(clicked()), this, SLOT(removeXBreak()) );
-     connect( ui.cbXBreak, SIGNAL(currentIndexChanged(int)), this, SLOT(currentXBreakChanged(int)) );
-     connect( ui.leXBreakStart, SIGNAL(returnPressed()), this, SLOT(xBreakStartChanged()) );
-     connect( ui.leXBreakEnd, SIGNAL(returnPressed()), this, SLOT(xBreakEndChanged()) );
-     connect( ui.sbXBreakPosition, SIGNAL(valueChanged(int)), this, SLOT(xBreakPositionChanged(int)) );
- 
-     connect( ui.chkYBreak, SIGNAL(stateChanged(int)), this, SLOT(toggleYBreak(int)) );
-     connect( ui.bAddYBreak, SIGNAL(clicked()), this, SLOT(addYBreak()) );
-     connect( ui.bRemoveYBreak, SIGNAL(clicked()), this, SLOT(removeYBreak()) );
-     connect( ui.cbYBreak, SIGNAL(currentIndexChanged(int)), this, SLOT(currentYBreakChanged(int)) );
-     connect( ui.leYBreakStart, SIGNAL(returnPressed()), this, SLOT(yBreakStartChanged()) );
-     connect( ui.leYBreakEnd, SIGNAL(returnPressed()), this, SLOT(yBreakEndChanged()) );
-     connect( ui.sbYBreakPosition, SIGNAL(valueChanged(int)), this, SLOT(yBreakPositionChanged(int)) );
- 
-     //Background
-     connect( ui.cbBackgroundType, SIGNAL(currentIndexChanged(int)), this, SLOT(backgroundTypeChanged(int)) );
-     connect( ui.cbBackgroundColorStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(backgroundColorStyleChanged(int)) );
-     connect( ui.cbBackgroundImageStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(backgroundImageStyleChanged(int)) );
-     connect( ui.cbBackgroundBrushStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(backgroundBrushStyleChanged(int)) );
-     connect(ui.bOpen, SIGNAL(clicked(bool)), this, SLOT(selectFile()));
-     connect( ui.kleBackgroundFileName, SIGNAL(returnPressed()), this, SLOT(fileNameChanged()) );
-     connect( ui.kleBackgroundFileName, SIGNAL(clearButtonClicked()), this, SLOT(fileNameChanged()) );
-     connect( ui.kcbBackgroundFirstColor, SIGNAL(changed(QColor)), this, SLOT(backgroundFirstColorChanged(QColor)) );
-     connect( ui.kcbBackgroundSecondColor, SIGNAL(changed(QColor)), this, SLOT(backgroundSecondColorChanged(QColor)) );
-     connect( ui.sbBackgroundOpacity, SIGNAL(valueChanged(int)), this, SLOT(backgroundOpacityChanged(int)) );
- 
-     //Border
-     connect( ui.cbBorderStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(borderStyleChanged(int)) );
-     connect( ui.kcbBorderColor, SIGNAL(changed(QColor)), this, SLOT(borderColorChanged(QColor)) );
-     connect( ui.sbBorderWidth, SIGNAL(valueChanged(double)), this, SLOT(borderWidthChanged(double)) );
-     connect( ui.sbBorderCornerRadius, SIGNAL(valueChanged(double)), this, SLOT(borderCornerRadiusChanged(double)) );
-     connect( ui.sbBorderOpacity, SIGNAL(valueChanged(int)), this, SLOT(borderOpacityChanged(int)) );
- 
-     //Padding
-     connect( ui.sbPaddingHorizontal, SIGNAL(valueChanged(double)), this, SLOT(horizontalPaddingChanged(double)) );
-     connect( ui.sbPaddingVertical, SIGNAL(valueChanged(double)), this, SLOT(verticalPaddingChanged(double)) );
+ CartesianPlotDock::CartesianPlotDock(QWidget *parent): QWidget(parent),
+ 	m_plot(0),
+ 	labelWidget(0),
+ 	m_initializing(false) {
+ 
+ 	ui.setupUi(this);
+ 
+ 	//"Coordinate system"-tab
 -	ui.bAddXBreak->setIcon( KIcon("list-add") );
 -	ui.bRemoveXBreak->setIcon( KIcon("list-remove") );
++	ui.bAddXBreak->setIcon( QIcon::fromTheme("list-add") );
++	ui.bRemoveXBreak->setIcon( QIcon::fromTheme("list-remove") );
+ 	ui.cbXBreak->addItem("1");
+ 
 -	ui.bAddYBreak->setIcon( KIcon("list-add") );
 -	ui.bRemoveYBreak->setIcon( KIcon("list-remove") );
++	ui.bAddYBreak->setIcon( QIcon::fromTheme("list-add") );
++	ui.bRemoveYBreak->setIcon( QIcon::fromTheme("list-remove") );
+ 	ui.cbYBreak->addItem("1");
+ 
+ 	//"Background"-tab
+ 	ui.kleBackgroundFileName->setClearButtonShown(true);
 -	ui.bOpen->setIcon( KIcon("document-open") );
++	ui.bOpen->setIcon( QIcon::fromTheme("document-open") );
+ 
+ 	KUrlCompletion *comp = new KUrlCompletion();
+ 	ui.kleBackgroundFileName->setCompletionObject(comp);
+ 
+ 	//"Title"-tab
+ 	QHBoxLayout* hboxLayout = new QHBoxLayout(ui.tabTitle);
+  	labelWidget=new LabelWidget(ui.tabTitle);
+ 	hboxLayout->addWidget(labelWidget);
+ 	hboxLayout->setContentsMargins(2,2,2,2);
+ 	hboxLayout->setSpacing(2);
+ 
+ 	//adjust layouts in the tabs
+ 	for (int i=0; i<ui.tabWidget->count(); ++i){
+ 		QGridLayout* layout = dynamic_cast<QGridLayout*>(ui.tabWidget->widget(i)->layout());
+ 		if (!layout)
+ 			continue;
+ 
+ 		layout->setContentsMargins(2,2,2,2);
+ 		layout->setHorizontalSpacing(2);
+ 		layout->setVerticalSpacing(2);
+ 	}
+ 
+ 	//Validators
+ 	ui.leXBreakStart->setValidator( new QDoubleValidator(ui.leXBreakStart) );
+ 	ui.leXBreakEnd->setValidator( new QDoubleValidator(ui.leXBreakEnd) );
+ 	ui.leYBreakStart->setValidator( new QDoubleValidator(ui.leYBreakStart) );
+ 	ui.leYBreakEnd->setValidator( new QDoubleValidator(ui.leYBreakEnd) );
+ 
+ 	//SIGNAL/SLOT
+ 	//General
+ 	connect( ui.leName, SIGNAL(returnPressed()), this, SLOT(nameChanged()) );
+ 	connect( ui.leComment, SIGNAL(returnPressed()), this, SLOT(commentChanged()) );
+ 	connect( ui.chkVisible, SIGNAL(clicked(bool)), this, SLOT(visibilityChanged(bool)) );
+ 	connect( ui.sbLeft, SIGNAL(valueChanged(double)), this, SLOT(geometryChanged()) );
+ 	connect( ui.sbTop, SIGNAL(valueChanged(double)), this, SLOT(geometryChanged()) );
+ 	connect( ui.sbWidth, SIGNAL(valueChanged(double)), this, SLOT(geometryChanged()) );
+ 	connect( ui.sbHeight, SIGNAL(valueChanged(double)), this, SLOT(geometryChanged()) );
+ 
+ 	connect( ui.chkAutoScaleX, SIGNAL(stateChanged(int)), this, SLOT(autoScaleXChanged(int)) );
+ 	connect( ui.kleXMin, SIGNAL(returnPressed()), this, SLOT(xMinChanged()) );
+ 	connect( ui.kleXMax, SIGNAL(returnPressed()), this, SLOT(xMaxChanged()) );
+ 	connect( ui.cbXScaling, SIGNAL(currentIndexChanged(int)), this, SLOT(xScaleChanged(int)) );
+ 
+ 	connect( ui.chkAutoScaleY, SIGNAL(stateChanged(int)), this, SLOT(autoScaleYChanged(int)) );
+ 	connect( ui.kleYMin, SIGNAL(returnPressed()), this, SLOT(yMinChanged()) );
+ 	connect( ui.kleYMax, SIGNAL(returnPressed()), this, SLOT(yMaxChanged()) );
+ 	connect( ui.cbYScaling, SIGNAL(currentIndexChanged(int)), this, SLOT(yScaleChanged(int)) );
+ 
+ 	//Scale breakings
+ 	connect( ui.chkXBreak, SIGNAL(stateChanged(int)), this, SLOT(toggleXBreak(int)) );
+ 	connect( ui.bAddXBreak, SIGNAL(clicked()), this, SLOT(addXBreak()) );
+ 	connect( ui.bRemoveXBreak, SIGNAL(clicked()), this, SLOT(removeXBreak()) );
+ 	connect( ui.cbXBreak, SIGNAL(currentIndexChanged(int)), this, SLOT(currentXBreakChanged(int)) );
+ 	connect( ui.leXBreakStart, SIGNAL(returnPressed()), this, SLOT(xBreakStartChanged()) );
+ 	connect( ui.leXBreakEnd, SIGNAL(returnPressed()), this, SLOT(xBreakEndChanged()) );
+ 	connect( ui.sbXBreakPosition, SIGNAL(valueChanged(int)), this, SLOT(xBreakPositionChanged(int)) );
+ 
+ 	connect( ui.chkYBreak, SIGNAL(stateChanged(int)), this, SLOT(toggleYBreak(int)) );
+ 	connect( ui.bAddYBreak, SIGNAL(clicked()), this, SLOT(addYBreak()) );
+ 	connect( ui.bRemoveYBreak, SIGNAL(clicked()), this, SLOT(removeYBreak()) );
+ 	connect( ui.cbYBreak, SIGNAL(currentIndexChanged(int)), this, SLOT(currentYBreakChanged(int)) );
+ 	connect( ui.leYBreakStart, SIGNAL(returnPressed()), this, SLOT(yBreakStartChanged()) );
+ 	connect( ui.leYBreakEnd, SIGNAL(returnPressed()), this, SLOT(yBreakEndChanged()) );
+ 	connect( ui.sbYBreakPosition, SIGNAL(valueChanged(int)), this, SLOT(yBreakPositionChanged(int)) );
+ 
+ 	//Background
+ 	connect( ui.cbBackgroundType, SIGNAL(currentIndexChanged(int)), this, SLOT(backgroundTypeChanged(int)) );
+ 	connect( ui.cbBackgroundColorStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(backgroundColorStyleChanged(int)) );
+ 	connect( ui.cbBackgroundImageStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(backgroundImageStyleChanged(int)) );
+ 	connect( ui.cbBackgroundBrushStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(backgroundBrushStyleChanged(int)) );
+ 	connect(ui.bOpen, SIGNAL(clicked(bool)), this, SLOT(selectFile()));
+ 	connect( ui.kleBackgroundFileName, SIGNAL(returnPressed()), this, SLOT(fileNameChanged()) );
+ 	connect( ui.kleBackgroundFileName, SIGNAL(clearButtonClicked()), this, SLOT(fileNameChanged()) );
+ 	connect( ui.kcbBackgroundFirstColor, SIGNAL(changed(QColor)), this, SLOT(backgroundFirstColorChanged(QColor)) );
+ 	connect( ui.kcbBackgroundSecondColor, SIGNAL(changed(QColor)), this, SLOT(backgroundSecondColorChanged(QColor)) );
+ 	connect( ui.sbBackgroundOpacity, SIGNAL(valueChanged(int)), this, SLOT(backgroundOpacityChanged(int)) );
+ 
+ 	//Border
+ 	connect( ui.cbBorderStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(borderStyleChanged(int)) );
+ 	connect( ui.kcbBorderColor, SIGNAL(changed(QColor)), this, SLOT(borderColorChanged(QColor)) );
+ 	connect( ui.sbBorderWidth, SIGNAL(valueChanged(double)), this, SLOT(borderWidthChanged(double)) );
+ 	connect( ui.sbBorderCornerRadius, SIGNAL(valueChanged(double)), this, SLOT(borderCornerRadiusChanged(double)) );
+ 	connect( ui.sbBorderOpacity, SIGNAL(valueChanged(int)), this, SLOT(borderOpacityChanged(int)) );
+ 
+ 	//Padding
+ 	connect( ui.sbPaddingHorizontal, SIGNAL(valueChanged(double)), this, SLOT(horizontalPaddingChanged(double)) );
+ 	connect( ui.sbPaddingVertical, SIGNAL(valueChanged(double)), this, SLOT(verticalPaddingChanged(double)) );
  
  	TemplateHandler* templateHandler = new TemplateHandler(this, TemplateHandler::CartesianPlot);
  	ui.verticalLayout->addWidget(templateHandler);
diff --cc src/kdefrontend/dockwidgets/XYEquationCurveDock.cpp
index 5a753db,7529e5e..ddf2542
--- a/src/kdefrontend/dockwidgets/XYEquationCurveDock.cpp
+++ b/src/kdefrontend/dockwidgets/XYEquationCurveDock.cpp
@@@ -38,9 -38,7 +38,9 @@@
  #include <QKeyEvent>
  #include <QMenu>
  #include <QWidgetAction>
- #include <QScrollBar>
+ 
 +#include <KLocalizedString>
 +
  /*!
    \class XYEquationCurveDock
    \brief  Provides a widget for editing the properties of the XYEquationCurves
diff --cc src/kdefrontend/dockwidgets/XYFitCurveDock.cpp
index 7936f60,6e9de8e..5548abc
--- a/src/kdefrontend/dockwidgets/XYFitCurveDock.cpp
+++ b/src/kdefrontend/dockwidgets/XYFitCurveDock.cpp
@@@ -89,10 -93,12 +93,13 @@@ void XYFitCurveDock::setupGeneral() 
  	uiGeneralTab.cbModel->addItem(i18n("Maxwell-Boltzmann"));
  	uiGeneralTab.cbModel->addItem(i18n("Custom"));
  
+ 	uiGeneralTab.teEquation->setMaximumHeight(uiGeneralTab.leName->sizeHint().height()*2);
+ 
 -	uiGeneralTab.tbConstants->setIcon( KIcon("labplot-format-text-symbol") );
 -	uiGeneralTab.tbFunctions->setIcon( KIcon("preferences-desktop-font") );
 -	uiGeneralTab.pbRecalculate->setIcon(KIcon("run-build"));
 +	uiGeneralTab.tbConstants->setIcon( QIcon::fromTheme("labplot-format-text-symbol") );
 +	uiGeneralTab.tbFunctions->setIcon( QIcon::fromTheme("preferences-desktop-font") );
 +	uiGeneralTab.pbRecalculate->setIcon(QIcon::fromTheme("run-build"));
 +
+ 
  	QHBoxLayout* layout = new QHBoxLayout(ui.tabGeneral);
  	layout->setMargin(0);
  	layout->addWidget(generalTab);
diff --cc src/kdefrontend/spreadsheet/FunctionValuesDialog.cpp
index cc6333d,c5b9be6..8310b8c
--- a/src/kdefrontend/spreadsheet/FunctionValuesDialog.cpp
+++ b/src/kdefrontend/spreadsheet/FunctionValuesDialog.cpp
@@@ -57,9 -56,10 +57,10 @@@ FunctionValuesDialog::FunctionValuesDia
  	ui.setupUi(mainWidget);
  	setMainWidget(mainWidget);
  
 -	ui.tbConstants->setIcon( KIcon("labplot-format-text-symbol") );
 -	ui.tbFunctions->setIcon( KIcon("preferences-desktop-font") );
 +	ui.tbConstants->setIcon( QIcon::fromTheme("labplot-format-text-symbol") );
 +	ui.tbFunctions->setIcon( QIcon::fromTheme("preferences-desktop-font") );
  
+ 	ui.teEquation->setMaximumHeight(QLineEdit().sizeHint().height()*2);
  	ui.teEquation->setFocus();
  
  	m_topLevelClasses<<"Folder"<<"Workbook"<<"Spreadsheet"<<"FileDataSource"<<"Column";
diff --cc src/kdefrontend/widgets/DatapickerImageWidget.cpp
index 9d8574e,f19cdc9..3bf508a
--- a/src/kdefrontend/widgets/DatapickerImageWidget.cpp
+++ b/src/kdefrontend/widgets/DatapickerImageWidget.cpp
@@@ -44,12 -44,9 +44,13 @@@
  #include <QGraphicsScene>
  #include <QImageReader>
  
 +#include <KSharedConfig>
 +#include <KConfigGroup>
 +#include <KLocalizedString>
 +
  HistogramView::HistogramView(QWidget* parent, int range) :
  	QGraphicsView(parent),
+ 	bins(0),
  	m_scene(new QGraphicsScene()),
  	m_range(range) {
  
@@@ -60,12 -57,7 +61,7 @@@
  	setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
  	setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
  
- 	//initialize bins
- 	bins = new int[range + 1];
- 	for (int i = 0; i <= range; i++)
- 		bins [i] = 0;
- 
 -	lowerSlider = new QGraphicsRectItem(pageRect, 0, m_scene);
 +	lowerSlider = new QGraphicsRectItem(pageRect, 0);
  	lowerSlider->setPen(QPen(Qt::black, 0.5));
  	lowerSlider->setBrush(Qt::blue);
  	lowerSlider->setOpacity(0.2);
diff --cc src/kdefrontend/widgets/FitOptionsWidget.cpp
index 9654c7e,2e9fe58..73ed0af
--- a/src/kdefrontend/widgets/FitOptionsWidget.cpp
+++ b/src/kdefrontend/widgets/FitOptionsWidget.cpp
@@@ -33,10 -33,10 +33,10 @@@
  
  	\ingroup kdefrontend
   */
- FitOptionsWidget::FitOptionsWidget(QWidget *parent, XYFitCurve::FitData* fitData): QWidget(parent), m_fitData(fitData) {
+ FitOptionsWidget::FitOptionsWidget(QWidget *parent, XYFitCurve::FitData* fitData): QWidget(parent), m_fitData(fitData), m_changed(false) {
  	ui.setupUi(this);
 -	ui.pbApply->setIcon(KIcon("dialog-ok-apply"));
 -	ui.pbCancel->setIcon(KIcon("dialog-cancel"));
 +    ui.pbApply->setIcon(QIcon::fromTheme("dialog-ok-apply"));
 +    ui.pbCancel->setIcon(QIcon::fromTheme("dialog-cancel"));
  
  	//TODO: show "robust" option when robust fitting is possible
  // 	ui.cbRobust->addItem(i18n("on"));
diff --cc src/kdefrontend/widgets/FitParametersWidget.cpp
index 0d32572,9100f33..0b2dc4f
--- a/src/kdefrontend/widgets/FitParametersWidget.cpp
+++ b/src/kdefrontend/widgets/FitParametersWidget.cpp
@@@ -37,10 -36,10 +37,10 @@@
  
  	\ingroup kdefrontend
   */
- FitParametersWidget::FitParametersWidget(QWidget* parent, XYFitCurve::FitData* data) : QWidget(parent), m_fitData(data) {
+ FitParametersWidget::FitParametersWidget(QWidget* parent, XYFitCurve::FitData* data) : QWidget(parent), m_fitData(data), m_changed(false) {
  	ui.setupUi(this);
 -	ui.pbApply->setIcon(KIcon("dialog-ok-apply"));
 -	ui.pbCancel->setIcon(KIcon("dialog-cancel"));
 +    ui.pbApply->setIcon(QIcon::fromTheme("dialog-ok-apply"));
 +    ui.pbCancel->setIcon(QIcon::fromTheme("dialog-cancel"));
  
  	ui.tableWidget->setColumnCount(2);
  
diff --cc src/kdefrontend/widgets/LabelWidget.cpp
index 33b3326,834634c..4ac385c
--- a/src/kdefrontend/widgets/LabelWidget.cpp
+++ b/src/kdefrontend/widgets/LabelWidget.cpp
@@@ -48,76 -47,76 +48,76 @@@
   */
  
  // see legacy/LabelWidget.cpp
- LabelWidget::LabelWidget(QWidget *parent): QWidget(parent), m_dateTimeMenu(new QMenu(this)) {
-     ui.setupUi(this);
 -LabelWidget::LabelWidget(QWidget *parent): QWidget(parent), m_initializing(false), m_dateTimeMenu(new KMenu(this)) {
++LabelWidget::LabelWidget(QWidget *parent): QWidget(parent), m_initializing(false), m_dateTimeMenu(new QMenu(this)) {
+ 	ui.setupUi(this);
  
 -	m_dateTimeMenu->setSeparatorsCollapsible(false); //we don't want the first separator to be removed
 +    m_dateTimeMenu->setSeparatorsCollapsible(false); //we don't want the first separator to be removed
  
 -	QGridLayout* layout =static_cast<QGridLayout*>(this->layout());
 -  	layout->setContentsMargins(2,2,2,2);
 -	layout->setHorizontalSpacing(2);
 -	layout->setVerticalSpacing(2);
 -	ui.kcbFontColor->setColor(Qt::black); // default color
 +    QGridLayout* layout =static_cast<QGridLayout*>(this->layout());
 +    layout->setContentsMargins(2,2,2,2);
 +    layout->setHorizontalSpacing(2);
 +    layout->setVerticalSpacing(2);
 +    ui.kcbFontColor->setColor(Qt::black); // default color
  
  	//Icons
 -	ui.tbFontBold->setIcon( KIcon("format-text-bold") );
 -	ui.tbFontItalic->setIcon( KIcon("format-text-italic") );
 -	ui.tbFontUnderline->setIcon( KIcon("format-text-underline") );
 -	ui.tbFontStrikeOut->setIcon( KIcon("format-text-strikethrough") );
 -	ui.tbFontSuperScript->setIcon( KIcon("format-text-superscript") );
 -	ui.tbFontSubScript->setIcon( KIcon("format-text-subscript") );
 -	ui.tbSymbols->setIcon( KIcon("labplot-format-text-symbol") );
 -	ui.tbDateTime->setIcon( KIcon("chronometer") );
 +	ui.tbFontBold->setIcon( QIcon::fromTheme("format-text-bold") );
 +	ui.tbFontItalic->setIcon( QIcon::fromTheme("format-text-italic") );
 +	ui.tbFontUnderline->setIcon( QIcon::fromTheme("format-text-underline") );
 +	ui.tbFontStrikeOut->setIcon( QIcon::fromTheme("format-text-strikethrough") );
 +	ui.tbFontSuperScript->setIcon( QIcon::fromTheme("format-text-superscript") );
 +	ui.tbFontSubScript->setIcon( QIcon::fromTheme("format-text-subscript") );
 +	ui.tbSymbols->setIcon( QIcon::fromTheme("labplot-format-text-symbol") );
 +	ui.tbDateTime->setIcon( QIcon::fromTheme("chronometer") );
  	ui.tbTexUsed->setIconSize(QSize(20, 20));
 -	ui.tbTexUsed->setIcon( KIcon("labplot-TeX-logo") );
 -
 -	//Positioning and alignment
 -	ui.cbPositionX->addItem(i18n("left"));
 -	ui.cbPositionX->addItem(i18n("center"));
 -	ui.cbPositionX->addItem(i18n("right"));
 -	ui.cbPositionX->addItem(i18n("custom"));
 -
 -	ui.cbPositionY->addItem(i18n("top"));
 -	ui.cbPositionY->addItem(i18n("center"));
 -	ui.cbPositionY->addItem(i18n("bottom"));
 -	ui.cbPositionY->addItem(i18n("custom"));
 -
 -	ui.cbHorizontalAlignment->addItem(i18n("left"));
 -	ui.cbHorizontalAlignment->addItem(i18n("center"));
 -	ui.cbHorizontalAlignment->addItem(i18n("right"));
 -
 -	ui.cbVerticalAlignment->addItem(i18n("top"));
 -	ui.cbVerticalAlignment->addItem(i18n("center"));
 -	ui.cbVerticalAlignment->addItem(i18n("bottom"));
 -
 -	//SLOTS
 -	// text properties
 -	connect(ui.tbTexUsed, SIGNAL(clicked(bool)), this, SLOT(teXUsedChanged(bool)) );
 -	connect(ui.teLabel, SIGNAL(textChanged()), this, SLOT(textChanged()));
 -	connect(ui.teLabel, SIGNAL(currentCharFormatChanged(QTextCharFormat)),
 -			this, SLOT(charFormatChanged(QTextCharFormat)));
 -	connect(ui.kcbFontColor, SIGNAL(changed(QColor)), this, SLOT(fontColorChanged(QColor)));
 -	connect(ui.tbFontBold, SIGNAL(clicked(bool)), this, SLOT(fontBoldChanged(bool)));
 -	connect(ui.tbFontItalic, SIGNAL(clicked(bool)), this, SLOT(fontItalicChanged(bool)));
 -	connect(ui.tbFontUnderline, SIGNAL(clicked(bool)), this, SLOT(fontUnderlineChanged(bool)));
 -	connect(ui.tbFontStrikeOut, SIGNAL(clicked(bool)), this, SLOT(fontStrikeOutChanged(bool)));
 -	connect(ui.tbFontSuperScript, SIGNAL(clicked(bool)), this, SLOT(fontSuperScriptChanged(bool)));
 -	connect(ui.tbFontSubScript, SIGNAL(clicked(bool)), this, SLOT(fontSubScriptChanged(bool)));
 -	connect(ui.tbSymbols, SIGNAL(clicked(bool)), this, SLOT(charMenu()));
 -	connect(ui.tbDateTime, SIGNAL(clicked(bool)), this, SLOT(dateTimeMenu()));
 -	connect(m_dateTimeMenu, SIGNAL(triggered(QAction*)), this, SLOT(insertDateTime(QAction*)) );
 -	connect(ui.kfontRequester, SIGNAL(fontSelected(QFont)), this, SLOT(fontChanged(QFont)));
 -	connect(ui.sbFontSize, SIGNAL(valueChanged(int)), this, SLOT(fontSizeChanged(int)) );
 -
 -	// geometry
 -	connect( ui.cbPositionX, SIGNAL(currentIndexChanged(int)), this, SLOT(positionXChanged(int)) );
 -	connect( ui.cbPositionY, SIGNAL(currentIndexChanged(int)), this, SLOT(positionYChanged(int)) );
 -	connect( ui.sbPositionX, SIGNAL(valueChanged(double)), this, SLOT(customPositionXChanged(double)) );
 -	connect( ui.sbPositionY, SIGNAL(valueChanged(double)), this, SLOT(customPositionYChanged(double)) );
 -	connect( ui.cbHorizontalAlignment, SIGNAL(currentIndexChanged(int)), this, SLOT(horizontalAlignmentChanged(int)) );
 -	connect( ui.cbVerticalAlignment, SIGNAL(currentIndexChanged(int)), this, SLOT(verticalAlignmentChanged(int)) );
 -	connect( ui.sbRotation, SIGNAL(valueChanged(int)), this, SLOT(rotationChanged(int)) );
 -	connect( ui.sbOffset, SIGNAL(valueChanged(double)), this, SLOT(offsetChanged(double)) );
 +	ui.tbTexUsed->setIcon( QIcon::fromTheme("labplot-TeX-logo") );
 +
 +    //Positioning and alignment
 +    ui.cbPositionX->addItem(i18n("left"));
 +    ui.cbPositionX->addItem(i18n("center"));
 +    ui.cbPositionX->addItem(i18n("right"));
 +    ui.cbPositionX->addItem(i18n("custom"));
 +
 +    ui.cbPositionY->addItem(i18n("top"));
 +    ui.cbPositionY->addItem(i18n("center"));
 +    ui.cbPositionY->addItem(i18n("bottom"));
 +    ui.cbPositionY->addItem(i18n("custom"));
 +
 +    ui.cbHorizontalAlignment->addItem(i18n("left"));
 +    ui.cbHorizontalAlignment->addItem(i18n("center"));
 +    ui.cbHorizontalAlignment->addItem(i18n("right"));
 +
 +    ui.cbVerticalAlignment->addItem(i18n("top"));
 +    ui.cbVerticalAlignment->addItem(i18n("center"));
 +    ui.cbVerticalAlignment->addItem(i18n("bottom"));
 +
 +    //SLOTS
 +    // text properties
 +    connect(ui.tbTexUsed, SIGNAL(clicked(bool)), this, SLOT(teXUsedChanged(bool)) );
 +    connect(ui.teLabel, SIGNAL(textChanged()), this, SLOT(textChanged()));
 +    connect(ui.teLabel, SIGNAL(currentCharFormatChanged(QTextCharFormat)),
 +            this, SLOT(charFormatChanged(QTextCharFormat)));
 +    connect(ui.kcbFontColor, SIGNAL(changed(QColor)), this, SLOT(fontColorChanged(QColor)));
 +    connect(ui.tbFontBold, SIGNAL(clicked(bool)), this, SLOT(fontBoldChanged(bool)));
 +    connect(ui.tbFontItalic, SIGNAL(clicked(bool)), this, SLOT(fontItalicChanged(bool)));
 +    connect(ui.tbFontUnderline, SIGNAL(clicked(bool)), this, SLOT(fontUnderlineChanged(bool)));
 +    connect(ui.tbFontStrikeOut, SIGNAL(clicked(bool)), this, SLOT(fontStrikeOutChanged(bool)));
 +    connect(ui.tbFontSuperScript, SIGNAL(clicked(bool)), this, SLOT(fontSuperScriptChanged(bool)));
 +    connect(ui.tbFontSubScript, SIGNAL(clicked(bool)), this, SLOT(fontSubScriptChanged(bool)));
 +    connect(ui.tbSymbols, SIGNAL(clicked(bool)), this, SLOT(charMenu()));
 +    connect(ui.tbDateTime, SIGNAL(clicked(bool)), this, SLOT(dateTimeMenu()));
 +    connect(m_dateTimeMenu, SIGNAL(triggered(QAction*)), this, SLOT(insertDateTime(QAction*)) );
 +    connect(ui.kfontRequester, SIGNAL(fontSelected(QFont)), this, SLOT(fontChanged(QFont)));
 +    connect(ui.sbFontSize, SIGNAL(valueChanged(int)), this, SLOT(fontSizeChanged(int)) );
 +
 +    // geometry
 +    connect( ui.cbPositionX, SIGNAL(currentIndexChanged(int)), this, SLOT(positionXChanged(int)) );
 +    connect( ui.cbPositionY, SIGNAL(currentIndexChanged(int)), this, SLOT(positionYChanged(int)) );
 +    connect( ui.sbPositionX, SIGNAL(valueChanged(double)), this, SLOT(customPositionXChanged(double)) );
 +    connect( ui.sbPositionY, SIGNAL(valueChanged(double)), this, SLOT(customPositionYChanged(double)) );
 +    connect( ui.cbHorizontalAlignment, SIGNAL(currentIndexChanged(int)), this, SLOT(horizontalAlignmentChanged(int)) );
 +    connect( ui.cbVerticalAlignment, SIGNAL(currentIndexChanged(int)), this, SLOT(verticalAlignmentChanged(int)) );
 +    connect( ui.sbRotation, SIGNAL(valueChanged(int)), this, SLOT(rotationChanged(int)) );
 +    connect( ui.sbOffset, SIGNAL(valueChanged(double)), this, SLOT(offsetChanged(double)) );
  
  	connect( ui.chbVisible, SIGNAL(clicked(bool)), this, SLOT(visibilityChanged(bool)) );
  


More information about the kde-doc-english mailing list