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(""); + 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( "%3") .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("%3") + QString currentTip = QString::fromLatin1( + "%3") .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); }