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();

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