]> git.sesse.net Git - vlc/blob - modules/gui/qt4/dialogs/prefs_dialog.hpp
ec18f8846dfbc0b7570ecfc6680b11ac4e3b01b7
[vlc] / modules / gui / qt4 / dialogs / prefs_dialog.hpp
1 /*****************************************************************************
2  * prefs_dialog.hpp : Preferences
3  ****************************************************************************
4  * Copyright (C) 2000-2005 the VideoLAN team
5  * $Id: wxwidgets.cpp 15731 2006-05-25 14:43:53Z zorglub $
6  *
7  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  ****************************************************************************/
23
24 #ifndef _PREFS_DIALOG_H_
25 #define _PREFS_DIALOG_H_
26
27 #include "util/qvlcframe.hpp"
28
29 class PrefsTree;
30 class PrefsPanel;
31 class QTreeWidgetItem;
32 class QTreeWidget;
33 class QHBoxLayout;
34 class QVBoxLayout;
35 class QGroupBox;
36 class QRadioButton;
37 class QWidget;
38 class QCheckBox;
39
40 class PrefsDialog : public QVLCFrame
41 {
42     Q_OBJECT;
43 public:
44     static PrefsDialog * getInstance( intf_thread_t *_p_intf )
45     {
46         if( !instance )
47         {
48             instance = new PrefsDialog( _p_intf );
49             instance->init();
50         }
51         return instance;
52     }
53     virtual ~PrefsDialog();
54 private:
55     PrefsDialog( intf_thread_t * );
56     void init();
57
58     PrefsPanel *advanced_panel;
59     PrefsTree *advanced_tree;
60     QWidget *simple_panel;
61     QTreeWidget *simple_tree;
62     QGroupBox *types;
63     // The layout for the main part
64     QHBoxLayout *layout;
65     // Layout for the left pane
66     QVBoxLayout *vertical;
67     QRadioButton *small,*all;
68     QCheckBox *adv_chk;
69
70     static PrefsDialog *instance;
71 private slots:
72      void changePanel( QTreeWidgetItem *);
73      void setAll();
74      void setSmall();
75      void setAdvanced( bool );
76 };
77
78 #endif