Subversion Repositories Scribus

Compare Revisions

Ignore whitespace Rev 236 → Rev 237

/trunk/Scribus/ChangeLogCVS
1,4 → 1,10
Changes since Version 1.1.5
25.03.2004 Fixed Bug when dragging Objects from the Scrapbook to Template Pages.
Improved the drawing of the ouline Box when resizing Objects.
Some more Patches from Jean-Jacques Sarton.
Updated the Finnish Translation.
Fixes for the zooming.
 
18.03.2004 Fixes for rotated Tables and Borderlines.
 
17.03.2004 Printing and Exporting to PDF for Tables is now working too.
/trunk/Scribus/scribus/mpalette.cpp
1495,6 → 1495,8
{
if (ScApp->ScriptRunning)
return;
disconnect(Xpos, SIGNAL(valueChanged(int)), this, SLOT(NewX()));
disconnect(Ypos, SIGNAL(valueChanged(int)), this, SLOT(NewY()));
bool tmp = HaveItem;
double inX, inY, b, h, r, dummy1, dummy2;
QWMatrix ma;
1539,6 → 1541,8
if ((LMode) && (tmp))
setBH(CurItem->Width, CurItem->Height);
HaveItem = tmp;
connect(Xpos, SIGNAL(valueChanged(int)), this, SLOT(NewX()));
connect(Ypos, SIGNAL(valueChanged(int)), this, SLOT(NewY()));
}
 
void Mpalette::setBH(double x, double y)
/trunk/Scribus/scribus/page.h
112,7 → 112,7
void MarkClip(PageItem *b);
void Transform(PageItem *b, QPainter *p);
void TransformM(PageItem *b, QPainter *p);
void PaintSizeRect(QPainter *p, QRect alt, QRect neu);
void PaintSizeRect(QPainter *p, QRect neu);
QPoint ApplyGrid(QPoint in);
FPoint ApplyGridF(FPoint in);
void RefreshItem(PageItem *b, bool single = false);
137,6 → 137,7
void AdvanceSel(PageItem *b, int oldPos, int len, int dir, int expandSel, int state);
void setNewPos(PageItem *b, int oldPos, int len, int dir);
void ExpandSel(PageItem *b, int dir, int oldPos);
void deselectAll(PageItem *b);
QRegion ViewReg();
/** Liste der Elemente */
QPtrList<PageItem> Items;
/trunk/Scribus/scribus/scpainter.cpp
277,7 → 277,7
ArtVpath *path = art_bez_path_to_vec( m_path , 0.25 );
drawVPath( path, 0 );
}
m_index--;
// m_index--;
}
 
void ScPainter::strokePath()
526,7 → 526,7
 
// render the svp to the buffer
 
if( fillSvp )
if(( fillSvp ) && (mode == 0))
{
if (fillMode == 2)
applyGradient( fillSvp, true );
544,7 → 544,7
}
art_svp_free( fillSvp );
}
if( strokeSvp )
if(( strokeSvp ) && (mode == 1))
{
/* if( m_stroke && m_stroke->type() == VStroke::grad )
applyGradient( strokeSvp, false );
603,7 → 603,12
 
ArtRender *render = 0L;
 
VGradient gradient = fill ? fill_gradient : stroke_gradient;
// VGradient gradient = fill ? fill_gradient : stroke_gradient;
VGradient gradient;
if (fill)
gradient = fill_gradient;
else
gradient = stroke_gradient;
double opa = fill ? fill_trans : stroke_trans;
 
if (gradient.type() == VGradient::linear)
/trunk/Scribus/scribus/pageitem.cpp
290,14 → 290,6
p->translate(Xpos*sc, Ypos*sc);
p->rotate(Rot);
p->setLineWidth(Pwidth);
if (Pcolor != "None")
{
SetFarbe(&tmp, Pcolor, Shade);
p->setBrush(tmp);
p->setFillMode(1);
}
else
p->setFillMode(0);
if (GrType != 0)
{
p->setFillMode(2);
338,6 → 330,18
break;
}
}
else
{
p->fill_gradient = VGradient(VGradient::linear);
if (Pcolor != "None")
{
SetFarbe(&tmp, Pcolor, Shade);
p->setBrush(tmp);
p->setFillMode(1);
}
else
p->setFillMode(0);
}
if (Pcolor2 != "None")
{
SetFarbe(&tmp, Pcolor2, Shade2);
/trunk/Scribus/scribus/libabout/about.cpp
54,7 → 54,7
tabLayout1->addWidget( PixmapLabel1 );
BuildID = new QLabel( tab, "BB" );
BuildID->setAlignment(Qt::AlignCenter);
QString bu = tr("%1. %2 %3 ").arg("18").arg("March").arg("2004");
QString bu = tr("%1. %2 %3 ").arg("25").arg("March").arg("2004");
#ifdef HAVE_CMS
bu += "C";
#else
/trunk/Scribus/scribus/scribus.cpp
66,6 → 66,10
#include "javadocs.h"
#include "colorm.h"
 
#ifndef _MSC_VER // jjsa 21-03-2004 (lint complains)
#define _MSC_VER -1
#endif
 
#if (_MSC_VER >= 1200)
#include "win-config.h"
#else
72,6 → 76,10
#include "config.h"
#endif
 
#if (_MSC_VER == -1 ) // jjsa 21-03-2004 (lint complains)
#undef _MSC_VER
#endif
 
#include "fpoint.h"
#include "fpointarray.h"
#include "hysettings.h"
801,8 → 809,8
helpMenu->setItemChecked(tip, tipsOn);
// editMenu->insertItem( tr("Test"), this, SLOT(slotTest()));
// helpMenu->insertItem( tr("Test2"), this, SLOT(slotTest2()));
menuBar()->insertItem( tr("File"), fileMenu);
menuBar()->insertItem( tr("Edit"), editMenu);
menuBar()->insertItem( tr("&File"), fileMenu);
menuBar()->insertItem( tr("&Edit"), editMenu);
Stm = menuBar()->insertItem( tr("Style"), StilMenu);
Obm = menuBar()->insertItem( tr("Item"), ObjMenu);
pgmm = menuBar()->insertItem( tr("Page"), pageMenu);
809,13 → 817,13
menuBar()->setItemEnabled(Stm, 0);
menuBar()->setItemEnabled(Obm, 0);
menuBar()->setItemEnabled(pgmm, 0);
menuBar()->insertItem( tr("View"), viewMenu);
menuBar()->insertItem( tr("Tools"), toolMenu);
exmn = menuBar()->insertItem( tr("Extras"), extraMenu);
menuBar()->insertItem( tr("&View"), viewMenu);
menuBar()->insertItem( tr("&Tools"), toolMenu);
exmn = menuBar()->insertItem( tr("&Extras"), extraMenu);
menuBar()->setItemEnabled(exmn, 0);
menuBar()->insertItem( tr("Windows"), windowsMenu );
menuBar()->insertItem( tr("&Windows"), windowsMenu );
menuBar()->insertSeparator();
menuBar()->insertItem( tr("Help"), helpMenu);
menuBar()->insertItem( tr("&Help"), helpMenu);
AliMenu = new QPopupMenu();
AliMenu->insertItem( tr("Left"));
AliMenu->insertItem( tr("Center"));
923,6 → 931,12
divisor = 100.0;
precision = 2;
break;
default: // jjsa 21-03-2004 added default (complains for lint)
tmp2 = " pt";
multiplier = 100;
divisor = 100.0;
precision = 2;
break;
}
XDat->setText(tmp.setNum(qRound(xp*UmReFaktor * multiplier) / divisor, 'f', precision)+tmp2);
YDat->setText(tmp.setNum(qRound(yp*UmReFaktor * multiplier) / divisor, 'f', precision)+tmp2);
1010,7 → 1024,7
void ScribusApp::keyPressEvent(QKeyEvent *k)
{
QWidgetList windows;
QWidget* w;
QWidget* w = NULL;
struct Pti *hg;
int kk = k->key();
int as = k->ascii();
1018,7 → 1032,7
QString uc = k->text();
QString cr, Tcha, Twort;
uint Tcoun;
int len;
int len, pos, c;
if (keyrep)
return;
keyrep = true;
1169,24 → 1183,43
break;
case 7:
int oldPos = b->CPos; // 15-mar-2004 jjsa for cursor movement with Shift + Arrow key
doc->ActPage->oldCp = b->CPos;
if (b->PType == 4)
{
doc->ActPage->slotDoCurs(false);
switch (kk)
{
case Key_Prior:
case Key_Next:
case Key_End:
case Key_Home:
case Key_Right:
case Key_Left:
case Key_Up:
case Key_Down:
if ( (buttonState & ShiftButton) == 0 )
doc->ActPage->deselectAll(b);
}
switch (kk)
{
case Key_Prior:
// go to begin of line
// position of character before the cursor
if ( b->CPos == 0 )
if ( (pos = b->CPos) == 0 )
break; // at begin of frame
len = static_cast<int>(b->Ptext.count());
if ( b->CPos > 0 )
if ( pos == len )
pos--;
if ( (buttonState & ControlButton) == 0 )
{
alty = b->Ptext.at(b->CPos-1)->yp;
alty = b->Ptext.at(pos)->yp;
c = b->Ptext.at(pos)->ch.at(0).latin1();
if ( c == 13 ) // new line, position is wrong
if ( --pos > 0 )
alty = b->Ptext.at(pos)->yp;
// check for yp at actual position
if ( b->CPos < len )
if ( pos < len )
{
altx = b->Ptext.at(b->CPos)->yp;
altx = b->Ptext.at(pos)->yp;
if ( altx > alty )
{
// we was at begin of line
1193,16 → 1226,29
break;
}
}
else if ( b->CPos != len )
{
break;
}
while ( pos > 0 && b->Ptext.at(pos-1)->yp == alty )
pos--;
if ( b->Ptext.at(pos)->ch.at(0).latin1() == 13 )
pos++;
}
len = static_cast<int>(b->Ptext.count());
while ( b->CPos > 0 && b->Ptext.at(b->CPos-1)->yp == alty )
b->CPos--;
else
{
// paragraph begin
if ( pos < len &&
b->Ptext.at(pos)->ch.at(0).latin1() == 13 )
pos--;
while(pos > 0 )
if ( b->Ptext.at(pos)->ch.at(0).latin1() == 13 )
{
pos++;
break;
}
else
pos--;
}
b->CPos = pos;
if ( buttonState & ShiftButton )
doc->ActPage->ExpandSel(b, -1, oldPos);
doc->ActPage->ExpandSel(b, -1, oldPos);
break;
case Key_Next:
// go to end of line
1209,9 → 1255,43
len = static_cast<int>(b->Ptext.count());
if ( b->CPos >= len )
break; // at end of frame
alty = b->Ptext.at(b->CPos)->yp;
while ( b->CPos < len-1 && b->Ptext.at(b->CPos+1)->yp == alty )
b->CPos++;
if ( (buttonState & ControlButton) == 0 )
{
if ( b->CPos < len && b->Ptext.at(b->CPos)->ch.at(0).latin1() == 13 )
{
// at end of paragraph and therefore line
break;
}
alty = b->Ptext.at(b->CPos)->yp;
while ( b->CPos < len-1 && b->Ptext.at(b->CPos+1)->yp == alty )
b->CPos++;
if ( b->CPos < len -1 )
c = b->Ptext.at(b->CPos+1)->ch.at(0).latin1();
else if ( b->CPos == len - 1 )
c = 13;
else
c = 0;
if ( c == 13 )
b->CPos++;
}
else
{
// go to end of paragraph
if ( b->Ptext.at(b->CPos)->ch.at(0).latin1() == 13 )
{
break;
}
pos = b->CPos;
while ( pos < len )
{
if ( b->Ptext.at(pos)->ch.at(0).latin1() == 13 )
break;
else
pos++;
}
b->CPos = pos;
}
if ( buttonState & ShiftButton )
doc->ActPage->ExpandSel(b, 1, oldPos);
break;
2059,7 → 2139,11
DatClo->setEnabled(true);
if (doc->TemplateMode)
{
menuBar()->setItemEnabled(pgmm, 0);
for (uint a=0; a<5; ++a)
{
pageMenu->setItemEnabled(pageMenu->idAt(a), 0);
}
// menuBar()->setItemEnabled(pgmm, 0);
editMenu->setItemEnabled(tman, 0);
DatNeu->setEnabled(false);
DatSav->setEnabled(false);
2199,7 → 2283,7
 
void ScribusApp::HaveNewSel(int Nr)
{
PageItem *b;
PageItem *b = NULL;
if (Nr != -1)
b = doc->ActPage->SelItem.at(0);
ObjMenu->setItemEnabled(PfadDT, 0);
6138,7 → 6222,7
{
QString fn;
uint frPa, toPa;
int Components;
int Components = 3;
QString nam = "";
if (BookPal->BView->childCount() == 0)
doc->PDF_Optionen.Bookmarks = false;
6301,8 → 6385,8
if (doc->BookMarks.count() == 0)
return;
BookMItem* ip;
BookMItem* ip2;
BookMItem* ip3;
BookMItem* ip2 = NULL;
BookMItem* ip3 = NULL;
BookMItem *ite = new BookMItem(BookPal->BView, &(*it2));
++it2;
for( ; it2 != doc->BookMarks.end(); ++it2 )
7608,7 → 7692,7
{
Really->insert(it->Ptext.at(e)->cfont, doc->UsedFonts[it->Ptext.at(e)->cfont]);
uint chr = it->Ptext.at(e)->ch[0].unicode();
if ((chr == 13) || (chr == 32))
if ((chr == 13) || (chr == 32) || (chr == 29) || (chr == 9))
continue;
if (it->Ptext.at(e)->cstyle & 64)
{
7617,6 → 7701,18
chx = chx.upper();
chr = chx[0].unicode();
}
if (chr == 30)
{
for (uint numco = 0x30; numco < 0x39; ++numco)
{
if ((*doc->AllFonts)[it->Ptext.at(e)->cfont]->CharWidth.contains(numco))
{
gly = (*doc->AllFonts)[it->Ptext.at(e)->cfont]->GlyphArray[numco].Outlines.copy();
(*doc->AllFonts)[it->Ptext.at(e)->cfont]->RealGlyphs.insert(numco, gly);
}
}
continue;
}
if ((*doc->AllFonts)[it->Ptext.at(e)->cfont]->CharWidth.contains(chr))
{
gly = (*doc->AllFonts)[it->Ptext.at(e)->cfont]->GlyphArray[chr].Outlines.copy();
/trunk/Scribus/scribus/plugins/scriptplugin/cmdobj.cpp
114,12 → 114,12
if ((!PyArg_ParseTuple(args, "O|s", &il, &Name)) || (!PyList_Check(il)))
return NULL;
if (!Carrier->HaveDoc)
return PyString_FromString("");
return PyString_FromString("");
int len = PyList_Size(il);
if ((len < 4) || ((len % 2) != 0))
return PyString_FromString("");
double x, y, b, h;
int i = 0;
int i = 0;
x = ValueToPoint(static_cast<double>(PyFloat_AsDouble(PyList_GetItem(il, i))));
i++;
y = ValueToPoint(static_cast<double>(PyFloat_AsDouble(PyList_GetItem(il, i))));
177,7 → 177,7
if ((len < 6) || ((len % 2) != 0))
return PyString_FromString("");
double x, y, b, h;
int i = 0;
int i = 0;
x = ValueToPoint(static_cast<double>(PyFloat_AsDouble(PyList_GetItem(il, i))));
i++;
y = ValueToPoint(static_cast<double>(PyFloat_AsDouble(PyList_GetItem(il, i))));
240,7 → 240,7
if ((len < 8) || ((len % 6) != 0))
return PyString_FromString("");
double x, y, b, h, kx, ky, kx2, ky2;
int i = 0;
int i = 0;
x = ValueToPoint(static_cast<double>(PyFloat_AsDouble(PyList_GetItem(il, i))));
i++;
y = ValueToPoint(static_cast<double>(PyFloat_AsDouble(PyList_GetItem(il, i))));
325,6 → 325,8
return PyString_FromString(it->AnName);
}
 
/* 03/21/2004 - exception raised when Name doesn't exists. Doesn't crash then. (subik)
*/
PyObject *scribus_deleteobj(PyObject *self, PyObject* args)
{
char *Name = "";
334,16 → 336,24
if (!Carrier->HaveDoc)
return Py_None;
if (Name != "")
{
{
Carrier->doc->ActPage->SelItem.clear();
int i = GetItem(QString(Name));
if (i != -1)
Carrier->doc->ActPage->SelItem.append(Carrier->doc->ActPage->Items.at(i));
else
{
PyErr_SetString(PyExc_Exception, "Oook! You're trying to erase an object doesn't exist!");
Py_DECREF(Py_None);
return NULL;
}
}
Carrier->doc->ActPage->DeleteItem();
return Py_None;
}
 
/* 03/21/2004 - exception raises by non existent name (subik)
*/
PyObject *scribus_textflow(PyObject *self, PyObject* args)
{
char* name;
357,7 → 367,11
 
id = GetItem(QString(name));
if (id == -1)
return Py_None;
{
PyErr_SetString(PyExc_Exception, "Oook! An object you're trying to textflow doesn't exist!");
Py_DECREF(Py_None);
return NULL;
}
 
if (state == -1)
{
/trunk/Scribus/scribus/page.cpp
53,6 → 53,7
#include <qevent.h>
#include <qeventloop.h>
#include <qprocess.h>
#include <qscrollbar.h>
 
#ifdef HAVE_TIFF
#include <tiffio.h>
930,16 → 931,23
}
}
 
void Page::PaintSizeRect(QPainter *p, QRect alt, QRect neu)
void Page::PaintSizeRect(QPainter *p, QRect neu)
{
QWMatrix ma = p->worldMatrix();
ma.setTransformationMode ( QWMatrix::Areas );
p->setWorldMatrix(ma);
p->setRasterOp(XorROP);
p->setBrush(NoBrush);
p->setPen(QPen(white, 1, DotLine, FlatCap, MiterJoin));
p->drawRect(alt);
p->drawRect(neu);
static QRect old;
if (!neu.isNull())
{
QWMatrix ma = p->worldMatrix();
ma.setTransformationMode ( QWMatrix::Areas );
p->setWorldMatrix(ma);
p->setRasterOp(XorROP);
p->setBrush(NoBrush);
p->setPen(QPen(white, 1, DotLine, FlatCap, MiterJoin));
if (!old.isNull())
p->drawRect(old);
if (!neu.isNull())
p->drawRect(neu);
}
old = neu;
}
 
QPoint Page::ApplyGrid(QPoint in)
2255,10 → 2263,10
}
HaveSelRect = false;
double Tx, Ty, Tw, Th;
Tx = Mxp * sc;
Ty = Myp * sc;
Tw = SeRx-(Mxp*sc);
Th = SeRy-(Myp*sc);
Tx = Mxp;
Ty = Myp;
Tw = SeRx/sc-Mxp;
Th = SeRy/sc-Myp;
int z;
int Cols, Rows;
double deltaX, deltaY, offX, offY;
3088,7 → 3096,6
MoveItemI(0, -(b->Height - b->OldH2)/b->LocalScY, b->ItemNr);
break;
case 5:
b->Sizing = false;
if (b->isTableItem)
{
double dist = npx.y() - b->Height;
3121,9 → 3128,9
MoveSizeItem(FPoint(0, 0), FPoint(0, b->Height - npx.y()), b->ItemNr);
if (b->flippedV % 2 != 0)
MoveItemI(0, -(b->Height - b->OldH2)/b->LocalScY, b->ItemNr);
b->Sizing = false;
break;
case 6:
b->Sizing = false;
if (b->isTableItem)
{
double dist = npx.x() - b->Width;
3156,6 → 3163,7
MoveSizeItem(FPoint(0, 0), FPoint(b->Width - npx.x(), 0), b->ItemNr);
if (b->flippedH % 2 != 0)
MoveItemI(-(b->Width - b->OldB2)/b->LocalScX, 0, b->ItemNr);
b->Sizing = false;
break;
case 7:
if (b->isTableItem)
3372,9 → 3380,64
}
else
{
emit Magnify ? ZoomIn() : ZoomOut();
// emit Magnify ? ZoomIn() : ZoomOut();
// if (SelItem.count() == 0)
// emit AbsPosi2(Mxp, Myp);
// I want that zoom in/out is centered to mouse cursor
if (SelItem.count() == 0)
emit AbsPosi2(Mxp, Myp);
{
// Position of cursor before zoom operation
int oldAbsX;
int oldAbsY;
// Position of old point under cursor after zoom operation
int newAbsX;
int newAbsY;
// position of child
int cx = Anz->childX(parentWidget());
int cy = Anz->childY(parentWidget());
// scale before zoom operation
double oldScale = doku->Scale;
// for scrollbar max value check
int sbhMax;
int sbvMax;
// remember position of scrollbars
QScrollBar *sbv = Anz->verticalScrollBar();
QScrollBar *sbh = Anz->horizontalScrollBar();
int sbx = sbh->value();
int sby = sbv->value();
// mouse position absolute X position of frame + mouse position
// within the page, ...
oldAbsX = Anz->contentsX() + m->x();
oldAbsY = Anz->contentsY() + m->y();
// do zoom
emit Magnify ? ZoomIn() : ZoomOut();
// we need this to get valid values for the scrollbars
Anz->updateScrollBars();
// if no changes don't recalculate sbx and sby
if ( oldScale != doku->Scale )
{
// new coordinate of point under our cursor
newAbsX = (int)(((double)(oldAbsX-cx)* doku->Scale / oldScale)+.5)+cx;
newAbsY = (int)(((double)(oldAbsY-cy) * doku->Scale / oldScale)+.5)+cy;
// calculate the scrollbar displacement
sbx += newAbsX - oldAbsX;
sby += newAbsY - oldAbsY;
// check for scrollbar position
sbhMax = sbh->maxValue();
if ( sbx < 0 )
sbx = 0;
else if ( sbx > sbhMax )
sbx = sbhMax;
sbvMax = sbv->maxValue();
if ( sby < 0 )
sby = 0;
else if ( sby > sbvMax )
sby = sbvMax;
}
// set scrollbar value
sbh->setValue(sbx);
sbv->setValue(sby);
}
HaveSelRect = false;
}
}
3867,7 → 3930,6
switch (HowTo)
{
case 1:
np = QPoint(static_cast<int>(Mxp*sc), static_cast<int>(Myp*sc));
if (m->state() & ControlButton)
{
np2 = QPoint(m->x(), static_cast<int>((gy+(gh * ((newX-gx) / gw)))*sc));
3877,8 → 3939,7
np2 = QPoint(m->x(), m->y());
Mxp = static_cast<int>(np2.x()/sc);
Myp = static_cast<int>(np2.y()/sc);
PaintSizeRect(&p, QRect(QPoint(static_cast<int>(gx*sc), static_cast<int>(gy*sc)), np),
QRect(QPoint(static_cast<int>(gx*sc), static_cast<int>(gy*sc)), np2));
PaintSizeRect(&p, QRect(QPoint(static_cast<int>(gx*sc), static_cast<int>(gy*sc)), np2));
break;
}
p.end();
3905,8 → 3966,7
{
if ((m->state() & ControlButton) && (!(m->state() & ShiftButton)))
{
mop = QPoint(m->x(), static_cast<int>((b->Ypos + ((newX - b->Xpos) /
b->OldB2 * b->OldH2)) * sc));
mop = QPoint(m->x(), static_cast<int>((b->Ypos + ((newX - b->Xpos) / b->OldB2 * b->OldH2)) * sc));
QCursor::setPos(mapToGlobal(mop));
}
else
3976,12 → 4036,8
ma = p.worldMatrix();
ma.setTransformationMode ( QWMatrix::Areas );
p.setWorldMatrix(ma);
np = p.xFormDev(QPoint(static_cast<int>(Mxp*sc), static_cast<int>(Myp*sc)));
np2 = ApplyGrid(p.xFormDev(QPoint(m->x(), m->y())));
PaintSizeRect(&p, QRect(np, QPoint(static_cast<int>(b->Width),
static_cast<int>(b->Height))),
QRect(np2, QPoint(static_cast<int>(b->Width),
static_cast<int>(b->Height))));
PaintSizeRect(&p, QRect(np2, QPoint(qRound(b->Width), qRound(b->Height))));
p.end();
}
break;
3991,10 → 4047,8
ma = p.worldMatrix();
ma.setTransformationMode ( QWMatrix::Areas );
p.setWorldMatrix(ma);
np = p.xFormDev(QPoint(static_cast<int>(Mxp*sc), static_cast<int>(Myp*sc)));
np2 = ApplyGrid(p.xFormDev(QPoint(m->x(), m->y())));
PaintSizeRect(&p, QRect(np, QPoint(0, static_cast<int>(b->Height))),
QRect(np2, QPoint(0, static_cast<int>(b->Height))));
PaintSizeRect(&p, QRect(np2, QPoint(0, qRound(b->Height))));
p.end();
break;
case 4:
4003,25 → 4057,22
ma = p.worldMatrix();
ma.setTransformationMode ( QWMatrix::Areas );
p.setWorldMatrix(ma);
np = p.xFormDev(QPoint(static_cast<int>(Mxp*sc), static_cast<int>(Myp*sc)));
np2 = ApplyGrid(p.xFormDev(QPoint(m->x(), m->y())));
PaintSizeRect(&p, QRect(np, QPoint(static_cast<int>(b->Width), 0)),
QRect(np2, QPoint(static_cast<int>(b->Width), 0)));
PaintSizeRect(&p, QRect(np2, QPoint(qRound(b->Width), 0)));
p.end();
break;
case 5:
{
p.begin(this);
Transform(b, &p);
ma = p.worldMatrix();
ma.setTransformationMode ( QWMatrix::Areas );
p.setWorldMatrix(ma);
np = p.xFormDev(QPoint(static_cast<int>(Mxp*sc), static_cast<int>(Myp*sc)));
np2 = ApplyGrid(p.xFormDev(QPoint(m->x(), m->y())));
PaintSizeRect(&p, QRect(QPoint(static_cast<int>(b->Width), np.y()), QPoint(0, 0)),
QRect(QPoint(static_cast<int>(b->Width), np2.y()),
QPoint(0, 0)));
PaintSizeRect(&p, QRect(0, 0, qRound(b->Width), np2.y()));
p.end();
break;
}
case 6:
p.begin(this);
Transform(b, &p);
4028,11 → 4079,8
ma = p.worldMatrix();
ma.setTransformationMode ( QWMatrix::Areas );
p.setWorldMatrix(ma);
np = p.xFormDev(QPoint(static_cast<int>(Mxp*sc), static_cast<int>(Myp*sc)));
np2 = ApplyGrid(p.xFormDev(QPoint(m->x(), m->y())));
PaintSizeRect(&p, QRect(QPoint(np.x(), static_cast<int>(b->Height)),
QPoint(0, 0)), QRect(QPoint(np2.x(), static_cast<int>(b->Height)),
QPoint(0, 0)));
PaintSizeRect(&p, QRect(QPoint(np2.x(), qRound(b->Height)), QPoint(0, 0)));
p.end();
break;
case 7:
4041,12 → 4089,8
ma = p.worldMatrix();
ma.setTransformationMode ( QWMatrix::Areas );
p.setWorldMatrix(ma);
np = p.xFormDev(QPoint(static_cast<int>(Mxp*sc), static_cast<int>(Myp*sc)));
np2 = ApplyGrid(p.xFormDev(QPoint(m->x(), m->y())));
PaintSizeRect(&p, QRect(QPoint(np.x(), static_cast<int>(b->Height)),
QPoint(static_cast<int>(b->Width), 0)), QRect(QPoint(np2.x(),
static_cast<int>(b->Height)), QPoint(static_cast<int>(b->Width),
0)));
PaintSizeRect(&p, QRect(QPoint(np2.x(), qRound(b->Height)), QPoint(qRound(b->Width), 0)));
p.end();
break;
case 8:
4055,12 → 4099,8
ma = p.worldMatrix();
ma.setTransformationMode ( QWMatrix::Areas );
p.setWorldMatrix(ma);
np = p.xFormDev(QPoint(static_cast<int>(Mxp*sc), static_cast<int>(Myp*sc)));
np2 = ApplyGrid(p.xFormDev(QPoint(m->x(), m->y())));
PaintSizeRect(&p, QRect(QPoint(static_cast<int>(b->Width),np.y()),
QPoint(0, static_cast<int>(b->Height))),
QRect(QPoint(static_cast<int>(b->Width),np2.y()),
QPoint(0, static_cast<int>(b->Height))));
PaintSizeRect(&p, QRect(QPoint(qRound(b->Width),np2.y()), QPoint(0, qRound(b->Height))));
p.end();
break;
}
5107,6 → 5147,8
ma.rotate(b->Rot);
ma.setTransformationMode ( QWMatrix::Areas );
p->setWorldMatrix(ma);
QRect ne = QRect();
PaintSizeRect(p, ne);
if (b->PType != 5)
{
if (mpo.contains(p->xForm(QPoint(0, 0))))
5693,6 → 5735,28
RefreshItem(b);
}
 
void Page::deselectAll(PageItem *b)
{
PageItem *i = b;
int n;
int l;
while( i->BackBox )
i=i->BackBox;
while ( i )
{
if ( i->HasSel )
{
l = i->Ptext.count();
for (n=0; n < l; n++ )
i->Ptext.at(n)->cselect = false;
i->OwnPage->RefreshItem(i);
i->HasSel = false;
}
i = i->NextBox;
}
emit HasNoTextSel();
}
 
bool Page::slotSetCurs(int x, int y)
{
if (doku->ActPage != this) {return false;}
/trunk/Scribus/scribus/libpdf/pdflib.cpp
502,10 → 502,8
RealFonts = DocFonts;
QMap<QString,QFont> ReallyUsed;
ReallyUsed.clear();
FPointArray gly;
Page* pg;
PageItem* pgit;
QString chx;
for (uint c = 0; c < view->MasterPages.count(); ++c)
{
pg = view->MasterPages.at(c);
516,24 → 514,7
{
for (uint e = 0; e < pgit->Ptext.count(); ++e)
{
ReallyUsed.insert(pgit->Ptext.at(e)->cfont,
DocFonts[pgit->Ptext.at(e)->cfont]);
uint chr = pgit->Ptext.at(e)->ch[0].unicode();
if ((chr == 13) || (chr == 32))
continue;
if (pgit->Ptext.at(e)->cstyle & 64)
{
chx = pgit->Ptext.at(e)->ch;
if (chx.upper() != pgit->Ptext.at(e)->ch)
chx = chx.upper();
chr = chx[0].unicode();
}
if (AllFonts[pgit->Ptext.at(e)->cfont]->CharWidth.contains(chr))
{
gly = AllFonts[pgit->Ptext.at(e)->cfont]->
GlyphArray[chr].Outlines.copy();
AllFonts[pgit->Ptext.at(e)->cfont]->RealGlyphs.insert(chr, gly);
}
ReallyUsed.insert(pgit->Ptext.at(e)->cfont, DocFonts[pgit->Ptext.at(e)->cfont]);
}
}
}
548,24 → 529,7
{
for (uint e = 0; e < pgit->Ptext.count(); ++e)
{
ReallyUsed.insert(pgit->Ptext.at(e)->cfont,
DocFonts[pgit->Ptext.at(e)->cfont]);
uint chr = pgit->Ptext.at(e)->ch[0].unicode();
if ((chr == 13) || (chr == 32))
continue;
if (pgit->Ptext.at(e)->cstyle & 64)
{
chx = pgit->Ptext.at(e)->ch;
if (chx.upper() != pgit->Ptext.at(e)->ch)
chx = chx.upper();
chr = chx[0].unicode();
}
if (AllFonts[pgit->Ptext.at(e)->cfont]->CharWidth.contains(chr))
{
gly = AllFonts[pgit->Ptext.at(e)->cfont]->
GlyphArray[chr].Outlines.copy();
AllFonts[pgit->Ptext.at(e)->cfont]->RealGlyphs.insert(chr, gly);
}
ReallyUsed.insert(pgit->Ptext.at(e)->cfont, DocFonts[pgit->Ptext.at(e)->cfont]);
}
}
}
580,8 → 544,7
{
QString fon = "";
QMap<uint,FPointArray>::Iterator ig;
for (ig = AllFonts[it.key()]->RealGlyphs.begin();
ig != AllFonts[it.key()]->RealGlyphs.end(); ++ig)
for (ig = AllFonts[it.key()]->RealGlyphs.begin(); ig != AllFonts[it.key()]->RealGlyphs.end(); ++ig)
{
FPoint np, np1, np2;
bool nPath = true;
/trunk/Scribus/scribus/po/scribus.fi.ts
131,6 → 131,26
<source>Finnish:</source>
<translation>Suomi:</translation>
</message>
<message>
<source>March</source>
<translation type="obsolete">maaliskuu</translation>
</message>
<message>
<source>Homepage and online reference</source>
<translation>Kotisivu ja materiaali verkossa</translation>
</message>
<message>
<source>Mailing list</source>
<translation>Postituslista</translation>
</message>
<message>
<source>Bugs and feature requests</source>
<translation>Bugit ja parannusehdotukset</translation>
</message>
<message>
<source>Online</source>
<translation>Verkossa</translation>
</message>
</context>
<context>
<name>AdvOptions</name>
1119,7 → 1139,7
</message>
<message>
<source>When Icon is too small</source>
<translation>Kun kuvake on liian pieni</translation>
<translation type="obsolete">Kun kuvake on liian pieni</translation>
</message>
<message>
<source>Caption left to Icon</source>
1153,6 → 1173,10
<source></source>
<translation></translation>
</message>
<message>
<source>When Icon it too small</source>
<translation>Kun kuvake on liian pieni</translation>
</message>
</context>
<context>
<name>CMSPrefs</name>
1224,6 → 1248,56
<source>Saturation</source>
<translation>Saturaation</translation>
</message>
<message>
<source>Default color profile for imported images</source>
<translation>Väriprofiili tuoduille kuville</translation>
</message>
<message>
<source>Default color profile for solid colors on the page</source>
<translation>Väriprofiili dokumentin tasaisille väreille</translation>
</message>
<message>
<source>Color profile that you have generated or received from the manufacturer.
This profile should be specific to your monitor and not a generic profile (i.e. sRGB).</source>
<translation>Itse tekemäsi tai näyttösi valmistajan toimittama väriprofiili
Profiilin tulee olla näytöllesi tarkoitettu ei yleinen väriprofiili kuten sRGB.</translation>
</message>
<message>
<source>Color profile for your printer model from the manufacturer.
This profile should be specific to your printer and not a generic profile (i.e. sRGB).</source>
<translation>Tulostimesi valmistajan toimittama väriprofiili tulostimellesi.
Profiilin tulee olla tulostimellesi tarkoitettu ei yleinen väriprofiili kuten sRGB.</translation>
</message>
<message>
<source>Choose the default rendering intent for your monitor. Unless you know why to change it,
Relative Colorimetric or Perceptual should be chosen.</source>
<translation>Valitse sovitustapa näytöllesi. Ellet tiedä mikä tapa valita, tulisi käyttää
sovitustapoja Relative Colorimetric tai Perceptual.</translation>
</message>
<message>
<source>Choose the default rendering intent for your printer. Unless you know why to change it,
Relative Colorimetric or Perceptual should be chosen.</source>
<translation>Valitse sovitustapa tulostimellesi. Ellet tiedä mikä tapa valita, tulisi käyttää
sovitustapoja Relative Colorimetric tai Perceptual.</translation>
</message>
<message>
<source>This enables &apos;soft proofing&apos; of how your document colors will print,
based on the chosen printer profile.</source>
<translation>Mahdollistaa tulosteen värien jäljittelyn näytöllä perustuen
käytettävään väriprofiiliin.</translation>
</message>
<message>
<source>This is a method of showing colors on the screen which may not print properly.
This requires very accurate profiles and serves only as a warning.</source>
<translation>Toiminto näyttää värit, jotka mahdollisesti eivät tulostu oikein.
Toiminnon käyttö vaatii tarkat profiilit ja sitä tulee käyttää ainoastaan varoituksena.</translation>
</message>
<message>
<source>Black Point Compensation is a method of improving contrast in photos.
It is recommended that you enable this if you have photos in your document.</source>
<translation>Black Point Compensation on keino parantaa kuvien kontrastia.
On suositeltavaa että valitsen tämän, jos dokumenttisi sisältää kuvia.</translation>
</message>
</context>
<context>
<name>CMYKChoose</name>
1344,7 → 1418,7
</message>
<message>
<source>Opacity:</source>
<translation>Himmeys:</translation>
<translation>Läpinäkyvyys:</translation>
</message>
<message>
<source>Vertical Gradient</source>
1515,8 → 1589,12
</message>
<message>
<source>OK to delete Color:</source>
<translation>Poistetaanko väri:</translation>
<translation type="obsolete">Poistetaanko väri:</translation>
</message>
<message>
<source>Delete color:</source>
<translation>Poista väri:</translation>
</message>
</context>
<context>
<name>DelPages</name>
2041,6 → 2119,42
<source>Remove Unused</source>
<translation>Poista käyttämättömät</translation>
</message>
<message>
<source>Choose a color set to load</source>
<translation>Valitse ladattava värisarja</translation>
</message>
<message>
<source>Save the current color set</source>
<translation>Tallenna nykyinen värisarja</translation>
</message>
<message>
<source>Append colors to the current set from an existing document</source>
<translation>Lisää värit toisesta dokumentista nykyiseen värisarjaan</translation>
</message>
<message>
<source>Create a new color within the current set</source>
<translation>Luo uusi väri nykyiseen värisarjaan</translation>
</message>
<message>
<source>Edit the currently selected color</source>
<translation>Muokkaa valittua väriä</translation>
</message>
<message>
<source>Make a copy of the currently selected color</source>
<translation>Kopioi valittu väri</translation>
</message>
<message>
<source>Delete the currently selected color</source>
<translation>Poista valittu väri</translation>
</message>
<message>
<source>Make the current colorset the default color set</source>
<translation>Tee valitusta värisarjasta oletussarja</translation>
</message>
<message>
<source>Remove unused colors from current document&apos;s color set</source>
<translation>Poista käyttämättömät värit dokumentin värisarjasta</translation>
</message>
</context>
<context>
<name>FontPrefs</name>
2094,7 → 2208,7
</message>
<message>
<source>Embed in:</source>
<translation>Upota sisään:</translation>
<translation>Upota:</translation>
</message>
<message>
<source>Use Font</source>
2226,7 → 2340,7
</message>
<message>
<source>This is the length of the smallest word to be hyphenated.</source>
<translation>Tämä on lyhimmän tavutettavan sanan pituus.</translation>
<translation>Lyhimmän tavutettavan sanan pituus.</translation>
</message>
<message>
<source>Hyphenator Settings</source>
2322,7 → 2436,7
</message>
<message>
<source>Global JavaScripts</source>
<translation>Yleiset javascriptit</translation>
<translation type="obsolete">Yleiset javascriptit</translation>
</message>
<message>
<source>Add...</source>
2344,6 → 2458,10
<source>New Script:</source>
<translation>Uusi skripti:</translation>
</message>
<message>
<source>Edit JavaScripts</source>
<translation>Muokkaa javaskriptejä</translation>
</message>
</context>
<context>
<name>KeyManager</name>
2529,6 → 2647,14
<source>Warning</source>
<translation>Varoitus</translation>
</message>
<message>
<source>Exit</source>
<translation type="obsolete">Poistu</translation>
</message>
<message>
<source>Close</source>
<translation>Sulje</translation>
</message>
</context>
<context>
<name>MSpinBox</name>
2602,6 → 2728,14
<source>Hide Console</source>
<translation>Piilota konsoli</translation>
</message>
<message>
<source>Script error</source>
<translation>Skriptivirhe</translation>
</message>
<message>
<source>If you are running an official script report it at &lt;a href=&quot;http://bugs.scribus.net&quot;&gt;bugs.scribus.net&lt;/a&gt; please.</source>
<translation>Jos ajat ohjelman mukana toimitettua skriptiä ilmoita siitä &lt;a href=&quot;http://bugs.scribus.net&quot;&gt;bugs.scribus.net&lt;/a&gt;. Kiitos.</translation>
</message>
</context>
<context>
<name>MergeDoc</name>
3220,7 → 3354,7
</message>
<message>
<source>Enable this to make text flow around overlapping objects</source>
<translation>Pakota teksti kiertämään kohde</translation>
<translation type="obsolete">Pakota teksti kiertämään kohde</translation>
</message>
<message>
<source>Enable this to use the imaginary square border around your object, rather than its actual shape</source>
3362,6 → 3496,42
<source>Select the rendering intent for the image</source>
<translation>Valitse kuvan sovitustapa</translation>
</message>
<message>
<source>Enable this to make text in lower objects flow around this frame</source>
<translation>Pakota alempana olevien kohteiden teksti kiertämään tämä kehys</translation>
</message>
<message>
<source>Cell Lines</source>
<translation>Solun reunat</translation>
</message>
<message>
<source>Line at Top</source>
<translation>Viiva ylhäällä</translation>
</message>
<message>
<source>Line at the Left</source>
<translation>Viiva vasemmalla</translation>
</message>
<message>
<source>Line at the Right </source>
<translation>Viiva oikealla</translation>
</message>
<message>
<source>Line at Bottom</source>
<translation>Viiva alhaalla</translation>
</message>
<message>
<source> mm</source>
<translation> mm</translation>
</message>
<message>
<source> in</source>
<translation> in</translation>
</message>
<message>
<source> p</source>
<translation> p</translation>
</message>
</context>
<context>
<name>MultiLine</name>
3464,7 → 3634,7
</message>
<message>
<source>Exit</source>
<translation>Poistu</translation>
<translation type="obsolete">Poistu</translation>
</message>
<message>
<source>Copy #%1 of </source>
3510,6 → 3680,10
<source>Name:</source>
<translation>Nimi:</translation>
</message>
<message>
<source>Close</source>
<translation>Sulje</translation>
</message>
</context>
<context>
<name>NewDoc</name>
3706,7 → 3880,7
<message>
<source>When checked use Coordinates relative to the Page,
otherwise Coordinates are relative to the Object.</source>
<translation>Kun valittuna käytä koordinaatteja suhteessa sivuun,
<translation>Kun valittuna, koordinaatit näytetään suhteessa sivuun,
muulloin suhteessa kohteeseen.</translation>
</message>
<message>
4533,6 → 4707,26
<source>Edit Picture</source>
<translation>Muokkaa kuvaa</translation>
</message>
<message>
<source>Append Text...</source>
<translation>Jatka tekstiä...</translation>
</message>
<message>
<source>The Program</source>
<translation>Ohjelma</translation>
</message>
<message>
<source>is missing!</source>
<translation>puuttuu!</translation>
</message>
<message>
<source>Warning</source>
<translation>Varoitus</translation>
</message>
<message>
<source>Copy of</source>
<translation>Kopio</translation>
</message>
</context>
<context>
<name>PageSelector</name>
4790,7 → 4984,7
</message>
<message>
<source>Display Frames</source>
<translation>Näytä kehykset</translation>
<translation type="obsolete">Näytä kehykset</translation>
</message>
<message>
<source>Cancel</source>
4802,7 → 4996,7
</message>
<message>
<source>Disp.:</source>
<translation>Siirtymä:</translation>
<translation type="obsolete">Siirtymä:</translation>
</message>
<message>
<source>Landscape</source>
5030,7 → 5224,7
</message>
<message>
<source>Linestyle:</source>
<translation>Viivatyyli:</translation>
<translation type="obsolete">Viivatyyli:</translation>
</message>
<message>
<source>Autosave</source>
5120,6 → 5314,402
<source>Millimetres (mm)</source>
<translation>Millimetrit (mm)</translation>
</message>
<message>
<source>External Tools</source>
<translation>Ulkoiset työkalut</translation>
</message>
<message>
<source>Postscript Interpreter</source>
<translation>Postscript-tulkitsija</translation>
</message>
<message>
<source>Name of executeable:</source>
<translation type="obsolete">Suoritettavan nimi:</translation>
</message>
<message>
<source>Antialias Text</source>
<translation>Antialisoi teksti</translation>
</message>
<message>
<source>Antialias Graphics</source>
<translation>Antialisoi grafiikka</translation>
</message>
<message>
<source>Image Processing Tool</source>
<translation>Kuvanmuokkaustyökalu</translation>
</message>
<message>
<source>Misc.</source>
<translation>Sekalaista</translation>
</message>
<message>
<source>Printing</source>
<translation>Tulostus</translation>
</message>
<message>
<source>Clip to Page Margins</source>
<translation>Leikkaa reunukset</translation>
</message>
<message>
<source>Displacement:</source>
<translation>Siirto:</translation>
</message>
<message>
<source>Name of executable:</source>
<translation>Ajettava ohjelma:</translation>
</message>
<message>
<source>Choose the default window decoration and looks.
Scribus inherits any available KDE or Qt themes</source>
<translation>Valitse ulkonäkö. Scribus sallii kaikkien
mahdollisten KDE- ja QT-teemojen käytön</translation>
</message>
<message>
<source>Default font size for the menus and windows</source>
<translation>Valikoissa ja ikkunoissa käytettävän kirjasimen koko</translation>
</message>
<message>
<source>Default unit of measurement for document editing</source>
<translation>Dokumentin muokkauksessa käytettävä oletusmittayksikkö</translation>
</message>
<message>
<source>Number of lines Scribus will scroll for each move of the mouse wheel</source>
<translation>Askellettavien rivien lukumäärä hiiren rullaa käytettäessä</translation>
</message>
<message>
<source>Radius of the area where Scribus will allow you to grab an objects handles</source>
<translation>Etäisyys, jonka sisällä Scribus mahdollistaa kohteeseen tarttumisen</translation>
</message>
<message>
<source>Number of recently edited documents to show in the File menu</source>
<translation>Viimeisten dokumenttien lukumäärä Tiedosto-valikossa</translation>
</message>
<message>
<source>Change the keyboard shortcuts to your preference</source>
<translation>Muuta näppäinoikopolut mieleisiksisi</translation>
</message>
<message>
<source>Default documents directory</source>
<translation>Oletushakemisto dokumenteille</translation>
</message>
<message>
<source>Default ICC profiles directory</source>
<translation>Oletushakemisto ICC-profiileille</translation>
</message>
<message>
<source>Default Scripter scripts directory</source>
<translation>Oletushakemisto skripteille</translation>
</message>
<message>
<source>Default page size, either a standard size or a custom size</source>
<translation>Oletuskoko sivulle, joko standardi tai itse määritelty koko</translation>
</message>
<message>
<source>Default orientation of document pages</source>
<translation>Dokumentin sivujen suunta</translation>
</message>
<message>
<source>Width of document pages, editable if you have chosen a custom page size</source>
<translation>Dokumentin sivun leveys, muokattavissa jos valitset sivun kooksi &quot;Oma&quot;</translation>
</message>
<message>
<source>Height of document pages, editable if you have chosen a custom page size</source>
<translation>Dokumentin sivun korkeus, muokattavissa jos valitset sivun kooksi &quot;Oma&quot;</translation>
</message>
<message>
<source>Enable single or spread based layout</source>
<translation>Sivu- tai aukeamakeskeistä ulkonäköä</translation>
</message>
<message>
<source>Make the first page the left page of a document</source>
<translation>Tee vasemmasta sivusta dokumentin ensimmäinen sivu</translation>
</message>
<message>
<source>Distance between the top margin guide and the edge of the page</source>
<translation>Paperin reunan ja yläreunuksen välinen etäisyys</translation>
</message>
<message>
<source>Distance between the bottom margin guide and the edge of the page</source>
<translation>Paperin reunan ja alareunuksen välinen etäisyys</translation>
</message>
<message>
<source>Distance between the left margin guide and the edge of the page.
If Facing Pages is selected, this margin space can be used to achieve the correct margins for binding</source>
<translation>Paperin reunan ja vasemman reunuksen välinen etäisyys.
Jos vastakkaiset sivut on valittuna, leveys määrittää oikean kokoisen reunuksen ottaen sidonnan huomioon</translation>
</message>
<message>
<source>When enabled, Scribus saves a backup copy of your file with the .bak extension
each time the time period elapses</source>
<translation>Jos valittuna, niin Scribus tallentaa kopion dokumentistasi bak-päätteellä
aina valitun ajan kuluttua</translation>
</message>
<message>
<source>Time period between saving automatically</source>
<translation>Automaattisen tallennuksen aikaväli</translation>
</message>
<message>
<source>Distance between the minor grid lines</source>
<translation>Apuruudukon viivojen välinen etäisyys</translation>
</message>
<message>
<source>Distance between the major grid lines</source>
<translation>Pääruudukon viivojen välinen etäisyys</translation>
</message>
<message>
<source>Distance within which an object will snap to your placed guides</source>
<translation>Etäisyys, jolta kohde kiinnittyy apuviivoihin</translation>
</message>
<message>
<source>Color of the minor grid lines</source>
<translation>Apuruudukon viivojen väri</translation>
</message>
<message>
<source>Color of the major grid lines</source>
<translation>Pääruudukon viivojen väri</translation>
</message>
<message>
<source>Color of the guide lines you insert</source>
<translation>Apuviivojen väri</translation>
</message>
<message>
<source>Place the grid behind your page objects</source>
<translation>Sijoita ruudukko kohteiden taakse</translation>
</message>
<message>
<source>Place the grid in front of your page objects</source>
<translation>Sijoita ruudukko kohteiden päälle</translation>
</message>
<message>
<source>Displacement above the baseline of the font on a line</source>
<translation>Siirtymä kirjasimen keskikohdan yläpuolelle</translation>
</message>
<message>
<source>Relative size of the superscript compared to the normal font</source>
<translation>Yläindeksin kirjasimen koko verrattuna normaaliin kirjasimeen</translation>
</message>
<message>
<source>Displacement below the baseline of the normal font on a line</source>
<translation>Siirtymä kirjasimen keskikohdan alapuolelle</translation>
</message>
<message>
<source>Relative size of the subscript compared to the normal font</source>
<translation>Alaindeksin kirjasimen koko verrattuna normaaliin kirjasimeen</translation>
</message>
<message>
<source>Relative size of the small caps font compared to the normal font</source>
<translation>Pienten isojen kirjainten koko verrattuna normaaliin kirjasimeen</translation>
</message>
<message>
<source>Percentage increase over the font size for the line spacing</source>
<translation>Rivivälin kasvu prosentteina kirjasimen koosta</translation>
</message>
<message>
<source>Text Frame Properties</source>
<translation>Tekstikehyksen asetukset</translation>
</message>
<message>
<source>Picture Frame Properties</source>
<translation>Kuvakehyksen asetukset</translation>
</message>
<message>
<source>Shape Drawing Properties</source>
<translation>Kuvioiden asetukset</translation>
</message>
<message>
<source>Magnification Level Defaults</source>
<translation>Suurennostason Oletusarvot</translation>
</message>
<message>
<source>Line Drawing Properties</source>
<translation>Viivan ominaisuudet</translation>
</message>
<message>
<source>Polygon Drawing Properties</source>
<translation>Monikulmion ominaisuudet</translation>
</message>
<message>
<source>Font for new text frames</source>
<translation>Kirjasin uuteen tekstikehykseen</translation>
</message>
<message>
<source>Size of font for new text frames</source>
<translation>Kirjasimen koko uuteen tekstikehykseen</translation>
</message>
<message>
<source>Color of font</source>
<translation>Kirjasimen väri</translation>
</message>
<message>
<source>Number of columns in a text frame</source>
<translation>Tekstikehyksen palstojen lukumäärä</translation>
</message>
<message>
<source>Gap between text frame columns</source>
<translation>Kehyksen palstojen väli</translation>
</message>
<message>
<source>Sample of your font</source>
<translation>Esimerkki valitusta kirjasimesta</translation>
</message>
<message>
<source>Picture frames allow pictures to scale to any size</source>
<translation>Kuvakehykset sallivat kuvan skaalauksen mihin tahansa kokoon</translation>
</message>
<message>
<source>Horizontal scaling of images</source>
<translation>Kuvien vaakasuora skaalaus</translation>
</message>
<message>
<source>Vertical scaling of images</source>
<translation>Kuvien pystysuora skaalaus</translation>
</message>
<message>
<source>Keep horizontal and vertical scaling the same</source>
<translation>Säilytä vaaka- ja pystysuora skaalaus samana</translation>
</message>
<message>
<source>Pictures in picture frames are scaled to the size of the frame</source>
<translation>Kuvat kuvakehyksissä skaalataan kehyksen kokoon</translation>
</message>
<message>
<source>Automatically scaled pictures keep their original proportions</source>
<translation>Automaattisesti skaalatut kuvat säilyttävät sivujen väliset suhteensa</translation>
</message>
<message>
<source>Fill color of picture frames</source>
<translation>Kuvakehyksen täyttöväri</translation>
</message>
<message>
<source>Saturation of color of fill</source>
<translation>Täyttövärin sävy</translation>
</message>
<message>
<source>Line color of shapes</source>
<translation>Kuvion viivan väri</translation>
</message>
<message>
<source>Saturation of color of lines</source>
<translation>Kuvion viivan värin sävy</translation>
</message>
<message>
<source>Fill color of shapes</source>
<translation>Kuvion täyttöväri</translation>
</message>
<message>
<source>Line style of shapes</source>
<translation>Kuvion viivatyyli</translation>
</message>
<message>
<source>Line width of shapes</source>
<translation>Kuvion viivan paksuus</translation>
</message>
<message>
<source>Minimum magnification allowed</source>
<translation>Pienin sallittu pienennös</translation>
</message>
<message>
<source>Maximum magnification allowed</source>
<translation>Suurin sallittu suurennus</translation>
</message>
<message>
<source>Change in magnification for each zoom operation</source>
<translation>Suurennoksen muutos jokaisella suurennoskerralla</translation>
</message>
<message>
<source>Color of lines</source>
<translation>Viivan väri</translation>
</message>
<message>
<source>Saturation of color</source>
<translation>Värin kylläisyys</translation>
</message>
<message>
<source>Style of lines</source>
<translation>Viivan tyyli</translation>
</message>
<message>
<source>Width of lines</source>
<translation>Viivan paksuus</translation>
</message>
<message>
<source>Number of corners for polygons</source>
<translation>Monikulmion kulmien lukumäärä</translation>
</message>
<message>
<source>Degrees of rotation for polygons</source>
<translation>Monikulmion kierron aste</translation>
</message>
<message>
<source>Polygons will be convex rather than concave</source>
<translation>Monikulmiot ovat kuperia tai koveria</translation>
</message>
<message>
<source>Sample Polygon</source>
<translation>Esimerkki monikulmiosta</translation>
</message>
<message>
<source>Change the angles at which lines of the polygon join</source>
<translation>Muuta monikulmion viivojen liittymiskulmia</translation>
</message>
<message>
<source>Choose the size of the preview in the scrapbook palette</source>
<translation>Valitse esikatselukuvan koko leikekirjassa</translation>
</message>
<message>
<source>Keep the scrapbook contents after closing Scribus</source>
<translation>Säilytä leikekirjan sisältö Scribuksen sulkemisen jälkeen</translation>
</message>
<message>
<source>When using facing pages, show the two pages side by side</source>
<translation>Kun käytössä on vastakkaiset sivut, näytetäänkö sivut vierekkäin</translation>
</message>
<message>
<source>Color for paper</source>
<translation>Paperin väri</translation>
</message>
<message>
<source>Color for the margin lines</source>
<translation>Sivun reunusten väri</translation>
</message>
<message>
<source>Mask the area outside the margins in the margin color</source>
<translation>Merkkaa marginaalien ulkopuolinen alue marginaalin värillä</translation>
</message>
<message>
<source>Enable transparency features within PDF 1.4 export</source>
<translation>Käytä läpinäkyvyysominaisuutta PDF 1.4:na tallennettaessa</translation>
</message>
<message>
<source>Set the default zoom level</source>
<translation>Aseta näytettävä sivun koko</translation>
</message>
<message>
<source>Filesystem location for the Ghostscript interpreter</source>
<translation>Ghostscript tulkin sijainti tiedostojärjestelmässä</translation>
</message>
<message>
<source>Antialias text for EPS and PDF onscreen rendering</source>
<translation>Antialisoi EPS- ja PDF-teksti näytöllä</translation>
</message>
<message>
<source>Antialias graphics for EPS and PDF onscreen rendering</source>
<translation>Antialisoi EPS- ja PDF-grafiikka näytöllä</translation>
</message>
<message>
<source>Filesystem location for editing graphics</source>
<translation>Kuvankäsittelyohjelman sijainti tiedostojärjestelmässä</translation>
</message>
<message>
<source>Do not show objects outside the margins on the printed page or exported file</source>
<translation>Älä vie tai tulosta kohteita, jotka ovat dokumentin marginaalin ulkopuolella</translation>
</message>
<message>
<source>Distance between the right margin guide and the edge of the page.
If Facing Pages is selected, this margin space can be used to achieve the correct margins for binding</source>
<translation>Paperin reunan ja oikean reunuksen välinen etäisyys.
Jos vastakkaiset sivut on valittuna, leveys määrittää oikean kokoisen reunuksen ottaen sidonnan huomioon</translation>
</message>
</context>
<context>
<name>QColorDialog</name>
5643,6 → 6233,10
<source>p</source>
<translation>p</translation>
</message>
<message>
<source>Scribus Scripts</source>
<translation>Scribus-skriptit</translation>
</message>
</context>
<context>
<name>QTextEdit</name>
6066,7 → 6660,7
</message>
<message>
<source>Opens a Document</source>
<translation>Avaa dokumentti</translation>
<translation type="obsolete">Avaa dokumentti</translation>
</message>
<message>
<source>Getting ICC-Profiles</source>
6098,7 → 6692,7
</message>
<message>
<source>Prints the Current Document</source>
<translation>Tulosta dokumentti</translation>
<translation type="obsolete">Tulosta dokumentti</translation>
</message>
<message>
<source>Split Polygons</source>
6266,7 → 6860,7
</message>
<message>
<source>Closes the Current Document</source>
<translation>Sulje dokumentti</translation>
<translation type="obsolete">Sulje dokumentti</translation>
</message>
<message>
<source>Tool-Tips</source>
6450,7 → 7044,7
</message>
<message>
<source>Creates a new Document</source>
<translation>Luo uusi dokumentti</translation>
<translation type="obsolete">Luo uusi dokumentti</translation>
</message>
<message>
<source>Spanish</source>
6526,7 → 7120,7
</message>
<message>
<source>Saves the Current Document</source>
<translation>Tallenna dokumentti</translation>
<translation type="obsolete">Tallenna dokumentti</translation>
</message>
<message>
<source>Portuguese</source>
6598,7 → 7192,7
</message>
<message>
<source>Saves the Current Document as PDF</source>
<translation>Tallenna dokumentti PDF:na</translation>
<translation type="obsolete">Tallenna dokumentti PDF:na</translation>
</message>
<message>
<source>Fatal Error</source>
6690,6 → 7284,34
<source>All Supported Formats</source>
<translation>Kaikki tuetut tiedostotyypit</translation>
</message>
<message>
<source>Create a new Document</source>
<translation>Luo uusi dokumentti</translation>
</message>
<message>
<source>Open a Document</source>
<translation>Avaa dokumentti</translation>
</message>
<message>
<source>Save the current Document</source>
<translation>Tallenna dokumentti</translation>
</message>
<message>
<source>Close the current Document</source>
<translation>Sulje dokumentti</translation>
</message>
<message>
<source>Print the current Document</source>
<translation>Tulosta dokumentti</translation>
</message>
<message>
<source>Save the current Document as PDF</source>
<translation>Tallenna dokumentti PDF:na</translation>
</message>
<message>
<source>Append Text...</source>
<translation>Jatka tekstiä...</translation>
</message>
</context>
<context>
<name>ScribusDoc</name>
7049,6 → 7671,18
<source>Warning</source>
<translation>Varoitus</translation>
</message>
<message>
<source>Leave</source>
<translation type="obsolete">Poistu</translation>
</message>
<message>
<source>Exit</source>
<translation type="obsolete">Poistu</translation>
</message>
<message>
<source>Close</source>
<translation>Sulje</translation>
</message>
</context>
<context>
<name>StoryEditor</name>
7354,11 → 7988,11
</message>
<message>
<source>Edit the Text with the Story Editor</source>
<translation>Muokkaa tekstiä tekstieditorilla</translation>
<translation type="obsolete">Muokkaa tekstiä tekstieditorilla</translation>
</message>
<message>
<source>Zooms in or out</source>
<translation>Zoomaa sisään tai ulos</translation>
<translation type="obsolete">Zoomaa sisään tai ulos</translation>
</message>
<message>
<source>Insert Lines</source>
7374,7 → 8008,7
</message>
<message>
<source>Draws various Shapes</source>
<translation>Lisää kuvio</translation>
<translation type="obsolete">Lisää kuvio</translation>
</message>
<message>
<source>Edit Contents of Frame</source>
7420,6 → 8054,22
<source>Unlink Text Frames</source>
<translation>Pura tekstikehysten linkitys</translation>
</message>
<message>
<source>Zoom in or out</source>
<translation>Zoomaa lähemmäs tai kauemmas</translation>
</message>
<message>
<source>Edit the text with the Story Editor</source>
<translation>Muokkaa tekstiä editorilla</translation>
</message>
<message>
<source>Draw various Shapes</source>
<translation>Lisää kuvio</translation>
</message>
<message>
<source>Insert Table</source>
<translation>Lisää taulukko</translation>
</message>
</context>
<context>
<name>WerkToolBP</name>
/trunk/Scribus/scribus/qm/scribus.fi.qm
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream