Rewrite the setup dialog (#3820)
This commit is contained in:
@@ -36,6 +36,7 @@
|
||||
|
||||
#include "lmms_export.h"
|
||||
|
||||
|
||||
class LmmsCore;
|
||||
|
||||
|
||||
@@ -57,61 +58,22 @@ class LMMS_EXPORT ConfigManager : public QObject
|
||||
public:
|
||||
static inline ConfigManager * inst()
|
||||
{
|
||||
if( s_instanceOfMe == NULL )
|
||||
if(s_instanceOfMe == NULL )
|
||||
{
|
||||
s_instanceOfMe = new ConfigManager();
|
||||
}
|
||||
return s_instanceOfMe;
|
||||
}
|
||||
|
||||
const QString & dataDir() const
|
||||
{
|
||||
return m_dataDir;
|
||||
}
|
||||
|
||||
const QString & workingDir() const
|
||||
{
|
||||
return m_workingDir;
|
||||
}
|
||||
|
||||
QString userProjectsDir() const
|
||||
const QString & dataDir() const
|
||||
{
|
||||
return workingDir() + PROJECTS_PATH;
|
||||
}
|
||||
|
||||
QString userTemplateDir() const
|
||||
{
|
||||
return workingDir() + TEMPLATE_PATH;
|
||||
}
|
||||
|
||||
QString userPresetsDir() const
|
||||
{
|
||||
return workingDir() + PRESETS_PATH;
|
||||
}
|
||||
|
||||
QString userSamplesDir() const
|
||||
{
|
||||
return workingDir() + SAMPLES_PATH;
|
||||
}
|
||||
|
||||
QString userGigDir() const
|
||||
{
|
||||
return workingDir() + GIG_PATH;
|
||||
}
|
||||
|
||||
QString userSf2Dir() const
|
||||
{
|
||||
return workingDir() + SF2_PATH;
|
||||
}
|
||||
|
||||
QString userLadspaDir() const
|
||||
{
|
||||
return workingDir() + LADSPA_PATH;
|
||||
}
|
||||
|
||||
QString userVstDir() const
|
||||
{
|
||||
return m_vstDir;
|
||||
return m_dataDir;
|
||||
}
|
||||
|
||||
QString factoryProjectsDir() const
|
||||
@@ -134,37 +96,27 @@ public:
|
||||
return dataDir() + SAMPLES_PATH;
|
||||
}
|
||||
|
||||
QString defaultVersion() const;
|
||||
|
||||
QString defaultArtworkDir() const
|
||||
QString userProjectsDir() const
|
||||
{
|
||||
return m_dataDir + DEFAULT_THEME_PATH;
|
||||
return workingDir() + PROJECTS_PATH;
|
||||
}
|
||||
|
||||
QString artworkDir() const
|
||||
QString userTemplateDir() const
|
||||
{
|
||||
return m_artworkDir;
|
||||
return workingDir() + TEMPLATE_PATH;
|
||||
}
|
||||
|
||||
QString trackIconsDir() const
|
||||
QString userPresetsDir() const
|
||||
{
|
||||
return m_dataDir + TRACK_ICON_PATH;
|
||||
return workingDir() + PRESETS_PATH;
|
||||
}
|
||||
|
||||
QString localeDir() const
|
||||
QString userSamplesDir() const
|
||||
{
|
||||
return m_dataDir + LOCALE_PATH;
|
||||
return workingDir() + SAMPLES_PATH;
|
||||
}
|
||||
|
||||
const QString & gigDir() const
|
||||
{
|
||||
return m_gigDir;
|
||||
}
|
||||
|
||||
const QString & sf2Dir() const
|
||||
{
|
||||
return m_sf2Dir;
|
||||
}
|
||||
|
||||
const QString & vstDir() const
|
||||
{
|
||||
@@ -173,18 +125,20 @@ public:
|
||||
|
||||
const QString & ladspaDir() const
|
||||
{
|
||||
return m_ladDir;
|
||||
return m_ladspaDir;
|
||||
}
|
||||
|
||||
const QString recoveryFile() const
|
||||
const QString & sf2Dir() const
|
||||
{
|
||||
return m_workingDir + "recover.mmp";
|
||||
return m_sf2Dir;
|
||||
}
|
||||
|
||||
const QString & version() const
|
||||
|
||||
#ifdef LMMS_HAVE_FLUIDSYNTH
|
||||
const QString & sf2File() const
|
||||
{
|
||||
return m_version;
|
||||
return m_sf2File;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef LMMS_HAVE_STK
|
||||
const QString & stkDir() const
|
||||
@@ -193,16 +147,55 @@ public:
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef LMMS_HAVE_FLUIDSYNTH
|
||||
const QString & defaultSoundfont() const
|
||||
const QString & gigDir() const
|
||||
{
|
||||
return m_defaultSoundfont;
|
||||
return m_gigDir;
|
||||
}
|
||||
#endif
|
||||
|
||||
const QString & backgroundArtwork() const
|
||||
|
||||
QString userVstDir() const
|
||||
{
|
||||
return m_backgroundArtwork;
|
||||
return m_vstDir;
|
||||
}
|
||||
|
||||
QString userLadspaDir() const
|
||||
{
|
||||
return workingDir() + LADSPA_PATH;
|
||||
}
|
||||
|
||||
QString userSf2Dir() const
|
||||
{
|
||||
return workingDir() + SF2_PATH;
|
||||
}
|
||||
|
||||
QString userGigDir() const
|
||||
{
|
||||
return workingDir() + GIG_PATH;
|
||||
}
|
||||
|
||||
QString defaultThemeDir() const
|
||||
{
|
||||
return m_dataDir + DEFAULT_THEME_PATH;
|
||||
}
|
||||
|
||||
QString themeDir() const
|
||||
{
|
||||
return m_themeDir;
|
||||
}
|
||||
|
||||
const QString & backgroundPicFile() const
|
||||
{
|
||||
return m_backgroundPicFile;
|
||||
}
|
||||
|
||||
QString trackIconsDir() const
|
||||
{
|
||||
return m_dataDir + TRACK_ICON_PATH;
|
||||
}
|
||||
|
||||
const QString recoveryFile() const
|
||||
{
|
||||
return m_workingDir + "recover.mmp";
|
||||
}
|
||||
|
||||
inline const QStringList & recentlyOpenedProjects() const
|
||||
@@ -210,39 +203,51 @@ public:
|
||||
return m_recentlyOpenedProjects;
|
||||
}
|
||||
|
||||
QString localeDir() const
|
||||
{
|
||||
return m_dataDir + LOCALE_PATH;
|
||||
}
|
||||
|
||||
const QString & version() const
|
||||
{
|
||||
return m_version;
|
||||
}
|
||||
|
||||
QString defaultVersion() const;
|
||||
|
||||
|
||||
static QStringList availabeVstEmbedMethods();
|
||||
QString vstEmbedMethod() const;
|
||||
|
||||
// returns true if the working dir (e.g. ~/lmms) exists on disk
|
||||
// Returns true if the working dir (e.g. ~/lmms) exists on disk.
|
||||
bool hasWorkingDir() const;
|
||||
|
||||
void addRecentlyOpenedProject( const QString & _file );
|
||||
void addRecentlyOpenedProject(const QString & _file);
|
||||
|
||||
const QString & value( const QString & cls,
|
||||
const QString & attribute ) const;
|
||||
const QString & value( const QString & cls,
|
||||
const QString & value(const QString & cls,
|
||||
const QString & attribute) const;
|
||||
const QString & value(const QString & cls,
|
||||
const QString & attribute,
|
||||
const QString & defaultVal ) const;
|
||||
void setValue( const QString & cls, const QString & attribute,
|
||||
const QString & value );
|
||||
void deleteValue( const QString & cls, const QString & attribute);
|
||||
const QString & defaultVal) const;
|
||||
void setValue(const QString & cls, const QString & attribute,
|
||||
const QString & value);
|
||||
void deleteValue(const QString & cls, const QString & attribute);
|
||||
|
||||
void loadConfigFile( const QString & configFile = "" );
|
||||
void loadConfigFile(const QString & configFile = "");
|
||||
void saveConfigFile();
|
||||
|
||||
|
||||
void setWorkingDir( const QString & _wd );
|
||||
void setVSTDir( const QString & _vd );
|
||||
void setArtworkDir( const QString & _ad );
|
||||
void setLADSPADir( const QString & _fd );
|
||||
void setVersion( const QString & _cv );
|
||||
void setSTKDir( const QString & _fd );
|
||||
void setDefaultSoundfont( const QString & _sf );
|
||||
void setBackgroundArtwork( const QString & _ba );
|
||||
void setGIGDir( const QString & gd );
|
||||
void setSF2Dir( const QString & sfd );
|
||||
void setWorkingDir(const QString & workingDir);
|
||||
void setVSTDir(const QString & vstDir);
|
||||
void setLADSPADir(const QString & ladspaDir);
|
||||
void setSF2Dir(const QString & sf2Dir);
|
||||
void setSF2File(const QString & sf2File);
|
||||
void setSTKDir(const QString & stkDir);
|
||||
void setGIGDir(const QString & gigDir);
|
||||
void setThemeDir(const QString & themeDir);
|
||||
void setBackgroundPicFile(const QString & backgroundPicFile);
|
||||
|
||||
// creates the working directory & subdirectories on disk.
|
||||
// Creates the working directory & subdirectories on disk.
|
||||
void createWorkingDir();
|
||||
|
||||
signals:
|
||||
@@ -252,29 +257,29 @@ private:
|
||||
static ConfigManager * s_instanceOfMe;
|
||||
|
||||
ConfigManager();
|
||||
ConfigManager( const ConfigManager & _c );
|
||||
ConfigManager(const ConfigManager & _c);
|
||||
~ConfigManager();
|
||||
|
||||
void upgrade_1_1_90();
|
||||
void upgrade_1_1_91();
|
||||
void upgrade();
|
||||
|
||||
QString m_lmmsRcFile;
|
||||
QString m_workingDir;
|
||||
QString m_dataDir;
|
||||
QString m_artworkDir;
|
||||
QString m_vstDir;
|
||||
QString m_ladDir;
|
||||
QString m_gigDir;
|
||||
QString m_ladspaDir;
|
||||
QString m_sf2Dir;
|
||||
QString m_version;
|
||||
#ifdef LMMS_HAVE_FLUIDSYNTH
|
||||
QString m_sf2File;
|
||||
#endif
|
||||
#ifdef LMMS_HAVE_STK
|
||||
QString m_stkDir;
|
||||
#endif
|
||||
#ifdef LMMS_HAVE_FLUIDSYNTH
|
||||
QString m_defaultSoundfont;
|
||||
#endif
|
||||
QString m_backgroundArtwork;
|
||||
QString m_gigDir;
|
||||
QString m_themeDir;
|
||||
QString m_backgroundPicFile;
|
||||
QString m_lmmsRcFile;
|
||||
QString m_version;
|
||||
QStringList m_recentlyOpenedProjects;
|
||||
|
||||
typedef QVector<QPair<QString, QString> > stringPairVector;
|
||||
@@ -283,7 +288,5 @@ private:
|
||||
|
||||
|
||||
friend class LmmsCore;
|
||||
|
||||
} ;
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
/*
|
||||
* SetupDialog.h - dialog for setting up LMMS
|
||||
*
|
||||
@@ -23,20 +22,20 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef SETUP_DIALOG_H
|
||||
#define SETUP_DIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QtCore/QMap>
|
||||
|
||||
#include "AudioDevice.h"
|
||||
#include "AudioDeviceSetupWidget.h"
|
||||
#include "LedCheckbox.h"
|
||||
#include "lmmsconfig.h"
|
||||
#include "AudioDevice.h"
|
||||
#include "MidiClient.h"
|
||||
#include "MidiSetupWidget.h"
|
||||
|
||||
#include "AudioDeviceSetupWidget.h"
|
||||
|
||||
|
||||
class QComboBox;
|
||||
class QLabel;
|
||||
@@ -48,17 +47,18 @@ class TabBar;
|
||||
class SetupDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum ConfigTabs
|
||||
{
|
||||
GeneralSettings,
|
||||
PathSettings,
|
||||
PerformanceSettings,
|
||||
AudioSettings,
|
||||
MidiSettings
|
||||
} ;
|
||||
MidiSettings,
|
||||
PathsSettings
|
||||
};
|
||||
|
||||
SetupDialog( ConfigTabs _tab_to_open = GeneralSettings );
|
||||
SetupDialog(ConfigTabs tab_to_open = GeneralSettings);
|
||||
virtual ~SetupDialog();
|
||||
|
||||
|
||||
@@ -67,148 +67,136 @@ protected slots:
|
||||
|
||||
|
||||
private slots:
|
||||
// general settings widget
|
||||
void setBufferSize( int _value );
|
||||
void resetBufSize();
|
||||
// General settings widget.
|
||||
void toggleDisplaydBFS(bool enabled);
|
||||
void toggleTooltips(bool enabled);
|
||||
void toggleDisplayWaveform(bool enabled);
|
||||
void toggleNoteLabels(bool enabled);
|
||||
void toggleCompactTrackButtons(bool enabled);
|
||||
void toggleOneInstrumentTrackWindow(bool enabled);
|
||||
void toggleMMPZ(bool enabled);
|
||||
void toggleDisableBackup(bool enabled);
|
||||
void toggleOpenLastProject(bool enabled);
|
||||
void setLanguage(int lang);
|
||||
|
||||
// path settings widget
|
||||
void setWorkingDir( const QString & _wd );
|
||||
void setVSTDir( const QString & _vd );
|
||||
void setGIGDir( const QString & _gd );
|
||||
void setSF2Dir( const QString & _sfd );
|
||||
void setArtworkDir( const QString & _ad );
|
||||
void setLADSPADir( const QString & _ld );
|
||||
void setSTKDir( const QString & _sd );
|
||||
void setDefaultSoundfont( const QString & _sf );
|
||||
void setBackgroundArtwork( const QString & _ba );
|
||||
|
||||
// performance settings widget
|
||||
void setAutoSaveInterval( int time );
|
||||
// Performance settings widget.
|
||||
void setAutoSaveInterval(int time);
|
||||
void resetAutoSave();
|
||||
|
||||
// audio settings widget
|
||||
void audioInterfaceChanged( const QString & _driver );
|
||||
|
||||
// MIDI settings widget
|
||||
void midiInterfaceChanged( const QString & _driver );
|
||||
|
||||
|
||||
void toggleToolTips( bool _enabled );
|
||||
void toggleWarnAfterSetup( bool _enabled );
|
||||
void toggleDisplaydBFS( bool _enabled );
|
||||
void toggleMMPZ( bool _enabled );
|
||||
void toggleDisableBackup( bool _enabled );
|
||||
void toggleOpenLastProject( bool _enabled );
|
||||
void toggleHQAudioDev( bool _enabled );
|
||||
|
||||
void openWorkingDir();
|
||||
void openVSTDir();
|
||||
void openGIGDir();
|
||||
void openSF2Dir();
|
||||
void openArtworkDir();
|
||||
void openLADSPADir();
|
||||
void openSTKDir();
|
||||
void openDefaultSoundfont();
|
||||
void openBackgroundArtwork();
|
||||
|
||||
void toggleSmoothScroll( bool _enabled );
|
||||
void toggleAutoSave( bool _enabled );
|
||||
void toggleRunningAutoSave( bool _enabled );
|
||||
void toggleOneInstrumentTrackWindow( bool _enabled );
|
||||
void toggleCompactTrackButtons( bool _enabled );
|
||||
void toggleSyncVSTPlugins( bool _enabled );
|
||||
void toggleAnimateAFP( bool _enabled );
|
||||
void toggleNoteLabels( bool en );
|
||||
void toggleDisplayWaveform( bool en );
|
||||
void toggleDisableAutoquit( bool en );
|
||||
|
||||
void toggleAutoSave(bool enabled);
|
||||
void toggleRunningAutoSave(bool enabled);
|
||||
void toggleSmoothScroll(bool enabled);
|
||||
void toggleAnimateAFP(bool enabled);
|
||||
void toggleSyncVSTPlugins(bool enabled);
|
||||
void vstEmbedMethodChanged();
|
||||
void toggleVSTAlwaysOnTop( bool en );
|
||||
void toggleVSTAlwaysOnTop(bool en);
|
||||
void toggleDisableAutoQuit(bool enabled);
|
||||
|
||||
void setLanguage( int lang );
|
||||
// Audio settings widget.
|
||||
void audioInterfaceChanged(const QString & driver);
|
||||
void toggleHQAudioDev(bool enabled);
|
||||
void setBufferSize(int value);
|
||||
void resetBufferSize();
|
||||
|
||||
// MIDI settings widget.
|
||||
void midiInterfaceChanged(const QString & driver);
|
||||
|
||||
// Paths settings widget.
|
||||
void openWorkingDir();
|
||||
void setWorkingDir(const QString & workingDir);
|
||||
void openVSTDir();
|
||||
void setVSTDir(const QString & vstDir);
|
||||
void openLADSPADir();
|
||||
void setLADSPADir(const QString & ladspaDir);
|
||||
void openSF2Dir();
|
||||
void setSF2Dir(const QString & sf2Dir);
|
||||
void openSF2File();
|
||||
void setSF2File(const QString & sf2File);
|
||||
void openGIGDir();
|
||||
void setGIGDir(const QString & gigDir);
|
||||
void openThemeDir();
|
||||
void setThemeDir(const QString & themeDir);
|
||||
void openBackgroundPicFile();
|
||||
void setBackgroundPicFile(const QString & backgroundPicFile);
|
||||
|
||||
void showRestartWarning();
|
||||
|
||||
private:
|
||||
TabBar * m_tabBar;
|
||||
|
||||
QSlider * m_bufSizeSlider;
|
||||
QLabel * m_bufSizeLbl;
|
||||
int m_bufferSize;
|
||||
|
||||
bool m_toolTips;
|
||||
bool m_warnAfterSetup;
|
||||
// General settings widgets.
|
||||
bool m_displaydBFS;
|
||||
bool m_tooltips;
|
||||
bool m_displayWaveform;
|
||||
bool m_printNoteLabels;
|
||||
bool m_compactTrackButtons;
|
||||
bool m_oneInstrumentTrackWindow;
|
||||
bool m_MMPZ;
|
||||
bool m_disableBackup;
|
||||
bool m_openLastProject;
|
||||
bool m_NaNHandler;
|
||||
bool m_hqAudioDev;
|
||||
QString m_lang;
|
||||
QStringList m_languages;
|
||||
|
||||
|
||||
QLineEdit * m_wdLineEdit;
|
||||
QLineEdit * m_vdLineEdit;
|
||||
QLineEdit * m_adLineEdit;
|
||||
QLineEdit * m_ladLineEdit;
|
||||
QLineEdit * m_gigLineEdit;
|
||||
QLineEdit * m_sf2LineEdit;
|
||||
#ifdef LMMS_HAVE_FLUIDSYNTH
|
||||
QLineEdit * m_sfLineEdit;
|
||||
#endif
|
||||
#ifdef LMMS_HAVE_STK
|
||||
QLineEdit * m_stkLineEdit;
|
||||
#endif
|
||||
QLineEdit * m_baLineEdit;
|
||||
|
||||
QString m_workingDir;
|
||||
QString m_vstDir;
|
||||
QString m_artworkDir;
|
||||
QString m_ladDir;
|
||||
QString m_gigDir;
|
||||
QString m_sf2Dir;
|
||||
#ifdef LMMS_HAVE_FLUIDSYNTH
|
||||
QString m_defaultSoundfont;
|
||||
#endif
|
||||
#ifdef LMMS_HAVE_STK
|
||||
QString m_stkDir;
|
||||
#endif
|
||||
QString m_backgroundArtwork;
|
||||
|
||||
bool m_smoothScroll;
|
||||
// Performance settings widgets.
|
||||
int m_saveInterval;
|
||||
bool m_enableAutoSave;
|
||||
bool m_enableRunningAutoSave;
|
||||
int m_saveInterval;
|
||||
QSlider * m_saveIntervalSlider;
|
||||
QLabel * m_saveIntervalLbl;
|
||||
LedCheckBox * m_autoSave;
|
||||
LedCheckBox * m_runningAutoSave;
|
||||
|
||||
bool m_oneInstrumentTrackWindow;
|
||||
bool m_compactTrackButtons;
|
||||
bool m_syncVSTPlugins;
|
||||
bool m_smoothScroll;
|
||||
bool m_animateAFP;
|
||||
bool m_printNoteLabels;
|
||||
bool m_displayWaveform;
|
||||
QLabel * m_vstEmbedLbl;
|
||||
QComboBox* m_vstEmbedComboBox;
|
||||
QString m_vstEmbedMethod;
|
||||
LedCheckBox * m_vstAlwaysOnTopCheckBox;
|
||||
bool m_vstAlwaysOnTop;
|
||||
bool m_syncVSTPlugins;
|
||||
bool m_disableAutoQuit;
|
||||
|
||||
|
||||
typedef QMap<QString, AudioDeviceSetupWidget *> AswMap;
|
||||
typedef QMap<QString, MidiSetupWidget *> MswMap;
|
||||
typedef QMap<QString, QString> trMap;
|
||||
|
||||
// Audio settings widgets.
|
||||
QComboBox * m_audioInterfaces;
|
||||
AswMap m_audioIfaceSetupWidgets;
|
||||
trMap m_audioIfaceNames;
|
||||
bool m_NaNHandler;
|
||||
bool m_hqAudioDev;
|
||||
int m_bufferSize;
|
||||
QSlider * m_bufferSizeSlider;
|
||||
QLabel * m_bufferSizeLbl;
|
||||
|
||||
// MIDI settings widgets.
|
||||
QComboBox * m_midiInterfaces;
|
||||
MswMap m_midiIfaceSetupWidgets;
|
||||
trMap m_midiIfaceNames;
|
||||
|
||||
QComboBox* m_vstEmbedComboBox;
|
||||
QString m_vstEmbedMethod;
|
||||
LedCheckBox * m_vstAlwaysOnTopCheckBox;
|
||||
bool m_vstAlwaysOnTop;
|
||||
} ;
|
||||
|
||||
|
||||
// Paths settings widgets.
|
||||
QString m_workingDir;
|
||||
QString m_vstDir;
|
||||
QString m_ladspaDir;
|
||||
QString m_gigDir;
|
||||
QString m_sf2Dir;
|
||||
#ifdef LMMS_HAVE_FLUIDSYNTH
|
||||
QString m_sf2File;
|
||||
#endif
|
||||
QString m_themeDir;
|
||||
QString m_backgroundPicFile;
|
||||
|
||||
QLineEdit * m_workingDirLineEdit;
|
||||
QLineEdit * m_vstDirLineEdit;
|
||||
QLineEdit * m_themeDirLineEdit;
|
||||
QLineEdit * m_ladspaDirLineEdit;
|
||||
QLineEdit * m_gigDirLineEdit;
|
||||
QLineEdit * m_sf2DirLineEdit;
|
||||
#ifdef LMMS_HAVE_FLUIDSYNTH
|
||||
QLineEdit * m_sf2FileLineEdit;
|
||||
#endif
|
||||
QLineEdit * m_backgroundPicFileLineEdit;
|
||||
|
||||
QLabel * restartWarningLbl;
|
||||
};
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user