Qucs-GUI  0.0.19
/home/travis/build/Qucs/qucs/qucs/qucs/dialogs/aboutdialog.h
Go to the documentation of this file.
00001 /*
00002  * aboutdialog.h - customary about dialog showing various info
00003  *
00004  * Copyright (C) 2015, Qucs team (see AUTHORS file)
00005  *
00006  * This file is part of Qucs
00007  *
00008  * Qucs is free software; you can redistribute it and/or modify
00009  * it under the terms of the GNU General Public License as published by
00010  * the Free Software Foundation; either version 2, or (at your option)
00011  * any later version.
00012  *
00013  * This software is distributed in the hope that it will be useful,
00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016  * GNU General Public License for more details.
00017  *
00018  * You should have received a copy of the GNU General Public License
00019  * along with Qucs.  If not, see <http://www.gnu.org/licenses/>.
00020  *
00021  */
00022 
00023 #ifndef ABOUTDIALOG_H
00024 #define ABOUTDIALOG_H
00025 
00026 #include <random>
00027 #include <array>
00028 
00029 #include <QDialog>
00030 #include <QVBoxLayout>
00031 
00032 class QString;
00033 class QTextBrowser;
00034 
00035 class AboutDialog : public QDialog  {
00036    Q_OBJECT
00037 
00038 public:
00039   AboutDialog(QWidget *parent = 0);
00040 
00041 protected:
00042   bool eventFilter(QObject *obj, QEvent *ev);
00043 
00044 private:
00045   void setAuthorsText(void);
00046   void setTrText(void);
00047 
00048   std::array<QString, 9> currAuths; // current Qucs authors
00049   std::array<QString, 10> prevDevs; // previous Qucs developers
00050   std::array<QString, 18> trAuths; // Qucs translators
00051 
00052   QVBoxLayout *all;
00053   QTextBrowser *authorsBrowser; // to show authors
00054   QTextBrowser *trBrowser; // to show translators
00055 
00056   int prevTab; // previously selected tab
00057 
00058   std::mt19937 rng {std::random_device{}()}; // random number generator
00059 
00060 public slots:
00061   void currentChangedSlot(int index); // tab selection changed
00062 
00063 };
00064 
00065 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines