MCPcopy Create free account
hub / github.com/KDE/labplot / SettingsDialog

Method SettingsDialog

src/frontend/SettingsDialog.cpp:42–104  ·  view source on GitHub ↗

* \brief Settings dialog for Labplot. * * Contains the pages for general settings and view settings. * */

Source from the content-addressed store, hash-verified

40 *
41 */
42SettingsDialog::SettingsDialog(QWidget* parent, const QLocale& locale)
43 : KPageDialog(parent) {
44 setFaceType(Tree);
45 setWindowTitle(i18nc("@title:window", "Preferences"));
46 setWindowIcon(QIcon::fromTheme(QLatin1String("preferences-other")));
47 setAttribute(Qt::WA_DeleteOnClose);
48
49 buttonBox()->addButton(QDialogButtonBox::Apply)->setEnabled(false);
50 buttonBox()->addButton(QDialogButtonBox::RestoreDefaults);
51 connect(buttonBox(), &QDialogButtonBox::clicked, this, &SettingsDialog::slotButtonClicked);
52
53 m_generalPage = new SettingsGeneralPage(this, locale);
54 KPageWidgetItem* generalFrame = addPage(m_generalPage, i18n("General"));
55 generalFrame->setIcon(QIcon::fromTheme(QLatin1String("settings-configure")));
56 connect(m_generalPage, &SettingsGeneralPage::settingsChanged, this, &SettingsDialog::changed);
57
58 m_worksheetPage = new SettingsWorksheetPage(this);
59 m_worksheetPageItem = addPage(m_worksheetPage, i18n("Worksheet"));
60 m_worksheetPageItem->setIcon(QIcon::fromTheme(QLatin1String("labplot-worksheet")));
61 connect(m_worksheetPage, &SettingsWorksheetPage::settingsChanged, this, &SettingsDialog::changed);
62
63 m_spreadsheetPage = new SettingsSpreadsheetPage(this);
64 m_spreadsheetPageItem = addPage(m_spreadsheetPage, i18n("Spreadsheet"));
65 m_spreadsheetPageItem->setIcon(QIcon::fromTheme(QLatin1String("labplot-spreadsheet")));
66 connect(m_spreadsheetPage, &SettingsSpreadsheetPage::settingsChanged, this, &SettingsDialog::changed);
67
68#ifdef HAVE_CANTOR_LIBS
69 m_notebookPage = new SettingsNotebookPage(this);
70 m_notebookPageItem = addPage(m_notebookPage, i18n("Notebook"));
71 m_notebookPage->addSubPages(m_notebookPageItem, this);
72 m_notebookPageItem->setIcon(QIcon::fromTheme(QLatin1String("cantor")));
73 connect(m_notebookPage, &SettingsNotebookPage::settingsChanged, this, &SettingsDialog::changed);
74#endif
75
76 m_datasetsPage = new SettingsDatasetsPage(this);
77 m_datasetsPageItem = addPage(m_datasetsPage, i18n("Datasets"));
78 m_datasetsPageItem->setIcon(QIcon::fromTheme(QLatin1String("database-index")));
79 connect(m_datasetsPage, &SettingsDatasetsPage::settingsChanged, this, &SettingsDialog::changed);
80
81 // m_welcomePage = new SettingsWelcomePage(this);
82 // KPageWidgetItem* welcomeFrame = addPage(m_welcomePage, i18n("Welcome Screen"));
83 // welcomeFrame->setIcon(QIcon::fromTheme(QLatin1String("database-index")));
84 // connect(m_welcomePage, &SettingsWelcomePage::resetWelcomeScreen, this, &SettingsDialog::resetWelcomeScreen);
85
86#ifdef HAVE_KUSERFEEDBACK
87 auto* mainWin = static_cast<MainWin*>(parent);
88 m_userFeedbackWidget = new KUserFeedback::FeedbackConfigWidget(this);
89 m_userFeedbackWidget->setFeedbackProvider(&mainWin->userFeedbackProvider());
90 connect(m_userFeedbackWidget, &KUserFeedback::FeedbackConfigWidget::configurationChanged, this, &SettingsDialog::changed);
91
92 m_userFeedbackPageItem = addPage(m_userFeedbackWidget, i18n("User Feedback"));
93 m_userFeedbackPageItem->setIcon(QIcon::fromTheme(QLatin1String("preferences-desktop-locale")));
94#endif
95
96 // restore saved settings if available
97 create(); // ensure there's a window created
98 KConfigGroup conf = Settings::group(QStringLiteral("SettingsDialog"));
99 if (conf.exists()) {

Callers

nothing calls this directly

Calls 6

groupFunction · 0.85
addSubPagesMethod · 0.80
existsMethod · 0.80
setEnabledMethod · 0.45
setIconMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected