Finish off About dialog code

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
master
Michele Calgaro 2 months ago
parent 075471f041
commit 0204f596eb
Signed by: MicheleC
GPG Key ID: 2A75B7CA8ADED5CF

@ -2,7 +2,6 @@ install(
FILES
accessories-text-editor.png
applications-system.png
banner.png
document-open.png
document-properties.png
document-save.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

@ -2,7 +2,7 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>UniversalIndentGUI ReadMe</title>
<title>UniversalIndentGUI-TQt ReadMe</title>
<style type="text/css">
<!--
@ -25,13 +25,10 @@ a.external
</head>
<body style="font-family: Tahoma,serif;">
<!--
<h1>UniversalIndentGUI</h1>
-->
<div align="center"><img src="doc/images/banner.jpg" alt="UiGUI Screenshot"></div>
<br/>
<div align="center"><h1>UniversalIndentGUI-TQt-TQt</h1></div>
<br clear="all" />
<br />
<p style="margin-left:40pt;">
<p>
Ever concerned about how your code looks like?<br />
Ever heard of different indenting styles, for example K&amp;R?<br />
Ever received code from someone else who didn't care about code formatting?<br />
@ -40,7 +37,7 @@ a.external
</p>
<p>
Help is close to you. UniversalIndentGUI offers a live preview for setting the parameters of nearly any indenter.
Help is close to you. UniversalIndentGUI-TQt offers a live preview for setting the parameters of nearly any indenter.
You change the value of a parameter and directly see how your reformatted code will look like. Save your beauty looking
code or create an anywhere usable batch/shell script to reformat whole directories or just one file even out of the
editor of your choice that supports external tool calls.<br />
@ -49,7 +46,7 @@ a.external
Artistic Styler, PHP Stylist, Ruby Beautify, HTML Tidy and many other (look at features for complete list).
Currently not supported indenters can be easyly added by creating a configuration file for them.<br />
Thus UniversalIndentGUI is open for nearly any new indenter and programming languages. Give it a try.
Thus UniversalIndentGUI-TQt is open for nearly any new indenter and programming languages. Give it a try.
Perhaps you'll also find an indenter for your programming language that you even didn't know that it exists.
</p>
@ -149,7 +146,7 @@ a.external
</ul>
</p>
<h3>How to install / build UniversalIndentGUI</h3>
<h3>How to install / build UniversalIndentGUI-TQt</h3>
<p>
If you downloaded a complete binary package/archive for your system from SourceForge, you only need to unpack it and
can run it out of the box. Also all free available indenters for your platform are included. Doing it that way,
@ -165,7 +162,7 @@ a.external
<a class="external" href="http://www.riverbankcomputing.com/software/qscintilla/download">TQScintilla</a>
>= 2.2.</li>
<li>Checkout UiGUI: svn co https://universalindent.svn.sourceforge.net/svnroot/universalindent/trunk universalindentgui</li>
<li>In the checked out directory run "qmake UniversalIndentGUI.pro".</li>
<li>In the checked out directory run "qmake UniversalIndentGUI-TQt.pro".</li>
<li>Run "make release".</li>
<li>Install it</li>
<ol type="a">
@ -173,7 +170,7 @@ a.external
Windows and Mac:<br />
For testing on Windows/Mac download the indenter binary package from sourceforge and extract it into the
directory where you checked out the code (in the upper example that is "universalindentgui").
Then move the file "UniversalIndentGUI.exe" (on Mac the directory "UniversalIndentGUI") from the
Then move the file "UniversalIndentGUI-TQt.exe" (on Mac the directory "UniversalIndentGUI-TQt") from the
"release" directory also to that directory. Starting UiGUI from this directory will run it
in portable mode.
</li>

@ -20,92 +20,24 @@
#include "config.h"
#include "AboutDialog.h"
//----#include "UiGuiVersion.h"
//----#include <tqurl.h>
//----#include <tqdesktopservices.h>
//----#include <tqlocale.h>
#include <tqlabel.h>
#include <tqpushbutton.h>
#include <tqpixmap.h>
#include <tqscrollbar.h>
#include <tqtimer.h>
#include <tqfont.h>
/*
\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.
*/
// Displays a dialog window with information about UniversalIndentGUI
AboutDialog::AboutDialog(TQWidget *parent, WFlags flags) :
AboutDialogBase(parent, NULL, FALSE, flags), m_timer(NULL)
AboutDialogBase(parent, NULL, FALSE, flags)
{
// 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);
//---- _dialogForm->versionTextBrowser->setHtml(versionString);
//----
//---- _dialogForm->creditsTextBrowser->setHtml("<html><head></head><body>"
//---- "<pre> </br></pre>"
//---- "<h3 align='center'>Thanks go out to</h3>"
//---- "<p align='center'><a href=\"http://www.csie.nctu.edu.tw/~chtai/\"><b>Nelson Tai</b></a> for Chinese translation, good ideas and always fast answers.</p></br>"
//---- "<p align='center'><a href=\"http://www.hartwork.org/\"><b>Sebastian Pipping</b></a> for helping me bring UiGUI into the Debian repository and other good ideas.</p></br>"
//---- "<p align='center'><a href=\"http://korytskyy.lviv.ua/\"><b>Oleksandr</b></a> for Ukrainian and Russian translation.</p></br>"
//---- "<p align='center'><b>Erwan &quot;leg&quot;</b> for French translation and the icon logo.</p></br>"
//---- "<p align='center'>The <a href=\"http://www.scintilla.org/\"><b>Scintilla</b></a> project for their great text editing component.</p></br>"
//---- "<p align='center'><a href=\"http://www.riverbankcomputing.co.uk/software/qscintilla/\"><b>Riverbank</b></a> for their Scintilla TQt wrapper TQScintilla.</p></br>"
//---- "<p align='center'>The <a href=\"http://astyle.sourceforge.net/\"><b>Artistic Style</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://invisible-island.net/bcpp/\"><b>BCPP</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://www.siber.com/sct/tools/cbl-beau.html\"><b>Cobol Beautifier</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://csstidy.sourceforge.net/\"><b>CSSTidy</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"ftp://ftp.ifremer.fr/ifremer/ditigo/fortran90/\"><b>Fortran 90 PPR</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://www.gnu.org/software/indent/\"><b>GNU Indent</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://sourceforge.net/projects/gcgreatcode/\"><b>GreatCode</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://linux.com.hk/penguin/man/1/hindent.html\"><b>hindent</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://www.digital-mines.com/htb/\"><b>HTB</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://tidy.sourceforge.net/\"><b>HTML Tidy</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://code.gosu.pl/\"><b>JsDecoder</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://jsppp.sourceforge.net/\"><b>JSPPP</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://perltidy.sourceforge.net/\"><b>Perltidy</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://beautifyphp.sourceforge.net/\"><b>PHP_Beautifier</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://www.waterproof.fr/products/phpCodeBeautifier/\"><b>phpCB</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://sourceforge.net/projects/phpstylist/\"><b>PHP Stylist</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://coverage.livinglogic.de/Tools/scripts/pindent.py.html\"><b>pindent</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://psti.etquinoxbase.com/\"><b>Pl/Sql tidy</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://www.arachnoid.com/ruby/rubyBeautifier.html\"><b>Ruby Beautifier</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://raa.ruby-lang.org/project/ruby_formatter/\"><b>Ruby Formatter</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://www.bolthole.com/AWK.html\"><b>Shell Indent</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://uncrustify.sourceforge.net/\"><b>Uncrustify</b></a> project, specially <b>Ben Gardner</b>.</p></br>"
//---- "<p align='center'>The <a href=\"http://www.daansystems.com/vbsbeaut/\"><b>VBSBeautifier</b></a> project.</p></br>"
//---- "<p align='center'>The <a href=\"http://xmlindent.sourceforge.net/\"><b>XML Indent</b></a> project.</p></br>"
//---- "<p align='center'><b>Nirvash</b> for the initial Japanese translation.</p></br>"
//---- "<p align='center'>The <a href=\"http://tango.freedesktop.org/Tango_Desktop_Project/\"><b>Tango Project</b></a> for their icons.</p></br>"
//---- "<p align='center'><a href=\"http://www.famfamfam.com/\"><b>famfamfam</b></a> for the flag icons.</p></br>"
//---- "<p align='center'><a href=\"http://trolltech.com/\"><b>Trolltech</b></a> for their really great GUI framework <img src=\":/aboutDialog/qt_logo.png\"/>.</p></br>"
//---- "<h3 align='center'>My girlfriend (meanwhile also wife) for putting my head right and not sit all the time in front of my computer ;-)</h3>"
//---- "</body></html>");
//----
m_scrollDirection = 1;
m_scrollSpeed = 100;
m_timer = new TQTimer(this);
TQFont titleFont = titleLabel->font();
titleFont.setPointSize(20);
titleLabel->setFont(titleFont);
connect(m_timer, TQ_SIGNAL(timeout()), this, TQ_SLOT(scroll()));
connect(okButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(accept()));
}
/*
\brief Catches language change events and retranslates all needed widgets.
*/
// Catches language change events and retranslates all needed widgets.
void AboutDialog::changeEvent(TQEvent *event)
{
//---- if (event->type() == TQEvent::LanguageChange)
@ -123,49 +55,4 @@ void AboutDialog::changeEvent(TQEvent *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"

@ -30,21 +30,8 @@ class AboutDialog : public AboutDialogBase
public:
AboutDialog(TQWidget *parent = NULL, WFlags flags = 0);
public slots:
void show();
protected slots:
void accept();
private slots:
void scroll();
private:
void changeEvent(TQEvent *event);
int m_scrollDirection;
int m_scrollSpeed;
TQTimer *m_timer;
};
#endif // ABOUTDIALOG_H

@ -2,30 +2,24 @@
<class>AboutDialogBase</class>
<widget class="TQDialog">
<property name="name">
<cstring>AboutDialogBase</cstring>
<cstring>AboutDialogBase</cstring>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>588</width>
<height>512</height>
<width>500</width>
<height>300</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
<vsizetype>0</vsizetype>
<horstretch>1</horstretch>
<verstretch>1</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>588</width>
<height>333</height>
</size>
</property>
<property name="caption">
<string>About UniversalIndentGUI</string>
</property>
@ -38,35 +32,45 @@
<cstring>frame</cstring>
</property>
<property name="frameShape">
<enum>StyledPanel</enum>
<enum>NoFrame</enum>
</property>
<vbox>
<widget class="TQLabel">
<property name="name">
<cstring>bannerLabel</cstring>
<cstring>titleLabel</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>0</hsizetype>
<hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>570</width>
<height>87</height>
</size>
<property name="alignment">
<enum>AlignHCenter</enum>
</property>
<property name="text">
<string>&lt;qt&gt;&lt;b&gt;UniversalIndentGUI-TQt&lt;/b&gt;&lt;qt&gt;</string>
</property>
</widget>
<widget class="TQLabel">
<property name="name">
<cstring>authorTextBrowser</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>570</width>
<height>87</height>
</size>
<property name="alignment">
<enum>AlignHCenter</enum>
</property>
<property name="text">
<string></string>
<string>&lt;qt&gt;A TQt3 port of UniversalIndentGUI, it provides a GUI for several code formatters, beautifiers and indenters.&lt;br/&gt;&lt;br/&gt;TQt3 port by the TDE team.&lt;br/&gt;Original UniversalIndentGUI by Thomas Schweitzer.&lt;br/&gt;Licensed under GPL 2.&lt;/qt&gt;</string>
</property>
</widget>
<hbox>

@ -31,7 +31,6 @@
#include "UiGuiSettingsDialog.h"
#include "UiGuiVersion.h"
#include "ToolBarWidget.h"
///-- #include "AboutDialogGraphicsView.h"
#include "UiGuiHighlighter.h"
#include <tqaction.h>
@ -111,9 +110,7 @@ MainWindow::MainWindow(TQString file2OpenOnStart, TQWidget *parent) :
createHighlighterMenu();
// Generate about dialog box
//m_aboutDialog = new AboutDialog(this, WStyle_Splash);
m_aboutDialog = new AboutDialog(this);
///-- _aboutDialogGraphicsView = new AboutDialogGraphicsView(m_aboutDialog, this);
connect(actionAboutUniversalIndentGUITQt, TQ_SIGNAL(activated()), this, TQ_SLOT(showAboutDialog()));
// Generate settings dialog box

@ -26,7 +26,6 @@
class AboutDialog;
/// class AboutDialogGraphicsView;
class UiGuiHighlighter;
class IndentHandler;
class UiGuiSettings;
@ -109,7 +108,6 @@ class MainWindow : public MainWindowBase
UiGuiHighlighter *m_highlighter;
///-- TQScrollBar *m_textEditVScrollBar;
AboutDialog *m_aboutDialog;
///-- AboutDialogGraphicsView *_aboutDialogGraphicsView;
UiGuiSettingsDialog *m_settingsDialog;
int m_actionClearRecentlyOpenedListId;
int m_recentlyOpenedListMaxSize;

@ -1,131 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AboutDialog</class>
<widget class="TQDialog" name="AboutDialog">
<property name="windowIcon">
<iconset resource="../resources/Icons.qrc">
<normaloff>:/mainWindow/info.png</normaloff>:/mainWindow/info.png</iconset>
</property>
<layout class="TQVBoxLayout">
<item>
<widget class="TQFrame" name="frame">
<property name="styleSheet">
<string notr="true">TQFrame#frame { background-color: qlineargradient( x1:0, y1:0, x2:0, y2:1, stop:0 #FFFF60, stop:0.5 #D8C304, stop:1 #FFFF60 ); border: 2px solid #A89C57; border-radius: 4px;}</string>
</property>
<layout class="TQVBoxLayout">
<item>
<widget class="TQLabel" name="bannerLabel">
<property name="pixmap">
<pixmap resource="../resources/Icons.qrc">:/aboutDialog/banner.png</pixmap>
</property>
</widget>
</item>
<item>
<widget class="TQTextBrowser" name="versionTextBrowser">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">TQTextBrowser{background-color:transparent}</string>
</property>
<property name="frameShape">
<enum>TQFrame::NoFrame</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>TQt::ScrollBarAlwaysOff</enum>
</property>
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'sans-serif'; font-size:large;&quot;&gt;Version %1 rev.%2, %3&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="TQTextBrowser" name="authorTextBrowser">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="acceptDrops">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">TQTextBrowser{background-color:transparent}</string>
</property>
<property name="frameShape">
<enum>TQFrame::NoFrame</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>TQt::ScrollBarAlwaysOff</enum>
</property>
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Trebuchet MS,Helvetica,sans-serif'; font-size:medium;&quot;&gt;... is a cross platform compatible GUI for several code formatter, beautifier and indenter like GreatCode, AStyle (Artistic Styler), GNU Indent, BCPP and so on. Main feature is a live preview to directly see how the selected formatting option affects the source code.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Trebuchet MS,Helvetica,sans-serif'; font-size:medium;&quot;&gt;&lt;br /&gt;Written by : &lt;/span&gt;&lt;a href=&quot;http://www.thomas-schweitzer.de&quot;&gt;&lt;span style=&quot; font-family:'Trebuchet MS,Helvetica,sans-serif'; font-size:medium; text-decoration: underline; color:#0000ff;&quot;&gt;Thomas Schweitzer&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Trebuchet MS,Helvetica,sans-serif'; font-size:medium;&quot;&gt;Project Homepage : &lt;/span&gt;&lt;a href=&quot;http://universalindent.sourceforge.net&quot;&gt;&lt;span style=&quot; font-family:'Trebuchet MS,Helvetica,sans-serif'; font-size:medium; text-decoration: underline; color:#0000ff;&quot;&gt;http://universalindent.sourceforge.net&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Trebuchet MS,Helvetica,sans-serif'; font-size:medium;&quot;&gt;License: UniversalIndentGui is released under the GPL 2. For details read the included file LICENSE.GPL visit &lt;/span&gt;&lt;a href=&quot;http://www.gnu.org/licenses/gpl.html&quot;&gt;&lt;span style=&quot; font-family:'Trebuchet MS,Helvetica,sans-serif'; font-size:medium; text-decoration: underline; color:#0000ff;&quot;&gt;http://www.gnu.org/licenses/gpl.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-family:'Trebuchet MS,Helvetica,sans-serif'; font-size:medium;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Trebuchet MS,Helvetica,sans-serif'; font-size:medium;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Trebuchet MS,Helvetica,sans-serif'; font-size:medium;&quot;&gt;Credits:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="TQTextBrowser" name="creditsTextBrowser">
<property name="styleSheet">
<string notr="true">TQTextBrowser#creditsTextBrowser{border:2px solid rgba(0,0,0,10%); background-color:qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(0,0,0,80%), stop:0.1 rgba(0,0,0,15%), stop:0.9 rgba(0,0,0,15%), stop:1 rgba(0,0,0,80%) )}</string>
</property>
<property name="frameShape">
<enum>TQFrame::NoFrame</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>TQt::ScrollBarAlwaysOff</enum>
</property>
</widget>
</item>
<item>
<layout class="TQHBoxLayout">
<item>
<spacer>
<property name="orientation">
<enum>TQt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>131</width>
<height>31</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="TQPushButton" name="okButton">
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../resources/Icons.qrc"/>
</resources>
</ui>

@ -1,220 +0,0 @@
/***************************************************************************
* 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 "AboutDialogGraphicsView.h"
#include "AboutDialog.h"
#include <tqtgui.h>
#include <tqdesktopwidget.h>
#include <tqdate.h>
#include <tqtimeline.h>
#include <tqsplashscreen.h>
/*
\class AboutDialogGraphicsView
\brief A container for the real \a AboutDialog. Makes the 3D animation possible.
The 3D animation shall suggest the user, that he is looking at his desktop, while
this animation is done. Since this is not directly possible, \a AboutDialogGraphicsView
when shown starts in frameless fullscreen mode with a screenshot of the desktop as background.
*/
/*
\brief The constructor initializes everything needed for the 3D animation.
*/
AboutDialogGraphicsView::AboutDialogGraphicsView(AboutDialog *aboutDialog, TQWidget *parentWindow) :
TQGraphicsView(parentWindow), _aboutDialog(NULL), _graphicsProxyWidget(NULL),
_parentWindow(NULL), _timeLine(NULL), _aboutDialogAsSplashScreen(NULL)
{
_parentWindow = parentWindow;
setWindowFlags(TQt::SplashScreen);
#ifdef Q_OS_LINUX
TQRect availableGeometry = TQApplication::desktop()->availableGeometry();
TQRect newGeometry = TQRect(availableGeometry.x(),
availableGeometry.y(), availableGeometry.width(), availableGeometry.height());
#else
TQRect newGeometry = TQRect(-1, -1,
TQApplication::desktop()->rect().width() + 2,
TQApplication::desktop()->rect().height() + 2);
#endif
setGeometry(newGeometry);
_aboutDialog = aboutDialog;
_windowTitleBarWidth = 0;
_windowPosOffset = 0;
TQGraphicsScene *scene = new TQGraphicsScene(this);
setSceneRect(newGeometry);
_aboutDialogAsSplashScreen = new TQSplashScreen(this);
_graphicsProxyWidget = scene->addWidget(_aboutDialogAsSplashScreen);
_graphicsProxyWidget->setWindowFlags(TQt::ToolTip);
setScene(scene);
setRenderHint(TQPainter::Antialiasing);
setCacheMode(TQGraphicsView::CacheBackground);
setViewportUpdateMode(TQGraphicsView::BoundingRectViewportUpdate);
connect(_aboutDialog, TQ_SIGNAL(finished(int)), this, TQ_SLOT(hide()));
//setWindowOpacity(0.9);
setVerticalScrollBarPolicy(TQt::ScrollBarAlwaysOff);
setHorizontalScrollBarPolicy(TQt::ScrollBarAlwaysOff);
setStyleSheet("AboutDialogGraphicsView { border: 0px; }");
_timeLine = new TQTimeLine(1000, this);
_timeLine->setFrameRange(270, 0);
//_timeLine->setUpdateInterval(10);
//_timeLine->setCurveShape(TQTimeLine::EaseInCurve);
connect(_timeLine, TQ_SIGNAL(frameChanged(int)), this, TQ_SLOT(updateStep(int)));
}
AboutDialogGraphicsView::~AboutDialogGraphicsView(void)
{
}
/*
\brief Grabs a screenshot of the full desktop and shows that as background. Above that background the
AboutDialog 3D animation is shown. Also grabs the content of the AboutDialog itself.
*/
void AboutDialogGraphicsView::show()
{
// Because on X11 system the window decoration is only available after a widget has been shown
// once,
// we can detect _windowTitleBarWidth here for the first time.
_windowTitleBarWidth = _parentWindow->geometry().y() - _parentWindow->y();
// If the _windowTitleBarWidth could not be determined, try it a second way. Even the chances are
// low to get good results.
if (_windowTitleBarWidth == 0)
{
_windowTitleBarWidth = _parentWindow->frameGeometry().height() -
_parentWindow->geometry().height();
}
#ifdef Q_OS_LINUX
if (_windowTitleBarWidth == 0)
{
//TODO: 27 pixel is a fix value for the Ubuntu 10.4 default window theme and so just a
// workaround for that specific case.
_windowPosOffset = 27;
_windowTitleBarWidth = 27;
}
#endif
TQPixmap originalPixmap = TQPixmap::grabWindow(
TQApplication::desktop()->winId(),
TQApplication::desktop()->availableGeometry().x(),
TQApplication::desktop()->availableGeometry().y(), geometry().width(),
geometry().height());
TQBrush brush(originalPixmap);
TQTransform transform;
transform.translate(0, TQApplication::desktop()->availableGeometry().y());
brush.setTransform(transform);
setBackgroundBrush(brush);
_aboutDialogAsSplashScreen->setPixmap(TQPixmap::grabWidget(_aboutDialog));
_graphicsProxyWidget->setGeometry(_aboutDialog->geometry());
_aboutDialog->hide();
_graphicsProxyWidget->setPos(_parentWindow->geometry().x() +
(_parentWindow->geometry().width() - _graphicsProxyWidget->geometry().width()) / 2,
_parentWindow->y() + _windowTitleBarWidth - _windowPosOffset);
TQRectF r = _graphicsProxyWidget->boundingRect();
_graphicsProxyWidget->setTransform(TQTransform().translate(
r.width() / 2, -_windowTitleBarWidth).rotate(270, TQt::XAxis)
//.rotate(90, TQt::YAxis)
//.rotate(5, TQt::ZAxis)
//.scale(1 + 1.5 * step, 1 + 1.5 * step)
.translate(-r.width() / 2, _windowTitleBarWidth));
_graphicsProxyWidget->show();
//_aboutDialogAsSplashScreen->show();
TQGraphicsView::show();
connect(_timeLine, TQ_SIGNAL(finished()), this, TQ_SLOT(showAboutDialog()));
_timeLine->setDirection(TQTimeLine::Forward);
_timeLine->start();
}
/*
\brief Does the next calculation/transformation step.
*/
void AboutDialogGraphicsView::updateStep(int step)
{
TQRectF r = _graphicsProxyWidget->boundingRect();
_graphicsProxyWidget->setTransform(TQTransform().translate(
r.width() / 2, -_windowTitleBarWidth).rotate(step, TQt::XAxis)
//.rotate(step, TQt::YAxis)
//.rotate(step * 5, TQt::ZAxis)
//.scale(1 + 1.5 * step, 1 + 1.5 * step)
.translate(-r.width() / 2, _windowTitleBarWidth));
//update();
}
/*
\brief Stops the 3D animation, moves the AboutDialog to the correct place and really shows it.
*/
void AboutDialogGraphicsView::showAboutDialog()
{
//hide();
disconnect(_timeLine, TQ_SIGNAL(finished()), this, TQ_SLOT(showAboutDialog()));
_aboutDialog->move(int(_parentWindow->geometry().x() +
(_parentWindow->geometry().width() - _graphicsProxyWidget->geometry().width()) / 2),
_parentWindow->y() + _windowTitleBarWidth - _windowPosOffset);
_aboutDialog->exec();
}
/*
\brief Does not directly hide the AboutDialog but instead starts the "fade out" 3D animation.
*/
void AboutDialogGraphicsView::hide()
{
_graphicsProxyWidget->setPos(_parentWindow->geometry().x() +
(_parentWindow->geometry().width() - _graphicsProxyWidget->geometry().width()) / 2,
_parentWindow->y() + _windowTitleBarWidth - _windowPosOffset);
TQRectF r = _graphicsProxyWidget->boundingRect();
_graphicsProxyWidget->setTransform(TQTransform().translate(
r.width() / 2, -_windowTitleBarWidth).rotate(0, TQt::XAxis)
//.rotate(90, TQt::YAxis)
//.rotate(5, TQt::ZAxis)
//.scale(1 + 1.5 * step, 1 + 1.5 * step)
.translate(-r.width() / 2, _windowTitleBarWidth));
_graphicsProxyWidget->show();
//_aboutDialogAsSplashScreen->show();
TQGraphicsView::show();
connect(_timeLine, TQ_SIGNAL(finished()), this, TQ_SLOT(hideReally()));
_timeLine->setDirection(TQTimeLine::Backward);
_timeLine->start();
}
/*
\brief This slot really hides this AboutDialog container.
*/
void AboutDialogGraphicsView::hideReally()
{
disconnect(_timeLine, TQ_SIGNAL(finished()), this, TQ_SLOT(hideReally()));
TQGraphicsView::hide();
_parentWindow->activateWindow();
}

@ -1,57 +0,0 @@
/***************************************************************************
* 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. *
***************************************************************************/
#ifndef ABOUTDIALOGGRAPHICSVIEW_H
#define ABOUTDIALOGGRAPHICSVIEW_H
#include <tqgraphicsview.h>
class AboutDialog;
class TQTimeLine;
class TQSplashScreen;
class AboutDialogGraphicsView : public TQGraphicsView
{
TQ_OBJECT
public:
AboutDialogGraphicsView(AboutDialog *aboutDialog, TQWidget *parentWindow = NULL);
~AboutDialogGraphicsView(void);
public slots:
void show();
void hide();
private slots:
void updateStep(int step);
void showAboutDialog();
void hideReally();
private:
AboutDialog *_aboutDialog;
TQGraphicsProxyWidget *_graphicsProxyWidget;
TQWidget *_parentWindow;
TQTimeLine *_timeLine;
TQSplashScreen *_aboutDialogAsSplashScreen;
int _windowTitleBarWidth;
int _windowPosOffset;
};
#endif // ABOUTDIALOGGRAPHICSVIEW_H
Loading…
Cancel
Save