You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.6 KiB
57 lines
1.6 KiB
Index: kdeui/ktip.cpp
|
|
===================================================================
|
|
--- kdeui/ktip.cpp.orig
|
|
+++ kdeui/ktip.cpp
|
|
@@ -367,24 +367,47 @@ void KTipDialog::showMultiTip(QWidget *p
|
|
mInstance->raise();
|
|
}
|
|
|
|
+static QString fixTip(QString tip)
|
|
+{
|
|
+ QRegExp iconRegExp("<img src=\"(.*)\">");
|
|
+ iconRegExp.setMinimal(true);
|
|
+ if (iconRegExp.search(tip)>-1) {
|
|
+ QString iconName = iconRegExp.cap(1);
|
|
+ if (!iconName.isEmpty())
|
|
+ if (KGlobal::dirs()->findResource("icon", iconName).isEmpty())
|
|
+ tip.replace("crystalsvg","hicolor");
|
|
+ }
|
|
+
|
|
+ return tip;
|
|
+}
|
|
+
|
|
void KTipDialog::prevTip()
|
|
{
|
|
mDatabase->prevTip();
|
|
- mTipText->setText(QString::fromLatin1(
|
|
+ QString currentTip = QString::fromLatin1(
|
|
"<qt text=\"%1\" bgcolor=\"%2\">%3</qt>")
|
|
.arg(mTextColor.name())
|
|
.arg(mBaseColor.name())
|
|
- .arg(i18n(mDatabase->tip().utf8())));
|
|
+ .arg(i18n(mDatabase->tip().utf8()));
|
|
+
|
|
+
|
|
+ currentTip = fixTip(currentTip);
|
|
+ mTipText->setText(currentTip);
|
|
mTipText->setContentsPos(0, 0);
|
|
}
|
|
|
|
void KTipDialog::nextTip()
|
|
{
|
|
mDatabase->nextTip();
|
|
- mTipText->setText(QString::fromLatin1("<qt text=\"%1\" bgcolor=\"%2\">%3</qt>")
|
|
+ QString currentTip = QString::fromLatin1(
|
|
+ "<qt text=\"%1\" bgcolor=\"%2\">%3</qt>")
|
|
.arg(mTextColor.name())
|
|
.arg(mBaseColor.name())
|
|
- .arg(i18n(mDatabase->tip().utf8())));
|
|
+ .arg(i18n(mDatabase->tip().utf8()));
|
|
+
|
|
+
|
|
+ currentTip = fixTip(currentTip);
|
|
+ mTipText->setText(currentTip);
|
|
mTipText->setContentsPos(0, 0);
|
|
}
|
|
|