about.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "about.h"
00016 #include <QPixmap>
00017 #include <QToolTip>
00018 #include <QLabel>
00019 #include <QTabWidget>
00020 #include <QWidget>
00021 #include <QPushButton>
00022 #include <QShowEvent>
00023
00024 #include "commonstrings.h"
00025 #include "scconfig.h"
00026 #include "sctextbrowser.h"
00027
00028 #ifdef HAVE_CAIRO
00029 #include <cairo.h>
00030 #endif
00031
00032 #include "util_ghostscript.h"
00033 #include "util_icon.h"
00034 #include "upgradechecker.h"
00035 #include "langmgr.h"
00036
00045 About::About( QWidget* parent, AboutMode diaMode ) : QDialog( parent )
00046 {
00047 m_mode = diaMode;
00048 m_firstShow = true;
00049 setWindowTitle( tr("About Scribus %1").arg(VERSION) );
00050 setWindowIcon(loadIcon("AppIcon.png", true));
00051 setModal(true);
00052 aboutLayout = new QVBoxLayout( this );
00053 aboutLayout->setSpacing( 6 );
00054 aboutLayout->setMargin( 10 );
00055 tabWidget2 = new QTabWidget( this );
00056
00057 tab = new QWidget( tabWidget2 );
00058 tabLayout1 = new QVBoxLayout( tab );
00059 tabLayout1->setSpacing( 6 );
00060 tabLayout1->setMargin( 15 );
00061 pixmapLabel1 = new QLabel( tab );
00062 pixmapLabel1->setPixmap(loadIcon("scribus_logo.png", true));
00063 pixmapLabel1->setFixedSize(QSize(pixmapLabel1->pixmap()->width(), pixmapLabel1->pixmap()->height()));
00064 pixmapLabel1->setAlignment(Qt::AlignCenter);
00065 tabLayout1->addWidget( pixmapLabel1 );
00066 buildID = new QLabel( tab );
00067 buildID->setAlignment(Qt::AlignCenter);
00068 QString BUILD_DAY = "23";
00069 QString BUILD_MONTH = CommonStrings::january;
00070 QString BUILD_YEAR = "2008";
00071 QString BUILD_TIME = "";
00072 QString BUILD_TZ = "";
00073 QString BUILD_NAME = "";
00074
00075
00076 QString built = tr("%1 %2 %3").arg(BUILD_DAY).arg(BUILD_MONTH).arg(BUILD_YEAR);
00077
00078
00079
00080 QString version = VERSION;
00081 if (BUILD_NAME != "")
00082 version += " \"" + BUILD_NAME + "\"";
00083 if (BUILD_NAME == "BleedingEdge")
00084 built = tr("%3-%2-%1 %4 %5").arg(BUILD_DAY).arg(BUILD_MONTH).arg(BUILD_YEAR).arg(BUILD_TIME).arg(BUILD_TZ);
00085
00086 QString bu;
00087 bu += "C";
00088 bu += "-";
00089 #ifdef HAVE_CUPS
00090 bu += "C";
00091 #else
00092 bu += "*";
00093 #endif
00094 bu += "-";
00095 bu += "T";
00096 bu += "-";
00097 #ifdef HAVE_FONTCONFIG
00098 bu += "F";
00099 #else
00100 bu += "*";
00101 #endif
00102 bu += "-";
00103 #ifdef HAVE_CAIRO
00104 bu += "C";
00105 bu += cairo_version_string();
00106 #else
00107 bu += "Q";
00108 #endif
00109
00110
00111 #if defined(Q_OS_WIN)
00112 bu += "-Windows";
00113 #elif defined(Q_OS_MAC)
00114 bu += "-Mac/";
00115 # if defined(Q_WS_MACX)
00116 bu += "Aqua";
00117 # elif define(Q_WS_X11)
00118 bu += "X11";
00119 # else
00120 bu += "?";
00121 # endif
00122 #elif defined(Q_OS_DARWIN)
00123
00124 bu += "-Darwin";
00125 #endif
00126 if (QSysInfo::WordSize != 32)
00127 bu += QString("-%1bit").arg(QSysInfo::WordSize);
00128 #if Q_BYTE_ORDER == Q_BIG_ENDIAN
00129 if (QSysInfo::ByteOrder==QSysInfo::BigEndian)
00130 bu += "-Big";
00131 #endif
00132 QString gsver(getGSVersion());
00133 if (!gsver.isNull())
00134 gsver = tr("Using Ghostscript version %1").arg(gsver);
00135 else
00136 gsver = tr("No Ghostscript version available");
00137 buildID->setText( tr("<p align=\"center\"><b>%1 %2</b></p><p align=\"center\">%3<br>%4 %5<br>%6</p>").arg( tr("Scribus Version")).arg(version).arg(built).arg( tr("Build ID:")).arg(bu).arg(gsver));
00138 tabLayout1->addWidget( buildID, 0, Qt::AlignHCenter );
00139 tabWidget2->addTab( tab, tr( "&About" ) );
00140 tab_2 = new QWidget( tabWidget2 );
00141 tabLayout = new QHBoxLayout( tab_2 );
00142 tabLayout->setSpacing( 6 );
00143 tabLayout->setMargin( 10 );
00144 textView1 = new ScTextBrowser( tab_2 );
00145 textView1->setText(QString::fromUtf8("<table><tr><td><b>" + tr("Development Team:").toUtf8() + "</b></td><td> </td></tr>" +
00146 "<tr><td>Franz Schmid</td><td>Franz.Schmid@altmuehlnet.de</td></tr>" +
00147 "<tr><td>Peter Linnell</td><td>mrdocs@scribus.info</td></tr>" +
00148 "<tr><td>Craig Bradney</td><td>cbradney@zip.com.au</td></tr>" +
00149 "<tr><td>Petr Vaněk</td><td>petr@yarpen.cz</td></tr>" +
00150 "<tr><td>Riku Leino</td><td>riku@scribus.info</td></tr>" +
00151 "<tr><td>Craig Ringer</td><td>craig@postnewspapers.com.au</td></tr>" +
00152 "<tr><td>Andreas Vox</td><td>avox@arcor.de</td></tr>" +
00153 "<tr><td>Jean Ghali</td><td>jghali@libertysurf.fr</td></tr>" +
00154 "<tr><td>Oleksandr Moskalenko</td><td>malex@tagancha.org</td></tr>" +
00155 "<tr><td> </td><td> </td></tr>" +
00156
00157 "<tr><td><b>" + tr("Contributions from:").toUtf8() + "</b></td><td></td></tr>" +
00158 "<tr><td>Niyam Bhushan</td><td></td></tr>" +
00159 "<tr><td>Martin Costabel</td><td></td></tr>" +
00160 "<tr><td>Steve Callcott</td><td>stotte@firstwish.co.uk</td></tr>" +
00161 "<tr><td>Frank Everdij</td><td>f.everdij@citg.tudelft.nl</td></tr>" +
00162 "<tr><td>S. Hakim Hamdani</td><td>hakimoto@eroteme.org</td></tr>" +
00163 "<tr><td>Maciej Hański</td><td>m.hanski@gmx.at</td></tr>" +
00164 "<tr><td>Paul F. Johnson</td><td>paul@all-the-johnsons.co.uk</td></tr>" +
00165 "<tr><td>Marti Maria</td><td></td></tr>" +
00166 "<tr><td>Alexandre Prokoudine</td><td>alexandre.prokoudine@gmail.com</td></tr>"
00167 "<tr><td>Alessandro Rimoldi</td><td>http://ideale.ch/contact</td></tr>" +
00168 "<tr><td>Alastair Robinson</td><td>blackfive@fakenhamweb.co.uk</td></tr>" +
00169 "<tr><td>Johannes Rüschel</td><td>jo.rueschel@gmx.de</td></tr>" +
00170 "<tr><td>Jean-Jacques Sarton</td><td>jj.sarton@t-online.de</td></tr>" +
00171 "<tr><td>Christian Töpp</td><td>mr-ct@gmx.de</td></tr>" +
00172 "<tr><td>Eirik Øverby</td><td>ltning@anduin.net</td></tr>" +
00173 "<tr><td>Gora Mohanty </td><td>gora@srijan.in</td></tr>" +
00174 "<tr><td>Kevin Young</td><td>k.young@youngscomputing.com</td></tr>" +
00175 "<tr><td></td><td></td></tr>" +
00176
00177 "<tr><td><b>" + tr("Mac OS® X Aqua Port:").toUtf8() + "</b></td><td> </td></tr>" +
00178 "<tr><td>Andreas Vox</td><td>avox@arcor.de</td></tr>" +
00179 "<tr><td> </td><td> </td></tr>" +
00180
00181 "<tr><td><b>" + tr("OS/2®/eComStation™ Port:").toUtf8() + "</b></td><td> </td></tr>" +
00182 "<tr><td>Paul Smedley</td><td>paul@smedley.info</td></tr>" +
00183 "<tr><td> </td><td> </td></tr>" +
00184
00185 "<tr><td><b>" + tr("Windows® Port:").toUtf8() + "</b></td><td> </td></tr>" +
00186 "<tr><td>Jean Ghali</td><td>jghali@libertysurf.fr</td></tr>" +
00187 "<tr><td> </td><td> </td></tr>" +
00188
00189 "<tr><td><b>" + tr("Official Documentation:").toUtf8() + "</b></td><td></td></tr>" +
00190 "<tr><td>Peter Linnell</td><td>mrdocs@scribus.info</td></tr>" +
00191 "<tr><td>Craig Bradney</td><td>cbradney@zip.com.au</td></tr>" +
00192 "<tr><td>Frédéric Dubuy</td><td>effediwhy@gmail.com</td></tr>" +
00193 "<tr><td>Johannes Rüschel</td><td>jo.rueschel@gmx.de</td></tr>"
00194 +"<tr><td>Volker Ribbert</td><td>volkerius@h3c.de</td></tr>" +
00195 "<tr><td>Louis Desjardins</td><td>louisdesjardins@videotron.ca</td></tr>" +
00196 "<tr><td> </td><td> </td></tr>" +
00197 "<tr><td><b>" + tr("Other Documentation:").toUtf8() + "</b></td><td></td></tr>" +
00198 "<tr><td>Yves Ceccone</td><td>yves@yeccoe.org</td></tr>" +
00199 "<tr><td>Holger Reibold</td><td>http://www.bomots.de/scribus/</td></tr>" +
00200 "<tr><td>Thomas Zastrow</td><td>webmaster@thomas-zastrow.de</td></tr>" +
00201 "<tr><td> </td><td> </td></tr>" +
00202 "<tr><td><b>" + tr("Splash Screen:").toUtf8() + "</b></td><td></td></tr>" +
00203 "<tr><td>Andy Fitzsimon</td><td>andrew@fitzsimon.com.au</td></tr>" +
00204 "<tr><td> </td><td> </td></tr>" +
00205 "<tr><td><b>" + tr("Tango Project Icons:").toUtf8() + "</b></td><td></td></tr>" +
00206 "<tr><td>Andreas Nilsson</td><td>nisses.mail@home.se</td></tr>" +
00207 "<tr><td>Jakub Steiner</td><td>jimmac@ximian.com</td></tr>" +
00208 "<tr><td>Antoine Cailliau</td><td>antoinecailliau@gmail.com</td></tr>" +
00209 "<tr><td> </td><td> </td></tr>" + "</table>"));
00210 tabLayout->addWidget( textView1 );
00211 tabWidget2->addTab( tab_2, tr( "A&uthors" ) );
00212 tab_3 = new QWidget( tabWidget2 );
00213 tabLayout_2 = new QHBoxLayout( tab_3 );
00214 tabLayout_2->setSpacing( 6 );
00215 tabLayout_2->setMargin( 10 );
00216 textView2 = new ScTextBrowser( tab_3);
00217 LanguageManager langmgr;
00218 langmgr.init(false);
00219 textView2->setText(QString::fromUtf8( "<table><tr><td><b><i>" + tr("Official Translations and Translators:").toUtf8() + "</i></b></td><td></td></tr>" +
00220 "<tr><td><b>" + langmgr.getLangFromAbbrev("af").toLocal8Bit() + "</b></td><td></td></tr>" +
00221 "<tr><td>Kobus Wolvaardt</td><td>kobuswolf@diewereld.co.za</td></tr>" +
00222 "<tr><td> </td><td> </td></tr>" +
00223 "<tr><td><b>" +
00224 langmgr.getLangFromAbbrev("ar").toLocal8Bit() + "</b></td><td> </td></tr>" +
00225 "<tr><td>حاتم المسلم</td><td>dr.hatim@hotmail.com</td></tr>" +
00226 "<tr><td> </td><td> </td></tr>" +
00227 "<tr><td><b>" +langmgr.getLangFromAbbrev("eu").toLocal8Bit() + "</b></td><td> </td></tr>" +
00228 "<tr><td>Iñaki Larrañaga Murgoitio</td><td>dooteo@euskalgnu.org</td></tr>" +
00229 "<tr><td> </td><td> </td></tr>" +
00230 "<tr><td><b>" + langmgr.getLangFromAbbrev("br").toLocal8Bit() + "</b></td><td> </td></tr>" +
00231 "<tr><td>Alan Monfort</td><td>alan.monfort@free.fr</td></tr>" +
00232 "<tr><td> </td><td> </td></tr>" +
00233 "<tr><td><b>" + langmgr.getLangFromAbbrev("ca").toLocal8Bit() + "</b></td><td> </td></tr>" +
00234 "<tr><td>Xavier Sala Pujolar</td><td>utrescu@xaviersala.net</td></tr>" +
00235 "<tr><td> </td><td> </td></tr>" +
00236 "<tr><td><b>" + langmgr.getLangFromAbbrev("zh_TW").toLocal8Bit() + "</b></td><td> </td></tr>" +
00237 "<tr><td>dneif</td><td>dnextstep@gmail.com</td></tr>" +
00238 "<tr><td>Gilbert Su</td><td>gilbert_su@yahoo.com.tw</td></tr>" +
00239 "<tr><td> </td><td> </td></tr>" +
00240 "<tr><td><b>" + langmgr.getLangFromAbbrev("cs").toLocal8Bit() + "</b></td><td></td></tr>" +
00241 "<tr><td>Vlastimil Ott</td><td>vlastimil@e-ott.info</td></tr>" +
00242 "<tr><td>Petr Vaněk</td><td>petr@yarpen.cz</td></tr>" +
00243 "<tr><td> </td><td> </td></tr>" +
00244 "<tr><td><b>" + langmgr.getLangFromAbbrev("da").toLocal8Bit() + "</b></td><td></td></tr>" +
00245 "<tr><td>Morten Langlo</td><td>mlanglo@mail.dk</td></tr>" +
00246 "<tr><td> </td><td> </td></tr>" +
00247 "<tr><td><b>" + langmgr.getLangFromAbbrev("nl").toLocal8Bit() + "</b></td><td></td></tr>" +
00248 "<tr><td>Foppe Benedictus</td><td>foppe.benedictus@gmail.coml</td></tr>" +
00249 "<tr><td>Erik Collou</td><td>collou@gmx.net</td></tr>" +
00250 "<tr><td> </td><td> </td></tr>" +
00251 "<tr><td><b>" +
00252 langmgr.getLangFromAbbrev("en_AU").toLocal8Bit() + "</b></td><td></td></tr>" +
00253 "<tr><td>Craig Bradney</td><td>cbradney@zip.com.au</td></tr>" +
00254 "<tr><td> </td><td> </td></tr>" +
00255 "<tr><td><b>" +
00256 langmgr.getLangFromAbbrev("en_GB").toLocal8Bit() + "</b></td><td></td></tr>" +
00257 "<tr><td>Craig Bradney</td><td>cbradney@zip.com.au</td></tr>" +
00258 "<tr><td> </td><td> </td></tr>" +
00259 "<tr><td><b>" + langmgr.getLangFromAbbrev("eo").toLocal8Bit() + "</b></td><td> </td></tr>" +
00260 "<tr><td>Pier Luigi Cinquantini</td><td>plcinquantini@katamail.com</td></tr>" +
00261 "<tr><td> </td><td> </td></tr>" +
00262 "<tr><td><b>" + langmgr.getLangFromAbbrev("et").toLocal8Bit() + "</b></td><td> </td></tr>" +
00263 "<tr><td>Marek Laane</td><td>bald@starman.ee</td></tr>" +
00264 "<tr><td>Hasso Tepper</td><td>hasso@estpak.ee</td></tr>" +
00265 "<tr><td> </td><td> </td></tr>" +
00266 "<tr><td><b>" + langmgr.getLangFromAbbrev("fi").toLocal8Bit() + "</b></td><td></td></tr>" +
00267 "<tr><td>Riku Leino</td><td>riku@scribus.info</td></tr>" +
00268 "<tr><td> </td><td> </td></tr>" +
00269 "<tr><td><b>" + langmgr.getLangFromAbbrev("fr").toLocal8Bit() + "</b></td><td> </td>" +
00270 "<tr><td>Nicolas Boos</td><td>nicolas.boos@wanadoo.fr</td></tr>" +
00271 "<tr><td>Louis Desjardins</td><td>louis_desjardins@mardigrafe.com</td></tr>" +
00272 "<tr><td>Frédéric Dubuy</td><td>effediwhy@gmail.com</td></tr>" +
00273 "<tr><td> </td><td> </td></tr>" +
00274 "<tr><td><b>" + langmgr.getLangFromAbbrev("de").toLocal8Bit() + "</b></td><td> </td></tr>" +
00275 "<tr><td>Johannes Rüschel</td><td>jo.rueschel@gmx.de</td></tr>" +
00276 "<tr><td>Franz Schmid</td><td>Franz.Schmid@altmuehlnet.de</td></tr>" +
00277 "<tr><td>Christoph Schäfer</td><td>christoph-schaefer@gmx.de</td></tr>" +
00278 "<tr><td> </td><td> </td></tr>" +
00279 "<tr><td><b>" + langmgr.getLangFromAbbrev("de_CH").toLocal8Bit() + "</b></td><td> </td></tr>" +
00280 "<tr><td>Christoph Schäfer</td><td>christoph-schaefer@gmx.de</td></tr>" +
00281 "<tr><td> </td><td> </td></tr>" +
00282 "<tr><td><b>" + langmgr.getLangFromAbbrev("de_ol").toLocal8Bit() + "</b></td><td> </td></tr>" +
00283 "<tr><td>Johannes Rüschel</td><td>jo.rueschel@gmx.de</td></tr>" +
00284 "<tr><td>Christoph Schäfer</td><td>christoph-schaefer@gmx.de</td></tr>" +
00285 "<tr><td> </td><td> </td></tr>" +
00286 "<tr><td><b>" + langmgr.getLangFromAbbrev("ga").toLocal8Bit() + "</b></td><td> </td></tr>" +
00287 "<tr><td>Xose Calvo</td><td>xosecalvo@galizaweb.net</td></tr>" +
00288 "<tr><td>Manuel Anxo Rei</td><td>manxopar@avogaciagalega.org</td></tr>" +
00289 "<tr><td> </td><td> </td></tr>" +
00290 "<tr><td><b>" + langmgr.getLangFromAbbrev("el").toLocal8Bit() + "</b></td><td> </td></tr>" +
00291 "<tr><td>Τούσης Μανώλης </br> Toussis Manolis</td><td>manolis@koppermind.homelinux.org</td></tr>" +
00292 "<tr><td> </td><td> </td></tr>" +
00293 "<tr><td><b>" + langmgr.getLangFromAbbrev("hu").toLocal8Bit() + "</b></td><td> </td></tr>" +
00294 "<tr><td>Csaba Zakarias</td><td>csaba.zakarias@gmail.com</td></tr>" +
00295 "<tr><td> </td><td> </td></tr>" +
00296 "<tr><td><b>" + langmgr.getLangFromAbbrev("it").toLocal8Bit() + "</b></td><td> </td></tr>" +
00297 "<tr><td>Pier Luigi Cinquantini</td><td>plcinquantini@katamail.com</td></tr>" +
00298 "<tr><td> </td><td> </td></tr>" +
00299 "<tr><td><b>" + langmgr.getLangFromAbbrev("ja").toLocal8Bit() + "</b></td><td> </td></tr>" +
00300 "<tr><td>Shushi Kurose</td><td>md81@bird.email.ne.jp</td></tr>" +
00301 "<tr><td> </td><td> </td></tr>" +
00302 "<tr><td><b>" + langmgr.getLangFromAbbrev("ko").toLocal8Bit() + "</b></td><td> </td></tr>" +
00303 "<tr><td>Kitae Kim</td><td>neeum@yahoo.com</td></tr>" +
00304 "<tr><td> </td><td> </td></tr>" +
00305 "<tr><td><b>" + langmgr.getLangFromAbbrev("nb").toUtf8() + "</b></td><td></td></tr>" +
00306 "<tr><td>Axel Bojer</td><td>axelb@skolelinux.no</td></tr>" +
00307 "<tr><td>Klaus Ade Johnstad</td><td>klaus@inout.no</td></tr>" +
00308 "<tr><td> </td><td> </td></tr>" +
00309 "<tr><td><b>" + langmgr.getLangFromAbbrev("pl").toLocal8Bit() + "</b></td><td> </td></tr>" +
00310 "<tr><td>Maciej Hański</td><td>m.hanski@gmx.at</td></tr>" +
00311 "<tr><td> </td><td> </td></tr>" +
00312 "<tr><td><b>" + langmgr.getLangFromAbbrev("pt").toLocal8Bit() + "</b></td><td> </td></tr>" +
00313 "<tr><td>Fausto Guilherme</td><td>faustoguilherme@gmail.com</td></tr>" +
00314 "<tr><td> </td><td> </td></tr>" +
00315 "<tr><td><b>" + langmgr.getLangFromAbbrev("pt_BR").toLocal8Bit() + "</b></td><td> </td></tr>" +
00316 "<tr><td>Ludi Maciel</td><td>iludi@uol.com.br</td></tr>" +
00317 "<tr><td>Frederico Gonçalves</td><td></td></tr>" +
00318 "<tr><td> </td><td> </td></tr>" +
00319 "<tr><td><b>" + langmgr.getLangFromAbbrev("ru").toLocal8Bit() + "</b></td><td></td></tr>" +
00320 "<tr><td>Александр Прокудин </td><td>alexandre.prokoudine@gmail.com</td></tr>" +
00321 "<tr><td> </td><td> </td></tr>" +
00322 "<tr><td><b>" + langmgr.getLangFromAbbrev("sr").toLocal8Bit() + "</b></td><td></td></tr>" +
00323 "<tr><td>Bojan Božović</td><td>bole89@infosky.net</td></tr>" +
00324 "<tr><td> </td><td> </td></tr>" +
00325 "<tr><td><b>" + langmgr.getLangFromAbbrev("sk").toLocal8Bit() + "</b></td><td></td></tr>" +
00326 "<tr><td>Zdenko Podobný</td><td>zdposter@gmail.com</td></tr>" +
00327 "<tr><td> </td><td> </td></tr>" +
00328 "<tr><td><b>" + langmgr.getLangFromAbbrev("sl").toLocal8Bit() + "</b></td><td></td></tr>" +
00329 "<tr><td>Boštjan Špetič</td><td>igzebedze@kiberpipa.org</td></tr>" +
00330 "<tr><td>Peter Čuhalev</td><td>skatey@slocartoon.net</td></tr>" +
00331 "<tr><td> </td><td> </td></tr>" +
00332 "<tr><td><b>" + langmgr.getLangFromAbbrev("es_ES").toLocal8Bit() + "</b></td><td> </td></tr>" +
00333 "<tr><td>Josep Febrer</td><td>josep@linuxmail.org</td></tr>" +
00334 "<tr><td> </td><td> </td></tr>" +
00335 "<tr><td><b>" + langmgr.getLangFromAbbrev("sv").toLocal8Bit() + "</b></td><td></td></tr>" +
00336 "<tr><td>Göran Bondeson</td><td>goran@bondeson.net</td></tr>" +
00337 "<tr><td> </td><td> </td></tr>" +
00338 "<tr><td><b>" + langmgr.getLangFromAbbrev("th_TH").toLocal8Bit() + "</b></td><td></td></tr>" +
00339 "<tr><td>Sira Nokyoungthong</td><td>Sira Nokyoungthong</td></tr>" +
00340 "<tr><td> </td><td> </td></tr>" +
00341 "<tr><td><b>" + langmgr.getLangFromAbbrev("tr").toLocal8Bit() + "</b></td><td> </td></tr>" +
00342 "<tr><td>Barış Atasoy</td><td>batasoy@pozitifpc.com</td></tr>" +
00343 "<tr><td> </td><td> </td></tr>" +
00344 "<tr><td><b>" + langmgr.getLangFromAbbrev("uk").toLocal8Bit() + "</b></td><td> </td></tr>" +
00345 "<tr><td>Oleksandr Moskalenko</td><td>malex@tagancha.org</td></tr>" +
00346 "<tr><td> </td><td> </td></tr>" +
00347 "<tr><td><b>" + langmgr.getLangFromAbbrev("cy").toLocal8Bit() + "</b></td><td></td></tr>" +
00348 "<tr><td>Kevin Donnelly</td><td>kevin@dotmon.com</td></tr>" +
00349 "<tr><td> </td><td> </td></tr>" +
00350 "</table>" +
00351 "<table><tr><td><b><i>" + tr("Previous Translation Contributors:").toLocal8Bit() + "</i></b></td><td></td></tr>" +
00352 "<tr><td><b>" + langmgr.getLangFromAbbrev("eu").toLocal8Bit() + "</b></td><td></td></tr>" +
00353 "<tr><td>Pablo Saratxaga</td><td>pablo@mandrakesoft.com</td></tr>" +
00354 "<tr><td> </td><td> </td></tr>" +
00355 "<tr><td><b>" + langmgr.getLangFromAbbrev("pt_BR").toLocal8Bit() + "</b></td><td></td></tr>" +
00356 "<tr><td>Celio Santos</td><td>celio@electronic.srv.br</td></tr>" +
00357 "<tr><td>Cezar de Souza Marson Nido</td><td>cesar@electronic.srv.br</td></tr>" +
00358 "<tr><td> </td><td> </td></tr>" +
00359 "<tr><td><b>" + langmgr.getLangFromAbbrev("bg").toLocal8Bit() + "</b></td><td> </td></tr>" +
00360 "<tr><td>Vasko Tomanov</td><td>vasko@web.bg</td></tr>" +
00361 "<tr><td> </td><td> </td></tr>" +
00362 "<tr><td><b>" + langmgr.getLangFromAbbrev("nl").toUtf8() + "</b></td><td></td></tr>" +
00363 "<tr><td>Wilbert Berendsen</td><td>wbsoft@xs4all.nl</td></tr>" +
00364 "<tr><td> </td><td> </td></tr>" +
00365 "<tr><td><b>" + langmgr.getLangFromAbbrev("en_GB").toLocal8Bit() + "</b></td><td></td></tr>" +
00366 "<tr><td>Paul F. Johnson</td><td>paul@all-the-johnsons.co.uk</td></tr>" +
00367 "<tr><td> </td><td> </td></tr>" +
00368 "<tr><td><b>" + langmgr.getLangFromAbbrev("fr").toLocal8Bit() + "</b></td><td> </td>" +
00369 "<tr><td>Michel Briand</td><td>michelbriand@free.fr</td></tr>" +
00370 "<tr><td>Yves Ceccone</td><td>yves@yeccoe.org</td></tr>" +
00371 "<tr><td> </td><td> </td></tr>" +
00372
00373 "<tr><td><b>" + langmgr.getLangFromAbbrev("hu").toLocal8Bit() + "</b></td><td> </td></tr>" +
00374 "<tr><td>Giovanni Biczó</td><td>gbiczo@freestart.hu</td></tr>" +
00375 "<tr><td>Bence Nagy</td><td>scribus@tipogral.hu</td></tr>" +
00376 "<tr><td>Zoltán Böszörményi</td><td>zboszor@freemail.hu</td></tr>" +
00377 "<tr><td> </td><td> </td></tr>" +
00378 "<tr><td><b>" + langmgr.getLangFromAbbrev("lt").toLocal8Bit() + "</b></td><td> </td></tr>" +
00379 "<tr><td>Aivaras Kirejevas</td><td>kiras@mail.lt</td></tr>" +
00380 "<tr><td> </td><td> </td></tr>" +
00381 "<tr><td><b>" + langmgr.getLangFromAbbrev("nb").toLocal8Bit() + "</b></td><td></td></tr>" +
00382 "<tr><td>Johannes Wilm</td><td>j@indymedia.no</td></tr>" +
00383 "<tr><td> </td><td> </td></tr>" +
00384 "<tr><td><b>" + langmgr.getLangFromAbbrev("tr").toLocal8Bit() + "</b></td><td> </td></tr>" +
00385 "<tr><td>Erkan Kaplan</td><td>Selamsana@uni.de</td></tr>" +
00386 "<tr><td> </td><td> </td></tr>" +
00387 "<tr><td><b>" + langmgr.getLangFromAbbrev("uk").toLocal8Bit() + "</b></td><td> </td></tr>" +
00388 "<tr><td>Sergiy Kudryk</td><td>kudryk@yahoo.com</td></tr>" +
00389 "<tr><td> </td><td> </td></tr>" +
00390 "</table>"));
00391 tabLayout_2->addWidget( textView2 );
00392 tabWidget2->addTab( tab_3, tr( "&Translations" ) );
00393
00394
00395 tab_4 = new QWidget( tabWidget2 );
00396 textView4 = new ScTextBrowser( tab_4 );
00397 textView4->setText(QString::fromUtf8(
00398 "<table><tr><td><b>" + tr("Homepage").toUtf8() + "</b></td><td></td></tr>" +
00399 "<tr><td colspan=\"2\"><p><a href=\"http://www.scribus.net\">http://www.scribus.net</a></p></td></tr>" +
00400 "<tr><td><b>" + tr("Online Reference").toUtf8() + "</b></td><td></td></tr>" +
00401 "<tr><td colspan=\"2\"><p><a href=\"http://docs.scribus.net\">http://docs.scribus.net</a></p></td></tr>" +
00402 "<tr><td><b>" + tr("Wiki").toUtf8() + "</b></td><td></td></tr>" +
00403 "<tr><td colspan=\"2\"><p><a href=\"http://wiki.scribus.net\">http://wiki.scribus.net</a></p></td></tr>" +
00404 "<tr><td><b>" + tr("Bugs and Feature Requests").toUtf8() + "</b></td><td></td></tr>" +
00405 "<tr><td colspan=\"2\"><p><a href=\"http://bugs.scribus.net\">http://bugs.scribus.net</a></p></td></tr>" +
00406 "<tr><td><b>" + tr("Mailing List").toUtf8() + "</b></td><td></td></tr>" +
00407 "<tr><td colspan=\"2\"><p><a href=\"http://nashi.altmuehlnet.de/mailman/listinfo/scribus\">http://nashi.altmuehlnet.de/mailman/listinfo/scribus</a></p></td></tr>" +
00408 "</table>"));
00409 tabLayout_4 = new QHBoxLayout( tab_4 );
00410 tabLayout_4->setSpacing( 6 );
00411 tabLayout_4->setMargin( 10 );
00412 tabLayout_4->addWidget( textView4 );
00413 tabWidget2->addTab( tab_4, tr( "&Online" ) );
00414
00415 tab_5 = new QWidget( tabWidget2 );
00416 tabWidget2->addTab( tab_5, tr( "&Updates" ) );
00417 updateLayout = new QVBoxLayout( tab_5 );
00418 updateLayout->setSpacing( 6 );
00419 updateLayout->setMargin( 10 );
00420 checkForUpdateButton = new QPushButton( tr( "Check for Updates" ), tab_5 );
00421 textView5 = new ScTextBrowser( tab_5);
00422 updateLayout->addWidget( checkForUpdateButton );
00423 updateLayout->addWidget( textView5 );
00424
00425 aboutLayout->addWidget( tabWidget2 );
00426
00427 layout2 = new QHBoxLayout;
00428 layout2->setSpacing( 6 );
00429 layout2->setMargin( 0 );
00430 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
00431 layout2->addItem( spacer );
00432 okButton = new QPushButton( tr( "&Close" ), this );
00433 okButton->setDefault( true );
00434 layout2->addWidget( okButton );
00435 aboutLayout->addLayout( layout2 );
00436 setMaximumSize(sizeHint());
00437
00438
00439
00440
00441 buildID->setToolTip( "<qt>" + tr( "This panel shows the version, build date and compiled in library support in Scribus.")+"<br>"
00442 + tr("The C-C-T-F equates to C=littlecms C=CUPS T=TIFF support F=Fontconfig support.Last Letter is the renderer C=cairo or Q=Qt")+"<br>"
00443 + tr("Missing library support is indicated by a *. This also indicates the version of Ghostscript which Scribus has detected.")+"<br>"
00444 + tr("The Windows version does not use fontconfig or CUPS libraries." ) + "</qt>" );
00445 checkForUpdateButton->setToolTip( "<qt>" + tr( "Check for updates to Scribus. No data from your machine will be transferred off it." ) + "</qt>" );
00446
00447 connect( okButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
00448 connect( checkForUpdateButton, SIGNAL( clicked() ), this, SLOT( runUpdateCheck() ) );
00449 }
00450
00451 void About::showEvent (QShowEvent * event)
00452 {
00453 if (m_mode == About::CheckUpdates && m_firstShow)
00454 tabWidget2->setCurrentIndex(4);
00455 QDialog::showEvent(event);
00456 }
00457
00458 void About::setVisible (bool visible)
00459 {
00460 QDialog::setVisible(visible);
00461 if (m_firstShow && (m_mode == About::CheckUpdates) && visible)
00462 {
00463 m_firstShow = false;
00464 runUpdateCheck();
00465 }
00466 }
00467
00468 void About::runUpdateCheck()
00469 {
00470 textView5->clear();
00471 UpgradeCheckerGUI uc(textView5);
00472 disconnect( checkForUpdateButton, SIGNAL( clicked() ), this, SLOT( runUpdateCheck() ) );
00473 connect(checkForUpdateButton, SIGNAL( clicked() ), &uc, SLOT( abort() ));
00474 checkForUpdateButton->setText( tr("Abort Update Check") );
00475 uc.fetch();
00476 checkForUpdateButton->setText( tr("Check for Updates") );
00477 connect( checkForUpdateButton, SIGNAL( clicked() ), this, SLOT( runUpdateCheck() ) );
00478 }