1 /*  smplayer, GUI front-end for mplayer.
2     Copyright (C) 2006-2021 Ricardo Villalba <ricardo@smplayer.info>
3 
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8 
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13 
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17 */
18 
19 #ifndef PREFADVANCED_H
20 #define PREFADVANCED_H
21 
22 #include "ui_prefadvanced.h"
23 #include "prefwidget.h"
24 #include "preferences.h"
25 
26 class Preferences;
27 
28 class PrefAdvanced : public PrefWidget, public Ui::PrefAdvanced
29 {
30 	Q_OBJECT
31 
32 public:
33 	PrefAdvanced( QWidget * parent = 0, Qt::WindowFlags f = QFlag(0) );
34 	~PrefAdvanced();
35 
36 	virtual QString sectionName();
37 	virtual QPixmap sectionIcon();
38 
39     // Pass data to the dialog
40     void setData(Preferences * pref);
41 
42     // Apply changes
43     void getData(Preferences * pref);
44 
45 #if REPAINT_BACKGROUND_OPTION
repaintVideoBackgroundChanged()46 	bool repaintVideoBackgroundChanged() { return repaint_video_background_changed; };
47 #endif
monitorAspectChanged()48 	bool monitorAspectChanged() { return monitor_aspect_changed; };
49 #if USE_COLORKEY
colorkeyChanged()50 	bool colorkeyChanged() { return colorkey_changed; };
51 #endif
lavfDemuxerChanged()52 	bool lavfDemuxerChanged() { return lavf_demuxer_changed; };
53 
54 protected:
55 	virtual void createHelp();
56 
57 	// Advanced
58 	void setMonitorAspect(QString asp);
59 	QString monitorAspect();
60 
61 #if REPAINT_BACKGROUND_OPTION
62 	void setRepaintVideoBackground(bool b);
63 	bool repaintVideoBackground();
64 #endif
65 
66 	void setUseMplayerWindow(bool v);
67 	bool useMplayerWindow();
68 
69 	// Windows only: pass to mplayer short filenames (8+3)
70 	void setUseShortNames(bool b);
71 	bool useShortNames();
72 
73 	void setMplayerCrashes(bool b);
74 	bool mplayerCrashes();
75 
76 	void setMplayerAdditionalArguments(QString args);
77 	QString mplayerAdditionalArguments();
78 
79 	void setMplayerAdditionalVideoFilters(QString s);
80 	QString mplayerAdditionalVideoFilters();
81 
82 	void setMplayerAdditionalAudioFilters(QString s);
83 	QString mplayerAdditionalAudioFilters();
84 
85 #if USE_COLORKEY
86 	void setColorKey(unsigned int c);
87 	unsigned int colorKey();
88 #endif
89 
90 	void setPreferIpv4(bool b);
91 	bool preferIpv4();
92 
93 	void setUseIdx(bool);
94 	bool useIdx();
95 
96 	void setUseLavfDemuxer(bool);
97 	bool useLavfDemuxer();
98 
99 	void setUseCorrectPts(Preferences::OptionState value);
100 	Preferences::OptionState useCorrectPts();
101 
102 	void setActionsToRun(QString actions);
103 	QString actionsToRun();
104 
105 	void setShowTagInTitle(bool b);
106 	bool showTagInTitle();
107 
108 	// Log options
109 #ifdef LOG_MPLAYER
110 	void setLogMplayer(bool b);
111 	bool logMplayer();
112 
113 	void setMplayerLogVerbose(bool b);
114 	bool mplayerLogVerbose();
115 
116 	void setSaveMplayerLog(bool b);
117 	bool saveMplayerLog();
118 
119 	void setMplayerLogName(QString filter);
120 	QString mplayerLogName();
121 #endif
122 
123 #ifdef LOG_SMPLAYER
124 	void setLogSmplayer(bool b);
125 	bool logSmplayer();
126 
127 	void setLogFilter(QString filter);
128 	QString logFilter();
129 
130 	void setSaveSmplayerLog(bool b);
131 	bool saveSmplayerLog();
132 #endif
133 
134 protected:
135 	virtual void retranslateStrings();
136 
137 protected slots:
138 	void on_changeButton_clicked();
139 
140 private:
141 #if REPAINT_BACKGROUND_OPTION
142 	bool repaint_video_background_changed;
143 #endif
144 	bool monitor_aspect_changed;
145 #if USE_COLORKEY
146 	bool colorkey_changed;
147 #endif
148 	bool lavf_demuxer_changed;
149 };
150 
151 #endif
152