seems noone tested your thing Cristo, sorry.
I just noticed something, don't know if it's related with your work or with 
Karel's sexytile package (which I 
still think should be renamed).
anyways, in the properties window of a user, in the 'user display pictures' 
tab, the label says 'right click for 
more options" while there is no more any right click, but that's simple to fix, 
there are 3 annoying things 
though :
1 - when you select a DP, the buttons on the right get a white background until 
you hover the mouse over 
them.??:S
2 - when you select a DP, it gets selected, then click again on it, it's 
unselected, then if you click again on 
the same DP, it will get selected for a split second then it will deselect 
itself.
3 - notice that when you unselect a DP, the buttons on the right stay 
'clickable'


KKRT

On Wed, Jan 17, 2007 at 10:04:14PM -0500, Youness Alaoui wrote:
> Hey there,
> This looks like cleaner code! I didn't look at it thoroughly but it looks 
> nice. Can anyone review his 
> (Cristofaro) code and test please ?
> Now Cristofaro, just study for your exam, we'll talk again in 9 days, ok ? :)
> 
> Thanks
> KaKaRoTo
> 
> ----- Forwarded message from [EMAIL PROTECTED] -----
> 
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> Subject: [Amsn-commits] SF.net SVN: amsn: [7802] trunk/amsn
> 
> Revision: 7802
>           http://svn.sourceforge.net/amsn/?rev=7802&view=rev
> Author:   dpcris85
> Date:     2007-01-17 17:13:24 -0800 (Wed, 17 Jan 2007)
> 
> Log Message:
> -----------
> A lot of fixes to my dpbrowser implementation :)
> 
> Now the dpbrowser doesn't use global variables
> anymore, but "stores" the path of the selected
> image by regenerating everytime the image
> displaypicture_std_$target.
> 
> For translators: needed three new translations:
> 
> mypics -> My Display Pictures
> cachedpicsfor -> Cached Display Pictures for
> selectcontact -> Select a contact
> 
> Modified Paths:
> --------------
>     trunk/amsn/abook.tcl
>     trunk/amsn/gui.tcl
>     trunk/amsn/utils/dpbrowser/dpbrowser.tcl
> 
> Modified: trunk/amsn/abook.tcl
> ===================================================================
> --- trunk/amsn/abook.tcl      2007-01-17 23:09:11 UTC (rev 7801)
> +++ trunk/amsn/abook.tcl      2007-01-18 01:13:24 UTC (rev 7802)
> @@ -1362,7 +1362,7 @@
>               # The custom display pic frame
>               label $nbSettings.fNick.lDispl -text "[trans customdp]:"
>               frame $nbSettings.fNick.fDispl -relief flat
> -             set customdp_$email [::abook::getContactData $email customdp] 
> +             set customdp_$email [::abook::getContactData $email customdp 
> ""] 
>               image create photo customdp_img_$email -file [set 
> customdp_$email]
>  
>               label $nbSettings.fNick.fDispl.dp -image customdp_img_$email 
> -borderwidth 0 -relief flat
> @@ -1615,10 +1615,11 @@
>       # as the actual change is done through the PropOk procedure
>       proc ChangeCustomDp { email w } {
>               global customdp_$email
> +             set customdp_$email [::abook::getContactData $email customdp ""]
>               dpBrowser $email
>               tkwait window .dpbrowser
>               catch {image delete customdp_img_$email}
> -             image create photo customdp_img_$email -file customdp_$email
> +             image create photo customdp_img_$email -file [set 
> customdp_$email]
>               $w.fNick.fDispl.dp configure -image customdp_img_$email 
> -borderwidth 0 -relief flat
>               
>       }
> 
> Modified: trunk/amsn/gui.tcl
> ===================================================================
> --- trunk/amsn/gui.tcl        2007-01-17 23:09:11 UTC (rev 7801)
> +++ trunk/amsn/gui.tcl        2007-01-18 01:13:24 UTC (rev 7802)
> @@ -1762,28 +1762,7 @@
>                       $win.picmenu add command -label "[trans showuserpic 
> $user]" \
>                               -command "::amsn::ChangePicture $win 
> \[::skin::getDisplayPicture $user\] \[trans showuserpic $user\]"
>               }
> -             #Load Change Display Picture window
> -             $win.picmenu add separator
> -             $win.picmenu add command -label "[trans changedisplaypic]..." 
> -command [list after 0 dpBrowser]
> -             foreach user $users {
> -                     $win.picmenu add command -label "[trans 
> changecustomuserpic $user]" \
> -                             -command "autoChangeCustomDp $user"
> -             }
>  
> -             #Section to remove custom display pictures
> -             set first_one 0
> -             foreach user $users {
> -                     if {[::abook::getContactData $user customdp ] != ""} {
> -                             # The separator is added only if the section is 
> really going to be draw
> -                             if {$first_one == "0"} {
> -                                     $win.picmenu add separator
> -                                     set first_one 1
> -                             }
> -                             $win.picmenu add command -label "[trans 
> removecustomuserpic $user]" \
> -                                     -command "autoRemoveCustomDp $user"
> -                     }
> -             }
> -
>               set user [$win.f.bottom.pic.image cget -image]
>               if { $user != "displaypicture_std_none" && $user != 
> "displaypicture_std_self" } {
>                       #made easy for if we would change the image names
> @@ -7126,7 +7105,7 @@
>  }
>  
>  proc dpBrowser { {target_user "self" } } {
> -     global selected_path selected_image HOME
> +     global HOME
>  
>       package require dpbrowser
>       
> @@ -7154,14 +7133,13 @@
>       
>       # Select current DP (custom or not) for target user
>       if { $target_user != "self" } {
> -             if { [::abook::getContactData $target_user customdp] != "" } {
> +             if { [::abook::getContactData $target_user customdp ""] != "" } 
> {
>                       set image_name [::abook::getContactData $target_user 
> customdp ""]
>               } else {
>                       set image_name [::abook::getContactData $target_user 
> displaypicfile ""]
>               }
>               if {$image_name != ""} {
>                       set selected_path [file join $HOME displaypic cache 
> [filenoext $image_name].png]
> -                     set selected_image "[filenoext $selected_path].png"
>               }
>       }
>       
> @@ -7169,24 +7147,24 @@
>       # First column #
>       ################
>       frame $w.mydpstitle -bd 0
> -     label $w.mydpstitle.text -text "My cached display pictures:" -font 
> bboldf
> +     label $w.mydpstitle.text -text "[trans mypics]:" -font bboldf
>       #clear cache button ?
>       pack $w.mydpstitle.text -side left
>  
>       frame $w.moredpstitle -bd 0
> -     label $w.moredpstitle.text -text "Dp's in cache for:" -font bboldf
> +     label $w.moredpstitle.text -text "[trans cachedpicsfor]:" -font bboldf
>       #combobox to choose user which configures the widget with -user $user
>  
>       set combo $w.moredpstitle.combo
>       combobox::combobox $combo -highlightthickness 0 -width 22  -font 
> splainf -exportselection true -command "configuredpbrowser $target_user" 
> -editable false -bg #FFFFFF
>       $combo list delete 0 end
> -     $combo list insert end "Select a contact:"
> +     $combo list insert end "[trans selectcontact]:"
>       
>       foreach contact $contactlist {
>               #put the name of the device in the widget
>               $combo list insert end $contact
>               if {$contact == $target_user} {
> -                     set selection [expr [$combo list index end] - 1]
> +                     set selection [expr {[$combo list index end] - 1}]
>               }
>       }
>       
> @@ -7202,28 +7180,28 @@
>       pack $w.moredpstitle.text -side left
>       pack $w.moredpstitle.combo -side right
>  
> -     ::dpbrowser $w.mydps -width 3 -user self -command [list 
> updateDpBrowserSelection $w.mydps] -mode selector -createtempimg 1
> +     ::dpbrowser $w.mydps -width 3 -user self -command [list 
> updateDpBrowserSelection $w.mydps $target_user] -mode selector
>  
> -     ::dpbrowser $w.moredps -width 3 -user $selected_user -command [list 
> updateDpBrowserSelection $w.moredps] -mode selector -createtempimg 1
> +     ::dpbrowser $w.moredps -width 3 -user $selected_user -command [list 
> updateDpBrowserSelection $w.moredps $target_user] -mode selector
>       
>       #################
>       # second column #
>       #################
>  
>       #preview
> -     label $w.dppreviewtxt -text "Preview:"
> +     label $w.dppreviewtxt -text "[trans preview]:"
>       if {$target_user == "self"} {
>               label $w.dppreview -image displaypicture_std_self
>       } else {
> -             if { $image_name == "" } {
> +             if { $image_name == "" || [catch {image create photo 
> displaypicture_std_$target_user -file $selected_path -format cximage}] } {
>                       label $w.dppreview -image displaypicture_std_none
>               } else {
> -                     label $w.dppreview -image [image create photo 
> [TmpImgName] -file $selected_path -format cximage]
> +                     label $w.dppreview -image 
> displaypicture_std_$target_user
>               }
>       }
>       
>       #browse button
> -     button $w.browsebutton -command "set selected_path 
> \[pictureChooseFile\]" -text "[trans browse]..."
> +     button $w.browsebutton -command "pictureChooseFile $target_user" -text 
> "[trans browse]..."
>       
>       #under this button is space for more buttons we'll make a frame for so 
> plugins can pack stuff in this frame
>       frame $w.pluginsframe -bd 0
> @@ -7234,7 +7212,7 @@
>       # lower pane    #
>       #################       
>       frame $w.lowerpane -bd 0
> -     button $w.lowerpane.ok -text "[trans ok]" -command "set_displaypic 
> \${selected_image} $target_user;destroy $w"
> +     button $w.lowerpane.ok -text "[trans ok]" -command "set_displaypic 
> $target_user;destroy $w"
>       button $w.lowerpane.cancel -text "[trans cancel]" -command "destroy 
> .dpbrowser"
>       pack $w.lowerpane.ok $w.lowerpane.cancel -side right -padx 5
>  
> @@ -7253,12 +7231,15 @@
>       
>       #lower pane
>       grid $w.lowerpane -row 7 -column 0 -columnspan 2 -sticky e -padx 2 
> -pady 2
> +     
> +     if { $target_user != "self" } {
> +             bind $w <Destroy> "catch { image delete 
> displaypicture_std_$target_user}"
> +     }
>  }
>  
> -
>  proc configuredpbrowser {target combowidget selection} {
>       #puts "$combowidget $selection"
> -     if {$selection == "Select a contact:"} {set selection ""}
> +     if {$selection == "[trans selectcontact]:"} {set selection ""}
>       if {$selection == $target} {
>               [winfo toplevel $combowidget].moredps configure -user 
> $selection -showcurrent 0
>       } else {
> @@ -7267,21 +7248,19 @@
>  }
>  
>  # This procedure is called back from the dpbrowser pane when a picture is 
> selected
> -proc updateDpBrowserSelection { browser } {
> -     global selected_image image_name
> -     
> +proc updateDpBrowserSelection { browser target } {
>       set w [winfo toplevel $browser]
>  
> -     catch {image delete $selected_image}
> -     # Get the path of the selected image and unselect all images in the 
> other pane
>       set selection [$browser getSelected]
> -     set selected_image [lindex $selection 1]
> -     set temp_image [lindex $selection 2]
> +     set file [lindex $selection 1]
>  
> -#    set image_name [image create photo [TmpImgName] -file $selected_image 
> -format cximage]
> -     $w.dppreview configure -image $temp_image
> -     set selected_image "[filenoext $selected_image].png"
> -#FIXME: $image_name is never destroyed -> memleak
> +     set old_image [$w.dppreview cget -image]
> +     $w.dppreview configure -image ""
> +     if { $old_image != "displaypicture_std_none" } {
> +             catch {image delete $old_image}
> +     }
> +     status_log "will be created displaypicture_std_$target with filename 
> $file"
> +     $w.dppreview configure -image [image create photo 
> displaypicture_std_$target -file $file -format cximage]
>  }
>  
>  
> @@ -7327,8 +7306,8 @@
>  
>  
>  
> -proc pictureChooseFile { } {
> -     global HOME selected_image image_names
> +proc pictureChooseFile { target } {
> +     global HOME
>  
>       set file [chooseFileDialog "" "" "" "" open [list [list [trans 
> imagefiles] [list *.gif *.GIF *.jpg *.JPG *.bmp *.BMP *.png *.PNG]] [list 
> [trans allfiles] *]]]
>  
> @@ -7348,20 +7327,17 @@
>                               dpBrowser
>                       }
>  
> -                     set image_name [image create photo [TmpImgName] -file 
> [::skin::GetSkinFile "displaypic" "[filenoext [file tail $file]].png"] 
> -format cximage]
> -                     status_log $image_name red
> -                     .dpbrowser.dppreview configure -image $image_name
> -                     set selected_image "[filenoext [file tail $file]].png"
> -
> +                     image create photo displaypicture_std_$target -file 
> [::skin::GetSkinFile "displaypic" "[filenoext [file tail $file]].png"] 
> -format cximage
> +                     .dpbrowser.dppreview configure -image 
> displaypicture_std_$target
>                       set desc_file "[filenoext [file tail $file]].dat"
>                       set fd [open [file join $HOME displaypic $desc_file] w]
>                       status_log "Writing description to $desc_file\n"
>                       puts $fd "[clock format [clock seconds] -format 
> %x]\n[filenoext [file tail $file]].png"
>                       close $fd
> -
> -                     lappend image_names $image_name
> -                     status_log "Created $image_name\n"
> -
> +                     
> +                     # Redraw dpBrowser's upper pane
> +                     .dpbrowser.mydps configure -user self
> +                     
>                       return "[filenoext [file tail $file]].png"
>               } else {
>                       status_log "Error converting $file: $res\n"
> @@ -7415,8 +7391,10 @@
>       return $dpsize
>  }
>  
> -proc set_displaypic { file { email "self" } } {
> -     global image_name
> +proc set_displaypic { { email "self" } } {
> +     set file ""
> +     catch {set file [displaypicture_std_$email cget -file]}
> +     
>       if { $email == "self" } {
>               catch {image delete displaypicture_std_self}
>               catch {image delete displaypicture_not_self}
> @@ -7427,7 +7405,6 @@
>                       load_my_smaller_pic
>                       ::MSN::changeStatus [set ::MSN::myStatus]
>                       save_config
> -                     catch {image delete $image_name}
>               } else {
>                       status_log "set_displaypic: Setting displaypic to 
> displaypicture_std_none\n" blue
>                       clear_disp
> @@ -7436,8 +7413,7 @@
>                       ::MSN::changeStatus [set ::MSN::myStatus]
>               }
>       } else {
> -             set temp [filenoext $file]
> -             status_log "$temp"
> +             catch {image delete displaypicture_std_$email}
>               global customdp_$email
>               set customdp_$email $file
>       }
> @@ -7459,30 +7435,6 @@
>       }
>  }
>  
> -# Through these function the custom DP can be changed without using the 
> properties screen
> -proc autoChangeCustomDp { email } {
> -     global customdp_$email
> -     dpBrowser $email
> -     tkwait window .dpbrowser
> -     # Backup old custom dp
> -     set old_customdp [::abook::getContactData $email customdp ""]
> -     if {[set customdp_$email] != $old_customdp} {
> -             # Store custom dp
> -             ::abook::setAtomicContactData $email customdp [set 
> customdp_$email]
> -             # Update display picture
> -             ::skin::getDisplayPicture $email 1
> -             ::skin::getLittleDisplayPicture $email 1
> -     }
> -}
> -
> -proc autoRemoveCustomDp { email } {
> -     # Remove custom dp
> -     ::abook::setAtomicContactData $email customdp ""
> -     # Update display picture
> -     ::skin::getDisplayPicture $email 1
> -     ::skin::getLittleDisplayPicture $email 1
> -}
> -
>  ###################### Protocol Debugging ###########################
>  if { $initialize_amsn == 1 } {
>       global degt_protocol_window_visible degt_command_window_visible
> 
> Modified: trunk/amsn/utils/dpbrowser/dpbrowser.tcl
> ===================================================================
> --- trunk/amsn/utils/dpbrowser/dpbrowser.tcl  2007-01-17 23:09:11 UTC (rev 
> 7801)
> +++ trunk/amsn/utils/dpbrowser/dpbrowser.tcl  2007-01-18 01:13:24 UTC (rev 
> 7802)
> @@ -60,7 +60,9 @@
>               set dps_per_row $options(-width)
>  
>               if {$email == "self"} {
> -                     set shipped_dps [glob -nocomplain -directory [file join 
> skins default displaypic] *.dat]
> +                     foreach dat_file [glob -nocomplain -directory [file 
> join skins default displaypic] *.dat] {
> +                             lappend shipped_dps [::skin::GetSkinFile 
> displaypic [file tail $dat_file]]
> +                     }
>                       set user_dps [glob -nocomplain -directory [file join 
> $HOME displaypic] *.dat]
>                       set files [concat $shipped_dps $user_dps]
>                       set pic_in_use ""
> 
> 
> This was sent by the SourceForge.net collaborative development platform, the 
> world's largest Open Source development site.
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Amsn-commits mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/amsn-commits
> 
> ----- End forwarded message -----
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Amsn-devel mailing list
> Amsn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/amsn-devel

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Amsn-devel mailing list
Amsn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amsn-devel

Reply via email to