X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2FDialog_About.h;h=5e5ca9794c2993e56ce6eefcef62e37ab93968aa;hb=8ae0a6b4883dbe193b3ab8f33a592b6a61c35da1;hp=f597d60fbc5d0d1334792afcfa70f698fec604d9;hpb=cd83ebd5d69d930bec552c0b82c6075f95b08a5d;p=lamexp%2FLameXP.git diff --git a/src/Dialog_About.h b/src/Dialog_About.h index f597d60f..5e5ca979 100644 --- a/src/Dialog_About.h +++ b/src/Dialog_About.h @@ -1,11 +1,12 @@ /////////////////////////////////////////////////////////////////////////////// // LameXP - Audio Encoder Front-End -// Copyright (C) 2004-2010 LoRd_MuldeR +// Copyright (C) 2004-2023 LoRd_MuldeR // // This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by +// it under the terms of the GNU GENERAL PUBLIC LICENSE as published by // the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. +// (at your option) any later version; always including the non-optional +// LAMEXP GNU GENERAL PUBLIC LICENSE ADDENDUM. See "License.txt" file! // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -20,18 +21,70 @@ /////////////////////////////////////////////////////////////////////////////// #pragma once -#include -class AboutDialog : public QMessageBox +#include + +//UIC forward declartion +namespace Ui { + class AboutDialog; +} + +//Class declarations +class QLabel; +class QPixmap; +class QTimer; +class QElapsedTimer; +class SettingsModel; + +//AboutDialog class +class AboutDialog : public QDialog { + Q_OBJECT + public: - AboutDialog(QWidget *parent = 0); + AboutDialog(SettingsModel *settings, QWidget *parent = 0, bool firstStart = false); ~AboutDialog(void); + static const char *neroAacUrl, *disqueUrl; + public slots: int exec(); - static const char *neroAacUrl; + void enableButtons(void); + void openURL(const QString &url); + void gotoLicenseTab(void); + void showAboutQt(void); + void moveDisque(void); + void tabChanged(int index, const bool silent = false); + void adjustSize(void); + void geometryUpdated(void); + +protected: + virtual void showEvent(QShowEvent *e); + virtual void closeEvent(QCloseEvent *e); + bool eventFilter(QObject *obj, QEvent *event); private: - void AboutDialog::showMoreAbout(); + Ui::AboutDialog *ui; //for Qt UIC + + const bool m_firstStart; + SettingsModel *const m_settings; + QScopedPointer> m_initFlags; + int m_lastTab; + + QScopedPointer m_disque; + QScopedPointer m_disqueTimer; + bool m_disqueFlags[2]; + QPoint m_disquePos; + QRect m_disqueBound; + double m_discOpacity; + bool m_rotateNext; + QScopedPointer m_disqueDelay; + QScopedPointer m_cartoon[4]; + + void initInformationTab(void); + void initContributorsTab(void); + void initSoftwareTab(void); + void initLicenseTab(void); + + QString makeToolText(const QString &toolName, const QString &toolBin, const QString &toolVerFmt, const QString &toolLicense, const QString &toolWebsite, const QString &extraInfo = QString()); };