aboutdialog.cpp
author jhilmer
Tue, 16 Aug 2005 17:27:34 +0000
changeset 153 47cd4ae30000
parent 150 85eab6b8120b
child 155 7f06b2e3afb5
permissions -rw-r--r--
Fixed link handling in aboutdialog
jhilmer@153
     1
/* emacs: -*- Mode: C; c-style: "bsd"; c-basic-offset: 4; c-recognize-knr-p: nil; -*- */
jhilmer@153
     2
jhilmer@153
     3
#include <qmime.h>
jhilmer@153
     4
#include <qprocess.h>
jhilmer@153
     5
insilmaril@149
     6
#include "aboutdialog.h"
insilmaril@149
     7
#include "version.h"
jhilmer@153
     8
#include "settings.h"
jhilmer@153
     9
#include "mainwindow.h"
insilmaril@149
    10
jhilmer@153
    11
extern Main *mainWindow;
jhilmer@153
    12
extern Settings settings;
insilmaril@149
    13
insilmaril@150
    14
AboutDialog::AboutDialog( QWidget *parent, const char *name)
insilmaril@150
    15
    : QDialog( parent, name)
insilmaril@149
    16
{
jhilmer@153
    17
 
jhilmer@153
    18
    mainLayout=new QVBoxLayout( this, 10);
insilmaril@149
    19
jhilmer@153
    20
    tabs=new QTabWidget (this);
jhilmer@153
    21
    credits=new AboutTextBrowser (this,"credits");
insilmaril@149
    22
jhilmer@153
    23
    credits->setText (
jhilmer@153
    24
	"<h3><img src=\"vym_logo\">VYM - View Your Mind </h3>"
jhilmer@153
    25
	"<p> A tool to put the things you have got in your mind into a map.</p>"
jhilmer@153
    26
	"<ul>"
jhilmer@153
    27
	"<li> (c) by Uwe Drechsel (<a href=\"mailto:vym@InSilmaril.de\">vym@InSilmaril.de</a>)</li>"
jhilmer@153
    28
	"<li> vym is released under the GPL (Gnu General Public License)"
jhilmer@153
    29
	", with one exception (see the file \"LICENSE\"which "
jhilmer@153
    30
	"comes with vym). This exception is needed to build vym with QT libraries for proprietary operating systems.</li>"
jhilmer@153
    31
	"<li> Project homepage <a href=\"http:/www.InSilmaril.de/vym\">"
jhilmer@153
    32
	"http://www.InSilmaril.de/vym</a></li>"
jhilmer@153
    33
	"<li> Credits " 
jhilmer@153
    34
	"<ul>"
jhilmer@153
    35
	"<li>Jakob Hilmer for image drag and drop patch </li>"
jhilmer@153
    36
	"<li>Thomas Schraitle for the stylesheet  used for XHTML-export </li>"
jhilmer@153
    37
	"<li>Clemens Kraus for stylesheets and script used for HTML-export "
jhilmer@153
    38
	"<a href=\"http://www.clemens-kraus.de\">(www.clemens-kraus.de)</a></li>"
jhilmer@153
    39
	"<li>Alexander Johannesen for providing stylesheets from his xsiteable project " 
jhilmer@153
    40
	"<a href=\"http://www.shelter.nu/xsiteable/xsiteable.html\">(www.shelter.nu/xsiteable/xsiteable.html)</a>. </li>"
jhilmer@153
    41
	"<li>Ken Wimer and Olaf Hering for Mac support</li>"
jhilmer@153
    42
	"</ul>"
jhilmer@153
    43
	"</li>");
jhilmer@153
    44
    credits->setFrameStyle( QFrame::Panel | QFrame::Plain );
insilmaril@149
    45
    tabs->addTab (credits,"Credits");
insilmaril@149
    46
jhilmer@153
    47
    license=new AboutTextBrowser (this,"license");
jhilmer@153
    48
    license->setText ("License text...");
jhilmer@153
    49
    credits->setFrameStyle( QFrame::Panel | QFrame::Plain );
jhilmer@153
    50
    tabs->addTab (license,"License");
insilmaril@149
    51
jhilmer@153
    52
    mainLayout->addWidget (tabs);
jhilmer@153
    53
    tabs->showPage (credits);
insilmaril@149
    54
jhilmer@153
    55
    okbutton =new QPushButton (this,"okbutton");
jhilmer@153
    56
    okbutton->setText (tr("Ok"));
jhilmer@153
    57
    okbutton->setMaximumSize (QSize (50,30));
jhilmer@153
    58
    okbutton->setAutoDefault (true);
insilmaril@149
    59
    mainLayout->addWidget( okbutton); 
insilmaril@149
    60
jhilmer@153
    61
    connect( okbutton, SIGNAL( clicked() ), this, SLOT( accept() ) );
insilmaril@149
    62
}
insilmaril@149
    63
jhilmer@153
    64
AboutTextBrowser::AboutTextBrowser(QWidget *parent, const char *name)
jhilmer@153
    65
    : QTextBrowser(parent, name)
jhilmer@153
    66
{
jhilmer@153
    67
    
jhilmer@153
    68
}
insilmaril@150
    69
jhilmer@153
    70
void AboutTextBrowser::setSource(const QString &name)
insilmaril@149
    71
{
jhilmer@153
    72
    QMimeSourceFactory *factory = QMimeSourceFactory::defaultFactory();
jhilmer@153
    73
    const QMimeSource *data = factory->data(name);
jhilmer@153
    74
    if (data) {
jhilmer@153
    75
	QTextBrowser::setSource(name);
jhilmer@153
    76
    } else {
jhilmer@153
    77
	QProcess *proc = new QProcess( this );
jhilmer@153
    78
	proc->addArgument( settings.readEntry("/vym/mainwindow/readerURL" ));
jhilmer@153
    79
	proc->addArgument( name);
jhilmer@153
    80
	
jhilmer@153
    81
	if ( !proc->start() ) 
jhilmer@153
    82
	    if (mainWindow->settingsURL() ) 
jhilmer@153
    83
		setSource(name);
jhilmer@153
    84
    }
insilmaril@149
    85
}