r22551 by jghali - avoid some big "if" blocks by exiting early when possible
scribus-commit
scribus-commit at lists.scribus.net
Tue May 22 09:36:03 UTC 2018
Author: jghali
Date: Tue May 22 09:36:03 2018
New Revision: 22551
URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22551
Log:
avoid some big "if" blocks by exiting early when possible
Modified:
trunk/Scribus/scribus/scribusdoc.cpp
trunk/Scribus/scribus/ui/colorsandfills.cpp
Modified: trunk/Scribus/scribus/scribusdoc.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22551&path=/trunk/Scribus/scribus/scribusdoc.cpp
==============================================================================
--- trunk/Scribus/scribus/scribusdoc.cpp (original)
+++ trunk/Scribus/scribus/scribusdoc.cpp Tue May 22 09:36:03 2018
@@ -7957,52 +7957,52 @@
{
Selection* itemSelection = (customSelection!=nullptr) ? customSelection : m_Selection;
uint docSelectionCount = itemSelection->count();
- if (docSelectionCount != 0)
- {
- UndoTransaction activeTransaction;
- m_updateManager.setUpdatesDisabled();
- if (UndoManager::undoEnabled() && docSelectionCount > 1)
- activeTransaction = m_undoManager->beginTransaction(Um::SelectionGroup, Um::IGroup, Um::LineStyle, name, Um::ILineStyle);
- for (uint aa = 0; aa < docSelectionCount; ++aa)
- {
- PageItem *currItem = itemSelection->itemAt(aa);
- currItem->setCustomLineStyle(name);
- currItem->update();
- }
- if (activeTransaction)
- activeTransaction.commit();
- m_updateManager.setUpdatesEnabled();
- changed();
- }
+ if (docSelectionCount <= 0)
+ return;
+
+ UndoTransaction activeTransaction;
+ m_updateManager.setUpdatesDisabled();
+ if (UndoManager::undoEnabled() && docSelectionCount > 1)
+ activeTransaction = m_undoManager->beginTransaction(Um::SelectionGroup, Um::IGroup, Um::LineStyle, name, Um::ILineStyle);
+ for (uint aa = 0; aa < docSelectionCount; ++aa)
+ {
+ PageItem *currItem = itemSelection->itemAt(aa);
+ currItem->setCustomLineStyle(name);
+ currItem->update();
+ }
+ if (activeTransaction)
+ activeTransaction.commit();
+ m_updateManager.setUpdatesEnabled();
+ changed();
}
void ScribusDoc::itemSelection_SetItemPen(QString farbe)
{
int selectedItemCount = m_Selection->count();
- if (selectedItemCount != 0)
- {
- UndoTransaction activeTransaction;
- m_updateManager.setUpdatesDisabled();
- if (farbe == CommonStrings::tr_NoneColor)
- farbe = CommonStrings::None;
- if (selectedItemCount > 1 && UndoManager::undoEnabled())
- activeTransaction = m_undoManager->beginTransaction(Um::SelectionGroup,
- Um::IGroup, Um::SetLineColor, farbe, Um::IFill);
- PageItem *currItem;
- for (int i = 0; i < selectedItemCount; ++i)
- {
- currItem = m_Selection->itemAt(i);
- if ((currItem->asLine()) && (farbe == CommonStrings::None))
- continue;
-
- currItem->setLineColor(farbe);
- currItem->update();
- }
- if (activeTransaction)
- activeTransaction.commit();
- m_updateManager.setUpdatesEnabled();
- }
+ if (selectedItemCount <= 0)
+ return;
+
+ UndoTransaction activeTransaction;
+ m_updateManager.setUpdatesDisabled();
+ if (farbe == CommonStrings::tr_NoneColor)
+ farbe = CommonStrings::None;
+ if (selectedItemCount > 1 && UndoManager::undoEnabled())
+ activeTransaction = m_undoManager->beginTransaction(Um::SelectionGroup,
+ Um::IGroup, Um::SetLineColor, farbe, Um::IFill);
+ PageItem *currItem;
+ for (int i = 0; i < selectedItemCount; ++i)
+ {
+ currItem = m_Selection->itemAt(i);
+ if ((currItem->asLine()) && (farbe == CommonStrings::None))
+ continue;
+
+ currItem->setLineColor(farbe);
+ currItem->update();
+ }
+ if (activeTransaction)
+ activeTransaction.commit();
+ m_updateManager.setUpdatesEnabled();
changed();
}
Modified: trunk/Scribus/scribus/ui/colorsandfills.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22551&path=/trunk/Scribus/scribus/ui/colorsandfills.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/colorsandfills.cpp (original)
+++ trunk/Scribus/scribus/ui/colorsandfills.cpp Tue May 22 09:36:03 2018
@@ -318,19 +318,19 @@
void ColorsAndFillsDialog::slotRightClick(QPoint p)
{
QTreeWidgetItem* it = dataTree->itemAt(p);
- if (it)
- {
- if ((it->parent() == colorItems) || (it == colorItems))
- {
- QMenu *pmen = new QMenu();
+ if (!it)
+ return;
+
+ if ((it->parent() == colorItems) || (it == colorItems))
+ {
+ QMenu *pmen = new QMenu();
// qApp->changeOverrideCursor(QCursor(Qt::ArrowCursor));
- pmen->addAction( tr("Sort by Name"));
- pmen->addAction( tr("Sort by Color"));
- pmen->addAction( tr("Sort by Type"));
- sortRule = pmen->actions().indexOf(pmen->exec(QCursor::pos()));
- delete pmen;
- updateColorList();
- }
+ pmen->addAction( tr("Sort by Name"));
+ pmen->addAction( tr("Sort by Color"));
+ pmen->addAction( tr("Sort by Type"));
+ sortRule = pmen->actions().indexOf(pmen->exec(QCursor::pos()));
+ delete pmen;
+ updateColorList();
}
}
@@ -443,56 +443,56 @@
if (paletteLocked)
return;
QTreeWidgetItem* it = dataTree->currentItem();
- if (it)
- {
- if ((it->parent() == gradientItems) || (it == gradientItems))
- {
- VGradient fill_gradient = VGradient(VGradient::linear);
- fill_gradient.clearStops();
- fill_gradient.addStop(QColor(Qt::black), 0.0, 0.5, 1.0, "Black", 100);
- fill_gradient.addStop(QColor(Qt::white), 1.0, 0.5, 1.0, "White", 100);
- gradientEditDialog *dia = new gradientEditDialog(this, tr("New Gradient"), fill_gradient, m_colorList, m_doc, &dialogGradients, true);
- if (dia->exec())
- {
- dialogGradients.insert(dia->name(), dia->gradient());
- QTreeWidgetItem *lg = updateGradientList(dia->name());
- if (lg != 0)
- {
- dataTree->expandItem(lg->parent());
- dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
- }
- itemSelected(dataTree->currentItem());
- modified = true;
- }
- delete dia;
- }
- else if ((it->parent() == colorItems) || (it == colorItems))
- {
- ScColor tmpColor = ScColor(0, 0, 0, 0);
- CMYKChoose* dia = new CMYKChoose(this, m_doc, tmpColor, tr("New Color"), &m_colorList, true);
- if (dia->exec())
- {
- dia->Farbe.setSpotColor(dia->isSpotColor());
- m_colorList.insert(dia->colorName(), dia->Farbe);
- QTreeWidgetItem *lg = updateColorList(dia->colorName());
- if (lg != 0)
- {
- dataTree->expandItem(lg->parent());
- dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
- }
- itemSelected(dataTree->currentItem());
- modified = true;
- }
- delete dia;
- }
- else if ((it->parent() == patternItems) || (it == patternItems))
- {
- loadPatternDir();
- updateColorList();
- updateGradientList();
- updatePatternList();
- itemSelected(0);
- }
+ if (!it)
+ return;
+
+ if ((it->parent() == gradientItems) || (it == gradientItems))
+ {
+ VGradient fill_gradient = VGradient(VGradient::linear);
+ fill_gradient.clearStops();
+ fill_gradient.addStop(QColor(Qt::black), 0.0, 0.5, 1.0, "Black", 100);
+ fill_gradient.addStop(QColor(Qt::white), 1.0, 0.5, 1.0, "White", 100);
+ gradientEditDialog *dia = new gradientEditDialog(this, tr("New Gradient"), fill_gradient, m_colorList, m_doc, &dialogGradients, true);
+ if (dia->exec())
+ {
+ dialogGradients.insert(dia->name(), dia->gradient());
+ QTreeWidgetItem *lg = updateGradientList(dia->name());
+ if (lg != 0)
+ {
+ dataTree->expandItem(lg->parent());
+ dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
+ }
+ itemSelected(dataTree->currentItem());
+ modified = true;
+ }
+ delete dia;
+ }
+ else if ((it->parent() == colorItems) || (it == colorItems))
+ {
+ ScColor tmpColor = ScColor(0, 0, 0, 0);
+ CMYKChoose* dia = new CMYKChoose(this, m_doc, tmpColor, tr("New Color"), &m_colorList, true);
+ if (dia->exec())
+ {
+ dia->Farbe.setSpotColor(dia->isSpotColor());
+ m_colorList.insert(dia->colorName(), dia->Farbe);
+ QTreeWidgetItem *lg = updateColorList(dia->colorName());
+ if (lg != 0)
+ {
+ dataTree->expandItem(lg->parent());
+ dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
+ }
+ itemSelected(dataTree->currentItem());
+ modified = true;
+ }
+ delete dia;
+ }
+ else if ((it->parent() == patternItems) || (it == patternItems))
+ {
+ loadPatternDir();
+ updateColorList();
+ updateGradientList();
+ updatePatternList();
+ itemSelected(0);
}
}
@@ -501,130 +501,130 @@
if (paletteLocked)
return;
QTreeWidgetItem* it = dataTree->currentItem();
- if (it)
- {
- if (it->parent() == gradientItems)
- {
- QString gradN = it->text(0);
- QString patternName = origNames[it->text(0)];
- QString newName;
- gradientEditDialog *dia = new gradientEditDialog(this, gradN, dialogGradients[gradN], m_colorList, m_doc, &dialogGradients, false);
- if (dia->exec())
- {
- newName = dia->name();
- if (newName != gradN)
- {
- origNames.remove(patternName);
- origNames.insert(newName, patternName);
- replaceMap.insert(patternName, newName);
- dialogGradients.remove(gradN);
- dialogGradients.insert(newName, dia->gradient());
- }
- else
- dialogGradients[gradN] = dia->gradient();
- QStringList patterns = dialogPatterns.keys();
- for (int c = 0; c < dialogPatterns.count(); ++c)
- {
- ScPattern pa = dialogPatterns[patterns[c]];
- for (int o = 0; o < pa.items.count(); o++)
+ if (!it)
+ return;
+
+ if (it->parent() == gradientItems)
+ {
+ QString gradN = it->text(0);
+ QString patternName = origNames[it->text(0)];
+ QString newName;
+ gradientEditDialog *dia = new gradientEditDialog(this, gradN, dialogGradients[gradN], m_colorList, m_doc, &dialogGradients, false);
+ if (dia->exec())
+ {
+ newName = dia->name();
+ if (newName != gradN)
+ {
+ origNames.remove(patternName);
+ origNames.insert(newName, patternName);
+ replaceMap.insert(patternName, newName);
+ dialogGradients.remove(gradN);
+ dialogGradients.insert(newName, dia->gradient());
+ }
+ else
+ dialogGradients[gradN] = dia->gradient();
+ QStringList patterns = dialogPatterns.keys();
+ for (int c = 0; c < dialogPatterns.count(); ++c)
+ {
+ ScPattern pa = dialogPatterns[patterns[c]];
+ for (int o = 0; o < pa.items.count(); o++)
+ {
+ PageItem *ite = pa.items.at(o);
+ if (ite->gradient() == gradN)
+ ite->setGradient(newName);
+ if (ite->strokeGradient() == gradN)
+ ite->setStrokeGradient(newName);
+ if (ite->gradientMask() == gradN)
+ ite->setGradientMask(newName);
+ }
+ PageItem *ite = pa.items.at(0);
+ dialogPatterns[patterns[c]].pattern = ite->DrawObj_toImage(pa.items, 1.0);
+ }
+ QTreeWidgetItem *lg = updateGradientList(dia->name());
+ if (lg != 0)
+ {
+ dataTree->expandItem(lg->parent());
+ dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
+ }
+ itemSelected(dataTree->currentItem());
+ modified = true;
+ }
+ delete dia;
+ }
+ else if (it->parent() == colorItems)
+ {
+ ScColor tmpColor = m_colorList[it->text(0)];
+ CMYKChoose* dia = new CMYKChoose(this, m_doc, tmpColor, it->text(0), &m_colorList, false);
+ if (dia->exec())
+ {
+ dia->Farbe.setSpotColor(dia->isSpotColor());
+ dia->Farbe.setRegistrationColor(tmpColor.isRegistrationColor());
+ m_colorList[dia->colorName()] = dia->Farbe;
+ if (it->text(0) != dia->colorName())
+ {
+ replaceColorMap.insert(it->text(0), dia->colorName());
+ m_colorList.remove(it->text(0));
+ }
+ updateGradientColors(dia->colorName(), it->text(0));
+ updateGradientList();
+ updatePatternList();
+ QTreeWidgetItem *lg = updateColorList(dia->colorName());
+ if (lg != 0)
+ {
+ dataTree->expandItem(lg->parent());
+ dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
+ }
+ itemSelected(dataTree->currentItem());
+ modified = true;
+ }
+ delete dia;
+ }
+ else if (it->parent() == patternItems)
+ {
+ QString patternName = origNames[it->text(0)];
+ QString newName = "";
+ Query dia(this, "tt", 1, tr("&Name:"), tr("Rename Entry"));
+ dia.setEditText(it->text(0), true);
+ dia.setTestList(dialogPatterns.keys());
+ if (dia.exec())
+ {
+ newName = dia.getEditText();
+ ScPattern pat = dialogPatterns.take(it->text(0));
+ dialogPatterns.insert(newName, pat);
+ replaceMapPatterns.insert(patternName, newName);
+ origNamesPatterns.remove(it->text(0));
+ origNamesPatterns.insert(newName, patternName);
+ QStringList patterns = dialogPatterns.keys();
+ for (int c = 0; c < dialogPatterns.count(); ++c)
+ {
+ ScPattern pa = dialogPatterns[patterns[c]];
+ for (int o = 0; o < pa.items.count(); o++)
+ {
+ PageItem *ite = pa.items.at(o);
+ if ((ite->pattern() == patternName) && ((ite->GrType == 8) || (ite->itemType() == PageItem::Symbol)))
+ ite->setPattern(newName);
+ if (!ite->strokePattern().isEmpty())
{
- PageItem *ite = pa.items.at(o);
- if (ite->gradient() == gradN)
- ite->setGradient(newName);
- if (ite->strokeGradient() == gradN)
- ite->setStrokeGradient(newName);
- if (ite->gradientMask() == gradN)
- ite->setGradientMask(newName);
+ if (ite->strokePattern() == patternName)
+ ite->setStrokePattern(newName);
}
- PageItem *ite = pa.items.at(0);
- dialogPatterns[patterns[c]].pattern = ite->DrawObj_toImage(pa.items, 1.0);
- }
- QTreeWidgetItem *lg = updateGradientList(dia->name());
- if (lg != 0)
- {
- dataTree->expandItem(lg->parent());
- dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
- }
- itemSelected(dataTree->currentItem());
- modified = true;
- }
- delete dia;
- }
- else if (it->parent() == colorItems)
- {
- ScColor tmpColor = m_colorList[it->text(0)];
- CMYKChoose* dia = new CMYKChoose(this, m_doc, tmpColor, it->text(0), &m_colorList, false);
- if (dia->exec())
- {
- dia->Farbe.setSpotColor(dia->isSpotColor());
- dia->Farbe.setRegistrationColor(tmpColor.isRegistrationColor());
- m_colorList[dia->colorName()] = dia->Farbe;
- if (it->text(0) != dia->colorName())
- {
- replaceColorMap.insert(it->text(0), dia->colorName());
- m_colorList.remove(it->text(0));
- }
- updateGradientColors(dia->colorName(), it->text(0));
- updateGradientList();
- updatePatternList();
- QTreeWidgetItem *lg = updateColorList(dia->colorName());
- if (lg != 0)
- {
- dataTree->expandItem(lg->parent());
- dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
- }
- itemSelected(dataTree->currentItem());
- modified = true;
- }
- delete dia;
- }
- else if (it->parent() == patternItems)
- {
- QString patternName = origNames[it->text(0)];
- QString newName = "";
- Query dia(this, "tt", 1, tr("&Name:"), tr("Rename Entry"));
- dia.setEditText(it->text(0), true);
- dia.setTestList(dialogPatterns.keys());
- if (dia.exec())
- {
- newName = dia.getEditText();
- ScPattern pat = dialogPatterns.take(it->text(0));
- dialogPatterns.insert(newName, pat);
- replaceMapPatterns.insert(patternName, newName);
- origNamesPatterns.remove(it->text(0));
- origNamesPatterns.insert(newName, patternName);
- QStringList patterns = dialogPatterns.keys();
- for (int c = 0; c < dialogPatterns.count(); ++c)
- {
- ScPattern pa = dialogPatterns[patterns[c]];
- for (int o = 0; o < pa.items.count(); o++)
+ if (!ite->patternMask().isEmpty())
{
- PageItem *ite = pa.items.at(o);
- if ((ite->pattern() == patternName) && ((ite->GrType == 8) || (ite->itemType() == PageItem::Symbol)))
- ite->setPattern(newName);
- if (!ite->strokePattern().isEmpty())
- {
- if (ite->strokePattern() == patternName)
- ite->setStrokePattern(newName);
- }
- if (!ite->patternMask().isEmpty())
- {
- if (ite->patternMask() == patternName)
- ite->setPatternMask(newName);
- }
+ if (ite->patternMask() == patternName)
+ ite->setPatternMask(newName);
}
}
- QTreeWidgetItem *lg = updatePatternList(newName);
- if (lg != 0)
- {
- dataTree->expandItem(lg->parent());
- dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
- }
- itemSelected(dataTree->currentItem());
- }
- else
- return;
- }
+ }
+ QTreeWidgetItem *lg = updatePatternList(newName);
+ if (lg != 0)
+ {
+ dataTree->expandItem(lg->parent());
+ dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
+ }
+ itemSelected(dataTree->currentItem());
+ }
+ else
+ return;
}
}
@@ -633,78 +633,78 @@
if (paletteLocked)
return;
QTreeWidgetItem* it = dataTree->currentItem();
- if (it)
- {
- if (it->parent() == gradientItems)
- {
- QString gradN = tr("Copy of %1").arg(it->text(0));
- dialogGradients.insert(gradN, dialogGradients[it->text(0)]);
- origNames.insert(gradN, gradN);
- QString patternName = origNames[gradN];
- QString newName = "";
- gradientEditDialog *dia = new gradientEditDialog(this, gradN, dialogGradients[gradN], m_colorList, m_doc, &dialogGradients, false);
- if (dia->exec())
- {
- newName = dia->name();
- if (newName != gradN)
- {
- origNames.remove(patternName);
- origNames.insert(newName, patternName);
- replaceMap.insert(patternName, newName);
- dialogGradients.remove(gradN);
- dialogGradients.insert(newName, dia->gradient());
- }
- else
- dialogGradients[gradN] = dia->gradient();
- updatePatternList();
- QTreeWidgetItem *lg = updateGradientList(dia->name());
- if (lg != 0)
- {
- dataTree->expandItem(lg->parent());
- dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
- }
- itemSelected(dataTree->currentItem());
- modified = true;
+ if (!it)
+ return;
+
+ if (it->parent() == gradientItems)
+ {
+ QString gradN = tr("Copy of %1").arg(it->text(0));
+ dialogGradients.insert(gradN, dialogGradients[it->text(0)]);
+ origNames.insert(gradN, gradN);
+ QString patternName = origNames[gradN];
+ QString newName = "";
+ gradientEditDialog *dia = new gradientEditDialog(this, gradN, dialogGradients[gradN], m_colorList, m_doc, &dialogGradients, false);
+ if (dia->exec())
+ {
+ newName = dia->name();
+ if (newName != gradN)
+ {
+ origNames.remove(patternName);
+ origNames.insert(newName, patternName);
+ replaceMap.insert(patternName, newName);
+ dialogGradients.remove(gradN);
+ dialogGradients.insert(newName, dia->gradient());
}
else
- {
- dialogGradients.remove(gradN);
- origNames.remove(gradN);
- }
- delete dia;
- }
- else if (it->parent() == colorItems)
- {
- QString nam = tr("Copy of %1").arg(it->text(0));
- m_colorList.insert(nam, m_colorList[it->text(0)]);
- ScColor tmpColor = m_colorList[nam];
- CMYKChoose* dia = new CMYKChoose(this, m_doc, tmpColor, nam, &m_colorList, false);
- if (dia->exec())
- {
- dia->Farbe.setSpotColor(dia->isSpotColor());
- dia->Farbe.setRegistrationColor(tmpColor.isRegistrationColor());
- m_colorList[dia->colorName()] = dia->Farbe;
- if (nam != dia->colorName())
- {
- replaceColorMap.insert(nam, dia->colorName());
- m_colorList.remove(nam);
- }
- updateGradientColors(dia->colorName(), nam);
- updateGradientList();
- updatePatternList();
- QTreeWidgetItem *lg = updateColorList(dia->colorName());
- if (lg != 0)
- {
- dataTree->expandItem(lg->parent());
- dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
- }
- itemSelected(dataTree->currentItem());
- modified = true;
- }
- else
+ dialogGradients[gradN] = dia->gradient();
+ updatePatternList();
+ QTreeWidgetItem *lg = updateGradientList(dia->name());
+ if (lg != 0)
+ {
+ dataTree->expandItem(lg->parent());
+ dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
+ }
+ itemSelected(dataTree->currentItem());
+ modified = true;
+ }
+ else
+ {
+ dialogGradients.remove(gradN);
+ origNames.remove(gradN);
+ }
+ delete dia;
+ }
+ else if (it->parent() == colorItems)
+ {
+ QString nam = tr("Copy of %1").arg(it->text(0));
+ m_colorList.insert(nam, m_colorList[it->text(0)]);
+ ScColor tmpColor = m_colorList[nam];
+ CMYKChoose* dia = new CMYKChoose(this, m_doc, tmpColor, nam, &m_colorList, false);
+ if (dia->exec())
+ {
+ dia->Farbe.setSpotColor(dia->isSpotColor());
+ dia->Farbe.setRegistrationColor(tmpColor.isRegistrationColor());
+ m_colorList[dia->colorName()] = dia->Farbe;
+ if (nam != dia->colorName())
+ {
+ replaceColorMap.insert(nam, dia->colorName());
m_colorList.remove(nam);
- delete dia;
- }
+ }
+ updateGradientColors(dia->colorName(), nam);
+ updateGradientList();
+ updatePatternList();
+ QTreeWidgetItem *lg = updateColorList(dia->colorName());
+ if (lg != 0)
+ {
+ dataTree->expandItem(lg->parent());
+ dataTree->setCurrentItem(lg, 0, QItemSelectionModel::ClearAndSelect);
+ }
+ itemSelected(dataTree->currentItem());
+ modified = true;
+ }
+ else
+ m_colorList.remove(nam);
+ delete dia;
}
}
@@ -988,235 +988,235 @@
if (paletteLocked)
return;
QTreeWidgetItem* it = dataTree->currentItem();
- if (it)
- {
- if ((it->parent() == colorItems) || (it == colorItems))
- {
- ColorList UsedC;
- ColorList::Iterator it;
- ColorList UsedCG = getGradientColors();
- if (mainWin->HaveDoc)
- {
- m_colorList = inDocUsedColors;
- for (it = UsedCG.begin(); it != UsedCG.end(); ++it)
- {
- if (!m_colorList.contains(it.key()))
- m_colorList.insert(it.key(), it.value());
- }
- }
- else
- m_colorList = UsedCG;
- m_colorList.ensureDefaultColors();
- updatePatternList();
+ if (!it)
+ return;
+
+ if ((it->parent() == colorItems) || (it == colorItems))
+ {
+ ColorList UsedC;
+ ColorList::Iterator it;
+ ColorList UsedCG = getGradientColors();
+ if (mainWin->HaveDoc)
+ {
+ m_colorList = inDocUsedColors;
+ for (it = UsedCG.begin(); it != UsedCG.end(); ++it)
+ {
+ if (!m_colorList.contains(it.key()))
+ m_colorList.insert(it.key(), it.value());
+ }
+ }
+ else
+ m_colorList = UsedCG;
+ m_colorList.ensureDefaultColors();
+ updatePatternList();
+ updateGradientList();
+ updateColorList();
+ itemSelected(0);
+ modified = true;
+ }
+}
+
+void ColorsAndFillsDialog::importColorItems()
+{
+ QTreeWidgetItem* it = dataTree->currentItem();
+ if (!it)
+ return;
+
+ if ((it->parent() == gradientItems) || (it == gradientItems))
+ {
+ QString fileName;
+ QString allFormats = tr("All Supported Formats")+" (";
+ allFormats += "*.sgr *.SGR";
+ allFormats += " *.ggr *.GGR";
+ allFormats += ");;";
+ QString formats = tr("Scribus Gradient Files \"*.sgr\" (*.sgr *.SGR);;");
+ formats += tr("Gimp Gradient Files \"*.ggr\" (*.ggr *.GGR);;");
+ formats += tr("All Files (*)");
+ allFormats += formats;
+ PrefsContext* dirs = PrefsManager::instance()->prefsFile->getContext("dirs");
+ QString wdir = dirs->get("gradients", ".");
+ CustomFDialog dia(this, wdir, tr("Open"), allFormats, fdHidePreviewCheckBox | fdExistingFiles | fdDisableOk);
+ if (dia.exec() == QDialog::Accepted)
+ fileName = dia.selectedFile();
+ else
+ return;
+ if (!fileName.isEmpty())
+ {
+ PrefsManager::instance()->prefsFile->getContext("dirs")->set("gradients", fileName.left(fileName.lastIndexOf("/")));
+ QFileInfo fi(fileName);
+ QString ext = fi.suffix().toLower();
+ if (ext == "sgr")
+ loadScribusFormat(fileName);
+ else if (ext == "ggr")
+ loadGimpFormat(fileName);
updateGradientList();
updateColorList();
itemSelected(0);
modified = true;
}
}
-}
-
-void ColorsAndFillsDialog::importColorItems()
-{
- QTreeWidgetItem* it = dataTree->currentItem();
- if (it)
- {
- if ((it->parent() == gradientItems) || (it == gradientItems))
- {
- QString fileName;
- QString allFormats = tr("All Supported Formats")+" (";
- allFormats += "*.sgr *.SGR";
- allFormats += " *.ggr *.GGR";
- allFormats += ");;";
- QString formats = tr("Scribus Gradient Files \"*.sgr\" (*.sgr *.SGR);;");
- formats += tr("Gimp Gradient Files \"*.ggr\" (*.ggr *.GGR);;");
- formats += tr("All Files (*)");
- allFormats += formats;
- PrefsContext* dirs = PrefsManager::instance()->prefsFile->getContext("dirs");
- QString wdir = dirs->get("gradients", ".");
- CustomFDialog dia(this, wdir, tr("Open"), allFormats, fdHidePreviewCheckBox | fdExistingFiles | fdDisableOk);
- if (dia.exec() == QDialog::Accepted)
- fileName = dia.selectedFile();
- else
- return;
- if (!fileName.isEmpty())
- {
- PrefsManager::instance()->prefsFile->getContext("dirs")->set("gradients", fileName.left(fileName.lastIndexOf("/")));
- QFileInfo fi(fileName);
- QString ext = fi.suffix().toLower();
- if (ext == "sgr")
- loadScribusFormat(fileName);
- else if (ext == "ggr")
- loadGimpFormat(fileName);
- updateGradientList();
- updateColorList();
- itemSelected(0);
- modified = true;
- }
- }
- else if ((it->parent() == colorItems) || (it == colorItems))
- {
- QStringList allFormatsV = LoadSavePlugin::getExtensionsForColors();
- allFormatsV.removeAll("sla");
- allFormatsV.removeAll("scd");
- allFormatsV.removeAll("sla.gz");
- allFormatsV.removeAll("scd.gz");
- allFormatsV.removeAll("ai");
- QString extra = allFormatsV.join(" *.");
- extra.prepend(" *.");
- QString fileName;
- PrefsContext* dirs = PrefsManager::instance()->prefsFile->getContext("dirs");
- QString wdir = dirs->get("colors", ".");
- QString docexts("*.sla *.sla.gz *.scd *.scd.gz");
- QString aiepsext(FormatsManager::instance()->extensionListForFormat(FormatsManager::EPS|FormatsManager::PS|FormatsManager::AI, 0));
- QString ooexts(" *.acb *.aco *.ase *.cxf *.gpl *.sbz *.skp *.soc *.xml");
- ooexts += extra;
- QString filter = tr("All Supported Formats (%1);;Documents (%2);;Other Files (%3);;All Files (*)").arg(docexts+" "+aiepsext+ooexts).arg(docexts).arg(aiepsext+ooexts);
- CustomFDialog dia(this, wdir, tr("Import Colors"), filter, fdHidePreviewCheckBox | fdDisableOk);
- if (dia.exec() == QDialog::Accepted)
- fileName = dia.selectedFile();
- else
- return;
- if (!fileName.isEmpty())
- dirs->set("colors", fileName.left(fileName.lastIndexOf("/")));
- if (!importColorsFromFile(fileName, m_colorList))
- ScMessageBox::information(this, tr("Information"), "<qt>" + tr("The file %1 does not contain colors which can be imported.\nIf the file was a PostScript-based, try to import it with File -> Import. \nNot all files have DSC conformant comments where the color descriptions are located.\n This prevents importing colors from some files.\nSee the Edit Colors section of the documentation for more details.").arg(fileName) + "</qt>");
- else
- {
- updateGradientList();
- updateColorList();
- modified = true;
- }
- itemSelected(0);
- }
- else if ((it->parent() == patternItems) || (it == patternItems))
- {
- QString fileName;
- QStringList formats;
- QString allFormats = tr("All Supported Formats")+" (";
- int fmtCode = FORMATID_FIRSTUSER;
- const FileFormat *fmt = LoadSavePlugin::getFormatById(fmtCode);
- while (fmt != 0)
- {
- if (fmt->load)
- {
- formats.append(fmt->filter);
- int an = fmt->filter.indexOf("(");
- int en = fmt->filter.indexOf(")");
- while (an != -1)
- {
- allFormats += fmt->filter.mid(an+1, en-an-1)+" ";
- an = fmt->filter.indexOf("(", en);
- en = fmt->filter.indexOf(")", an);
- }
- }
- fmtCode++;
- fmt = LoadSavePlugin::getFormatById(fmtCode);
- }
- allFormats += "*.sce *.SCE ";
- formats.append("Scribus Objects (*.sce *.SCE)");
- QString form1 = "";
- QString form2 = "";
- QStringList imgFormats;
- bool jpgFound = false;
- bool tiffFound = false;
- for (int i = 0; i < QImageReader::supportedImageFormats().count(); ++i )
- {
- form1 = QString(QImageReader::supportedImageFormats().at(i)).toLower();
- form2 = QString(QImageReader::supportedImageFormats().at(i)).toUpper();
- if ((form1 == "png") || (form1 == "xpm") || (form1 == "gif"))
- {
- formats.append(form2 + " (*."+form1+" *."+form2+")");
- allFormats += "*."+form1+" *."+form2+" ";
- imgFormats.append(form1);
- }
- else if ((form1 == "jpg") || (form1 == "jpeg"))
- {
- // JPEG is a special case because both .jpg and .jpeg
- // are acceptable extensions.
- if (!jpgFound)
- {
- formats.append("JPEG (*.jpg *.jpeg *.JPG *.JPEG)");
- allFormats += "*.jpg *.jpeg *.JPG *.JPEG ";
- imgFormats.append("jpeg");
- imgFormats.append("jpg");
- jpgFound = true;
- }
- }
- else if ((form1 == "tif") || (form1 == "tiff"))
- {
- if (!tiffFound)
- {
- formats.append("TIFF (*.tif *.tiff *.TIF *.TIFF)");
- allFormats += "*.tif *.tiff *.TIF *.TIFF ";
- imgFormats.append("tif");
- imgFormats.append("tiff");
- tiffFound = true;
- }
- }
- else if (form1 != "svg")
- {
- imgFormats.append(form1);
- allFormats += "*."+form1+" *."+form2+" ";
- }
- }
- if (!tiffFound)
- {
- formats.append("TIFF (*.tif *.tiff *.TIF *.TIFF)");
- allFormats += "*.tif *.tiff *.TIF *.TIFF ";
- }
- if (!jpgFound)
- {
- formats.append("JPEG (*.jpg *.jpeg *.JPG *.JPEG)");
- allFormats += "*.jpg *.jpeg *.JPG *.JPEG ";
- }
- formats.append("PSD (*.psd *.PSD)");
- formats.append("Gimp Patterns (*.pat *.PAT)");
- allFormats += "*.psd *.PSD ";
- allFormats += "*.pat *.PAT);;";
- imgFormats.append("tif");
- imgFormats.append("tiff");
- imgFormats.append("pat");
- imgFormats.append("psd");
- // imgFormats.append("pdf");
- imgFormats.append("eps");
- imgFormats.append("epsi");
- imgFormats.append("ps");
- qSort(formats);
- allFormats += formats.join(";;");
- PrefsContext* dirs = PrefsManager::instance()->prefsFile->getContext("dirs");
- QString wdir = dirs->get("patterns", ".");
- CustomFDialog dia(this, wdir, tr("Open"), allFormats, fdHidePreviewCheckBox | fdExistingFiles | fdDisableOk);
- if (dia.exec() != QDialog::Accepted)
- return;
+ else if ((it->parent() == colorItems) || (it == colorItems))
+ {
+ QStringList allFormatsV = LoadSavePlugin::getExtensionsForColors();
+ allFormatsV.removeAll("sla");
+ allFormatsV.removeAll("scd");
+ allFormatsV.removeAll("sla.gz");
+ allFormatsV.removeAll("scd.gz");
+ allFormatsV.removeAll("ai");
+ QString extra = allFormatsV.join(" *.");
+ extra.prepend(" *.");
+ QString fileName;
+ PrefsContext* dirs = PrefsManager::instance()->prefsFile->getContext("dirs");
+ QString wdir = dirs->get("colors", ".");
+ QString docexts("*.sla *.sla.gz *.scd *.scd.gz");
+ QString aiepsext(FormatsManager::instance()->extensionListForFormat(FormatsManager::EPS|FormatsManager::PS|FormatsManager::AI, 0));
+ QString ooexts(" *.acb *.aco *.ase *.cxf *.gpl *.sbz *.skp *.soc *.xml");
+ ooexts += extra;
+ QString filter = tr("All Supported Formats (%1);;Documents (%2);;Other Files (%3);;All Files (*)").arg(docexts+" "+aiepsext+ooexts).arg(docexts).arg(aiepsext+ooexts);
+ CustomFDialog dia(this, wdir, tr("Import Colors"), filter, fdHidePreviewCheckBox | fdDisableOk);
+ if (dia.exec() == QDialog::Accepted)
fileName = dia.selectedFile();
- if (fileName.isEmpty())
- return;
- qApp->setOverrideCursor(QCursor(Qt::WaitCursor));
- PrefsManager::instance()->prefsFile->getContext("dirs")->set("patterns", fileName.left(fileName.lastIndexOf("/")));
- QFileInfo fi(fileName);
- if ((fi.suffix().toLower() == "sce") || (!imgFormats.contains(fi.suffix().toLower())))
- {
- loadVectors(fileName);
- }
- else
- {
- QString patNam = fi.baseName().trimmed().simplified().replace(" ", "_");
- ScPattern pat = ScPattern();
- pat.setDoc(m_doc);
- pat.setPattern(fileName);
- if (!dialogPatterns.contains(patNam))
- {
- dialogPatterns.insert(patNam, pat);
- origNamesPatterns.insert(patNam, patNam);
- }
- }
+ else
+ return;
+ if (!fileName.isEmpty())
+ dirs->set("colors", fileName.left(fileName.lastIndexOf("/")));
+ if (!importColorsFromFile(fileName, m_colorList))
+ ScMessageBox::information(this, tr("Information"), "<qt>" + tr("The file %1 does not contain colors which can be imported.\nIf the file was a PostScript-based, try to import it with File -> Import. \nNot all files have DSC conformant comments where the color descriptions are located.\n This prevents importing colors from some files.\nSee the Edit Colors section of the documentation for more details.").arg(fileName) + "</qt>");
+ else
+ {
+ updateGradientList();
updateColorList();
- updateGradientList();
- updatePatternList();
- itemSelected(0);
- qApp->restoreOverrideCursor();
- }
+ modified = true;
+ }
+ itemSelected(0);
+ }
+ else if ((it->parent() == patternItems) || (it == patternItems))
+ {
+ QString fileName;
+ QStringList formats;
+ QString allFormats = tr("All Supported Formats")+" (";
+ int fmtCode = FORMATID_FIRSTUSER;
+ const FileFormat *fmt = LoadSavePlugin::getFormatById(fmtCode);
+ while (fmt != 0)
+ {
+ if (fmt->load)
+ {
+ formats.append(fmt->filter);
+ int an = fmt->filter.indexOf("(");
+ int en = fmt->filter.indexOf(")");
+ while (an != -1)
+ {
+ allFormats += fmt->filter.mid(an+1, en-an-1)+" ";
+ an = fmt->filter.indexOf("(", en);
+ en = fmt->filter.indexOf(")", an);
+ }
+ }
+ fmtCode++;
+ fmt = LoadSavePlugin::getFormatById(fmtCode);
+ }
+ allFormats += "*.sce *.SCE ";
+ formats.append("Scribus Objects (*.sce *.SCE)");
+ QString form1 = "";
+ QString form2 = "";
+ QStringList imgFormats;
+ bool jpgFound = false;
+ bool tiffFound = false;
+ for (int i = 0; i < QImageReader::supportedImageFormats().count(); ++i )
+ {
+ form1 = QString(QImageReader::supportedImageFormats().at(i)).toLower();
+ form2 = QString(QImageReader::supportedImageFormats().at(i)).toUpper();
+ if ((form1 == "png") || (form1 == "xpm") || (form1 == "gif"))
+ {
+ formats.append(form2 + " (*."+form1+" *."+form2+")");
+ allFormats += "*."+form1+" *."+form2+" ";
+ imgFormats.append(form1);
+ }
+ else if ((form1 == "jpg") || (form1 == "jpeg"))
+ {
+ // JPEG is a special case because both .jpg and .jpeg
+ // are acceptable extensions.
+ if (!jpgFound)
+ {
+ formats.append("JPEG (*.jpg *.jpeg *.JPG *.JPEG)");
+ allFormats += "*.jpg *.jpeg *.JPG *.JPEG ";
+ imgFormats.append("jpeg");
+ imgFormats.append("jpg");
+ jpgFound = true;
+ }
+ }
+ else if ((form1 == "tif") || (form1 == "tiff"))
+ {
+ if (!tiffFound)
+ {
+ formats.append("TIFF (*.tif *.tiff *.TIF *.TIFF)");
+ allFormats += "*.tif *.tiff *.TIF *.TIFF ";
+ imgFormats.append("tif");
+ imgFormats.append("tiff");
+ tiffFound = true;
+ }
+ }
+ else if (form1 != "svg")
+ {
+ imgFormats.append(form1);
+ allFormats += "*."+form1+" *."+form2+" ";
+ }
+ }
+ if (!tiffFound)
+ {
+ formats.append("TIFF (*.tif *.tiff *.TIF *.TIFF)");
+ allFormats += "*.tif *.tiff *.TIF *.TIFF ";
+ }
+ if (!jpgFound)
+ {
+ formats.append("JPEG (*.jpg *.jpeg *.JPG *.JPEG)");
+ allFormats += "*.jpg *.jpeg *.JPG *.JPEG ";
+ }
+ formats.append("PSD (*.psd *.PSD)");
+ formats.append("Gimp Patterns (*.pat *.PAT)");
+ allFormats += "*.psd *.PSD ";
+ allFormats += "*.pat *.PAT);;";
+ imgFormats.append("tif");
+ imgFormats.append("tiff");
+ imgFormats.append("pat");
+ imgFormats.append("psd");
+ // imgFormats.append("pdf");
+ imgFormats.append("eps");
+ imgFormats.append("epsi");
+ imgFormats.append("ps");
+ qSort(formats);
+ allFormats += formats.join(";;");
+ PrefsContext* dirs = PrefsManager::instance()->prefsFile->getContext("dirs");
+ QString wdir = dirs->get("patterns", ".");
+ CustomFDialog dia(this, wdir, tr("Open"), allFormats, fdHidePreviewCheckBox | fdExistingFiles | fdDisableOk);
+ if (dia.exec() != QDialog::Accepted)
+ return;
+ fileName = dia.selectedFile();
+ if (fileName.isEmpty())
+ return;
+ qApp->setOverrideCursor(QCursor(Qt::WaitCursor));
+ PrefsManager::instance()->prefsFile->getContext("dirs")->set("patterns", fileName.left(fileName.lastIndexOf("/")));
+ QFileInfo fi(fileName);
+ if ((fi.suffix().toLower() == "sce") || (!imgFormats.contains(fi.suffix().toLower())))
+ {
+ loadVectors(fileName);
+ }
+ else
+ {
+ QString patNam = fi.baseName().trimmed().simplified().replace(" ", "_");
+ ScPattern pat = ScPattern();
+ pat.setDoc(m_doc);
+ pat.setPattern(fileName);
+ if (!dialogPatterns.contains(patNam))
+ {
+ dialogPatterns.insert(patNam, pat);
+ origNamesPatterns.insert(patNam, patNam);
+ }
+ }
+ updateColorList();
+ updateGradientList();
+ updatePatternList();
+ itemSelected(0);
+ qApp->restoreOverrideCursor();
}
}
More information about the scribus-commit
mailing list