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>
34 lines
762 B
C++
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
|