File indexing completed on 2024-04-28 15:40:13
0001 // SPDX-FileCopyrightText: 2003-2022 Jesper K. Pedersen <blackie@kde.org> 0002 // 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 #ifndef STATUSBAR_H 0006 #define STATUSBAR_H 0007 0008 #include "BreadcrumbViewer.h" 0009 0010 #include <QStatusBar> 0011 0012 class QToolButton; 0013 class QTimer; 0014 class QProgressBar; 0015 class QLabel; 0016 class QSlider; 0017 0018 namespace MainWindow 0019 { 0020 class ImageCounter; 0021 class DirtyIndicator; 0022 0023 class StatusBar : public QStatusBar 0024 { 0025 Q_OBJECT 0026 public: 0027 StatusBar(); 0028 DirtyIndicator *mp_dirtyIndicator; 0029 ImageCounter *mp_partial; 0030 ImageCounter *mp_selected; 0031 BreadcrumbViewer *mp_pathIndicator; 0032 0033 void setLocked(bool locked); 0034 void startProgress(const QString &text, int total); 0035 void setProgress(int progress); 0036 void setProgressBarVisible(bool); 0037 0038 void showThumbnailSlider(); 0039 void hideThumbnailSlider(); 0040 0041 Q_SIGNALS: 0042 void cancelRequest(); 0043 void thumbnailSettingsRequested(); 0044 0045 protected: 0046 void enterEvent(QEvent *event) override; 0047 0048 private Q_SLOTS: 0049 void hideStatusBar(); 0050 void showStatusBar(); 0051 0052 private: 0053 void setupGUI(); 0054 void setPendingShow(); 0055 0056 QLabel *m_lockedIndicator; 0057 QProgressBar *m_progressBar; 0058 QToolButton *m_cancel; 0059 QTimer *m_pendingShowTimer; 0060 QSlider *m_thumbnailSizeSlider; 0061 QToolButton *m_thumbnailSettings; 0062 }; 0063 0064 } 0065 0066 #endif /* STATUSBAR_H */ 0067 0068 // vi:expandtab:tabstop=4 shiftwidth=4: