annotate base/Preferences.h @ 167:665342c6ec57

* Add a bit of resistance to pane dragging so as to make it harder to inadvertently drag in the other axis from the one you intended
author Chris Cannam
date Fri, 22 Sep 2006 16:46:10 +0000
parents da3701a3953e
children 91fdc752e540
rev   line source
Chris@136 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@136 2
Chris@136 3 /*
Chris@136 4 Sonic Visualiser
Chris@136 5 An audio file viewer and annotation editor.
Chris@136 6 Centre for Digital Music, Queen Mary, University of London.
Chris@136 7 This file copyright 2006 Chris Cannam.
Chris@136 8
Chris@136 9 This program is free software; you can redistribute it and/or
Chris@136 10 modify it under the terms of the GNU General Public License as
Chris@136 11 published by the Free Software Foundation; either version 2 of the
Chris@136 12 License, or (at your option) any later version. See the file
Chris@136 13 COPYING included with this distribution for more information.
Chris@136 14 */
Chris@136 15
Chris@136 16 #ifndef _PREFERENCES_H_
Chris@136 17 #define _PREFERENCES_H_
Chris@136 18
Chris@136 19 #include "PropertyContainer.h"
Chris@136 20
Chris@140 21 #include "Window.h"
Chris@140 22
Chris@136 23 class Preferences : public PropertyContainer
Chris@136 24 {
Chris@136 25 Q_OBJECT
Chris@136 26
Chris@136 27 public:
Chris@156 28 static Preferences *getInstance();
Chris@136 29
Chris@136 30 virtual PropertyList getProperties() const;
Chris@136 31 virtual QString getPropertyLabel(const PropertyName &) const;
Chris@136 32 virtual PropertyType getPropertyType(const PropertyName &) const;
Chris@136 33 virtual int getPropertyRangeAndValue(const PropertyName &, int *, int *) const;
Chris@136 34 virtual QString getPropertyValueLabel(const PropertyName &, int value) const;
Chris@136 35 virtual QString getPropertyContainerName() const;
Chris@136 36 virtual QString getPropertyContainerIconName() const;
Chris@136 37
Chris@136 38 bool getSmoothSpectrogram() const { return m_smoothSpectrogram; }
Chris@136 39 float getTuningFrequency() const { return m_tuningFrequency; }
Chris@140 40 WindowType getWindowType() const { return m_windowType; }
Chris@164 41 int getResampleQuality() const { return m_resampleQuality; }
Chris@136 42
Chris@138 43 //!!! harmonise with PaneStack
Chris@138 44 enum PropertyBoxLayout {
Chris@138 45 VerticallyStacked,
Chris@138 46 Layered
Chris@138 47 };
Chris@138 48 PropertyBoxLayout getPropertyBoxLayout() const { return m_propertyBoxLayout; }
Chris@138 49
Chris@136 50 public slots:
Chris@136 51 virtual void setProperty(const PropertyName &, int);
Chris@136 52
Chris@136 53 void setSmoothSpectrogram(bool smooth);
Chris@136 54 void setTuningFrequency(float freq);
Chris@138 55 void setPropertyBoxLayout(PropertyBoxLayout layout);
Chris@140 56 void setWindowType(WindowType type);
Chris@164 57 void setResampleQuality(int quality);
Chris@136 58
Chris@136 59 private:
Chris@145 60 Preferences(); // may throw DirectoryCreationFailed
Chris@145 61 virtual ~Preferences();
Chris@136 62
Chris@136 63 static Preferences *m_instance;
Chris@136 64
Chris@136 65 bool m_smoothSpectrogram;
Chris@136 66 float m_tuningFrequency;
Chris@138 67 PropertyBoxLayout m_propertyBoxLayout;
Chris@140 68 WindowType m_windowType;
Chris@164 69 int m_resampleQuality;
Chris@136 70 };
Chris@136 71
Chris@136 72 #endif