You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kipi-plugins/kipi-plugins/mpegencoder/checkbinprog.cpp

134 lines
4.7 KiB

//////////////////////////////////////////////////////////////////////////////
//
// CHECKBINPROG.CPP
//
// Copyright (C) 2003 Gilles CAULIER <caulier dot gilles at gmail dot com>
//
// 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., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA.
//
//////////////////////////////////////////////////////////////////////////////
#include "checkbinprog.h"
// TQt includes
#include <tqwidget.h>
#include <tqdir.h>
#include <tqfile.h>
#include <tqfileinfo.h>
// KDElib includes
#include <tdelocale.h>
#include <tdeconfig.h>
#include <tdeapplication.h>
#include <kurl.h>
#include <tdemessagebox.h>
#include <kstandarddirs.h>
namespace KIPIMPEGEncoderPlugin
{
///////////////////////////////// CONSTRUCTOR ///////////////////////////////////////////////
CheckBinProg::CheckBinProg(TQObject *parent)
{
config = new TDEConfig("kipirc");
config->setGroup("MPEGEncoder Settings");
ImageMagickPath = config->readPathEntry("ImageMagickBinFolder");
MjpegToolsPath = config->readPathEntry("MjpegToolsBinFolder");
}
/////////////////////////////// DESTRUCTOR //////////////////////////////////////////////////
CheckBinProg::~CheckBinProg()
{
}
/////////////////////////////////////////////////////////////////////////////////////////////
int CheckBinProg::findExecutables( void )
{
TQFile montage, composite, convert, identify, ppmtoy4m, yuvscaler, mpeg2enc, mp2enc, mplex;
int ValRet = 0;
if (ImageMagickPath.isEmpty())
{
KMessageBox::error(kapp->activeWindow(), i18n("Your 'ImageMagick' binary program path is empty.\nSetting to default value. Check option's setting."));
return (ValRet);
}
if (MjpegToolsPath.isEmpty())
{
KMessageBox::error(kapp->activeWindow(), i18n("Your 'MjpegTools' binary programs path is empty.\nSetting to default value. Check option's setting."));
return (ValRet);
}
TQString str = "";
// ImageMagick external programs.
if (montage.exists(TQString (ImageMagickPath+"/montage")) == FALSE)
str = i18n("Cannot find 'montage' binary program from ImageMagick package. Please install it.");
if (composite.exists(TQString (ImageMagickPath+"/composite")) == FALSE)
str = i18n("Cannot find 'composite' binary program from ImageMagick package. Please install it.");
if (convert.exists(TQString (ImageMagickPath+"/convert")) == FALSE)
str = i18n("Cannot find 'convert' binary program from ImageMagick package. Please install it.");
if (identify.exists(TQString (ImageMagickPath+"/identify")) == FALSE)
str = i18n("Cannot find 'identify' binary program from ImageMagick package. Please install it.");
// MjpegTools external programs.
if (ppmtoy4m.exists(TQString (MjpegToolsPath+"/ppmtoy4m")) == FALSE)
str = i18n("Cannot find 'ppmtoy4m' binary program from MjpegTools package. Please install it.");
if (yuvscaler.exists(TQString (MjpegToolsPath+"/yuvscaler")) == FALSE)
str = i18n("Cannot find 'yuvscaler' binary program from MjpegTools package. Please install it.");
if (mpeg2enc.exists(TQString (MjpegToolsPath+"/mpeg2enc")) == FALSE)
str = i18n("Cannot find 'mpeg2enc' binary program from MjpegTools package. Please install it.");
if ( mplex.exists(TQString (MjpegToolsPath+"/mplex")) == FALSE)
str = i18n("Cannot find 'mplex' binary program from MjpegTools package. Please install it.");
if (mp2enc.exists(TQString (MjpegToolsPath+"/mp2enc")) == FALSE)
{
str = i18n("Cannot find 'mp2enc' binary program from MjpegTools package. Please install it.\n"
"Audio capabilities will be disabled.");
ValRet = 2;
}
if ( !str.isEmpty() )
{
str += i18n("\nCheck your installation and this plugin's options settings."
"\n\nVisit these URLs for more information:"
"\nImageMagick package: http://www.imagemagick.org/"
"\nMjpegTools package: http://mjpeg.sourceforge.net/");
KMessageBox::error(kapp->activeWindow(), str);
return (ValRet);
}
return (1);
}
} // NameSpace KIPIMPEGEncoderPlugin
#include "checkbinprog.moc"