Pingouin animé (occupation CPU)

crabs_tuxcpu-1.1.1 ©2004-2011 - Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com)

libtuxcpuanim.a~~ / ANIM / anim.cpp
Makefile anim.qh anim.cpp start.cpp event.cpp slot.cpp cpu.cpp menu.cpp voir.QH voir.cpp proc.cpp
    1 /*
    2 **=============================================================================
    3 ** crabs_tuxcpu-1.1.1 : Pingouin animé (occupation CPU)
    4 ** Copyright (C) 2004-2011 : Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com)
    5 **
    6 ** Ce source fait partie d'un projet logiciel libre. Vous pouvez le distribuer
    7 ** et/ou le modifier en respectant les termes de la GNU General Public License
    8 ** version 2 ou (suite a votre propre choix) une version ulterieure.
    9 **
   10 ** Ce programme est distribue dans l'espoir qu'il puisse etre utile, mais
   11 ** sans aucune garantie, meme si il est associe a un produit qui vous en
   12 ** propose une. Conformez-vous a la GNU General Public License pour avoir
   13 ** plus de precisions.
   14 **
   15 ** L'auteur ne peut etre tenu responsable de l'utilisation faite des
   16 ** composantes associees a ce projet (en partie ou dans leur totalite).
   17 **
   18 ** Une copie du fichier de la GNU GPL est fournie dans le repertoire DOC
   19 ** de ce projet sous le nom gnu_gpl.txt
   20 **
   21 **=============================================================================
   22 */
   23 #include "anim.qh"
   24 #include <QDesktopWidget>
   25 
   26 const int PerCentAnim::nb ;
   27 
   28 PerCentAnim::PerCentAnim( QWidget *pw, Qt::WindowFlags f):QWidget(pw)
   29     {
   30     setWindowFlags( f ) ;
   31 #ifdef LINUX
   32     utsname uts;
   33 #else
   34     struct utsname uts ;
   35 #endif
   36     for( int i=0; i<nb; i++ ) px[i] = 0 ;
   37     for( int i=0; i<5; i++ ) tuse[i] = 0 ;
   38     nextTimer = new QTimer( this ) ;
   39     uname(&uts); apps="tuxcpu"; apps+="/" ; apps+=uts.nodename ;
   40 
   41     home = QDir::homePath() + "/.tuxcpu" ;
   42     imgFile = "/usr/local/share/tuxcpu/tux-petit.png" ;
   43     imgDir = "/usr/local/share/tuxcpu/tux-feu-petit" ;
   44     menuFile = home + "/menu" ;
   45 
   46     menu = new QMenu( this ) ;
   47     menuCharge() ;
   48     menu->addAction( "Ouvrir Image...", this, SLOT(nouvelleImage()) ) ;
   49     menu->addAction( "Repertoire d'Image...", this, SLOT(nouveauDirImage()) ) ;
   50     menu->addAction( "Voir les Images...", this, SLOT(voirImage()) ) ;
   51 
   52     renduMode = new QMenu ;
   53     renduMode->setTitle( "Mode de Rendu" ) ;
   54     idRouge=renduMode->addAction( "Rouge", this, SLOT(renduRouge()) ) ;
   55         idRouge->setCheckable( true ) ;
   56     idHaut=renduMode->addAction( "Haut", this, SLOT(renduHaut()) ) ;
   57         idHaut->setCheckable( true ) ;
   58     idStore=renduMode->addAction( "Store", this, SLOT(renduStore()) ) ;
   59         idStore->setCheckable( true ) ;
   60     menu->addMenu( renduMode ) ;
   61 
   62     imageMode = new QMenu ;
   63     imageMode->setTitle( "Type Animation" ) ;
   64     idSeule=imageMode->addAction( "Seule", this, SLOT(imageSeule()) ) ;
   65         idSeule->setCheckable( true ) ;
   66     idAnimee=imageMode->addAction( "Animee", this, SLOT(imageAnimee()) ) ;
   67         idAnimee->setCheckable( true ) ;
   68     menu->addMenu( imageMode ) ;
   69 
   70     menu->addSeparator() ;
   71     menu->addAction( "Quitter", this, SLOT(quitter()) ) ;
   72 
   73     ini = new QSettings( QSettings::IniFormat, QSettings::UserScope,
   74         "crabs-world.com", "tux_cpu" ) ;
   75     ini->beginGroup( apps ) ;
   76     imgFile=ini->value( "/fichier", imgFile ).toString() ;
   77     imgDir=ini->value( "/repertoire", imgDir ).toString() ;
   78     int xx=ini->value( "/x", 0 ).toInt() ;
   79     int yy=ini->value( "/y", 0 ).toInt() ;
   80     rmode=(RenduMode)ini->value( "/rmode", 0 ).toInt() ;
   81     imode=(ImageMode)ini->value( "/imode", 0 ).toInt() ;
   82     ini->endGroup() ;
   83     move( xx, yy ) ;    // sera change par -x et -y
   84     connect( nextTimer, SIGNAL(timeout()), SLOT(next()) );
   85     cpu_usage( true ) ;
   86     }
   87 
   88 PerCentAnim::~PerCentAnim()
   89     {
   90     ini->beginGroup( apps ) ;
   91     ini->setValue( "/fichier", imgFile ) ;
   92     ini->setValue( "/repertoire", imgDir ) ;
   93     ini->setValue( "/x", x() ) ;
   94     ini->setValue( "/y", y() ) ;
   95     ini->setValue( "/rmode", (int)rmode ) ;
   96     ini->setValue( "/imode", (int)imode ) ;
   97     ini->endGroup() ;
   98     delete ini ;
   99     for( int i=0; i<nb; i++ ) if ( px[i] )  delete px[i] ;
  100     }
  101 
  102 void PerCentAnim::setImgFile( const QString& img )
  103     {
  104     imgFile = img ;
  105     }
  106 
  107 void PerCentAnim::positionne()
  108     {
  109     QRect r = QApplication::desktop()->geometry();
  110     bool do_move = false ;
  111     int xx = x() ; int yy = y() ;
  112     for( int i=1; i<QApplication::arguments().size()-1; i++ )
  113         {
  114         QString var = QApplication::arguments().at(i) ;
  115         QString val = QApplication::arguments().at(i+1) ;
  116         if ( var == "-x" )
  117             {
  118             if ( val[0] == '-' )
  119                 xx = r.width() + val.toInt() - width() ;
  120             else
  121                 xx = val.toInt() ;
  122             do_move = true ;
  123             }
  124         if ( var == "-y" )
  125             {
  126             if ( val[0] == '-' )
  127                 yy = r.height() + val.toInt() - height() ;
  128             else
  129                 yy = val.toInt() ;
  130             do_move = true ;
  131             }
  132         }
  133     if ( do_move )
  134         move( xx, yy ) ;
  135     }
Makefile anim.qh anim.cpp start.cpp event.cpp slot.cpp cpu.cpp menu.cpp voir.QH voir.cpp proc.cpp
libtuxcpuanim.a~~ / ANIM / anim.cpp

Haut de page

Contacter crabs

Date de génération : 22/09/2011 21:48