~ubuntu-branches/ubuntu/maverick/scribus-ng/maverick-backports

« back to all changes in this revision

Viewing changes to scribus/propertiespalette.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Oleksandr Moskalenko
  • Date: 2009-10-30 20:00:37 UTC
  • mfrom: (0.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20091030200037-tes6nzts7t35gg5h
Tags: 1.3.5.dfsg+svn20091030-1
* Upstream svn update with bugfixes. Prepare the tarball for uploading into
  Debian (Closes: #534510, #552026).
* debian/control:
  - Refresh arch list.
  - Update Standards-Version to 3.8.3.

Show diffs side-by-side

added added

removed removed

Lines of Context:
758
758
        layout23->addWidget( PM1 );
759
759
        QSpacerItem* spacer7s = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
760
760
        layout23->addItem( spacer7s );
761
 
        layout41c->addLayout( layout23, 0, 0, 1, 4 );
 
761
        layout41c->addLayout( layout23, 1, 0, 1, 4 );
762
762
        layout24 = new QHBoxLayout;
763
763
        layout24->setSpacing( 3 );
764
764
        layout24->setMargin( 0 );
775
775
        layout24->addWidget( PM2 );
776
776
        QSpacerItem* spacer7f = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
777
777
        layout24->addItem( spacer7f );
778
 
        layout41c->addLayout( layout24, 1, 0, 1, 4 );
 
778
        layout41c->addLayout( layout24, 0, 0, 1, 4 );
779
779
        Layout1 = new QHBoxLayout;
780
780
        Layout1->setSpacing( 0 );
781
781
        Layout1->setMargin( 0 );
1558
1558
        connect(DBottom, SIGNAL(valueChanged(double)), this, SLOT(NewTDist()));
1559
1559
        connect(flopGroup, SIGNAL(buttonClicked( int )), this, SLOT(flop(int)));
1560
1560
        connect(TabStack, SIGNAL(currentChanged(int)), this, SLOT(SelTab(int)));
1561
 
        connect(StyledLine, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(SetSTline(QListWidgetItem*)));
 
1561
        connect(StyledLine, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(SetSTline(QListWidgetItem*)));
1562
1562
        connect(Fonts, SIGNAL(fontSelected(QString )), this, SLOT(NewTFont(QString)));
1563
1563
        connect(TxFill, SIGNAL(activated(int)), this, SLOT(newTxtFill()));
1564
1564
        connect(TxStroke, SIGNAL(activated(int)), this, SLOT(newTxtStroke()));
1605
1605
        connect(optMarginRadioBoth, SIGNAL(clicked()), this, SLOT(setOpticalMargins()) );
1606
1606
        connect(optMarginRadioLeft, SIGNAL(clicked()), this, SLOT(setOpticalMargins()) );
1607
1607
        connect(optMarginRadioRight, SIGNAL(clicked()), this, SLOT(setOpticalMargins()) );
1608
 
//      connect(optMarginResetButton, SIGNAL(activated(int)), this, SLOT(setOpticalMargins(int)) );
 
1608
        connect(optMarginResetButton, SIGNAL(clicked()), this, SLOT(resetOpticalMargins()) );
1609
1609
 
1610
1610
 
1611
1611
        connect(minWordTrackingSpinBox, SIGNAL(valueChanged(double)), this, SLOT(setMinWordTracking()) );
1676
1676
{
1677
1677
        if (!m_ScMW || m_ScMW->ScriptRunning)
1678
1678
                return;
1679
 
        if ((HaveDoc) && (HaveItem) && (t == idColorsItem))
1680
 
        {
1681
 
                Cpal->setActGradient(CurItem->GrType);
1682
 
                updateColorSpecialGradient();
1683
 
                Cpal->gradEdit->Preview->fill_gradient = CurItem->fill_gradient;
1684
 
                Cpal->gradEdit->Preview->updateDisplay();
1685
 
        }
1686
 
        if ((HaveDoc) && (HaveItem))
1687
 
        {
1688
 
                if (t == idShapeItem)
1689
 
                        DCol->setMaximum(qMax(qRound(CurItem->width() / qMax(CurItem->ColGap, 10.0)), 1));
1690
 
                if (t == idImageItem)
1691
 
                        imagePageNumber->setMaximum(CurItem->pixm.imgInfo.numberOfPages);
1692
 
        }
1693
1679
        // fix for #5991: Property Palette text input box focus stays even when on another tab
1694
1680
        // Disable widgets in all pages except current one - PV
1695
1681
        bool enable;
1705
1691
                                w->setEnabled(enable);
1706
1692
                }
1707
1693
        }
1708
 
 
 
1694
        // now restore the dis-/enabled settings of the current tab
 
1695
        if ((HaveDoc) && (HaveItem))
 
1696
        {
 
1697
                bool setter;
 
1698
                if (t == idXYZItem)
 
1699
                {
 
1700
                        if ((CurItem->isTableItem) && (CurItem->isSingleSel))
 
1701
                        {
 
1702
                                setter = true;
 
1703
                                Xpos->setEnabled(false);
 
1704
                                Ypos->setEnabled(false);
 
1705
                                Rotation->setEnabled(false);
 
1706
                        }
 
1707
                        else
 
1708
                                setter = false;
 
1709
                        LayerGroup->setEnabled(!setter);
 
1710
                        if ((CurItem->itemType() == PageItem::Line) && LMode)
 
1711
                                Rotation->setEnabled(false);
 
1712
                        else
 
1713
                                Rotation->setEnabled(!((CurItem->isTableItem) && (CurItem->isSingleSel)));
 
1714
                        if (CurItem->asLine())
 
1715
                        {
 
1716
                                keepFrameWHRatioButton->setEnabled(false);
 
1717
                                Height->setEnabled(LMode && !CurItem->locked());
 
1718
                        }
 
1719
                        else
 
1720
                        {
 
1721
                                Height->setEnabled(true);
 
1722
                                keepFrameWHRatioButton->setEnabled(true);
 
1723
                        }
 
1724
                        DoGroup->setEnabled(false);
 
1725
                        DoUnGroup->setEnabled(false);
 
1726
                        if (doc->m_Selection->count() > 1)
 
1727
                        {
 
1728
                                bool isGroup = true;
 
1729
                                int firstElem = -1;
 
1730
                                if (CurItem->Groups.count() != 0)
 
1731
                                        firstElem = CurItem->Groups.top();
 
1732
                                for (int bx = 0; bx < doc->m_Selection->count(); ++bx)
 
1733
                                {
 
1734
                                        if (doc->m_Selection->itemAt(bx)->Groups.count() != 0)
 
1735
                                        {
 
1736
                                                if (doc->m_Selection->itemAt(bx)->Groups.top() != firstElem)
 
1737
                                                        isGroup = false;
 
1738
                                        }
 
1739
                                        else
 
1740
                                                isGroup = false;
 
1741
                                }
 
1742
                                if (!isGroup)
 
1743
                                        DoGroup->setEnabled(true);
 
1744
                                else
 
1745
                                {
 
1746
                                        if (CurItem->isGroupControl)
 
1747
                                                NameEdit->setEnabled(true);
 
1748
                                }
 
1749
                                if ((CurItem->Groups.count() != 0) && (isGroup))
 
1750
                                        DoUnGroup->setEnabled(true);
 
1751
                        }
 
1752
                }
 
1753
                else if (t == idShapeItem)
 
1754
                {
 
1755
                        DCol->setMaximum(qMax(qRound(CurItem->width() / qMax(CurItem->ColGap, 10.0)), 1));
 
1756
                        if (((CurItem->asTextFrame()) || (CurItem->asImageFrame())) &&  (!CurItem->ClipEdited) && ((CurItem->FrameType == 0) || (CurItem->FrameType == 2)))
 
1757
                                RoundRect->setEnabled(true);
 
1758
                        else
 
1759
                                RoundRect->setEnabled ((CurItem->asPolygon()) &&  (!CurItem->ClipEdited)  && ((CurItem->FrameType == 0) || (CurItem->FrameType == 2)));
 
1760
                }
 
1761
                else if (t == idImageItem)
 
1762
                {
 
1763
                        imagePageNumber->setMaximum(CurItem->pixm.imgInfo.numberOfPages);
 
1764
                        setter = CurItem->ScaleType;
 
1765
                        if (CurItem->asLatexFrame())
 
1766
                        {
 
1767
                                FreeScale->setEnabled(false);
 
1768
                                FrameScale->setEnabled(false);
 
1769
                                Aspect->setEnabled(false);
 
1770
                                imageXScaleSpinBox->setEnabled(false);
 
1771
                                imageYScaleSpinBox->setEnabled(false);
 
1772
                                imgDpiX->setEnabled(false);
 
1773
                                imgDpiY->setEnabled(false);
 
1774
                        }
 
1775
                        else
 
1776
                        {
 
1777
                                imageXScaleSpinBox->setEnabled(setter);
 
1778
                                imageYScaleSpinBox->setEnabled(setter);
 
1779
                                imgDpiX->setEnabled(setter);
 
1780
                                imgDpiY->setEnabled(setter);
 
1781
                                Aspect->setEnabled(!setter);
 
1782
                                FreeScale->setEnabled(true);
 
1783
                                FrameScale->setEnabled(true);
 
1784
                        }
 
1785
                        imageXOffsetSpinBox->setEnabled(setter);
 
1786
                        imageYOffsetSpinBox->setEnabled(setter);
 
1787
                }
 
1788
                else if (t == idLineItem)
 
1789
                {
 
1790
                        if ((CurItem->asLine()) || (CurItem->asPolyLine()))
 
1791
                        {
 
1792
                                startArrow->setEnabled(true);
 
1793
                                endArrow->setEnabled(true);
 
1794
                        }
 
1795
                        else
 
1796
                        {
 
1797
                                startArrow->setEnabled(false);
 
1798
                                endArrow->setEnabled(false);
 
1799
                        }
 
1800
                        if (CurItem->NamedLStyle.isEmpty())
 
1801
                                setter = true;
 
1802
                        else
 
1803
                                setter = false;
 
1804
                        LStyle->setEnabled(setter);
 
1805
                        LSize->setEnabled(setter);
 
1806
                        LJoinStyle->setEnabled(setter);
 
1807
                        LEndStyle->setEnabled(setter);
 
1808
                }
 
1809
                else if (t == idColorsItem)
 
1810
                {
 
1811
                        Cpal->setActGradient(CurItem->GrType);
 
1812
                        updateColorSpecialGradient();
 
1813
                        Cpal->gradEdit->Preview->fill_gradient = CurItem->fill_gradient;
 
1814
                        Cpal->gradEdit->Preview->updateDisplay();
 
1815
                        KnockOut->setChecked(!CurItem->doOverprint);
 
1816
                        Overprint->setChecked(CurItem->doOverprint);
 
1817
                }
 
1818
        }
1709
1819
}
1710
1820
 
1711
1821
void PropertiesPalette::setDoc(ScribusDoc *d)
1903
2013
        if (!doc)
1904
2014
                setDoc(i->doc());
1905
2015
 
1906
 
        disconnect(StyledLine, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(SetSTline(QListWidgetItem*)));
 
2016
        disconnect(StyledLine, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(SetSTline(QListWidgetItem*)));
1907
2017
        disconnect(NameEdit, SIGNAL(Leaved()), this, SLOT(NewName()));
1908
2018
        disconnect(startArrow, SIGNAL(activated(int)), this, SLOT(setStartArrow(int )));
1909
2019
        disconnect(endArrow, SIGNAL(activated(int)), this, SLOT(setEndArrow(int )));
1910
2020
        disconnect(TabStack, SIGNAL(currentChanged(int)), this, SLOT(SelTab(int)));
1911
2021
 
 
2022
        SelTab(TabStack->currentIndex());
 
2023
 
1912
2024
        HaveItem = false;
1913
2025
        CurItem = i;
1914
2026
 
1977
2089
        }
1978
2090
        if (CurItem->asImageFrame())
1979
2091
        {
 
2092
                disconnect(imagePageNumber, SIGNAL(valueChanged(int)), this, SLOT(NewPage()));
1980
2093
                imagePageNumber->setMaximum(CurItem->pixm.imgInfo.numberOfPages);
 
2094
                imagePageNumber->setValue(CurItem->pixm.imgInfo.actualPageNumber);
 
2095
                connect(imagePageNumber, SIGNAL(valueChanged(int)), this, SLOT(NewPage()));
1981
2096
        }
1982
2097
        Revert->setChecked(CurItem->reversed());
1983
2098
        setTextFlowMode(CurItem->textFlowMode());
1996
2111
        if (CurItem->NamedLStyle.isEmpty())
1997
2112
        {
1998
2113
                setter = true;
 
2114
                QListWidgetItem *itemStl = NULL;
 
2115
                itemStl = StyledLine->item(0);
 
2116
                if (itemStl != NULL)
 
2117
                        itemStl->setSelected(true);
1999
2118
        }
2000
2119
        else
2001
2120
        {
2016
2135
                dashEditor->setDashValues(CurItem->dashes(), qMax(CurItem->lineWidth(), 0.001), CurItem->dashOffset());
2017
2136
                dashEditor->show();
2018
2137
        }
2019
 
        connect(StyledLine, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(SetSTline(QListWidgetItem*)));
 
2138
        connect(StyledLine, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(SetSTline(QListWidgetItem*)));
2020
2139
        connect(NameEdit, SIGNAL(Leaved()), this, SLOT(NewName()));
2021
2140
        connect(startArrow, SIGNAL(activated(int)), this, SLOT(setStartArrow(int )));
2022
2141
        connect(endArrow, SIGNAL(activated(int)), this, SLOT(setEndArrow(int )));
2281
2400
                return;
2282
2401
        int visID;
2283
2402
        PageItem *i=0;
 
2403
        int currentTab = TabStack->currentIndex();
2284
2404
        disconnect(TabStack, SIGNAL(currentChanged(int)), this, SLOT(SelTab(int)));
2285
2405
        if (doc->m_Selection->count()>1)
2286
2406
        {
2323
2443
                NameEdit->setEnabled(false);
2324
2444
                TabStack->setItemEnabled(idLineItem, true);
2325
2445
                TabStack->setItemEnabled(idColorsItem, true);
 
2446
                if (HaveItem && CurItem)
 
2447
                {
 
2448
                        if ((CurItem->isGroupControl) || ((CurItem->Groups.count() != 0) && (!CurItem->isSingleSel)))
 
2449
                                TabStack->setItemEnabled(idGroupItem, true);
 
2450
                }
2326
2451
                FlipH->setCheckable( false );
2327
2452
                FlipV->setCheckable( false );
2328
2453
                FlipH->setChecked(false);
2486
2611
                        break;
2487
2612
                }
2488
2613
        }
 
2614
        if (TabStack->isItemEnabled(currentTab) && (TabStack->currentIndex() != currentTab))
 
2615
                TabStack->setCurrentIndex(currentTab);
2489
2616
        updateGeometry();
2490
2617
//      setFocus();
2491
2618
        repaint();
3135
3262
                return;
3136
3263
        int omt(ParagraphStyle::OM_None);
3137
3264
//      if (optMarginCheckLeftProtruding->isChecked()) omt+=ParagraphStyle::OM_LeftProtruding;
3138
 
        if (optMarginRadioBoth->isChecked()) omt =ParagraphStyle::OM_Default;
3139
 
        else if (optMarginRadioLeft->isChecked()) omt = ParagraphStyle::OM_LeftHangingPunct;
3140
 
        else if (optMarginRadioRight->isChecked()) omt = ParagraphStyle::OM_RightHangingPunct;
 
3265
        if (optMarginRadioBoth->isChecked())
 
3266
                omt =ParagraphStyle::OM_Default;
 
3267
        else if (optMarginRadioLeft->isChecked())
 
3268
                omt = ParagraphStyle::OM_LeftHangingPunct;
 
3269
        else if (optMarginRadioRight->isChecked())
 
3270
                omt = ParagraphStyle::OM_RightHangingPunct;
3141
3271
 
3142
3272
        doc->itemSelection_SetOpticalMargins(omt);
3143
3273
}
3144
3274
 
 
3275
void PropertiesPalette::resetOpticalMargins()
 
3276
{
 
3277
        if (!HaveDoc || !HaveItem || !m_ScMW || m_ScMW->ScriptRunning)
 
3278
                return;
 
3279
        doc->itemSelection_resetOpticalMargins();
 
3280
}
 
3281
 
3145
3282
void PropertiesPalette::updateOpticalMargins(const ParagraphStyle & pStyle)
3146
3283
{
3147
3284
        
3283
3420
                        {
3284
3421
                                m_ScMW->view->endGroupTransaction();
3285
3422
                        }
 
3423
                        doc->m_Selection->getGroupRect(&gx, &gy, &gw, &gh);
 
3424
                        setXY(gx, gy);
3286
3425
                }
3287
3426
                else
3288
3427
                {
3362
3501
                {
3363
3502
                        m_ScMW->view->endGroupTransaction();
3364
3503
                }
 
3504
                doc->m_Selection->getGroupRect(&gx, &gy, &gw, &gh);
 
3505
                setXY(gx, gy);
3365
3506
        }
3366
3507
        else
3367
3508
        {
3422
3563
                if (keepFrameWHRatioButton->isChecked())
3423
3564
                {
3424
3565
//                      m_ScMW->view->frameResizeHandle = 1;
3425
 
                        doc->scaleGroup(w / gw, w / gw);
 
3566
                        doc->scaleGroup(w / gw, w / gw, false);
3426
3567
                        setBH(w, (w / gw) * gh);
3427
3568
                }
3428
3569
                else
3429
3570
                {
3430
3571
//                      m_ScMW->view->frameResizeHandle = 6;
3431
 
                        doc->scaleGroup(w / gw, 1.0);
 
3572
                        doc->scaleGroup(w / gw, 1.0, false);
3432
3573
                        doc->m_Selection->getGroupRect(&gx, &gy, &gw, &gh);
3433
3574
                        setBH(gw, gh);
3434
3575
                }
3530
3671
                        if (keepFrameWHRatioButton->isChecked())
3531
3672
                        {
3532
3673
//                              m_ScMW->view->frameResizeHandle = 1;
3533
 
                                doc->scaleGroup(h / gh, h / gh);
 
3674
                                doc->scaleGroup(h / gh, h / gh, false);
3534
3675
                                setBH((h / gh) * gw, h);
3535
3676
                        }
3536
3677
                        else
3537
3678
                        {
3538
3679
//                              m_ScMW->view->frameResizeHandle = 5;
3539
 
                                doc->scaleGroup(1.0, h / gh);
 
3680
                                doc->scaleGroup(1.0, h / gh, false);
3540
3681
                                doc->m_Selection->getGroupRect(&gx, &gy, &gw, &gh);
3541
3682
                                setBH(gw, gh);
3542
3683
                        }
4327
4468
        {
4328
4469
                if ((CurItem->itemType() == PageItem::PolyLine) || (CurItem->itemType() == PageItem::PathText))
4329
4470
                        return;
 
4471
 
 
4472
                if (UndoManager::undoEnabled())
 
4473
                {
 
4474
                        // Store shape info in this form:
 
4475
                        // CHANGE_SHAPE_TYPE - ID of the undo operation
 
4476
                        // OLD_FRAME_TYPE - original frame type
 
4477
                        // NEW_FRAME_TYPE - change of frame type
 
4478
                        // binary QPair<FPointArray, FPointArray> - .first original shape, .second new shape
 
4479
                        ItemState<QPair<FPointArray,FPointArray> > *is = new ItemState<QPair<FPointArray,FPointArray> >(Um::ChangeShapeType, "", Um::IBorder);
 
4480
                        is->set("CHANGE_SHAPE_TYPE", "change_shape_type");
 
4481
                        is->set("OLD_FRAME_TYPE", CurItem->FrameType);
 
4482
                        is->set("NEW_FRAME_TYPE", f);
 
4483
                        // HACK: this is propably Evil Code (TM). I have to find better way...
 
4484
                        FPointArray newShape;
 
4485
                        int ix = 0;
 
4486
                        for (int i = 0; i < c/2; ++i)
 
4487
                        {
 
4488
                                double x = CurItem->width() * vals[ix] / 100.0;
 
4489
                                double y = CurItem->height() * vals[ix+1] / 100.0;
 
4490
                                newShape.addPoint(x, y);
 
4491
                                ix += 2;
 
4492
                        }
 
4493
                        // HACK: end of hack
 
4494
                        is->setItem(qMakePair(CurItem->shape(), newShape));
 
4495
                        UndoManager::instance()->action(CurItem, is);
 
4496
                }
 
4497
 
4330
4498
                switch (f)
4331
4499
                {
4332
4500
                case 0:
4348
4516
                emit DocChanged();
4349
4517
                if ((CurItem->itemType() == PageItem::ImageFrame) || (CurItem->itemType() == PageItem::TextFrame))
4350
4518
                {
4351
 
                        if (f != 0)
4352
 
                                RoundRect->setEnabled(false);
4353
 
                        else
4354
 
                                RoundRect->setEnabled(true);
 
4519
                        RoundRect->setEnabled(f == 0);
4355
4520
                        return;
4356
4521
                }
4357
4522
                CurItem->convertTo(PageItem::Polygon);
4358
4523
                NewSel(6);
4359
 
                if (f != 0)
4360
 
                        RoundRect->setEnabled(false);
4361
 
                else
4362
 
                        RoundRect->setEnabled(true);
 
4524
                RoundRect->setEnabled(f == 0);
4363
4525
//              TabStack->setCurrentIndex(1);
4364
4526
        }
4365
4527
}
4468
4630
{
4469
4631
        if (!m_ScMW || m_ScMW->ScriptRunning)
4470
4632
                return;
4471
 
        disconnect(StyledLine, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(SetSTline(QListWidgetItem*)));
 
4633
        disconnect(StyledLine, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(SetSTline(QListWidgetItem*)));
4472
4634
        StyledLine->clear();
4473
4635
        if (dd != 0)
4474
4636
        {
4480
4642
                if (StyledLine->currentItem())
4481
4643
                        StyledLine->currentItem()->setSelected(false);
4482
4644
        }
4483
 
        connect(StyledLine, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(SetSTline(QListWidgetItem*)));
 
4645
        connect(StyledLine, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(SetSTline(QListWidgetItem*)));
4484
4646
}
4485
4647
 
4486
4648
void PropertiesPalette::SetSTline(QListWidgetItem *c)
4961
5123
        TransGroup->setTitle( tr( "Transparency Settings" ));
4962
5124
        TransTxt->setText( tr( "Opacity:" ) );
4963
5125
        TransTxt2->setText( tr( "Blend Mode:" ) );
 
5126
        int oldBlendMode = blendMode->currentIndex();
4964
5127
        blendMode->clear();
4965
5128
        blendMode->addItem( tr("Normal"));
4966
5129
        blendMode->addItem( tr("Darken"));
4977
5140
        blendMode->addItem( tr("Hue"));
4978
5141
        blendMode->addItem( tr("Saturation"));
4979
5142
        blendMode->addItem( tr("Color"));
 
5143
        blendMode->setCurrentIndex(oldBlendMode);
4980
5144
        rndcornersLabel->setText( tr("R&ound\nCorners:"));
4981
5145
        columnsLabel->setText( tr("Colu&mns:"));
4982
5146
        int oldcolgapLabel = colgapLabel->currentIndex();
4991
5155
        rightLabel->setText( tr("&Right:"));
4992
5156
        TabsButton->setText( tr("T&abulators..."));
4993
5157
//      Distance2->setTitle( tr("Path Text Properties"));
 
5158
        int oldPathType = pathTextType->currentIndex();
4994
5159
        pathTextType->clear();
4995
5160
        pathTextType->addItem( tr("Default"));
4996
5161
        pathTextType->addItem( tr("Stair Step"));
4997
5162
        pathTextType->addItem( tr("Skew"));
 
5163
        pathTextType->setCurrentIndex(oldPathType);
4998
5164
        flippedPathText->setText( tr("Flip Text"));
4999
5165
        showcurveCheckBox->setText( tr("Show Curve"));
5000
5166
        pathTextTypeLabel->setText( tr("Type:"));
5066
5232
//      actList[0]->setText( tr("Fixed Linespacing"));
5067
5233
//      actList[1]->setText( tr("Automatic Linespacing"));
5068
5234
//      actList[2]->setText( tr("Align to Baseline Grid"));
 
5235
        int oldLineSpacingMode = lineSpacingModeCombo->currentIndex();
 
5236
        lineSpacingModeCombo->clear();
5069
5237
        lineSpacingModeCombo->addItem( tr("Fixed Linespacing"));
5070
5238
        lineSpacingModeCombo->addItem( tr("Automatic Linespacing"));
5071
5239
        lineSpacingModeCombo->addItem( tr("Align to Baseline Grid"));
 
5240
        lineSpacingModeCombo->setCurrentIndex(oldLineSpacingMode);
5072
5241
        int oldMonitorI=MonitorI->currentIndex();
5073
5242
        MonitorI->clear();
5074
5243
        MonitorI->addItem( tr("Perceptual"));
5206
5375
        textFlowUsesContourLine2->setToolTip("");
5207
5376
        textFlowUsesImageClipping2->setToolTip("");
5208
5377
 
5209
 
        Fonts->setToolTip("");
 
5378
        //Fonts->setToolTip("");
5210
5379
        Size->setToolTip("");
5211
5380
        ChBase->setToolTip("");
5212
5381
        ChScale->setToolTip("");
5298
5467
        textFlowUsesContourLine2->setToolTip(  "<qt>" + tr("When chosen, the contour line can be edited with the Edit Shape Tool on the palette further above. When edited via the shape palette, this becomes a second separate line originally based on the frame's shape for text flow of text frames below the object. T") + "</qt>" );
5299
5468
        textFlowUsesImageClipping2->setToolTip(  "<qt>" + tr("Use the clipping path of the image") + "</qt>" );
5300
5469
 
5301
 
        Fonts->setToolTip( tr("Font of selected text or object"));
 
5470
        //Fonts->setToolTip( tr("Font of selected text or object"));
5302
5471
        Size->setToolTip( tr("Font Size"));
5303
5472
        ChBase->setToolTip( tr("Offset to baseline of characters"));
5304
5473
        ChScale->setToolTip( tr("Scaling width of characters"));
5334
5503
        LJoinStyle->setToolTip( tr("Type of line joins"));
5335
5504
        LEndStyle->setToolTip( tr("Type of line end"));
5336
5505
        StyledLine->setToolTip( tr("Line style of current object"));
 
5506
        startArrow->setToolTip( tr("Arrow head style for start of line"));
 
5507
        endArrow->setToolTip( tr("Arrow head style for end of line"));
5337
5508
 
5338
5509
        SCustom->setToolTip( tr("Choose the shape of frame..."));
5339
5510
        EditShape->setToolTip( tr("Edit shape of the frame..."));
5355
5526
        keepImageWHRatioButton->setToolTip( tr("Keep the X and Y scaling the same"));
5356
5527
        keepFrameWHRatioButton->setToolTip( tr("Keep the aspect ratio"));
5357
5528
        FrameScale->setToolTip( tr("Make the image fit within the size of the frame"));
 
5529
        imgDpiX->setToolTip( tr("Effective horizontal DPI of the image after scaling"));
 
5530
        imgDpiY->setToolTip( tr("Effective vertical DPI of the image after scaling"));
5358
5531
        Aspect->setToolTip( tr("Use image proportions rather than those of the frame"));
5359
5532
        InputP->setToolTip( tr("Source profile of the image"));
5360
5533
        MonitorI->setToolTip( tr("Rendering intent for the image"));