Vuo  2.1.2
VuoInputEditorMovieFormat.hh
Go to the documentation of this file.
1 
10 #pragma once
11 
13 #include <dlfcn.h>
14 
19 {
20  Q_OBJECT
21  Q_PLUGIN_METADATA(IID "org.vuo.inputEditor" FILE "VuoInputEditorMovieFormat.json")
22  Q_INTERFACES(VuoInputEditorFactory)
23 
24 public:
25  virtual VuoInputEditor * newInputEditor(void);
26 };
27 
49 {
50  Q_OBJECT
51 
52 protected:
53  void setUpDialog(QDialog &dialog, json_object *originalValue, json_object *details);
55  QString convertToLineEditFormat(json_object *value);
56  json_object * convertFromSubwidgetFormats(const QVariant &imageEncoding,
57  const QString &imageQualityAsString,
58  const QVariant &audioEncoding,
59  const QString &audioQualityAsString);
60  bool eventFilter(QObject *object, QEvent *event) VuoWarnUnusedResult;
61 
62 private:
63  enum qualityAttribute
64  {
65  imageQuality,
66  audioQuality
67  };
68 
69  bool isDark;
70  bool tabCycleForward;
71 
72  QComboBox *comboBoxImageEncoding;
73  QComboBox *comboBoxAudioEncoding;
74 
75  QLabel *labelImageQuality;
76  QLabel *labelAudioQuality;
77 
78  QLineEdit *lineEditImageQuality;
79  QLineEdit *lineEditAudioQuality;
80 
81  double suggestedMinImageQuality;
82  double suggestedMaxImageQuality;
83  QSlider *sliderImageQuality;
84 
85  double suggestedMinAudioQuality;
86  double suggestedMaxAudioQuality;
87  QSlider *sliderAudioQuality;
88 
89  int lineEditValueToScaledSliderValue(double lineEditValue, qualityAttribute whichQualityAttribute);
90  double sliderValueToScaledLineEditValue(int sliderValue, qualityAttribute whichQualityAttribute);
91 
92  void updateLineEditValue(int newSliderValue, qualityAttribute whichQualityAttribute);
93  void updateQualitySliderEnabledStatus();
94 
95  QComboBox * setUpComboBoxForType(QComboBox *comboBox, QString type, string originalValueAsString);
96 
97  static const QColor darkModeEnabledLabelTextColor;
98  static const QColor darkModeDisabledLabelTextColor;
99 
100 private slots:
101  void updateSliderValue(QString newLineEditText);
102  void updateLineEditValue();
103  void updateLineEditValue(int newSliderValue);
104 
105  void updateQualitySliderEnabledStatusAndEmitValueChanged();
106  void emitValueChanged();
107 };
108