subsurface/desktop-widgets/preferences/preferencesdialog.h
Berthold Stoeger 2d7be7a0e3 preferences: create global settingsChanged signal
So far, the PreferencesDialog emitted a settingsChanged signal.
This meant that models that listened to that signal had to
conditionally compile out the code for mobile or the connection
had to be made in MainWindow.

Instead, introduce a global signal that does this and move
the connects to the listeners to remove inter-dependencies.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-12 15:52:40 -08:00

34 lines
762 B
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef PREFERENCES_WIDGET_H
#define PREFERENCES_WIDGET_H
#include <QDialog>
#include "core/pref.h"
class AbstractPreferencesWidget;
class QListWidget;
class QStackedWidget;
class QDialogButtonBox;
class QAbstractButton;
class PreferencesDialog : public QDialog {
Q_OBJECT
public:
static PreferencesDialog* instance();
~PreferencesDialog();
void addPreferencePage(AbstractPreferencesWidget *page);
void refreshPages();
void defaultsRequested();
private:
PreferencesDialog();
void cancelRequested();
void applyRequested(bool closeIt);
void buttonClicked(QAbstractButton *btn);
QList<AbstractPreferencesWidget*> pages;
QListWidget *pagesList;
QStackedWidget *pagesStack;
QDialogButtonBox *buttonBox;
};
#endif