File indexing completed on 2024-12-15 04:54:44
0001 /****************************************************************************** 0002 * 0003 * SPDX-FileCopyrightText: 2008 Szymon Tomasz Stefanek <pragma@kvirc.net> 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 * 0007 *******************************************************************************/ 0008 0009 #pragma once 0010 0011 #include "utils/configurethemesdialog.h" 0012 class QListWidgetItem; 0013 namespace MessageList 0014 { 0015 namespace Core 0016 { 0017 class Theme; 0018 } 0019 namespace Utils 0020 { 0021 class ThemeEditor; 0022 class ThemeListWidget; 0023 class ThemeListWidgetItem; 0024 0025 class Q_DECL_HIDDEN ConfigureThemesDialog::ConfigureThemesDialogPrivate 0026 { 0027 public: 0028 ConfigureThemesDialogPrivate(ConfigureThemesDialog *owner) 0029 : q(owner) 0030 { 0031 } 0032 0033 void fillThemeList(); 0034 [[nodiscard]] QString uniqueNameForTheme(const QString &baseName, Core::Theme *skipTheme = nullptr); 0035 ThemeListWidgetItem *findThemeItemByName(const QString &name, Core::Theme *skipTheme = nullptr); 0036 ThemeListWidgetItem *findThemeItemByTheme(Core::Theme *set); 0037 ThemeListWidgetItem *findThemeItemById(const QString &themeId); 0038 void commitEditor(); 0039 0040 void themeListItemClicked(QListWidgetItem *); 0041 void newThemeButtonClicked(); 0042 void cloneThemeButtonClicked(); 0043 void deleteThemeButtonClicked(); 0044 void editedThemeNameChanged(); 0045 void okButtonClicked(); 0046 void exportThemeButtonClicked(); 0047 void importThemeButtonClicked(); 0048 0049 ConfigureThemesDialog *const q; 0050 0051 ThemeListWidget *mThemeList = nullptr; 0052 ThemeEditor *mEditor = nullptr; 0053 QPushButton *mNewThemeButton = nullptr; 0054 QPushButton *mCloneThemeButton = nullptr; 0055 QPushButton *mDeleteThemeButton = nullptr; 0056 QPushButton *mExportThemeButton = nullptr; 0057 QPushButton *mImportThemeButton = nullptr; 0058 }; 0059 } // namespace Utils 0060 } // namespace MessageList