KCMDesktopTheme::KCMDesktopTheme( QWidget* parent, const QVariantList& ) : KCModule( parent ) , m_dialog(0) , m_installProcess(0) , m_defaultTheme(new Plasma::Theme(this)) { setQuickHelp( i18n("<h1>Desktop Theme</h1>" "This module allows you to modify the visual appearance " "of the desktop.")); setupUi(this); m_bDesktopThemeDirty = false; m_bDetailsDirty = false; KAutostart plasmaNetbookAutoStart("plasma-netbook"); m_isNetbook = plasmaNetbookAutoStart.autostarts(); KGlobal::dirs()->addResourceType("themes", "data", "kstyle/themes"); KAboutData *about = new KAboutData( I18N_NOOP("KCMDesktopTheme"), 0, i18n("KDE Desktop Theme Module"), 0, QString(), KAboutData::License_GPL, i18n("(c) 2002 Karol Szwed, Daniel Molkentin")); about->addAuthor(i18n("Karol Szwed"), QString(), QStringLiteral("*****@*****.**")); about->addAuthor(i18n("Daniel Molkentin"), QString(), QStringLiteral("*****@*****.**")); about->addAuthor(i18n("Ralf Nolden"), QString(), QStringLiteral("*****@*****.**")); setAboutData( about ); m_newThemeButton->setIcon(QIcon::fromTheme("get-hot-new-stuff")); m_themeModel = new ThemeModel(this); m_theme->setModel(m_themeModel); m_theme->setItemDelegate(new ThemeDelegate(m_theme)); m_theme->setVerticalScrollMode(QAbstractItemView::ScrollPerItem); connect(m_detailsWidget, SIGNAL(changed()), this, SLOT(detailChanged())); connect(m_theme->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(setDesktopThemeDirty())); connect(m_newThemeButton, SIGNAL(clicked()), this, SLOT(getNewThemes())); connect(m_fileInstallButton, &QPushButton::clicked, this, &KCMDesktopTheme::showFileDialog); }
void KCMDesktopTheme::defaults() { m_theme->setCurrentIndex(m_themeModel->indexOf(QStringLiteral("default"))); m_detailsWidget->resetToDefaultTheme(); setDesktopThemeDirty(); }