summaryrefslogtreecommitdiffstats
path: root/src/option/k3boptiondialog.h
blob: 8bd68091bad9aefc29e8c620952331cbfa88ff19 (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
91
92
/*
 *
 * $Id$
 * Copyright (C) 2003 Sebastian Trueg <trueg@k3b.org>
 *
 * This file is part of the K3b project.
 * Copyright (C) 1998-2007 Sebastian Trueg <trueg@k3b.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.
 * See the file "COPYING" for the exact licensing terms.
 */


#ifndef K3BOPTIONDIALOG_H
#define K3BOPTIONDIALOG_H

#include <kdialogbase.h>

class K3bCddbOptionTab;
class K3bDeviceOptionTab;
class K3bBurningOptionTab;
class K3bExternalBinOptionTab;
class K3bMiscOptionTab;
class K3bNotifyOptionTab;
class K3bPluginOptionTab;
class K3bThemeOptionTab;


/**
  *@author Sebastian Trueg
  */
class K3bOptionDialog : public KDialogBase
{
  Q_OBJECT
  TQ_OBJECT

 public:
  K3bOptionDialog(TQWidget *parent=0, const char *name=0, bool modal = true);
  ~K3bOptionDialog();

  enum m_configPageIndex { Burning = 0, Devices = 1, Programs = 2, Cddb = 3 };

/*   void addOptionPage( TQWidget* widget, */
/* 		      const TQString& name, */
/* 		      const TQString& header, */
/* 		      const TQPixmap& icon ); */

 protected slots:
  void slotOk();
  void slotApply();
  void slotDefault();

 private:
  bool saveSettings();

  // programs tab
  K3bExternalBinOptionTab* m_externalBinOptionTab;
  void setupProgramsPage();

  // device tab
  K3bDeviceOptionTab* m_deviceOptionTab;
  void setupDevicePage();

  // burning tab
  void setupBurningPage();
  K3bBurningOptionTab* m_burningOptionTab;

  // cddb tabs
  K3bCddbOptionTab *m_cddbOptionTab;
  void setupCddbPage();

  // misc options
  K3bMiscOptionTab* m_miscOptionTab;
  void setupMiscPage();

  // notify options
  K3bNotifyOptionTab* m_notifyOptionTab;
  void setupNotifyPage();

  // plugin options
  K3bPluginOptionTab* m_pluginOptionTab;
  void setupPluginPage();

  // theme options
  K3bThemeOptionTab* m_themeOptionTab;
  void setupThemePage();
};

#endif