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