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" } {

Attachment: 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

Reply via email to