Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/dlgpreferences.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           dlgpreferences.h  -  description
00003                              -------------------
00004     begin                : Sun Jun 30 2002
00005     copyright            : (C) 2002 by Tue & Ken Haste Andersen
00006     email                : haste@diku.dk
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef DLGPREFERENCES_H
00019 #define DLGPREFERENCES_H
00020 
00021  #include <QDialog>
00022 
00023 #include <qevent.h>
00024 #include <QtGui>
00025 #include "ui_dlgpreferencesdlg.h"
00026 #include "configobject.h"
00027 
00028 class QListWidget;
00029 class QListWidgetItem;
00030 class QStackedWidget;
00031 
00032 class MixxxApp;
00033 class PlayerProxy;
00034 class SoundManager;
00035 class DlgPrefSound;
00036 class DlgPrefMidiBindings;
00037 class DlgPrefPlaylist;
00038 class DlgPrefNoMidi;
00039 class DlgPrefControls;
00040 class DlgPrefEQ;
00041 class DlgPrefCrossfader;
00042 class DlgPrefRecord;
00043 class DlgPrefBpm;
00044 class DlgPrefVinyl;
00045 class DlgPrefNoVinyl;
00046 class DlgPrefShoutcast;
00047 class DlgPrefReplayGain;
00048 class PowerMate;
00049 class MidiDeviceManager;
00050 class SkinLoader;
00051 class PlayerManager;
00052 class VinylControlManager;
00053 
00058 class DlgPreferences : public QDialog, public Ui::DlgPreferencesDlg
00059 {
00060     Q_OBJECT
00061 public:
00062     DlgPreferences(MixxxApp* mixxx, SkinLoader* pSkinLoader, SoundManager* soundman,
00063                    PlayerManager* pPlayerManager, MidiDeviceManager* midi,
00064                    VinylControlManager* pVCManager, ConfigObject<ConfigValue>* config);
00065 
00066     ~DlgPreferences();
00067     void createIcons();
00068 public slots:
00069     void slotShow();
00070     void slotHide();
00071     void rescanMidi();
00072     void slotApply();
00073     void changePage(QTreeWidgetItem* current, QTreeWidgetItem* previous);
00074     void showSoundHardwarePage();
00075     void slotHighlightDevice(DlgPrefMidiBindings* dialog, bool enabled);
00076 signals:
00077     void closeDlg();
00078     void showDlg();
00079 protected:
00080     bool eventFilter(QObject*, QEvent*);
00081 private:
00082     void destroyMidiWidgets();
00083     void setupMidiWidgets();
00084     int addPageWidget(QWidget* w);
00085     QList<DlgPrefMidiBindings*> m_wmidiBindingsForDevice;
00086 
00087     DlgPrefSound* m_wsound;
00088     DlgPrefPlaylist* m_wplaylist;
00089     DlgPrefNoMidi* m_wNoMidi;
00090     DlgPrefControls* m_wcontrols;
00091     DlgPrefEQ* m_weq;
00092     DlgPrefCrossfader* m_wcrossfader;
00093     DlgPrefRecord* m_wrecord;
00094     DlgPrefBpm* m_wbpm;
00095     DlgPrefVinyl* m_wvinylcontrol;
00096     DlgPrefNoVinyl* m_wnovinylcontrol;
00097     DlgPrefShoutcast* m_wshoutcast;
00098     DlgPrefReplayGain* m_wreplaygain;
00099 
00100     /*
00101     QScrollArea* m_sasound;
00102     QScrollArea* m_saplaylist;
00103     QScrollArea* m_saNoMidi;
00104     QScrollArea* m_sacontrols;
00105     QScrollArea* m_saeq;
00106     QScrollArea* m_sacrossfader;
00107     QScrollArea* m_sarecord;
00108     QScrollArea* m_sabpm;
00109     QScrollArea* m_savinylcontrol;
00110     QScrollArea* m_sanovinylcontrol;
00111     QScrollArea* m_sashoutcast;
00112     QScrollArea* m_sareplaygain;
00113         */
00114 
00115     QTreeWidgetItem* m_pSoundButton;
00116     QTreeWidgetItem* m_pPlaylistButton;
00117     QTreeWidgetItem* m_pControlsButton;
00118     QTreeWidgetItem* m_pEqButton;
00119     QTreeWidgetItem* m_pCrossfaderButton;
00120     QTreeWidgetItem* m_pRecordingButton;
00121     QTreeWidgetItem* m_pBPMdetectButton;
00122     QTreeWidgetItem* m_pVinylControlButton;
00123     QTreeWidgetItem* m_pShoutcastButton;
00124     QTreeWidgetItem* m_pReplayGainButton;
00125     QTreeWidgetItem* m_pMIDITreeItem;
00126     QList<QTreeWidgetItem*> m_midiBindingsButtons;
00127 
00128     QSize m_pageSizeHint;
00129 
00130     ConfigObject<ConfigValue>* config;
00131     MixxxApp* m_pMixxx;
00132     MidiDeviceManager* m_pMidiDeviceManager;
00133 };
00134 
00135 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines