Sayonara Player
Widget.h
1/* Widget.h */
2
3/* Copyright (C) 2011-2020 Michael Lugmair (Lucio Carreras)
4 *
5 * This file is part of sayonara player
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef SAYONARAWIDGET_H
22#define SAYONARAWIDGET_H
23
24#include "WidgetTemplate.h"
25#include <QWidget>
26#include <QMainWindow>
27
28namespace Gui
29{
30 class Dialog;
31
37 class Widget :
38 public Gui::WidgetTemplate<QWidget>
39 {
40 Q_OBJECT
41
42 signals:
43 void sigShown();
44 void sigClosed();
45
46 public:
47 explicit Widget(QWidget* parent = nullptr);
48 virtual ~Widget() override;
49
50 Dialog* boxIntoDialog();
51
52 protected:
53 Dialog* mBoxedDialog = nullptr;
54
55 virtual void showEvent(QShowEvent* e) override;
56 virtual void closeEvent(QCloseEvent* e) override;
57 };
58
63 class MainWindow :
64 public Gui::WidgetTemplate<QMainWindow>
65 {
66 Q_OBJECT
67
68 signals:
69 void sigShown();
70 void sigClosed();
71
72 public:
73 explicit MainWindow(QWidget* parent = nullptr);
74 virtual ~MainWindow() override;
75
76 void raise();
77 virtual void shutdown() = 0;
78
79 protected:
80 virtual void showEvent(QShowEvent* e) override;
81 virtual void closeEvent(QCloseEvent* e) override;
82 };
83}
84
85#endif // SAYONARAWIDGET_H
Dialog with Settings connection. Also contains triggers for language_changed() and skin_changed()....
Definition: Dialog.h:37
The SayonaraMainWindow class.
Definition: Widget.h:65
Template for Sayonara Widgets. This template is responsible for holding a reference to the settings.
Definition: WidgetTemplate.h:87
Widget with Settings connection. Also contains triggers for language_changed() and skin_changed() \nT...
Definition: Widget.h:39