1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2 
3 /*
4     Rosegarden
5     A MIDI and audio sequencer and musical notation editor.
6     Copyright 2000-2021 the Rosegarden development team.
7 
8     Other copyrights also apply to some parts of this work.  Please
9     see the AUTHORS file and individual file headers for details.
10 
11     This program is free software; you can redistribute it and/or
12     modify it under the terms of the GNU General Public License as
13     published by the Free Software Foundation; either version 2 of the
14     License, or (at your option) any later version.  See the file
15     COPYING included with this distribution for more information.
16 */
17 
18 #ifndef RG_GENERALCONFIGURATIONPAGE_H
19 #define RG_GENERALCONFIGURATIONPAGE_H
20 
21 #include "TabbedConfigurationPage.h"
22 
23 #include <QString>
24 
25 class QCheckBox;
26 class QComboBox;
27 class QSpinBox;
28 class QWidget;
29 
30 
31 namespace Rosegarden
32 {
33 
34 
35 /**
36  * General Rosegarden Configuration page
37  *
38  * (application-wide settings)
39  */
40 class GeneralConfigurationPage : public TabbedConfigurationPage
41 {
42     Q_OBJECT
43 
44 public:
45     GeneralConfigurationPage(QWidget *parent);
46 
47     enum DoubleClickClient
48     {
49         NotationView,
50         MatrixView,
51         EventView
52     };
53 
54     enum NoteNameStyle
55     {
56         American,
57         Local
58     };
59 
60     enum PdfViewer
61     {
62         Okular,
63         Evince,
64         Acroread,
65         MuPDF,
66         ePDFView,
67         xdgOpen
68     };
69 
70     enum FilePrinter
71     {
72         KPrinter,
73         GtkLP,
74         Lpr,
75         Lp,
76         HPLIP
77     };
ares_create_query(const char * name,int dnsclass,int type,unsigned short id,int rd,unsigned char ** bufp,int * buflenp,int max_udp_size)78 
79     enum MetronomeDuring
80     {
81         DuringCountIn,
82         DuringRecord,
83         DuringBoth
84     };
85 
86     void apply() override;
87 
88     // For ConfigureDialog
89     static QString iconLabel() { return tr("General"); }
90     static QString title()     { return tr("General Configuration"); }
91     static QString iconName()  { return "configure-general"; }
92 
93 signals:
94     void updateAutoSaveInterval(unsigned int);
95 
96 private slots:
97     void slotShowStatus();
98 
99 private:
100     // Behavior tab
101     QComboBox *m_openSegmentsIn;
102     QSpinBox *m_countIn;
103     QComboBox *m_enableMetronomeDuring;
104     QComboBox *m_autoSaveInterval;
105     QCheckBox *m_appendSuffixes;
106     QCheckBox *m_useTrackName;
107     QCheckBox *m_enableEditingDuringPlayback;
108     QCheckBox *m_cleanRecentFilesList;
109     QCheckBox *m_useJackTransport;
110 
111     // Presentation tab
112     QCheckBox *m_Thorn;
113     QComboBox *m_nameStyle;
114     QCheckBox *m_backgroundTextures;
115     QCheckBox *m_notationBackgroundTextures;
116     QCheckBox *m_longTitles;
117     QComboBox *m_trackSize;
118 
119     // External Applications tab
120     QComboBox *m_pdfViewer;
121     QComboBox *m_filePrinter;
122 
123 };
124 
125 
126 }
127 
128 #endif
129