xine-config.h

来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· C头文件 代码 · 共 132 行

H
132
字号
//Copyright: (C) 2004 Max Howell, <max.howell@methylblue.com>//Copyright: (C) 2003-2004 J. Kofler, <kaffeine@gmx.net>//Copyright: (C) 2005 Ian Monroe/*************************************************************************** *                                                                         * *   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.                                   * *                                                                         * ***************************************************************************/#ifndef XINECONFIG_H#define XINECONFIG_H#include "plugin/pluginconfig.h"#include "xineconfigbase.h"#include <xine.h>class XineConfigDialog;class KLineEdit;class XineGeneralEntry : public QObject{    Q_OBJECT    public:        virtual void save() = 0;        bool hasChanged()  const { return m_valueChanged; };    signals:        void viewChanged();    protected:        XineGeneralEntry(const QString& key, xine_t *xine, XineConfigDialog* xcf);        void entryChanged();        bool m_valueChanged;        QString m_key;        xine_t *m_xine;};class XineStrFunctor{    public:        void operator()( xine_cfg_entry_t* ent, const QString& val );};class XineIntFunctor{    public:        void operator()( xine_cfg_entry_t* ent, int val );};template<class T, class Functor>void saveXineEntry(Functor& storeEntry, T val, const QString& key, xine_t *xine);class XineStrEntry : public XineGeneralEntry{    Q_OBJECT    public:        XineStrEntry(QLineEdit* input, const QCString & key, xine_t *m_xine, XineConfigDialog* xcf);        void save();    private slots:        void entryChanged(const QString& newEntry);    private:        QString m_val;};class XineIntEntry : public XineGeneralEntry{    Q_OBJECT    public:        XineIntEntry(KIntSpinBox* input, const QCString & key, xine_t *xine, XineConfigDialog* xcf);        XineIntEntry(const QString& key, xine_t *xine, XineConfigDialog* xcf);        void save();    protected slots:        void entryChanged(int newEntry);    protected:        int m_val;};class XineEnumEntry : public XineIntEntry{    Q_OBJECTpublic:    XineEnumEntry(QComboBox* input, const QCString & key, xine_t *xine, XineConfigDialog* xcf);};class XineConfigDialog : public Amarok::PluginConfig{    Q_OBJECT    public:        XineConfigDialog( const xine_t* const xine);        ~XineConfigDialog();        QWidget* view() { return m_view; }        /** Return true if any of the view settings are different to the currently saved state */        bool hasChanged() const;        /** Return true if all view settings are in their default states */        bool isDefault() const;    public slots:        /** Save view state using, eg KConfig */        void save();        void reset(xine_t *xine);    private:        /** All data structures with m_xine initiated **/        void init();        void showHidePluginConfigs() const;        xine_t *m_xine;        QPtrList<XineGeneralEntry> m_entries;        XineConfigBase* m_view;};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?