--Boundary-00=_UhYUA9+RVRCyP0A Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline =2D----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Fri, 12 Mar 2004 08:27 am, Waldo Bastian wrote: > All the action happens from the event loop, a sleep() will not be doing > anything. If you haven't started the event loop yet you can do so with > kapp->exec(); Ah, that might help. Nope. My code just hangs at the time of the kapp.exec(). I've tried it befo= re=20 and after the KRun, but it just isn't happening for me. I've attached the whole thing - it reads in a file format that Sony uses fo= r=20 doing direct reads from a memory stick within a video projector (when you=20 don't have a PC attached). I need this to check my "export from KPresenter"= =20 code, when its written :-) If anyone sees what is blatantly wrong, I'd like any feedback... Brad =2D----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQFAUYhjGwwszQ/PZzgRAsVFAJ9i/LqGKhjwsaKO2I0fW3ZhezqiKwCgjb81 A+TOVcQ3EGCOjoZIJN74Mnk=3D =3DiG7H =2D----END PGP SIGNATURE----- --Boundary-00=_UhYUA9+RVRCyP0A Content-Type: text/x-c++src; charset="iso-8859-1"; name="main.cpp" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="main.cpp" /*************************************************************************** * Copyright (C) 2004 by Brad Hards * * bhards@bigpond.net.au * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include #include #include #include #include #include static const char description[] = I18N_NOOP("Sony projector slideshow viewer"); static const char version[] = "0.1"; static KCmdLineOptions options[] = { { "+filename", I18N_NOOP( "Document to open." ), 0 }, { "+path", I18N_NOOP( "path to images" ), 0 }, KCmdLineLastOption }; void checkIsNull(char * array, int count) { for (int i = 0; i < count; i++) { if (!(0 == array[i])) { kdWarning(0) << "Got non-null at offset" << i << endl; } } } int main(int argc, char **argv) { KAboutData about("viewsonyslideshow", I18N_NOOP("viewsonyslideshow"), version, description, KAboutData::License_GPL, "(C) 2004 Brad Hards", 0, 0, "bhards@bigpond.net.au"); about.addAuthor( "Brad Hards", 0, "bhards@bigpond.net.au" ); KCmdLineArgs::init(argc, argv, &about); KCmdLineArgs::addCmdLineOptions( options ); KApplication app; /// viewsonyslideshow *mainWin = 0; if (app.isRestored()) { /// RESTORE(viewsonyslideshow); } else { // no session.. just start up normally KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); QFile file( args->arg(0) ); bool result = file.open( IO_ReadOnly ); if (false == result) { kdError(0) << "Couldn't open" << endl; } QDataStream stream( &file ); stream.setByteOrder(QDataStream::LittleEndian); char buff[16385]; stream.readRawBytes(buff, 16); QString magic = QString(buff); kdDebug(0) << "Magic: " << magic << endl; QString version = QString(&(buff[8])); kdDebug(0) << "Version: " << version << endl; Q_UINT32 num_slides; stream >> num_slides; kdDebug(0) << "Number of real slides: " << num_slides << endl; stream.readRawBytes(buff, 68); QString dirPath = QString(buff); kdDebug(0) << "Path: " << dirPath << endl; Q_UINT32 int1; stream >> int1; if ( !(1 == int1) ) kdDebug(0) << "Expecting 1: " << int1 << endl; Q_UINT32 int5; stream >> int5; if ( !(5 == int5) ) kdDebug(0) << "Expecting 5: " << int5 << endl; stream.readRawBytes(buff, 24); checkIsNull(buff,24); stream.readRawBytes(buff, 16); QString title1 = QString(buff); kdDebug(0) << "Title1: " << title1 << endl; stream.readRawBytes(buff, 16); QString title2 = QString(buff); kdDebug(0) << "Title2: " << title2 << endl; stream.readRawBytes(buff, 44); QString typeface = QString(buff); kdDebug(0) << "Type face: " << typeface << endl; Q_UINT32 unknown1; stream >> unknown1; if (! (0xffff0000 == unknown1)) kdDebug(0) << "Unknown1: " << unknown1 << endl; Q_UINT32 unknown2; stream >> unknown2; if (! (0xffff00ff == unknown2)) kdDebug(0) << "Unknown2: " << unknown2 << endl; Q_UINT32 unknown3; stream >> unknown3; if (! (0xffff00ff == unknown3)) kdDebug(0) << "Unknown3: " << unknown3 << endl; Q_UINT32 unknown4; stream >> unknown4; if (! (0x000000ff == unknown4)) kdDebug(0) << "Unknown4: " << unknown4 << endl; Q_UINT32 unknown5; stream >> unknown5; if (! (0x00000002 == unknown5)) kdDebug(0) << "Unknown5: " << unknown5 << endl; stream.readRawBytes(buff, 296); checkIsNull(buff, 296); app.exec(); for (unsigned int i = 0; i < num_slides; i++) { stream.readRawBytes(buff, 64); QString slidePath = QString( args->arg(1) ) + dirPath + QString("/") + QString(buff); kdDebug(0) << slidePath << endl; KURL url(slidePath); (void) new KRun(url); } // app.exec(); args->clear(); } return true; } --Boundary-00=_UhYUA9+RVRCyP0A Content-Type: text/x-makefile; charset="iso-8859-1"; name="Makefile.am" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="Makefile.am" # set the include path for X, qt and KDE INCLUDES = $(all_includes) # let automoc handle all of the meta source files (moc) METASOURCES = AUTO messages: rc.cpp $(XGETTEXT) *.cpp -o $(podir)/viewsonyslideshow.pot KDE_ICON = viewsonyslideshow ######################################################################### # APPLICATION SECTION ######################################################################### # this is the program that gets installed. it's name is used for all # of the other Makefile.am variables bin_PROGRAMS = viewsonyslideshow # the application source, library search path, and link libraries viewsonyslideshow_SOURCES = main.cpp viewsonyslideshow_LDFLAGS = $(KDE_RPATH) $(all_libraries) viewsonyslideshow_LDADD = $(LIB_KDEUI) $(LIB_KIO) # this is where the desktop file will go shelldesktopdir = $(kde_appsdir)/Utilities shelldesktop_DATA = viewsonyslideshow.desktop --Boundary-00=_UhYUA9+RVRCyP0A 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 << --Boundary-00=_UhYUA9+RVRCyP0A--