/***************************************************************************
                          coptionsimpl.h  -  description
                             -------------------
    begin                : Sun Dec 3 2000
    copyright            : (C) 2000 by Olaf Lueg, Adam Kreuschner
    email                : olaf.lueg@t-online.de, kreuschner@dvoid.org
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <kapp.h>

#ifndef COPTIONSIMPL_H
#define COPTIONSIMPL_H

#include <qwidget.h>
#include <kprocess.h>
#include <coptions.h>
#include "rpmwidgetimpl.h"
#include "rpmbuildwidgetimpl.h"
/**
  *@author Olaf Lueg
  */
class KURL;
class KProcess;
class LogViewImpl;
class KPopupMenu;
class KHelpMenu;
class KToolBar;
class FileViewImpl;

class COptionsImpl : public COptions {
   Q_OBJECT
public: 
	COptionsImpl(QWidget *parent=0, const char *name=0,bool modal = false, WFlags fl = 0);
	~COptionsImpl();
  /**  */
  KURL currentFile;
  KShellProcess* proc;
	RPMWidgetImpl* RPMView;
	LogViewImpl* LogView;
	FileViewImpl* fileView;
	KToolBar *toolBar;
	KHelpMenu *men;
	KPopupMenu *menu;
  /**  */
  QString strSpec;
  /**  */
  QString strSpecPath;
  /**  */
  bool modified;
	RPMBuildWidgetImpl* RPMBuildView;
  /**  */
  QString passwd;
  /**  */
  bool setpasswd;
  /** about data */
  KAboutData* aboutData;

public slots:
	void new_slot(QIconViewItem* item);
  /**  */
  void slotAbout();
  /**  */
  void showAbout();
  /**  */
  void slotRunRPM();
  /**  */
  void slotImport();
  /**  */
  void slotFileSave();
  /**  */
  void slotFileOpen();
  /**  */
  void slotCreateSpec();
  /** */
  void slotCreateSpecialSpec();
  /**  */
  void slotExitProc(KProcess*);
  /**  */
  void slotCreateNew();
  /**  */
  void insertData(KProcess *p, char *buf, int len);
  /**  */
  void slotLogView();
  /**  */
  void slotStop();

protected: // Protected methods
  /**  */
  void deleteContents();
};

#endif
