~ubuntu-branches/debian/sid/scribus/sid

« back to all changes in this revision

Viewing changes to .pc/qreal_double.patch/scribus/scribus.cpp

  • Committer: Package Import Robot
  • Author(s): Mattia Rizzolo
  • Date: 2015-07-28 12:27:49 UTC
  • mfrom: (1.2.1) (20.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20150728122749-qa6ptt1t5p5x05ix
Tags: 1.4.5+dfsg1-1
* [9185477] Imported Upstream version 1.4.5+dfsg1.
  + This removes several non-dfsg files.
* [38cb2ce,bf61884] debian/rules: properly exclude the plugins from
  dh_fixperms.  Thanks to Philip Muskovac for the idea.
* [c370e55] debian/copyright: exclude some non-free files from the packaging.
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3902
3902
 
3903
3903
bool ScribusMainWindow::loadDoc(QString fileName)
3904
3904
{
3905
 
        undoManager->setUndoEnabled(false);
3906
3905
        QFileInfo fi(fileName);
3907
3906
        if (!fi.exists())
3908
3907
        {
3922
3921
        // PV - 5780: Scribus doesn't track what documents are already opened
3923
3922
        // The goal of this part of code is to disallow user to open one
3924
3923
        // doc multiple times.
3925
 
        QString platfName(QDir::toNativeSeparators(fileName));
 
3924
        QString FName = fi.absoluteFilePath();
 
3925
        QString platfName(QDir::toNativeSeparators(FName));
3926
3926
        uint windowCount = windows.count();
3927
3927
        for ( uint i = 0; i < windowCount; ++i )
3928
3928
        {
3942
3942
                }
3943
3943
        }
3944
3944
 
 
3945
        UndoBlocker undoBlocker;
3945
3946
        if (!fileName.isEmpty())
3946
3947
        {
3947
 
                QString FName = fi.absoluteFilePath();
3948
3948
                FileLoader *fileLoader = new FileLoader(FName);
3949
3949
                int testResult = fileLoader->testFile();
3950
3950
                if (testResult == -1)
4001
4001
                //This also gives the user the opportunity to cancel the load when finding theres a replacement required.
4002
4002
                if (loadSuccess && ScCore->usingGUI())
4003
4003
                        loadSuccess = fileLoader->postLoad(doc);
4004
 
                if(!loadSuccess)
 
4004
                if (!loadSuccess)
4005
4005
                {
4006
4006
                        view->close();
4007
4007
                        delete fileLoader;
4015
4015
                        mainWindowStatusLabel->setText("");
4016
4016
                        mainWindowProgressBar->reset();
4017
4017
                        ActWin = NULL;
4018
 
                        undoManager->setUndoEnabled(true);
4019
4018
                        if (windows.count() != 0)
4020
4019
                                newActWin(ActWinOld);
4021
4020
                        return false;
4265
4264
        undoManager->switchStack(doc->DocName);
4266
4265
        pagePalette->Rebuild();
4267
4266
        qApp->restoreOverrideCursor();
4268
 
        undoManager->setUndoEnabled(true);
4269
4267
        doc->setModified(false);
4270
4268
        return ret;
4271
4269
}
4720
4718
                scrActions["editSelectAll"]->setEnabled(false);
4721
4719
                scrActions["editSelectAllOnLayer"]->setEnabled(false);
4722
4720
                scrActions["editDeselectAll"]->setEnabled(false);
 
4721
                scrActions["editEditWithImageEditor"]->setEnabled(false);
 
4722
                scrActions["editEditRenderSource"]->setEnabled(false);
4723
4723
                scrActions["editReplaceColors"]->setEnabled(false);
4724
4724
                scrActions["editPatterns"]->setEnabled(false);
4725
4725
                scrActions["editStyles"]->setEnabled(false);
5539
5539
 
5540
5540
void ScribusMainWindow::deselectAll()
5541
5541
{
5542
 
        if (doc->appMode == modeEdit)
 
5542
        bool inEditMode = (doc->appMode == modeEdit ||
 
5543
                                           doc->appMode == modeEditClip ||
 
5544
                                           doc->appMode == modeEditGradientVectors);
 
5545
        if (inEditMode)
5543
5546
        {
5544
5547
                if (doc->m_Selection->count() <= 0)
5545
5548
                        return;
5657
5660
                wdir = prefsManager->prefsFile->getContext("dirs")->get("save_text", prefsDocDir);
5658
5661
        else
5659
5662
                wdir = prefsManager->prefsFile->getContext("dirs")->get("save_text", ".");
5660
 
        QString fn = CFileDialog( wdir, tr("Save As"), tr("Text Files (*.txt);;All Files(*)"), "", fdShowCodecs|fdHidePreviewCheckBox);
 
5663
        QString fn = CFileDialog( wdir, tr("Save As"), tr("Text Files (*.txt);;All Files (*)"), "", fdShowCodecs|fdHidePreviewCheckBox);
5661
5664
        if (!fn.isEmpty())
5662
5665
        {
5663
5666
                prefsManager->prefsFile->getContext("dirs")->set("save_text", fn.left(fn.lastIndexOf("/")));
5730
5733
                ss->set("PAGE", wo);
5731
5734
                ss->set("WHERE", where);
5732
5735
                ss->set("COUNT", numPages);
 
5736
                ss->set("MASTER_PAGE_MODE",  doc->masterPageMode());
5733
5737
                if (basedOn != NULL)
5734
5738
                        ss->set("BASED", basedOn->join("|"));
5735
5739
                else
6332
6336
                connect(view, SIGNAL(PolyStatus(int, uint)), nodePalette, SLOT(PolyStatus(int, uint)));
6333
6337
                doc->nodeEdit.reset();
6334
6338
//done elsewhere now            doc->appMode = modeEditClip;
 
6339
                scrActions["insertFrame"]->setEnabled(false);
6335
6340
                scrActions["toolsSelect"]->setEnabled(false);
6336
6341
                scrActions["toolsRotate"]->setEnabled(false);
6337
6342
                scrActions["toolsEditContents"]->setEnabled(false);
6410
6415
        nodePalette->setDoc(0,0);
6411
6416
        nodePalette->hide();
6412
6417
//      qDebug() << "nodepalette hide";
 
6418
        scrActions["editUndoAction"]->setEnabled(UndoManager::instance()->hasUndoActions());
 
6419
        scrActions["editRedoAction"]->setEnabled(UndoManager::instance()->hasRedoActions());
 
6420
        scrActions["insertFrame"]->setEnabled(true);
6413
6421
        scrActions["toolsSelect"]->setEnabled(true);
6414
6422
        scrActions["toolsSelect"]->setChecked(true);
6415
6423
        scrActions["toolsRotate"]->setEnabled(true);
6889
6897
                        ss->set("PAGENR", a + 1);
6890
6898
                        ss->set("PAGENAME",   doc->Pages->at(a)->pageName());
6891
6899
                        ss->set("MASTERPAGE", doc->Pages->at(a)->MPageNam);
 
6900
                        ss->set("MASTER_PAGE_MODE",  doc->masterPageMode());
6892
6901
                        // replace the deleted page in the undostack by a dummy object that will
6893
6902
                        // replaced with the "undone" page if user choose to undo the action
6894
6903
                        DummyUndoObject *duo = new DummyUndoObject();
7644
7653
        view->Deselect(true);
7645
7654
        UndoTransaction *trans = NULL;
7646
7655
        if (UndoManager::undoEnabled())
7647
 
                trans = new UndoTransaction(undoManager->beginTransaction(Um::Selection, Um::IPolygon, Um::Copy, "", Um::IMultipleDuplicate));
 
7656
                trans = new UndoTransaction(undoManager->beginTransaction(Um::Selection, Um::IPolygon, Um::Duplicate, "", Um::IMultipleDuplicate));
7648
7657
        slotEditPaste();
7649
7658
        for (int b=0; b<doc->m_Selection->count(); ++b)
7650
7659
        {
8520
8529
        pagePalette->enablePalette(true);
8521
8530
        pagePalette->rebuildMasters();
8522
8531
        ActWin->setMasterPagesPalette(NULL);
 
8532
        // #12857 : the number of pages may change when undoing/redoing
 
8533
        // page addition/deletion while in edit mode, so take some extra
 
8534
        // care so that storedPageNum is in appropriate range
 
8535
        storedPageNum = qMin(storedPageNum, doc->DocPages.count() - 1);
8523
8536
        doc->setCurrentPage(doc->DocPages.at(storedPageNum));
8524
8537
        view->reformPages(false);
8525
8538
        view->setContentsPos(static_cast<int>(storedViewXCoor * storedViewScale), static_cast<int>(storedViewYCoor * storedViewScale));
8660
8673
        QStringList tmpl;
8661
8674
        tmpl << state->get("MASTERPAGE");
8662
8675
        QString pageName = state->get("PAGENAME");
8663
 
        bool oldPageMode = doc->masterPageMode();
8664
 
        if (!pageName.isEmpty() && !oldPageMode) // We try do undo a master page deletion in standard mode
8665
 
                doc->setMasterPageMode(true);
 
8676
        bool savedMasterPageMode = state->getBool("MASTER_PAGE_MODE");
 
8677
        bool currMasterPageMode=doc->masterPageMode();
 
8678
        if (currMasterPageMode!=savedMasterPageMode)
 
8679
                doc->setMasterPageMode(savedMasterPageMode);
8666
8680
        if (pagenr == 1)
8667
8681
        {
8668
8682
                where = 0;
8678
8692
                where = 1;
8679
8693
                wo = pagenr - 1;
8680
8694
        }
 
8695
 
8681
8696
        if (isUndo)
8682
8697
        {
8683
 
                if (doc->masterPageMode())
 
8698
                if (savedMasterPageMode)
8684
8699
                {
8685
8700
                        slotNewMasterPage(wo, pageName);
8686
8701
                }
8700
8715
                state->set("DUMMY_ID", id);
8701
8716
                deletePage(pagenr, pagenr);
8702
8717
        }
8703
 
        if (!pageName.isEmpty() && !oldPageMode)
8704
 
        {
8705
 
                doc->setMasterPageMode(oldPageMode);
8706
 
                doc->rebuildMasterNames();
8707
 
                pagePalette->rebuildMasters();
8708
 
        }
8709
 
        if (doc->masterPageMode() && !pageName.isEmpty())
 
8718
        if (currMasterPageMode!=savedMasterPageMode)
 
8719
                doc->setMasterPageMode(currMasterPageMode);
 
8720
        doc->rebuildMasterNames();
 
8721
        if (ActWin->masterPagesPalette())
8710
8722
                ActWin->masterPagesPalette()->updateMasterPageList();
 
8723
        pagePalette->rebuildMasters();
8711
8724
        pagePalette->rebuildPages();
 
8725
        if (outlinePalette->isVisible())
 
8726
                outlinePalette->BuildTree();
8712
8727
}
8713
8728
 
8714
8729
void ScribusMainWindow::restoreAddPage(SimpleState *state, bool isUndo)
8722
8737
        int orient = state->getInt("ORIENT");
8723
8738
        QString siz = state->get("SIZE");
8724
8739
        bool mov = static_cast<bool>(state->getInt("MOVED"));
 
8740
        bool savedMasterPageMode = state->getBool("MASTER_PAGE_MODE");
8725
8741
 
8726
8742
        int delFrom = 0;
8727
8743
        int delTo = 0;
 
8744
        bool currMasterPageMode=doc->masterPageMode();
 
8745
        if (currMasterPageMode!=savedMasterPageMode)
 
8746
                doc->setMasterPageMode(savedMasterPageMode);
 
8747
 
8728
8748
        switch (where)
8729
8749
        {
8730
8750
                case 0:
8761
8781
        }
8762
8782
        else
8763
8783
        {
8764
 
                if (doc->masterPageMode())
 
8784
                if (savedMasterPageMode)
8765
8785
                {
8766
8786
                        assert (count == 1);
8767
8787
                        slotNewMasterPage(wo, based[0]);
8777
8797
                        delete tmp;
8778
8798
                }
8779
8799
        }
 
8800
        if (currMasterPageMode!=savedMasterPageMode)
 
8801
                doc->setMasterPageMode(currMasterPageMode);
 
8802
        doc->rebuildMasterNames();
 
8803
        if (ActWin->masterPagesPalette())
 
8804
                ActWin->masterPagesPalette()->updateMasterPageList();
 
8805
        pagePalette->rebuildPages();
 
8806
        if (outlinePalette->isVisible())
 
8807
                outlinePalette->BuildTree();
8780
8808
}
8781
8809
 
8782
8810
void ScribusMainWindow::restoreGrouping(SimpleState *state, bool isUndo)
9694
9722
 
9695
9723
void ScribusMainWindow::slotInsertFrame()
9696
9724
{
9697
 
        if (HaveDoc)
 
9725
        if (!HaveDoc)
 
9726
                return;
 
9727
 
 
9728
        view->requestMode(modeNormal);
 
9729
        if (doc->m_Selection->count() != 0)
 
9730
                view->Deselect(false);
 
9731
 
 
9732
        InsertAFrame *dia = new InsertAFrame(this, doc);
 
9733
        if (dia->exec())
9698
9734
        {
9699
 
                if (doc->m_Selection->count() != 0)
9700
 
                        view->Deselect(false);
9701
 
                InsertAFrame *dia = new InsertAFrame(this, doc);
9702
 
                if (dia->exec())
9703
 
                {
9704
 
                        InsertAFrameData iafData;
9705
 
                        dia->getNewFrameProperties(iafData);
9706
 
                        doc->itemAddUserFrame(iafData);
9707
 
                }
9708
 
                delete dia;
 
9735
                InsertAFrameData iafData;
 
9736
                dia->getNewFrameProperties(iafData);
 
9737
                doc->itemAddUserFrame(iafData);
9709
9738
        }
 
9739
        delete dia;
9710
9740
}
9711
9741
 
9712
9742
void ScribusMainWindow::PutToPatterns()