Canorus 0.0
settings.h
Go to the documentation of this file.
1
8#ifndef SETTINGS_H_
9#define SETTINGS_H_
10
11#include <QSettings>
12#ifndef SWIG
13#include <QColor>
14#include "ui/singleaction.h"
15//#include <QAction>
16#endif
17#include <QDir>
18#include "core/fileformats.h"
19#include "core/typesetter.h"
20
21class CASettings : public QSettings {
22#ifndef SWIG
23 Q_OBJECT
24#endif
25public:
26 CASettings( QObject * parent = 0 );
27 CASettings( const QString & fileName, QObject * parent = 0 );
28 void initSettings();
29 virtual ~CASettings();
30
31 int readSettings();
32 void writeSettings();
33
34 static const QString defaultSettingsPath();
35
37 // Editor settings //
40 inline void setFinaleLyricsBehaviour( bool b ) { _finaleLyricsBehaviour = b; }
45 inline bool playInsertedNotes() { return _playInsertedNotes; }
46 inline void setPlayInsertedNotes( bool b ) { _playInsertedNotes = b; }
47 static const bool DEFAULT_PLAY_INSERTED_NOTES;
48 inline bool autoBar() { return _autoBar; }
49 inline void setAutoBar( bool b ) { _autoBar = b; }
50 static const bool DEFAULT_AUTO_BAR;
51 inline bool useNoteChecker() { return _useNoteChecker; }
52 inline void setUseNoteChecker( bool b ) { _useNoteChecker = b; }
53 static const bool DEFAULT_USE_NOTE_CHECKER;
54
56 // Loading/Saving settings //
58 inline QDir documentsDirectory() { return _documentsDirectory; }
59 inline void setDocumentsDirectory( QDir d ) { _documentsDirectory = d; }
60 static const QDir DEFAULT_DOCUMENTS_DIRECTORY;
65 inline void setAutoRecoveryInterval( int interval ) { _autoRecoveryInterval = interval; };
67 inline int maxRecentDocuments() { return _maxRecentDocuments; }
68 inline void setMaxRecentDocuments( int r ) { _maxRecentDocuments = r; }
70
72 // Appearance settings //
74#ifndef SWIG
75 inline bool lockScrollPlayback() { return _lockScrollPlayback; }
76 inline void setLockScrollPlayback( bool l ) { _lockScrollPlayback = l; }
78 inline bool animatedScroll() { return _animatedScroll; }
79 inline void setAnimatedScroll( bool a ) { _animatedScroll = a; }
80 static const bool DEFAULT_ANIMATED_SCROLL;
81 inline bool antiAliasing() { return _antiAliasing; }
82 inline void setAntiAliasing( bool a ) { _antiAliasing = a; }
83 static const bool DEFAULT_ANTIALIASING;
84 inline bool showRuler() { return _showRuler; }
85 inline void setShowRuler( bool b ) { _showRuler = b; }
86 static const bool DEFAULT_SHOW_RULER;
87 inline QColor backgroundColor() { return _backgroundColor; }
89 static const QColor DEFAULT_BACKGROUND_COLOR;
90 inline QColor foregroundColor() { return _foregroundColor; }
92 static const QColor DEFAULT_FOREGROUND_COLOR;
93 inline QColor selectionColor() { return _selectionColor; }
95 static const QColor DEFAULT_SELECTION_COLOR;
96 inline QColor selectionAreaColor() { return _selectionAreaColor; }
98 static const QColor DEFAULT_SELECTION_AREA_COLOR;
99 inline QColor selectedContextColor() { return _selectedContextColor; }
102 inline QColor hiddenElementsColor() { return _hiddenElementsColor; }
104 static const QColor DEFAULT_HIDDEN_ELEMENTS_COLOR;
108#endif
109
111 // Playback settings //
113 inline int midiInPort() { return _midiInPort; }
114 void setMidiInPort( int in );
115 static const int DEFAULT_MIDI_IN_PORT;
116 inline int midiInNumDevices() { return _midiInNumDevices; }
117 void setMidiInNumDevices( int inNum ) { _midiInNumDevices = inNum; }
119 inline int midiOutPort() { return _midiOutPort; }
120 inline void setMidiOutPort( int out ) { _midiOutPort = out; }
121 static const int DEFAULT_MIDI_OUT_PORT;
122 inline int midiOutNumDevices() { return _midiOutNumDevices; }
123 void setMidiOutNumDevices( int outNum ) { _midiOutNumDevices = outNum; }
125
127 // Printing settings //
132 inline QString typesetterLocation() { return _typesetterLocation; }
133 void setTypesetterLocation( QString tl ) { _typesetterLocation = tl; }
134 static const QString DEFAULT_TYPESETTER_LOCATION;
138 inline QString pdfViewerLocation() { return _pdfViewerLocation; }
139 void setPdfViewerLocation( QString pl ) { _pdfViewerLocation = pl; }
140 static const QString DEFAULT_PDF_VIEWER_LOCATION;
144
146 // Action / Command settings //
151#ifndef SWIG
152 int getSingleAction(const QString &oCommandName, QAction *&poResAction);
153 int getSingleAction(const QString &oCommandName, CASingleAction *&poResAction);
158 inline CASingleAction &getSingleAction(int iPos, QList<CASingleAction *> &oActionList) {
159 CASingleAction *poResAction = static_cast<CASingleAction*> (oActionList[iPos]);
160 return *poResAction; }
161
162 bool setSingleAction(QAction oSingleAction, int iPos);
163 inline const QList<CASingleAction*>& getActionList() { return _oActionList; }
164 void setActionList(QList<CASingleAction *> &oActionList);
165 void addSingleAction(CASingleAction &oAction);
166 bool deleteSingleAction(QString oCommandName, CASingleAction *&poResAction);
167#endif
168
169private:
170#ifndef SWIG
172 void readRecentDocuments();
173#endif
174
176 // Editor settings //
183
185 // Loading/Saving settings //
187 QDir _documentsDirectory; // location of directory automatically opened when File->Open is selected
189 int _autoRecoveryInterval; // auto recovery interval in minutes
190 int _maxRecentDocuments; // number of stored recently opened files
191
193 // Appearance settings //
195#ifndef SWIG
207#endif
209 // Playback settings //
211 int _midiOutPort; // -1 disabled, 0+ port number
212 int _midiInPort; // -1 disabled, 0+ port number
213 int _midiOutNumDevices; // last number of MIDI out ports
214 int _midiInNumDevices; // last number of MIDI in ports
215
217 // Printing settings //
224
225/*
226% To adjust the size of notes and fonts in points, it can be done like this:
227% #(set-global-staff-size 16.0)
228
229% Some examples to adjust the page size:
230% \paper { #(set-paper-size "a3") } letter legal
231% \paper { #(set-paper-size "a4" 'landscape) }
232% For special size, like the screen, adjustments can be done like this:
233% \paper{
234% paper-width = 16\cm
235% line-width = 12\cm
236% left-margin = 2\cm
237% top-margin = 3\cm
238% bottom-margin = 3\cm
239% ragged-last-bottom = ##t
240% }
241*/
242
244 // Action/Command settings //
246 QDir _latestShortcutsDirectory; // save location of shortcuts/midi commands
247 // @ToDo: QAction can be exported to SWIG ? Abstract interface but requires QObject
248#ifndef SWIG
249 QList<CASingleAction *> _oActionList;
250 CASingleAction *_poEmptyEntry; // Entry is unused for search function
251#endif
252};
253
254#endif /* SETTINGS_H_ */
CAFileFormatType
Definition: fileformats.h:15
Class for storing the Canorus settings.
Definition: settings.h:21
void setSelectionAreaColor(QColor selectionAreaColor)
Definition: settings.h:97
bool useSystemDefaultPdfViewer()
Definition: settings.h:141
QString pdfViewerLocation()
Definition: settings.h:138
void setDocumentsDirectory(QDir d)
Definition: settings.h:59
void setLatestShortcutsDirectory(QDir d)
Definition: settings.h:149
static const int DEFAULT_MAX_RECENT_DOCUMENTS
Definition: settings.h:69
int _midiInPort
Definition: settings.h:212
bool deleteSingleAction(QString oCommandName, CASingleAction *&poResAction)
Definition: settings.cpp:491
static const QColor DEFAULT_DISABLED_ELEMENTS_COLOR
Definition: settings.h:107
void setLockScrollPlayback(bool l)
Definition: settings.h:76
void setFinaleLyricsBehaviour(bool b)
Definition: settings.h:40
void setUseSystemDefaultTypesetter(bool s)
Definition: settings.h:136
void setMidiOutNumDevices(int outNum)
Definition: settings.h:123
QColor _disabledElementsColor
Definition: settings.h:206
bool _autoBar
Definition: settings.h:181
void writeSettings()
Definition: settings.cpp:133
bool _useSystemDefaultTypesetter
Definition: settings.h:221
bool _antiAliasing
Definition: settings.h:198
void setSelectedContextColor(QColor selectedContextColor)
Definition: settings.h:100
QString _typesetterLocation
Definition: settings.h:220
bool playInsertedNotes()
Definition: settings.h:45
bool showRuler()
Definition: settings.h:84
static const QDir DEFAULT_DOCUMENTS_DIRECTORY
Definition: settings.h:60
void setMaxRecentDocuments(int r)
Definition: settings.h:68
CASettings(QObject *parent=0)
Definition: settings.cpp:98
static const QColor DEFAULT_SELECTION_AREA_COLOR
Definition: settings.h:98
void setTypesetterLocation(QString tl)
Definition: settings.h:133
int getSingleAction(const QString &oCommandName, QAction *&poResAction)
Definition: settings.cpp:390
static const bool DEFAULT_USE_SYSTEM_PDF_VIEWER
Definition: settings.h:143
static const bool DEFAULT_USE_NOTE_CHECKER
Definition: settings.h:53
void setPlayInsertedNotes(bool b)
Definition: settings.h:46
int midiOutPort()
Definition: settings.h:119
CATypesetter::CATypesetterType _typesetter
Definition: settings.h:219
bool _shadowNotesInOtherStaffs
Definition: settings.h:179
void addSingleAction(CASingleAction &oAction)
Definition: settings.cpp:462
QColor selectionAreaColor()
Definition: settings.h:96
QString typesetterLocation()
Definition: settings.h:132
static const int DEFAULT_MIDI_OUT_NUM_DEVICES
Definition: settings.h:124
static const int DEFAULT_MIDI_OUT_PORT
Definition: settings.h:121
void setAutoBar(bool b)
Definition: settings.h:49
QList< CASingleAction * > _oActionList
Definition: settings.h:249
void setUseNoteChecker(bool b)
Definition: settings.h:52
int _midiOutPort
Definition: settings.h:211
int _autoRecoveryInterval
Definition: settings.h:189
static const bool DEFAULT_LOCK_SCROLL_PLAYBACK
Definition: settings.h:77
bool finaleLyricsBehaviour()
Definition: settings.h:39
int _midiOutNumDevices
Definition: settings.h:213
void setShadowNotesInOtherStaffs(bool b)
Definition: settings.h:43
void setHiddenElementsColor(QColor hiddenElementsColor)
Definition: settings.h:106
virtual ~CASettings()
Definition: settings.cpp:110
void writeRecentDocuments()
Definition: settings.cpp:512
void setAnimatedScroll(bool a)
Definition: settings.h:79
static const QString defaultSettingsPath()
Definition: settings.cpp:525
void setDefaultSaveFormat(CAFileFormats::CAFileFormatType t)
Definition: settings.h:62
QDir _documentsDirectory
Definition: settings.h:187
static const bool DEFAULT_SHOW_RULER
Definition: settings.h:86
QColor backgroundColor()
Definition: settings.h:87
static const QColor DEFAULT_SELECTED_CONTEXT_COLOR
Definition: settings.h:101
void setForegroundColor(QColor foregroundColor)
Definition: settings.h:91
const QList< CASingleAction * > & getActionList()
Definition: settings.h:163
void setMidiInNumDevices(int inNum)
Definition: settings.h:117
CASingleAction & getSingleAction(int iPos, QList< CASingleAction * > &oActionList)
Definition: settings.h:158
QDir latestShortcutsDirectory()
Definition: settings.h:148
int readSettings()
Definition: settings.cpp:181
static const QDir DEFAULT_SHORTCUTS_DIRECTORY
Definition: settings.h:150
static const bool DEFAULT_ANTIALIASING
Definition: settings.h:83
static const CAFileFormats::CAFileFormatType DEFAULT_SAVE_FORMAT
Definition: settings.h:63
QColor _hiddenElementsColor
Definition: settings.h:205
bool useNoteChecker()
Definition: settings.h:51
static const CATypesetter::CATypesetterType DEFAULT_TYPESETTER
Definition: settings.h:131
QColor selectedContextColor()
Definition: settings.h:99
bool _showRuler
Definition: settings.h:199
bool _finaleLyricsBehaviour
Definition: settings.h:178
QColor _backgroundColor
Definition: settings.h:200
static const QColor DEFAULT_BACKGROUND_COLOR
Definition: settings.h:89
static const QString DEFAULT_TYPESETTER_LOCATION
Definition: settings.h:134
void setBackgroundColor(QColor backgroundColor)
Definition: settings.h:88
void setMidiInPort(int in)
Definition: settings.cpp:374
bool _useNoteChecker
Definition: settings.h:182
bool lockScrollPlayback()
Definition: settings.h:75
QColor selectionColor()
Definition: settings.h:93
static const int DEFAULT_MIDI_IN_NUM_DEVICES
Definition: settings.h:118
static const bool DEFAULT_PLAY_INSERTED_NOTES
Definition: settings.h:47
bool _playInsertedNotes
Definition: settings.h:180
bool setSingleAction(QAction oSingleAction, int iPos)
Definition: settings.cpp:427
void setActionList(QList< CASingleAction * > &oActionList)
Definition: settings.cpp:444
QColor _selectionColor
Definition: settings.h:202
CAFileFormats::CAFileFormatType _defaultSaveFormat
Definition: settings.h:188
static const QColor DEFAULT_HIDDEN_ELEMENTS_COLOR
Definition: settings.h:104
bool autoBar()
Definition: settings.h:48
QDir _latestShortcutsDirectory
Definition: settings.h:246
void setAntiAliasing(bool a)
Definition: settings.h:82
static const int DEFAULT_AUTO_RECOVERY_INTERVAL
Definition: settings.h:65
void setSelectionColor(QColor selectionColor)
Definition: settings.h:94
int autoRecoveryInterval()
Definition: settings.h:64
bool _useSystemDefaultPdfViewer
Definition: settings.h:223
QColor _foregroundColor
Definition: settings.h:201
QDir documentsDirectory()
Definition: settings.h:58
static const bool DEFAULT_ANIMATED_SCROLL
Definition: settings.h:80
void initSettings()
Definition: settings.cpp:103
static const QColor DEFAULT_FOREGROUND_COLOR
Definition: settings.h:92
void setUseSystemDefaultPdfViewer(bool s)
Definition: settings.h:142
static const bool DEFAULT_SHADOW_NOTES_IN_OTHER_STAFFS
Definition: settings.h:44
void setTypesetter(CATypesetter::CATypesetterType t)
Definition: settings.h:130
bool _animatedScroll
Definition: settings.h:197
CASingleAction * _poEmptyEntry
Definition: settings.h:250
void setMidiOutPort(int out)
Definition: settings.h:120
void readRecentDocuments()
Definition: settings.cpp:507
QColor disabledElementsColor()
Definition: settings.h:105
bool useSystemDefaultTypesetter()
Definition: settings.h:135
bool shadowNotesInOtherStaffs()
Definition: settings.h:42
static const int DEFAULT_MIDI_IN_PORT
Definition: settings.h:115
static const bool DEFAULT_USE_SYSTEM_TYPESETTER
Definition: settings.h:137
QColor _selectionAreaColor
Definition: settings.h:203
int maxRecentDocuments()
Definition: settings.h:67
int _maxRecentDocuments
Definition: settings.h:190
void setShowRuler(bool b)
Definition: settings.h:85
QColor hiddenElementsColor()
Definition: settings.h:102
bool animatedScroll()
Definition: settings.h:78
static const bool DEFAULT_FINALE_LYRICS_BEHAVIOUR
Definition: settings.h:41
static const QString DEFAULT_PDF_VIEWER_LOCATION
Definition: settings.h:140
int midiInPort()
Definition: settings.h:113
bool antiAliasing()
Definition: settings.h:81
QColor foregroundColor()
Definition: settings.h:90
CATypesetter::CATypesetterType typesetter()
Definition: settings.h:129
int midiOutNumDevices()
Definition: settings.h:122
bool _lockScrollPlayback
Definition: settings.h:196
void setPdfViewerLocation(QString pl)
Definition: settings.h:139
int midiInNumDevices()
Definition: settings.h:116
int _midiInNumDevices
Definition: settings.h:214
CAFileFormats::CAFileFormatType defaultSaveFormat()
Definition: settings.h:61
QColor _selectedContextColor
Definition: settings.h:204
static const bool DEFAULT_AUTO_BAR
Definition: settings.h:50
void setDisabledElementsColor(QColor disabledElementsColor)
Definition: settings.h:103
static const QColor DEFAULT_SELECTION_COLOR
Definition: settings.h:95
void setAutoRecoveryInterval(int interval)
Definition: settings.h:65
QString _pdfViewerLocation
Definition: settings.h:222
Definition: singleaction.h:19
CATypesetterType
Definition: typesetter.h:13