/*************************************************************************** * Copyright (C) 2004 by Michael Schulze * * mike.s@genion.de * * * * 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 "syncutility.h" //Added by qt3to4: #include const QString SyncUtility::defaultmimetype= QString( "text/html"); const QString SyncUtility::name= QString( "Synchronize"); SyncUtility::SyncUtility() : IPodUtility() { } SyncUtility::~SyncUtility() { } const QString& SyncUtility::getName() { return name; } const QString& SyncUtility::getDefaultMimeType() { return defaultmimetype; } void SyncUtility::handleRequest(IPod& ipod, const KUrl& request, QByteArray& response, QString& mimeType) { QTextOStream stream( &response); QString really= request.queryItem( "really"); QString title= ipod.getName(); mimeType= QString( "text/html"); stream << "" + name + "\n"; if( really.isEmpty()) { // put the confirm message here ... stream << "

Sync with " << title << "

"; stream << "
This Utility saves the changes to your iPod. Since this feature isn't fully tested yet\n"; stream << "and may result in a corrupted Database please make sure you have a backup copy of your original iTunesDB file\n"; stream << "before pressing the OK button below. You can find this file under\n"; stream << "" + ipod.getITunesDbFilename() + "

\n"; stream << "Press the OK button if you really want to save your changes or push the back button on your browser.
\n

\n"; stream << "
\n

"; } else { if( request.queryItem( "really") == "OK") { ipod.lock( true ); // make sure everything else just stops ipod.ensureConsistency(); // double check before writing ipod.writeItunesDB(); if( !ipod.getItunesDBError().isEmpty()) { // an error occured stream << "Sync failed. " + ipod.getItunesDBError(); } else { stream << "Sync successfull. You may now eject the device."; } ipod.unlock(); sync(); } else { stream << "Sync cancelled"; } } stream << "\n"; }