Hi. This is my diff file. There are some fixes and some improvements.
@@ -363,9 +363,6 @@ and @@ -378,12 +375,19 @@ 1) I moved the instruction for OIM loging in an appropriate control flow. 2) I added an event for when we close a chatwindow. (it is useful to avoid that windbag plugin can create from 1 to number_of_contacts memory lacks) @@ -391,7 +395,7 @@ I disabled this instruction, is it useful? @@ -544,12 +546,22 @@ 1) I added support to log nudges (it works also in multichat) 2) This avoid the problem shown in screenshot (this problem is both for nudge and file transfer) @@ -277,21 +277,27 @@ if we only want to log a msg we don't need a colon. @@ -277,21 +277,27 @@ , @@ -920,7 +925,12 @@ This avoid the problem shown in screenshot. @@ -1367,7 +1377,7 @@ It corrects a typos with logic operators @@ -5278,7 +5288,7 @@ If we don't change the nick we do some instructions and calling uselessly. For example if we only change our psm, friendly name, or simply if we open "Change Nick" window and then we click on "ok". Sorry for my English. Thanks. Square87
Index: chatwindow.tcl =================================================================== --- chatwindow.tcl (revision 8304) +++ chatwindow.tcl (working copy) @@ -363,9 +363,6 @@ set chatid [::ChatWindow::Name $window] - if { [::OIM_GUI::IsOIM $chatid] == 1} { - ::log::StopLog $chatid - } #Only run when the parent window close event comes if { "$window" != "$path" } { @@ -378,12 +375,19 @@ return 0 } if {[::config::getKey keep_logs]} { - set user_list [::MSN::usersInChat $chatid] - foreach user_login $user_list { - ::log::StopLog $user_login + if { [::OIM_GUI::IsOIM $chatid] == 1} { + ::log::StopLog $chatid + } else { + set user_list [::MSN::usersInChat $chatid] + foreach user_login $user_list { + ::log::StopLog $user_login + } } } + set evPar(chatid) chatid + ::plugins::PostEvent closed_conversation evPar + ::ChatWindow::UnsetFor $chatid $window unset ::ChatWindow::titles(${window}) unset ::ChatWindow::first_message(${window}) @@ -391,7 +395,7 @@ #Delete images if not in use catch {destroy $window.bottom.pic} - set user_list [::MSN::usersInChat $chatid] + # set user_list [::MSN::usersInChat $chatid] #Could be cleaner, but this works, destroying unused vars, saving mem catch { Index: plugins/Nudge/Nudge.tcl =================================================================== --- plugins/Nudge/Nudge.tcl (revision 8304) +++ plugins/Nudge/Nudge.tcl (working copy) @@ -544,12 +546,22 @@ } else { SendMessageFIFO [list ::Nudge::winwriteWrapped $chatid $text $iconname $color] "::amsn::messages_stack($chatid)" "::amsn::messages_flushing($chatid)" } + #if loging system is enabled + if {[::config::getKey keep_logs]} { + ::log::PutLog $chatid $text "" + } } proc winwriteWrapped {chatid text iconname {color "green"} } { + set win_name [::ChatWindow::For $chatid] amsn::WinWrite $chatid "\n" $color amsn::WinWriteIcon $chatid greyline 3 - amsn::WinWrite $chatid "\n" $color + #if this is the first line of chatwindow... + if { [[::ChatWindow::GetOutText ${win_name}] get 1.0 2.0] == "\n" } { + amsn::WinWrite $chatid "\n \n" $color + } else { + amsn::WinWrite $chatid "\n" $color + } amsn::WinWriteIcon $chatid $iconname 3 2 amsn::WinWrite $chatid "[timestamp] $text\n" $color amsn::WinWriteIcon $chatid greyline 3 Index: loging.tcl =================================================================== --- loging.tcl (revision 8304) +++ loging.tcl (working copy) @@ -277,21 +277,27 @@ set user [trans deliverfail] } + if { $msg == ""} { + set colon "" + } else { + set colon ":" + } + if {[::OIM_GUI::IsOIM $chatid] || $OIMStamp != 0 } { - ::log::WriteLog $chatid "\|\"LITA$user :\|\"L$color $msg\n" 0 $chatid $OIMStamp + ::log::WriteLog $chatid "\|\"LITA$user $colon\|\"L$color $msg\n" 0 $chatid $OIMStamp } else { set user_list [::MSN::usersInChat $chatid] foreach user_info $user_list { set user_login [lindex $user_info 0] if { [llength $user_list] > 1 } { - ::log::WriteLog $user_login "\|\"LITA$user :\|\"L$color $msg\n" 1 $user_list + ::log::WriteLog $user_login "\|\"LITA$user $colon\|\"L$color $msg\n" 1 $user_list } else { # for 2 windows (1 priv 1 conf) # if conf exists for current user & current chatid is not a conf if { [ConfArray $user_login get] == 1 && $chatid == $user_login} { - ::log::WriteLog $user_login "\|\"LITA\[[trans linprivate]\] $user :\|\"L$color $msg\n" 2 $user_list + ::log::WriteLog $user_login "\|\"LITA\[[trans linprivate]\] $user $colon\|\"L$color $msg\n" 2 $user_list } else { - ::log::WriteLog $user_login "\|\"LITA$user :\|\"L$color $msg\n" 0 $user_list + ::log::WriteLog $user_login "\|\"LITA$user $colon\|\"L$color $msg\n" 0 $user_list } } } Index: gui.tcl =================================================================== --- gui.tcl (revision 8304) +++ gui.tcl (working copy) @@ -815,9 +814,15 @@ } proc WinWriteFTSend { chatid txt cookie } { + set win_name [::ChatWindow::For $chatid] + WinWrite $chatid "\n" green WinWriteIcon $chatid greyline 3 - WinWrite $chatid "\n" green + if { [[::ChatWindow::GetOutText ${win_name}] get 1.0 2.0] == "\n" } { + WinWrite $chatid "\n \n" green + } else { + WinWrite $chatid "\n" green + } WinWriteIcon $chatid fticon 3 2 WinWrite $chatid "$txt " green WinWriteClickable $chatid "[trans cancel]" \ @@ -920,7 +925,12 @@ set win_name [::ChatWindow::MakeFor $chatid $txt $dest] WinWrite $chatid "\n" green WinWriteIcon $chatid greyline 3 - WinWrite $chatid "\n" green + #Check if this is first line in the text, add a \n at the beginning of the line + if { [[::ChatWindow::GetOutText ${win_name}] get 1.0 2.0] == "\n" } { + WinWrite $chatid "\n \n" green + } else { + WinWrite $chatid "\n" green + } if { [::skin::loadPixmap "FT_preview_${sid}"] != "" } { WinWriteIcon $chatid FT_preview_${sid} 5 5 @@ -1367,7 +1377,7 @@ # Close the window if the filetransfer is finished - if {($mode == "fr" | $mode == "fs") & [::config::getKey ftautoclose]} { + if {($mode == "fr" || $mode == "fs") && [::config::getKey ftautoclose]} { destroy $w } @@ -5278,7 +5288,7 @@ #/////////////////////////////////////////////////////////////////////// proc change_name_ok {} { set new_name [.change_name.f.nick_entry get] - if {$new_name != ""} { + if {$new_name != "" && [::abook::getContactData myself MFN] != $new_name} { if { [string length $new_name] > 130} { set answer [::amsn::messageBox [trans longnick] yesno question [trans confirm]] if { $answer == "no" } {
ft.png
Description: PNG image
------------------------------------------------------------------------- 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