--===============1225867101== Content-Type: multipart/signed; boundary="nextPart2240278.G44Pur0hTb"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit --nextPart2240278.G44Pur0hTb Content-Type: multipart/mixed; boundary="Boundary-01=_Y5ruJoy+jHTAF20" Content-Transfer-Encoding: 7bit Content-Disposition: inline --Boundary-01=_Y5ruJoy+jHTAF20 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi! Note that this message is bcc'ed to Jason Kivlighn, Unai Garro and=20 Bosselut Cyril (krecipes authors). This is the project page: http://krecipes.sourceforge.net And at this moment there is a kde 4 version of krecipes, but it needs some= =20 work to be finished: svn://anonsvn.kde.org/home/kde/trunk/extragear/utils/krecipes I'm a novice with no experience and I'm interested to get in touch with KDE= =20 programming, so I want to adopt krecipes if it's not being maintained, fixi= ng=20 bugs and doing kde 4 porting stuff like removing the use of Qt3 support=20 classes like Q3ValueList. It would be great if someone could update the=20 krecipes webpage noticing that there is a kde 4 version. I'm considering to= =20 apply for a svn account if you agree. There are three patches attached to this message, they solve three annoying= =20 issues in the kde 4 version: =2D Issue solved by 1st patch: If you choose sqlite backend and you haven't= a=20 database previously, the program crashes with a segfault, before populating= =20 the database. This happens because the database is empty, there are lists t= o=20 store the sql queries, the program executes a bad *iterator instruction=20 because there is a bogus atEnd() function doesn't check if the list is empt= y=20 which happens when the database is empty. For more details check what=20 krecipes do reading the kdebug messages and check patch. =2D Issue solved by 2nd patch: Click on "Diet Helper" on the left panel, th= en=20 click "Create the diet" button, we cannot see the diet properly. We need to= =20 set the html displayer as the main widget of the dialog. =2D Issue solved by 3rd patch: In the left panel, I can't read anything bec= ause=20 the program doesn't draw the buttons' foreground which is a gradient, so we= =20 need to add blitz stuff. (I'm not sending patches to any tracker because the kde 4 version is not=20 released yet, is it?) --Boundary-01=_Y5ruJoy+jHTAF20 Content-Type: text/x-diff; charset="utf-8"; name="patch1.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch1.diff" Index: src/backends/SQLite/libqsqlite/krecqsqliteresult.cpp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- src/backends/SQLite/libqsqlite/krecqsqliteresult.cpp (revisi=C3=B3n: = 937113) +++ src/backends/SQLite/libqsqlite/krecqsqliteresult.cpp (copia de trabajo) @@ -151,7 +151,7 @@ =20 bool QSQLiteResult::atEnd() { =2D if ( it =3D=3D m_list.end() ) { + if ( (m_list.isEmpty()) || (it =3D=3D m_list.end()) ) { return true; } =20 --Boundary-01=_Y5ruJoy+jHTAF20 Content-Type: text/x-diff; charset="utf-8"; name="patch2.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch2.diff" Index: src/dialogs/dietviewdialog.cpp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- src/dialogs/dietviewdialog.cpp (revisi=C3=B3n: 937113) +++ src/dialogs/dietviewdialog.cpp (copia de trabajo) @@ -26,6 +26,7 @@ setDefaultButton(KDialog::User2); setModal( false ); KVBox *page =3D new KVBox( this ); + setMainWidget(page); setButtonText( KDialog::User1, KStandardGuiItem::print().text() ); =20 setButtonText( KDialog::User2, i18n( "Create &Shopping List" ) ); --Boundary-01=_Y5ruJoy+jHTAF20 Content-Type: text/x-diff; charset="utf-8"; name="patch3.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch3.diff" Index: src/CMakeLists.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- src/CMakeLists.txt (revisi=C3=B3n: 937113) +++ src/CMakeLists.txt (copia de trabajo) @@ -1,10 +1,12 @@ include(FindLibXml2) include(FindLibXslt) +include(FindQImageBlitz) =20 find_package(Sqlite) find_package(PostgreSQL) find_package(MySQL) =2Dinclude_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES}= ${LIBXML2_INCLUDE_DIR} ${LIBXSLT_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/= backends/) +find_package(QImageBlitz) +include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} $= {LIBXML2_INCLUDE_DIR} ${LIBXSLT_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/ba= ckends/ ${QIMAGEBLITZ_INCLUDES}) =20 ########### QT3Support ############### =20 @@ -201,7 +203,7 @@ =20 kde4_add_executable(krecipes ${mysql_SRCS} ${postgresql_SRCS} ${sqlite_SRC= S} ${krecipes_SRCS} ${krecipesdbs_SRCS} ${krecipesimporters_SRCS} ${krecipe= swidgets_SRCS} ${krecipesexporters_SRCS} ${datablocks_SRCS} ${krecipesdia= logs_SRCS}) =20 =2Dtarget_link_libraries(krecipes ${KDE4_KHTML_LIBS} ${KDE4_KDEUI_LIBS} ${= KDE4_KDE3SUPPORT_LIBS} ${QT_QTSQL_LIBRARY} ${LIBXSLT_LIBRARIES} ) +target_link_libraries(krecipes ${KDE4_KHTML_LIBS} ${KDE4_KDEUI_LIBS} ${KD= E4_KDE3SUPPORT_LIBS} ${QT_QTSQL_LIBRARY} ${LIBXSLT_LIBRARIES} ${QIMAGEBLITZ= _LIBRARIES}) =20 if ( SQLITE_FOUND ) target_link_libraries(krecipes ${SQLITE_LIBRARIES}) Index: src/widgets/kremenu.cpp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- src/widgets/kremenu.cpp (revisi=C3=B3n: 937113) +++ src/widgets/kremenu.cpp (copia de trabajo) @@ -34,6 +34,7 @@ #include #include #include +#include =20 =20 KreMenu::KreMenu( QWidget *parent, const char *name ) @@ -396,26 +397,27 @@ // draw the gradient now QPainter painter; QPixmap kpm; =2D kpm.resize( ( ( QWidget * ) parent() ) ->size() ); // use parent's same= size to obtain the same gradient + QImage tmpimage; + QSize parentsize =3D ((QWidget*) parent())->size(); =20 if ( !highlighted ) { =20 // first the gradient =2D // to be done KDE4 port =2D //KPixmapEffect::unbalancedGradient ( kpm, c2, c1, KPixmapEffect::Hori= zontalGradient, -150, -150 ); + tmpimage =3D Blitz::gradient(parentsize,c2,c1,Blitz::HorizontalGradient); + kpm =3D QPixmap::fromImage(tmpimage); =20 } else { =20 // top gradient (highlighted) kpm.resize( width(), height() ); =2D //to be done KDE4 port =2D //KPixmapEffect::unbalancedGradient ( kpm, c2h, c1h, KPixmapEffect::Ho= rizontalGradient, -150, -150 ); // low gradient besides the line (not hightlighted) + tmpimage =3D Blitz::gradient(parentsize,c2h,c1h,Blitz::HorizontalGradien= t); + kpm =3D QPixmap::fromImage(tmpimage); QPixmap kpmb; =2D kpmb.resize( width(), 2 ); =2D //to be done KDE4 port =2D //KPixmapEffect::unbalancedGradient ( kpmb, c2, c1, KPixmapEffect::Hor= izontalGradient, -150, -150 ); + QImage tmpimage2; + tmpimage2 =3D Blitz::gradient(QSize(width(),2),c2,c1,Blitz::HorizontalGr= adient); + kpmb =3D QPixmap::fromImage(tmpimage2); // mix the two bitBlt( &kpm, 0, height() - 2, &kpmb ); =20 @@ -494,8 +496,8 @@ QPixmap area; area.resize( areaw, areah ); =20 =2D //KDE4 port =2D //KPixmapEffect::gradient( area, c2h.light( 150 ), c1h.light( 150 ), K= PixmapEffect::VerticalGradient ); + QImage tmpimage =3D Blitz::gradient(QSize(areaw,areah),c2h.light(150),c1= h.light(150),Blitz::VerticalGradient); + area =3D QPixmap::fromImage(tmpimage); =20 QLinearGradient linearGrad(QPointF(xPos, xPos + width()), QPointF(yPos, = yPos + height())); linearGrad.setColorAt(0, c2h.light( 150 ) ); --Boundary-01=_Y5ruJoy+jHTAF20-- --nextPart2240278.G44Pur0hTb Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAkm6vlgACgkQlcv9Il+ZwQ+UtwCgxFSDyDHFvQKRrKvbnU6FYwnz 1jYAniR+KsUSzVhf0SShKnJyvuXYovfo =QXck -----END PGP SIGNATURE----- --nextPart2240278.G44Pur0hTb-- --===============1225867101== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe << --===============1225867101==--