mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Preferences: Remove the old dialog and use the new one
The new preferences dialog still needs a bit of fine tuning but should already work. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
8a3fb854c2
commit
ff57881265
11 changed files with 31 additions and 65 deletions
|
@ -30,7 +30,6 @@ set(SUBSURFACE_INTERFACE
|
|||
mainwindow.cpp
|
||||
modeldelegates.cpp
|
||||
notificationwidget.cpp
|
||||
preferences.cpp
|
||||
simplewidgets.cpp
|
||||
starwidget.cpp
|
||||
subsurfacewebservices.cpp
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include "version.h"
|
||||
#include "divelistview.h"
|
||||
#include "downloadfromdivecomputer.h"
|
||||
#include "preferences.h"
|
||||
#include "subsurfacewebservices.h"
|
||||
#include "divecomputermanagementdialog.h"
|
||||
#include "about.h"
|
||||
|
@ -278,8 +277,6 @@ MainWindow::MainWindow() : QMainWindow(),
|
|||
|
||||
ui.menubar->show();
|
||||
set_git_update_cb(&updateProgress);
|
||||
PreferencesDialogV2 *d = new PreferencesDialogV2();
|
||||
d->show();
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
|
@ -1785,6 +1782,7 @@ void MainWindow::editCurrentDive()
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: Remove the dependency to the PreferencesDialog here.
|
||||
#define PREF_PROFILE(QT_PREFS) \
|
||||
QSettings s; \
|
||||
s.beginGroup("TecDetails"); \
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
#ifndef PREFERENCES_H
|
||||
#define PREFERENCES_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "pref.h"
|
||||
|
||||
#include "ui_preferences.h"
|
||||
|
||||
#ifndef Q_OS_ANDROID
|
||||
class QWebView;
|
||||
#endif
|
||||
|
||||
class QAbstractButton;
|
||||
|
||||
class PreferencesDialog : public QDialog {
|
||||
Q_OBJECT
|
||||
public:
|
||||
static PreferencesDialog *instance();
|
||||
void showEvent(QShowEvent *);
|
||||
void emitSettingsChanged();
|
||||
|
||||
signals:
|
||||
void settingsChanged();
|
||||
public
|
||||
slots:
|
||||
void buttonClicked(QAbstractButton *button);
|
||||
void syncSettings();
|
||||
void loadSettings();
|
||||
void restorePrefs();
|
||||
void rememberPrefs();
|
||||
void facebookLoggedIn();
|
||||
void facebookDisconnect();
|
||||
private:
|
||||
explicit PreferencesDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
|
||||
void setUiFromPrefs();
|
||||
Ui::PreferencesDialog ui;
|
||||
struct preferences oldPrefs;
|
||||
#ifndef Q_OS_ANDROID
|
||||
QWebView *facebookWebView;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif // PREFERENCES_H
|
|
@ -1,6 +1,5 @@
|
|||
#include "preferences_network.h"
|
||||
#include "ui_preferences_network.h"
|
||||
#include "preferences.h"
|
||||
#include "dive.h"
|
||||
#include "subsurfacewebservices.h"
|
||||
#include "subsurface-core/prefs-macros.h"
|
||||
|
|
|
@ -16,7 +16,18 @@
|
|||
#include <QAbstractButton>
|
||||
#include <QDebug>
|
||||
|
||||
PreferencesDialogV2::PreferencesDialogV2()
|
||||
PreferencesDialog* PreferencesDialog::instance()
|
||||
{
|
||||
PreferencesDialog *self = new PreferencesDialog();
|
||||
return self;
|
||||
}
|
||||
|
||||
void PreferencesDialog::emitSettingsChanged()
|
||||
{
|
||||
emit settingsChanged();
|
||||
}
|
||||
|
||||
PreferencesDialog::PreferencesDialog()
|
||||
{
|
||||
pagesList = new QListWidget();
|
||||
pagesStack = new QStackedWidget();
|
||||
|
@ -48,14 +59,14 @@ PreferencesDialogV2::PreferencesDialogV2()
|
|||
connect(pagesList, &QListWidget::currentRowChanged,
|
||||
pagesStack, &QStackedWidget::setCurrentIndex);
|
||||
connect(buttonBox, &QDialogButtonBox::clicked,
|
||||
this, &PreferencesDialogV2::buttonClicked);
|
||||
this, &PreferencesDialog::buttonClicked);
|
||||
}
|
||||
|
||||
PreferencesDialogV2::~PreferencesDialogV2()
|
||||
PreferencesDialog::~PreferencesDialog()
|
||||
{
|
||||
}
|
||||
|
||||
void PreferencesDialogV2::buttonClicked(QAbstractButton* btn)
|
||||
void PreferencesDialog::buttonClicked(QAbstractButton* btn)
|
||||
{
|
||||
QDialogButtonBox::ButtonRole role = buttonBox->buttonRole(btn);
|
||||
switch(role) {
|
||||
|
@ -70,13 +81,13 @@ bool abstractpreferenceswidget_lessthan(AbstractPreferencesWidget *p1, AbstractP
|
|||
return p1->positionHeight() <= p2->positionHeight();
|
||||
}
|
||||
|
||||
void PreferencesDialogV2::addPreferencePage(AbstractPreferencesWidget *page)
|
||||
void PreferencesDialog::addPreferencePage(AbstractPreferencesWidget *page)
|
||||
{
|
||||
pages.push_back(page);
|
||||
qSort(pages.begin(), pages.end(), abstractpreferenceswidget_lessthan);
|
||||
}
|
||||
|
||||
void PreferencesDialogV2::refreshPages()
|
||||
void PreferencesDialog::refreshPages()
|
||||
{
|
||||
// Remove things
|
||||
pagesList->clear();
|
||||
|
@ -95,7 +106,7 @@ void PreferencesDialogV2::refreshPages()
|
|||
}
|
||||
}
|
||||
|
||||
void PreferencesDialogV2::applyRequested()
|
||||
void PreferencesDialog::applyRequested()
|
||||
{
|
||||
Q_FOREACH(AbstractPreferencesWidget *page, pages) {
|
||||
page->syncSettings();
|
||||
|
@ -104,7 +115,7 @@ void PreferencesDialogV2::applyRequested()
|
|||
accept();
|
||||
}
|
||||
|
||||
void PreferencesDialogV2::cancelRequested()
|
||||
void PreferencesDialog::cancelRequested()
|
||||
{
|
||||
Q_FOREACH(AbstractPreferencesWidget *page, pages) {
|
||||
page->refreshSettings();
|
||||
|
@ -112,7 +123,7 @@ void PreferencesDialogV2::cancelRequested()
|
|||
reject();
|
||||
}
|
||||
|
||||
void PreferencesDialogV2::defaultsRequested()
|
||||
void PreferencesDialog::defaultsRequested()
|
||||
{
|
||||
prefs = default_prefs;
|
||||
Q_FOREACH(AbstractPreferencesWidget *page, pages) {
|
||||
|
|
|
@ -10,16 +10,18 @@ class QStackedWidget;
|
|||
class QDialogButtonBox;
|
||||
class QAbstractButton;
|
||||
|
||||
class PreferencesDialogV2 : public QDialog {
|
||||
class PreferencesDialog : public QDialog {
|
||||
Q_OBJECT
|
||||
public:
|
||||
PreferencesDialogV2();
|
||||
virtual ~PreferencesDialogV2();
|
||||
static PreferencesDialog* instance();
|
||||
virtual ~PreferencesDialog();
|
||||
void addPreferencePage(AbstractPreferencesWidget *page);
|
||||
void refreshPages();
|
||||
void emitSettingsChanged();
|
||||
signals:
|
||||
void settingsChanged();
|
||||
private:
|
||||
PreferencesDialog();
|
||||
void cancelRequested();
|
||||
void applyRequested();
|
||||
void defaultsRequested();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "divecartesianaxis.h"
|
||||
#include "divetextitem.h"
|
||||
#include "helpers.h"
|
||||
#include "preferences.h"
|
||||
#include "preferences/preferencesdialog.h"
|
||||
#include "diveplotdatamodel.h"
|
||||
#include "animationfunctions.h"
|
||||
#include "mainwindow.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "divepixmapitem.h"
|
||||
#include "animationfunctions.h"
|
||||
#include "divepicturemodel.h"
|
||||
#include <preferences.h>
|
||||
#include "preferences/preferencesdialog.h"
|
||||
|
||||
#include <QDesktopServices>
|
||||
#include <QGraphicsView>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#include "animationfunctions.h"
|
||||
#include "dive.h"
|
||||
#include "profile.h"
|
||||
#include "preferences.h"
|
||||
#include "preferences/preferencesdialog.h"
|
||||
#include "diveplannermodel.h"
|
||||
#include "helpers.h"
|
||||
#include "libdivecomputer/parser.h"
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
#include <QTableView>
|
||||
#endif
|
||||
#include "mainwindow.h"
|
||||
#include <preferences.h>
|
||||
#include "preferences/preferencesdialog.h"
|
||||
|
||||
/* This is the global 'Item position' variable.
|
||||
* it should tell you where to position things up
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include "ruleritem.h"
|
||||
#include "preferences.h"
|
||||
#include "preferences/preferencesdialog.h"
|
||||
#include "mainwindow.h"
|
||||
#include "profilewidget2.h"
|
||||
#include "display.h"
|
||||
|
|
Loading…
Reference in a new issue