File indexing completed on 2025-01-19 03:50:44
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-12-05 0007 * Description : Side Bar Widget for the time-line view. 0008 * 0009 * SPDX-FileCopyrightText: 2009-2010 by Johannes Wienke <languitar at semipol dot de> 0010 * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 * SPDX-FileCopyrightText: 2014 by Mohamed_Anwer <m_dot_anwer at gmx dot com> 0012 * SPDX-FileCopyrightText: 2010 by Aditya Bhatt <adityabhatt1991 at gmail dot com> 0013 * 0014 * SPDX-License-Identifier: GPL-2.0-or-later 0015 * 0016 * ============================================================ */ 0017 0018 #ifndef DIGIKAM_TIME_LINE_SIDE_BAR_WIDGET_H 0019 #define DIGIKAM_TIME_LINE_SIDE_BAR_WIDGET_H 0020 0021 // Local includes 0022 0023 #include "albummodel.h" 0024 #include "searchmodificationhelper.h" 0025 #include "sidebarwidget.h" 0026 0027 namespace Digikam 0028 { 0029 0030 template <class T> 0031 class AlbumPointer; 0032 0033 class TimelineSideBarWidget : public SidebarWidget 0034 { 0035 Q_OBJECT 0036 0037 public: 0038 0039 explicit TimelineSideBarWidget(QWidget* const parent, 0040 SearchModel* const searchModel, 0041 SearchModificationHelper* const searchModificationHelper); 0042 ~TimelineSideBarWidget() override; 0043 0044 void setActive(bool active) override; 0045 void doLoadState() override; 0046 void doSaveState() override; 0047 void applySettings() override; 0048 void changeAlbumFromHistory(const QList<Album*>& album) override; 0049 const QIcon getIcon() override; 0050 const QString getCaption() override; 0051 0052 private Q_SLOTS: 0053 0054 void slotInit(); 0055 void slotScrollBarValueChanged(int); 0056 void slotRefDateTimeChanged(); 0057 void slotScaleChanged(int); 0058 void slotTimeUnitChanged(int); 0059 void slotCursorPositionChanged(); 0060 void slotSelectionChanged(); 0061 void slotResetSelection(); 0062 void slotSaveSelection(); 0063 void slotUpdateCurrentDateSearchAlbum(); 0064 void slotAlbumSelected(Album*); 0065 void slotCheckAboutSelection(); 0066 0067 private: 0068 0069 class Private; 0070 Private* const d; 0071 }; 0072 0073 } // namespace Digikam 0074 0075 #endif // DIGIKAM_TIME_LINE_SIDE_BAR_WIDGET_H