About.cc 6.72 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
/*===========================================================================*\
 *                                                                           *
 *                              OpenFlipper                                  *
 *      Copyright (C) 2001-2009 by Computer Graphics Group, RWTH Aachen      *
 *                           www.openflipper.org                             *
 *                                                                           *
 *---------------------------------------------------------------------------*
 *  This file is part of OpenFlipper.                                        *
 *                                                                           *
 *  OpenFlipper is free software: you can redistribute it and/or modify      *
 *  it under the terms of the GNU Lesser General Public License as           *
 *  published by the Free Software Foundation, either version 3 of           *
 *  the License, or (at your option) any later version with the              *
 *  following exceptions:                                                    *
 *                                                                           *
 *  If other files instantiate templates or use macros                       *
 *  or inline functions from this file, or you compile this file and         *
 *  link it with other files to produce an executable, this file does        *
 *  not by itself cause the resulting executable to be covered by the        *
 *  GNU Lesser General Public License. This exception does not however       *
 *  invalidate any other reasons why the executable file might be            *
 *  covered by the GNU Lesser General Public License.                        *
 *                                                                           *
 *  OpenFlipper 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 Lesser General Public License for more details.                      *
 *                                                                           *
 *  You should have received a copy of the GNU LesserGeneral Public          *
 *  License along with OpenFlipper. If not,                                  *
 *  see <http://www.gnu.org/licenses/>.                                      *
 *                                                                           *
\*===========================================================================*/

/*===========================================================================*\
 *                                                                           *
 *   $Revision$                                                         *
 *   $Author$                                                      *
 *   $Date$                   *
 *                                                                           *
\*===========================================================================*/
Jan Möbius's avatar
Jan Möbius committed
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56




//=============================================================================
//
//  CLASS Core - IMPLEMENTATION
//
//=============================================================================


//== INCLUDES =================================================================

#include "CoreWidget.hh"

57 58
#include <QGLFormat>

Jan Möbius's avatar
Jan Möbius committed
59 60 61 62 63 64 65 66 67 68 69 70 71
#include <OpenFlipper/common/GlobalOptions.hh>

//== IMPLEMENTATION ==========================================================



void CoreWidget::showAboutWidget( ) {

  if ( OpenFlipper::Options::nogui() )
    return;

  if ( aboutWidget_ == 0 ) {
    aboutWidget_ = new AboutWidget( this );
72
    aboutWidget_->OpenFlipperAbout->append(tr("OpenFlipper Core Version: ") + OpenFlipper::Options::coreVersion() ) ;
73 74

    aboutWidget_->OpenFlipperAbout->append("\n");
75
    aboutWidget_->OpenFlipperAbout->append(tr("OpenFlipper Directories:"));
76 77 78 79 80 81 82 83 84 85 86 87 88 89
    // Set the Path to the shaders
    QDir tempDir = QDir(OpenFlipper::Options::applicationDir());
    #ifdef OPENFLIPPER_DATADIR
      tempDir.cd(OPENFLIPPER_DATADIR);
    #endif
    aboutWidget_->OpenFlipperAbout->append("Data:\t " + tempDir.absolutePath() );
    aboutWidget_->OpenFlipperAbout->append("Shaders:\t " + OpenFlipper::Options::shaderDirStr() );
    aboutWidget_->OpenFlipperAbout->append("Textures:\t " + OpenFlipper::Options::textureDirStr() );
    aboutWidget_->OpenFlipperAbout->append("Scripts:\t " + OpenFlipper::Options::scriptDirStr() );
    aboutWidget_->OpenFlipperAbout->append("Icons:\t " + OpenFlipper::Options::iconDirStr() );
    aboutWidget_->OpenFlipperAbout->append("Fonts:\t" + OpenFlipper::Options::fontsDirStr() );
    aboutWidget_->OpenFlipperAbout->append("Help:\t" + OpenFlipper::Options::helpDirStr() );

    aboutWidget_->OpenFlipperAbout->append("\n");
90
    aboutWidget_->OpenFlipperAbout->append(tr("OpenGL Specific Info:"));
Jan Möbius's avatar
Jan Möbius committed
91 92 93


    QString vendor = QString((const char*)glGetString(GL_VENDOR));
94
    aboutWidget_->OpenFlipperAbout->append(tr("Vendor:\t") + vendor);
Jan Möbius's avatar
Jan Möbius committed
95
    QString renderer = QString((const char*)glGetString(GL_RENDERER));
96
    aboutWidget_->OpenFlipperAbout->append(tr("Renderer:\t") + renderer);
Jan Möbius's avatar
Jan Möbius committed
97

98 99 100
    QGLFormat::OpenGLVersionFlags flags = QGLFormat::openGLVersionFlags();

    if ( flags.testFlag(QGLFormat::OpenGL_Version_3_0) )
101
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t3.0 or higher") );
102
    else if (flags.testFlag(QGLFormat::OpenGL_Version_2_1))
103
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t2.1 or higher" ));
104
    else if (flags.testFlag(QGLFormat::OpenGL_Version_2_0))
105
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t2.0 or higher" ));
106
    else if (flags.testFlag(QGLFormat::OpenGL_Version_1_5))
107
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t1.5 or higher" ));
108
    else if (flags.testFlag(QGLFormat::OpenGL_Version_1_4))
109
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t1.4 or higher" ));
110
    else if (flags.testFlag(QGLFormat::OpenGL_Version_1_3))
111
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t1.3 or higher" ));
112
    else if (flags.testFlag(QGLFormat::OpenGL_Version_1_2))
113
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t1.2 or higher" ));
114
    else if (flags.testFlag(QGLFormat::OpenGL_Version_1_1))
115
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\t1.1 or higher" ));
116
    else
117
      aboutWidget_->OpenFlipperAbout->append(tr("Version:\tUNKNOWN!" ));
Jan Möbius's avatar
Jan Möbius committed
118 119


120

121
    aboutWidget_->OpenFlipperAbout->append(tr("Supported Extensions:"));
122 123 124 125 126 127
    QString glExtensions = QString((const char*)glGetString(GL_EXTENSIONS));
    aboutWidget_->OpenFlipperAbout->append(glExtensions);

    aboutWidget_->OpenFlipperAbout->moveCursor(QTextCursor::Start);


Jan Möbius's avatar
Jan Möbius committed
128 129 130 131 132 133
  }

  aboutWidget_->show();

}
//=============================================================================