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

0001 /*
0002  * SPDX-FileCopyrightText: 2008 Peter Penz <peter.penz19@gmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef FOLDERSTABSSETTINGSPAGE_H
0007 #define FOLDERSTABSSETTINGSPAGE_H
0008 
0009 #include "dolphin_generalsettings.h"
0010 #include "settings/settingspagebase.h"
0011 
0012 #include <QUrl>
0013 #include <qobject.h>
0014 
0015 class QCheckBox;
0016 class QLineEdit;
0017 class QLabel;
0018 class QRadioButton;
0019 
0020 /**
0021  * @brief Tab page for the 'Behavior' settings of the Dolphin settings dialog.
0022  */
0023 class FoldersTabsSettingsPage : public SettingsPageBase
0024 {
0025     Q_OBJECT
0026 
0027 public:
0028     FoldersTabsSettingsPage(QWidget *parent);
0029     ~FoldersTabsSettingsPage() override;
0030 
0031     /** @see SettingsPageBase::applySettings() */
0032     void applySettings() override;
0033 
0034     /** @see SettingsPageBase::restoreDefaults() */
0035     void restoreDefaults() override;
0036 
0037 public:
0038     QWidget *m_homeUrlBoxLayoutContainer;
0039     QWidget *m_buttonBoxLayoutContainer;
0040     QRadioButton *m_homeUrlRadioButton;
0041 
0042 private Q_SLOTS:
0043     void slotSettingsChanged();
0044     void updateInitialViewOptions();
0045     void selectHomeUrl();
0046     void useCurrentLocation();
0047     void useDefaultLocation();
0048 
0049 private:
0050     void loadSettings();
0051     void showSetDefaultDirectoryError();
0052 
0053 private:
0054     QUrl m_url;
0055     QLineEdit *m_homeUrl;
0056     QRadioButton *m_rememberOpenedTabsRadioButton;
0057 
0058     QRadioButton *m_openNewTabAfterLastTab;
0059     QRadioButton *m_openNewTabAfterCurrentTab;
0060 
0061     QCheckBox *m_splitView;
0062     QCheckBox *m_filterBar;
0063     QCheckBox *m_showFullPathInTitlebar;
0064     QCheckBox *m_openExternallyCalledFolderInNewTab;
0065     QCheckBox *m_useTabForSplitViewSwitch;
0066     QCheckBox *m_closeActiveSplitView;
0067 };
0068 
0069 #endif