simple_preferences.hpp
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:3k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * simple_preferences.hpp : Simple prefs
  3.  ****************************************************************************
  4.  * Copyright (C) 2006 the VideoLAN team
  5.  * $Id: 754d8adbbc4fe5a75e5347e2ece215e972df2cc4 $
  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. #ifndef _SIMPLEPREFS_H_
  24. #define _SIMPLEPREFS_H_
  25. #ifdef HAVE_CONFIG_H
  26. # include "config.h"
  27. #endif
  28. #include <vlc_common.h>
  29. #include <vlc_interface.h>
  30. #include "ui/sprefs_input.h"
  31. #include "ui/sprefs_audio.h"
  32. #include "ui/sprefs_video.h"
  33. #include "ui/sprefs_subtitles.h"
  34. #include "ui/sprefs_interface.h"
  35. #ifdef WIN32
  36. # include "util/registry.hpp"
  37. #endif
  38. #include <QWidget>
  39. enum {
  40.     SPrefsInterface = 0,
  41.     SPrefsAudio,
  42.     SPrefsVideo,
  43.     SPrefsSubtitles,
  44.     SPrefsInputAndCodecs,
  45.     SPrefsHotkeys,
  46.     SPrefsMax
  47. };
  48. #define SPrefsDefaultCat SPrefsInterface
  49. enum {
  50.     CachingCustom = 0,
  51.     CachingLowest = 100,
  52.     CachingLow    = 200,
  53.     CachingNormal = 300,
  54.     CachingHigh   = 750,
  55.     CachingHigher = 2500
  56. };
  57. enum {
  58. #ifdef WIN32
  59.        directxW,
  60. #else
  61.        alsaW,
  62.        ossW,
  63. #endif
  64.        fileW,
  65.        audioOutCoB,
  66.        normalizerChB,
  67.        volLW,
  68.        headphoneB,
  69. };
  70. enum { inputLE, cachingCoB };
  71. enum { skinRB, qtRB };
  72. class ConfigControl;
  73. class QComboBox;
  74. class QLineEdit;
  75. class QRadioButton;
  76. class QCheckBox;
  77. class QString;
  78. #ifdef WIN32
  79. class QTreeWidgetItem;
  80. #endif
  81. class SPrefsCatList : public QWidget
  82. {
  83.     Q_OBJECT;
  84. public:
  85.     SPrefsCatList( intf_thread_t *, QWidget *, bool );
  86.     virtual ~SPrefsCatList() {};
  87. private:
  88.     intf_thread_t *p_intf;
  89. signals:
  90.     void currentItemChanged( int );
  91. public slots:
  92.     void switchPanel( int );
  93. };
  94. class SPrefsPanel : public QWidget
  95. {
  96.     Q_OBJECT
  97. public:
  98.     SPrefsPanel( intf_thread_t *, QWidget *, int, bool );
  99.     virtual ~SPrefsPanel();
  100.     void apply();
  101.     void clean();
  102. private:
  103.     intf_thread_t *p_intf;
  104.     QList<ConfigControl *> controls;
  105.     int number;
  106.     QList<QWidget *> optionWidgets;
  107.     QStringList qs_filter;
  108. #ifdef WIN32
  109.     QList<QTreeWidgetItem *> listAsso;
  110.     bool addType( const char * psz_ext, QTreeWidgetItem*, QTreeWidgetItem*, QVLCRegistry* );
  111. #endif
  112. /* Display only the options for the selected audio output */
  113. private slots:
  114.     void lastfm_Changed( int );
  115.     void updateAudioOptions( int );
  116.     void updateAudioVolume( int );
  117. #ifdef SYS_MINGW32
  118.     void assoDialog();
  119.     void saveAsso();
  120. #endif
  121. };
  122. #endif