void About::runUpdateCheck() { updateView->clear(); UpgradeCheckerGUI uc(updateView); disconnect( checkForUpdateButton, SIGNAL( clicked() ), this, SLOT( runUpdateCheck() ) ); uc.fetch(); connect( checkForUpdateButton, SIGNAL( clicked() ), this, SLOT( runUpdateCheck() ) ); }
void About::setVisible (bool visible) { QDialog::setVisible(visible); if (m_firstShow && (m_mode == About::CheckUpdates) && visible) { m_firstShow = false; runUpdateCheck(); } }
void UpdateChecker::checkForUpdates() { const QUrl url = SettingsManager::getValue(QLatin1String("Updates/ServerUrl")).toString(); if (!url.isValid()) { Console::addMessage(QCoreApplication::translate("main", "Unable to check for updates. Invalid URL: %1").arg(url.url()), OtherMessageCategory, ErrorMessageLevel); deleteLater(); return; } QNetworkRequest request(url); request.setHeader(QNetworkRequest::UserAgentHeader, NetworkManagerFactory::getUserAgent()); m_networkReply = NetworkManagerFactory::getNetworkManager()->get(request); connect(m_networkReply, SIGNAL(finished()), this, SLOT(runUpdateCheck())); }
UpdateChecker::UpdateChecker(QObject *parent, bool inBackground) : QObject(parent), m_networkReply(nullptr), m_isInBackground(inBackground) { const QUrl url(SettingsManager::getValue(SettingsManager::Updates_ServerUrlOption).toString()); if (!url.isValid()) { Console::addMessage(QCoreApplication::translate("main", "Unable to check for updates. Invalid URL: %1").arg(url.url()), Console::OtherCategory, Console::ErrorLevel); deleteLater(); return; } QNetworkRequest request(url); request.setHeader(QNetworkRequest::UserAgentHeader, NetworkManagerFactory::getUserAgent()); m_networkReply = NetworkManagerFactory::getNetworkManager()->get(request); connect(m_networkReply, SIGNAL(finished()), this, SLOT(runUpdateCheck())); }
/*! \fn About::About( QWidget* parent, AboutMode diaMode ) \author Franz Schmid \date \brief Constructor for About dialog box \param parent QWidget pointer to parent window \param diaMode a dialog mode. See AboutMode. \retval About dialog */ About::About( QWidget* parent, AboutMode diaMode ) : QDialog( parent ) { m_mode = diaMode; m_firstShow = true; setWindowTitle( tr("About Scribus %1").arg(VERSION) ); setWindowIcon(IconManager::instance()->loadIcon("AppIcon.png", true)); setModal(true); aboutLayout = new QVBoxLayout( this ); aboutLayout->setSpacing( 6 ); aboutLayout->setMargin( 10 ); tabWidget2 = new QTabWidget( this ); // tabWidget2->setMinimumSize( QSize( 438, 258 ) ); tab = new QWidget( tabWidget2 ); tabLayout1 = new QVBoxLayout( tab ); tabLayout1->setSpacing( 6 ); tabLayout1->setMargin( 15 ); pixmapLabel1 = new QLabel( tab ); pixmapLabel1->setPixmap(IconManager::instance()->loadPixmap("scribus_splash.png", true)); pixmapLabel1->setFixedSize(QSize(pixmapLabel1->pixmap()->width(), pixmapLabel1->pixmap()->height())); pixmapLabel1->setAlignment(Qt::AlignCenter); tabLayout1->addWidget( pixmapLabel1 ); buildID = new QLabel( tab ); buildID->setAlignment(Qt::AlignCenter); buildID->setTextInteractionFlags(Qt::TextSelectableByMouse); QString BUILD_DAY = "3"; QString BUILD_MONTH = CommonStrings::april; QString BUILD_YEAR = "2016"; QString BUILD_TIME = ""; QString BUILD_TZ = ""; QString BUILD_NAME = ""; QString built = tr("%1 %2 %3").arg(BUILD_DAY).arg(BUILD_MONTH).arg(BUILD_YEAR); QString version = VERSION; if (BUILD_NAME != "") version += " \"" + BUILD_NAME + "\""; if (BUILD_NAME == "BleedingEdge") built = tr("%3-%2-%1 %4 %5").arg(BUILD_DAY).arg(BUILD_MONTH).arg(BUILD_YEAR).arg(BUILD_TIME).arg(BUILD_TZ); #if defined(HAVE_SVNVERSION) && defined(SVNVERSION) QString revText; revText=QString(tr("SVN Revision: %1")).arg(SVNVERSION); built+=" - "; built+=revText; #endif QString bu; bu += "C"; bu += "-"; bu += "-"; bu += "T"; bu += "-"; #ifdef HAVE_FONTCONFIG bu += "F"; #else bu += "*"; #endif bu += "-"; bu += "C"; bu += cairo_version_string(); // Some more information if we are not on a 32bit little endian Unix machine #if defined(Q_OS_WIN) bu += "-Windows"; #elif defined(Q_OS_MAC) bu += "-Mac/"; #elif defined(Q_OS_DARWIN) // dunno if anyone uses this... bu += "-Darwin"; #endif if (QSysInfo::WordSize != 32) bu += QString("-%1bit").arg(QSysInfo::WordSize); #if Q_BYTE_ORDER == Q_BIG_ENDIAN if (QSysInfo::ByteOrder==QSysInfo::BigEndian) bu += "-Big"; #endif QString gsver(getGSVersion()); if (!gsver.isEmpty()) gsver = tr("Using Ghostscript version %1").arg(gsver); else gsver = tr("No Ghostscript version available"); 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)); tabLayout1->addWidget( buildID, 0, Qt::AlignHCenter ); tabWidget2->addTab( tab, tr( "&About" ) ); /*! AUTHORS tab */ tab_2 = new QWidget( tabWidget2 ); tabLayout = new QHBoxLayout( tab_2 ); tabLayout->setSpacing( 6 ); tabLayout->setMargin( 10 ); authorView = new QTextBrowser( tab_2 ); authorView->setHtml(About::parseAuthorFile(ScPaths::instance().docDir() + "AUTHORS")); tabLayout->addWidget( authorView ); tabWidget2->addTab( tab_2, tr("A&uthors")); /*! TRANSLATION tab */ tab_3 = new QWidget( tabWidget2 ); tabLayout_2 = new QHBoxLayout( tab_3 ); tabLayout_2->setSpacing( 6 ); tabLayout_2->setMargin( 10 ); transView = new QTextBrowser( tab_3); transView->setHtml(About::parseTranslationFile(ScPaths::instance().docDir() + "TRANSLATION")); tabLayout_2->addWidget( transView ); tabWidget2->addTab( tab_3, tr( "&Translations" ) ); /*! ONLINE tab (03/04/2004 petr vanek) */ tab_4 = new QWidget( tabWidget2 ); onlineView = new QTextBrowser( tab_4 ); onlineView->setHtml(About::parseLinksFile(ScPaths::instance().docDir() + "LINKS")); onlineView->setOpenExternalLinks(true); tabLayout_4 = new QHBoxLayout( tab_4 ); tabLayout_4->setSpacing( 6 ); tabLayout_4->setMargin( 10 ); tabLayout_4->addWidget( onlineView ); tabWidget2->addTab( tab_4, tr( "&Online" ) ); /*! UPDATE tab */ tab_5 = new QWidget( tabWidget2 ); tabWidget2->addTab( tab_5, tr( "&Updates" ) ); updateLayout = new QVBoxLayout( tab_5 ); updateLayout->setSpacing( 6 ); updateLayout->setMargin( 10 ); checkForUpdateButton = new QPushButton( tr( "Check for Updates" ), tab_5 ); updateView = new QTextBrowser( tab_5); updateLayout->addWidget( checkForUpdateButton ); updateLayout->addWidget( updateView ); /*! LICENCE tab */ tab_Licence = new QWidget( tabWidget2 ); tabWidget2->addTab( tab_Licence, tr( "&Licence" ) ); licenceLayout = new QVBoxLayout( tab_Licence ); licenceLayout->setSpacing( 6 ); licenceLayout->setMargin( 10 ); textViewLicence = new QTextBrowser( tab_Licence); licenceLayout->addWidget( textViewLicence ); QFile licenceFile(ScPaths::instance().docDir() + "/COPYING"); if (!licenceFile.open(QIODevice::ReadOnly | QIODevice::Text)) textViewLicence->setPlainText(tr("Unable to open licence file. Please check your install directory or the Scribus website for licencing information.") ); else { QTextStream inTS(&licenceFile); inTS.setAutoDetectUnicode(true); inTS.setCodec("UTF-8"); QString licenceText = inTS.readAll(); textViewLicence->setPlainText(licenceText); } //Add tab widget to about window aboutLayout->addWidget( tabWidget2 ); layout2 = new QHBoxLayout; layout2->setSpacing( 6 ); layout2->setMargin( 0 ); QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum ); layout2->addItem( spacer ); okButton = new QPushButton( tr( "&Close" ), this ); okButton->setDefault( true ); layout2->addWidget( okButton ); aboutLayout->addLayout( layout2 ); setMaximumSize(sizeHint()); //tooltips buildID->setToolTip( "<qt>" + tr( "This panel shows the version, build date and compiled in library support in Scribus.")+"<br>" + 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>" + tr("Missing library support is indicated by a *. This also indicates the version of Ghostscript which Scribus has detected.")+"<br>" + tr("The Windows version does not use fontconfig or CUPS libraries." ) + "</qt>" ); checkForUpdateButton->setToolTip( "<qt>" + tr( "Check for updates to Scribus. No data from your machine will be transferred off it." ) + "</qt>" ); // signals and slots connections connect( okButton, SIGNAL( clicked() ), this, SLOT( accept() ) ); connect( checkForUpdateButton, SIGNAL( clicked() ), this, SLOT( runUpdateCheck() ) ); resize(minimumSizeHint()); }