void ViewHelpMenu::showLicense() { QDialog b(this,Qt::Tool); b.setModal(true); QPixmap logo = ViewerIcon::getPixmap( "gnu.png"); QLabel * llogo = new QLabel(&b); llogo->setGeometry(QRect(QPoint(0,0),logo.size())); llogo->setPixmap(logo); b.setMinimumSize(QSize(logo.width()*4,logo.height())); b.setWindowTitle("License"); QTextBrowser * lictext = new QTextBrowser(&b); QFont f("Courrier", 8); lictext->setFont( f ); lictext->setGeometry(QRect(logo.width(),0,logo.width()*3,logo.height())); // lictext->setHScrollBarMode(QScrollView::AlwaysOff); lictext->setLineWidth(0); /* QPalette pal = lictext->palette(); QColorGroup c = pal.active(); c.setColor(QColorGroup::Background,QColor(255,255,255)); pal.setActive(c); lictext->setPalette(pal);*/ QString copyright((TOOLS(getPlantGLDir())+"/share/plantgl/LICENSE").c_str()); if(QFileInfo(copyright).exists() ) lictext->setSource(copyright); QSize s = qApp->desktop()->size(); s = s - b.size(); s /= 2; b.move(s.width(),s.height()); b.exec(); }
void HelpWidget::setupUi() { QVBoxLayout * vb = new QVBoxLayout; QTextBrowser * browser = new QTextBrowser(this); QString appExe = qApp->applicationDirPath(); browser->setSource(QUrl("file:///" + appExe + "/tutorial/help/index.htm")); vb->addWidget(browser); setLayout(vb); }
int main(int argc, char **argv) { QApplication app(argc, argv); //! [0] QTextBrowser browser; QColor linkColor(Qt::red); QString sheet = QString::fromLatin1("a { text-decoration: underline; color: %1 }").arg(linkColor.name()); browser.document()->setDefaultStyleSheet(sheet); //! [0] browser.setSource(QUrl("../../../html/index.html")); browser.resize(800, 600); browser.show(); return app.exec(); }
void MainWindow2::init_gui() { // create own menus menus["&File"]->addAction( actionFileNew ); menus["&File"]->addSeparator(); menus["&File"]->addAction( actionQuit ); menus["&Edit"]; menus["&Navigation"]; menus["&Search"]; menus["&Configuration"]; menus["&Help"]->addAction( actionQtTopics ); menus["&Help"]->addAction( actionAbout ); // toolbars toolbars["File"]->addAction( actionFileNew ); toolbars["File"]->addAction( actionQtTopics ); // show the stuff on screen updateGUI( this ); // make the tab widget tabWidget = new qmdiTabWidget; tabNewBtn = new QToolButton(tabWidget); tabNewBtn->setAutoRaise( true ); connect( tabNewBtn, SIGNAL(clicked()), this, SLOT(fileNew())); tabNewBtn->setIcon(QIcon(":images/addtab.png")); tabCloseBtn = new QToolButton(tabWidget); tabCloseBtn->setAutoRaise( true ); connect( tabCloseBtn, SIGNAL(clicked()), this, SLOT(fileClose())); tabCloseBtn->setIcon(QIcon(":images/closetab.png")); tabWidget->setCornerWidget( tabNewBtn, Qt::TopLeftCorner ); tabWidget->setCornerWidget( tabCloseBtn, Qt::TopRightCorner ); setCentralWidget( tabWidget ); // feed it with a default widget, this browser is a // non mdi client, and will add no new menus nor toolbars QTextBrowser *browser = new QTextBrowser; browser->setObjectName("welcome_tab"); browser->setSource( QUrl(":mdi-tab.html") ); tabWidget->addTab( browser, "Welcome" ); }
TupAbout::TupAbout(QWidget *parent) : TabDialog(Cancel, parent) { setWindowTitle(tr("About") + QString(" Tupi")); setFixedSize(525, 458); QString lang = "en"; if (QString(QLocale::system().name()).length() > 1) lang = QString(QLocale::system().name()).left(2); Qt::WindowFlags flags = 0; flags = Qt::Dialog; flags |= Qt::CustomizeWindowHint; setWindowFlags(flags); //1: Credits /* QFile creditsFile(DATA_DIR + "credits.txt"); QString creditsText; if (creditsFile.open(QIODevice::ReadOnly)) { QTextStream stream(&creditsFile); while (!stream.atEnd()) { QString line = stream.readLine(); creditsText += line + "\n"; } creditsFile.close(); } else { #ifdef K_DEBUG tError() << "Error while trying to read " << creditsFile.fileName(); #endif } */ QDomDocument doc; QString creditsFile = DATA_DIR + "credits.xml"; QFile file(creditsFile); QString creditsText; if (!file.open(QIODevice::ReadOnly)) return; if (!doc.setContent(&file)) { file.close(); return; } file.close(); QDomElement docElem = doc.documentElement(); QDomNode n = docElem.firstChild(); while (!n.isNull()) { QDomElement e = n.toElement(); if (!e.isNull()) { if (e.tagName() == "credits") creditsText = e.text(); } n = n.nextSibling(); } QImage credits = QImage(THEME_DIR + "/images/credits.png"); // SQA: Replace the method fade with a native Qt function // TImageEffect::fade(credits,0.25, palette().background().color()); m_credits = new TAnimWidget(QPixmap::fromImage(credits), creditsText); addTab(m_credits, tr("Credits")); QPalette pal = m_credits->palette(); pal.setColor(QPalette::Foreground, QColor(50, 50, 50, 255)); m_credits->setPalette(pal); m_credits->setFont(QFont("verdana", 24)); // 2: Thanks QTextBrowser *sponsorsText = new QTextBrowser; sponsorsText->setOpenExternalLinks(true); sponsorsText->setSource(SHARE_DIR + "data/help/" + lang + "/thanks.html"); sponsorsText->moveCursor(QTextCursor::Start); addTab(sponsorsText, tr("Thanks")); // 3: Tupi QTextBrowser *tupiText = new QTextBrowser; tupiText->setOpenExternalLinks(true); tupiText->setSource(SHARE_DIR + "data/help/" + lang + "/tupi_short.html"); tupiText->moveCursor(QTextCursor::Start); addTab(tupiText, tr("About")); // 4: Licence QTextBrowser *licenseText = new QTextBrowser; licenseText->setOpenExternalLinks(true); /* QFile licenceFile(DATA_DIR + "/license.html"); QFile licenseFile(SHARE_DIR + "data/help/" + lang + "/philosophy.html"); QString line = ""; if (licenseFile.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream stream(&licenseFile); while (! stream.atEnd()) { line += stream.readLine(); //licenceText->append(line); } licenseFile.close(); } licenseText->setHtml(line); */ licenseText->setSource(SHARE_DIR + "data/help/" + lang + "/philosophy.html"); licenseText->moveCursor(QTextCursor::Start); addTab(licenseText, tr("License Agreement")); setButtonText(Cancel, tr("Close")); }
TupAbout::TupAbout(QWidget *parent) : TabDialog(Cancel, parent) { // SQA: Check if these instructions are doing something for real setWindowIcon(QIcon(THEME_DIR + "icons" + QDir::separator() + "about.png")); setWindowTitle(tr("About Tupi")); setFixedSize(525, 458); QStringList path; #ifdef Q_OS_WIN32 QString resources = SHARE_DIR + "help" + QDir::separator(); #else QString resources = SHARE_DIR + "data" + QDir::separator() + "help" + QDir::separator(); #endif path << resources + "css"; path << resources + "images"; QString lang = "en"; if (QString(QLocale::system().name()).length() > 1) lang = QString(QLocale::system().name()).left(2); Qt::WindowFlags flags = 0; flags = Qt::Dialog; flags |= Qt::CustomizeWindowHint; setWindowFlags(flags); // Credits Tab QDomDocument doc; QString creditsFile = DATA_DIR + "credits.xml"; QFile file(creditsFile); QString creditsText; if (!file.open(QIODevice::ReadOnly)) { #ifdef K_DEBUG QString msg = "TupAbout::TupAbout() - Fatal Error: Can't open \"credits.xml\" file"; #ifdef Q_OS_WIN32 qDebug() << msg; #else tError() << msg; #endif #endif return; } if (!doc.setContent(&file)) { #ifdef K_DEBUG QString msg = "TupAbout::TupAbout() - Fatal Error: File \"credits.xml\" is corrupt!"; #ifdef Q_OS_WIN32 qDebug() << msg; #else tError() << msg; #endif #endif file.close(); return; } file.close(); QDomElement docElem = doc.documentElement(); QDomNode n = docElem.firstChild(); while (!n.isNull()) { QDomElement e = n.toElement(); if (!e.isNull()) { if (e.tagName() == "credits") creditsText = e.text(); } n = n.nextSibling(); } m_credits = new TAnimWidget(QPixmap(THEME_DIR + QDir::separator() + "images" + QDir::separator() + "credits.png"), creditsText); addTab(m_credits, tr("Credits")); QPalette pal = m_credits->palette(); pal.setColor(QPalette::Foreground, QColor(50, 50, 50, 255)); m_credits->setPalette(pal); m_credits->setFont(QFont("verdana", 24)); // Acknowledgment Tab QString sponsorFile = QString() + "help" + QDir::separator() + lang + QDir::separator() + "thanks.html"; #ifdef Q_OS_WIN32 QString sponsorPath = SHARE_DIR + sponsorFile; #else QString sponsorPath = SHARE_DIR + "data" + QDir::separator() + sponsorFile; #endif QTextBrowser *sponsorsText = new QTextBrowser; sponsorsText->setSearchPaths(path); sponsorsText->setOpenExternalLinks(true); sponsorsText->setSource(QUrl::fromLocalFile(sponsorPath)); sponsorsText->moveCursor(QTextCursor::Start); addTab(sponsorsText, tr("Thanks")); // Tupi Description Tab QString tupiFile = QString() + "help" + QDir::separator() + lang + QDir::separator() + "tupi_short.html"; #ifdef Q_OS_WIN32 QString tupiPath = SHARE_DIR + tupiFile; #else QString tupiPath = SHARE_DIR + "data" + QDir::separator() + tupiFile; #endif QTextBrowser *tupiText = new QTextBrowser; tupiText->setSearchPaths(path); tupiText->setOpenExternalLinks(true); tupiText->setSource(QUrl::fromLocalFile(tupiPath)); tupiText->moveCursor(QTextCursor::Start); addTab(tupiText, tr("About")); // 4: License Terms Tab QString licenseFile = QString() + "help" + QDir::separator() + lang + QDir::separator() + "philosophy.html"; #ifdef Q_OS_WIN32 QString licensePath = SHARE_DIR + licenseFile; #else QString licensePath = SHARE_DIR + "data" + QDir::separator() + licenseFile; #endif QTextBrowser *licenseText = new QTextBrowser; licenseText->setSearchPaths(path); licenseText->setOpenExternalLinks(true); licenseText->setSource(QUrl::fromLocalFile(licensePath)); licenseText->moveCursor(QTextCursor::Start); addTab(licenseText, tr("License Agreement")); setButtonText(Cancel, tr("Close")); }