diff options
Diffstat (limited to 'mandriva/2010.2/other/ksplash-engine-moodin')
14 files changed, 885 insertions, 0 deletions
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/kde3-ksplash-engine-moodin.spec b/mandriva/2010.2/other/ksplash-engine-moodin/kde3-ksplash-engine-moodin.spec new file mode 100644 index 000000000..5a631cc79 --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/kde3-ksplash-engine-moodin.spec @@ -0,0 +1,192 @@ +%define oldname ksplash-engine-moodin +Name: kde3-%{oldname} +Version: 0.4.2 +Release: %mkrel 19 +Summary: Splash Screen Engine for KDE3 +License: GPL +URL: http://moodwrod.com/ +Group: Graphical desktop/KDE3 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot +Source: http://moodwrod.com/files/%{oldname}_0.4.2.tar.bz2 +# a Qt4 based Svg render to be used in moodin +Source1: svgrender.tar.bz2 +Patch1: moodin-autoconf.patch +Patch2: moodin-0.4.2-fix-bug.patch +Patch3: moodin-0.4.2-memleak-bug.patch +Patch4: moodinkde-use-svg.patch +Patch5: moodin-use-label-offset.patch +Patch6: moodin-fix-svg.patch +Patch7: moodin-automake.patch +Patch8: moodin-external_svgrender.patch +Patch9: moodin-fix_drawing_on_compiz.patch +Patch10: moodin-drawing_and_scaling_fixes.patch +Patch11: moodin-fix_svg_on_base_resolution.patch +Patch12: kde-3.5.10-acinclude.patch +Patch13: moodin-kdehome-kde3.patch +BuildRequires: kde3-macros +BuildRequires: libkde3base4-devel +BuildRequires: art_lgpl-devel +# for the svgrender +BuildRequires: qt4-devel +%if %mdkversion < 201000 +BuildRequires: autoconf <= 1:2.63 +%else +BuildRequires: autoconf >= 1:2.65 +%endif +BuildRequires: automake >= 1.6.1 +Obsoletes: %{oldname} +Provides: %{oldname} + +%description +Splash Screen Engine for KDE3 +Heavily customizable engine for various types of themes + +FEATURES: +- Scale cache +- Fading images +- Use current icon set or custom images +- Unlimited Custom text labels +- Set fading delay and length +- Custom image arrangement +- Resolution independent themes + + +%prep +rm -rf %buildroot + +%setup -q -n moodin -a1 + +%patch1 -p1 -b .autoconf +%patch2 -p1 -b .fix_bug +%patch3 -p1 -b .fix_mem_leak +%patch4 -p1 -b .use_svg +%patch5 -p1 -b .use_status_offset +%patch6 -p1 -b .fix_svg +%patch7 -p1 -b .automake +%patch8 -p1 -b .external_svgrender +%patch9 -p1 -b .fix_drawing +%patch10 -p1 -b .fix_scaling +%patch11 -p1 -b .fix_svg_base_resolution +%if %mdkversion >= 201000 +%patch12 -p1 +%patch13 -p1 +%endif + + +%build +make -f admin/Makefile.common +%configure_kde3 + +# svgrender +pushd svgrender + qmake + make +popd + +%install +rm -rf %buildroot +%{makeinstall_std} + +# svgrender +mkdir -p %buildroot%_kde3_bindir +install -m0755 svgrender/svgrender %buildroot%_kde3_bindir/moodin_svgrender + +%clean +rm -rf %buildroot + +%files +%defattr(-,root,root) +%doc COPYING INSTALL AUTHORS +%_kde3_bindir/moodin_svgrender +%_kde3_libdir/kde3/ksplashmoodin.la +%_kde3_libdir/kde3/ksplashmoodin.so +%_kde3_appsdir/ksplash/Themes/FingerPrint/*.png +%_kde3_appsdir/ksplash/Themes/FingerPrint/*.jpg +%_kde3_appsdir/ksplash/Themes/FingerPrint/Theme.rc +%_kde3_appsdir/ksplash/Themes/MoodinKDE/*.jpg +%_kde3_appsdir/ksplash/Themes/MoodinKDE/*.png +%_kde3_appsdir/ksplash/Themes/MoodinKDE/Theme.rc +%_kde3_datadir/services/ksplashmoodin.desktop + + + + +%changelog + +* Thu Jul 14 2011 Tim Williams <tim@my-place.ortg.uk> 0.4.2-19mvt2010.2 ++ rebuild for MDV 2010.2/Trinity KDE + +* Mon Jul 19 2010 Tim Williams <tim@my-place.ortg.uk> 0.4.2-18mvt2010.1 ++ Rebuild for MDV 2010.1 + +* Thu Feb 18 2010 Atilla ÖNTAŞ <atilla_ontas@mandriva.org> 0.4.2-17mvt2010.0 ++ Make default config dir as$HOME/.kde3 to avoid future conflicts with KDE4 + +* Fri Feb 12 2010 Atilla ÖNTAŞ <atilla_ontas@mandriva.org> 0.4.2-16mvt2010.0 ++ KDE builds with autoconf 2.65, add patch for this and + set autoconf to version 2.65 +- Rename package name and group to avoid possible future kde4 conflicts + +* Thu Nov 26 2009 Atilla ÖNTAŞ <atilla_ontas@mandriva.org> 0.4.2-15mvt2010.0 ++ Rename package to avoid unvanted KDE4 upgrade + +* Fri Nov 13 2009 Tim Williams <tim@my-place.org.uk> 0.4.2-14mdv2009.0 ++ Rebuild for MDV 2010.0 + +* Sun Jul 13 2008 Nicolas Lécureuil <neoclust@mandriva.org> 0.4.2-13mdv2009.0 ++ Revision: 234340 +- Rebuild + +* Thu May 08 2008 Helio Chissini de Castro <helio@mandriva.com> 0.4.2-12mdv2009.0 ++ Revision: 204726 +- Move to /opt + +* Thu Feb 28 2008 Gustavo Pichorim Boiko <boiko@mandriva.com> 0.4.2-11mdv2008.1 ++ Revision: 176248 +- Fix svg rendering when the screen resolution is the same as the base resolution + +* Wed Feb 27 2008 Gustavo Pichorim Boiko <boiko@mandriva.com> 0.4.2-10mdv2008.1 ++ Revision: 175815 +- Add a patch fixing many problems of Moodin: + * Inter-widget transparency + * scaling images when using a svg background + * Proper handling svg images. + +* Tue Feb 26 2008 Gustavo Pichorim Boiko <boiko@mandriva.com> 0.4.2-9mdv2008.1 ++ Revision: 175394 +- Add a patch fixing drawing when compiz is running + + + Thierry Vignaud <tvignaud@mandriva.com> + - fix no-buildroot-tag + +* Thu Jan 03 2008 Oden Eriksson <oeriksson@mandriva.com> 0.4.2-8mdv2008.1 ++ Revision: 141782 +- rebuilt against openldap-2.4.7 libs + +* Thu Dec 20 2007 Gustavo Pichorim Boiko <boiko@mandriva.com> 0.4.2-7mdv2008.1 ++ Revision: 135891 +- Fix automake 1.10 detection +- Use an external svg rendering helper (Qt4 based) + + + Thierry Vignaud <tvignaud@mandriva.com> + - kill re-definition of %%buildroot on Pixel's request + + +* Wed Feb 14 2007 Laurent Montel <lmontel@mandriva.com> 0.4.2-6mdv2007.0 ++ Revision: 120903 +- Fix svg + +* Wed Feb 14 2007 Laurent Montel <lmontel@mandriva.com> 0.4.2-5mdv2007.1 ++ Revision: 120754 +- Improve +- Fix other mem leak +- Fix some mem leak +- Fix configure +- Import ksplash-engine-moodin + +* Mon Jul 03 2006 Nicolas Lécureuil <neoclust@mandriva.org> 0.4.2-2mdv2007.0 +- Rebuild for new extension + +* Sun Dec 18 2005 Sebastien Savarin <plouf@mandriva.org> 0.4.2-1mdk +- First Mandriva Linux release + diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-fix-bug.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-fix-bug.patch new file mode 100644 index 000000000..d69796b2b --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-fix-bug.patch @@ -0,0 +1,79 @@ +--- moodin/src/magiclabel.cpp-- 2007-01-26 14:47:28.000000000 +0100 ++++ moodin/src/magiclabel.cpp 2007-01-26 14:48:48.000000000 +0100 +@@ -21,7 +21,7 @@ + // This class is still very simple (as most of the classes) + // They get all improved later when "OpenGL Effect Widget" structure is completed + +-MagicLabel::MagicLabel(QString s, bool translate) ++MagicLabel::MagicLabel(const QString &s, bool translate) + { + prefix = "ML:"; + preUSER = "USER:"; +@@ -73,7 +73,11 @@ + mValue = ""; + + if (!proc->start(KProcess::Block, KProcess::Stdout)) ++ { ++ delete proc; ++ //TODO add i18n + KMessageBox::information(0, QString("Could not start process: %1").arg(cmd)); ++ } + } + + +--- moodin/src/cache.cpp-- 2007-01-26 14:45:16.000000000 +0100 ++++ moodin/src/cache.cpp 2007-01-26 14:46:11.000000000 +0100 +@@ -81,7 +81,7 @@ + } + + +-void Cache::writeInfoFile(QString& file) ++void Cache::writeInfoFile(const QString& file) + { + QFileInfo fi(getFile(file)); + +@@ -91,7 +91,7 @@ + } + + +-bool Cache::isInSync(QString& file) ++bool Cache::isInSync(const QString& file) + { + QFileInfo fi(getFile(file)); + +@@ -103,7 +103,7 @@ + } + + +-QString Cache::getFile(QString file) ++QString Cache::getFile(const QString &file) + { + return mCacheDir.filePath(file); + } +--- moodin/src/cache.h-- 2007-01-26 14:45:21.000000000 +0100 ++++ moodin/src/cache.h 2007-01-26 14:46:15.000000000 +0100 +@@ -28,10 +28,10 @@ + Scaler* mScaler; + + void createCacheDir(); +- void writeInfoFile(QString& file); +- bool isInSync(QString& file); ++ void writeInfoFile(const QString& file); ++ bool isInSync(const QString& file); + +- QString getFile(QString file); ++ QString getFile(const QString &file); + + public: + Cache(Scaler* scaler, const QString& mThemeEngine, const QString& theme); +--- moodin/src/magiclabel.h-- 2007-01-26 14:47:34.000000000 +0100 ++++ moodin/src/magiclabel.h 2007-01-26 14:47:53.000000000 +0100 +@@ -36,7 +36,7 @@ + void receivedStdout(KProcess *proc, char *buffer, int buflen); + + public: +- MagicLabel(QString s, bool translate); ++ MagicLabel(const QString &s, bool translate); + + inline QString& value() { return mValue; }; + }; diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-memleak-bug.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-memleak-bug.patch new file mode 100644 index 000000000..ae750fbb8 --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-memleak-bug.patch @@ -0,0 +1,15 @@ +--- moodin/src/thememoodin.cpp-- 2007-01-26 14:56:48.000000000 +0100 ++++ moodin/src/thememoodin.cpp 2007-01-26 14:57:20.000000000 +0100 +@@ -81,8 +81,10 @@ + mImageSpacer = cfg->readNumEntry("ImageSpacer", mUseIconSet ? mIconSetSize : 0); + mUsersBackground = cfg->readBoolEntry("UsersBackground", false); + mLabelCount = cfg->readNumEntry("Labels", 0); +- mLabelShadowOffset = cfg->readPointEntry("LabelShadowOffset", new QPoint(2, 2)); +- mBaseResolution = cfg->readSizeEntry("BaseResolution", new QSize(1280, 1024)); ++ QPoint pos(2,2); ++ mLabelShadowOffset = cfg->readPointEntry("LabelShadowOffset", &pos); ++ QSize size(1280, 1024); ++ mBaseResolution = cfg->readSizeEntry("BaseResolution", &size); + mTranslate = cfg->readBoolEntry("Translate", true); + mLineUpImages = cfg->readBoolEntry("LineUpImages", false); + diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-autoconf.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-autoconf.patch new file mode 100644 index 000000000..a6172eb0e --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-autoconf.patch @@ -0,0 +1,31 @@ +--- moodin/admin/cvs.sh-- 2007-01-26 14:36:43.000000000 +0100 ++++ moodin/admin/cvs.sh 2007-01-26 14:37:10.000000000 +0100 +@@ -32,7 +32,7 @@ + required_autoconf_version="2.53 or newer" + AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1` + case $AUTOCONF_VERSION in +- Autoconf*2.5* | autoconf*2.5* ) : ;; ++ Autoconf*2.5* | autoconf*2.5* | autoconf*2.6* ) : ;; + "" ) + echo "*** AUTOCONF NOT FOUND!." + echo "*** KDE requires autoconf $required_autoconf_version" +@@ -47,7 +47,7 @@ + + AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1` + case $AUTOHEADER_VERSION in +- Autoconf*2.5* | autoheader*2.5* ) : ;; ++ Autoconf*2.5* | autoheader*2.5* | autoheader*2.6* ) : ;; + "" ) + echo "*** AUTOHEADER NOT FOUND!." + echo "*** KDE requires autoheader $required_autoconf_version" +--- moodin/admin/detect-autoconf.sh-- 2007-01-26 14:37:38.000000000 +0100 ++++ moodin/admin/detect-autoconf.sh 2007-01-26 14:37:52.000000000 +0100 +@@ -10,7 +10,7 @@ + # Please add higher versions first. The last version number is the minimum + # needed to compile KDE. Do not forget to include the name/version # + # separator if one is present, e.g. -1.2 where - is the separator. +-KDE_AUTOCONF_VERS="-2.58 -2.57 257 -2.54 -2.53a -2.53 -2.52 -2.5x" ++KDE_AUTOCONF_VERS="-2.65 -2.63 -2.62 -2.61 -2.60 -2.58 -2.57 257 -2.54 -2.53a -2.53 -2.52 -2.5x" + KDE_AUTOMAKE_VERS="-1.7 17 -1.6" + + # We don't use variable here for remembering the type ... strings. Local diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-automake.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-automake.patch new file mode 100644 index 000000000..94519d0cb --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-automake.patch @@ -0,0 +1,12 @@ +diff -p -up moodin/admin/cvs.sh.automake moodin/admin/cvs.sh +--- moodin/admin/cvs.sh.automake 2007-12-20 13:29:30.000000000 -0200 ++++ moodin/admin/cvs.sh 2007-12-20 13:29:53.000000000 -0200 +@@ -68,7 +68,7 @@ case $AUTOMAKE_STRING in + echo "*** KDE requires automake $required_automake_version" + exit 1 + ;; +- automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9*) ++ automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10* | automake*1.11* ) + echo "*** $AUTOMAKE_STRING found." + UNSERMAKE=no + ;; diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-drawing_and_scaling_fixes.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-drawing_and_scaling_fixes.patch new file mode 100644 index 000000000..a856e9932 --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-drawing_and_scaling_fixes.patch @@ -0,0 +1,144 @@ +diff -p -up moodin/src/cache.cpp.orig moodin/src/cache.cpp +diff -p -up moodin/src/magiclabel.h.orig moodin/src/magiclabel.h +diff -p -up moodin/src/cache.h.orig moodin/src/cache.h +diff -p -up moodin/src/thememoodin.cpp.orig moodin/src/thememoodin.cpp +--- moodin/src/thememoodin.cpp.orig 2008-02-26 17:46:36.000000000 -0300 ++++ moodin/src/thememoodin.cpp 2008-02-26 17:47:26.000000000 -0300 +@@ -88,11 +88,11 @@ void ThemeMoodin::readSettings() + mLabelShadowOffset = cfg->readPointEntry("LabelShadowOffset", &pos); + QSize size(1280, 1024); + mBaseResolution = cfg->readSizeEntry("BaseResolution", &size); +- //For svg image use a negative size => force to create it. ++/* //For svg image use a negative size => force to create it. + if(!mUsersBackground && (mBackgroundImage.endsWith(".svg") || mBackgroundImage.endsWith(".svgz"))) { + mBaseResolution=QSize(); + } +- ++*/ + mTranslate = cfg->readBoolEntry("Translate", true); + mLineUpImages = cfg->readBoolEntry("LineUpImages", false); + +@@ -325,7 +325,13 @@ EffectWidget* ThemeMoodin::createEffectW + fw->setFixedSize(image->size()); + fw->setImage(image); + fw->setStart(mBeginOpacity); +- fw->show(); ++ //fw->show(); ++ ++ for (EffectWidget *f = mEffectWidgets.first(); f; f = mEffectWidgets.next()) ++ { ++ connect(f, SIGNAL(cacheNeedsUpdate()), fw, SLOT(updateCache())); ++ connect(fw, SIGNAL(cacheNeedsUpdate()), f, SLOT(updateCache())); ++ } + + return fw; + } +@@ -358,7 +364,10 @@ void ThemeMoodin::slotSetPixmap(const QS + EffectWidget *fw = mEffectWidgets.at(n); + + if (fw) ++ { ++ fw->show(); + fw->start(); ++ } + + repaint(false); + } +diff -p -up moodin/src/thememoodin.h.orig moodin/src/thememoodin.h +diff -p -up moodin/src/magiclabel.cpp.orig moodin/src/magiclabel.cpp +diff -p -up moodin/src/effectwidget.h.orig moodin/src/effectwidget.h +--- moodin/src/effectwidget.h.orig 2008-02-26 17:46:36.000000000 -0300 ++++ moodin/src/effectwidget.h 2008-02-26 17:48:33.000000000 -0300 +@@ -45,10 +45,12 @@ class EffectWidget : public QWidget + void resizeEvent(QResizeEvent *); + void moveEvent(QMoveEvent *); + +- void updateCache(); ++signals: ++ void cacheNeedsUpdate(); + + public slots: + void timerTick(); ++ void updateCache(); + + private: + static QImage *bgImage; +@@ -64,6 +66,7 @@ class EffectWidget : public QWidget + float + beginOpacity, + endOpacity; ++ bool bgUpdated; + }; + + #endif +diff -p -up moodin/src/scaler.h.orig moodin/src/scaler.h +diff -p -up moodin/src/effectwidget.cpp.orig moodin/src/effectwidget.cpp +--- moodin/src/effectwidget.cpp.orig 2008-02-26 17:46:36.000000000 -0300 ++++ moodin/src/effectwidget.cpp 2008-02-26 17:46:40.000000000 -0300 +@@ -34,6 +34,8 @@ EffectWidget::EffectWidget(QWidget* pare + setBackgroundMode(NoBackground); + setBackgroundOrigin(QWidget::ParentOrigin); + updateCache(); ++ ++ bgUpdated = false; + } + + +@@ -157,7 +159,17 @@ void EffectWidget::paintEvent(QPaintEven + + QImage upper = image->copy(); + QImage lower = background.copy(); +- KImageEffect::blendOnLower(upper, lower, KImageEffect::Centered, (currentStep + 1 == totalSteps) ? 1.0 : endOpacity / float(totalSteps) * float(currentStep) + beginOpacity); ++ ++ if ((currentStep + 1 == totalSteps) && !bgUpdated) ++ { ++ bgUpdated = true; ++ KImageEffect::blendOnLower(upper, lower, KImageEffect::Centered, 1.0); ++ QPoint p(mapToGlobal(QPoint(0,0))); ++ bitBlt(bgImage, p.x(), p.y(), &lower, 0, 0, -1, -1, 0); ++ emit cacheNeedsUpdate(); ++ } ++ else ++ KImageEffect::blendOnLower(upper, lower, KImageEffect::Centered, endOpacity / float(totalSteps) * float(currentStep) + beginOpacity); + + bitBlt(this, 0, 0, &lower); + } +diff -p -up moodin/src/scaler.cpp.orig moodin/src/scaler.cpp +--- moodin/src/scaler.cpp.orig 2008-02-26 17:46:36.000000000 -0300 ++++ moodin/src/scaler.cpp 2008-02-26 17:47:44.000000000 -0300 +@@ -15,16 +15,7 @@ + + Scaler::Scaler(QSize baseResolution, QSize targetResolution) + { +- if(mBaseResolution.isValid()) +- { +- mBaseResolution = baseResolution; +- mSvgFile =false; +- } +- else +- { +- mBaseResolution = targetResolution; +- mSvgFile = true; +- } ++ mBaseResolution = baseResolution; + mTargetResolution = targetResolution; + } + +@@ -53,7 +44,7 @@ void Scaler::autoCoords(QPoint* pt, cons + + void Scaler::scaleCoords(QPoint* pt) + { +- if (!mSvgFile && (mBaseResolution == mTargetResolution)) ++ if (mBaseResolution == mTargetResolution) + return; + + int ox = pt->x(); +@@ -104,7 +95,7 @@ bool Scaler::scaleSize(QFont* f) + + bool Scaler::resolutionDiff() + { +- return (mSvgFile || (mBaseResolution != mTargetResolution)); ++ return (mBaseResolution != mTargetResolution); + } + + diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-external_svgrender.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-external_svgrender.patch new file mode 100644 index 000000000..6c0a5e900 --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-external_svgrender.patch @@ -0,0 +1,51 @@ +diff -p -up moodin/src/cache.cpp.external_svgrender moodin/src/cache.cpp +--- moodin/src/cache.cpp.external_svgrender 2007-12-20 15:15:29.000000000 -0200 ++++ moodin/src/cache.cpp 2007-12-20 16:12:35.000000000 -0200 +@@ -13,9 +13,9 @@ + #include <kstandarddirs.h> + #include <kconfig.h> + +-#ifdef HAVE_LIBART +-#include <ksvgiconengine.h> +-#endif ++// for external svg rendering ++#include <ktempfile.h> ++#include <kprocess.h> + + #include <qfileinfo.h> + #include <qdatetime.h> +@@ -49,22 +49,18 @@ QImage* Cache::cacheFile(const QString& + { + QImage *i; + if (file.endsWith(".svg") || file.endsWith(".svgz")) { +-#ifdef HAVE_LIBART +- KSVGIconEngine* svgEngine = new KSVGIconEngine(); +- QSize size = mScaler->targetResolution(); +- if (svgEngine->load(size.width(), size.height(), file )) { +- QImage *image = svgEngine->image(); +- i = new QImage(*image); +- delete image; +- i->save(cachedFile.name(), QImage::imageFormat(file)); +- } else { +- kdWarning() << "failed to load SVG file " << file << endl; +- } +- delete svgEngine; +-#else +- kdWarning() << k_funcinfo +- << "tried to load SVG file but libart not installed" << endl; +-#endif ++ QSize size = mScaler->targetResolution(); ++ KProcess proc; ++ proc << "moodin_svgrender"; ++ KTempFile tmp("/tmp/moodin_cache", ".png"); ++ tmp.setAutoDelete(false); ++ tmp.close(); ++ proc << QString::number(size.width()) << QString::number(size.height()) << file << tmp.name(); ++ proc.start(KProcess::Block); ++ ++ i = new QImage(tmp.name()); ++ if (i->save(cachedFile.name(), "PNG")) ++ QFile(tmp.name()).remove(); + } + else + { diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix-svg.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix-svg.patch new file mode 100644 index 000000000..7a252adc6 --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix-svg.patch @@ -0,0 +1,67 @@ +--- moodin/src/scaler.cpp-- 2007-02-14 15:22:06.000000000 +0100 ++++ moodin/src/scaler.cpp 2007-02-14 15:22:16.000000000 +0100 +@@ -15,7 +15,16 @@ + + Scaler::Scaler(QSize baseResolution, QSize targetResolution) + { +- mBaseResolution = baseResolution; ++ if(mBaseResolution.isValid()) ++ { ++ mBaseResolution = baseResolution; ++ mSvgFile =false; ++ } ++ else ++ { ++ mBaseResolution = targetResolution; ++ mSvgFile = true; ++ } + mTargetResolution = targetResolution; + } + +@@ -44,7 +53,7 @@ + + void Scaler::scaleCoords(QPoint* pt) + { +- if (mBaseResolution == mTargetResolution) ++ if (!mSvgFile && (mBaseResolution == mTargetResolution)) + return; + + int ox = pt->x(); +@@ -95,7 +104,7 @@ + + bool Scaler::resolutionDiff() + { +- return (mBaseResolution != mTargetResolution); ++ return (mSvgFile || (mBaseResolution != mTargetResolution)); + } + + +--- moodin/src/scaler.h-- 2007-02-14 15:22:09.000000000 +0100 ++++ moodin/src/scaler.h 2007-02-14 15:22:20.000000000 +0100 +@@ -21,6 +21,7 @@ + private: + QSize mBaseResolution; + QSize mTargetResolution; ++ bool mSvgFile; + + public: + Scaler(QSize baseResolution, QSize targetResolution); +--- moodin/src/thememoodin.cpp-- 2007-02-14 15:23:53.000000000 +0100 ++++ moodin/src/thememoodin.cpp 2007-02-14 15:24:40.000000000 +0100 +@@ -88,7 +88,7 @@ + mBaseResolution = cfg->readSizeEntry("BaseResolution", &size); + //For svg image use a negative size => force to create it. + if(!mUsersBackground && (mBackgroundImage.endsWith(".svg") || mBackgroundImage.endsWith(".svgz"))) { +- mBaseResolution=QSize(-1,-1); ++ mBaseResolution=QSize(); + } + + mTranslate = cfg->readBoolEntry("Translate", true); +@@ -248,7 +248,6 @@ + else + { + QString name = mTheme->locateThemeData(*it); +- + if (name.isEmpty()) + continue; + diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_drawing_on_compiz.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_drawing_on_compiz.patch new file mode 100644 index 000000000..db609104c --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_drawing_on_compiz.patch @@ -0,0 +1,67 @@ +diff -p -up moodin/src/effectwidget.cpp.fix_drawing moodin/src/effectwidget.cpp +diff -p -up moodin/src/scaler.cpp.fix_drawing moodin/src/scaler.cpp +diff -p -up moodin/src/effectwidget.h.fix_drawing moodin/src/effectwidget.h +diff -p -up moodin/src/magiclabel.h.fix_drawing moodin/src/magiclabel.h +diff -p -up moodin/src/thememoodin.h.fix_drawing moodin/src/thememoodin.h +--- moodin/src/thememoodin.h.fix_drawing 2008-02-26 10:30:05.000000000 -0300 ++++ moodin/src/thememoodin.h 2008-02-26 10:46:14.000000000 -0300 +@@ -96,7 +96,6 @@ private: + QPoint mStatusCoords; + QPoint mLabelShadowOffset; + QPoint mStatusOffsets; +- QWidget* mContainer; + QSize mBaseResolution; + QRect mSplashRect; + +diff -p -up moodin/src/scaler.h.fix_drawing moodin/src/scaler.h +diff -p -up moodin/src/cache.h.fix_drawing moodin/src/cache.h +diff -p -up moodin/src/thememoodin.cpp.fix_drawing moodin/src/thememoodin.cpp +--- moodin/src/thememoodin.cpp.fix_drawing 2008-02-26 10:30:05.000000000 -0300 ++++ moodin/src/thememoodin.cpp 2008-02-26 10:46:14.000000000 -0300 +@@ -39,6 +39,8 @@ ThemeMoodin::ThemeMoodin(QWidget* parent + { + readSettings(); + init(); ++ QLayout *l = layout(); ++ delete l; + } + + +@@ -122,8 +124,6 @@ void ThemeMoodin::init() + setBackgroundMode(NoBackground); + setFixedSize(mSplashRect.size()); + +- mContainer = new QWidget(this); +- mContainer->setFixedSize(size()); + mScaler = new Scaler(mBaseResolution, size()); + mCache = new Cache(mScaler, mTheme->themeEngine(), mTheme->theme()); + mBG = new KPixmap(); +@@ -260,7 +260,7 @@ void ThemeMoodin::initEffectWidgets() + } + } + +- fadeWidget = createEffectWidget(mContainer, image); ++ fadeWidget = createEffectWidget(this, image); + mEffectWidgets.append(fadeWidget); + mImages.append(image); + arrangeWidget(fadeWidget, index); +@@ -367,7 +367,7 @@ void ThemeMoodin::slotSetPixmap(const QS + void ThemeMoodin::updateStatus() + { + QPainter p; +- p.begin(mContainer); ++ p.begin(this); + + // use a copy, otherwise status messages move around + QPoint pt = mStatusCoords; +@@ -396,7 +396,7 @@ void ThemeMoodin::paintEvent(QPaintEvent + { + QRect r = pe->rect(); + +- bitBlt(mContainer, r.x(), r.y(), mBG, r.x(), r.y(), r.width(), r.height()); ++ bitBlt(this, r.x(), r.y(), mBG, r.x(), r.y(), r.width(), r.height()); + + if (mShowStatusText) + updateStatus(); +diff -p -up moodin/src/magiclabel.cpp.fix_drawing moodin/src/magiclabel.cpp +diff -p -up moodin/src/cache.cpp.fix_drawing moodin/src/cache.cpp diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_svg_on_base_resolution.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_svg_on_base_resolution.patch new file mode 100644 index 000000000..1775f4b7d --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_svg_on_base_resolution.patch @@ -0,0 +1,12 @@ +diff -p -up moodin/src/cache.cpp.orig moodin/src/cache.cpp +--- moodin/src/cache.cpp.orig 2008-02-28 11:50:22.000000000 -0300 ++++ moodin/src/cache.cpp 2008-02-28 11:50:30.000000000 -0300 +@@ -41,7 +41,7 @@ QImage* Cache::cacheFile(const QString& + QStringList parts = QStringList::split("/", file); + QFile cachedFile(mCacheDir.filePath(parts.last())); + +- if (!mScaler->resolutionDiff()) ++ if (!mScaler->resolutionDiff() && !file.endsWith(".svg") && !file.endsWith(".svgz")) + return new QImage(file); + else if (isInSync(parts.last()) && cachedFile.exists()) + return new QImage(cachedFile.name()); diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-kdehome-kde3.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-kdehome-kde3.patch new file mode 100644 index 000000000..41146bca4 --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-kdehome-kde3.patch @@ -0,0 +1,48 @@ +diff -Naur moodin/src/cache.cpp moodin-yeni/src/cache.cpp +--- moodin/src/cache.cpp 2010-02-18 18:39:32.860704557 +0200 ++++ moodin-yeni/src/cache.cpp 2010-02-18 18:40:29.325697870 +0200 +@@ -80,7 +80,7 @@ + void Cache::createCacheDir() + { + KUser user; +- QString path = user.homeDir() + "/.kde/" + KStandardDirs::kde_default("data"); ++ QString path = user.homeDir() + "/.kde3/" + KStandardDirs::kde_default("data"); + path += QString("ksplash/cache/%1/%2/%3x%4").arg(mThemeEngine).arg(mTheme).arg(mScaler->targetResolution().width()).arg(mScaler->targetResolution().height()) + "/"; + + mCacheDir.setPath(path); +diff -Naur moodin/src/cache.cpp.external_svgrender moodin-yeni/src/cache.cpp.external_svgrender +--- moodin/src/cache.cpp.external_svgrender 2010-02-18 18:39:32.853704409 +0200 ++++ moodin-yeni/src/cache.cpp.external_svgrender 2010-02-18 18:40:54.849698306 +0200 +@@ -84,7 +84,7 @@ + void Cache::createCacheDir() + { + KUser user; +- QString path = user.homeDir() + "/.kde/" + KStandardDirs::kde_default("data"); ++ QString path = user.homeDir() + "/.kde3/" + KStandardDirs::kde_default("data"); + path += QString("ksplash/cache/%1/%2/%3x%4").arg(mThemeEngine).arg(mTheme).arg(mScaler->targetResolution().width()).arg(mScaler->targetResolution().height()) + "/"; + + mCacheDir.setPath(path); +diff -Naur moodin/src/cache.cpp.fix_svg_base_resolution moodin-yeni/src/cache.cpp.fix_svg_base_resolution +--- moodin/src/cache.cpp.fix_svg_base_resolution 2010-02-18 18:39:32.857698566 +0200 ++++ moodin-yeni/src/cache.cpp.fix_svg_base_resolution 2010-02-18 18:41:08.230573595 +0200 +@@ -80,7 +80,7 @@ + void Cache::createCacheDir() + { + KUser user; +- QString path = user.homeDir() + "/.kde/" + KStandardDirs::kde_default("data"); ++ QString path = user.homeDir() + "/.kde3/" + KStandardDirs::kde_default("data"); + path += QString("ksplash/cache/%1/%2/%3x%4").arg(mThemeEngine).arg(mTheme).arg(mScaler->targetResolution().width()).arg(mScaler->targetResolution().height()) + "/"; + + mCacheDir.setPath(path); +diff -Naur moodin/src/cache.cpp.use_svg moodin-yeni/src/cache.cpp.use_svg +--- moodin/src/cache.cpp.use_svg 2010-02-18 18:39:32.851698558 +0200 ++++ moodin-yeni/src/cache.cpp.use_svg 2010-02-18 18:41:19.418697990 +0200 +@@ -59,7 +59,7 @@ + void Cache::createCacheDir() + { + KUser user; +- QString path = user.homeDir() + "/.kde/" + KStandardDirs::kde_default("data"); ++ QString path = user.homeDir() + "/.kde3/" + KStandardDirs::kde_default("data"); + path += QString("ksplash/cache/%1/%2/%3x%4").arg(mThemeEngine).arg(mTheme).arg(mScaler->targetResolution().width()).arg(mScaler->targetResolution().height()) + "/"; + + mCacheDir.setPath(path); diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-use-label-offset.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-use-label-offset.patch new file mode 100644 index 000000000..ebeadd478 --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-use-label-offset.patch @@ -0,0 +1,29 @@ +--- moodin/src/thememoodin.cpp-- 2007-02-12 15:56:48.000000000 +0100 ++++ moodin/src/thememoodin.cpp 2007-02-12 15:59:37.000000000 +0100 +@@ -69,6 +69,7 @@ + mStatusColor = cfg->readColorEntry("StatusColor", &defaultColor); + mStatusFont = cfg->readFontEntry("StatusFont", &defaultStatusFont); + mStatusCoords = cfg->readPointEntry("StatusCoords", &defaultPoint); ++ mStatusOffsets = cfg->readPointEntry("StatusOffsets", &defaultOffset); + mLabelShadow = cfg->readBoolEntry("LabelShadow", true); + mLabelShadowColor = cfg->readColorEntry("LabelShadowColor", &defaultShadowColor); + mShowStatusText = cfg->readBoolEntry("ShowStatusText", true); +@@ -378,6 +379,8 @@ + + mScaler->autoCoords(&pt, fmSize); + ++ pt+=mStatusOffsets; ++ + p.setFont(mStatusFont); + + if (mLabelShadow) +--- moodin/src/thememoodin.h-- 2007-02-12 15:58:54.000000000 +0100 ++++ moodin/src/thememoodin.h 2007-02-12 15:59:27.000000000 +0100 +@@ -95,6 +95,7 @@ + QFont mStatusFont; + QPoint mStatusCoords; + QPoint mLabelShadowOffset; ++ QPoint mStatusOffsets; + QWidget* mContainer; + QSize mBaseResolution; + QRect mSplashRect; diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodinkde-use-svg.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodinkde-use-svg.patch new file mode 100644 index 000000000..2c2021b3c --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodinkde-use-svg.patch @@ -0,0 +1,138 @@ +--- moodin/src/thememoodin.cpp-- 2007-01-26 15:44:28.000000000 +0100 ++++ moodin/src/thememoodin.cpp 2007-01-26 17:11:34.000000000 +0100 +@@ -85,6 +85,11 @@ + mLabelShadowOffset = cfg->readPointEntry("LabelShadowOffset", &pos); + QSize size(1280, 1024); + mBaseResolution = cfg->readSizeEntry("BaseResolution", &size); ++ //For svg image use a negative size => force to create it. ++ if(!mUsersBackground && (mBackgroundImage.endsWith(".svg") || mBackgroundImage.endsWith(".svgz"))) { ++ mBaseResolution=QSize(-1,-1); ++ } ++ + mTranslate = cfg->readBoolEntry("Translate", true); + mLineUpImages = cfg->readBoolEntry("LineUpImages", false); + +@@ -154,15 +159,22 @@ + } + else + { +- if (!mBackgroundImage.isEmpty()) ++ //Absolute path ++ if(mBackgroundImage.startsWith("/")) ++ bgImage = mBackgroundImage; ++ else if (!mBackgroundImage.isEmpty()) + bgImage = mTheme->locateThemeData(mBackgroundImage); + } + + if (bgImage.isEmpty()) ++ { + bgImage = mTheme->locateThemeData(QString("Background-%1x%2.jpg").arg(width()).arg(height())); ++ } + + if (bgImage.isEmpty()) ++ { + bgImage = mTheme->locateThemeData("Background.jpg"); ++ } + + if (bgImage.isEmpty()) + { +--- moodin/src/cache.cpp-- 2007-01-26 15:49:06.000000000 +0100 ++++ moodin/src/cache.cpp 2007-01-26 17:16:05.000000000 +0100 +@@ -8,15 +8,19 @@ + * (at your option) any later version. * + * * + ***************************************************************************/ +- ++#include <config.h> + #include <kuser.h> + #include <kstandarddirs.h> + #include <kconfig.h> + ++#ifdef HAVE_LIBART ++#include <ksvgiconengine.h> ++#endif ++ + #include <qfileinfo.h> + #include <qdatetime.h> + #include <qimage.h> +- ++#include <kdebug.h> + #include "cache.h" + + Cache::Cache(Scaler* scaler, const QString& themeEngine, const QString& theme) +@@ -43,14 +47,35 @@ + return new QImage(cachedFile.name()); + else + { +- QImage *i = new QImage(file); ++ QImage *i; ++ if (file.endsWith(".svg") || file.endsWith(".svgz")) { ++#ifdef HAVE_LIBART ++ KSVGIconEngine* svgEngine = new KSVGIconEngine(); ++ QSize size = mScaler->targetResolution(); ++ if (svgEngine->load(size.width(), size.height(), file )) { ++ QImage *image = svgEngine->image(); ++ i = new QImage(*image); ++ delete image; ++ i->save(cachedFile.name(), QImage::imageFormat(file)); ++ } else { ++ kdWarning() << "failed to load SVG file " << file << endl; ++ } ++ delete svgEngine; ++#else ++ kdWarning() << k_funcinfo ++ << "tried to load SVG file but libart not installed" << endl; ++#endif ++ } ++ else ++ { ++ i = new QImage(file); + + // update cache if image needs to be scaled (base != target) + if (mScaler->scaleSize(i)) + i->save(cachedFile.name(), QImage::imageFormat(file)); + ++ } + writeInfoFile(parts.last()); +- + return i; + } + } +--- moodin/configure.in.in-- 2007-01-26 17:14:07.000000000 +0100 ++++ moodin/configure.in.in 2007-01-26 17:14:24.000000000 +0100 +@@ -4,3 +4,35 @@ + AC_C_BIGENDIAN + AC_CHECK_KDEMAXPATHLEN + ++dnl libart is used by svg background ++KDE_FIND_PATH(libart2-config, LIBART_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [ ++ AC_MSG_WARN([Could not find libart anywhere, check http://www.levien.com/libart/]) ++]) ++ ++if test -n "$LIBART_CONFIG"; then ++ vers=`$LIBART_CONFIG --version 2>/dev/null | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'` ++ if test -n "$vers" && test "$vers" -ge 2003008 ++ then ++ LIBART_LIBS="`$LIBART_CONFIG --libs`" ++ LIBART_RPATH= ++ for args in $LIBART_LIBS; do ++ case $args in ++ -L*) ++ LIBART_RPATH="$LIBART_RPATH $args" ++ ;; ++ esac ++ done ++ LIBART_RPATH=`echo $LIBART_RPATH | sed -e "s/-L/-R/g"` ++ LIBART_CFLAGS="`$LIBART_CONFIG --cflags`" ++ ++ AC_DEFINE_UNQUOTED(HAVE_LIBART, 1, [Defines if your system has the libart library]) ++ else ++ AC_MSG_WARN([You need at least libart 2.3.8]) ++ fi ++fi ++ ++ ++AC_SUBST(LIBART_LIBS) ++AC_SUBST(LIBART_CFLAGS) ++AC_SUBST(LIBART_RPATH) ++ diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/svgrender.tar.bz2 b/mandriva/2010.2/other/ksplash-engine-moodin/svgrender.tar.bz2 Binary files differnew file mode 100644 index 000000000..b62c25a0c --- /dev/null +++ b/mandriva/2010.2/other/ksplash-engine-moodin/svgrender.tar.bz2 |