File indexing completed on 2024-05-19 12:18:03
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