Pagina 1 di 1

Miglioramenti per cpuinfo (programmazione)

Inviato: mer 19 lug 2006, 0:40
da dapuzz
Salve a tutti, vorrei proporre due miglioramenti per cpuinfo, la applet che mostra temperatura e frequenza nella barra di kde.
Data la mia poca (nulla) esperienza con il cpp chiedo consiglio a chi ha un po' di tempo da perdere.

La prima cosa che vorrei aumentare il Sample Rate con il quale fa il refresh a 5 secondi (il massimo attualmente è 2).
Credo che si debba intervenire su prefs.cpp dove dice "sampleRateSlider->setMaxValue( 2000 );"... e fin qui...

L'altra cosa invece è un pizzichino più complicata. Voglio che quando la temperatura superi un determinato valore il testo deve cambiare colore. Ho provato a modificare cpuinfo.cpp aggiungendo queste righe

Codice: Seleziona tutto

if(cpuTempLabel->text() != value){
                cpuTempLabel->setText( value );
                if(value.toInt() >60){ //Questo limite magari dopo lo faccio prendere da config
                       cpuTempLabel->setPaletteForegroundColor(QColor (255,0,0)); //ROSSO 
                }
}
dal momento che 'value' contiene già il "numero °C" ho provato anche con value.remove(" °C").toInt() ma non va lo stesso.

Il problema è che ricompilato con slackbuild, installato con installpkg non 'prende' le modifiche. Ovvero non mi pensa proprio. Ho provato per disperazione a cambiare colore random ogni volta che aggiorna, ma sembra non importarsene, cioè non prende le modifiche, non so come dire....

Per chi ha un po' di tempo, potrebbe provare a fare le suddette modifiche e spiegarmi cosa fare o suggerimenti? Graaaazie!

Inviato: mer 19 lug 2006, 9:17
da bruno82
Secondo me il problema è che c'è già un modo per impostare il tipo, la dimensione ed il colore del carattere dalle opzioni di cpuinfo. Probabilmente il tuo codice è giusto, ma poi le tue modifiche vengono sovrascritte dalle impostazioni del programma; per cui dovresti trovare le righe in cui vengono gestite le opzioni e bypassarle in qualche modo.

Inviato: mer 19 lug 2006, 9:45
da Paoletta
bruno82 potrebbe aver azzeccato...cerca nei sorgenti dove PaletteForegroundColor viene settato con

Codice: Seleziona tutto

grep -iR PaletteForegroundColor .

Inviato: mer 19 lug 2006, 9:55
da dapuzz
Li setta nel momento in cui Salva le preferenze e all'avvio quando Carica le preferenze. Poi il programma setta un timer e ogni tot richiama la procedura che fa l'update dei valori : è lì che ho messo il codice mio.
Non è che dopo aver settato il colore si deve richiamare qualche metodino di redraw, refresh, o qualcosa di simile?
comunque stasera ci riprovo!!

Inviato: dom 27 ago 2006, 13:36
da dapuzz
Ce l'ho fatta con la nuova versione 0.50 e ancora non capisco come mai non funzionasse con la vecchia.
Appena riuscirò a fare qualcosa un po' più portabile vi incollo la patch :)