OSDN Git Service

Some more tweaks to the new About dialog.
[lamexp/LameXP.git] / src / Dialog_About.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // LameXP - Audio Encoder Front-End
3 // Copyright (C) 2004-2012 LoRd_MuldeR <MuldeR2@GMX.de>
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License along
16 // with this program; if not, write to the Free Software Foundation, Inc.,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 //
19 // http://www.gnu.org/licenses/gpl-2.0.txt
20 ///////////////////////////////////////////////////////////////////////////////
21
22 #pragma once
23
24 #include "../tmp/UIC_AboutDialog.h"
25
26 class SettingsModel;
27
28 class AboutDialog : public QDialog, private Ui::AboutDialog
29 {
30         Q_OBJECT
31
32 public:
33         AboutDialog(SettingsModel *settings, QWidget *parent = 0, bool firstStart = false);
34         ~AboutDialog(void);
35
36         static const char *neroAacUrl, *disqueUrl;
37
38 public slots:
39         int exec();
40         void enableButtons(void);
41         void openURL(const QString &url);
42         void gotoLicenseTab(void);
43         void showAboutQt(void);
44         void moveDisque(void);
45         void tabChanged(int index);
46
47 protected:
48         virtual void showEvent(QShowEvent *e);
49         virtual void closeEvent(QCloseEvent *e);
50         bool eventFilter(QObject *obj, QEvent *event);
51
52 private:
53         bool m_firstShow;
54         SettingsModel *m_settings;
55         QMap<QWidget*,bool> *m_initFlags;
56         QLabel *m_disque;
57         QTimer * m_disqueTimer;
58         bool m_disqueFlags[2];
59         QPixmap *m_cartoon[4];
60         bool m_rotateNext;
61         __int64 m_disqueDelay;
62
63         void initInformationTab(void);
64         void initContributorsTab(void);
65         void initSoftwareTab(void);
66         void initLicenseTab(void);
67
68         QString makeToolText(const QString &toolName, const QString &toolBin, const QString &toolVerFmt, const QString &toolLicense, const QString &toolWebsite, const QString &extraInfo = QString());
69         bool playResoureSound(const QString &library, const unsigned long soundId, const bool async);
70 };