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