#ifndef MSGINPUTDIALOG_H
#define MSGINPUTDIALOG_H

#include <kdialogbase.h>

#include "bug.h"
#include "package.h"

class KTextEdit;
class TQSplitter;
class TDEListBox;

class MsgInputDialog : public KDialogBase
{
    Q_OBJECT
  
  public:
    enum MessageType{ Close, Reply, ReplyPrivate };
  
    MsgInputDialog( MessageType, const Bug &, const Package &,
                    const TQString &, TQWidget *parent=0);
    virtual ~MsgInputDialog();

    TQString message() const;

  protected slots:
    void slotOk();
    void slotCancel();

  private slots:
    void editPresets();
    void updatePresets();
    void slotPresetSelected( TQListBoxItem * );
    void clearMessage();
    void queueCommand();
  
  private:
    void createButtons();
    void createLayout();
  
    void readConfig();
    void writeConfig();
  
    void insertQuotedMessage( const TQString &quotedMsg );

    TQComboBox *mRecipient;
    KTextEdit *mMessageEdit;
    TQSplitter *mSplitter;
    TDEListBox *mPresets;

    Bug mBug;
    Package mPackage;
    MessageType mType;
};

#endif
