/*!
* This file is part of CameraPlus.
*
- * Copyright (C) 2012 Mohammed Sameer <msameer@foolab.org>
+ * Copyright (C) 2012-2013 Mohammed Sameer <msameer@foolab.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
class Camera;
class QtCamImageSettings;
class ImageResolutionModel;
+class ImageResolution;
+class QtCamImageResolution;
class ImageSettings : public QObject {
Q_OBJECT
Q_PROPERTY(Camera* camera READ camera WRITE setCamera NOTIFY cameraChanged);
Q_PROPERTY(QString suffix READ suffix NOTIFY settingsChanged);
Q_PROPERTY(QStringList aspectRatios READ aspectRatios NOTIFY settingsChanged);
+ Q_PROPERTY(int aspectRatioCount READ aspectRatioCount NOTIFY aspectRatioCountChanged);
Q_PROPERTY(ImageResolutionModel *resolutions READ resolutions NOTIFY resolutionsChanged);
Q_PROPERTY(bool ready READ isReady NOTIFY readyChanged);
+ Q_PROPERTY(ImageResolution *currentResolution READ currentResolution NOTIFY currentResolutionChanged);
public:
ImageSettings(QObject *parent = 0);
bool isReady() const;
+ ImageResolution *currentResolution();
+
+ Q_INVOKABLE ImageResolution *findResolution(const QString& aspectRatio,
+ const QString& name);
+ Q_INVOKABLE bool setResolution(ImageResolution *resolution);
+
Q_INVOKABLE bool setResolution(const QString& aspectRatio, const QString& resolution);
+ int aspectRatioCount() const;
+
signals:
void settingsChanged();
void cameraChanged();
void resolutionsChanged();
void readyChanged();
+ void aspectRatioCountChanged();
+ void currentResolutionChanged();
private slots:
void deviceChanged();
private:
+ bool setResolution(const QtCamImageResolution& resolution);
+
Camera *m_cam;
QtCamImageSettings *m_settings;
ImageResolutionModel *m_resolutions;
+ ImageResolution *m_currentResolution;
};
#endif /* IMAGE_SETTINGS_H */