Merge branch 'master' into feature/tool-bit-poc
@@ -24,6 +24,9 @@
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Input the source value and unit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -34,13 +37,19 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Gui::InputField" name="UnitInput">
|
||||
<widget class="QLineEdit" name="UnitInput">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Input here the unit for the result</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -58,6 +67,9 @@
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Result</string>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@@ -67,6 +79,10 @@
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QTextEdit" name="textEdit">
|
||||
<property name="toolTip">
|
||||
<string>List of last used calculations
|
||||
To add a calculation press Return in the value input field</string>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@@ -82,7 +98,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Gui::QuantitySpinBox" name="quantitySpinBox">
|
||||
<widget class="Gui::QuantitySpinBox" name="quantitySpinBox" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
@@ -112,13 +128,6 @@
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_Help">
|
||||
<property name="text">
|
||||
<string>Help</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
@@ -134,6 +143,9 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_Copy">
|
||||
<property name="toolTip">
|
||||
<string>Copy the result into the clipboard</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Copy</string>
|
||||
</property>
|
||||
|
||||
@@ -51,11 +51,10 @@ DlgUnitsCalculator::DlgUnitsCalculator( QWidget* parent, Qt::WindowFlags fl )
|
||||
this->setAttribute(Qt::WA_DeleteOnClose);
|
||||
|
||||
connect(ui->ValueInput, SIGNAL(valueChanged(Base::Quantity)), this, SLOT(valueChanged(Base::Quantity)));
|
||||
connect(ui->ValueInput, SIGNAL(returnPressed () ), this, SLOT(returnPressed()));
|
||||
connect(ui->UnitInput, SIGNAL(valueChanged(Base::Quantity)), this, SLOT(unitValueChanged(Base::Quantity)));
|
||||
connect(ui->ValueInput, SIGNAL(returnPressed()), this, SLOT(returnPressed()));
|
||||
connect(ui->UnitInput, SIGNAL(textChanged(QString)), this, SLOT(textChanged(QString)));
|
||||
connect(ui->UnitInput, SIGNAL(returnPressed()), this, SLOT(returnPressed()));
|
||||
|
||||
connect(ui->pushButton_Help, SIGNAL(clicked()), this, SLOT(help()));
|
||||
connect(ui->pushButton_Close, SIGNAL(clicked()), this, SLOT(accept()));
|
||||
connect(ui->pushButton_Copy, SIGNAL(clicked()), this, SLOT(copy()));
|
||||
|
||||
@@ -63,7 +62,9 @@ DlgUnitsCalculator::DlgUnitsCalculator( QWidget* parent, Qt::WindowFlags fl )
|
||||
connect(ui->UnitInput, SIGNAL(parseError(QString)), this, SLOT(parseError(QString)));
|
||||
|
||||
ui->ValueInput->setParamGrpPath(QByteArray("User parameter:BaseApp/History/UnitsCalculator"));
|
||||
actUnit.setInvalid();
|
||||
// set a default that also illustrates how the dialog works
|
||||
ui->ValueInput->setText(QString::fromLatin1("1 cm"));
|
||||
ui->UnitInput->setText(QString::fromLatin1("in"));
|
||||
|
||||
units << Base::Unit::Length << Base::Unit::Mass << Base::Unit::Angle << Base::Unit::Density
|
||||
<< Base::Unit::Area << Base::Unit::Volume << Base::Unit::TimeSpan << Base::Unit::Frequency
|
||||
@@ -72,7 +73,7 @@ DlgUnitsCalculator::DlgUnitsCalculator( QWidget* parent, Qt::WindowFlags fl )
|
||||
<< Base::Unit::AmountOfSubstance << Base::Unit::LuminousIntensity << Base::Unit::Stress
|
||||
<< Base::Unit::Pressure << Base::Unit::Force << Base::Unit::Work << Base::Unit::Power
|
||||
<< Base::Unit::ThermalConductivity << Base::Unit::ThermalExpansionCoefficient
|
||||
<< Base::Unit::SpecificHeat << Base::Unit::ThermalTransferCoefficient <<Base::Unit::HeatFlux;
|
||||
<< Base::Unit::SpecificHeat << Base::Unit::ThermalTransferCoefficient << Base::Unit::HeatFlux;
|
||||
for (QList<Base::Unit>::iterator it = units.begin(); it != units.end(); ++it) {
|
||||
ui->unitsBox->addItem(it->getTypeString());
|
||||
}
|
||||
@@ -95,31 +96,42 @@ void DlgUnitsCalculator::reject()
|
||||
QDialog::reject();
|
||||
}
|
||||
|
||||
void DlgUnitsCalculator::unitValueChanged(const Base::Quantity& unit)
|
||||
void DlgUnitsCalculator::textChanged(QString unit)
|
||||
{
|
||||
actUnit = unit;
|
||||
valueChanged(actValue);
|
||||
}
|
||||
|
||||
void DlgUnitsCalculator::valueChanged(const Base::Quantity& quant)
|
||||
{
|
||||
if (actUnit.isValid()) {
|
||||
if (actUnit.getUnit() != quant.getUnit()) {
|
||||
ui->ValueOutput->setText(tr("Unit mismatch"));
|
||||
// first check the unit, if it is invalid, getTypeString() outputs an empty string
|
||||
if (Base::Unit(ui->UnitInput->text()).getTypeString().isEmpty()) {
|
||||
ui->ValueOutput->setText(tr("unknown unit: ") + ui->UnitInput->text());
|
||||
ui->pushButton_Copy->setEnabled(false);
|
||||
} else { // the unit is valid
|
||||
// we can only convert units of the same type, thus check
|
||||
if (Base::Unit(ui->UnitInput->text()).getTypeString() != quant.getUnit().getTypeString()) {
|
||||
ui->ValueOutput->setText(tr("unit mismatch"));
|
||||
ui->pushButton_Copy->setEnabled(false);
|
||||
} else {
|
||||
double value = quant.getValue()/actUnit.getValue();
|
||||
QString val = QLocale::system().toString(value, 'f', Base::UnitsApi::getDecimals());
|
||||
} else { // the unit is valid and has the same type
|
||||
double convertValue = Base::Quantity::parse(QString::fromLatin1("1") + ui->UnitInput->text()).getValue();
|
||||
// we got now e.g. for "1 in" the value '25.4' because 1 in = 25.4 mm
|
||||
// the result is now just quant / convertValue because the input is always in a base unit
|
||||
// (an input of "1 cm" will immediately be converted to "10 mm" by Gui::InputField of the dialog)
|
||||
double value = quant.getValue() / convertValue;
|
||||
// determine how many decimals we will need to avoid an output like "0.00"
|
||||
// at first use scientific notation, if there is no "e", we can round it to the user-defined decimals,
|
||||
// but the user-defined decimals might be too low for cases like "10 um" in "in",
|
||||
// thus only if value > 0.005 because FC's default are 2 decimals
|
||||
QString val = QLocale::system().toString(value, 'g');
|
||||
if (!val.contains(QChar::fromLatin1('e')) && (value > 0.005))
|
||||
val = QLocale::system().toString(value, 'f', Base::UnitsApi::getDecimals());
|
||||
// create the output string
|
||||
QString out = QString::fromLatin1("%1 %2").arg(val, ui->UnitInput->text());
|
||||
ui->ValueOutput->setText(out);
|
||||
ui->pushButton_Copy->setEnabled(true);
|
||||
}
|
||||
} else {
|
||||
//ui->ValueOutput->setValue(quant);
|
||||
ui->ValueOutput->setText(quant.getUserString());
|
||||
ui->pushButton_Copy->setEnabled(true);
|
||||
}
|
||||
|
||||
// store the input value
|
||||
actValue = quant;
|
||||
}
|
||||
|
||||
@@ -135,11 +147,6 @@ void DlgUnitsCalculator::copy(void)
|
||||
cb->setText(ui->ValueOutput->text());
|
||||
}
|
||||
|
||||
void DlgUnitsCalculator::help(void)
|
||||
{
|
||||
//TODO: call help page Std_UnitsCalculator
|
||||
}
|
||||
|
||||
void DlgUnitsCalculator::returnPressed(void)
|
||||
{
|
||||
if (ui->pushButton_Copy->isEnabled()) {
|
||||
|
||||
@@ -50,19 +50,17 @@ protected:
|
||||
void reject();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void unitValueChanged(const Base::Quantity&);
|
||||
void textChanged(const QString);
|
||||
void valueChanged(const Base::Quantity&);
|
||||
void on_unitsBox_activated(int);
|
||||
|
||||
void copy(void);
|
||||
void help(void);
|
||||
void returnPressed(void);
|
||||
|
||||
void parseError(const QString& errorText);
|
||||
|
||||
private:
|
||||
Base::Quantity actValue;
|
||||
Base::Quantity actUnit;
|
||||
std::unique_ptr<Ui_DlgUnitCalculator> ui;
|
||||
QList<Base::Unit> units;
|
||||
};
|
||||
|
||||
0
src/Gui/Icons/edit-select-all.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
0
src/Gui/Icons/edit-select-box.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
@@ -1591,11 +1591,13 @@ QMimeData * MainWindow::createMimeDataFromSelection () const
|
||||
// if less than ~10 MB
|
||||
bool use_buffer=(memsize < 0xA00000);
|
||||
QByteArray res;
|
||||
try {
|
||||
res.reserve(memsize);
|
||||
}
|
||||
catch (const Base::MemoryException&) {
|
||||
use_buffer = false;
|
||||
if(use_buffer) {
|
||||
try {
|
||||
res.reserve(memsize);
|
||||
}
|
||||
catch (const std::bad_alloc &) {
|
||||
use_buffer = false;
|
||||
}
|
||||
}
|
||||
|
||||
WaitCursor wc;
|
||||
@@ -1651,9 +1653,11 @@ void MainWindow::insertFromMimeData (const QMimeData * mimeData)
|
||||
else if(mimeData->hasFormat(_MimeDocObjX)) {
|
||||
format = _MimeDocObjX;
|
||||
hasXLink = true;
|
||||
}else if(mimeData->hasFormat(_MimeDocObjFile))
|
||||
}else if(mimeData->hasFormat(_MimeDocObjFile)) {
|
||||
format = _MimeDocObjFile;
|
||||
fromDoc = true;
|
||||
else if(mimeData->hasFormat(_MimeDocObjXFile)) {
|
||||
}else if(mimeData->hasFormat(_MimeDocObjXFile)) {
|
||||
format = _MimeDocObjXFile;
|
||||
fromDoc = true;
|
||||
hasXLink = true;
|
||||
}else {
|
||||
|
||||
@@ -5717,6 +5717,12 @@ class _DraftLink(_DraftObject):
|
||||
obj.setPropertyStatus('PlacementList','Immutable')
|
||||
else:
|
||||
obj.setPropertyStatus('PlacementList','-Immutable')
|
||||
if not hasattr(obj,'LinkTransform'):
|
||||
obj.addProperty('App::PropertyBool','LinkTransform',' Link')
|
||||
if not hasattr(obj,'ColoredElements'):
|
||||
obj.addProperty('App::PropertyLinkSubHidden','ColoredElements',' Link')
|
||||
obj.setPropertyStatus('ColoredElements','Hidden')
|
||||
obj.configLinkProperty('LinkTransform','ColoredElements')
|
||||
|
||||
def getViewProviderName(self,_obj):
|
||||
if self.useLink:
|
||||
|
||||
@@ -60,7 +60,9 @@ Note: C++ importer is faster, but is not as featureful yet</string>
|
||||
<widget class="Gui::PrefCheckBox" name="checkBox_7">
|
||||
<property name="toolTip">
|
||||
<string>Python exporter is used, otherwise the newer C++ is used.
|
||||
Note: C++ importer is faster, but is not as featureful yet</string>
|
||||
Note: C++ importer is faster, but is not as featureful yet
|
||||
</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Use legacy python exporter</string>
|
||||
</property>
|
||||
|
||||
@@ -714,18 +714,17 @@ class svgHandler(xml.sax.ContentHandler):
|
||||
if self.count == 1 and name == 'svg':
|
||||
if 'inkscape:version' in data:
|
||||
inks_doc_name = attrs.getValue('sodipodi:docname')
|
||||
inks_full_ver = attrs.getValue('inkscape:version')[:4]
|
||||
inks_full_ver_list = inks_full_ver.split('.')
|
||||
_maj = int(inks_full_ver_list[0])
|
||||
_min = int(inks_full_ver_list[1])
|
||||
|
||||
inks_full_ver = attrs.getValue('inkscape:version')
|
||||
inks_ver_pars = re.search("\d+\.\d+", inks_full_ver)
|
||||
if inks_ver_pars != None:
|
||||
inks_ver_f = float(inks_ver_pars.group(0))
|
||||
else:
|
||||
inks_ver_f = 99.99
|
||||
# Inkscape before 0.92 used 90 dpi as resolution
|
||||
# Newer versions use 96 dpi
|
||||
if _maj == 0 and _min > 91:
|
||||
self.svgdpi = 96.0
|
||||
elif _maj == 0 and _min < 92:
|
||||
if inks_ver_f < 0.92:
|
||||
self.svgdpi = 90.0
|
||||
elif _maj > 0:
|
||||
else:
|
||||
self.svgdpi = 96.0
|
||||
if 'inkscape:version' not in data:
|
||||
_msg = ("This SVG file does not appear to have been produced "
|
||||
|
||||
@@ -94,7 +94,7 @@ CmdPartDesignBody::CmdPartDesignBody()
|
||||
sToolTipText = QT_TR_NOOP("Create a new body and make it active");
|
||||
sWhatsThis = "PartDesign_Body";
|
||||
sStatusTip = sToolTipText;
|
||||
sPixmap = "PartDesign_Body_Create_New";
|
||||
sPixmap = "PartDesign_Body";
|
||||
}
|
||||
|
||||
void CmdPartDesignBody::activated(int iMsg)
|
||||
|
||||
@@ -1,93 +1,93 @@
|
||||
<RCC>
|
||||
<qresource>
|
||||
<file>icons/PartDesign_Chamfer.svg</file>
|
||||
<file>icons/PartDesign_Fillet.svg</file>
|
||||
<file>icons/PartDesign_Draft.svg</file>
|
||||
<file>icons/PartDesign_Thickness.svg</file>
|
||||
<file>icons/PartDesign_Groove.svg</file>
|
||||
<file>icons/PartDesign_Pad.svg</file>
|
||||
<file>icons/PartDesign_Pocket.svg</file>
|
||||
<file>icons/PartDesign_Revolution.svg</file>
|
||||
<file>icons/PartDesign_Mirrored.svg</file>
|
||||
<file>icons/PartDesign_LinearPattern.svg</file>
|
||||
<file>icons/PartDesign_PolarPattern.svg</file>
|
||||
<file>icons/PartDesign_Scaled.svg</file>
|
||||
<file>icons/PartDesign_MultiTransform.svg</file>
|
||||
<file>icons/PartDesign_Hole.svg</file>
|
||||
<file>icons/PartDesign_Additive_Box.svg</file>
|
||||
<file>icons/PartDesign_Additive_Cone.svg</file>
|
||||
<file>icons/PartDesign_Additive_Cylinder.svg</file>
|
||||
<file>icons/PartDesign_Additive_Ellipsoid.svg</file>
|
||||
<file>icons/PartDesign_Additive_Loft.svg</file>
|
||||
<file>icons/PartDesign_Additive_Pipe.svg</file>
|
||||
<file>icons/PartDesign_Additive_Prism.svg</file>
|
||||
<file>icons/PartDesign_Additive_Sphere.svg</file>
|
||||
<file>icons/PartDesign_Additive_Torus.svg</file>
|
||||
<file>icons/PartDesign_Additive_Wedge.svg</file>
|
||||
<file>icons/PartDesign_BaseFeature.svg</file>
|
||||
<file>icons/PartDesign_Body.svg</file>
|
||||
<file>icons/PartDesign_Body_old.svg</file>
|
||||
<file>icons/PartDesign_Body_Tree.svg</file>
|
||||
<file>icons/PartDesign_Boolean.svg</file>
|
||||
<file>icons/PartDesign_ShapeBinder.svg</file>
|
||||
<file>icons/PartDesign_SubShapeBinder.svg</file>
|
||||
<file>icons/PartDesign_Chamfer.svg</file>
|
||||
<file>icons/PartDesign_Clone.svg</file>
|
||||
<file>icons/PartDesign_Plane.svg</file>
|
||||
<file>icons/PartDesign_Line.svg</file>
|
||||
<file>icons/PartDesign_Point.svg</file>
|
||||
<file>icons/PartDesign_CoordinateSystem.svg</file>
|
||||
<file>icons/PartDesign_MoveTip.svg</file>
|
||||
<file>icons/Tree_PartDesign_Pad.svg</file>
|
||||
<file>icons/Tree_PartDesign_Revolution.svg</file>
|
||||
<file>icons/PartDesign_Draft.svg</file>
|
||||
<file>icons/PartDesign_Fillet.svg</file>
|
||||
<file>icons/PartDesign_Groove.svg</file>
|
||||
<file>icons/PartDesign_Hole.svg</file>
|
||||
<file>icons/PartDesign_InternalExternalGear.svg</file>
|
||||
<file>icons/PartDesign_InvoluteGear.svg</file>
|
||||
<file>icons/PartDesignWorkbench.svg</file>
|
||||
<file>icons/PartDesign_Body_Create_New.svg</file>
|
||||
<file>icons/PartDesign_Body_Tree.svg</file>
|
||||
<file>icons/PartDesign_Additive_Pipe.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Pipe.svg</file>
|
||||
<file>icons/PartDesign_Additive_Loft.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Loft.svg</file>
|
||||
<file>icons/PartDesign_Additive_Box.svg</file>
|
||||
<file>icons/PartDesign_Additive_Cylinder.svg</file>
|
||||
<file>icons/PartDesign_Additive_Sphere.svg</file>
|
||||
<file>icons/PartDesign_Additive_Cone.svg</file>
|
||||
<file>icons/PartDesign_Additive_Torus.svg</file>
|
||||
<file>icons/PartDesign_Additive_Ellipsoid.svg</file>
|
||||
<file>icons/PartDesign_Additive_Prism.svg</file>
|
||||
<file>icons/PartDesign_Additive_Wedge.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Box.svg</file>
|
||||
<file>icons/PartDesign_Line.svg</file>
|
||||
<file>icons/PartDesign_LinearPattern.svg</file>
|
||||
<file>icons/PartDesign_Mirrored.svg</file>
|
||||
<file>icons/PartDesign_MoveTip.svg</file>
|
||||
<file>icons/PartDesign_MultiTransform.svg</file>
|
||||
<file>icons/PartDesign_Pad.svg</file>
|
||||
<file>icons/PartDesign_Plane.svg</file>
|
||||
<file>icons/PartDesign_Pocket.svg</file>
|
||||
<file>icons/PartDesign_Point.svg</file>
|
||||
<file>icons/PartDesign_PolarPattern.svg</file>
|
||||
<file>icons/PartDesign_Revolution.svg</file>
|
||||
<file>icons/PartDesign_Scaled.svg</file>
|
||||
<file>icons/PartDesign_ShapeBinder.svg</file>
|
||||
<file>icons/PartDesign_SubShapeBinder.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Box.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Cone.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Cylinder.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Sphere.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Cone.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Torus.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Ellipsoid.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Prism.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Loft.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Pipe.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Prism.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Sphere.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Torus.svg</file>
|
||||
<file>icons/PartDesign_Subtractive_Wedge.svg</file>
|
||||
<file>icons/PartDesign_BaseFeature.svg</file>
|
||||
<file>icons/PartDesign_Thickness.svg</file>
|
||||
<file>icons/PartDesignWorkbench.svg</file>
|
||||
<file>icons/Tree_PartDesign_Pad.svg</file>
|
||||
<file>icons/Tree_PartDesign_Revolution.svg</file>
|
||||
<file>translations/PartDesign_af.qm</file>
|
||||
<file>translations/PartDesign_ar.qm</file>
|
||||
<file>translations/PartDesign_ca.qm</file>
|
||||
<file>translations/PartDesign_cs.qm</file>
|
||||
<file>translations/PartDesign_de.qm</file>
|
||||
<file>translations/PartDesign_el.qm</file>
|
||||
<file>translations/PartDesign_es-ES.qm</file>
|
||||
<file>translations/PartDesign_eu.qm</file>
|
||||
<file>translations/PartDesign_fi.qm</file>
|
||||
<file>translations/PartDesign_fil.qm</file>
|
||||
<file>translations/PartDesign_fr.qm</file>
|
||||
<file>translations/PartDesign_gl.qm</file>
|
||||
<file>translations/PartDesign_hr.qm</file>
|
||||
<file>translations/PartDesign_hu.qm</file>
|
||||
<file>translations/PartDesign_id.qm</file>
|
||||
<file>translations/PartDesign_it.qm</file>
|
||||
<file>translations/PartDesign_ja.qm</file>
|
||||
<file>translations/PartDesign_kab.qm</file>
|
||||
<file>translations/PartDesign_ko.qm</file>
|
||||
<file>translations/PartDesign_lt.qm</file>
|
||||
<file>translations/PartDesign_nl.qm</file>
|
||||
<file>translations/PartDesign_no.qm</file>
|
||||
<file>translations/PartDesign_pl.qm</file>
|
||||
<file>translations/PartDesign_ru.qm</file>
|
||||
<file>translations/PartDesign_uk.qm</file>
|
||||
<file>translations/PartDesign_tr.qm</file>
|
||||
<file>translations/PartDesign_sv-SE.qm</file>
|
||||
<file>translations/PartDesign_zh-TW.qm</file>
|
||||
<file>translations/PartDesign_pt-BR.qm</file>
|
||||
<file>translations/PartDesign_cs.qm</file>
|
||||
<file>translations/PartDesign_sk.qm</file>
|
||||
<file>translations/PartDesign_es-ES.qm</file>
|
||||
<file>translations/PartDesign_zh-CN.qm</file>
|
||||
<file>translations/PartDesign_ja.qm</file>
|
||||
<file>translations/PartDesign_ro.qm</file>
|
||||
<file>translations/PartDesign_hu.qm</file>
|
||||
<file>translations/PartDesign_pt-PT.qm</file>
|
||||
<file>translations/PartDesign_sr.qm</file>
|
||||
<file>translations/PartDesign_el.qm</file>
|
||||
<file>translations/PartDesign_ro.qm</file>
|
||||
<file>translations/PartDesign_ru.qm</file>
|
||||
<file>translations/PartDesign_sk.qm</file>
|
||||
<file>translations/PartDesign_sl.qm</file>
|
||||
<file>translations/PartDesign_eu.qm</file>
|
||||
<file>translations/PartDesign_ca.qm</file>
|
||||
<file>translations/PartDesign_gl.qm</file>
|
||||
<file>translations/PartDesign_kab.qm</file>
|
||||
<file>translations/PartDesign_ko.qm</file>
|
||||
<file>translations/PartDesign_fil.qm</file>
|
||||
<file>translations/PartDesign_id.qm</file>
|
||||
<file>translations/PartDesign_lt.qm</file>
|
||||
<file>translations/PartDesign_sr.qm</file>
|
||||
<file>translations/PartDesign_sv-SE.qm</file>
|
||||
<file>translations/PartDesign_tr.qm</file>
|
||||
<file>translations/PartDesign_uk.qm</file>
|
||||
<file>translations/PartDesign_val-ES.qm</file>
|
||||
<file>translations/PartDesign_ar.qm</file>
|
||||
<file>translations/PartDesign_vi.qm</file>
|
||||
<file>translations/PartDesign_zh-CN.qm</file>
|
||||
<file>translations/PartDesign_zh-TW.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 11 KiB |
@@ -1,322 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg3559"
|
||||
version="1.1"
|
||||
inkscape:version="0.91+devel+osxmenu r12922"
|
||||
sodipodi:docname="Part_v08a.svg"
|
||||
viewBox="0 0 64 64">
|
||||
<defs
|
||||
id="defs3561">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4393">
|
||||
<stop
|
||||
style="stop-color:#204a87;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4395" />
|
||||
<stop
|
||||
style="stop-color:#3465a4;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop4397" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4383">
|
||||
<stop
|
||||
style="stop-color:#3465a4;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4385" />
|
||||
<stop
|
||||
style="stop-color:#729fcf;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop4387" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4383"
|
||||
id="linearGradient4389"
|
||||
x1="20.243532"
|
||||
y1="37.588112"
|
||||
x2="17.243532"
|
||||
y2="27.588112"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-1.243533,-2.588112)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4393"
|
||||
id="linearGradient4399"
|
||||
x1="48.714352"
|
||||
y1="45.585785"
|
||||
x2="44.714352"
|
||||
y2="34.585785"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(1.2856487,1.4142136)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4383-3"
|
||||
id="linearGradient4389-0"
|
||||
x1="27.243532"
|
||||
y1="54.588112"
|
||||
x2="21.243532"
|
||||
y2="30.588112"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-1.243533,-2.588112)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4383-3">
|
||||
<stop
|
||||
style="stop-color:#3465a4;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4385-1" />
|
||||
<stop
|
||||
style="stop-color:#729fcf;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop4387-2" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4393-9"
|
||||
id="linearGradient4399-7"
|
||||
x1="48.714352"
|
||||
y1="45.585785"
|
||||
x2="40.714352"
|
||||
y2="24.585787"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(1.2856487,1.4142136)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4393-9">
|
||||
<stop
|
||||
style="stop-color:#204a87;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4395-8" />
|
||||
<stop
|
||||
style="stop-color:#3465a4;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop4397-1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4393"
|
||||
id="linearGradient69042"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-12.714351,-17.585786)"
|
||||
x1="48.714352"
|
||||
y1="45.585785"
|
||||
x2="44.714352"
|
||||
y2="34.585785" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4383"
|
||||
id="linearGradient69056"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-1.243533,-2.588112)"
|
||||
x1="27.243532"
|
||||
y1="54.588112"
|
||||
x2="17.243532"
|
||||
y2="27.588112" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="10.941048"
|
||||
inkscape:cx="31.005637"
|
||||
inkscape:cy="29.259294"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="939"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:snap-global="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3007"
|
||||
empspacing="2"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata3564">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<dc:title>Path-Stock</dc:title>
|
||||
<dc:date>2015-07-04</dc:date>
|
||||
<dc:relation>http://www.freecadweb.org/wiki/index.php?title=Artwork</dc:relation>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>FreeCAD</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<dc:identifier>FreeCAD/src/Mod/Path/Gui/Resources/icons/Path-Stock.svg</dc:identifier>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>FreeCAD LGPL2+</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<cc:license>https://www.gnu.org/copyleft/lesser.html</cc:license>
|
||||
<dc:contributor>
|
||||
<cc:Agent>
|
||||
<dc:title>[agryson] Alexander Gryson</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:contributor>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
style="fill:url(#linearGradient69056);fill-opacity:1;fill-rule:nonzero;stroke:#0b1521;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 9,49 0,-28 14,5 0,14 14,5 0,14 z"
|
||||
id="path4381"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
style="fill:url(#linearGradient4399);fill-opacity:1;fill-rule:nonzero;stroke:#0b1521;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 37,59 37,45 55,28 55,41 Z"
|
||||
id="path4391"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#0b1521;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 9,21 29,5 42,10 23,26 Z"
|
||||
id="path4403"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#729fcf;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 11.008035,47.60627 11,24 l 10,4 0,13 14,5 0.0081,10.184812 z"
|
||||
id="path4381-7"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#3465a4;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 39.005041,54.16825 39,46 53,33 l 0.0021,7.176847 z"
|
||||
id="path4391-0"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path69038"
|
||||
d="M 23,40 42,23 55,28 37,45 Z"
|
||||
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#0b1521;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path69040"
|
||||
d="M 23,40 23,26 42,10 42,23 Z"
|
||||
style="fill:url(#linearGradient69042);fill-opacity:1;fill-rule:nonzero;stroke:#0b1521;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path69044"
|
||||
d="m 25,36 0,-9 15,-13 0,8 z"
|
||||
style="fill:none;stroke:#3465a4;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="temporal"
|
||||
style="display:none;opacity:0.58800001"
|
||||
sodipodi:insensitive="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path68967"
|
||||
d="M 9,35 9,49"
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path68971"
|
||||
d="M 9,35 37,45"
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 55,28 0,13"
|
||||
id="path68973"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 37,45 55,28"
|
||||
id="path68977"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path68983"
|
||||
d="M 23,40 23,26"
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path68985"
|
||||
d="m 29,5 13,5"
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 23,26 42,10"
|
||||
id="path68989"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 19,13 29,5"
|
||||
id="path68993"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 55,15 -9,8"
|
||||
id="path68997"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path69030"
|
||||
d="M 42,23 42,10"
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 42,23 14,5"
|
||||
id="path69034"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path69036"
|
||||
d="M 23,40 42,23"
|
||||
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 11 KiB |
155
src/Mod/PartDesign/Gui/Resources/icons/PartDesign_Body_old.svg
Normal file
|
After Width: | Height: | Size: 18 KiB |
0
src/Mod/PartDesign/Gui/Resources/icons/PartDesign_Groove.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
0
src/Mod/PartDesign/Gui/Resources/icons/PartDesign_LinearPattern.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
0
src/Mod/PartDesign/Gui/Resources/icons/PartDesign_MultiTransform.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
0
src/Mod/PartDesign/Gui/Resources/icons/PartDesign_Pocket.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
0
src/Mod/PartDesign/Gui/Resources/icons/PartDesign_PolarPattern.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
0
src/Mod/PartDesign/Gui/Resources/icons/PartDesign_Scaled.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |