About.cc 6.66 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 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
    aboutWidget_->OpenFlipperAbout->append("OpenFlipper Core Version: " + OpenFlipper::Options::coreVersion() );

    aboutWidget_->OpenFlipperAbout->append("\n");
    aboutWidget_->OpenFlipperAbout->append("OpenFlipper Directories:");
    // 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");
    aboutWidget_->OpenFlipperAbout->append("OpenGL Specific Info:");
Jan Möbius's avatar
Jan Möbius committed
91 92 93 94 95 96 97


    QString vendor = QString((const char*)glGetString(GL_VENDOR));
    aboutWidget_->OpenFlipperAbout->append("Vendor:\t" + vendor);
    QString renderer = QString((const char*)glGetString(GL_RENDERER));
    aboutWidget_->OpenFlipperAbout->append("Renderer:\t" + renderer);

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

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


120 121 122 123 124 125 126 127

    aboutWidget_->OpenFlipperAbout->append("Supported Extensions:");
    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();

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