File indexing completed on 2024-04-14 04:46:55

0001 /*
0002 SPDX-FileCopyrightText: 2014 Till Theato <root@ttill.de>
0003 SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 */
0005 
0006 #pragma once
0007 
0008 #include <QObject>
0009 
0010 class NotesWidget;
0011 class KdenliveDoc;
0012 class ProjectManager;
0013 class QDockWidget;
0014 class QToolBar;
0015 
0016 /** @class NotesPlugin
0017     @brief Handles connection of NotesWidget
0018  
0019     Supposed to become a plugin/ProjectPart (\@see refactoring branch).
0020  */
0021 class NotesPlugin : public QObject
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit NotesPlugin(ProjectManager *projectManager);
0027     NotesWidget *widget();
0028     void clear();
0029     void showDock();
0030 
0031 private Q_SLOTS:
0032     void setProject(KdenliveDoc *document);
0033     /** @brief Insert current timecode/cursor position into the widget. */
0034     void slotInsertTimecode();
0035     /** @brief Re-assign timestamps to current Bin Clip. */
0036     void slotReAssign(const QStringList &anchors, const QList <QPoint> &points);
0037     /** @brief Insert the given text into the widget. */
0038     void slotInsertText(const QString &text);
0039 
0040 private:
0041     NotesWidget *m_widget;
0042     QDockWidget *m_notesDock;
0043     QToolBar *m_tb;
0044 };