![]() |
Mixxx
|
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