File indexing completed on 2024-05-12 17:18:55

0001 /*
0002  * SPDX-FileCopyrightText: 2008-2011 Peter Penz <peter.penz19@gmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef VIEWSETTINGSTAB_H
0008 #define VIEWSETTINGSTAB_H
0009 
0010 #include "settings/settingspagebase.h"
0011 
0012 class DolphinFontRequester;
0013 class QComboBox;
0014 class QCheckBox;
0015 class QSlider;
0016 class QSpinBox;
0017 class QRadioButton;
0018 
0019 /**
0020  * @brief Represents one tab of the view-settings page.
0021  */
0022 class ViewSettingsTab : public SettingsPageBase
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     enum Mode { IconsMode, CompactMode, DetailsMode };
0028 
0029     explicit ViewSettingsTab(Mode mode, QWidget *parent = nullptr);
0030     ~ViewSettingsTab() override;
0031 
0032     void applySettings() override;
0033     void restoreDefaults() override;
0034 
0035 private Q_SLOTS:
0036 
0037     void slotDefaultSliderMoved(int value);
0038     void slotPreviewSliderMoved(int value);
0039 
0040 private:
0041     void loadSettings();
0042     void showToolTip(QSlider *slider, int value);
0043 
0044 private:
0045     Mode m_mode;
0046     QSlider *m_defaultSizeSlider;
0047     QSlider *m_previewSizeSlider;
0048 
0049     DolphinFontRequester *m_fontRequester;
0050     QComboBox *m_widthBox;
0051     QComboBox *m_maxLinesBox;
0052     QRadioButton *m_entireRow;
0053     QRadioButton *m_iconAndNameOnly;
0054     QCheckBox *m_expandableFolders;
0055 };
0056 
0057 #endif