crabs_tuxcpu-1.1.1 ©2004-2011 - Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com)
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 }
Date de génération : 22/09/2011 21:48