svn path=/trunk/kdenlive/; revision=3604
}
m_unicodeDialog = new UnicodeDialog(UnicodeDialog::InputHex, m_lastUnicodeNumber);
connect(m_unicodeDialog, SIGNAL(charSelected(QString)), this, SLOT(slotInsertUnicodeString(QString)));
}
m_unicodeDialog = new UnicodeDialog(UnicodeDialog::InputHex, m_lastUnicodeNumber);
connect(m_unicodeDialog, SIGNAL(charSelected(QString)), this, SLOT(slotInsertUnicodeString(QString)));
- connect(m_unicodeDialog, SIGNAL(newUnicodeNumber(QString)), this, SLOT(slotUnicodeNumber(QString)));
+ connect(m_unicodeDialog, SIGNAL(newUnicodeNumber(QString)), this, SLOT(slotUnicodeNumber(QString)));
}
TitleWidget::~TitleWidget()
}
TitleWidget::~TitleWidget()
void TitleWidget::slotUnicodeNumber(QString newUnicodeNumber)
{
void TitleWidget::slotUnicodeNumber(QString newUnicodeNumber)
{
- m_lastUnicodeNumber = newUnicodeNumber;
+ m_lastUnicodeNumber = newUnicodeNumber;
}
void TitleWidget::slotUpdateText()
}
void TitleWidget::slotUpdateText()
titleConfig.writeEntry("background_alpha", horizontalSlider->value());
titleConfig.writeEntry("crop_image", cropImage->isChecked());
titleConfig.writeEntry("background_alpha", horizontalSlider->value());
titleConfig.writeEntry("crop_image", cropImage->isChecked());
-
- titleConfig.writeEntry("unicode_number", m_lastUnicodeNumber);
-
+
+ titleConfig.writeEntry("unicode_number", m_lastUnicodeNumber);
+
//! \todo Not sure if I should sync - it is probably safe to do it
config->sync();
//! \todo Not sure if I should sync - it is probably safe to do it
config->sync();
horizontalSlider->setValue(titleConfig.readEntry("background_alpha", horizontalSlider->value()));
cropImage->setChecked(titleConfig.readEntry("crop_image", cropImage->isChecked()));
horizontalSlider->setValue(titleConfig.readEntry("background_alpha", horizontalSlider->value()));
cropImage->setChecked(titleConfig.readEntry("crop_image", cropImage->isChecked()));
-
- m_lastUnicodeNumber = titleConfig.readEntry("unicode_number", QString("2013"));
+
+ m_lastUnicodeNumber = titleConfig.readEntry("unicode_number", QString("2013"));
QAction *m_buttonLoad;
/** \brief Dialog for entering unicode in text fields */
UnicodeDialog *m_unicodeDialog;
QAction *m_buttonLoad;
/** \brief Dialog for entering unicode in text fields */
UnicodeDialog *m_unicodeDialog;
- /** \brief Stores the last used unicode */
- QString m_lastUnicodeNumber;
+ /** \brief Stores the last used unicode */
+ QString m_lastUnicodeNumber;
/** project path for storing title clips */
QString m_projectPath;
/** \brief Store the current choices of font, background and rect values */
/** project path for storing title clips */
QString m_projectPath;
/** \brief Store the current choices of font, background and rect values */
void slotUpdateText();
void slotInsertUnicode();
void slotInsertUnicodeString(QString);
void slotUpdateText();
void slotInsertUnicode();
void slotInsertUnicodeString(QString);
- /** \brief Called when unicode dialog closed, updates the last selected unicode number */
- void slotUnicodeNumber(QString);
+ /** \brief Called when unicode dialog closed, updates the last selected unicode number */
+ void slotUnicodeNumber(QString);
void displayBackgroundFrame();
void displayBackgroundFrame();
void slotRectTool();
void slotSelectTool();
void slotImageTool();
void slotRectTool();
void slotSelectTool();
void slotImageTool();
/** \brief Called when accepted, stores the user selections for next time use */
void slotAccepted();
/** \brief Called when accepted, stores the user selections for next time use */
void slotAccepted();
/// CONSTRUCTORS/DECONSTRUCTORS
/// CONSTRUCTORS/DECONSTRUCTORS
-UnicodeDialog::UnicodeDialog(InputMethod inputMeth, QString lastUnicodeNumber) :
- inputMethod(inputMeth),
- m_lastCursorPos(0),
- m_lastUnicodeNumber(lastUnicodeNumber)
+UnicodeDialog::UnicodeDialog(InputMethod inputMeth, QString lastUnicodeNumber) :
+ inputMethod(inputMeth),
+ m_lastCursorPos(0),
+ m_lastUnicodeNumber(lastUnicodeNumber)
connect(unicodeNumber, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)));
connect(unicodeNumber, SIGNAL(returnPressed()), this, SLOT(slotReturnPressed()));
connect(arrowUp, SIGNAL(clicked()), this, SLOT(slotNextUnicode()));
connect(unicodeNumber, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)));
connect(unicodeNumber, SIGNAL(returnPressed()), this, SLOT(slotReturnPressed()));
connect(arrowUp, SIGNAL(clicked()), this, SLOT(slotNextUnicode()));
arrowUp->setToolTip(i18n("Next Unicode character (Arrow Up)"));
arrowDown->setToolTip(i18n("Previous Unicode character (Arrow Down)"));
unicodeNumber->setToolTip(i18n("Enter your Unicode number here. Allowed characters: [0-9] and [a-f]."));
arrowUp->setToolTip(i18n("Next Unicode character (Arrow Up)"));
arrowDown->setToolTip(i18n("Previous Unicode character (Arrow Down)"));
unicodeNumber->setToolTip(i18n("Enter your Unicode number here. Allowed characters: [0-9] and [a-f]."));
- unicodeNumber->selectAll(); // Selection will be reset by setToolTip and similar, so set it here
-
+ unicodeNumber->selectAll(); // Selection will be reset by setToolTip and similar, so set it here
+
}
UnicodeDialog::~UnicodeDialog()
}
UnicodeDialog::~UnicodeDialog()
void UnicodeDialog::showLastUnicode()
{
unicodeNumber->setText(m_lastUnicodeNumber);
void UnicodeDialog::showLastUnicode()
{
unicodeNumber->setText(m_lastUnicodeNumber);
- unicodeNumber->selectAll();
- slotTextChanged(m_lastUnicodeNumber);
+ unicodeNumber->selectAll();
+ slotTextChanged(m_lastUnicodeNumber);
}
bool UnicodeDialog::controlCharacter(QString text)
}
bool UnicodeDialog::controlCharacter(QString text)
} else if (u == "a") {
infoText = i18n("Line Feed (newline character, \\\\n)");
} else if (u == "20") {
} else if (u == "a") {
infoText = i18n("Line Feed (newline character, \\\\n)");
} else if (u == "20") {
- infoText = i18n("Standard space character. (See U+00a0 and U+2000–200b)");
+ infoText = i18n("Standard space character. (Other space characters: U+00a0, U+2000–200b, U+202f)");
- infoText = i18n("No-break space.   in HTML. See U+0020.");
- } else if (u == "ab" || u == "bb" || u == "2039" || u == "203a") {
- infoText = i18n("<p><strong>«</strong> (u+00ab, <code>&lfquo;</code> in HTML) and <strong>»</strong> (u+00bb, <code>&rfquo;</code> in HTML) are called Guillemets or angle quotes. Usage in different countries: « France » (with non-breaking Space 0x00a0), «Switzerland», »Germany«, »Finland and Sweden».</p><p><strong>‹</strong> and <strong>›</strong> (U+2039/203a, <code>&lsaquo;/&rsaquo;</code>) are their single quote equivalents.</p><p>See <a href=\"http://en.wikipedia.org/wiki/Guillemets\">Wikipedia:Guillemets</a></p>");
+ infoText = i18n("No-break space. &nbsp; in HTML. See U+2009 and U+0020.");
+ } else if (u == "ab" || u == "bb" || u == "2039" || u == "203a") {
+ infoText = i18n("<p><strong>«</strong> (u+00ab, <code>&lfquo;</code> in HTML) and <strong>»</strong> (u+00bb, <code>&rfquo;</code> in HTML) are called Guillemets or angle quotes. Usage in different countries: « France » (with non-breaking Space 0x00a0), «Switzerland», »Germany«, »Finland and Sweden».</p><p><strong>‹</strong> and <strong>›</strong> (U+2039/203a, <code>&lsaquo;/&rsaquo;</code>) are their single quote equivalents.</p><p>See <a href=\"http://en.wikipedia.org/wiki/Guillemets\">Wikipedia:Guillemets</a></p>");
} else if (u == "2002") {
infoText = i18n("En Space (width of an n)");
} else if (u == "2003") {
} else if (u == "2002") {
infoText = i18n("En Space (width of an n)");
} else if (u == "2003") {
} else if (u == "2008") {
infoText = i18n("Punctuation Space. Width the same as between a punctuation character and the next character.");
} else if (u == "2009") {
} else if (u == "2008") {
infoText = i18n("Punctuation Space. Width the same as between a punctuation character and the next character.");
} else if (u == "2009") {
- infoText = i18n("Thin space, in HTML also &thinsp;. See <a href=\"http://en.wikipedia.org/wiki/Space_(punctuation)\">Wikipedia:Space_(punctuation)</a>");
+ infoText = i18n("Thin space, in HTML also &thinsp;. See U+202f and <a href=\"http://en.wikipedia.org/wiki/Space_(punctuation)\">Wikipedia:Space_(punctuation)</a>");
} else if (u == "200a") {
infoText = i18n("Hair Space. Thinner than U+2009.");
} else if (u == "2019") {
} else if (u == "200a") {
infoText = i18n("Hair Space. Thinner than U+2009.");
} else if (u == "2019") {
infoText = i18n("<p>An en Dash (dash of the width of an n).</p><p>Usage examples: In English language for value ranges (1878–1903), for relationships/connections (Zurich–Dublin). In the German language it is also used (with spaces!) for showing thoughts: “Es war – wie immer in den Ferien – ein regnerischer Tag.</p> <p>See <a href=\"http://en.wikipedia.org/wiki/Dash\">Wikipedia:Dash</a></p>");
} else if (u == "2014") {
infoText = i18n("<p>An em Dash (dash of the widht of an m).</p><p>Usage examples: In English language to mark—like here—thoughts. Traditionally without spaces. </p><p>See <a href=\"http://en.wikipedia.org/wiki/Dash\">Wikipedia:Dash</a></p>");
infoText = i18n("<p>An en Dash (dash of the width of an n).</p><p>Usage examples: In English language for value ranges (1878–1903), for relationships/connections (Zurich–Dublin). In the German language it is also used (with spaces!) for showing thoughts: “Es war – wie immer in den Ferien – ein regnerischer Tag.</p> <p>See <a href=\"http://en.wikipedia.org/wiki/Dash\">Wikipedia:Dash</a></p>");
} else if (u == "2014") {
infoText = i18n("<p>An em Dash (dash of the widht of an m).</p><p>Usage examples: In English language to mark—like here—thoughts. Traditionally without spaces. </p><p>See <a href=\"http://en.wikipedia.org/wiki/Dash\">Wikipedia:Dash</a></p>");
+ } else if (u == "202f") {
+ infoText = i18n("<p>Narrow no-break space. Has the same width as U+2009.</p><p>Usage: For units (spaces are marked with U+2423, ␣): 230␣V, −21␣°C, 50␣lb, <em>but</em> 90° (no space). In German for abbreviations (like: i. d. R. instead of i. d. R. with U+00a0).</p><p>See <a href=\"http://de.wikipedia.org/wiki/Schmales_Leerzeichen\">Wikipedia:de:Schmales_Leerzeichen</a></p>");
} else if (u == "2026") {
infoText = i18n("Ellipsis: If text has been left o… See <a href=\"http://en.wikipedia.org/wiki/Ellipsis\">Wikipedia:Ellipsis</a>");
} else if (u == "2026") {
infoText = i18n("Ellipsis: If text has been left o… See <a href=\"http://en.wikipedia.org/wiki/Ellipsis\">Wikipedia:Ellipsis</a>");
+ } else if (u == "2212") {
+ infoText = i18n("Minus sign. For numbers: −42");
+ } else if (u == "2423") {
+ infoText = i18n("Open box; stands for a space.");
} else {
infoText = i18n("<small>No additional information available for this character.</small>");
}
} else {
infoText = i18n("<small>No additional information available for this character.</small>");
}
QString text = trimmedUnicodeNumber(unicodeNumber->text());
if (!controlCharacter(text)) {
emit charSelected(unicodeChar->text());
QString text = trimmedUnicodeNumber(unicodeNumber->text());
if (!controlCharacter(text)) {
emit charSelected(unicodeChar->text());
- emit newUnicodeNumber(unicodeNumber->text());
+ emit newUnicodeNumber(unicodeNumber->text());
signals:
/** \brief Contains the selected unicode character; emitted when Enter is pressed. */
void charSelected(const QString&);
signals:
/** \brief Contains the selected unicode character; emitted when Enter is pressed. */
void charSelected(const QString&);
- /** \brief Contains the last used unicode number. */
- void newUnicodeNumber(const QString&);
+ /** \brief Contains the last used unicode number. */
+ void newUnicodeNumber(const QString&);
private slots:
void slotTextChanged(QString text);
private slots:
void slotTextChanged(QString text);
#define DBG_AREA
//#include "config.h"
#define DBG_AREA
//#include "config.h"
KDE_EXPORT ThumbCreator *new_creator() {
return new MltPreview;
}
KDE_EXPORT ThumbCreator *new_creator() {
return new MltPreview;
}