From: Raik Bieniek
Subject: qt4 support
Origin: upstream, http://www.mail-archive.com/dvbcut-devel@lists.sourceforge.net/msg00196.html
Hi,
i've created a patch for SVN revision 170 that makes it possible to build
dvbcut with Qt4 libraries. I don't know much about autotools so i used cmake
as build system.
Regards,
Raik
--- /dev/null
+++ b/icons/icons.qrc
@@ -0,0 +1,8 @@
+<RCC>
+ <qresource prefix="/icons/" >
+ <file>bookmark.png</file>
+ <file>chapter.png</file>
+ <file>play.png</file>
+ <file>stop.png</file>
+ </qresource>
+</RCC>
--- a/src/avframe.cpp
+++ b/src/avframe.cpp
@@ -116,9 +116,9 @@ QImage avframe::getqimage(bool scaled, d
if ((scaled && w!=dw)||(viewscalefactor!=1.0)) {
#ifdef SMOOTHSCALE
- im = im.smoothScale(int((scaled?dw:w)/viewscalefactor+0.5), int(h/viewscalefactor+0.5));
+ im = im.scaled(int((scaled?dw:w)/viewscalefactor+0.5), int(h/viewscalefactor+0.5), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
#else
- im = im.scale(int((scaled?dw:w)/viewscalefactor+0.5), int(h/viewscalefactor+0.5));
+ im = im.scaled(int((scaled?dw:w)/viewscalefactor+0.5), int(h/viewscalefactor+0.5));
#endif
}
--- a/src/differenceimageprovider.cpp
+++ b/src/differenceimageprovider.cpp
@@ -63,7 +63,7 @@ void differenceimageprovider::decodepict
delete *it;
if (im.size()!=baseimg.size())
- im=im.scale(baseimg.size());
+ im=im.scaled(baseimg.size());
if (im.depth()==32 && baseimg.depth()==32)
for (int y=0;y<baseimg.height();++y) {
@@ -84,7 +84,7 @@ void differenceimageprovider::decodepict
if ((RTTI!=IMAGEPROVIDER_DIFFERENCE_UNSCALED && displaywidth!=im.width())||(viewscalefactor!=1.0))
- im=im.scale(int(((RTTI!=IMAGEPROVIDER_DIFFERENCE_UNSCALED)?displaywidth:im.width())/viewscalefactor+0.5),
+ im=im.scaled(int(((RTTI!=IMAGEPROVIDER_DIFFERENCE_UNSCALED)?displaywidth:im.width())/viewscalefactor+0.5),
int(im.height()/viewscalefactor+0.5));
framecache.push_front(framecacheitem(startpic++,im));
}
--- a/src/dvbcut.cpp
+++ b/src/dvbcut.cpp
@@ -39,7 +39,7 @@
#include <qstring.h>
#include <qlineedit.h>
#include <qprocess.h>
-#include <qpopupmenu.h>
+#include <q3popupmenu.h>
#include <qpushbutton.h>
#include <qaction.h>
#include <qtextbrowser.h>
@@ -122,9 +122,9 @@ void dvbcut::setbusy(bool b)
// **************************************************************************
// *** dvbcut::dvbcut (private constructor)
-dvbcut::dvbcut(QWidget *parent, const char *name, WFlags fl)
- :dvbcutbase(parent, name, fl),
- audiotrackpopup(0), recentfilespopup(0), editconvertpopup(0), audiotrackmenuid(-1),
+dvbcut::dvbcut(QWidget *parent, const char *name, Qt::WFlags fl)
+ :Q3MainWindow(parent),
+ audiotrackpopup(0), recentfilespopup(0), editconvertpopup(0), audiotrackmenu(0),
buf(8 << 20, 128 << 20),
mpg(0), pictures(0),
curpic(~0), showimage(true), fine(false),
@@ -132,35 +132,46 @@ dvbcut::dvbcut(QWidget *parent, const ch
mplayer_process(0), imgp(0), busy(0),
viewscalefactor(1.0),
nogui(false)
-{
+ {
+ ui = new Ui::dvbcutbase();
+ ui->setupUi(this);
#ifndef HAVE_LIB_AO
- playAudio1Action->setEnabled(false);
- playAudio2Action->setEnabled(false);
- playAudio1Action->removeFrom(playToolbar);
- playAudio2Action->removeFrom(playToolbar);
- playAudio1Action->removeFrom(playMenu);
- playAudio2Action->removeFrom(playMenu);
+ ui->playAudio1Action->setEnabled(false);
+ ui->playAudio2Action->setEnabled(false);
+ ui->playToolbar->removeAction(ui->playAudio1Action);
+ ui->playToolbar->removeAction(ui->playAudio2Action);
+ ui->playMenu->removeAction(ui->playAudio1Action);
+ ui->playMenu->removeAction(ui->playAudio2Action);
#endif // ! HAVE_LIB_AO
- audiotrackpopup=new QPopupMenu(this);
- playMenu->insertSeparator();
- audiotrackmenuid=playMenu->insertItem(QString("Audio track"),audiotrackpopup);
+ audiotrackpopup=new QMenu(QString("Audio track"), this);
+ ui->playMenu->insertSeparator();
+ audiotrackmenu=ui->playMenu->addMenu(audiotrackpopup);
connect( audiotrackpopup, SIGNAL( activated(int) ), this, SLOT( audiotrackchosen(int) ) );
- recentfilespopup=new QPopupMenu(this);
- fileMenu->insertItem(QString("Open recent..."),recentfilespopup,-1,2);
+ recentfilespopup=new QMenu(QString("Open recent..."), this);
+ ui->fileMenu->insertMenu(ui->fileSaveAction, recentfilespopup);
connect( recentfilespopup, SIGNAL( activated(int) ), this, SLOT( loadrecentfile(int) ) );
connect( recentfilespopup, SIGNAL( aboutToShow() ), this, SLOT( abouttoshowrecentfiles() ) );
- editconvertpopup=new QPopupMenu(this);
- editMenu->insertItem(QString("Convert bookmarks"),editconvertpopup,-1,8);
+ editconvertpopup=new QMenu(QString("Convert bookmarks"), this);
+ ui->editMenu->insertMenu(ui->editBookmarkAction, editconvertpopup);
connect( editconvertpopup, SIGNAL( activated(int) ), this, SLOT( editConvert(int) ) );
connect( editconvertpopup, SIGNAL( aboutToShow() ), this, SLOT( abouttoshoweditconvert() ) );
+
+ ui->fileOpenAction->setIcon(QIcon::fromTheme("document-open"));
+ ui->fileSaveAction->setIcon(QIcon::fromTheme("document-save"));
+ ui->fileSaveAsAction->setIcon(QIcon::fromTheme("document-save-as"));
+ ui->snapshotSaveAction->setIcon(QIcon::fromTheme("camera-photo"));
+ ui->playPlayAction->setIcon(QIcon::fromTheme("media-playback-start"));
+ ui->playStopAction->setIcon(QIcon::fromTheme("media-playback-pause"));
+ ui->playAudio1Action->setIcon(QIcon::fromTheme("media-seek-backward"));
+ ui->playAudio2Action->setIcon(QIcon::fromTheme("media-seek-forward"));
setviewscalefactor(settings().viewscalefactor);
// install event handler
- linslider->installEventFilter(this);
+ ui->linslider->installEventFilter(this);
// set caption
setCaption(QString(VERSION_STRING));
@@ -172,7 +183,7 @@ dvbcut::dvbcut(QWidget *parent, const ch
dvbcut::~dvbcut()
{
if (mplayer_process) {
- mplayer_process->tryTerminate();
+ mplayer_process->terminate();
delete mplayer_process;
}
@@ -187,6 +198,8 @@ dvbcut::~dvbcut()
delete imgp;
if (mpg)
delete mpg;
+ if(ui)
+ delete ui;
}
// **************************************************************************
@@ -213,18 +226,18 @@ void dvbcut::fileSaveAs()
prefix = prefix.substr(0, lastdot);
prjfilen = prefix + ".dvbcut";
int nr = 0;
- while (QFileInfo(QString(prjfilen)).exists())
+ while (QFileInfo(QString::fromStdString(prjfilen)).exists())
prjfilen = prefix + "_" + ((const char*)QString::number(++nr)) + ".dvbcut";
}
QString s=QFileDialog::getSaveFileName(
- prjfilen,
+ QString::fromStdString(prjfilen),
settings().prjfilter,
this,
"Save project as...",
"Choose the name of the project file" );
- if (!s)
+ if (s.isNull())
return;
if (QFileInfo(s).exists() && question(
@@ -245,10 +258,12 @@ void dvbcut::fileSave()
return;
}
- QFile outfile(prjfilen);
- if (!outfile.open(IO_WriteOnly)) {
- critical("Failed to write project file - dvbcut",
- QString(prjfilen) + ":\nCould not open file");
+ QFile outfile(QString::fromStdString(prjfilen));
+ if (!outfile.open(QIODevice::WriteOnly)) {
+ QMessageBox::critical(this,"Failed to write project file - dvbcut",QString::fromStdString(prjfilen)+
+ ":\nCould not open file",
+ QMessageBox::Abort,
+ QMessageBox::NoButton);
return;
}
@@ -264,18 +279,18 @@ void dvbcut::fileSave()
std::list<std::string>::const_iterator it = mpgfilen.begin();
while (it != mpgfilen.end()) {
QDomElement elem = doc.createElement("mpgfile");
- elem.setAttribute("path", *it);
+ elem.setAttribute("path", QString::fromStdString(*it));
root.appendChild(elem);
++it;
}
if (!idxfilen.empty()) {
QDomElement elem = doc.createElement("idxfile");
- elem.setAttribute("path", idxfilen);
+ elem.setAttribute("path", QString::fromStdString(idxfilen));
root.appendChild(elem);
}
- for (QListBoxItem *item=eventlist->firstItem();item;item=item->next())
+ for (Q3ListBoxItem *item=ui->eventlist->firstItem();item;item=item->next())
if (item->rtti()==EventListItem::RTTI()) {
QString elemname;
EventListItem *eli=(EventListItem*)item;
@@ -300,7 +315,7 @@ void dvbcut::fileSave()
QTextStream stream(&outfile);
stream.setEncoding(QTextStream::Latin1);
stream << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
- stream << doc.toCString();
+ stream << doc.toString().toStdString().c_str();
outfile.close();
}
@@ -316,7 +331,7 @@ void dvbcut::chapterSnapshotsSave()
{
int found=0;
std::vector<int> piclist;
- for (QListBoxItem *item=eventlist->firstItem();item;item=item->next())
+ for (Q3ListBoxItem *item=ui->eventlist->firstItem();item;item=item->next())
if (item->rtti()==EventListItem::RTTI()) {
EventListItem *eli=(EventListItem*)item;
if (eli->geteventtype()==EventListItem::chapter) {
@@ -345,15 +360,15 @@ void dvbcut::snapshotSave(std::vector<in
if (picfilen.isEmpty()) {
if(settings().snapshot_prefix.isEmpty()) {
if (!prjfilen.empty())
- prefix = QString(prjfilen);
+ prefix = QString::fromStdString(prjfilen);
else if (!mpgfilen.empty() && !mpgfilen.front().empty())
- prefix = QString(mpgfilen.front());
+ prefix = QString::fromStdString(mpgfilen.front());
} else
prefix = settings().snapshot_prefix;
if (!prefix.isEmpty()) {
- int lastdot = prefix.findRev('.');
- int lastslash = prefix.findRev('/');
+ int lastdot = prefix.lastIndexOf('.');
+ int lastslash = prefix.lastIndexOf('/');
if (lastdot >= 0 && lastdot > lastslash)
prefix = prefix.left(lastdot);
int nr = first;
@@ -395,13 +410,13 @@ void dvbcut::snapshotSave(std::vector<in
else
p = imageprovider(*mpg, new dvbcutbusy(this), false, viewscalefactor).getimage(pic,fine);
if(p.save(s,type,quality))
- statusBar()->message("Saved snapshot: " + s);
+ statusBar()->showMessage("Saved snapshot: " + s);
else
- statusBar()->message("*** Unable to save snapshot: " + s + "! ***");
+ statusBar()->showMessage("*** Unable to save snapshot: " + s + "! ***");
// try to "increment" the choosen filename for next snapshot (or use old name as default)
// No usage of "delim", so it's possible to choose any prefix in front of the number field!
- i = s.findRev(QRegExp("\\d{"+QString::number(width)+","+QString::number(width)+"}\\."+ext+"$"));
+ i = s.lastIndexOf(QRegExp("\\d{"+QString::number(width)+","+QString::number(width)+"}\\."+ext+"$"));
if (i>0) {
nr = s.mid(i,width).toInt(&ok,10);
if (ok)
@@ -512,31 +527,31 @@ void dvbcut::fileExport()
newexpfilen=newexpfilen.substr(0,lastdot);
expfilen=newexpfilen+".mpg";
int nr=0;
- while (QFileInfo(QString(expfilen)).exists())
+ while (QFileInfo(QString::fromStdString(expfilen)).exists())
expfilen=newexpfilen+"_"+((const char*)QString::number(++nr))+".mpg";
}
}
- std::auto_ptr<exportdialog> expd(new exportdialog(expfilen,this));
- expd->muxercombo->insertItem("MPEG program stream/DVD (DVBCUT multiplexer)");
- expd->muxercombo->insertItem("MPEG program stream (DVBCUT multiplexer)");
- expd->muxercombo->insertItem("MPEG program stream/DVD (libavformat)");
- expd->muxercombo->insertItem("MPEG transport stream (libavformat)");
+ std::auto_ptr<exportdialog> expd(new exportdialog(QString::fromStdString(expfilen),this));
+ expd->ui->muxercombo->insertItem("MPEG program stream/DVD (DVBCUT multiplexer)");
+ expd->ui->muxercombo->insertItem("MPEG program stream (DVBCUT multiplexer)");
+ expd->ui->muxercombo->insertItem("MPEG program stream/DVD (libavformat)");
+ expd->ui->muxercombo->insertItem("MPEG transport stream (libavformat)");
#ifndef __WIN32__
// add possible user configured pipe commands
- int pipe_items_start=expd->muxercombo->count();
+ int pipe_items_start=expd->ui->muxercombo->count();
for (unsigned int i = 0; i < settings().pipe_command.size(); ++i)
- expd->muxercombo->insertItem(settings().pipe_label[i]);
+ expd->ui->muxercombo->insertItem(settings().pipe_label[i]);
#endif
if (settings().export_format < 0
- || settings().export_format >= expd->muxercombo->count())
+ || settings().export_format >= expd->ui->muxercombo->count())
settings().export_format = 0;
- expd->muxercombo->setCurrentItem(settings().export_format);
+ expd->ui->muxercombo->setCurrentItem(settings().export_format);
for(int a=0;a<mpg->getaudiostreams();++a) {
- expd->audiolist->insertItem(mpg->getstreaminfo(audiostream(a)).c_str());
- expd->audiolist->setSelected(a,true);
+ expd->ui->audiolist->insertItem(mpg->getstreaminfo(audiostream(a)).c_str());
+ expd->ui->audiolist->setSelected(a,true);
}
int expfmt = 0;
@@ -545,14 +560,14 @@ void dvbcut::fileExport()
if (!expd->exec())
return;
- settings().export_format = expd->muxercombo->currentItem();
- expfmt = expd->muxercombo->currentItem();
+ settings().export_format = expd->ui->muxercombo->currentItem();
+ expfmt = expd->ui->muxercombo->currentItem();
- expfilen=(const char *)(expd->filenameline->text());
+ expfilen=(const char *)(expd->ui->filenameline->text());
if (expfilen.empty())
return;
expd->hide();
- } else if (exportformat > 0 && exportformat < expd->muxercombo->count())
+ } else if (exportformat > 0 && exportformat < expd->ui->muxercombo->count())
expfmt = exportformat;
// create usable chapter lists
@@ -641,9 +656,9 @@ void dvbcut::fileExport()
}
} else
#endif
- if (QFileInfo(expfilen).exists() && question(
+ if (QFileInfo(QString::fromStdString(expfilen)).exists() && question(
"File exists - dvbcut",
- expfilen+"\nalready exists. "
+ QString::fromStdString(expfilen)+"\nalready exists. "
"Overwrite?") !=
QMessageBox::Yes)
return;
@@ -655,7 +670,7 @@ void dvbcut::fileExport()
}
else {
prgwin = new progresswindow(this);
- prgwin->setCaption(QString("export - " + expfilen));
+ prgwin->setCaption(QString("export - " + QString::fromStdString(expfilen)));
log = prgwin;
}
@@ -665,7 +680,7 @@ void dvbcut::fileExport()
uint32_t audiostreammask(0);
for(int a=0;a<mpg->getaudiostreams();++a)
- if (expd->audiolist->isSelected(a))
+ if (expd->ui->audiolist->isSelected(a))
audiostreammask|=1u<<a;
std::string out_file = (child_pid < 0) ? expfilen :
@@ -763,7 +778,7 @@ void dvbcut::fileExport()
int irc = system(expcmd.c_str());
if(irc!=0) {
critical("Post processing error - dvbcut","Post processing command:\n"+
- expcmd+"\n returned non-zero exit code: " +QString::number(irc));
+ QString::fromStdString(expcmd)+"\n returned non-zero exit code: " +QString::number(irc));
log->print("Command reported some problems... please check!");
}
//else
@@ -816,7 +831,7 @@ void dvbcut::fileClose()
void dvbcut::addEventListItem(int pic, EventListItem::eventtype type)
{
//check if requested EventListItem is already in list to avoid doubles!
- for (QListBoxItem *item=eventlist->firstItem();item;item=item->next())
+ for (Q3ListBoxItem *item=ui->eventlist->firstItem();item;item=item->next())
if (item->rtti()==EventListItem::RTTI()) {
EventListItem *eli=(EventListItem*)item;
if (pic==eli->getpicture() && type==eli->geteventtype())
@@ -828,8 +843,8 @@ void dvbcut::addEventListItem(int pic, E
p = imgp->getimage(pic);
else
p = imageprovider(*mpg, new dvbcutbusy(this), false, 4).getimage(pic);
-
- new EventListItem(eventlist, p, type, pic, (*mpg)[pic].getpicturetype(),
+
+ new EventListItem(ui->eventlist, p, type, pic, (*mpg)[pic].getpicturetype(),
(*mpg)[pic].getpts() - firstpts);
}
@@ -897,7 +912,7 @@ void dvbcut::editAutoChapters()
p1 = p2;
p2 = imgp->getimage(pic,fine);
if (p2.size()!=p1.size())
- p2=p2.scale(p1.size());
+ p2=p2.scaled(p1.size());
// calculate color distance between two consecutive frames
double dist=0.;
@@ -920,7 +935,7 @@ void dvbcut::editAutoChapters()
//fprintf(stderr,"%d, DIST=%f\n",pic,dist);
if(dist>settings().chapter_threshold) {
inpic=pic;
- statusBar()->message(QString().sprintf("%d. Scene change @ %d, DIST=%f\n",chapters+1,inpic,dist));
+ statusBar()->showMessage(QString().sprintf("%d. Scene change @ %d, DIST=%f\n",chapters+1,inpic,dist));
break;
}
}
@@ -943,7 +958,7 @@ void dvbcut::editSuggest()
found++;
}
if (!found)
- statusBar()->message(QString("*** No aspect ratio changes detected! ***"));
+ statusBar()->showMessage(QString("*** No aspect ratio changes detected! ***"));
}
void dvbcut::editImport()
@@ -955,7 +970,7 @@ void dvbcut::editImport()
found++;
}
if (!found)
- statusBar()->message(QString("*** No valid bookmarks available/found! ***"));
+ statusBar()->showMessage(QString("*** No valid bookmarks available/found! ***"));
}
@@ -975,7 +990,7 @@ void dvbcut::editConvert(int option)
int found=0;
std::vector<int> cutlist;
- for (QListBoxItem *item=eventlist->firstItem();item;item=item->next())
+ for (Q3ListBoxItem *item=ui->eventlist->firstItem();item;item=item->next())
if (item->rtti()==EventListItem::RTTI()) {
EventListItem *eli=(EventListItem*)item;
if (eli->geteventtype()==EventListItem::bookmark) {
@@ -988,10 +1003,10 @@ void dvbcut::editConvert(int option)
addStartStopItems(cutlist, option);
if (found%2)
- statusBar()->message(QString("*** No matching stop marker!!! ***"));
+ statusBar()->showMessage(QString("*** No matching stop marker!!! ***"));
}
else
- statusBar()->message(QString("*** No bookmarks to convert! ***"));
+ statusBar()->showMessage(QString("*** No bookmarks to convert! ***"));
}
void dvbcut::addStartStopItems(std::vector<int> cutlist, int option)
@@ -1005,10 +1020,10 @@ void dvbcut::addStartStopItems(std::vect
alternate=false;
// make sure list is sorted...
- sort(cutlist.begin(),cutlist.end());
+ std::sort(cutlist.begin(),cutlist.end());
// ...AND there are no old START/STOP pairs!!!
- for (QListBoxItem *item=eventlist->firstItem();item;item=item->next())
+ for (Q3ListBoxItem *item=ui->eventlist->firstItem();item;item=item->next())
if (item->rtti()==EventListItem::RTTI()) {
EventListItem *eli=(EventListItem*)item;
if (eli->geteventtype()==EventListItem::start || eli->geteventtype()==EventListItem::stop)
@@ -1040,9 +1055,9 @@ void dvbcut::addStartStopItems(std::vect
void dvbcut::viewDifference()
{
- viewNormalAction->setOn(false);
- viewUnscaledAction->setOn(false);
- viewDifferenceAction->setOn(true);
+ ui->viewNormalAction->setChecked(false);
+ ui->viewUnscaledAction->setChecked(false);
+ ui->viewDifferenceAction->setChecked(true);
if (imgp)
delete imgp;
@@ -1053,9 +1068,9 @@ void dvbcut::viewDifference()
void dvbcut::viewUnscaled()
{
- viewNormalAction->setOn(false);
- viewUnscaledAction->setOn(true);
- viewDifferenceAction->setOn(false);
+ ui->viewNormalAction->setChecked(false);
+ ui->viewUnscaledAction->setChecked(true);
+ ui->viewDifferenceAction->setChecked(false);
if (!imgp || imgp->rtti()!=IMAGEPROVIDER_UNSCALED) {
if (imgp)
@@ -1068,9 +1083,9 @@ void dvbcut::viewUnscaled()
void dvbcut::viewNormal()
{
- viewNormalAction->setOn(true);
- viewUnscaledAction->setOn(false);
- viewDifferenceAction->setOn(false);
+ ui->viewNormalAction->setChecked(true);
+ ui->viewUnscaledAction->setChecked(false);
+ ui->viewDifferenceAction->setChecked(false);
if (!imgp || imgp->rtti()!=IMAGEPROVIDER_STANDARD) {
if (imgp)
@@ -1115,88 +1130,81 @@ void dvbcut::playPlay()
if (mplayer_process)
return;
- eventlist->setEnabled(false);
- linslider->setEnabled(false);
- jogslider->setEnabled(false);
- gobutton->setEnabled(false);
- goinput->setEnabled(false);
- gobutton2->setEnabled(false);
- goinput2->setEnabled(false);
+
+ ui->eventlist->setEnabled(false);
+ ui->linslider->setEnabled(false);
+ ui->jogslider->setEnabled(false);
+ ui->gobutton->setEnabled(false);
+ ui->goinput->setEnabled(false);
+ ui->gobutton2->setEnabled(false);
+ ui->goinput2->setEnabled(false);
#ifdef HAVE_LIB_AO
- playAudio1Action->setEnabled(false);
- playAudio2Action->setEnabled(false);
+ ui->playAudio1Action->setEnabled(false);
+ ui->playAudio2Action->setEnabled(false);
#endif // HAVE_LIB_AO
- playPlayAction->setEnabled(false);
- playStopAction->setEnabled(true);
- menubar->setItemEnabled(audiotrackmenuid,false);
-
- fileOpenAction->setEnabled(false);
- fileSaveAction->setEnabled(false);
- fileSaveAsAction->setEnabled(false);
- snapshotSaveAction->setEnabled(false);
- chapterSnapshotsSaveAction->setEnabled(false);
- fileExportAction->setEnabled(false);
+ ui->playPlayAction->setEnabled(false);
+ ui->playStopAction->setEnabled(true);
+ audiotrackmenu->setEnabled(false);
+
+ ui->fileOpenAction->setEnabled(false);
+ ui->fileSaveAction->setEnabled(false);
+ ui->fileSaveAsAction->setEnabled(false);
+ ui->snapshotSaveAction->setEnabled(false);
+ ui->chapterSnapshotsSaveAction->setEnabled(false);
+ ui->fileExportAction->setEnabled(false);
showimage=false;
- imagedisplay->setPixmap(QPixmap());
- imagedisplay->grabKeyboard();
+ ui->imagedisplay->setPixmap(QPixmap());
+ ui->imagedisplay->grabKeyboard();
fine=true;
- linslider->setValue(mpg->lastiframe(curpic));
+ ui->linslider->setValue(mpg->lastiframe(curpic));
dvbcut_off_t offset=(*mpg)[curpic].getpos().packetposition();
mplayer_curpts=(*mpg)[curpic].getpts();
+ QString process("mplayer");
+ QStringList arguments;
+
+ arguments << "-noconsolecontrols";
dvbcut_off_t partoffset;
int partindex = buf.getfilenum(offset, partoffset);
if (partindex == -1)
return; // what else can we do?
- mplayer_process=new QProcess(QString("mplayer"));
- mplayer_process->addArgument("-noconsolecontrols");
#ifdef __WIN32__
- mplayer_process->addArgument("-vo");
- mplayer_process->addArgument("directx:noaccel");
+ arguments << "-vo" << "directx:noaccel";
#endif
- mplayer_process->addArgument("-wid");
- mplayer_process->addArgument(QString().sprintf("0x%x",int(imagedisplay->winId())));
- mplayer_process->addArgument("-sb");
- mplayer_process->addArgument(QString::number(offset - partoffset));
- mplayer_process->addArgument("-geometry");
- mplayer_process->addArgument(QString().sprintf("%dx%d+0+0",int(imagedisplay->width()),int(imagedisplay->height())));
+ arguments << "-wid" << QString().sprintf("0x%x",int(ui->imagedisplay->winId()));
+ arguments << "-sb" << QString::number(offset - partoffset);
+ arguments << "-geometry" << QString().sprintf("%dx%d+0+0",int(ui->imagedisplay->width()),int(ui->imagedisplay->height()));
if (currentaudiotrack>=0 && currentaudiotrack<mpg->getaudiostreams()) {
- mplayer_process->addArgument("-aid");
- mplayer_process->addArgument(QString().sprintf("0x%x",int(mpg->mplayeraudioid(currentaudiotrack))));
- }
-
+ arguments << "-aid" << QString().sprintf("0x%x",int(mpg->mplayeraudioid(currentaudiotrack)));
+ }
+
// for now, pass all filenames from the current one up to the last one
std::list<std::string>::const_iterator it = mpgfilen.begin();
for (int i = 0; it != mpgfilen.end(); ++i, ++it)
if (i >= partindex)
- mplayer_process->addArgument(QString(*it));
-
- mplayer_process->setCommunication(QProcess::Stdout|QProcess::Stderr|QProcess::DupStderr);
-
- connect(mplayer_process, SIGNAL(processExited()), this, SLOT(mplayer_exited()));
- connect(mplayer_process, SIGNAL(readyReadStdout()), this, SLOT(mplayer_readstdout()));
+ arguments << QString::fromStdString(*it);
+
+ mplayer_process=new QProcess(this);
+ mplayer_process->setReadChannel(QProcess::StandardOutput);
+ mplayer_process->setProcessChannelMode(QProcess::MergedChannels);
+ connect(mplayer_process, SIGNAL(finished(int)), this, SLOT(mplayer_exited()));
+ connect(mplayer_process, SIGNAL(readyReadStandardOutput()), this, SLOT(mplayer_readstdout()));
mplayer_success=false;
-
- if (!mplayer_process->start()) {
- delete mplayer_process;
- mplayer_process=0;
- mplayer_exited();
- return;
- }
+ mplayer_process->start(process, arguments);
}
void dvbcut::playStop()
{
if (mplayer_process)
- mplayer_process->tryTerminate();
+ mplayer_process->terminate();
}
void dvbcut::playAudio1()
@@ -1255,7 +1263,7 @@ void dvbcut::jogsliderreleased()
{
jogsliding=false;
jogmiddlepic=curpic;
- jogslider->setValue(0);
+ ui->jogslider->setValue(0);
}
void dvbcut::jogslidervalue(int v)
@@ -1301,24 +1309,23 @@ void dvbcut::jogslidervalue(int v)
} else
fine=true;
- if (curpic!=newpic)
- linslider->setValue(newpic);
+ if (curpic!=newpic)
+ ui->linslider->setValue(newpic);
fine=false;
}
-
-void dvbcut::doubleclickedeventlist(QListBoxItem *lbi)
+void dvbcut::doubleclickedeventlist(Q3ListBoxItem *lbi)
{
if (lbi->rtti()!=EventListItem::RTTI())
return;
fine=true;
- linslider->setValue(((EventListItem*)lbi)->getpicture());
+ ui->linslider->setValue(((EventListItem*)lbi)->getpicture());
fine=false;
}
-void dvbcut::eventlistcontextmenu(QListBoxItem *lbi, const QPoint &point)
+void dvbcut::eventlistcontextmenu(Q3ListBoxItem *lbi, const QPoint &point)
{
if (!lbi)
return;
@@ -1327,7 +1334,7 @@ void dvbcut::eventlistcontextmenu(QListB
// is it a problem to have no "const EventListItem &eli=..."? Needed for seteventtype()...!
EventListItem &eli=*static_cast<EventListItem*>(lbi);
- QPopupMenu popup(eventlist);
+ Q3PopupMenu popup(ui->eventlist);
popup.insertItem("Go to",1);
popup.insertItem("Delete",2);
popup.insertItem("Delete others",3);
@@ -1341,14 +1348,14 @@ void dvbcut::eventlistcontextmenu(QListB
popup.insertItem("Convert to bookmark",11);
popup.insertItem("Display difference from this picture",12);
- QListBox *lb=lbi->listBox();
- QListBoxItem *first=lb->firstItem(),*current,*next;
+ Q3ListBox *lb=lbi->listBox();
+ Q3ListBoxItem *first=lb->firstItem(),*current,*next;
EventListItem::eventtype cmptype=EventListItem::none, cmptype2=EventListItem::none;
switch (popup.exec(point)) {
case 1:
fine=true;
- linslider->setValue(eli.getpicture());
+ ui->linslider->setValue(eli.getpicture());
fine=false;
break;
@@ -1418,9 +1425,9 @@ void dvbcut::eventlistcontextmenu(QListB
delete imgp;
imgp=new differenceimageprovider(*mpg,eli.getpicture(),new dvbcutbusy(this),false,viewscalefactor);
updateimagedisplay();
- viewNormalAction->setOn(false);
- viewUnscaledAction->setOn(false);
- viewDifferenceAction->setOn(true);
+ ui->viewNormalAction->setChecked(false);
+ ui->viewUnscaledAction->setChecked(false);
+ ui->viewDifferenceAction->setChecked(true);
break;
}
@@ -1428,19 +1435,19 @@ void dvbcut::eventlistcontextmenu(QListB
void dvbcut::clickedgo()
{
- QString text=goinput->text();
- text.stripWhiteSpace();
+ QString text=ui->goinput->text();
+ text.trimmed();
bool okay=false;
int inpic;
if (text.contains(':') || text.contains('.')) {
okay=true;
- inpic=string2pts(text)/getTimePerFrame();
+ inpic=string2pts(text.toStdString())/getTimePerFrame();
}
else
inpic=text.toInt(&okay,0);
if (okay) {
fine=true;
- linslider->setValue(inpic);
+ ui->linslider->setValue(inpic);
fine=false;
}
//goinput->clear();
@@ -1448,13 +1455,13 @@ void dvbcut::clickedgo()
void dvbcut::clickedgo2()
{
- QString text=goinput2->text();
- text.stripWhiteSpace();
+ QString text=ui->goinput2->text();
+ text.trimmed();
bool okay=false;
int inpic, outpic;
if (text.contains(':') || text.contains('.')) {
okay=true;
- outpic=string2pts(text)/getTimePerFrame();
+ outpic=string2pts(text.toStdString())/getTimePerFrame();
}
else
outpic=text.toInt(&okay,0);
@@ -1464,7 +1471,7 @@ void dvbcut::clickedgo2()
std::upper_bound(quick_picture_lookup.begin(),quick_picture_lookup.end(),outpic,quick_picture_lookup_s::cmp_outpicture());
inpic=outpic-it->outpicture+it->stoppicture;
fine=true;
- linslider->setValue(inpic);
+ ui->linslider->setValue(inpic);
fine=false;
}
//goinput2->clear();
@@ -1475,42 +1482,44 @@ void dvbcut::mplayer_exited()
if (mplayer_process) {
if (!mplayer_success)// && !mplayer_process->normalExit())
{
- mplayererrorbase *meb=new mplayererrorbase(this,0,false,WDestructiveClose);
- meb->textbrowser->setText(mplayer_out);
- meb->show();
+ mplayererrorbase *meb=new mplayererrorbase(this);
+ meb->setText(mplayer_out);
}
-
-
- delete mplayer_process;
+ mplayer_process->deleteLater();
mplayer_process=0;
}
-
- eventlist->setEnabled(true);
- linslider->setEnabled(true);
- jogslider->setEnabled(true);
- gobutton->setEnabled(true);
- goinput->setEnabled(true);
- gobutton2->setEnabled(true);
- goinput2->setEnabled(true);
+
+ ui->eventlist->setEnabled(true);
+ ui->linslider->setEnabled(true);
+ ui->jogslider->setEnabled(true);
+ ui->gobutton->setEnabled(true);
+ ui->goinput->setEnabled(true);
+ ui->eventlist->setEnabled(true);
+ ui->linslider->setEnabled(true);
+ ui->jogslider->setEnabled(true);
+ ui->gobutton->setEnabled(true);
+ ui->goinput->setEnabled(true);
+ ui->gobutton2->setEnabled(true);
+ ui->goinput2->setEnabled(true);
#ifdef HAVE_LIB_AO
- playAudio1Action->setEnabled(true);
- playAudio2Action->setEnabled(true);
+ ui->playAudio1Action->setEnabled(true);
+ ui->playAudio2Action->setEnabled(true);
#endif // HAVE_LIB_AO
- playPlayAction->setEnabled(true);
- playStopAction->setEnabled(false);
- menubar->setItemEnabled(audiotrackmenuid,true);
-
- fileOpenAction->setEnabled(true);
- fileSaveAction->setEnabled(true);
- fileSaveAsAction->setEnabled(true);
- snapshotSaveAction->setEnabled(true);
- chapterSnapshotsSaveAction->setEnabled(true);
- fileExportAction->setEnabled(true);
+ ui->playPlayAction->setEnabled(true);
+ ui->playStopAction->setEnabled(false);
+ audiotrackmenu->setEnabled(true);
+
+ ui->fileOpenAction->setEnabled(true);
+ ui->fileSaveAction->setEnabled(true);
+ ui->fileSaveAsAction->setEnabled(true);
+ ui->snapshotSaveAction->setEnabled(true);
+ ui->chapterSnapshotsSaveAction->setEnabled(true);
+ ui->fileExportAction->setEnabled(true);
- imagedisplay->releaseKeyboard();
+ ui->imagedisplay->releaseKeyboard();
int cp=curpic;
jogmiddlepic=curpic;
@@ -1518,7 +1527,7 @@ void dvbcut::mplayer_exited()
showimage=true;
fine=true;
linslidervalue(cp);
- linslider->setValue(cp);
+ ui->linslider->setValue(cp);
fine=false;
}
@@ -1527,19 +1536,19 @@ void dvbcut::mplayer_readstdout()
if (!mplayer_process)
return;
- QString line(mplayer_process->readStdout());
+ QString line(mplayer_process->readAllStandardOutput());
if (!line.length())
return;
if (!mplayer_success)
mplayer_out += line;
- int pos=line.find("V:");
+ int pos=line.indexOf("V:");
if (pos<0)
return;
line.remove(0,pos+2);
- line=line.stripWhiteSpace();
+ line=line.trimmed();
for(pos=0;pos<(signed)line.length();++pos)
if ((line[pos]<'0' || line[pos]>'9')&&line[pos]!='.')
break;
@@ -1572,7 +1581,7 @@ void dvbcut::mplayer_readstdout()
mplayer_curpts=(*mpg)[--cp].getpts();
}
- linslider->setValue(cp);
+ ui->linslider->setValue(cp);
}
void dvbcut::updateimagedisplay()
@@ -1580,9 +1589,9 @@ void dvbcut::updateimagedisplay()
if (showimage) {
if (!imgp)
imgp=new imageprovider(*mpg,new dvbcutbusy(this),false,viewscalefactor);
- QPixmap px=imgp->getimage(curpic,fine);
- imagedisplay->setMinimumSize(px.size());
- imagedisplay->setPixmap(px);
+ QImage px=imgp->getimage(curpic,fine);
+ ui->imagedisplay->setMinimumSize(px.size());
+ ui->imagedisplay->setPixmap(QPixmap::fromImage(px));
qApp->processEvents();
}
}
@@ -1601,10 +1610,10 @@ void dvbcut::abouttoshowrecentfiles()
recentfilespopup->clear();
QString menuitem;
for(unsigned int id=0; id<settings().recentfiles.size(); id++) {
- menuitem=QString(settings().recentfiles[id].first.front());
+ menuitem=QString(QString::fromStdString(settings().recentfiles[id].first.front()));
if(settings().recentfiles[id].first.size()>1)
menuitem += " ... (+" + QString::number(settings().recentfiles[id].first.size()-1) + ")";
- recentfilespopup->insertItem(menuitem,(signed)id);
+ recentfilespopup->addAction(menuitem);
}
}
@@ -1638,7 +1647,7 @@ void dvbcut::open(std::list<std::string>
// remember last directory if requested
if (settings().lastdir_update) {
QString dir = fn.front();
- int n = dir.findRev('/');
+ int n = dir.lastIndexOf('/');
if (n > 0)
dir = dir.left(n);
// adding a slash is NEEDED for top level directories (win or linux), and doesn't matter otherwise!
@@ -1656,7 +1665,7 @@ void dvbcut::open(std::list<std::string>
std::string filename = filenames.front();
// a valid file name has been entered
- setCaption(QString(VERSION_STRING " - " + filename));
+ setCaption(QString(VERSION_STRING " - " + QString::fromStdString(filename)));
// reset inbuffer
buf.reset();
@@ -1672,76 +1681,75 @@ void dvbcut::open(std::list<std::string>
delete imgp;
imgp=0;
}
- eventlist->clear();
- imagedisplay->setBackgroundMode(Qt::PaletteBackground);
- imagedisplay->setMinimumSize(QSize(0,0));
- imagedisplay->setPixmap(QPixmap());
- pictimelabel->clear();
- pictimelabel2->clear();
- picinfolabel->clear();
- picinfolabel2->clear();
- linslider->setValue(0);
- jogslider->setValue(0);
-
- viewNormalAction->setOn(true);
- viewUnscaledAction->setOn(false);
- viewDifferenceAction->setOn(false);
-
- fileOpenAction->setEnabled(false);
- fileSaveAction->setEnabled(false);
- fileSaveAsAction->setEnabled(false);
- snapshotSaveAction->setEnabled(false);
- chapterSnapshotsSaveAction->setEnabled(false);
+ ui->eventlist->clear();
+ ui->imagedisplay->setBackgroundMode(Qt::PaletteBackground);
+ ui->imagedisplay->setMinimumSize(QSize(0,0));
+ ui->imagedisplay->setPixmap(QPixmap());
+ ui->pictimelabel->clear();
+ ui->pictimelabel2->clear();
+ ui->picinfolabel->clear();
+ ui->picinfolabel2->clear();
+ ui->linslider->setValue(0);
+ ui->jogslider->setValue(0);
+
+ ui->viewNormalAction->setChecked(true);
+ ui->viewUnscaledAction->setChecked(false);
+ ui->viewDifferenceAction->setChecked(false);
+
+ ui->fileOpenAction->setEnabled(false);
+ ui->fileSaveAction->setEnabled(false);
+ ui->fileSaveAsAction->setEnabled(false);
+ ui->snapshotSaveAction->setEnabled(false);
+ ui->chapterSnapshotsSaveAction->setEnabled(false);
// enable closing even if no file was loaded (mr)
//fileCloseAction->setEnabled(false);
- fileExportAction->setEnabled(false);
- playPlayAction->setEnabled(false);
- playStopAction->setEnabled(false);
- menubar->setItemEnabled(audiotrackmenuid,false);
+ ui->fileExportAction->setEnabled(false);
+ ui->playPlayAction->setEnabled(false);
+ ui->playStopAction->setEnabled(false);
+ audiotrackmenu->setEnabled(false);
audiotrackpopup->clear();
- editStartAction->setEnabled(false);
- editStopAction->setEnabled(false);
- editChapterAction->setEnabled(false);
- editBookmarkAction->setEnabled(false);
- editAutoChaptersAction->setEnabled(false);
- editSuggestAction->setEnabled(false);
- editImportAction->setEnabled(false);
+ ui->editStartAction->setEnabled(false);
+ ui->editStopAction->setEnabled(false);
+ ui->editChapterAction->setEnabled(false);
+ ui->editBookmarkAction->setEnabled(false);
+ ui->editAutoChaptersAction->setEnabled(false);
+ ui->editSuggestAction->setEnabled(false);
+ ui->editImportAction->setEnabled(false);
//editConvertAction->setEnabled(false);
#ifdef HAVE_LIB_AO
- playAudio1Action->setEnabled(false);
- playAudio2Action->setEnabled(false);
+ ui->playAudio1Action->setEnabled(false);
+ ui->playAudio2Action->setEnabled(false);
#endif // HAVE_LIB_AO
- viewNormalAction->setEnabled(false);
- viewUnscaledAction->setEnabled(false);
- viewDifferenceAction->setEnabled(false);
-
- eventlist->setEnabled(false);
- imagedisplay->setEnabled(false);
- pictimelabel->setEnabled(false);
- pictimelabel2->setEnabled(false);
- picinfolabel->setEnabled(false);
- picinfolabel2->setEnabled(false);
- goinput->setEnabled(false);
- gobutton->setEnabled(false);
- goinput2->setEnabled(false);
- gobutton2->setEnabled(false);
- linslider->setEnabled(false);
- jogslider->setEnabled(false);
+ ui->viewNormalAction->setEnabled(false);
+ ui->viewUnscaledAction->setEnabled(false);
+ ui->viewDifferenceAction->setEnabled(false);
+
+ ui->eventlist->setEnabled(false);
+ ui->imagedisplay->setEnabled(false);
+ ui->pictimelabel->setEnabled(false);
+ ui->pictimelabel2->setEnabled(false);
+ ui->picinfolabel->setEnabled(false);
+ ui->picinfolabel2->setEnabled(false);
+ ui->goinput->setEnabled(false);
+ ui->gobutton->setEnabled(false);
+ ui->goinput2->setEnabled(false);
+ ui->gobutton2->setEnabled(false);
+ ui->linslider->setEnabled(false);
+ ui->jogslider->setEnabled(false);
std::string prjfilename;
QDomDocument domdoc;
{
- QFile infile(filename);
- if (infile.open(IO_ReadOnly)) {
+ QFile infile(QString::fromStdString(filename));
+ if (infile.open(QIODevice::ReadOnly)) {
+ char buff[512];
QString line;
- while (line.length()==0) {
- if (infile.readLine(line,512)<=0)
- break;
- line=line.stripWhiteSpace();
- }
+ qint64 readBytes = infile.readLine(buff,512);
+ if(readBytes>0)
+ line = QString::fromAscii(buff, readBytes);
if (line.startsWith(QString("<!DOCTYPE"))
|| line.startsWith(QString("<?xml"))) {
infile.at(0);
@@ -1750,8 +1758,8 @@ void dvbcut::open(std::list<std::string>
QDomElement docelem = domdoc.documentElement();
if (docelem.tagName() != "dvbcut") {
critical("Failed to read project file - dvbcut",
- QString(filename) + ":\nNot a valid dvbcut project file");
- fileOpenAction->setEnabled(true);
+ QString::fromStdString(filename) + ":\nNot a valid dvbcut project file");
+ ui->fileOpenAction->setEnabled(true);
return;
}
// parse elements, new-style first
@@ -1807,16 +1815,16 @@ void dvbcut::open(std::list<std::string>
// sanity check
if (filenames.empty()) {
critical("Failed to read project file - dvbcut",
- QString(filename) + ":\nNo MPEG filename given in project file");
- fileOpenAction->setEnabled(true);
+ QString::fromStdString(filename) + ":\nNo MPEG filename given in project file");
+ ui->fileOpenAction->setEnabled(true);
return;
}
prjfilename = filename;
}
else {
critical("Failed to read project file - dvbcut",
- QString(filename) + ":\n" + errormsg);
- fileOpenAction->setEnabled(true);
+ QString::fromStdString(filename) + ":\n" + errormsg);
+ ui->fileOpenAction->setEnabled(true);
return;
}
}
@@ -1842,7 +1850,7 @@ void dvbcut::open(std::list<std::string>
if (!mpg) {
critical("Failed to open file - dvbcut", errormessage);
- fileOpenAction->setEnabled(true);
+ ui->fileOpenAction->setEnabled(true);
return;
}
@@ -1859,19 +1867,19 @@ void dvbcut::open(std::list<std::string>
*/
QUrl u;
u.setProtocol(QString("file"));
- u.setPath(QString(idxfilename));
+ u.setPath(QString::fromStdString(idxfilename));
if (chdir((const char*)u.dirPath()) == -1) chdir("/");
- QString relname = QString("file:") + u.fileName();
+ QString relname = u.fileName();
QString s=QFileDialog::getSaveFileName(
relname,
settings().idxfilter,
this,
"Choose index file...",
"Choose the name of the index file" );
- if (!s) {
+ if (s.isEmpty()) {
delete mpg;
mpg=0;
- fileOpenAction->setEnabled(true);
+ ui->fileOpenAction->setEnabled(true);
return;
}
idxfilename=(const char*)s;
@@ -1895,21 +1903,21 @@ void dvbcut::open(std::list<std::string>
delete mpg;
mpg=0;
critical("Failed to open file - dvbcut",errorstring);
- fileOpenAction->setEnabled(true);
+ ui->fileOpenAction->setEnabled(true);
return;
}
if (pictures==-2) {
delete mpg;
mpg=0;
critical("Invalid index file - dvbcut", errorstring);
- fileOpenAction->setEnabled(true);
+ ui->fileOpenAction->setEnabled(true);
return;
}
if (pictures<=-3) {
delete mpg;
mpg=0;
critical("Index file mismatch - dvbcut", errorstring);
- fileOpenAction->setEnabled(true);
+ ui->fileOpenAction->setEnabled(true);
return;
}
}
@@ -1928,7 +1936,7 @@ void dvbcut::open(std::list<std::string>
if (psb.cancelled()) {
delete mpg;
mpg=0;
- fileOpenAction->setEnabled(true);
+ ui->fileOpenAction->setEnabled(true);
return;
}
@@ -1936,11 +1944,11 @@ void dvbcut::open(std::list<std::string>
delete mpg;
mpg=0;
critical("Error creating index - dvbcut",
- QString("Cannot create index for\n")+filename+":\n"+errorstring);
- fileOpenAction->setEnabled(true);
+ QString("Cannot create index for\n")+QString::fromStdString(filename)+":\n"+QString::fromStdString(errorstring));
+ ui->fileOpenAction->setEnabled(true);
return;
} else if (!errorstring.empty()) {
- critical("Error saving index file - dvbcut", QString(errorstring));
+ critical("Error saving index file - dvbcut", QString::fromStdString(errorstring));
}
}
@@ -1948,8 +1956,8 @@ void dvbcut::open(std::list<std::string>
delete mpg;
mpg=0;
critical("Invalid MPEG file - dvbcut",
- QString("The chosen file\n")+filename+"\ndoes not contain any video");
- fileOpenAction->setEnabled(true);
+ QString("The chosen file\n")+QString::fromStdString(filename)+"\ndoes not contain any video");
+ ui->fileOpenAction->setEnabled(true);
return;
}
@@ -1973,19 +1981,19 @@ void dvbcut::open(std::list<std::string>
timeperframe=(*mpg)[1].getpts()-(*mpg)[0].getpts();
double fps=27.e6/double(mpgfile::frameratescr[(*mpg)[0].getframerate()]);
- linslider->setMaxValue(pictures-1);
- linslider->setLineStep(int(300*fps));
- linslider->setPageStep(int(900*fps));
+ ui->linslider->setMaximum(pictures-1);
+ ui->linslider->setSingleStep(int(300*fps));
+ ui->linslider->setPageStep(int(900*fps));
if (settings().lin_interval > 0)
- linslider->setTickInterval(int(settings().lin_interval*fps));
+ ui->linslider->setTickInterval(int(settings().lin_interval*fps));
//alpha=log(jog_maximum)/double(100000-jog_offset);
// with alternative function
alpha=log(settings().jog_maximum)/100000.;
if (settings().jog_interval > 0 && settings().jog_interval <= 100000)
- jogslider->setTickInterval(int(100000/settings().jog_interval));
+ ui->jogslider->setTickInterval(int(100000/settings().jog_interval));
- imagedisplay->setBackgroundMode(Qt::NoBackground);
+ ui->imagedisplay->setBackgroundMode(Qt::NoBackground);
curpic=~0;
showimage=true;
fine=false;
@@ -1994,12 +2002,12 @@ void dvbcut::open(std::list<std::string>
imgp=new imageprovider(*mpg,new dvbcutbusy(this),false,viewscalefactor);
linslidervalue(0);
- linslider->setValue(0);
- jogslider->setValue(0);
+ ui->linslider->setValue(0);
+ ui->jogslider->setValue(0);
{
- EventListItem *eli=new EventListItem(0,imgp->getimage(0),EventListItem::start,9999999,2,0);
- eventlist->setMinimumWidth(eli->width(eventlist)+24);
+ EventListItem *eli=new EventListItem(0,QPixmap::fromImage(imgp->getimage(0)),EventListItem::start,9999999,2,0);
+ ui->eventlist->setMinimumWidth(eli->width(ui->eventlist)+24);
delete eli;
}
@@ -2023,12 +2031,12 @@ void dvbcut::open(std::list<std::string>
QString str=e.attribute("picture","-1");
if (str.contains(':') || str.contains('.')) {
okay=true;
- picnum=string2pts(str)/getTimePerFrame();
+ picnum=string2pts(str.toStdString())/getTimePerFrame();
}
else
picnum=str.toInt(&okay,0);
if (okay && picnum>=0 && picnum<pictures) {
- new EventListItem(eventlist,imgp->getimage(picnum),evt,picnum,(*mpg)[picnum].getpicturetype(),(*mpg)[picnum].getpts()-firstpts);
+ new EventListItem(ui->eventlist,QPixmap::fromImage(imgp->getimage(picnum)),evt,picnum,(*mpg)[picnum].getpicturetype(),(*mpg)[picnum].getpts()-firstpts);
qApp->processEvents();
}
}
@@ -2036,56 +2044,56 @@ void dvbcut::open(std::list<std::string>
update_quick_picture_lookup_table();
- fileOpenAction->setEnabled(true);
- fileSaveAction->setEnabled(true);
- fileSaveAsAction->setEnabled(true);
- snapshotSaveAction->setEnabled(true);
- chapterSnapshotsSaveAction->setEnabled(true);
- fileCloseAction->setEnabled(true);
- fileExportAction->setEnabled(true);
- playPlayAction->setEnabled(true);
- menubar->setItemEnabled(audiotrackmenuid,true);
- playStopAction->setEnabled(false);
- editStartAction->setEnabled(true);
- editStopAction->setEnabled(true);
- editChapterAction->setEnabled(true);
- editBookmarkAction->setEnabled(true);
- editAutoChaptersAction->setEnabled(true);
- editSuggestAction->setEnabled(true);
- editImportAction->setEnabled(true);
+ ui->fileOpenAction->setEnabled(true);
+ ui->fileSaveAction->setEnabled(true);
+ ui->fileSaveAsAction->setEnabled(true);
+ ui->snapshotSaveAction->setEnabled(true);
+ ui->chapterSnapshotsSaveAction->setEnabled(true);
+ ui->fileCloseAction->setEnabled(true);
+ ui->fileExportAction->setEnabled(true);
+ ui->playPlayAction->setEnabled(true);
+ audiotrackmenu->setEnabled(true);
+ ui->playStopAction->setEnabled(false);
+ ui->editStartAction->setEnabled(true);
+ ui->editStopAction->setEnabled(true);
+ ui->editChapterAction->setEnabled(true);
+ ui->editBookmarkAction->setEnabled(true);
+ ui->editAutoChaptersAction->setEnabled(true);
+ ui->editSuggestAction->setEnabled(true);
+ ui->editImportAction->setEnabled(true);
//editConvertAction->setEnabled(true);
- viewNormalAction->setEnabled(true);
- viewUnscaledAction->setEnabled(true);
- viewDifferenceAction->setEnabled(true);
+ ui->viewNormalAction->setEnabled(true);
+ ui->viewUnscaledAction->setEnabled(true);
+ ui->viewDifferenceAction->setEnabled(true);
#ifdef HAVE_LIB_AO
if (mpg->getaudiostreams()) {
- playAudio1Action->setEnabled(true);
- playAudio2Action->setEnabled(true);
+ ui->playAudio1Action->setEnabled(true);
+ ui->playAudio2Action->setEnabled(true);
}
#endif // HAVE_LIB_AO
- eventlist->setEnabled(true);
- imagedisplay->setEnabled(true);
- pictimelabel->setEnabled(true);
- pictimelabel2->setEnabled(true);
- picinfolabel->setEnabled(true);
- picinfolabel2->setEnabled(true);
- goinput->setEnabled(true);
- gobutton->setEnabled(true);
- goinput2->setEnabled(true);
- gobutton2->setEnabled(true);
- linslider->setEnabled(true);
- jogslider->setEnabled(true);
+ ui->eventlist->setEnabled(true);
+ ui->imagedisplay->setEnabled(true);
+ ui->pictimelabel->setEnabled(true);
+ ui->pictimelabel2->setEnabled(true);
+ ui->picinfolabel->setEnabled(true);
+ ui->picinfolabel2->setEnabled(true);
+ ui->goinput->setEnabled(true);
+ ui->gobutton->setEnabled(true);
+ ui->goinput2->setEnabled(true);
+ ui->gobutton2->setEnabled(true);
+ ui->linslider->setEnabled(true);
+ ui->jogslider->setEnabled(true);
// audiotrackmenuids.clear();
for(int a=0;a<mpg->getaudiostreams();++a) {
// audiotrackmenuids.push_back(audiotrackpopup->insertItem(QString(mpg->getstreaminfo(audiostream(a)))));
- audiotrackpopup->insertItem(QString(mpg->getstreaminfo(audiostream(a))),a);
+ audiotrackpopup->insertItem(QString::fromStdString(mpg->getstreaminfo(audiostream(a))),a);
}
if (mpg->getaudiostreams()>0) {
- audiotrackpopup->setItemChecked(0,true);
+ audiotrackpopup->actions().at(0)->setChecked(true);
currentaudiotrack=0;
} else
currentaudiotrack=-1;
@@ -2115,10 +2123,10 @@ void dvbcut::setviewscalefactor(double f
{
if (factor<=0.0)
factor=1.0;
- viewFullSizeAction->setOn(factor==1.0);
- viewHalfSizeAction->setOn(factor==2.0);
- viewQuarterSizeAction->setOn(factor==4.0);
- viewCustomSizeAction->setOn(factor==settings().viewscalefactor_custom);
+ ui->viewFullSizeAction->setChecked(factor==1.0);
+ ui->viewHalfSizeAction->setChecked(factor==2.0);
+ ui->viewQuarterSizeAction->setChecked(factor==4.0);
+ ui->viewCustomSizeAction->setChecked(factor==settings().viewscalefactor_custom);
settings().viewscalefactor = factor;
@@ -2136,32 +2144,32 @@ bool dvbcut::eventFilter(QObject *watche
int delta = 0;
int incr = WHEEL_INCR_NORMAL;
- if (e->type() == QEvent::Wheel && watched != jogslider) {
+ if (e->type() == QEvent::Wheel && watched != ui->jogslider) {
QWheelEvent *we = (QWheelEvent*)e;
// Note: delta is a multiple of 120 (see Qt documentation)
delta = we->delta();
- if (we->state() & AltButton)
+ if (we->state() & Qt::Key_Alt)
incr = WHEEL_INCR_ALT;
- else if (we->state() & ControlButton)
+ else if (we->state() & Qt::Key_Control)
incr = WHEEL_INCR_CTRL;
- else if (we->state() & ShiftButton)
+ else if (we->state() & Qt::Key_Shift)
incr = WHEEL_INCR_SHIFT;
}
else if (e->type() == QEvent::KeyPress) {
QKeyEvent *ke = (QKeyEvent*)e;
delta = ke->count() * settings().wheel_delta;
- if (ke->key() == Key_Right)
+ if (ke->key() == Qt::Key_Right)
delta = -delta;
- else if (ke->key() != Key_Left)
+ else if (ke->key() != Qt::Key_Left)
myEvent = false;
- if (ke->state() & AltButton)
+ if (ke->state() & Qt::Key_Alt)
incr = WHEEL_INCR_ALT;
- else if (ke->state() & ControlButton)
+ else if (ke->state() & Qt::Key_Control)
incr = WHEEL_INCR_CTRL;
- else if (ke->state() & ShiftButton)
+ else if (ke->state() & Qt::Key_Shift)
incr = WHEEL_INCR_SHIFT;
}
- else
+ else
myEvent = false;
if (myEvent) {
@@ -2177,14 +2185,15 @@ bool dvbcut::eventFilter(QObject *watche
newpos = 0;
else if (newpos >= pictures)
newpos = pictures - 1;
- linslider->setValue(newpos);
+ ui->linslider->setValue(newpos);
fine = save;
}
return true;
}
// propagate to base class
- return dvbcutbase::eventFilter(watched, e);
+ //return ui->eventFilter(watched, e);
+ return Q3MainWindow::eventFilter(watched, e);
}
int
@@ -2199,6 +2208,11 @@ dvbcut::question(const QString & caption
}
int
+dvbcut::critical(const QString & caption, const std::string & text) {
+ return critical(caption, QString::fromStdString(text));
+}
+
+int
dvbcut::critical(const QString & caption, const QString & text)
{
if (nogui) {
@@ -2281,24 +2295,24 @@ void dvbcut::update_time_display()
+ " " + timestr(pts);
QString outtime =
QString(mark) + " " + timestr(outpts);
- pictimelabel->setText(curtime);
- pictimelabel2->setText(outtime);
- goinput->setText(QString::number(curpic));
- goinput2->setText(QString::number(outpic));
+ ui->pictimelabel->setText(curtime);
+ ui->pictimelabel2->setText(outtime);
+ ui->goinput->setText(QString::number(curpic));
+ ui->goinput2->setText(QString::number(outpic));
int res=idx.getresolution(); // are found video resolutions stored in index?
if (res) {
// new index with resolution bits set and lookup table at the end
- picinfolabel->setText(QString::number(mpg->getwidth(res)) + "x"
+ ui->picinfolabel->setText(QString::number(mpg->getwidth(res)) + "x"
+ QString::number(mpg->getheight(res)));
} else {
// in case of an old index file type (or if we don't want to change the index format/encoding?)
// ==> get info directly from each image (which could be somewhat slower?!?)
QImage p = imageprovider(*mpg, new dvbcutbusy(this), true).getimage(curpic,false);
- picinfolabel->setText(QString::number(p.width()) + "x"
+ ui->picinfolabel->setText(QString::number(p.width()) + "x"
+ QString::number(p.height()));
}
- picinfolabel2->setText(QString(FR[idx.getframerate()]) + "fps, "
+ ui->picinfolabel2->setText(QString(FR[idx.getframerate()]) + "fps, "
+ QString(AR[idx.getaspectratio()]));
}
@@ -2330,7 +2344,7 @@ void dvbcut::update_quick_picture_lookup
startpts=0;
}
- for (QListBoxItem *item=eventlist->firstItem();item;item=item->next())
+ for (Q3ListBoxItem *item=ui->eventlist->firstItem();item;item=item->next())
if (item->rtti()==EventListItem::RTTI()) {
const EventListItem &eli=*static_cast<const EventListItem*>(item);
switch (eli.geteventtype()) {
@@ -2402,8 +2416,8 @@ void dvbcut::helpAboutAction_activated()
"</span></body></html>").arg(VERSION_STRING));
}
-#include <qhbox.h>
-#include <qvbox.h>
+#include <q3hbox.h>
+#include <q3vbox.h>
#include <qdialog.h>
#include <qtextbrowser.h>
#include <qpushbutton.h>
@@ -2413,10 +2427,10 @@ public:
helpDialog(QWidget *parent, const char *name, QString file)
: QDialog(parent, name)
{
- vbox = new QVBox(this);
+ vbox = new Q3VBox(this);
vbox->resize(640, 480);
viewer = new QTextBrowser(vbox);
- hbox = new QHBox(vbox);
+ hbox = new Q3HBox(vbox);
prev = new QPushButton(tr("Prev"), hbox);
next = new QPushButton(tr("Next"), hbox);
home = new QPushButton(tr("Home"), hbox);
@@ -2442,8 +2456,8 @@ public:
delete vbox;
}
private:
- QVBox *vbox;
- QHBox *hbox;
+ Q3VBox *vbox;
+ Q3HBox *hbox;
QTextBrowser *viewer;
QPushButton *prev, *next, *home, *close;
};
--- a/src/dvbcut.h
+++ b/src/dvbcut.h
@@ -25,14 +25,14 @@
#include <vector>
#include <list>
#include "mpgfile.h"
-#include "dvbcutbase.h"
+#include "ui_dvbcutbase.h"
#include "pts.h"
#include "eventlistitem.h"
class QProcess;
class imageprovider;
-class dvbcut: public dvbcutbase
+class dvbcut: public Q3MainWindow
{
Q_OBJECT
@@ -73,9 +73,9 @@ public:
protected:
quick_picture_lookup_t quick_picture_lookup;
std::list<pts_t> chapterlist;
-
- QPopupMenu *audiotrackpopup,*recentfilespopup,*editconvertpopup;
- int audiotrackmenuid;
+
+ QMenu *audiotrackpopup,*recentfilespopup,*editconvertpopup;
+ QAction* audiotrackmenu;
inbuffer buf;
mpgfile *mpg;
int pictures;
@@ -101,8 +101,9 @@ protected:
bool nogui;
int exportformat;
bool start_bof;
- bool stop_eof;
-
+ bool stop_eof;
+ Ui::dvbcutbase* ui;
+
protected:
// QPixmap getpixmap(int picture, bool allgop=false);
void exportvideo(const char *fmt);
@@ -118,6 +119,7 @@ protected:
// QMessagebox interface
int question(const QString & caption, const QString & text);
int critical(const QString & caption, const QString & text);
+ int critical(const QString & caption, const std::string & text);
// filename handling
void make_canonical(std::string &filename);
@@ -136,7 +138,7 @@ protected slots:
public:
~dvbcut();
- dvbcut(QWidget *parent = 0, const char *name = 0, WFlags fl = WType_TopLevel|WDestructiveClose );
+ dvbcut(QWidget *parent = 0, const char *name = 0, Qt::WFlags fl = Qt::Window);
void open(std::list<std::string> filenames=std::list<std::string>(),
std::string idxfilename=std::string(), std::string expfilename=std::string());
void setbusy(bool b=true);
@@ -180,8 +182,8 @@ public slots:
virtual void jogsliderreleased();
virtual void jogslidervalue(int);
virtual void linslidervalue(int);
- virtual void doubleclickedeventlist(QListBoxItem *lbi);
- virtual void eventlistcontextmenu(QListBoxItem *, const QPoint &);
+ virtual void doubleclickedeventlist(Q3ListBoxItem *lbi);
+ virtual void eventlistcontextmenu(Q3ListBoxItem *, const QPoint &);
virtual void mplayer_exited();
virtual void mplayer_readstdout();
virtual void clickedgo();
--- a/src/dvbcutbase.ui
+++ b/src/dvbcutbase.ui
@@ -1,1338 +1,1677 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>dvbcutbase</class>
-<widget class="QMainWindow">
- <property name="name">
- <cstring>dvbcutbase</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>741</width>
- <height>580</height>
- </rect>
- </property>
- <property name="caption">
- <string>dvbcut</string>
- </property>
- <property name="usesTextLabel">
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>dvbcutbase</class>
+ <widget class="Q3MainWindow" name="dvbcutbase">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>741</width>
+ <height>580</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>dvbcut</string>
+ </property>
+ <property name="usesTextLabel">
+ <bool>false</bool>
+ </property>
+ <widget class="QWidget" name="widget">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>53</y>
+ <width>741</width>
+ <height>527</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QSplitter" name="splitter3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="Q3ListBox" name="eventlist">
+ <property name="enabled">
<bool>false</bool>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QSplitter">
- <property name="name">
- <cstring>splitter3</cstring>
- </property>
+ </property>
+ </widget>
+ <widget class="QWidget" name="layout7">
+ <layout class="QVBoxLayout">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="imagedisplay">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer1">
<property name="orientation">
- <enum>Horizontal</enum>
+ <enum>Qt::Horizontal</enum>
</property>
- <widget class="QListBox">
- <property name="name">
- <cstring>eventlist</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout7</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout6</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>imagedisplay</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>100</height>
- </size>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>503</width>
- <height>16</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer4</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>16</width>
- <height>254</height>
- </size>
- </property>
- </spacer>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout6</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>goinput</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="maxLength">
- <number>16</number>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>gobutton</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>go</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer6</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>2</width>
- <height>10</height>
- </size>
- </property>
- </spacer>
- <widget class="QLabel">
- <property name="name">
- <cstring>picinfolabel</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="minimumSize">
- <size>
- <width>10</width>
- <height>0</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Monospace</family>
- <pointsize>10</pointsize>
- </font>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="alignment">
- <set>AlignVCenter|AlignRight</set>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer6</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>2</width>
- <height>10</height>
- </size>
- </property>
- </spacer>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>goinput2</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="maxLength">
- <number>16</number>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>gobutton2</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>go</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout6</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>pictimelabel</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="minimumSize">
- <size>
- <width>160</width>
- <height>0</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Monospace</family>
- <pointsize>16</pointsize>
- </font>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="alignment">
- <set>AlignVCenter|AlignRight</set>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer6</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>2</width>
- <height>10</height>
- </size>
- </property>
- </spacer>
- <widget class="QLabel">
- <property name="name">
- <cstring>picinfolabel2</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="minimumSize">
- <size>
- <width>10</width>
- <height>0</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Monospace</family>
- <pointsize>10</pointsize>
- </font>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="alignment">
- <set>AlignVCenter|AlignRight</set>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer6</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>2</width>
- <height>10</height>
- </size>
- </property>
- </spacer>
- <widget class="QLabel">
- <property name="name">
- <cstring>pictimelabel2</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="minimumSize">
- <size>
- <width>160</width>
- <height>0</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Monospace</family>
- <pointsize>16</pointsize>
- </font>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="alignment">
- <set>AlignVCenter|AlignRight</set>
- </property>
- </widget>
- </hbox>
- </widget>
- </vbox>
- </widget>
- </widget>
- <widget class="Line">
- <property name="name">
- <cstring>line3</cstring>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
- <property name="frameShape">
- <enum>HLine</enum>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>503</width>
+ <height>16</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="spacer4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>16</width>
+ <height>254</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLineEdit" name="goinput">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxLength">
+ <number>16</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="gobutton">
+ <property name="enabled">
+ <bool>false</bool>
</property>
- <property name="frameShadow">
- <enum>Sunken</enum>
+ <property name="text">
+ <string>go</string>
</property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer6">
<property name="orientation">
- <enum>Horizontal</enum>
+ <enum>Qt::Horizontal</enum>
</property>
- </widget>
- <widget class="QSlider">
- <property name="name">
- <cstring>linslider</cstring>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>2</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="picinfolabel">
<property name="enabled">
- <bool>false</bool>
- </property>
- <property name="maxValue">
- <number>180000</number>
- </property>
- <property name="lineStep">
- <number>7500</number>
- </property>
- <property name="pageStep">
- <number>45000</number>
+ <bool>false</bool>
</property>
+ <property name="minimumSize">
+ <size>
+ <width>10</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Monospace</family>
+ <pointsize>10</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer6">
<property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="tickmarks">
- <enum>Both</enum>
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="tickInterval">
- <number>90000</number>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
- </widget>
- <widget class="QSlider">
- <property name="name">
- <cstring>jogslider</cstring>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>2</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="goinput2">
+ <property name="enabled">
+ <bool>false</bool>
</property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxLength">
+ <number>16</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="gobutton2">
<property name="enabled">
- <bool>false</bool>
+ <bool>false</bool>
</property>
- <property name="minValue">
- <number>-100000</number>
+ <property name="text">
+ <string>go</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="pictimelabel">
+ <property name="enabled">
+ <bool>false</bool>
</property>
- <property name="maxValue">
- <number>100000</number>
+ <property name="minimumSize">
+ <size>
+ <width>160</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Monospace</family>
+ <pointsize>16</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="lineStep">
- <number>10000</number>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
- <property name="pageStep">
- <number>10000</number>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>2</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="picinfolabel2">
+ <property name="enabled">
+ <bool>false</bool>
</property>
+ <property name="minimumSize">
+ <size>
+ <width>10</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Monospace</family>
+ <pointsize>10</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer6">
<property name="orientation">
- <enum>Horizontal</enum>
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="tickmarks">
- <enum>Both</enum>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
- <property name="tickInterval">
- <number>100000</number>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>2</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="pictimelabel2">
+ <property name="enabled">
+ <bool>false</bool>
</property>
- </widget>
- </vbox>
-</widget>
-<menubar>
- <property name="name">
- <cstring>menubar</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
- </property>
- <item text="&File" name="fileMenu">
- <action name="fileNewAction"/>
- <action name="fileOpenAction"/>
- <action name="fileSaveAction"/>
- <action name="fileSaveAsAction"/>
- <action name="snapshotSaveAction"/>
- <action name="chapterSnapshotsSaveAction"/>
- <separator/>
- <action name="fileExportAction"/>
- <separator/>
- <action name="fileCloseAction"/>
+ <property name="minimumSize">
+ <size>
+ <width>160</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Monospace</family>
+ <pointsize>16</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
</item>
- <item text="&Edit" name="editMenu">
- <action name="editStartAction"/>
- <action name="editStopAction"/>
- <action name="editChapterAction"/>
- <action name="editBookmarkAction"/>
- <separator/>
- <action name="editAutoChaptersAction"/>
- <action name="editSuggestAction"/>
- <action name="editImportAction"/>
+ <item>
+ <widget class="Line" name="line3">
+ <property name="frameShape">
+ <enum>QFrame::HLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
</item>
- <item text="&View" name="viewMenu">
- <action name="viewNormalAction"/>
- <action name="viewUnscaledAction"/>
- <action name="viewDifferenceAction"/>
- <separator/>
- <action name="zoomInAction"/>
- <action name="zoomOutAction"/>
- <separator/>
- <action name="viewFullSizeAction"/>
- <action name="viewHalfSizeAction"/>
- <action name="viewQuarterSizeAction"/>
- <action name="viewCustomSizeAction"/>
+ <item>
+ <widget class="QSlider" name="linslider">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maximum">
+ <number>180000</number>
+ </property>
+ <property name="singleStep">
+ <number>7500</number>
+ </property>
+ <property name="pageStep">
+ <number>45000</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBothSides</enum>
+ </property>
+ <property name="tickInterval">
+ <number>90000</number>
+ </property>
+ </widget>
</item>
- <item text="&Play" name="playMenu">
- <action name="playPlayAction"/>
- <action name="playStopAction"/>
- <separator/>
- <action name="playAudio1Action"/>
- <action name="playAudio2Action"/>
+ <item>
+ <widget class="QSlider" name="jogslider">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="minimum">
+ <number>-100000</number>
+ </property>
+ <property name="maximum">
+ <number>100000</number>
+ </property>
+ <property name="singleStep">
+ <number>10000</number>
+ </property>
+ <property name="pageStep">
+ <number>10000</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBothSides</enum>
+ </property>
+ <property name="tickInterval">
+ <number>100000</number>
+ </property>
+ </widget>
</item>
- <item text="&Help" name="Help">
- <action name="helpAboutAction"/>
- <action name="helpContentAction"/>
- </item>
-</menubar>
-<toolbars>
- <toolbar dock="2">
- <property name="name">
- <cstring>fileToolbar</cstring>
- </property>
- <property name="label">
- <string>File toolbar</string>
- </property>
- <action name="fileOpenAction"/>
- <action name="fileSaveAction"/>
- <action name="fileSaveAsAction"/>
- <action name="snapshotSaveAction"/>
- </toolbar>
- <toolbar dock="2">
- <property name="name">
- <cstring>Toolbar</cstring>
- </property>
- <property name="label">
- <string>Edit toolbar</string>
- </property>
- <action name="editStartAction"/>
- <action name="editStopAction"/>
- <action name="editChapterAction"/>
- <action name="editBookmarkAction"/>
- </toolbar>
- <toolbar dock="2">
- <property name="name">
- <cstring>playToolbar</cstring>
- </property>
- <property name="label">
- <string>Play toolbar</string>
- </property>
- <action name="playAudio1Action"/>
- <action name="playAudio2Action"/>
- <action name="playPlayAction"/>
- <action name="playStopAction"/>
- </toolbar>
-</toolbars>
-<actions>
- <action>
- <property name="name">
- <cstring>fileOpenAction</cstring>
- </property>
- <property name="iconSet">
- <iconset>image0</iconset>
- </property>
- <property name="text">
- <string>Open</string>
- </property>
- <property name="menuText">
- <string>&Open...</string>
- </property>
- <property name="accel">
- <string>O</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>fileSaveAction</cstring>
- </property>
- <property name="on">
- <bool>false</bool>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image1</iconset>
- </property>
- <property name="text">
- <string>Save</string>
- </property>
- <property name="menuText">
- <string>&Save</string>
- </property>
- <property name="accel">
- <string>S</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>fileSaveAsAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image2</iconset>
- </property>
- <property name="text">
- <string>Save As</string>
- </property>
- <property name="menuText">
- <string>Save &As...</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>fileCloseAction</cstring>
- </property>
- <property name="iconSet">
- <iconset>image3</iconset>
- </property>
- <property name="text">
- <string>Close</string>
- </property>
- <property name="accel">
- <string>Ctrl+Q</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>playAudio1Action</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image4</iconset>
- </property>
- <property name="text">
- <string>Audio ->|</string>
- </property>
- <property name="menuText">
- <string>Play audio: last 2 seconds</string>
- </property>
- <property name="accel">
- <string>Shift+></string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>playAudio2Action</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image5</iconset>
- </property>
- <property name="text">
- <string>Audio |-></string>
- </property>
- <property name="menuText">
- <string>Play audio: next 2 seconds</string>
- </property>
- <property name="accel">
- <string><</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>playPlayAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image6</iconset>
- </property>
- <property name="text">
- <string>Play</string>
- </property>
- <property name="accel">
- <string>P</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>playStopAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image7</iconset>
- </property>
- <property name="text">
- <string>Stop</string>
- </property>
- <property name="accel">
- <string>Q</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>editStartAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image8</iconset>
- </property>
- <property name="text">
- <string>Set start marker</string>
- </property>
- <property name="accel">
- <string>A</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>editStopAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image9</iconset>
- </property>
- <property name="text">
- <string>Set stop marker</string>
- </property>
- <property name="accel">
- <string>N</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>editChapterAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image10</iconset>
- </property>
- <property name="text">
- <string>Set chapter marker</string>
- </property>
- <property name="accel">
- <string>C</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>editBookmarkAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image11</iconset>
- </property>
- <property name="text">
- <string>Set bookmark</string>
- </property>
- <property name="accel">
- <string>B</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>editAutoChaptersAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Auto chapters</string>
- </property>
- <property name="accel">
- <string>Ctrl+C</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>editSuggestAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Suggest bookmarks</string>
- </property>
- <property name="accel">
- <string>M</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>editImportAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Import bookmarks</string>
- </property>
- <property name="accel">
- <string>I</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>fileNewAction</cstring>
- </property>
- <property name="iconSet">
- <iconset>image12</iconset>
- </property>
- <property name="text">
- <string>New</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>fileExportAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Export video...</string>
- </property>
- <property name="accel">
- <string>E</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>viewNormalAction</cstring>
- </property>
- <property name="toggleAction">
- <bool>true</bool>
- </property>
- <property name="on">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Normal</string>
- </property>
- <property name="accel">
- <string>Ctrl+N</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>viewUnscaledAction</cstring>
- </property>
- <property name="toggleAction">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Unscaled</string>
- </property>
- <property name="accel">
- <string>Ctrl+U</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>viewDifferenceAction</cstring>
- </property>
- <property name="toggleAction">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Show difference to current picture</string>
- </property>
- <property name="accel">
- <string>Ctrl+D</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>viewFullSizeAction</cstring>
- </property>
- <property name="toggleAction">
- <bool>true</bool>
- </property>
- <property name="on">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Full size</string>
- </property>
- <property name="accel">
- <string>Ctrl+1</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>viewQuarterSizeAction</cstring>
- </property>
- <property name="toggleAction">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Quarter size</string>
- </property>
- <property name="accel">
- <string>Ctrl+4</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>viewCustomSizeAction</cstring>
- </property>
- <property name="toggleAction">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Custom size</string>
- </property>
- <property name="accel">
- <string>Ctrl+3</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>zoomInAction</cstring>
- </property>
- <property name="text">
- <string>Zoom in</string>
- </property>
- <property name="accel">
- <string>Ctrl++</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>zoomOutAction</cstring>
- </property>
- <property name="text">
- <string>Zoom out</string>
- </property>
- <property name="accel">
- <string>Ctrl+-</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>viewHalfSizeAction</cstring>
- </property>
- <property name="toggleAction">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Half size</string>
- </property>
- <property name="accel">
- <string>Ctrl+2</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>snapshotSaveAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="iconSet">
- <iconset>image13</iconset>
- </property>
- <property name="text">
- <string>Save Snapshot</string>
- </property>
- <property name="accel">
- <string>G</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>chapterSnapshotsSaveAction</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Save Chapter Snapshots</string>
- </property>
- <property name="accel">
- <string>Ctrl+G</string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>helpAboutAction</cstring>
- </property>
- <property name="text">
- <string>&About</string>
- </property>
- <property name="menuText">
- <string>&About</string>
- </property>
- <property name="toolTip">
- <string>About </string>
- </property>
- <property name="statusTip">
- <string>About </string>
- </property>
- </action>
- <action>
- <property name="name">
- <cstring>helpContentAction</cstring>
- </property>
- <property name="text">
- <string>&Contents</string>
- </property>
- <property name="menuText">
- <string>&Contents</string>
- </property>
- <property name="toolTip">
- <string>Contents</string>
- </property>
- <property name="accel">
- <string>F1</string>
- </property>
- </action>
-</actions>
-<images>
- <image name="image0">
- <data format="PNG" length="1072">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003f749444154388db5955f68d56518c73fe7777ed333dd3f67fecb74c722ed62f9071223332c5620062d0982a88bec22888aeac242322d2b2808b12e022fb4a0eea216155de46866641bcaccd4e2b464736ecef36f673be7fcfebc7f9eb78b6dce95125ef8c2c3fbc0fb3c9ff7e179bf0f6fc239c78d58de0da10289eb4d78f5cdeeb41877a86696b7b65cd62b3e7a7f63e96a71d755f16b6f75bfd4dc98eaddfe54ebe6ed4fb636599143d70c76ce5dd3a6d6ae777ad6eedcdbd3dbd935e2aa55e7b259ed4647adfbf860c63df3c24fed57e3265a9efec3b56f5e8808280bda08cac017df0f95c26fd7ccdbf3def13de95b9a763ff8400b8df53518e3d0da628c23954af2fabbdda5b1f178c5e707ee9fd192c4a61de7dcbedd2b5006220bca40ac61a82f64e058866d6dcbb86b5d335a835260ed34d839c7df8315f67e78aae387d3899739b5b97f0aecff5b6e46c170cf10f526e28d17d730a716acbd7a1b451cad2b9bd8b4aeb95da4f069e729a6c156a6c1a5f3214327fa79b82d4d7a79ed35df0560b462d8df71099c43ebb9648aa3fb5873642d22e01cfe95d58c8f8c73cffa25ff0b2d5585adbb32b4dd7b33b72eab4304d2ab16a7cb55fb8a3694f67f70bcdeb7329de02d5dc8ce83a7d9b05e7016ac58ac15c438c43acca4ffddaf451edbd2c2ac054d1c190011989d82df7ac7ea073bfbb240d78c567c753847faf605ac5eea33efa63904e20895235410448e400b5104cfae5c4c5ce3d3736e029af0a03010923dd66f914a9a847b7b06f8f0d12c99cf5a2964358df37da40e7265c89761e0225446211f433e0bc592259f8b090a152e9ec9521aae96881283d4db5578aecb376602fa634fc8a63b1ba84d41cdc21a7a33e32c58de40e602f40dc048ce90cb5b2ee50db9bc21288584a52aa5e1519c721090c5b73ed8b3641eeaf765526e47ba8b6cdbd84c55e0520c59af813f4f5ac42509228752102921568e2816f2b9001d68983b176c0cc490544d383900e08915c6abf0fbd9128fb7d59129c285224440b12c8c5584583b22e5501a4a639a919100ebcfc64bcd9e2997a469c4d231a963387caccc7dab1b19a9409d0f4b525067a16189cf585161fc04cd6268d011f58b14b735259138468218136bc2c0902bc8fc81419da57fcb4900df5847d72f05763cba883bea276f9e075a431439b4f68863431c5b94f250ca278a0c5afb44512d4ad5a0548a2f8f8ecdffe4bcfbe6b274ab81a17fa0cc231b660e85e781ef7b2493093ccf9bf4bdcbbee74d9c4df93f9f0941dcd753f97e61b8ca734fb4fc67ba92c9097338440cb1d284514c186a824011c53151a8d15a88b5a1efaf002e6cedb80cc64bd079a2c8ddcf8fe1c42102884344b056b05a30c6608d608dc1188bd1163132b18ba51a38085cc79585256ed467fa0f0f457af9307ab8bf0000000049454e44ae426082</data>
- </image>
- <image name="image1">
- <data format="PNG" length="763">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000002c249444154388dd5943d8f1c4510869fd99d35773ef0c705c8329203021001827f8090900810883f003111227506d14504fc03624840204182217300423210fa641964c9be1577bb33bbd3dd55d5d504333bc7c96b3b764badaaee19bdfdf4dbd50d4f5bab36c90f3ffefa515d4f0f5433b37a42d376c4a464cbccea29661911c52ca36aa86ea271e79f39f3a3c577cd62f5f1cf373e5f00d41be1ba9e1ebcf4cab54b5071edea3e9f7ef10dcb2670e1b95d3efbe4fdc7d27d7fe3167fdebafdc1b75ffd02f0e119e194942e0ad5b0899bbf1f72f9c279ea7af2c46d2f9a0e07dcf3bb23e82691617b55d50bef5fdce3e517aff0c295cb4f14163196cb1529c938772a2c8aa831a97ac2b7df7895abcf5f64ffd2b38f15752f2c9b96e5a2c12c3f2c9cc410cd94629c341defbdf53aa5144a81f9713be4fd7813cd8c939396a307c774216266db887b2bba98f8ed8f3ba865cc32967dc8bdaf889c1131624834cb96f53a707cd212a33c8a581155421c4aca725f529607ff8d98941885b65d11ba484a424a8a88106324e72dc23a58e1ee9cdf3d87651f6ad7a88ae30693929996ccce6cca64f71cb349c56c3ae12804521272f647111b3bcfcc78e7cdd7707742104248a4a4a8da6097f5072d36f62fbffe8979488ff718c02c1342220441d5b6089f5d208920a2dbad484911cd981a77effecbfdfb0daa365c611daeb08ef698f5e23b3b35290a49d2766119c84c95aa2aecedd588802ad475a1ae613a2d98c16452502d5455011c1988ddb7799c94d5ba239bb15a45168b6ea4ea094f1f21111d1fa1d9ac1aac90edc43124d6eb407147d570cfe4fc7037eba3bb8d42fd42b29d38c4440809bc606694e2b8f7bdcff330ee63ce9bbca022a828ee5b88c33ab25eb4e46cac56cbf1e44fabe0ec21aae6f19f75db90ba35bead8e8fe78bebf7fe7e701053e2f65f87e45c46e29c0ba5f8ffe64ebfb917ee1dcee982e2ce759edaf61f121ae0ff0b36cf4c0000000049454e44ae426082</data>
- </image>
- <image name="image2">
- <data format="PNG" length="1079">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003fe49444154388dd593cb6b5d551487bf73ee39378f9bf7a3a6e94b694b2bb65a1111a13a102b82edc0fe0d0a82e0d006670e041d8aa8d38238d18120522cad5207c596da121f55aad69b3ed2a4499a9b7bef39679fbdd77e38484c93b60a1dba266bb3f8f1b1d66fed15711fb1f03ed5643cfdc00dbcf96a73aa7db53d75e9a3b9b3c78f1e38c9dc9ddae47ec07137bbba7686fdd591ebd1e0de57b635ebd36f0767fb4ef0cd3b074ea2d681bf3e7eee485c8927ac78d224a6d9cad1c6e2ac234d2a586b31c662ade3d78e0f93a7fb8fd7b8f62951fb045d0b8f76deca8b873f0b2f77c217ebc169357d77c7cecdc49598cd63831c79ef738cb13c30dac7c46b2fad0a8364985f5e27f6319440d3b37875961fd28387cf3716a68137d64da7b5509486521b004e9fff83d9f926aa346b64015b3f4a7564065add20fdf8762fbf15db311bf7e0bd3b7497c7462c461c61a53032d8c3eeed1b7968ebe8aac8e737201c230a03a03ba0eca2b950e5f7aea768b60a8cc85dfb488cb118b144d172e1e073fbd83a3ecc86e1de956603be718ab8a30ed910f80a2eebc36e7a9cf9eb63349b0dac75f7020b462cce7b1aad82c32f3e4108811002f38b6d708afef65754077b60b102ba83765ee5726d2f4bb94315e5bf812d228e565672eea73ad63aac7588f558e718f5177876cf34a8412080d4b8382d7ca92d8b799b526b9cfb8f8e556910eb1071cbd93a82e43c367686a46f1c16045c42d1709cbab9911b91c31883526bc1fb60f9365c62c461c4e17da0d655c5a6cb9d6a6de9e347366d0b607a0003b687bfaecdd0ecdb4d8f4bb99917686d70ce03fb52a00ba80226d15a3022f4f674f2c2fe4770ce5396069535e96c9ea636340a6d03a146de70c896e739f4e43318717cfcc9318a4221622ac0c81a27d25856bedb3fdee6b922cf4ba45ca223aa1345034037f8216e3522dae916546968b532f2bc4015eade1e6b2d88388a4253af2f3037d746c452b10d86c7c7408621aae26ccccfd714533d31aa9ca2b33341a912630cdef93bb93e316229b5c11a431c07babb13440249d6c2fbed50dd859319ea93df32dbb117224f9ac684e011238811bc5f053b960f5e275a0bedaca05a89c9b29266b340c4d2b1344f36344054445c3e53e7eccc832c25bdd84c61ad234d638c118c15bcf70168ad403d4c8644294d912b7c9a206271cee1bd23cb0cdf7f779eeeca247fb60650dd9bf062f1dee19c238a02ce59bcb3048287c97cad17b1521aa50c6569b0d61282c77b8f379672fa0a57cc18a677332184d59193a442b59ae2bc47ac5b6bc5ede5a9a2245b6a6192983c6f216211b198da06f48e03844a8d542cb03c490860ad43298d6ab7d0457eafe591cccf2e4e4c5d9e9e10112e5eb884f7cb9d39e757dfb7f3fadaec95065a5bbc8fdeba8bfcbf8bbf01e870cbc9b35858b90000000049454e44ae426082</data>
- </image>
- <image name="image3">
- <data format="PNG" length="1000">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003af49444154388db594cb4b5c7714c73ff7cecb71948c5aeb23a40e2a11a3a4137c40121314e2a6949a5ae8a248c042762163fe806cb20d014d28a19b062ca5cca2af84d0d48d4348e988265c939829d18266a2b5a3ce4c7dcdcc9d997bbaa8f7a613b559e50b67f3bbe77cee79fc7e471111de86ec008aa2eceb70f2e467dd40b79980882022a1703818da2f464450446417b8ab6bc00b0c8918014551bd0e871da7d3898890c9e8e87a867c3e97044644647872f2bbe41bc15d5d037ee096aaaafe8e8e36fafa7a686e7e8fe26297e5138944191bfb8d3b777e2697cb6a22323835f5bdb62f78073a5e5e5eeebd74e9739a9a0efd6f1fa3d118376e7c43243293047a1e3efc41db05de297fbcacaccc3f3434484d4d05f9bc81cda6ee0935bfa55219ae5efd8ae7cf7fd7809e478f7e4c8a08ff8d1a5255d5dfdfff0145454ea2d1183e5f159595074824360aece5cb182d2d3e9c4e3be9b4cec0401f1e4fa95f44864c98051631028d8d0d54567a595fdfe2c489163c1e37151507a8ababb6a0f1f83a67ceb403505f5f8bcbe504a0a3a30dc3300226cf0eff5e294551bd0d0d75c4e3eb002c2f2768687003505b5b81ae67d1b459ce9e3d6595b8b4b4c6eddb21161797492492d86c36efd1a31f760321fb8e4fb779a5e2f1bf01b87bf7577a7b3b696eae03c0e7abc6e7abb6a02f5efcc5e5cb5fb0b5b5659d399d2e72b95c371052cd293a1c0e36363689c7939605836368dadcaec1ed050570bbdd980fc96e8201d6d692bcaec9c967f8fd8d0567f3f3cbbba00086218818afc000998c4e3c9e28703c7ebc8df3e73fda05387dfa7de01cd7af8f169c6f6f6f5a499aad08e97a065dd7c966b364b3593a3bfd5cb8f04941f9f7ef4f17c02f5e3c87a22896a5d36944246481c3e160289fcf2553a914369b8daaaa7709043eb520d1688c2b57bee4e6cd6f79f0e04901bcb7f71476bb9dcdcd0df2f95cf2d9b35f5e817734924c2670bb8bc864328c8ede03607171956bd7be4655554a4b4b181dfd8989890800131311a6a69ee07617b1b21203183161568f456458d7337db1d88afff0e146342d8288303bbb80aaaa949478ac0c82c17b2c2cfc49383c4d498987a74f6748a5b63560d8f4295842ededfd7e11193f78f090f7c891261c0eebbf7b4ad7b33c7e3cc3fcfc1f49a0271219dbbd844cb5b57dec17915b6e77b1bfb5b595fafabd37dcdcdc02d3d31a1b1beb1a306842f705031c3bd6e705860cc308b85c2e6f79f93bd4d45423222c2d2db1baba423a9db2167d2432f6e645ffba76de7eb7886018793330644e7f2f59e0b7a17f00e0d8fac4fa42f0780000000049454e44ae426082</data>
- </image>
- <image name="image4">
- <data format="PNG" length="1265">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000004b849444154388d8d955d88954518c77f33ef3be773dfb3c7768feb6a9d5d9508d3cace6620954561a17d5c284816045d08095d481041d145f421741174215ebcd15d7491640465a5141126921edbccec83d6cf6c77cf7e9d733ce7fd9ee9e2acbb4b59f9c09f19e699f9f19f676618c17f4465e7b0025302dd8f31393080f1307a54e9c6f8517763f86f6bc57f40d703dbc0ac455046a83c003a6863920bc0b0d0f1be8a79f7b0ebbac9ff822b3b875782d885a59ee8cae78a4b7a0bb2af27c34dbd4db22ae1f7a92ece8e6b266a353d55f73c1d7b8795b9fcdaade6fd23aeebc6570557760e0f80d84baab069ed8a2c9bd739dc728361715161c9ce54034c37634646230e547dbe39394de8354ea7f5d40b6bccbe0357e0d6df9ceee92a141e7a6c7db778eabe2c37f65ba495459440181bdefc38a4b25c6249416fc1e6960145df22c59971d3dbf0c51d93667975d350f662b55a3573e0fe75cfec26e53cfef09d45f1e89022a524616c08a28ef61e4c786d7b9637f607dcbcd410c406630c4baf533839257eba98f4f8a1514b397170686828b23a6e8faf17567af76d2b0b994d15859410461a3fd204b37afa812e2c29d8b0cae6ad4f22569612fcc810c6868192623a2a707eb435584b6e18eee3f419abf2cc3105ec721c67c3036bf36251170491c18fe6dd0691e1fa520adb12d896e09e55367bbe4858568c0922c35dab0b6cb8d9e6a3238d54cb8f232bae7f238112b0b650e896c54c4ca395506fc5ffd0d7c3751aadcea167529257b66538f493e287b33e00712268b2446ad4ea8628976da01f21cbbd8ec00b355ea8f96dd2b9eadd3e743ae0f5ed12654bb2698b17b76478e3c34e4e23c0ce83b0fab152651bc821d3f99c8a9869696a7e372f6fcde0e4acabc21746316ff1d2d6dcfca31002643a2b348ebc32d8f0156375c9c635e69aa057a23b37ff14c45caba504e3a183f6582bcb997a81937f285a81b966b01fcdf7050612df17260e6c8c1e052ed4db7a7922b27cfa034c7b06276380ce86b4e908e0b9cd9051f3b077be82671fecb80dc3004c322e756bd456ba311e59c56182a9bb5561a914c0f1912bcb128258126b819381e71f81b4ddc978a1c1fdd270e07bc3b30f5a80418493dac6ffb568cefd298fba1b43a1e37d4950afab649a52aec5e2055ae63419e86ef2ead6987b5781982de4be233ed5df2ed3976fcd9a30687fba9549c60e765b135312a062de3dac63ef83e64c8dee549b52cea394f728e53cfaf21e7d5d6d6e5fd1b11a449afd471afc38d2989b033072c94787f52f6f9287be059a1640b55a35d7579e1c092256699d0c2cebb1442e2d482bd3916de829d82c2e2a3e3fde60f84c9b94dd191744bcbdff927eef8bf3c77a92537b8be2d2a93930c0c315353969cac7ea9ebdbad18e079d9ce23ac726a524295b70a116f2cb459f0bb510650b940513f588932375466b8d63a5f8c4eeb2ac7e074cb8ae9bcc81abd5aad934949b9a348327ea9e95abd5a3c1663b4e65ec58e4b33602811f6a8c49989c6ef1e3d9b6fef97cf3f2cc4ce3b39ee4d4de59e8b8ebbad1c23b3d173b76ec9040fe245bef8f65d7168d5a2da5e877b25616a0e925be4ef4b88dff6b26193b385bd33160e65f7f90057001a4c693c1624394cb58a9b20047a0a5307120756bb468cefdd96d4d4c014dc0735d572f64fc051ce25446f3d12e580000000049454e44ae426082</data>
- </image>
- <image name="image5">
- <data format="PNG" length="1269">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000004bc49444154388d95955f88d45514c73ff7fe7ebff93fb393bbab8de4ec6e521266c96c45d24b051256f4606551d09b903df5564f051148f45411423f28a2871e92880a12ac20ca32dac636354b526b35dd9dd999d9f9f39bdfdf7b6f0f939659465fb80fe79e733e1cee39f75ec16554db35ef8099045dc1981c18c0f818bde8e85ee36b776bf46fb9e232d02dc00e309b1154114e1e001d0e31ea34302f74b2b7665e3fe0baaefa4f706dd7fc7a104f62398f14f2b9f2951325b9663cc386893e594771a25de0978666b9d9d4edaeefebc43fe098c1f33798b7bf725d37f947706dd7fc14883da44adb365f9de5ee9b8b6c5a67585d76b0e428d4009d7ec2c9c5988fea019f1fee10f9bd6369dd7eea7ab3f7a3f370eb6f95be5a2895eeba6fcb9878ecf62cd7542cd28e45ac204a0c2fef53dc3805520a264a369ba61cd65ce170aa61267a81b8a96566eadb66b367eaf5bab900aedcfcf86e52c587efb9a52c429d61f3d40816c6a3f5c667f0dc43195e7c3fe6da358a3031186358bbcaa19873c40f67d4781019672d87f6cfcecec6d6a8da6fb7082bbdfbc6f5a5cc8edb326cbf35cd522762186ac258f3ee9cc5b30fa6914270c7f53627ce0544b126880d51625855907891cd42339e6eaa75f36b3876caae3d3ee760cc8e423e53aaad4f2184219fb1e8fb9a20d27cf17386e71eca5ce8436325a6eb5d3c044a1b365414df9f4817dbadc2f6463c7dd0062681cda5d2982c671286c1e874067ec2c153399e79203d6a9a31fcd68af8f6f880283123a0329c692b0e2f96e9f939fa14a46665634f54ab365041c8ea4451e0479a813faae6e0a9dc45952a0daf7d6280fc25333f35019ffe9806db066155b052551bc821d3f99c13b3e2694a790d701114c0b6c4257be735084058f0f11101329d159aa27dded90b1c96ba86525efe63f2e554c8c0d4e49f9742a0a50dc64787c3252f8ba732e48aff1fbcd4852f7e0281011504c224a18dd18bc0e9ee50cf2891c58b47c1cfbca37962abe4caf2c8f62378f22d5858be142c2484114451084635a4f616a5a37b0d609eb0ad1dcb60cb51c717960d2f7ca068f6467636054fdf07abc76010429868b45668ad305a91b215226a699be078d9fc7a4e7eed6e8d844ef6aab0db75548772260060223ba4b3e2f1d2871eedc1a8a13393f0ca639a99729f75a501958247a5e0b13ae7e1a80e3ae87819b5b47fcc5a6e5b00f7d6e499b3dc30234c327bd5b8439418ceb67cd2324625310bcd986bd6a6c8a625694770e0c80a8554423e959077126c1173fa5c8bd0ebecdb24de7b13685800f57add5c557bf46418739d17245361ac45ca16a41d43da31049162a119b2be92e693effa7406d1c8671b0431c7177abad5eece8daba37bcae2ec51a07fe111baa7e6b45aa63ad7f5ed8dbd61325dcc39ac2adaa41c49ca164489e1d0099f562f21650b1c0b96bb31874f76596cf6e6269343bbabb2fe0db0ecbaaeba00aed7eb66db6caedd32d387babe956b76e3e9fe304965ec44e4b336b6944801c6285a1d8f23bf0cf58f0bfdc1ca4a6fdfb83abae70f68c375dd7834cb7fd3ce9d3b25903fccfd7726b2b05de36c9452548a592b0bd0f755a0956ed804c7336a69ff06f9f197c012b0f2af3fc85fe0024835d474b927aa55ac54554051a0a5304928b5b75836bf9e1bb396db401ff05dd7d57f65fc0ec7b360d35ae88ae90000000049454e44ae426082</data>
- </image>
- <image name="image6">
- <data format="PNG" length="1205">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000047c49444154388d8595db6f54551487bfbdcf656e9de994164b118602318454a04e4583899760d454a289688cb7f856020f24bc10ff0025fd03d4f4e1280fbef4411e4d30627c2148086548ad8821b140a9d2ceb4d39933cce5dcf6f661da424d8b275959679fbdd7777e6b65656dc1639efc89490bf466507d689d040de8265acd59ca2d5e715ef3378a158f811e02de073d882087b0520028af818eee01934285e7f2faec25c771a2ff05e74f4cee06710ac3faa82395cc6ee9c9c8deee387b7a6a24ac88bfca1ddc292a164a2555ae369b2a6c5eb2f4832ff6ebf1cb8ee384eb82f32726778018c3ce0c0fee4af0e6c134fbb66b9ec85a18b27d54034bb590e9b980f3851617a796f09beecd982a7ff6b43e777e056efc47e9d71d99cc1b6f1fea149fbe92e0a93e839865f0cd4f15f66e8fe1871a3fd41852d09331d9b7c3a2b7cbe27651f7b82df1eca2de59181e4acc160a05bd0aee3b787c143bfdc191e7b2e2ad210bdb92f8a1c60b34efbc90e5ab1f16d9b5c5c2f3155ea0f0428dd69aad9b2cd2494bfc311b75b77c6d6de5fa85a1a1a1c068abbd764818b1d103bb33f1e1bc8594e0078a56d0866ceb89f1e2408a93df699ec90578815ede6f67b0a94352f74d664a417f29da3ed9cbcddb46fef884059c4aa7d32fbd3a98125d1de0059a56d056eb059add5be300bcf7bcc1e971c1de2dfe9afd56a0b00d9fe97965d75b616084d58b26b01918cc643a65361ee2d6e5461d08c0f8499b0fbf84a3075ca248335b8e989acbe23693d4e8908aca802b723913e843c85c4f5ad0f4154d5fa197db65c5af0fcfb0bfb7c2e4df2966dd7646982608a30fc3ce4920898ca5925640a5ae701b0acfd7b47cbdea3752fedb7c965223b9fa4d0801329610905ecddb6d59cc57254557526d4a2a4d837b95185767528f2d8b1f190841db567e809226e826ca6bccd713d4a3783b7f4023a8f9367a7dc100bc3efaf05d88761451ab2574e899683507dcab36d4ce4824d6046ae486d3e4f019089627846980041e343dd05151aafa9cb4945b0426f1caca3234f623163322d6937cf80c8022694524ad88b819619b11c25f5426ad5b597df7be79c579cd1f3a76f95ce4553fb1a2445757da5e23526980ccea7a64acc6b63408a157cfb5e7878f6a2dd513d1fc854e63a16c02e4f5d94bd7c291ef6b95d2b1feee2e62a678d86f3c049ffe769eac0dda5ea969fb8c176a662a4b28bffacb1ef9f3af40cd0028140a7a5bfee3692f60af52d18e27bb0d918c0962962666695ede97e6f3f1fbc4ccf63a6eb77dccd408026ecdb86ab15c9de88e6e8c65c53f3756c10047f2d6e2a2ce4d549be680db08fbd3498b4d6913db925cbe59c736c51ab30c58a8064c4d57992bb9139bc3eba33959b80a2c388e13ad820b85821e1e4a961775fff56ad34896aa417fad11da713314a9848929255280d6118b4b757ebfd3507fced41e542aee8fddd18db16568d1719c00d669a691911109a4a678f770283b8e2aac0129455f3a6124006acda8a522553469dd8a47f317966b3a0f5436bc411e810bc02e46fd5957e47218764e405aa0a4d0a127557d2eabefdeef3416ca400d683a8ea31e65fc0b65f3416ec3c8f69a0000000049454e44ae426082</data>
- </image>
- <image name="image7">
- <data format="PNG" length="1073">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003f849444154388d9595dd6f145518c67fe7ccc7ee6c77962d2d1f8bba14d1340621b82b26dc1063a206895e60421413bd2a813b132fbcf24a13fe02c3c524c43b2ec444632244888951c48fb24d459410a87ca56cb7dded7eb03b3bb333e778b1b4b648b13cc993c99939f37b9fbc6fce8ce0212a1c99b440af039543eb146840fb6855b654b3f28bf772b8d2bbe221d0ddc001d03b11e411d600002ae8a0e35bc0a450d1c9823e7ecef3bcf87fc18523935b41bc8f611d4c0fa4b21b873372c35092d1e1168e1573ad96e67a4531373bab6a0ddf57917fced2773fd9a14f9cf73c2f7a20b8706472338863d899bd3b9f74786d97cbf62734ebb31686ec6fd5c07c2b62aadce354a9cb0f17e709fde65f0955fbf0597df2d402dcb82fe9a7e94ce6d53776af11efbee8f074ce206119f4620823bd68430a863326db375b6c18b4f8bba2879b5df17c556f29ed2d3ab74ba5925e04e7761d3e8aedbeb5ef85ac78bd68615b9230d204bdfb1c2a829e2288345a6b36adb5705396f8f3763cd40db5b5898933c562b127fa692fec1646f29b1d4fadcd1edce3e03a926f27fc95e6ba4caf3ce7d08b345ffdeaf3fd44a56104d3ef6de78bd366e1f0b885d607d203c94c61ab4dac148db606e0a3b7d73f14faf1890a9d40d10d15a3b998dfaf25dc5a35bdbfd21bf9d904d6013b339935329b8c68b6e5aa922ee8b31f130034fd142dd25251dfd614f9bc09e410323fec0afc50e1878a7eded515102ae46a2dd35f982608238761e74d20854c0ca4ac1ef5b6420ab0cd15cfcd325d9b4b2e2f2204c8842314aeb970b3d9b59869680c09aeb33a30c0d55a06b1b05ddf2b809226681f157466da0eed38b9f850af7cda1fa83e5c43dced0a1d05265a95815b8d8eda120be791600b328dfe44eefa01e8b82255bb2c2dd5ac0093043565191a7b8957aba419639b3122ac2a93ee95acbe714700140f9ddf23ecf497b9dcc6c141d77ea42618122205f3ad90f2f474cbe95efe60549efdda0428e8e3e72e44639fb7eab3874686064998a2ff795a087ddf70342c1b5810696ed6e75161e3bb5179f627a06500944a25fd78e19da9a0c7334ac59b1f1b32442a214858ba6f73f93569ffbb16f4b872b3a9aab5c6f8507ce958564c5f5a0403ec2b58d5aace8f377c735bb3138db8298bb5ae896d496c53fcc79601738d1e17a71a94679be3eba289a37959fa0d98f33c2f5e04974a25bdb798aa55f5c844c33752b38dde48ab13d9493312038e8929255280d631d5f9367f5cefa8cb375b77ebf5e6e9a1f8d2b17bd08ae779bda5dd5bd4d8d89804062ef2e64b914cef5758dba41439d7311c80961f7755ac2a26dd2bc978e6ccbd9ece00f515ff204be002b02bf148b629f2790c3b2fc0152829741448d52e67f58d3b6b8cb91ad0027ccff3d452c63f42b8e4bfe27a6d4a0000000049454e44ae426082</data>
- </image>
- <image name="image8">
- <data format="PNG" length="833">89504e470d0a1a0a0000000d494844520000001600000015080600000042201e950000030849444154388dad554b48545118feeebde7de73ee38a835f9b642522c88287a1818452ec240a2859bc485ab36b6b24d2d0c373192e0628488088c5a644424f84ca1262d7ba8898f1ec3cdc60a4d449bd161c6c7bd774e8b74e63a0a957a56e7fbcff9bfff3fdff9cf7f30f265d03bfa75b442d3343bb6700835ad55dcfda315677717cf1cdd71d20553a8cbcbcbf36d9af87ae355dea0dd060024b13414a416050e25e4df92c2726d6161e1e48689af3dbccc9f7cbfbbca184fb6217ffb9985fdec583d31959a929212ef7f135fb97f89b74c3e58651405119430242a0e1ca0c7f55d666e83a42bd5e5e5e51fff99b8e2ce45dee97b1c354000250c4c56c1880a26abb0937864ea39e184d994461e129d9595957d7f252ebf59c6bb824d11525952a0ca2a18b145c8555905936d50251be2fc0e6082762cfa0ca761186e97cbb52eb1b8b4b818014492410983421828a1a08445b144a1c814529a89b83c7e26e1a0f25cb4e355595959516969a9104b2ced2fc8ad9a14c64044021623019359744e56e378871d69fb927626262794cc0716cea72765f8b3b3b33f699ac60140da776a4fd52ff9e71a67ba1e96d54870ba2c9123d981bd87735233b3328a4381f90baa6c9b4f4f4f1f91724f645505ed3ed0d8ccac99c79e64055be629292938927fd841157a6eb06ff83431757359cba8a6744553c24025165957aceb844291a27bb5a1513c6bead2867a876f70ceef11430f479c9558722b96d606572405236f3fe345f3cb41cf90560de091c7e33101809886b9d659b238af21a320828c01f730ba5bdef48c79be3901b478bd5e6ead0a62ea26d4d8d25ac196a352c2208609deb50fe0755b6fc7c4d8a49373ee1e1f1f5fb78e97358e8b385b355d09c67511af5a7ac36fdbdf374e4fcc38a7a6a6fefaf2886198964ba19607c16086c278d1f646ef7b3ad8303b3d57edf7fbffb957fcc958a2ab2e6c6956474ff3c0c240e7487d686ebe26180cfe77778b949b422882530be86eea0f0c3dfb7c6b31b454abebfa86fb31310c1373e3217435f5cf7c707f71194b461d804dff20b025aa5e41142a006ce99ff71b822c25ef1cc11d000000000049454e44ae426082</data>
- </image>
- <image name="image9">
- <data format="PNG" length="373">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000013c49444154388d9d53316ec3301023650d1e1ca09fe81ff3b4ee9933b443f2888e05a273635d3ac44e6d59d239316088902d82e451fc3a1cc2efe9d4aa2a628c88aad0181163c4b4a7aa50124ae236ae739cee7d5fafe27f8ec7b6dfef917b08c003a0f768ba0ecd6e073fae296eba0e7ec41f974beb44244bba789a061c5f789fc59c61e97bb810429d945c1d2ce239b1a97824c68c64851307226213d3395361fafdaed888620b61eae09e714d31991f96f7ff1164dcd851e406b76180c18ae2a17443dde60e44a41ec55685d91e17a3a8f4d7725027766e616f35acca851986a17cf35ee9efe4066459b135a02c9efe230bad209fab58120fc87c2be8dc528155b1c40d8b5124d7f4d94b0212aecf29b60e971c4c5100707abbadf3350664b9010957cdf7d50192e01b19dec9f6c13c11a7b6332b0afb9fe7b3fc019ecf96bd7521bf4c0000000049454e44ae426082</data>
- </image>
- <image name="image10">
- <data format="PNG" length="934">89504e470d0a1a0a0000000d4948445200000013000000160806000000229da77f0000036d49444154388d9dd44f6c14551c07f0ef7b336f66763bbbed065acac26eb1b661a156a84ad51e48c1602d280910c2416b1aa2de4c6ad2a6dcd10b07120f7a68e2c5c4b426481aa3ae1a352458a45a3090b45ad20d290bd49ae54f77bb333bf3fe8c879542c91ed8fe2ebfd3fbe4fb7ebfe44750a10607078994f27929e57e29c52e4bf39eb6985f4f204d2e94724a72f96e5ee6f2cb3ccb399fe59c5f15429c278f22c3c3c3504abdcea877727be3cd9ddb1a7348ae2fa1264441a8056826402d105aee058fe1568e20734be0e32f3293e4118829a53ee988cfbdbb2f358d1a8b00ff3f0235b1e486902f99209421629ba88b8640b487f02bef9cfb430780a1a12128253fdb9f9aeceb6cba5e4e414cdc754248ff598f4b99d07c6e29981242fc2b844f382fd65b4ca59a36b2547b6b547b69c70670cea1038052eaed979ba6fb3a93198098006598b91dc3c84f89e9828bf79552e7ce9cf932787cb65d5d5db517afe4ba3f1d9d7d4308619281810116359dcc07dddf260c4303a116160b117c78b6f58ae391dda3a3a3f94a4baa54ba94b2b763d35cc26004843080309cfd7d43502ce1f8d8d8934300408510bddb1a1700a20384c1e106a6e6c217a49497ab810040872a3d178f3920d4002843e69f30dc92f8657c7cbc5a0b3462149b744d030803888e85fb0c9cf36b554b00a84ebce803089461d925e09cdf5b1326a40428032803210c410070cee99ab082132c3d183e888eb045c0395fbf266ce14e302f82722a5086cd0d3a7cdf6f5b135674f9a5eb8b2640cbe9525b423075d9dbd656bd477ddf4f4f4cd3956f9a8681575fb4b70b210e568d09217ef8e6823feff2f2364118de3b9244434c1f4924125babb01ab46c36abecdafa9c5bc2e1ae67eb006ac00a85b0fb858df6c4e5c5b796ddc0678ccd7a9e57aa00ac0370c460fa69c6f4530400dadbdb2184f8fc44ffe6be63af25016a82500bbe6418fb6e0e5f7dffb798ba9a9db973af900d82c00310696c883db5a3adb979dfde4e7af4500f0ebd79c259398e2d2d2d4c083e72ac6753ffd0f19d8844232b28a8898098c817157ca9c1b66b11b6a3abae6f6777bfb3ea6cc7e37108218e466bb48f0ef7b4b61ed89342c7335b6085ed5530a8050586cc7c0ebf4efe85afd313eac79f2fa6092a946ddb544ab987737e8052ec4ac663cdb13a7b9daeeb8c8bc0cf17dcfb376fe7b28eebcd00f80d401ac08dff00c10a6928577ebacd0000000049454e44ae426082</data>
- </image>
- <image name="image11">
- <data format="PNG" length="933">89504e470d0a1a0a0000000d4948445200000012000000160806000000cd5fcc410000036c49444154388d8d944f681d5514c67fe7dc7969fe27d6e43521312db54d17a205ff202228ba5214172e34ba2f15954211d195202e14290a826b45d04d715145ab2b1782d406425bb158c4a64193e03398e4bdbce4bd99b9e7b898c94b0db63870b9c35ce63bdf77ce773fb9e7de87db59aeb839ee8e79b1ef2cdb3e73276d8837e7cdf21fccece36bd7ae5da07c646c6ac65756ab8808228a6ab14442b1aba2e5f7e2dd49f44f12bfe4d8c27b66f6eae2e2a22beec00e48127242c849424a08294133541d112d57059729f2e42931bdeb15337b0940f64d3eebab8d714494deee7526467e9c37b32b6656483553331fcc63ef91cc0fdd12f53e5442c9cec81a1f5eb5b8797b021495541171ccecf4e5cb975f63d7b37ffffe4ab0d95348ff09c29da828a209c8e841b3f921dd065251440433db8d01c0c2c2421663fc88b85c161654047730b35000a9202200c418ff1308c0cc869d4a59b4289c67b59abbaf260e254d056ecca85aadaa999da854a64b364aba35479ead7d52afd7bdd3a3eba48d4e4d4d1d3533ca8607333be4cef1d0fde0a3a1720011256dfdc4c6ea1773eefe26805427677c2b3d88aa12748beee4223838803b8e800c11baa6d1a48a657fd0daf8ded3ad5f3e057fb9d168ac03148cb4d08c0cd0f6874a03868e19a53469abfe15ede67973f737628c6f6f6e6e76fa20d5c9194fe374f9534ee0771010044410029aec25e91a472510f3255a1b7334ebb357f2ac79324dd3b305d0c48c677ea4b81a2c11f233dfb9fbd7db3d32b32e333b8c0c3cd933f8c848dfe0038806dc365859facc37d62fbc1e637cf75fd2a498da6cad563bb57b6a7d7d795f7de5f3f72daf1f1b1e7d02a90c337ee04559bcfac13b8db58be795ff39fe66b3d98c311e5f5bf9f65c8ceb8808aa81b1db9e17e064e9ec1d43de0808a0dd6e7b8cd999d6e67c99104a77ef0495aebdf7ab97d2b67d7433679785fa552b9db4105142e8e94fb6234444f19b4813915e777f2ce91a79a17ff08e8e0a1127cbd69693a24752dc37dd83b3e7586f5fe5e922421c7757a8f4856468a4b7ff70b875ec7142d2d329de589b23e6cdb3323af19c57baefee98ae687ce8d0de49ccebcf0bc3a6ed1abffdfcd64ada5e39da197fe746ab160c4550dd91ad1df70b696b99f5bfcff1d7f237bfc6bcf90cb0240303fbea2e7b76857f918e38504e5300f798e579bd66b17509f812380db401fe0179e9cebb2a5ad4cb0000000049454e44ae426082</data>
- </image>
- <image name="image12">
- <data format="PNG" length="539">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000001e249444154388dc594bf6e13411087bf995927560402040d74e900512024c42bd0d0512221f10034888217a0e34ddca54993741469282841a24041427420127cf6ee0cc59d8d4f3efb1c37cce974da9bbd6f7ff3ef2422f8f0f14ba80a5d369966a69329a5383f7f9d01f0e4f1a3eecd0b96005485fbf7f6979c1ec1b8cae4ece4ec7c3dfdced52b9739383c893eb8f69d6c2aa80aa6f5d6dd9d010f1fdce1e0f024b606ab08664a32c5522d706f6fc88deb97b87b7b7f2dbc5731802c043ddc359229b76e5e5bab3c6d06aed37174fc9ea3e365ffbb4f9fe3d5cb67ad9cf782558588404578f1fc2900a5144ebffd6032cd4404a3d168f9bb4d15039809a5147e9ffdc1233053d4ba11bd8ac38388c023383faf185713722e0c873b84434477fdd6823d825c9ce241ce8e7bccd527333028eedb29aeaa52e792405518a48499528a1311947241f06cea8a07aa8a37ca5405096da9ef05fb42bec655c6bd56094df889b9c2648687b3aafe2d7035c92da78a80817b904c99798380ece08a5ab7e2d671b270352fe82c7af34e8446750fb87588d480791a9ba7aa2222f35ba51bb1d1806c63ff09bce657be6ae266b6b2dd887aed1ef33580bbd75dd1c05715af05de19fceb9d19b0b813d1b49c28311b0e0a4120b93bac0460a6bc7ef3766d6817b5bf762fef4119a5327f0000000049454e44ae426082</data>
- </image>
- <image name="image13">
- <data format="PNG" length="895">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000034649444154388ded93cf6b245510c73fef75f7cc744fd6cdc6c9925fc45d4312300103eb25a0110f5ebd2f83785010f412043d08fe11dec4837791c57f40f0e2c143302ec9921c3271421cc3984c8699ee4ccf7bfdfa3d0f9b6967d7f8176841417575f5b7befdad2af8dfae4d8c825aad562d954a73d65a757979f987d6da3c5fbcb9b9f9200cc3ca78cef77d4f4ae90bf1142e49927ea3d17822b6b7b757161616deb2d63e0456009565d90f9ee7ed010ec05aeb2a95ca4bf57afd3d29a5b4d6e29c03c03927f2dc0a630520383bfb7df0fda3ef3ef3d7d7d73fadd7ebef0b21843106630c799e7f90e7f928462985d69ae1704818860821504aa194c26419da7aecb64a1c9d295ebd9bdf2907deb21f86e164a552115a6b00f23c27cb32b4d61863504a311c0e999f9f278a22acb5645946b55aa55c2ed36eb7b1cee11cdc99b054cbce65c638df5aebd234456b8dd69a2ccb9e014ed394a5a5258220e0f0f090c16080520a6b2dd3d3d3d46a35daed366fbc3c8114923f3b6072871fc731fbfbfbf4fbfd82ad73aef8fdb5b535cae532cd66937ebfcfeeee2f743a1d565656499204630c954a856e2f268a228cc971cee11b634892a42832c614c04110303737471cc7f8becf575f7fc393df86dc9eacf1eda32ff9f8c377f13c8fc5c545b22c23cf73468395ce39acb54572dc8320200882eb010ef9f1e763ee6d7dceeadb5f70555ae7f1e35fb1d63292b2d7eb11c7315a6bfc11c8a8c1b88fb6c25a4b1846ccdcbd45394af1ab9ac95b39b75f78112104c6185aad168d4603a514ad56eb29f0f36c8d310593388e29954a54ab553ef9e8217b8d9ff02f2abcb3758ff557561142e09c238ee3e27be06fe09ba4504a717070c0c6c6064992f0e6d616af3d48e8f57a0cd321e970481445f4fb7d3a9d4e7134802834be490ae71c4747479c9e9e025c0f38474a0fcff799989820cf734e4e4e18ddc135b89337818d1c406bcdcece0ecd66f399ad114230180c383e3ea6dbed22a5444a8910022104fed4d4945c5e5e264dd3428e7169c663a554c1caf33c7cdf67767696999999824cb7db15171717d237c6ec799ef77a1886de680bc6b761fcb9dbedfea3e978f3eb9bb832c61c89fbf7ef57a3285a96529647ca8f0d817fcbdd5403608cb93a3f3f6fdcf8f2bf697f015a83baa7c09980510000000049454e44ae426082</data>
- </image>
-</images>
-<connections>
- <connection>
- <sender>fileCloseAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>fileClose()</slot>
- </connection>
- <connection>
- <sender>fileOpenAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>fileOpen()</slot>
- </connection>
- <connection>
- <sender>linslider</sender>
- <signal>valueChanged(int)</signal>
- <receiver>dvbcutbase</receiver>
- <slot>linslidervalue(int)</slot>
- </connection>
- <connection>
- <sender>jogslider</sender>
- <signal>valueChanged(int)</signal>
- <receiver>dvbcutbase</receiver>
- <slot>jogslidervalue(int)</slot>
- </connection>
- <connection>
- <sender>jogslider</sender>
- <signal>sliderReleased()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>jogsliderreleased()</slot>
- </connection>
- <connection>
- <sender>editStartAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>editStart()</slot>
- </connection>
- <connection>
- <sender>editStopAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>editStop()</slot>
- </connection>
- <connection>
- <sender>editChapterAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>editChapter()</slot>
- </connection>
- <connection>
- <sender>editBookmarkAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>editBookmark()</slot>
- </connection>
- <connection>
- <sender>editAutoChaptersAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>editAutoChapters()</slot>
- </connection>
- <connection>
- <sender>editSuggestAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>editSuggest()</slot>
- </connection>
- <connection>
- <sender>editImportAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>editImport()</slot>
- </connection>
- <connection>
- <sender>eventlist</sender>
- <signal>doubleClicked(QListBoxItem*)</signal>
- <receiver>dvbcutbase</receiver>
- <slot>doubleclickedeventlist(QListBoxItem*)</slot>
- </connection>
- <connection>
- <sender>eventlist</sender>
- <signal>contextMenuRequested(QListBoxItem*,const QPoint&)</signal>
- <receiver>dvbcutbase</receiver>
- <slot>eventlistcontextmenu(QListBoxItem*,const QPoint&)</slot>
- </connection>
- <connection>
- <sender>gobutton</sender>
- <signal>clicked()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>clickedgo()</slot>
- </connection>
- <connection>
- <sender>goinput</sender>
- <signal>returnPressed()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>clickedgo()</slot>
- </connection>
- <connection>
- <sender>gobutton2</sender>
- <signal>clicked()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>clickedgo2()</slot>
- </connection>
- <connection>
- <sender>goinput2</sender>
- <signal>returnPressed()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>clickedgo2()</slot>
- </connection>
- <connection>
- <sender>playPlayAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>playPlay()</slot>
- </connection>
- <connection>
- <sender>playStopAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>playStop()</slot>
- </connection>
- <connection>
- <sender>playAudio1Action</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>playAudio1()</slot>
- </connection>
- <connection>
- <sender>playAudio2Action</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>playAudio2()</slot>
- </connection>
- <connection>
- <sender>fileNewAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>fileNew()</slot>
- </connection>
- <connection>
- <sender>fileSaveAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>fileSave()</slot>
- </connection>
- <connection>
- <sender>fileSaveAsAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>fileSaveAs()</slot>
- </connection>
- <connection>
- <sender>viewDifferenceAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>viewDifference()</slot>
- </connection>
- <connection>
- <sender>viewNormalAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>viewNormal()</slot>
- </connection>
- <connection>
- <sender>viewUnscaledAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>viewUnscaled()</slot>
- </connection>
- <connection>
- <sender>fileExportAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>fileExport()</slot>
- </connection>
- <connection>
- <sender>zoomInAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>zoomIn()</slot>
- </connection>
- <connection>
- <sender>zoomOutAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>zoomOut()</slot>
- </connection>
- <connection>
- <sender>viewHalfSizeAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>viewHalfSize()</slot>
- </connection>
- <connection>
- <sender>viewFullSizeAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>viewFullSize()</slot>
- </connection>
- <connection>
- <sender>viewQuarterSizeAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>viewQuarterSize()</slot>
- </connection>
- <connection>
- <sender>viewCustomSizeAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>viewCustomSize()</slot>
- </connection>
- <connection>
- <sender>snapshotSaveAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>snapshotSave()</slot>
- </connection>
- <connection>
- <sender>chapterSnapshotsSaveAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>chapterSnapshotsSave()</slot>
- </connection>
- <connection>
- <sender>helpAboutAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>helpAboutAction_activated()</slot>
- </connection>
- <connection>
- <sender>helpContentAction</sender>
- <signal>activated()</signal>
- <receiver>dvbcutbase</receiver>
- <slot>helpContentAction_activated()</slot>
- </connection>
-</connections>
-<includes>
- <include location="local" impldecl="in implementation">gettext.h</include>
-</includes>
-<slots>
- <slot>fileOpen()</slot>
- <slot>linslidervalue(int)</slot>
- <slot>jogslidervalue(int)</slot>
- <slot>jogsliderreleased()</slot>
- <slot>editStart()</slot>
- <slot>editStop()</slot>
- <slot>editChapter()</slot>
- <slot>editBookmark()</slot>
- <slot>editAutoChapters()</slot>
- <slot>editSuggest()</slot>
- <slot>editImport()</slot>
- <slot>editConvert(int)</slot>
- <slot>abouttoshoweditconvert()</slot>
- <slot>doubleclickedeventlist(QListBoxItem *)</slot>
- <slot>eventlistcontextmenu(QListBoxItem *, const QPoint &)</slot>
- <slot>clickedgo()</slot>
- <slot>clickedgo2()</slot>
- <slot>playPlay()</slot>
- <slot>playStop()</slot>
- <slot>playAudio1()</slot>
- <slot>playAudio2()</slot>
- <slot>mplayerexited()</slot>
- <slot>fileClose()</slot>
- <slot>fileNew()</slot>
- <slot>fileSave()</slot>
- <slot>fileSaveAs()</slot>
- <slot>updateimagedisplay()</slot>
- <slot>viewNormal()</slot>
- <slot>viewUnscaled()</slot>
- <slot>viewDifference()</slot>
- <slot>fileExport()</slot>
- <slot>audiotrackchosen(int)</slot>
- <slot>loadrecentfile(int)</slot>
- <slot>abouttoshowrecentfiles()</slot>
- <slot>zoomIn()</slot>
- <slot>zoomOut()</slot>
- <slot>viewFullSize()</slot>
- <slot>viewHalfSize()</slot>
- <slot>viewCustomSize()</slot>
- <slot>viewQuarterSize()</slot>
- <slot>snapshotSave()</slot>
- <slot>chapterSnapshotsSave()</slot>
- <slot>helpAboutAction_activated()</slot>
- <slot>helpContentAction_activated()</slot>
-</slots>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
+ </layout>
+ </widget>
+ <widget class="Q3ToolBar" name="fileToolbar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>134</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <property name="label">
+ <string>File toolbar</string>
+ </property>
+ <addaction name="fileOpenAction"/>
+ <addaction name="fileSaveAction"/>
+ <addaction name="fileSaveAsAction"/>
+ <addaction name="snapshotSaveAction"/>
+ </widget>
+ <widget class="Q3ToolBar" name="Toolbar">
+ <property name="geometry">
+ <rect>
+ <x>134</x>
+ <y>0</y>
+ <width>134</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <property name="label">
+ <string>Edit toolbar</string>
+ </property>
+ <addaction name="editStartAction"/>
+ <addaction name="editStopAction"/>
+ <addaction name="editChapterAction"/>
+ <addaction name="editBookmarkAction"/>
+ </widget>
+ <widget class="Q3ToolBar" name="playToolbar">
+ <property name="geometry">
+ <rect>
+ <x>268</x>
+ <y>0</y>
+ <width>134</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <property name="label">
+ <string>Play toolbar</string>
+ </property>
+ <addaction name="playAudio1Action"/>
+ <addaction name="playAudio2Action"/>
+ <addaction name="playPlayAction"/>
+ <addaction name="playStopAction"/>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>741</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="fileMenu">
+ <property name="title">
+ <string>&File</string>
+ </property>
+ <addaction name="fileNewAction"/>
+ <addaction name="fileOpenAction"/>
+ <addaction name="fileSaveAction"/>
+ <addaction name="fileSaveAsAction"/>
+ <addaction name="snapshotSaveAction"/>
+ <addaction name="chapterSnapshotsSaveAction"/>
+ <addaction name="separator"/>
+ <addaction name="fileExportAction"/>
+ <addaction name="separator"/>
+ <addaction name="fileCloseAction"/>
+ </widget>
+ <widget class="QMenu" name="editMenu">
+ <property name="title">
+ <string>&Edit</string>
+ </property>
+ <addaction name="editStartAction"/>
+ <addaction name="editStopAction"/>
+ <addaction name="editChapterAction"/>
+ <addaction name="editBookmarkAction"/>
+ <addaction name="separator"/>
+ <addaction name="editAutoChaptersAction"/>
+ <addaction name="editSuggestAction"/>
+ <addaction name="editImportAction"/>
+ </widget>
+ <widget class="QMenu" name="viewMenu">
+ <property name="title">
+ <string>&View</string>
+ </property>
+ <addaction name="viewNormalAction"/>
+ <addaction name="viewUnscaledAction"/>
+ <addaction name="viewDifferenceAction"/>
+ <addaction name="separator"/>
+ <addaction name="zoomInAction"/>
+ <addaction name="zoomOutAction"/>
+ <addaction name="separator"/>
+ <addaction name="viewFullSizeAction"/>
+ <addaction name="viewHalfSizeAction"/>
+ <addaction name="viewQuarterSizeAction"/>
+ <addaction name="viewCustomSizeAction"/>
+ </widget>
+ <widget class="QMenu" name="playMenu">
+ <property name="title">
+ <string>&Play</string>
+ </property>
+ <addaction name="playPlayAction"/>
+ <addaction name="playStopAction"/>
+ <addaction name="separator"/>
+ <addaction name="playAudio1Action"/>
+ <addaction name="playAudio2Action"/>
+ </widget>
+ <widget class="QMenu" name="Help">
+ <property name="title">
+ <string>&Help</string>
+ </property>
+ <addaction name="helpAboutAction"/>
+ <addaction name="helpContentAction"/>
+ </widget>
+ <addaction name="fileMenu"/>
+ <addaction name="editMenu"/>
+ <addaction name="viewMenu"/>
+ <addaction name="playMenu"/>
+ <addaction name="Help"/>
+ </widget>
+ <action name="fileOpenAction">
+ <property name="icon">
+ <iconset>
+ <normaloff>image0</normaloff>image0</iconset>
+ </property>
+ <property name="text">
+ <string>&Open...</string>
+ </property>
+ <property name="iconText">
+ <string>Open</string>
+ </property>
+ <property name="shortcut">
+ <string>O</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>fileOpenAction</cstring>
+ </property>
+ </action>
+ <action name="fileSaveAction">
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>image1</normaloff>image1</iconset>
+ </property>
+ <property name="text">
+ <string>&Save</string>
+ </property>
+ <property name="iconText">
+ <string>Save</string>
+ </property>
+ <property name="shortcut">
+ <string>S</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>fileSaveAction</cstring>
+ </property>
+ </action>
+ <action name="fileSaveAsAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>image2</normaloff>image2</iconset>
+ </property>
+ <property name="text">
+ <string>Save &As...</string>
+ </property>
+ <property name="iconText">
+ <string>Save As</string>
+ </property>
+ <property name="shortcut">
+ <string/>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>fileSaveAsAction</cstring>
+ </property>
+ </action>
+ <action name="fileCloseAction">
+ <property name="icon">
+ <iconset>
+ <normaloff>image3</normaloff>image3</iconset>
+ </property>
+ <property name="iconText">
+ <string>Close</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Q</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>fileCloseAction</cstring>
+ </property>
+ </action>
+ <action name="playAudio1Action">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>image4</normaloff>image4</iconset>
+ </property>
+ <property name="text">
+ <string>Play audio: last 2 seconds</string>
+ </property>
+ <property name="iconText">
+ <string>Audio ->|</string>
+ </property>
+ <property name="shortcut">
+ <string>Shift+></string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>playAudio1Action</cstring>
+ </property>
+ </action>
+ <action name="playAudio2Action">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>image5</normaloff>image5</iconset>
+ </property>
+ <property name="text">
+ <string>Play audio: next 2 seconds</string>
+ </property>
+ <property name="iconText">
+ <string>Audio |-></string>
+ </property>
+ <property name="shortcut">
+ <string><</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>playAudio2Action</cstring>
+ </property>
+ </action>
+ <action name="playPlayAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>image6</normaloff>image6</iconset>
+ </property>
+ <property name="iconText">
+ <string>Play</string>
+ </property>
+ <property name="shortcut">
+ <string>P</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>playPlayAction</cstring>
+ </property>
+ </action>
+ <action name="playStopAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>image7</normaloff>image7</iconset>
+ </property>
+ <property name="iconText">
+ <string>Stop</string>
+ </property>
+ <property name="shortcut">
+ <string>Q</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>playStopAction</cstring>
+ </property>
+ </action>
+ <action name="editStartAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset resource="../icons/icons.qrc">
+ <normaloff>:/icons/play.png</normaloff>:/icons/play.png</iconset>
+ </property>
+ <property name="iconText">
+ <string>Set start marker</string>
+ </property>
+ <property name="shortcut">
+ <string>A</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>editStartAction</cstring>
+ </property>
+ </action>
+ <action name="editStopAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset resource="../icons/icons.qrc">
+ <normaloff>:/icons/stop.png</normaloff>:/icons/stop.png</iconset>
+ </property>
+ <property name="iconText">
+ <string>Set stop marker</string>
+ </property>
+ <property name="shortcut">
+ <string>N</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>editStopAction</cstring>
+ </property>
+ </action>
+ <action name="editChapterAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset resource="../icons/icons.qrc">
+ <normaloff>:/icons/chapter.png</normaloff>:/icons/chapter.png</iconset>
+ </property>
+ <property name="iconText">
+ <string>Set chapter marker</string>
+ </property>
+ <property name="shortcut">
+ <string>C</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>editChapterAction</cstring>
+ </property>
+ </action>
+ <action name="editBookmarkAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset resource="../icons/icons.qrc">
+ <normaloff>:/icons/bookmark.png</normaloff>:/icons/bookmark.png</iconset>
+ </property>
+ <property name="iconText">
+ <string>Set bookmark</string>
+ </property>
+ <property name="shortcut">
+ <string>B</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>editBookmarkAction</cstring>
+ </property>
+ </action>
+ <action name="editAutoChaptersAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="iconText">
+ <string>Auto chapters</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+C</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>editAutoChaptersAction</cstring>
+ </property>
+ </action>
+ <action name="editSuggestAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="iconText">
+ <string>Suggest bookmarks</string>
+ </property>
+ <property name="shortcut">
+ <string>M</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>editSuggestAction</cstring>
+ </property>
+ </action>
+ <action name="editImportAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="iconText">
+ <string>Import bookmarks</string>
+ </property>
+ <property name="shortcut">
+ <string>I</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>editImportAction</cstring>
+ </property>
+ </action>
+ <action name="fileNewAction">
+ <property name="icon">
+ <iconset>
+ <normaloff>image12</normaloff>image12</iconset>
+ </property>
+ <property name="iconText">
+ <string>New</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>fileNewAction</cstring>
+ </property>
+ </action>
+ <action name="fileExportAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="iconText">
+ <string>Export video...</string>
+ </property>
+ <property name="shortcut">
+ <string>E</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>fileExportAction</cstring>
+ </property>
+ </action>
+ <action name="viewNormalAction">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="iconText">
+ <string>Normal</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+N</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>viewNormalAction</cstring>
+ </property>
+ </action>
+ <action name="viewUnscaledAction">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="iconText">
+ <string>Unscaled</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+U</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>viewUnscaledAction</cstring>
+ </property>
+ </action>
+ <action name="viewDifferenceAction">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="iconText">
+ <string>Show difference to current picture</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+D</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>viewDifferenceAction</cstring>
+ </property>
+ </action>
+ <action name="viewFullSizeAction">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="iconText">
+ <string>Full size</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+1</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>viewFullSizeAction</cstring>
+ </property>
+ </action>
+ <action name="viewQuarterSizeAction">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="iconText">
+ <string>Quarter size</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+4</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>viewQuarterSizeAction</cstring>
+ </property>
+ </action>
+ <action name="viewCustomSizeAction">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="iconText">
+ <string>Custom size</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+3</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>viewCustomSizeAction</cstring>
+ </property>
+ </action>
+ <action name="zoomInAction">
+ <property name="iconText">
+ <string>Zoom in</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl++</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>zoomInAction</cstring>
+ </property>
+ </action>
+ <action name="zoomOutAction">
+ <property name="iconText">
+ <string>Zoom out</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+-</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>zoomOutAction</cstring>
+ </property>
+ </action>
+ <action name="viewHalfSizeAction">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="iconText">
+ <string>Half size</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+2</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>viewHalfSizeAction</cstring>
+ </property>
+ </action>
+ <action name="snapshotSaveAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>image13</normaloff>image13</iconset>
+ </property>
+ <property name="iconText">
+ <string>Save Snapshot</string>
+ </property>
+ <property name="shortcut">
+ <string>G</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>snapshotSaveAction</cstring>
+ </property>
+ </action>
+ <action name="chapterSnapshotsSaveAction">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="iconText">
+ <string>Save Chapter Snapshots</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+G</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>chapterSnapshotsSaveAction</cstring>
+ </property>
+ </action>
+ <action name="helpAboutAction">
+ <property name="text">
+ <string>&About</string>
+ </property>
+ <property name="iconText">
+ <string>&About</string>
+ </property>
+ <property name="toolTip">
+ <string>About </string>
+ </property>
+ <property name="statusTip">
+ <string>About </string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>helpAboutAction</cstring>
+ </property>
+ </action>
+ <action name="helpContentAction">
+ <property name="text">
+ <string>&Contents</string>
+ </property>
+ <property name="iconText">
+ <string>&Contents</string>
+ </property>
+ <property name="toolTip">
+ <string>Contents</string>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ <property name="name" stdset="0">
+ <cstring>helpContentAction</cstring>
+ </property>
+ </action>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <customwidgets>
+ <customwidget>
+ <class>Q3ToolBar</class>
+ <extends>Q3Frame</extends>
+ <header>q3listview.h</header>
+ </customwidget>
+ <customwidget>
+ <class>Q3Frame</class>
+ <extends>QFrame</extends>
+ <header>Qt3Support/Q3Frame</header>
+ <container>1</container>
+ </customwidget>
+ <customwidget>
+ <class>Q3MainWindow</class>
+ <extends>QWidget</extends>
+ <header>q3mainwindow.h</header>
+ <container>1</container>
+ </customwidget>
+ <customwidget>
+ <class>Q3ListBox</class>
+ <extends>Q3Frame</extends>
+ <header>q3listbox.h</header>
+ </customwidget>
+ </customwidgets>
+ <resources>
+ <include location="../icons/icons.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>fileCloseAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>fileClose()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>fileOpenAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>fileOpen()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>linslider</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>linslidervalue(int)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>jogslider</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>jogslidervalue(int)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>jogslider</sender>
+ <signal>sliderReleased()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>jogsliderreleased()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>editStartAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>editStart()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>editStopAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>editStop()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>editChapterAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>editChapter()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>editBookmarkAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>editBookmark()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>editAutoChaptersAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>editAutoChapters()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>editSuggestAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>editSuggest()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>editImportAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>editImport()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>eventlist</sender>
+ <signal>doubleClicked(Q3ListBoxItem*)</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>doubleclickedeventlist(Q3ListBoxItem*)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>eventlist</sender>
+ <signal>contextMenuRequested(Q3ListBoxItem*,QPoint)</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>eventlistcontextmenu(Q3ListBoxItem*,QPoint)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>gobutton</sender>
+ <signal>clicked()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>clickedgo()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>goinput</sender>
+ <signal>returnPressed()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>clickedgo()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>gobutton2</sender>
+ <signal>clicked()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>clickedgo2()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>goinput2</sender>
+ <signal>returnPressed()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>clickedgo2()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>playPlayAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>playPlay()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>playStopAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>playStop()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>playAudio1Action</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>playAudio1()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>playAudio2Action</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>playAudio2()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>fileNewAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>fileNew()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>fileSaveAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>fileSave()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>fileSaveAsAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>fileSaveAs()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>viewDifferenceAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>viewDifference()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>viewNormalAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>viewNormal()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>viewUnscaledAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>viewUnscaled()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>fileExportAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>fileExport()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>zoomInAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>zoomIn()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>zoomOutAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>zoomOut()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>viewHalfSizeAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>viewHalfSize()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>viewFullSizeAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>viewFullSize()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>viewQuarterSizeAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>viewQuarterSize()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>viewCustomSizeAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>viewCustomSize()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>snapshotSaveAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>snapshotSave()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>chapterSnapshotsSaveAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>chapterSnapshotsSave()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>helpAboutAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>helpAboutAction_activated()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>helpContentAction</sender>
+ <signal>activated()</signal>
+ <receiver>dvbcutbase</receiver>
+ <slot>helpContentAction_activated()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
--- a/src/eventlistitem.cpp
+++ b/src/eventlistitem.cpp
@@ -18,19 +18,19 @@
/* $Id$ */
-#include <qsimplerichtext.h>
+#include <q3simplerichtext.h>
#include <qapplication.h>
#include <qpainter.h>
#include <qimage.h>
#include "eventlistitem.h"
#include "settings.h"
-EventListItem::EventListItem( QListBox *listbox, const QPixmap &pixmap,
+EventListItem::EventListItem( Q3ListBox *listbox, const QPixmap &pixmap,
eventtype type, int picture, int picturetype, pts_t _pts ) :
- QListBoxItem(listbox, afterwhich(listbox,picture)), pm(pixmap), evtype(type), pic(picture), pictype(picturetype), pts(_pts)
+ Q3ListBoxItem(listbox, afterwhich(listbox,picture)), pm(pixmap), evtype(type), pic(picture), pictype(picturetype), pts(_pts)
{
if (pm.width()>160 || pm.height()>90)
- pm=pm.convertToImage().smoothScale(130,90,QImage::ScaleMin);
+ pm=pm.scaled(130, 90, Qt::KeepAspectRatio, Qt::SmoothTransformation);
}
EventListItem::~EventListItem()
@@ -61,7 +61,7 @@ void EventListItem::paint( QPainter *pai
}
if (listBox()) {
- QSimpleRichText rt(getstring(),listBox()->font());
+ Q3SimpleRichText rt(getstring(),listBox()->font());
rt.setWidth(1000);
QColorGroup cg(listBox()->colorGroup());
@@ -77,7 +77,7 @@ void EventListItem::paint( QPainter *pai
}
-int EventListItem::height( const QListBox* ) const
+int EventListItem::height( const Q3ListBox* ) const
{
int h=0;
@@ -87,7 +87,7 @@ int EventListItem::height( const QListBo
return QMAX( h+6, QApplication::globalStrut().height() );
}
-int EventListItem::width( const QListBox* lb ) const
+int EventListItem::width( const Q3ListBox* lb ) const
{
int width=3;
@@ -95,7 +95,7 @@ int EventListItem::width( const QListBox
width += pm.width()+3;
if (lb) {
- QSimpleRichText rt(getstring(),lb->font());
+ Q3SimpleRichText rt(getstring(),lb->font());
rt.setWidth(1000); //drawinglistbox->width());
width+=rt.widthUsed()+3;
}
@@ -125,13 +125,13 @@ QString EventListItem::getstring() const
((const char *)".IPB....")[pictype&7]);
}
-QListBoxItem *EventListItem::afterwhich(QListBox *lb, int picture)
+Q3ListBoxItem *EventListItem::afterwhich(Q3ListBox *lb, int picture)
{
if (!lb)
return 0;
- QListBoxItem *after=0;
+ Q3ListBoxItem *after=0;
- for (QListBoxItem *next=lb->firstItem();next;after=next,next=next->next())
+ for (Q3ListBoxItem *next=lb->firstItem();next;after=next,next=next->next())
if (next->rtti()==RTTI())
if ( ((EventListItem*)(next))->pic > picture)
break;
--- a/src/eventlistitem.h
+++ b/src/eventlistitem.h
@@ -22,16 +22,16 @@
#define _DVBCUT_EVENTLISTIEM_H_
#include <qpixmap.h>
-#include <qlistbox.h>
+#include <q3listbox.h>
#include "pts.h"
-class EventListItem : public QListBoxItem
+class EventListItem : public Q3ListBoxItem
{
public:
enum eventtype { none, start, stop, chapter, bookmark };
public:
- EventListItem( QListBox *listbox, const QPixmap &pixmap, eventtype type, int picture, int picturetype, pts_t _pts );
+ EventListItem( Q3ListBox *listbox, const QPixmap &pixmap, eventtype type, int picture, int picturetype, pts_t _pts );
~EventListItem();
const QPixmap *pixmap() const
@@ -56,8 +56,8 @@ public:
return;
}
- int height( const QListBox *lb ) const;
- int width( const QListBox *lb ) const;
+ int height( const Q3ListBox *lb ) const;
+ int width( const Q3ListBox *lb ) const;
int rtti() const;
static int RTTI()
@@ -77,7 +77,7 @@ private:
QString getstring() const;
- static QListBoxItem *afterwhich(QListBox *lb, int picture);
+ static Q3ListBoxItem *afterwhich(Q3ListBox *lb, int picture);
};
#endif // ifndef _EVENTLISTIEM_H_
--- a/src/exception.cpp
+++ b/src/exception.cpp
@@ -46,5 +46,5 @@ void dvbcut_exception::show() const
if (extype.empty())
extype="DVBCUT error";
- QMessageBox::critical(NULL,extype,what(),QMessageBox::Abort,QMessageBox::NoButton);
+ QMessageBox::critical(NULL,QString::fromStdString(extype),what(),QMessageBox::Abort,QMessageBox::NoButton);
}
--- a/src/exportdialog.cpp
+++ b/src/exportdialog.cpp
@@ -22,21 +22,28 @@
#include <qfiledialog.h>
#include "exportdialog.h"
-exportdialog::exportdialog(const std::string &filename, QWidget *parent, const char *name)
- :exportdialogbase(parent, name, true)
+exportdialog::exportdialog(const QString &filename, QWidget *parent, const char *name)
+ :QDialog(parent, name, true)
{
- filenameline->setText(filename);
+ ui = new Ui::exportdialogbase();
+ ui->setupUi(this);
+ ui->filenameline->setText(filename);
+ }
+
+exportdialog::~exportdialog()
+ {
+ delete ui;
}
void exportdialog::fileselector()
{
QString newfilename(QFileDialog::getSaveFileName(
- filenameline->text(),
+ ui->filenameline->text(),
"MPEG program streams (*.mpg)"
";;All files (*)",
this,0,
"Export video..." ));
- if (newfilename)
- filenameline->setText(newfilename);
+ if (!newfilename.isEmpty())
+ ui->filenameline->setText(newfilename);
}
--- a/src/exportdialog.h
+++ b/src/exportdialog.h
@@ -22,13 +22,17 @@
#define _DVBCUT_EXPORTDIALOG_H
#include <string>
-#include "exportdialogbase.h"
+#include "ui_exportdialogbase.h"
-class exportdialog: public exportdialogbase
+class exportdialog: public QDialog
{
Q_OBJECT
public:
- exportdialog(const std::string &filename, QWidget *parent = 0, const char *name = 0);
+ exportdialog(const QString &filename, QWidget *parent = 0, const char *name = 0);
+ ~exportdialog();
+ Ui::exportdialogbase* ui;
+
+private:
public slots:
virtual void fileselector();
--- a/src/exportdialogbase.ui
+++ b/src/exportdialogbase.ui
@@ -1,197 +1,212 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>exportdialogbase</class>
-<widget class="QDialog">
- <property name="name">
- <cstring>exportdialogbase</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>664</width>
- <height>343</height>
- </rect>
- </property>
- <property name="caption">
- <string>dvbcut: export video</string>
- </property>
- <property name="sizeGripEnabled">
- <bool>true</bool>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>exportdialogbase</class>
+ <widget class="QDialog" name="exportdialogbase">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>664</width>
+ <height>343</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>dvbcut: export video</string>
+ </property>
+ <property name="sizeGripEnabled">
+ <bool>true</bool>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <layout class="QGridLayout">
+ <item row="0" column="2">
+ <widget class="QToolButton" name="filenamebrowsebutton">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="textLabel1">
+ <property name="text">
+ <string>Export as:</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="filenameline"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="textLabel2">
+ <property name="text">
+ <string>Output format:</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="2">
+ <widget class="QComboBox" name="muxercombo"/>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="groupBox1">
+ <property name="title">
+ <string>Audio channels</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="Q3ListBox" name="audiolist">
+ <property name="selectionMode">
+ <enum>Q3ListBox::Multi</enum>
</property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout4</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QToolButton" row="0" column="2">
- <property name="name">
- <cstring>filenamebrowsebutton</cstring>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>textLabel1</cstring>
- </property>
- <property name="text">
- <string>Export as:</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="0" column="1">
- <property name="name">
- <cstring>filenameline</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>textLabel2</cstring>
- </property>
- <property name="text">
- <string>Output format:</string>
- </property>
- </widget>
- <widget class="QComboBox" row="1" column="1" rowspan="1" colspan="2">
- <property name="name">
- <cstring>muxercombo</cstring>
- </property>
- </widget>
- </grid>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>groupBox1</cstring>
- </property>
- <property name="title">
- <string>Audio channels</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QListBox">
- <property name="name">
- <cstring>audiolist</cstring>
- </property>
- <property name="selectionMode">
- <enum>Multi</enum>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget class="Line">
- <property name="name">
- <cstring>line1</cstring>
- </property>
- <property name="frameShape">
- <enum>HLine</enum>
- </property>
- <property name="frameShadow">
- <enum>Sunken</enum>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout1</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <spacer>
- <property name="name">
- <cstring>Horizontal Spacing2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>buttonOk</cstring>
- </property>
- <property name="text">
- <string>&OK</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- <property name="default">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>buttonCancel</cstring>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- </widget>
- </hbox>
- </widget>
- </vbox>
-</widget>
-<connections>
- <connection>
- <sender>buttonOk</sender>
- <signal>clicked()</signal>
- <receiver>exportdialogbase</receiver>
- <slot>accept()</slot>
- </connection>
- <connection>
- <sender>buttonCancel</sender>
- <signal>clicked()</signal>
- <receiver>exportdialogbase</receiver>
- <slot>reject()</slot>
- </connection>
- <connection>
- <sender>filenamebrowsebutton</sender>
- <signal>clicked()</signal>
- <receiver>exportdialogbase</receiver>
- <slot>fileselector()</slot>
- </connection>
-</connections>
-<includes>
- <include location="local" impldecl="in implementation">gettext.h</include>
-</includes>
-<slots>
- <slot>fileselector()</slot>
-</slots>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line1">
+ <property name="frameShape">
+ <enum>QFrame::HLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <spacer name="Horizontal Spacing2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="buttonOk">
+ <property name="text">
+ <string>&OK</string>
+ </property>
+ <property name="shortcut">
+ <string/>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="buttonCancel">
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="shortcut">
+ <string/>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <customwidgets>
+ <customwidget>
+ <class>Q3GroupBox</class>
+ <extends>QGroupBox</extends>
+ <header>Qt3Support/Q3GroupBox</header>
+ <container>1</container>
+ </customwidget>
+ <customwidget>
+ <class>Q3Frame</class>
+ <extends>QFrame</extends>
+ <header>Qt3Support/Q3Frame</header>
+ <container>1</container>
+ </customwidget>
+ <customwidget>
+ <class>Q3ListBox</class>
+ <extends>Q3Frame</extends>
+ <header>q3listbox.h</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonOk</sender>
+ <signal>clicked()</signal>
+ <receiver>exportdialogbase</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonCancel</sender>
+ <signal>clicked()</signal>
+ <receiver>exportdialogbase</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>filenamebrowsebutton</sender>
+ <signal>clicked()</signal>
+ <receiver>exportdialogbase</receiver>
+ <slot>fileselector()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
--- /dev/null
+++ b/src/mplayererrorbase.cpp
@@ -0,0 +1,39 @@
+/* dvbcut
+ Copyright (c) 2005 Sven Over <svenover@svenover.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 <qlineedit.h>
+#include <qfiledialog.h>
+#include "mplayererrorbase.h"
+
+mplayererrorbase::mplayererrorbase(QWidget *parent)
+ :QDialog(parent)
+ {
+ ui = new Ui::mplayererrorbase();
+ ui->setupUi(this);
+ this->setVisible(true);
+ }
+
+mplayererrorbase::~mplayererrorbase()
+ {
+ delete ui;
+ }
+
+void mplayererrorbase::setText(QString text)
+ {
+ ui->textbrowser->setText(text);
+ }
--- /dev/null
+++ b/src/mplayererrorbase.h
@@ -0,0 +1,37 @@
+/* dvbcut
+ Copyright (c) 2005 Sven Over <svenover@svenover.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
+*/
+
+#ifndef _DVBCUT_MPLAYERERRORBASE_H
+#define _DVBCUT_MPLAYERERRORBASE_H
+
+#include "ui_mplayererrorbase.h"
+
+class mplayererrorbase: public QDialog
+ {
+ Q_OBJECT
+public:
+ mplayererrorbase(QWidget *parent = 0);
+ ~mplayererrorbase();
+ void setText(QString text);
+
+private:
+ Ui::mplayererrorbase* ui;
+
+ };
+
+#endif //_DVBCUT_MPLAYERERRORBASE_H
--- a/src/mplayererrorbase.ui
+++ b/src/mplayererrorbase.ui
@@ -1,87 +1,102 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>mplayererrorbase</class>
-<widget class="QDialog">
- <property name="name">
- <cstring>mplayererrorbase</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>600</width>
- <height>480</height>
- </rect>
- </property>
- <property name="caption">
- <string>dvbcut: MPlayer error</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>textLabel1</cstring>
- </property>
- <property name="text">
- <string>MPlayer finished unsuccesfully.</string>
- </property>
- </widget>
- <widget class="QTextBrowser">
- <property name="name">
- <cstring>textbrowser</cstring>
- </property>
- <property name="autoFormatting">
- <set>AutoAll</set>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout13</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer>
- <property name="name">
- <cstring>spacer13</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>191</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>okaybutton</cstring>
- </property>
- <property name="text">
- <string>okay</string>
- </property>
- </widget>
- </hbox>
- </widget>
- </vbox>
-</widget>
-<connections>
- <connection>
- <sender>okaybutton</sender>
- <signal>clicked()</signal>
- <receiver>mplayererrorbase</receiver>
- <slot>accept()</slot>
- </connection>
-</connections>
-<includes>
- <include location="local" impldecl="in implementation">gettext.h</include>
-</includes>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>mplayererrorbase</class>
+ <widget class="QDialog" name="mplayererrorbase">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>dvbcut: MPlayer error</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="textLabel1">
+ <property name="text">
+ <string>MPlayer finished unsuccesfully.</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3TextBrowser" name="textbrowser">
+ <property name="autoFormatting">
+ <set>Q3TextEdit::AutoAll</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <spacer name="spacer13">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>191</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="okaybutton">
+ <property name="text">
+ <string>okay</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <customwidgets>
+ <customwidget>
+ <class>Q3Frame</class>
+ <extends>QFrame</extends>
+ <header>Qt3Support/Q3Frame</header>
+ <container>1</container>
+ </customwidget>
+ <customwidget>
+ <class>Q3TextEdit</class>
+ <extends>Q3Frame</extends>
+ <header>q3textedit.h</header>
+ </customwidget>
+ <customwidget>
+ <class>Q3TextBrowser</class>
+ <extends>Q3TextEdit</extends>
+ <header>Qt3Support/Q3TextBrowser</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>okaybutton</sender>
+ <signal>clicked()</signal>
+ <receiver>mplayererrorbase</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
--- a/src/progressstatusbar.cpp
+++ b/src/progressstatusbar.cpp
@@ -26,7 +26,7 @@
#include <cstdarg>
#include <cstdlib>
#include <qstatusbar.h>
-#include <qprogressbar.h>
+#include <q3progressbar.h>
#include <qapplication.h>
#include <qpushbutton.h>
#include <qlabel.h>
@@ -46,7 +46,7 @@ progressstatusbar::progressstatusbar(QSt
cancelbutton->setMaximumWidth(80);
statusbar->addWidget(cancelbutton,true);
- progressbar=new QProgressBar(statusbar);
+ progressbar=new Q3ProgressBar(statusbar);
progressbar->setTotalSteps(1000);
progressbar->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum));
progressbar->setMinimumWidth(160);
@@ -66,7 +66,7 @@ progressstatusbar::~progressstatusbar()
delete progressbar;
delete cancelbutton;
delete label;
- statusbar->clear();
+ statusbar->clearMessage();
}
--- a/src/progressstatusbar.h
+++ b/src/progressstatusbar.h
@@ -25,7 +25,7 @@
#include "logoutput.h"
class QStatusBar;
-class QProgressBar;
+class Q3ProgressBar;
class QPushButton;
class QLabel;
@@ -39,7 +39,7 @@ class progressstatusbar : public QObject
protected:
bool cancelwasclicked;
QStatusBar *statusbar;
- QProgressBar *progressbar;
+ Q3ProgressBar *progressbar;
QPushButton *cancelbutton;
QLabel *label;
--- a/src/progresswindow.cpp
+++ b/src/progresswindow.cpp
@@ -33,30 +33,38 @@
#include "progresswindow.h"
progresswindow::progresswindow(QWidget *parent, const char *name)
- :progresswindowbase(parent, name, true), logoutput(),
+ :QDialog(parent, name, true), logoutput(),
cancelwasclicked(false), waitingforclose(false)
{
- QStyleSheetItem *item;
- item = new QStyleSheetItem( logbrowser->styleSheet(), "h" );
+ ui = new Ui::progresswindowbase();
+ ui->setupUi(this);
+
+ Q3StyleSheetItem *item;
+ item = new Q3StyleSheetItem( ui->logbrowser->styleSheet(), "h" );
item->setFontWeight( QFont::Bold );
item->setFontUnderline( TRUE );
- item = new QStyleSheetItem( logbrowser->styleSheet(), "info" );
+ item = new Q3StyleSheetItem( ui->logbrowser->styleSheet(), "info" );
- item = new QStyleSheetItem( logbrowser->styleSheet(), "warn" );
+ item = new Q3StyleSheetItem( ui->logbrowser->styleSheet(), "warn" );
item->setColor( "red" );
- item = new QStyleSheetItem( logbrowser->styleSheet(), "error" );
+ item = new Q3StyleSheetItem( ui->logbrowser->styleSheet(), "error" );
item->setColor( "red" );
item->setFontWeight( QFont::Bold );
item->setFontUnderline( TRUE );
- cancelbutton->setPaletteBackgroundColor( QColor( 255,0,0 ) );
+ ui->cancelbutton->setPaletteBackgroundColor( QColor( 255,0,0 ) );
show();
qApp->processEvents();
}
+progresswindow::~progresswindow()
+ {
+ delete ui;
+ }
+
void progresswindow::closeEvent(QCloseEvent *e)
{
if (waitingforclose)
@@ -67,11 +75,11 @@ void progresswindow::closeEvent(QCloseEv
void progresswindow::finish()
{
- cancelbutton->setEnabled(false);
+ ui->cancelbutton->setEnabled(false);
waitingforclose=true;
- cancelbutton->setText( tr( "Close" ) );
- cancelbutton->setPaletteBackgroundColor( QColor( 0,255,0 ) );
- cancelbutton->setEnabled(true);
+ ui->cancelbutton->setText( tr( "Close" ) );
+ ui->cancelbutton->setPaletteBackgroundColor( QColor( 0,255,0 ) );
+ ui->cancelbutton->setEnabled(true);
exec();
}
@@ -80,7 +88,7 @@ void progresswindow::setprogress(int per
if (permille==currentprogress)
return;
currentprogress=permille;
- progressbar->setProgress(permille);
+ ui->progressbar->setProgress(permille);
qApp->processEvents();
}
@@ -93,9 +101,9 @@ void progresswindow::print(const char *f
return;
if (*text)
- logbrowser->append(quotetext(text));
+ ui->logbrowser->append(quotetext(text));
else
- logbrowser->append("<br>");
+ ui->logbrowser->append("<br>");
free(text);
qApp->processEvents();
}
@@ -108,7 +116,7 @@ void progresswindow::printheading(const
if (vasprintf(&text,fmt,ap)<0 || (text==0))
return;
- logbrowser->append(QString("<h>")+quotetext(text)+"</h>");
+ ui->logbrowser->append(QString("<h>")+quotetext(text)+"</h>");
free(text);
qApp->processEvents();
}
@@ -121,7 +129,7 @@ void progresswindow::printinfo(const cha
if (vasprintf(&text,fmt,ap)<0 || (text==0))
return;
- logbrowser->append(QString("<info>")+quotetext(text)+"</info>");
+ ui->logbrowser->append(QString("<info>")+quotetext(text)+"</info>");
free(text);
qApp->processEvents();
}
@@ -134,7 +142,7 @@ void progresswindow::printerror(const ch
if (vasprintf(&text,fmt,ap)<0 || (text==0))
return;
- logbrowser->append(QString("<error>")+quotetext(text)+"</error>");
+ ui->logbrowser->append(QString("<error>")+quotetext(text)+"</error>");
free(text);
qApp->processEvents();
}
@@ -147,7 +155,7 @@ void progresswindow::printwarning(const
if (vasprintf(&text,fmt,ap)<0 || (text==0))
return;
- logbrowser->append(QString("<warn>")+quotetext(text)+"</warn>");
+ ui->logbrowser->append(QString("<warn>")+quotetext(text)+"</warn>");
free(text);
qApp->processEvents();
}
@@ -157,11 +165,11 @@ void progresswindow::clickedcancel()
if ((cancelwasclicked==false) && (waitingforclose==false)) {
// button function is cancel
cancelwasclicked=true;
- cancelbutton->setEnabled(false);
+ ui->cancelbutton->setEnabled(false);
qApp->processEvents();
- cancelbutton->setText( tr( "Close" ) );
- cancelbutton->setPaletteBackgroundColor( QColor( 0,255,0 ) );
- cancelbutton->setEnabled(true);
+ ui->cancelbutton->setText( tr( "Close" ) );
+ ui->cancelbutton->setPaletteBackgroundColor( QColor( 0,255,0 ) );
+ ui->cancelbutton->setEnabled(true);
} else {
// button function is close
close();
--- a/src/progresswindow.h
+++ b/src/progresswindow.h
@@ -23,10 +23,10 @@
#include <string>
#include <qstring.h>
-#include "progresswindowbase.h"
+#include "ui_progresswindowbase.h"
#include "logoutput.h"
-class progresswindow: public progresswindowbase, public logoutput
+class progresswindow: public QDialog, public logoutput
{
Q_OBJECT
protected:
@@ -35,8 +35,10 @@ protected:
static QString quotetext(const char* text);
void closeEvent(QCloseEvent *e);
+ Ui::progresswindowbase* ui;
public:
progresswindow(QWidget *parent = 0, const char *name = 0);
+ ~progresswindow();
virtual bool cancelled()
{
return cancelwasclicked;
--- a/src/progresswindowbase.ui
+++ b/src/progresswindowbase.ui
@@ -1,74 +1,88 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>progresswindowbase</class>
-<widget class="QDialog">
- <property name="name">
- <cstring>progresswindowbase</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>600</width>
- <height>480</height>
- </rect>
- </property>
- <property name="caption">
- <string>dvbcut</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QTextBrowser">
- <property name="name">
- <cstring>logbrowser</cstring>
- </property>
- <property name="textFormat">
- <enum>LogText</enum>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout1</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QProgressBar">
- <property name="name">
- <cstring>progressbar</cstring>
- </property>
- <property name="totalSteps">
- <number>1000</number>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>cancelbutton</cstring>
- </property>
- <property name="text">
- <string>cancel</string>
- </property>
- </widget>
- </hbox>
- </widget>
- </vbox>
-</widget>
-<connections>
- <connection>
- <sender>cancelbutton</sender>
- <signal>clicked()</signal>
- <receiver>progresswindowbase</receiver>
- <slot>clickedcancel()</slot>
- </connection>
-</connections>
-<includes>
- <include location="local" impldecl="in implementation">gettext.h</include>
-</includes>
-<slots>
- <slot>setprogress(int)</slot>
- <slot>clickedcancel()</slot>
-</slots>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>progresswindowbase</class>
+ <widget class="QDialog" name="progresswindowbase">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>dvbcut</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="Q3TextBrowser" name="logbrowser">
+ <property name="textFormat">
+ <enum>Qt::LogText</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="Q3ProgressBar" name="progressbar">
+ <property name="totalSteps">
+ <number>1000</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="cancelbutton">
+ <property name="text">
+ <string>cancel</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <customwidgets>
+ <customwidget>
+ <class>Q3Frame</class>
+ <extends>QFrame</extends>
+ <header>Qt3Support/Q3Frame</header>
+ <container>1</container>
+ </customwidget>
+ <customwidget>
+ <class>Q3TextEdit</class>
+ <extends>Q3Frame</extends>
+ <header>q3textedit.h</header>
+ </customwidget>
+ <customwidget>
+ <class>Q3ProgressBar</class>
+ <extends>QFrame</extends>
+ <header>Qt3Support/Q3ProgressBar</header>
+ </customwidget>
+ <customwidget>
+ <class>Q3TextBrowser</class>
+ <extends>Q3TextEdit</extends>
+ <header>Qt3Support/Q3TextBrowser</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>cancelbutton</sender>
+ <signal>clicked()</signal>
+ <receiver>progresswindowbase</receiver>
+ <slot>clickedcancel()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>20</x>
+ <y>20</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -94,102 +94,102 @@ dvbcut_settings::~dvbcut_settings() {
void
dvbcut_settings::load_settings() {
- int version = readNumEntry("/version", 0);
+ int version = value("/version", 0).toInt();
if (version >= 1) {
// config format version 1 or later
beginGroup("/wheel");
- wheel_increments[WHEEL_INCR_NORMAL] = readNumEntry("/incr_normal", 25*60);
- wheel_increments[WHEEL_INCR_SHIFT] = readNumEntry("/incr_shift", 25);
- wheel_increments[WHEEL_INCR_CTRL] = readNumEntry("/incr_ctrl", 1);
- wheel_increments[WHEEL_INCR_ALT] = readNumEntry("/incr_alt", 15*25*60);
- wheel_threshold = readNumEntry("/threshold", 24);
+ wheel_increments[WHEEL_INCR_NORMAL] = value("/incr_normal", 25*60).toInt();
+ wheel_increments[WHEEL_INCR_SHIFT] = value("/incr_shift", 25).toInt();
+ wheel_increments[WHEEL_INCR_CTRL] = value("/incr_ctrl", 1).toInt();
+ wheel_increments[WHEEL_INCR_ALT] = value("/incr_alt", 15*25*60).toInt();
+ wheel_threshold = value("/threshold", 24).toInt();
// Note: delta is a multiple of 120 (see Qt documentation)
- wheel_delta = readNumEntry("/delta", 120);
+ wheel_delta = value("/delta", 120).toInt();
if (wheel_delta == 0)
wheel_delta = 1; // avoid devide by zero
endGroup(); // wheel
beginGroup("/slider");
- jog_maximum = readNumEntry("/jog_maximum", 180000);
- jog_threshold = readNumEntry("/jog_threshold", 50);
+ jog_maximum = value("/jog_maximum", 180000).toInt();
+ jog_threshold = value("/jog_threshold", 50).toInt();
// to increase the "zero frames"-region of the jog-slider
- jog_offset = readDoubleEntry("/jog_offset", 0.4);
+ jog_offset = value("/jog_offset", 0.4).toDouble();
// sub-intervals of jog_maximum
- jog_interval = readNumEntry("/jog_interval", 1);
+ jog_interval = value("/jog_interval", 1).toInt();
if (jog_interval < 0)
jog_interval = 0;
- lin_interval = readNumEntry("/lin_interval", 3600);
+ lin_interval = value("/lin_interval", 3600).toInt();
if (lin_interval < 0)
lin_interval = 0;
endGroup(); // slider
beginGroup("/lastdir");
- lastdir = readEntry("/name", ".");
- lastdir_update = readBoolEntry("/update", true);
+ lastdir = value("/name", ".").toString();
+ lastdir_update = value("/update", true).toBool();
endGroup(); // lastdir
beginGroup("/filter");
- idxfilter = readEntry("/idxfilter", DVBCUT_DEFAULT_IDXFILTER);
- prjfilter = readEntry("/prjfilter", DVBCUT_DEFAULT_PRJFILTER);
- loadfilter = readEntry("/loadfilter", DVBCUT_DEFAULT_LOADFILTER);
+ idxfilter = value("/idxfilter", DVBCUT_DEFAULT_IDXFILTER).toString();
+ prjfilter = value("/prjfilter", DVBCUT_DEFAULT_PRJFILTER).toString();
+ loadfilter = value("/loadfilter", DVBCUT_DEFAULT_LOADFILTER).toString();
endGroup(); // filter
}
else {
// old (unnumbered) config format
- wheel_increments[WHEEL_INCR_NORMAL] = readNumEntry("/wheel_incr_normal", 25*60);
- wheel_increments[WHEEL_INCR_SHIFT] = readNumEntry("/wheel_incr_shift", 25);
- wheel_increments[WHEEL_INCR_CTRL] = readNumEntry("/wheel_incr_ctrl", 1);
- wheel_increments[WHEEL_INCR_ALT] = readNumEntry("/wheel_incr_alt", 15*25*60);
- wheel_threshold = readNumEntry("/wheel_threshold", 24);
+ wheel_increments[WHEEL_INCR_NORMAL] = value("/wheel_incr_normal", 25*60).toInt();
+ wheel_increments[WHEEL_INCR_SHIFT] = value("/wheel_incr_shift", 25).toInt();
+ wheel_increments[WHEEL_INCR_CTRL] = value("/wheel_incr_ctrl", 1).toInt();
+ wheel_increments[WHEEL_INCR_ALT] = value("/wheel_incr_alt", 15*25*60).toInt();
+ wheel_threshold = value("/wheel_threshold", 24).toInt();
// Note: delta is a multiple of 120 (see Qt documentation)
- wheel_delta = readNumEntry("/wheel_delta", 120);
+ wheel_delta = value("/wheel_delta", 120).toInt();
if (wheel_delta == 0)
wheel_delta = 1; // avoid devide by zero
- jog_maximum = readNumEntry("/jog_maximum", 180000);
- jog_threshold = readNumEntry("/jog_threshold", 50);
+ jog_maximum = value("/jog_maximum", 180000).toInt();
+ jog_threshold = value("/jog_threshold", 50).toInt();
// to increase the "zero frames"-region of the jog-slider
- jog_offset = readDoubleEntry("/jog_offset", 0.4);
+ jog_offset = value("/jog_offset", 0.4).toDouble();
// sub-intervals of jog_maximum
- jog_interval = readNumEntry("/jog_interval", 1);
+ jog_interval = value("/jog_interval", 1).toInt();
if (jog_interval < 0)
jog_interval = 0;
- lin_interval = readNumEntry("/lin_interval", 3600);
+ lin_interval = value("/lin_interval", 3600).toInt();
if (lin_interval < 0)
lin_interval = 0;
- lastdir = readEntry("/lastdir", ".");
+ lastdir = value("/lastdir", ".").toString();
lastdir_update = true;
- idxfilter = readEntry("/idxfilter", DVBCUT_DEFAULT_IDXFILTER);
- prjfilter = readEntry("/prjfilter", DVBCUT_DEFAULT_PRJFILTER);
- loadfilter = readEntry("/loadfilter", DVBCUT_DEFAULT_LOADFILTER);
+ idxfilter = value("/idxfilter", DVBCUT_DEFAULT_IDXFILTER).toString();
+ prjfilter = value("/prjfilter", DVBCUT_DEFAULT_PRJFILTER).toString();
+ loadfilter = value("/loadfilter", DVBCUT_DEFAULT_LOADFILTER).toString();
// remove old-style entries
- removeEntry("/wheel_incr_normal");
- removeEntry("/wheel_incr_shift");
- removeEntry("/wheel_incr_ctrl");
- removeEntry("/wheel_incr_alt");
- removeEntry("/wheel_threshold");
- removeEntry("/wheel_delta");
- removeEntry("/jog_maximum");
- removeEntry("/jog_threshold");
- removeEntry("/jog_offset");
- removeEntry("/jog_interval");
- removeEntry("/lin_interval");
- removeEntry("/lastdir");
- removeEntry("/idxfilter");
- removeEntry("/prjfilter");
- removeEntry("/loadfilter");
+ remove("/wheel_incr_normal");
+ remove("/wheel_incr_shift");
+ remove("/wheel_incr_ctrl");
+ remove("/wheel_incr_alt");
+ remove("/wheel_threshold");
+ remove("/wheel_delta");
+ remove("/jog_maximum");
+ remove("/jog_threshold");
+ remove("/jog_offset");
+ remove("/jog_interval");
+ remove("/lin_interval");
+ remove("/lastdir");
+ remove("/idxfilter");
+ remove("/prjfilter");
+ remove("/loadfilter");
}
if (version >= 2) {
/* float view scale factor */
beginGroup("/viewscalefactor");
- viewscalefactor = readDoubleEntry("/current", 1.0);
- viewscalefactor_custom = readDoubleEntry("/custom", 3.0);
+ viewscalefactor = value("/current", 1.0).toDouble();
+ viewscalefactor_custom = value("/custom", 3.0).toDouble();
endGroup(); // viewscalefactor
}
else {
- viewscalefactor = (double)readNumEntry("/viewscalefactor", 1);
+ viewscalefactor = (double)value("/viewscalefactor", 1).toInt();
viewscalefactor_custom = 3.0;
- removeEntry("/viewscalefactor");
+ remove("/viewscalefactor");
}
- export_format = readNumEntry("/export_format", 0);
+ export_format = value("/export_format", 0).toInt();
beginGroup("/recentfiles");
- recentfiles_max = readNumEntry("/max", 5);
+ recentfiles_max = value("/max", 5).toInt();
recentfiles.clear();
std::list<std::string> filenames;
QStringList keys = entryList("/");
@@ -201,49 +201,49 @@ dvbcut_settings::load_settings() {
if (filename.isEmpty())
continue;
filenames.clear();
- filenames.push_back(filename);
+ filenames.push_back(filename.toStdString());
QString idxfilename = readEntry(key + "-idx", "");
recentfiles.push_back(
- std::pair<std::list<std::string>,std::string>(filenames, idxfilename));
+ std::pair<std::list<std::string>,std::string>(filenames, idxfilename.toStdString()));
}
else {
// NEW format with subkeys and multiple files!
beginGroup(key);
- QString filename = readEntry("/0");
+ QString filename = value("/0").toString();
if (!filename.isEmpty()) {
// multiple input files?
int j=0;
filenames.clear();
while(!filename.isEmpty()) {
- filenames.push_back(filename);
- filename = readEntry("/" + QString::number(++j), "");
+ filenames.push_back(filename.toStdString());
+ filename = value("/" + QString::number(++j), "").toString();
}
QString idxfilename = readEntry("/idx", "");
recentfiles.push_back(
- std::pair<std::list<std::string>,std::string>(filenames, idxfilename));
+ std::pair<std::list<std::string>,std::string>(filenames, idxfilename.toStdString()));
}
endGroup(); // key
}
}
endGroup(); // recentfiles
beginGroup("/labels");
- start_label = readEntry("/start", DVBCUT_DEFAULT_START_LABEL);
- stop_label = readEntry("/stop", DVBCUT_DEFAULT_STOP_LABEL);
- chapter_label = readEntry("/chapter", DVBCUT_DEFAULT_CHAPTER_LABEL);
- bookmark_label = readEntry("/bookmark", DVBCUT_DEFAULT_BOOKMARK_LABEL);
+ start_label = value("/start", DVBCUT_DEFAULT_START_LABEL).toString();
+ stop_label = value("/stop", DVBCUT_DEFAULT_STOP_LABEL).toString();
+ chapter_label = value("/chapter", DVBCUT_DEFAULT_CHAPTER_LABEL).toString();
+ bookmark_label = value("/bookmark", DVBCUT_DEFAULT_BOOKMARK_LABEL).toString();
endGroup(); // labels
- start_bof = readBoolEntry("/start_bof", true);
- stop_eof = readBoolEntry("/stop_eof", true);
+ start_bof = value("/start_bof", true).toBool();
+ stop_eof = value("/stop_eof", true).toBool();
beginGroup("/snapshots");
- snapshot_type = readEntry("/type", "PNG");
- snapshot_quality = readNumEntry("/quality", -1);
- snapshot_prefix = readEntry("/prefix", "");
- snapshot_delimiter = readEntry("/delimiter", "_");
- snapshot_first = readNumEntry("/first", 1);
- snapshot_width = readNumEntry("/width", 3);
- snapshot_extension = readEntry("/extension", "png");
- snapshot_range = readNumEntry("/range", 0);
- snapshot_samples = readNumEntry("/samples", 1);
+ snapshot_type = value("/type", "PNG").toString();
+ snapshot_quality = value("/quality", -1).toInt();
+ snapshot_prefix = value("/prefix", "").toString();
+ snapshot_delimiter = value("/delimiter", "_").toString();
+ snapshot_first = value("/first", 1).toInt();
+ snapshot_width = value("/width", 3).toInt();
+ snapshot_extension = value("/extension", "png").toString();
+ snapshot_range = value("/range", 0).toInt();
+ snapshot_samples = value("/samples", 1).toInt();
endGroup(); // snapshots
beginGroup("/pipe");
pipe_command.clear();
@@ -251,10 +251,10 @@ dvbcut_settings::load_settings() {
pipe_label.clear();
pipe_format.clear();
beginGroup("/0");
- QString command = readEntry("/command", DVBCUT_DEFAULT_PIPE_COMMAND);
- QString post = readEntry("/post", DVBCUT_DEFAULT_PIPE_POST);
- QString label = readEntry("/label", DVBCUT_DEFAULT_PIPE_LABEL);
- int format = readNumEntry("/format", DVBCUT_DEFAULT_PIPE_FORMAT);
+ QString command = value("/command", DVBCUT_DEFAULT_PIPE_COMMAND).toString();
+ QString post = value("/post", DVBCUT_DEFAULT_PIPE_POST).toString();
+ QString label = value("/label", DVBCUT_DEFAULT_PIPE_LABEL).toString();
+ int format = value("/format", DVBCUT_DEFAULT_PIPE_FORMAT).toInt();
endGroup(); // 0
unsigned int i = 0;
while(!command.isEmpty() && !label.isEmpty()) {
@@ -274,64 +274,64 @@ dvbcut_settings::load_settings() {
endGroup(); // pipe
beginGroup("/chapters");
// length (>0) or number (<0) of chapter(s)
- chapter_interval = readNumEntry("/interval", 600*25);
+ chapter_interval = value("/interval", 600*25).toInt();
// detection of scene changes is rather time comsuming...
//chapter_tolerance = readNumEntry("/tolerance", 10*25);
//... better switch it off per default!
- chapter_tolerance = readNumEntry("/tolerance", 0);
+ chapter_tolerance = value("/tolerance", 0).toInt();
// average color distance needed for a scene change
- chapter_threshold = readDoubleEntry("/threshold", 50.);
+ chapter_threshold = value("/threshold", 50.).toDouble();
// minimal length of a chapter
- chapter_minimum = readNumEntry("/minimum", 200*25);
+ chapter_minimum = value("/minimum", 200*25).toInt();
endGroup(); // auto chapters
}
void
dvbcut_settings::save_settings() {
- writeEntry("/version", 2); // latest config version
+ setValue("/version", 2); // latest config version
beginGroup("/wheel");
- writeEntry("/incr_normal", wheel_increments[WHEEL_INCR_NORMAL]);
- writeEntry("/incr_shift", wheel_increments[WHEEL_INCR_SHIFT]);
- writeEntry("/incr_ctrl", wheel_increments[WHEEL_INCR_CTRL]);
- writeEntry("/incr_alt", wheel_increments[WHEEL_INCR_ALT]);
- writeEntry("/threshold", wheel_threshold);
- writeEntry("/delta", wheel_delta);
+ setValue("/incr_normal", wheel_increments[WHEEL_INCR_NORMAL]);
+ setValue("/incr_shift", wheel_increments[WHEEL_INCR_SHIFT]);
+ setValue("/incr_ctrl", wheel_increments[WHEEL_INCR_CTRL]);
+ setValue("/incr_alt", wheel_increments[WHEEL_INCR_ALT]);
+ setValue("/threshold", wheel_threshold);
+ setValue("/delta", wheel_delta);
endGroup(); // wheel
beginGroup("/slider");
- writeEntry("/jog_maximum", jog_maximum);
- writeEntry("/jog_threshold", jog_threshold);
- writeEntry("/jog_offset", jog_offset);
- writeEntry("/jog_interval", jog_interval);
- writeEntry("/lin_interval", lin_interval);
+ setValue("/jog_maximum", jog_maximum);
+ setValue("/jog_threshold", jog_threshold);
+ setValue("/jog_offset", jog_offset);
+ setValue("/jog_interval", jog_interval);
+ setValue("/lin_interval", lin_interval);
endGroup(); // slider
beginGroup("/lastdir");
- writeEntry("/name", lastdir);
- writeEntry("/update", lastdir_update);
+ setValue("/name", lastdir);
+ setValue("/update", lastdir_update);
endGroup(); // lastdir
beginGroup("/filter");
- writeEntry("/idxfilter", idxfilter);
- writeEntry("/prjfilter", prjfilter);
- writeEntry("/loadfilter", loadfilter);
+ setValue("/idxfilter", idxfilter);
+ setValue("/prjfilter", prjfilter);
+ setValue("/loadfilter", loadfilter);
endGroup(); // filter
beginGroup("/viewscalefactor");
- writeEntry("/current", viewscalefactor);
- writeEntry("/custom", viewscalefactor_custom);
+ setValue("/current", viewscalefactor);
+ setValue("/custom", viewscalefactor_custom);
endGroup(); // viewscalefactor
- writeEntry("/export_format", export_format);
+ setValue("/export_format", export_format);
beginGroup("/recentfiles");
// first remove any OLD recentfiles entries to clean the settings file (<revision 108)!!!
QStringList keys = entryList("/");
for ( QStringList::Iterator it = keys.begin(); it != keys.end(); ++it )
- removeEntry("/" + *it);
+ remove("/" + *it);
// then remove ALL new recentfiles entries!!!
// (otherwise it would be a mess with erased&inserted muliple file entries of different size)
QStringList subkeys = subkeyList("/");
for ( QStringList::Iterator its = subkeys.begin(); its != subkeys.end(); ++its ) {
QStringList keys = entryList("/" + *its);
for ( QStringList::Iterator itk = keys.begin(); itk != keys.end(); ++itk )
- removeEntry("/" + *its + "/" + *itk);
+ remove("/" + *its + "/" + *itk);
}
- writeEntry("/max", int(recentfiles_max));
+ setValue("/max", int(recentfiles_max));
// and NOW write the updated list from scratch!!!
for (unsigned int i = 0; i < recentfiles.size(); ++i) {
QString key = "/" + QString::number(i);
@@ -339,46 +339,46 @@ dvbcut_settings::save_settings() {
int j=0;
for(std::list<std::string>::iterator it=settings().recentfiles[i].first.begin();
it!=settings().recentfiles[i].first.end(); it++, j++)
- writeEntry("/" + QString::number(j), *it);
- writeEntry("/idx", recentfiles[i].second);
+ setValue("/" + QString::number(j), QString::fromStdString(*it));
+ setValue("/idx", QString::fromStdString(recentfiles[i].second));
endGroup(); // key
}
endGroup(); // recentfiles
beginGroup("/labels");
- writeEntry("/start", start_label);
- writeEntry("/stop", stop_label);
- writeEntry("/chapter", chapter_label);
- writeEntry("/bookmark", bookmark_label);
+ setValue("/start", start_label);
+ setValue("/stop", stop_label);
+ setValue("/chapter", chapter_label);
+ setValue("/bookmark", bookmark_label);
endGroup(); // labels
- writeEntry("/start_bof", start_bof);
- writeEntry("/stop_eof", stop_eof);
+ setValue("/start_bof", start_bof);
+ setValue("/stop_eof", stop_eof);
beginGroup("/snapshots");
- writeEntry("/type", snapshot_type);
- writeEntry("/quality", snapshot_quality);
- writeEntry("/prefix", snapshot_prefix);
- writeEntry("/delimiter", snapshot_delimiter);
- writeEntry("/first", snapshot_first);
- writeEntry("/width", snapshot_width);
- writeEntry("/extension", snapshot_extension);
- writeEntry("/range", snapshot_range);
- writeEntry("/samples", snapshot_samples);
+ setValue("/type", snapshot_type);
+ setValue("/quality", snapshot_quality);
+ setValue("/prefix", snapshot_prefix);
+ setValue("/delimiter", snapshot_delimiter);
+ setValue("/first", snapshot_first);
+ setValue("/width", snapshot_width);
+ setValue("/extension", snapshot_extension);
+ setValue("/range", snapshot_range);
+ setValue("/samples", snapshot_samples);
endGroup(); // snapshots
beginGroup("/pipe");
for (unsigned int i = 0; i < pipe_command.size(); ++i) {
QString key = "/" + QString::number(i);
beginGroup(key);
- writeEntry("/command", pipe_command[i]);
- writeEntry("/post", pipe_post[i]);
- writeEntry("/label", pipe_label[i]);
- writeEntry("/format", pipe_format[i]);
+ setValue("/command", pipe_command[i]);
+ setValue("/post", pipe_post[i]);
+ setValue("/label", pipe_label[i]);
+ setValue("/format", pipe_format[i]);
endGroup(); // key
}
endGroup(); // pipe
beginGroup("/chapters");
- writeEntry("/interval", chapter_interval);
- writeEntry("/tolerance", chapter_tolerance);
- writeEntry("/threshold", chapter_threshold);
- writeEntry("/minimum", chapter_minimum);
+ setValue("/interval", chapter_interval);
+ setValue("/tolerance", chapter_tolerance);
+ setValue("/threshold", chapter_threshold);
+ setValue("/minimum", chapter_minimum);
endGroup(); // auto chapters
}
--- /dev/null
+++ b/src/version.h
@@ -0,0 +1,7 @@
+#ifndef _DVBCUT_VERSION_H
+#define _DVBCUT_VERSION_H
+
+#define VERSION "qt"
+#define REVISION "1"
+
+#endif //_DVBCUT_VERSION_H
--- a/configure.in
+++ b/configure.in
@@ -19,6 +19,7 @@ AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
AC_CHECK_TOOL(STRIP, strip, :)
+AC_CHECK_TOOL(PKG_CONFIG, pkg-config, :)
AC_CYGWIN
AC_MINGW32
@@ -144,21 +145,21 @@ dnl Checks for library functions.
AC_FUNC_MMAP
dnl external stuff
-AC_ARG_WITH(qt3, [ --with-qt3=DIR path to qt3 (default: QTDIR)],
+AC_ARG_WITH(qt4, [ --with-qt4=DIR path to qt4 (default: QTDIR)],
[case $withval in
- no) AC_MSG_ERROR([dvbcut requires Qt3]);;
+ no) AC_MSG_ERROR([dvbcut requires Qt4]);;
yes) ;;
*) QTDIR=$withval;;
esac])
AC_SUBST(QTDIR)
QTINC=$QTDIR/include
QTLIB=$QTDIR/$mr_libdirname
-AC_ARG_WITH(qt3-include, [ --with-qt3-include=DIR path to qt3 include files],
+AC_ARG_WITH(qt4-include, [ --with-qt4-include=DIR path to qt4 include files],
[case $withval in
yes|no) ;;
*) QTINC=$withval;;
esac])
-AC_ARG_WITH(qt3-lib, [ --with-qt3-lib=DIR path to qt3 libraries],
+AC_ARG_WITH(qt4-lib, [ --with-qt4-lib=DIR path to qt4 libraries],
[case $withval in
yes|no) ;;
*) QTLIB=$withval;;
@@ -167,11 +168,30 @@ AC_ARG_WITH(qt3-lib, [ --with-qt3-lib=D
CPPFLAGS="$CPPFLAGS -I$QTINC"
LDFLAGS="$LDFLAGS -L$QTLIB"
-AC_CHECK_LIB(qt-mt, main,
- [LIBS="$LIBS -lqt-mt"],
- [AC_CHECK_LIB(qt, main,
- [LIBS="$LIBS -lqt"],
- [AC_MSG_ERROR([Qt library not found])])])
+AC_CHECK_LIB(QtCore, main,
+ [HAVE_QT4="yes"],
+ [AC_MSG_ERROR([QtCore library not found])])
+
+AC_CHECK_LIB(Qt3Support, main,
+ [HAVE_QT4="yes"],
+ [AC_MSG_ERROR([Qt3Support library not found])])
+
+AC_CHECK_LIB(QtGui, main,
+ [HAVE_QT4="yes"],
+ [AC_MSG_ERROR([QtGui library not found])])
+
+AC_CHECK_LIB(QtXml, main,
+ [HAVE_QT4="yes"],
+ [AC_MSG_ERROR([QtXml library not found])])
+
+if test "x$HAVE_QT4" = "xyes"; then
+ QT_CXXFLAGS=`$PKG_CONFIG --cflags Qt3Support QtCore QtGui QtXml`
+ QT_LIBS=`$PKG_CONFIG --libs Qt3Support QtCore QtGui QtXml`
+ CPPFLAGS="$CPPFLAGS $QT_CXXFLAGS"
+ LIBS="$LIBS $QT_LIBS"
+else
+ AC_MSG_ERROR([cannot find Qt4 library >= 4.2])
+fi
AC_DEFINE(__STDC_LIMIT_MACROS, 1, [Required for C++])
AC_DEFINE(__STDC_CONSTANT_MACROS, 1, [Required for C++])
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -54,38 +54,37 @@ QTDIR = @QTDIR@
PATH := $(QTDIR)/bin:$(PATH)
-%.h: %.ui
- uic -o $@ $<
+ui_%.h: %.ui
+ uic-qt4 -o $@ $<
uic_%.cpp: %.h
- uic -impl $< -o $@ $*.ui
+ uic-qt4 -o $@ $<
moc_%.cpp: %.h
- moc -o $@ $<
+ moc-qt4 -o $@ $<
MOC = \
moc_dvbcut.cpp \
- moc_dvbcutbase.cpp \
moc_exportdialog.cpp \
- moc_exportdialogbase.cpp \
moc_mplayererrorbase.cpp \
moc_progressstatusbar.cpp \
moc_progresswindow.cpp \
- moc_progresswindowbase.cpp
UIC = \
- uic_dvbcutbase.cpp \
- uic_exportdialogbase.cpp \
- uic_mplayererrorbase.cpp \
- uic_progresswindowbase.cpp
+ ui_dvbcutbase.h \
+ ui_exportdialogbase.h \
+ ui_mplayererrorbase.h \
+ ui_progresswindowbase.h
+QRC = \
+ qrc_icons.cpp
SRCS = \
avframe.cpp differenceimageprovider.cpp buffer.cpp \
dvbcut.cpp eventlistitem.cpp exception.cpp exportdialog.cpp \
imageprovider.cpp index.cpp lavfmuxer.cpp logoutput.cpp \
- main.cpp mpegmuxer.cpp mpgfile.cpp playaudio.cpp \
+ main.cpp mpegmuxer.cpp mpgfile.cpp mplayererrorbase.cpp playaudio.cpp \
progressstatusbar.cpp progresswindow.cpp psfile.cpp \
- pts.cpp streamdata.cpp tsfile.cpp settings.cpp $(MOC) $(UIC) \
+ pts.cpp streamdata.cpp tsfile.cpp settings.cpp $(MOC) $(QRC) \
$(STDLIB)
OBJS = $(SRCS:.cpp=.$(OBJEXT))
@@ -106,11 +105,14 @@ $(installdirs):
$(topdir)/bin:
mkdir $@
+qrc_icons.cpp:
+ rcc -name icons -o $@ ../icons/icons.qrc
+
$(topdir)/bin/dvbcut$(EXEEXT): dvbcut$(EXEEXT)
$(INSTALL_PROGRAM) dvbcut$(EXEEXT) $(topdir)/bin/dvbcut$(EXEEXT)
$(STRIP) $(topdir)/bin/dvbcut$(EXEEXT)
-dvbcut$(EXEEXT): $(SRCS) $(OBJS)
+dvbcut$(EXEEXT): $(SRCS) $(UIC) $(OBJS)
$(CXX) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
ffmpeg_internal: $(topdir)/ffmpeg/lib/libavcodec.a
@@ -168,13 +170,9 @@ stamp-depend: $(SRCS)
# static dependencies:
moc_dvbcut.cpp: dvbcut.h
-moc_dvbcutbase.cpp: dvbcutbase.h
moc_exportdialog.cpp: exportdialog.h
-moc_exportdialogbase.cpp: exportdialogbase.h
-moc_mplayererrorbase.cpp: mplayererrorbase.h
moc_progressstatusbar.cpp: progressstatusbar.h
moc_progresswindow.cpp: progresswindow.h
-moc_progresswindowbase.cpp: progresswindowbase.h
uic_dvbcutbase.cpp: dvbcutbase.h
uic_exportdialogbase.cpp: exportdialogbase.h
uic_mplayererrorbase.cpp: mplayererrorbase.h
@@ -185,8 +183,6 @@ mplayererrorbase.h: mplayererrorbase.ui
progresswindowbase.h: progresswindowbase.ui
dvbcut.$(OBJEXT): version.h
-version.h: $(SRCS)
- cd $(topdir) && $(MAKE) $(subdir)/version.h
distfiles: \
dvbcutbase.h \
@@ -194,7 +190,6 @@ distfiles: \
moc_dvbcut.cpp \
moc_dvbcutbase.cpp \
moc_exportdialog.cpp \
- moc_exportdialogbase.cpp \
moc_mplayererrorbase.cpp \
moc_progressstatusbar.cpp \
moc_progresswindow.cpp \
@@ -205,4 +200,5 @@ distfiles: \
uic_exportdialogbase.cpp \
uic_mplayererrorbase.cpp \
uic_progresswindowbase.cpp \
+ qrc_icons.cpp \
version.h