From a57b51348a0056a552568e0b70db51463f322f9c Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Thu, 9 Feb 2023 22:17:59 +0900 Subject: First part of About dialog. Signed-off-by: Michele Calgaro --- src/AboutDialog.cpp | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 src/AboutDialog.cpp (limited to 'src/AboutDialog.cpp') diff --git a/src/AboutDialog.cpp b/src/AboutDialog.cpp new file mode 100644 index 0000000..51a0653 --- /dev/null +++ b/src/AboutDialog.cpp @@ -0,0 +1,173 @@ +/*************************************************************************** + * Copyright (C) 2006-2012 by Thomas Schweitzer * + * thomas-schweitzer(at)arcor.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License version 2.0 as * + * published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program in the file LICENSE.GPL; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include "config.h" +#include "AboutDialog.h" + +//----#include "UiGuiVersion.h" + +//----#include +//----#include +//----#include +#include +#include +#include +#include +#include + +/*! + \class AboutDialog + \brief Displays a dialog window with information about UniversalIndentGUI +*/ + +/*! + \brief The constructor calls the setup function for the ui created by uic and adds + the GPL text to the text edit. + */ +AboutDialog::AboutDialog(TQWidget *parent, WFlags flags) : + AboutDialogBase(parent, NULL, FALSE, flags), m_timer(NULL) +{ + // For icon setup + const TQString ICONS_PATH(APP_ICONS_PATH); + + bannerLabel->setPixmap(TQPixmap(ICONS_PATH + "banner.png")); +//---- _dialogForm->authorTextBrowser->setOpenExternalLinks(true); +//---- _dialogForm->creditsTextBrowser->setOpenExternalLinks(true); +//---- +//---- TQString versionString = _dialogForm->versionTextBrowser->toHtml(); +//---- versionString = +//---- versionString.arg(PROGRAM_VERSION_STRING).arg(UiGuiVersion::getBuildRevision()).arg( +//---- UiGuiVersion::getBuildDate()); +//---- _dialogForm->versionTextBrowser->setHtml(versionString); +//---- +//---- _dialogForm->creditsTextBrowser->setHtml("" +//---- "
 
" +//---- "

Thanks go out to

" +//---- "

Nelson Tai for Chinese translation, good ideas and always fast answers.


" +//---- "

Sebastian Pipping for helping me bring UiGUI into the Debian repository and other good ideas.


" +//---- "

Oleksandr for Ukrainian and Russian translation.


" +//---- "

Erwan "leg" for French translation and the icon logo.


" +//---- "

The Scintilla project for their great text editing component.


" +//---- "

Riverbank for their Scintilla TQt wrapper TQScintilla.


" +//---- "

The Artistic Style project.


" +//---- "

The BCPP project.


" +//---- "

The Cobol Beautifier project.


" +//---- "

The CSSTidy project.


" +//---- "

The Fortran 90 PPR project.


" +//---- "

The GNU Indent project.


" +//---- "

The GreatCode project.


" +//---- "

The hindent project.


" +//---- "

The HTB project.


" +//---- "

The HTML Tidy project.


" +//---- "

The JsDecoder project.


" +//---- "

The JSPPP project.


" +//---- "

The Perltidy project.


" +//---- "

The PHP_Beautifier project.


" +//---- "

The phpCB project.


" +//---- "

The PHP Stylist project.


" +//---- "

The pindent project.


" +//---- "

The Pl/Sql tidy project.


" +//---- "

The Ruby Beautifier project.


" +//---- "

The Ruby Formatter project.


" +//---- "

The Shell Indent project.


" +//---- "

The Uncrustify project, specially Ben Gardner.


" +//---- "

The VBSBeautifier project.


" +//---- "

The XML Indent project.


" +//---- "

Nirvash for the initial Japanese translation.


" +//---- "

The Tango Project for their icons.


" +//---- "

famfamfam for the flag icons.


" +//---- "

Trolltech for their really great GUI framework .


" +//---- "

My girlfriend (meanwhile also wife) for putting my head right and not sit all the time in front of my computer ;-)

" +//---- ""); +//---- + m_scrollDirection = 1; + m_scrollSpeed = 100; + m_timer = new TQTimer(this); + + connect(m_timer, SIGNAL(timeout()), this, SLOT(scroll())); + connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); +} + +/*! + \brief Catches language change events and retranslates all needed widgets. + */ +void AboutDialog::changeEvent(TQEvent *event) +{ +//---- if (event->type() == TQEvent::LanguageChange) +//---- { +//---- _dialogForm->retranslateUi(this); +//---- +//---- TQString versionString = _dialogForm->versionTextBrowser->toHtml(); +//---- versionString = +//---- versionString.arg(PROGRAM_VERSION_STRING).arg(UiGuiVersion::getBuildRevision()).arg( +//---- UiGuiVersion::getBuildDate()); +//---- _dialogForm->versionTextBrowser->setHtml(versionString); +//---- } +//---- else +//---- { +//---- TQWidget::changeEvent(event); +//---- } +} + +/*! + \brief Reimplements the dialog execution function to init the credits scroller. + */ +void AboutDialog::show() +{ +//---- //creditsTextBrowser->verticalScrollBar()->setValue(0); + m_timer->start(m_scrollSpeed); + AboutDialogBase::show(); +} + +/*! + \brief This slot is called each m_timer timeout to scroll the credits textbrowser. + Also changes the scroll direction and speed when reaching the start or end. + */ +void AboutDialog::scroll() +{ +//---- TQScrollBar *scrollBar = _dialogForm->creditsTextBrowser->verticalScrollBar(); +//---- scrollBar->setValue(scrollBar->value() + m_scrollDirection); +//---- +//---- if (scrollBar->value() == scrollBar->maximum()) +//---- { +//---- // Toggle scroll direction and change scroll speed; +//---- m_scrollDirection = -1; +//---- m_scrollSpeed = 5; +//---- m_timer->stop(); +//---- m_timer->start(m_scrollSpeed); +//---- } +//---- else if (scrollBar->value() == scrollBar->minimum()) +//---- { +//---- // Toggle scroll direction and change scroll speed; +//---- m_scrollDirection = 1; +//---- m_scrollSpeed = 100; +//---- m_timer->stop(); +//---- m_timer->start(m_scrollSpeed); +//---- } +//---- +//---- _dialogForm->creditsTextBrowser->update(); +} + +void AboutDialog::accept() +{ + m_timer->stop(); + TQDialog::accept(); +} + +#include "AboutDialog.moc" -- cgit v1.2.3