1 /*
2  * libaudqt-internal.h
3  * Copyright 2016-2017 John Lindgren
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice,
9  *    this list of conditions, and the following disclaimer.
10  *
11  * 2. Redistributions in binary form must reproduce the above copyright notice,
12  *    this list of conditions, and the following disclaimer in the documentation
13  *    provided with the distribution.
14  *
15  * This software is provided "as is" and without any warranty, express or
16  * implied. In no event shall the authors be liable for any damages arising from
17  * the use of this software.
18  */
19 
20 #ifndef LIBAUDQT_INTERNAL_H
21 #define LIBAUDQT_INTERNAL_H
22 
23 #include <QWidget>
24 
25 class QPoint;
26 class QScreen;
27 class QString;
28 
29 namespace audqt
30 {
31 
32 /* dock.cc */
33 void dock_show_simple(const char * id, const char * name, QWidget * create());
34 void dock_hide_simple(const char * id);
35 
36 /* infopopup.cc */
37 void infopopup_hide_now();
38 
39 /* log-inspector.cc */
40 void log_init();
41 void log_cleanup();
42 
43 /* prefs-plugin.cc */
44 void plugin_prefs_hide();
45 
46 /* util-qt.cc */
47 class PopupWidget : public QWidget
48 {
49 public:
50     PopupWidget(QWidget * parent = nullptr);
51 
52 protected:
53     bool eventFilter(QObject *, QEvent * e) override;
54     void showEvent(QShowEvent *) override;
55 };
56 
57 void show_copy_context_menu(QWidget * parent, const QPoint & global_pos,
58                             const QString & text_to_copy);
59 
60 } // namespace audqt
61 
62 #endif // LIBAUDQT_INTERNAL_H
63