dvbcut (0.5.4+svn178-2) port-to-qt4.patch

Summary

 configure.in                    |   38 
 icons/icons.qrc                 |    8 
 src/Makefile.in                 |   38 
 src/avframe.cpp                 |    4 
 src/differenceimageprovider.cpp |    4 
 src/dvbcut.cpp                  |  706 ++++-----
 src/dvbcut.h                    |   22 
 src/dvbcutbase.ui               | 2957 ++++++++++++++++++++++------------------
 src/eventlistitem.cpp           |   22 
 src/eventlistitem.h             |   12 
 src/exception.cpp               |    2 
 src/exportdialog.cpp            |   19 
 src/exportdialog.h              |   10 
 src/exportdialogbase.ui         |  407 ++---
 src/mplayererrorbase.cpp        |   39 
 src/mplayererrorbase.h          |   37 
 src/mplayererrorbase.ui         |  189 +-
 src/progressstatusbar.cpp       |    6 
 src/progressstatusbar.h         |    4 
 src/progresswindow.cpp          |   52 
 src/progresswindow.h            |    6 
 src/progresswindowbase.ui       |  162 +-
 src/settings.cpp                |  260 +--
 src/version.h                   |    7 
 24 files changed, 2769 insertions(+), 2242 deletions(-)

    
download this patch

Patch contents

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="&amp;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="&amp;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="&amp;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="&amp;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="&amp;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>&amp;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>&amp;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 &amp;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 -&gt;|</string>
-        </property>
-        <property name="menuText">
-            <string>Play audio: last 2 seconds</string>
-        </property>
-        <property name="accel">
-            <string>Shift+&gt;</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 |-&gt;</string>
-        </property>
-        <property name="menuText">
-            <string>Play audio: next 2 seconds</string>
-        </property>
-        <property name="accel">
-            <string>&lt;</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>&amp;About</string>
-	</property>
-	<property name="menuText">
-	    <string>&amp;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>&amp;Contents</string>
-	</property>
-	<property name="menuText">
-	    <string>&amp;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&amp;)</signal>
-        <receiver>dvbcutbase</receiver>
-        <slot>eventlistcontextmenu(QListBoxItem*,const QPoint&amp;)</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 &amp;)</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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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 &amp;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 -&gt;|</string>
+   </property>
+   <property name="shortcut">
+    <string>Shift+&gt;</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 |-&gt;</string>
+   </property>
+   <property name="shortcut">
+    <string>&lt;</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>&amp;About</string>
+   </property>
+   <property name="iconText">
+    <string>&amp;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>&amp;Contents</string>
+   </property>
+   <property name="iconText">
+    <string>&amp;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>&amp;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>&amp;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>&amp;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>&amp;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