summaryrefslogtreecommitdiff
path: root/src/prefadvanced.h
blob: 3b274197f0d5830f88e9e53a55c1a4852cdc8b21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/*  smplayer, GUI front-end for mplayer.
    Copyright (C) 2006-2012 Ricardo Villalba <rvm@users.sourceforge.net>

    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.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

#ifndef _PREFADVANCED_H_
#define _PREFADVANCED_H_

#include "ui_prefadvanced.h"
#include "prefwidget.h"
#include "preferences.h"

class Preferences;

class PrefAdvanced : public PrefWidget, public Ui::PrefAdvanced
{
	Q_OBJECT

public:
	PrefAdvanced( QWidget * parent = 0, Qt::WindowFlags f = 0 );
	~PrefAdvanced();

	virtual QString sectionName();
	virtual QPixmap sectionIcon();

    // Pass data to the dialog
    void setData(Preferences * pref);

    // Apply changes
    void getData(Preferences * pref);

#if REPAINT_BACKGROUND_OPTION
	bool repaintVideoBackgroundChanged() { return repaint_video_background_changed; };
#endif
	bool monitorAspectChanged() { return monitor_aspect_changed; };
#if USE_COLORKEY
	bool colorkeyChanged() { return colorkey_changed; };
#endif

protected:
	virtual void createHelp();

	// Advanced
	void setMonitorAspect(QString asp);
	QString monitorAspect();

#if REPAINT_BACKGROUND_OPTION
	void setRepaintVideoBackground(bool b);
	bool repaintVideoBackground();
#endif

	void setUseMplayerWindow(bool v);
	bool useMplayerWindow();

	// Windows only: pass to mplayer short filenames (8+3)
	void setUseShortNames(bool b);
	bool useShortNames();

	void setMplayerCrashes(bool b);
	bool mplayerCrashes();

	void setMplayerAdditionalArguments(QString args);
	QString mplayerAdditionalArguments();

	void setMplayerAdditionalVideoFilters(QString s);
	QString mplayerAdditionalVideoFilters();

	void setMplayerAdditionalAudioFilters(QString s);
	QString mplayerAdditionalAudioFilters();

#if USE_COLORKEY
	void setColorKey(unsigned int c);
	unsigned int colorKey();
#endif

	void setPreferIpv4(bool b);
	bool preferIpv4();

	void setUseIdx(bool);
	bool useIdx();

	void setUseCorrectPts(Preferences::OptionState value);
	Preferences::OptionState useCorrectPts();

	void setActionsToRun(QString actions);
	QString actionsToRun();

	void setShowTagInTitle(bool b);
	bool showTagInTitle();

	// Log options
#ifdef LOG_MPLAYER
	void setLogMplayer(bool b);
	bool logMplayer();

	void setMplayerLogVerbose(bool b);
	bool mplayerLogVerbose();

	void setSaveMplayerLog(bool b);
	bool saveMplayerLog();

	void setMplayerLogName(QString filter);
	QString mplayerLogName();
#endif

#ifdef LOG_SMPLAYER
	void setLogSmplayer(bool b);
	bool logSmplayer();

	void setLogFilter(QString filter);
	QString logFilter();

	void setSaveSmplayerLog(bool b);
	bool saveSmplayerLog();
#endif

protected:
	virtual void retranslateStrings();

protected slots:
	void on_changeButton_clicked();

private:
#if REPAINT_BACKGROUND_OPTION
	bool repaint_video_background_changed;
#endif
	bool monitor_aspect_changed;
#if USE_COLORKEY
	bool colorkey_changed;
#endif
};

#endif