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