/****************************************************************************
**
**  indeview_main.h      of the IndeView project, see http://www.indeview.org
**
**
**  The IndeView application is a stand-alone viewer to display presentations
**  created by IndeView creator modules like IndeViewExport.bas or kpr2iv.sh.
**  -------------------------------------------------------------------------
**  This enables you to show OpenOffice/StarOffice or KOffice presentations
**  on machines where the respective presentation program is not available.
**
**
**  Copyright (C) 2003..2004 Michael & Karl-Heinz Zimmer.
**  All rights reserved.
**
**  This file is distributed under the terms of the
**  GNU Lesser General Public License version 2.1 as published by the
**  Free Software Foundation and appearing in the file LICENSE included
**  in the packaging of this file.
**
**  This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
**  THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
**  PURPOSE.
**
**  See http://www.indeview.org for further information.
**
**  Contact info@indeview.org if any conditions of this
**  licensing are not clear to you.
**
**
**  Please consider sending
**  a little picture postcard to   Michael & Karl-Heinz Zimmer
**                                 Butzengasse 15
**                                 54343 Föhren
**                                 Germany
**
**  Your feedback will be very much appreciated: we would be glad about
**  receiving a visual representation of where on earth you are living
**  using our little module.
**
*****************************************************************************/

#ifndef INDEVIEW_MAIN_H
#define INDEVIEW_MAIN_H

#include <qlistbox.h>
#include <qpushbutton.h>


#include "../core/indeview_widget.h"


class QVBox;


class IndeViewMain : public IndeViewWidget
{
  Q_OBJECT

public:
  IndeViewMain( const QStringList& params,
                IndeViewSlides* slides,
                bool deleteSlidesWhenDone );

  ~IndeViewMain();

  void initAll();

  virtual void processPainterAfterDrawing( QPainter& painter );

protected:
  void keyPressEvent( QKeyEvent *e );
  void mousePressEvent( QMouseEvent * );
  void getImageFromListbox();
  void showHelpScreen();
  void hideHelpScreen();
  bool helpScreenVisible();

protected slots:
  void slotSlideSelected();
  void slotSlideSelected( int );
  void slotInitialize();

private:
  QStringList mParams;
  QVBox* mSlideSelectionPopup;
  QListBox* mListBox;
  QPushButton* mOkButton;
  QPixmap mHelpScreen;
  bool mHelpScreenVisible;
  bool mIsInitialized;
};


#endif // INDEVIEW_MAIN_H
