setlocale(LC_NUMERIC, mlt.attribute("LC_NUMERIC").toUtf8().constData());
documentLocale = QLocale(mlt.attribute("LC_NUMERIC"));
}
-
+
+ documentLocale.setNumberOptions(QLocale::OmitGroupSeparator);
if (documentLocale != QLocale()) {
QLocale::setDefault(documentLocale);
// locale conversion might need to be redone
void EffectStackEdit::collectAllParameters()
{
if (m_valueItems.isEmpty() || m_params.isNull()) return;
- QLocale locale;
- locale.setNumberOptions(QLocale::OmitGroupSeparator);
const QDomElement oldparam = m_params.cloneNode().toElement();
QDomElement newparam = oldparam.cloneNode().toElement();
QDomNodeList namenode = newparam.elementsByTagName("parameter");
+ QLocale locale;
for (int i = 0; i < namenode.count() ; i++) {
QDomNode pa = namenode.item(i);
kDebug() << "Effect broken: " << name;
return;
}
- QLocale locale;
+
bool needsLocaleConversion = false;
for (int i = 0; !effects.item(i).isNull(); ++i) {
+ QLocale locale;
documentElement = effects.item(i).toElement();
QString tag = documentElement.attribute("tag", QString());
if (documentElement.hasAttribute("LC_NUMERIC")) {
needsLocaleConversion = true;
}
}
+ locale.setNumberOptions(QLocale::OmitGroupSeparator);
if (needsLocaleConversion) {
// we need to convert all numbers to the system's locale (for example 0.5 -> 0,5)
if (QLocale() != QLocale::system()) {
setlocale(LC_NUMERIC, "");
- QLocale::setDefault(QLocale::system());
+ QLocale systemLocale = QLocale::system();
+ systemLocale.setNumberOptions(QLocale::OmitGroupSeparator);
+ QLocale::setDefault(systemLocale);
// locale conversion might need to be redone
initEffects::parseEffectFiles();
}
#include <KProcess>
#include <KActionMenu>
#include <KMenu>
-#include <locale.h>
#include <ktogglefullscreenaction.h>
#include <KFileItem>
#include <KNotification>
#endif /* NO_JOGSHUTTLE */
m_findActivated(false),
m_stopmotion(NULL)
-{
+{
qRegisterMetaType<QVector<int16_t> > ();
+
+ // Init locale
+ QLocale systemLocale = QLocale();
+ systemLocale.setNumberOptions(QLocale::OmitGroupSeparator);
+ QLocale::setDefault(systemLocale);
+
// Create DBus interface
new MainWindowAdaptor(this);
QDBusConnection dbus = QDBusConnection::sessionBus();
dbus.registerObject("/MainWindow", this);
+
if (!KdenliveSettings::colortheme().isEmpty()) slotChangePalette(NULL, KdenliveSettings::colortheme());
setFont(KGlobalSettings::toolBarFont());
parseProfiles(MltPath);
}
}
}
-
-
QDomElement infoXml = mlt.firstChildElement("kdenlivedoc");
// Add guides
double speed = 1.0;
int strobe = 1;
if (idString.startsWith("slowmotion")) {
+ QLocale locale;
id = idString.section(':', 1, 1);
- speed = m_locale.toDouble(idString.section(':', 2, 2));
+ speed = locale.toDouble(idString.section(':', 2, 2));
strobe = idString.section(':', 3, 3).toInt();
if (strobe == 0) strobe = 1;
}
void TrackView::slotAddProjectEffects(QDomNodeList effects, QDomElement parentNode, ClipItem *clip, int trackIndex)
{
int effectNb = 0;
+ QLocale locale;
for (int ix = 0; ix < effects.count(); ix++) {
bool disableeffect = false;
QDomElement effect = effects.at(ix).toElement();
// add first keyframe
if (effectout <= effectin) {
// there is only one keyframe
- keyframes.append(QString::number(effectin) + ':' + m_locale.toString(startvalue) + ';');
- } else keyframes.append(QString::number(effectin) + ':' + m_locale.toString(startvalue) + ';' + QString::number(effectout) + ':' + QString::number(endvalue) + ';');
+ keyframes.append(QString::number(effectin) + ':' + locale.toString(startvalue) + ';');
+ } else keyframes.append(QString::number(effectin) + ':' + locale.toString(startvalue) + ';' + QString::number(effectout) + ':' + QString::number(endvalue) + ';');
QDomNode lastParsedEffect;
ix++;
QDomNode n2 = effects.at(ix);
}
}
if (continueParsing) {
- keyframes.append(QString::number(effectout) + ':' + m_locale.toString(endvalue) + ';');
+ keyframes.append(QString::number(effectout) + ':' + locale.toString(endvalue) + ';');
ix++;
}
}
QStringList kfrs = paramvalue.split(";");
for (int l = 0; l < kfrs.count(); l++) {
QString fr = kfrs.at(l).section('=', 0, 0);
- double val = m_locale.toDouble(kfrs.at(l).section('=', 1, 1));
- //kfrs[l] = fr + ":" + m_locale.toString((int)(val * fact));
+ double val = locale.toDouble(kfrs.at(l).section('=', 1, 1));
+ //kfrs[l] = fr + ":" + locale.toString((int)(val * fact));
kfrs[l] = fr + ":" + QString::number((int) (val * fact));
}
e.setAttribute("keyframes", kfrs.join(";"));
} else if (type == "double" || type == "constant") {
bool ok;
- e.setAttribute("value", m_locale.toDouble(paramvalue, &ok) * fact);
+ e.setAttribute("value", locale.toDouble(paramvalue, &ok) * fact);
if (!ok)
e.setAttribute("value", paramvalue);
} else {
KdenliveDoc *m_doc;
int m_verticalZoom;
QString m_documentErrors;
- QLocale m_locale;
void parseDocument(QDomDocument doc);
int slotAddProjectTrack(int ix, QDomElement xml, bool locked, QDomNodeList producers);
DocClipBase *getMissingProducer(const QString id) const;
void adjustTrackHeaders();
+ /** @brief Add effects from the xml. Returns true if some effect was upgraded, false if everything went fine.*/
void slotAddProjectEffects(QDomNodeList effects, QDomElement parentNode, ClipItem *clip, int trackIndex);
private slots: