Hi, only a little change : if user has no DP it's the nopic that display in place of the buddy icon. Phil
Le Sunday 12 February 2006 23:15, Le Philousophe - Phil a écrit : > Update of /cvsroot/amsn/msn > In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14199 > > Modified Files: > gui.tcl msnp2p.tcl protocol.tcl skins.tcl > Log Message: > Better update of DPs > > > Index: skins.tcl > =================================================================== > RCS file: /cvsroot/amsn/msn/skins.tcl,v > retrieving revision 1.114 > retrieving revision 1.115 > diff -C2 -d -r1.114 -r1.115 > *** skins.tcl 9 Feb 2006 23:53:05 -0000 1.114 > --- skins.tcl 12 Feb 2006 22:15:38 -0000 1.115 > *************** > *** 149,155 **** > } > > - #Image will change so force update of the mini DP > - catch { image delete small_dp_$email } > - > set filename [::abook::getContactData $email displaypicfile ""] > set file "[file join $HOME displaypic cache ${filename}].png" > --- 149,152 ---- > *************** > *** 157,170 **** > catch {image create photo $picName -file "$file" > -format cximage} > } else { > ! return [::skin::getNoDisplayPicture] > ! > ! # Why are we doing this like that ? we'll have too many > user's pics > set to nopic.gif... #image create photo $picName -file [::skin::GetSkinFile > displaypic nopic.gif] -format cximage ! #set file > [::skin::GetSkinFile > displaypic nopic.gif] > } > > if {[catch {image width $picName} res]} { > #status_log "Error while loading $picName: $res" > ! return [::skin::getNoDisplayPicture] > } > > --- 154,169 ---- > catch {image create photo $picName -file "$file" > -format cximage} > } else { > ! # We do like that to have a better update of the image > when switching > from no pic to another #image create photo $picName -file > [::skin::GetSkinFile displaypic nopic.gif] -format cximage ! > image > create photo $picName > ! $picName copy [::skin::getNoDisplayPicture] > ! set file [::skin::GetSkinFile displaypic nopic.gif] > } > > if {[catch {image width $picName} res]} { > #status_log "Error while loading $picName: $res" > ! image create photo $picName > ! $picName copy [::skin::getNoDisplayPicture] > ! set file [::skin::GetSkinFile displaypic nopic.gif] > } > > *************** > *** 176,183 **** > > ::picture::Resize $picName 96 96 > > } > ! > return $picName > } > ! > #Convert a display picture from a user to another size > proc ConvertDPSize {user width height} { > --- 175,226 ---- > > ::picture::Resize $picName 96 96 > > } > ! if { [catch {image height small_dp_$email} height] == 0} { > ! #Little DP exists so we have to update it > ! ::skin::getLittleDisplayPicture $email $height 1 > ! } > return $picName > } > ! > ! proc getLittleDisplayPicture { email height {force 0}} { > ! global HOME > ! > ! set picName small_dp_$email > ! > ! if {[catch {image width $picName}] == 0 && $force == 0} { > ! return $picName > ! } > ! > ! set filename [::abook::getContactData $email displaypicfile ""] > ! set file "[file join $HOME displaypic cache ${filename}].png" > ! > ! if { $filename != "" && [file readable $file] } { > ! catch {image create photo $picName -file "$file" > -format cximage} > ! } else { > ! image create photo $picName > ! $picName copy [::skin::getNoDisplayPicture] > ! set file [::skin::GetSkinFile displaypic nopic.gif] > ! } > ! > ! if {[catch {image width $picName} res]} { > ! #status_log "Error while loading $picName: $res" > ! image create photo $picName > ! $picName copy [::skin::getNoDisplayPicture] > ! set file [::skin::GetSkinFile displaypic nopic.gif] > ! } > ! > ! if { [catch {::picture::GetPictureSize $file} cursize] } { > ! status_log "Error opening $file: $cursize\n" > ! return "" > ! } > ! > ! set animated [::picture::IsAnimated $file] > ! > ! if { $animated == 0 } { > ! ::picture::ResizeWithRatio $picName $height $height > ! return $picName > ! } > ! return "" > ! } > ! > #Convert a display picture from a user to another size > proc ConvertDPSize {user width height} { > > Index: gui.tcl > =================================================================== > RCS file: /cvsroot/amsn/msn/gui.tcl,v > retrieving revision 1.1228 > retrieving revision 1.1229 > diff -C2 -d -r1.1228 -r1.1229 > *** gui.tcl 10 Feb 2006 11:22:09 -0000 1.1228 > --- gui.tcl 12 Feb 2006 22:15:36 -0000 1.1229 > *************** > *** 5607,5630 **** > set displaypicfilename [::abook::getContactData $user_login > displaypicfile "" ] > > ! set show_dp_thumbnail 0 > ! if {[::config::getKey show_contactdps_in_cl] == "1" && > ${displaypicfilename} != "" && [file readable "[file join $::HOME > displaypic cache ${displaypicfilename}].png"] } { > > - #Credits to JeeBee for code below! :) > - if {[catch {image width small_dp_$user_login}]} { > - set failed [catch {set animated [::picture::IsAnimated > "[file join > $::HOME displaypic cache ${displaypicfilename}].png"]}] - > if {$failed == > 0 && $animated == 0 } { > - set buddyheight [image height > [::skin::loadPixmap $image_type]] > - set buddyicon [::skin::getDisplayPicture > $user_login] > - image create photo small_dp_${user_login} > -format cximage > - small_dp_$user_login copy $buddyicon > - ::picture::ResizeWithRatio > small_dp_${user_login} $buddyheight > $buddyheight - set show_dp_thumbnail 1 > - } > - } else { > - set show_dp_thumbnail 1 > - } > } > ! if {$show_dp_thumbnail} { > ! set imgIdx [$pgBuddy.text image create $section.last -image > small_dp_${user_login} -padx 3 -pady 1 -name [string map { "-" "\\" } > "small_dp_${user_login}"]] } else { > set imgIdx [$pgBuddy.text image create $section.last -image > [::skin::loadPixmap $image_type] -padx 3 -pady 1] --- 5607,5617 ---- > set displaypicfilename [::abook::getContactData $user_login > displaypicfile "" ] > > ! set small_dp "" > ! if {[::config::getKey show_contactdps_in_cl] == "1" } { > ! set small_dp [::skin::getLittleDisplayPicture ${user_login} > [image > height [::skin::loadPixmap $image_type]] ] > > } > ! if {$small_dp != ""} { > ! set imgIdx [$pgBuddy.text image create $section.last -image > $small_dp > -padx 3 -pady 1 -name [string map { "-" "\\" } "small_dp_${user_login}"]] } > else { > set imgIdx [$pgBuddy.text image create $section.last -image > [::skin::loadPixmap $image_type] -padx 3 -pady 1] > > Index: msnp2p.tcl > =================================================================== > RCS file: /cvsroot/amsn/msn/msnp2p.tcl,v > retrieving revision 1.44 > retrieving revision 1.45 > diff -C2 -d -r1.44 -r1.45 > *** msnp2p.tcl 8 Feb 2006 11:09:00 -0000 1.44 > --- msnp2p.tcl 12 Feb 2006 22:15:38 -0000 1.45 > *************** > *** 161,165 **** > > ::MSNP2P::RequestObject $chatid $user $msnobj > > } else { > ! ::skin::getDisplayPicture $user > } > } > --- 161,165 ---- > > ::MSNP2P::RequestObject $chatid $user $msnobj > > } else { > ! ::skin::getDisplayPicture $user 1 > } > } > > Index: protocol.tcl > =================================================================== > RCS file: /cvsroot/amsn/msn/protocol.tcl,v > retrieving revision 1.777 > retrieving revision 1.778 > diff -C2 -d -r1.777 -r1.778 > *** protocol.tcl 12 Feb 2006 13:18:20 -0000 1.777 > --- protocol.tcl 12 Feb 2006 22:15:38 -0000 1.778 > *************** > *** 4268,4273 **** > set newPic [::MSNP2P::GetFilenameFromMSNOBJ $msnobj] > > ::abook::setContactData $user displaypicfile $newPic > > ! > ! if { $oldPic != $newPic} { > status_log "picture changed for user $user\n" white > if { [::config::getKey lazypicretrieval] || > [::MSN::userIsBlocked > $user]} { --- 4268,4275 ---- > set newPic [::MSNP2P::GetFilenameFromMSNOBJ $msnobj] > > ::abook::setContactData $user displaypicfile $newPic > > ! > ! if { ($oldPic != $newPic) && ($newPic == "") } { > ! ::skin::getDisplayPicture $user 1 > ! } elseif { $oldPic != $newPic} { > status_log "picture changed for user $user\n" white > if { [::config::getKey lazypicretrieval] || > [::MSN::userIsBlocked > $user]} { > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 > _______________________________________________ > Amsn-commits mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/amsn-commits ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642 _______________________________________________ Amsn-devel mailing list Amsn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amsn-devel