File indexing completed on 2024-04-28 15:51:58

0001 /*
0002     SPDX-FileCopyrightText: 2007 Pino Toscano <pino@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef _SIDEBAR_H_
0008 #define _SIDEBAR_H_
0009 
0010 #include "okularpart_export.h"
0011 #include <qwidget.h>
0012 
0013 class QIcon;
0014 class QListWidgetItem;
0015 
0016 class OKULARPART_EXPORT Sidebar : public QWidget
0017 {
0018     Q_OBJECT
0019 public:
0020     explicit Sidebar(QWidget *parent = nullptr);
0021     ~Sidebar() override;
0022 
0023     int addItem(QWidget *widget, const QIcon &icon, const QString &text);
0024 
0025     void setMainWidget(QWidget *widget);
0026     void setBottomWidget(QWidget *widget);
0027 
0028     void setCurrentItem(QWidget *widget);
0029     QWidget *currentItem() const;
0030 
0031     void setSidebarVisibility(bool visible);
0032     bool isSidebarVisible() const;
0033 
0034     void moveSplitter(int sideWidgetSize);
0035 
0036     QWidget *getSideContainer() const;
0037 
0038 Q_SIGNALS:
0039     void urlsDropped(const QList<QUrl> &urls);
0040 
0041 protected:
0042     void dragEnterEvent(QDragEnterEvent *event) override;
0043     void dropEvent(QDropEvent *event) override;
0044 
0045 private Q_SLOTS:
0046     void splitterMoved(int pos, int index);
0047 
0048 private:
0049     void saveSplitterSize() const;
0050 
0051     // private storage
0052     class Private;
0053     Private *d;
0054 };
0055 
0056 #endif