summaryrefslogtreecommitdiffstats
path: root/ksayit/src/fxsetupimpl.h
blob: 403631d8aac03ebb001fb854ec25faa7a85ae6cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/***************************************************************************
                          fxsetupimpl.h  -  description
                             -------------------
    begin                : Mo Nov 24 2003
    copyright            : (C) 2003 by voglrobe
    email                : voglrobe@saphir
 ***************************************************************************/

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

#ifndef FXSETUPIMPL_H
#define FXSETUPIMPL_H

// QT includes
#include <qwidget.h>
#include <qlistbox.h>


// KDE includes
#include <kconfig.h>

// App specific includes
#include "fx_setup.h"

// forward declaration
class FXPluginHandler;

/**
  *@author voglrobe
  */
class FX_SetupImpl : public FX_Setup  {
   Q_OBJECT

public: 
  FX_SetupImpl(QWidget *parent=0, const char *name=0,
          KConfig *config=0,
          FXPluginHandler *fxpluginhandler=0);
  ~FX_SetupImpl();

public slots:
  /** Adds an effect to the list of active effects.
   */
  void slotAdd();

  /** Removes an effect from the list of active effects.
   */
  void slotRemove();

  /** Removes all effects from the list of active effects.
   */
  void slotRemoveAll();
  
  /** Recovers last saved state.
   */
  void slotReload();

  /** Called by a double click on an effect in the list of active effects.
      Opens a modal dialog to configure the efffect.
   \param item The double clicked item.
   */
  void slotConfigureEffect(QListBoxItem *item);
  
  /** Saves the configuration
   */
  void slotSaveWasClicked();

private: // Methods
  /** Loads the configuration and initializes the widget.
   \param c_avail List of available plugins.
   */
  void Init(QStringList c_avail);

private:
  KConfig *m_config;
  FXPluginHandler *m_fxpluginhandler;
  QStringList pluginlist;
  
};



#endif