Hello again, I never thought of doing it that way, lol. so a new patch which leaves the button bar defined, and you can right click on the button bar to hide it and right click on the input frame to show it again. So a new patch!

p.s. I have removed my translations :P

=== showhidechatbar.patch ===
Index: chatwindow.tcl
===================================================================
--- chatwindow.tcl      (revision 8527)
+++ chatwindow.tcl      (working copy)
@@ -36,7 +36,6 @@
               variable containercurrent
               variable containerid 0
               variable scrolling
-
       }
#///////////////////////////////////////////////////////////////////////////////

@@ -1887,7 +1886,7 @@
               }
       }

-       proc CreateInputWindow { w paned } {
+       proc CreateInputWindow { win paned } {

               status_log "Creating input frame\n"
               # Name our widgets
@@ -1897,19 +1896,20 @@
               # Create the bottom frame widget
               frame $bottom -class Amsn -borderwidth 0 -relief solid \
                       -background [::skin::getKey chatwindowbg]
+ bind $bottom <<Button3>> [list ::ChatWindow::ShowButtonBarRightClick $win %X %Y]

-
               # Create The left frame
frame $leftframe -class Amsn -background [::skin::getKey chatwindowbg] -relief solid -borderwidth 0

               # Create the other widgets for the bottom frame
-               set input [CreateInputFrame $w $leftframe]
-               set buttons [CreateButtonBar $w $leftframe]
-               set picture [CreatePictureFrame $w $bottom]
-
+               set input [CreateInputFrame $win $leftframe]
+               set picture [CreatePictureFrame $win $bottom]
+               set buttons [CreateButtonBar $win $leftframe]
+               set buttonsinner [$buttons getinnerframe]
+
               pack $buttons -side top -expand false -fill x -anchor n \
-                               -padx [::skin::getKey chat_buttons_padx] \
-                               -pady [::skin::getKey chat_buttons_pady]
+ -padx [::skin::getKey chat_buttons_padx] \ + -pady [::skin::getKey chat_buttons_pady]
               pack $input -side top -expand true -fill both -anchor n \
                               -padx [::skin::getKey chat_input_padx] \
                               -pady [::skin::getKey chat_input_pady]
@@ -1919,7 +1919,13 @@
               pack $picture -side right -expand false -anchor ne \
                               -padx [::skin::getKey chat_dp_padx] \
                               -pady [::skin::getKey chat_dp_pady]
-
+
+               if {[::config::getKey ShowButtonBar] == 1 } {
+ bind $buttonsinner <<Button3>> [list ::ChatWindow::ShowButtonBarRightClick $win %X %Y]
+               } else {
+                       pack forget $buttons
+               }
+
               # Bind the focus
               bind $bottom <FocusIn> "focus $input"

@@ -1927,7 +1933,7 @@
               set evPar(input) $input
               set evPar(buttons) $buttons
               set evPar(picture) $picture
-               set evPar(window) "$w"
+               set evPar(window) "$win"

               ::plugins::PostEvent chatwininput evPar

@@ -1935,6 +1941,61 @@

       }

+
+       proc ShowButtonBarRightClick { win x y } {
+               catch {menu $win.buttonbarmenu -tearoff 0}
+               $win.buttonbarmenu delete 0 end
+               # Setup the menu
+               if {[::config::getKey ShowButtonBar] == 1 } {
+ $win.buttonbarmenu add command -label "[trans hidebuttonbar]" -command [list ::ChatWindow::HideButtonBar]
+               } else {
+ $win.buttonbarmenu add command -label "[trans showbuttonbar]" -command [list ::ChatWindow::ShowButtonBar]
+               }
+               # Show the menu
+               tk_popup $win.buttonbarmenu $x $y
+
+       }
+
+
+       proc HideButtonBar { } {
+               # Hide the button bar
+               set chatids [::ChatWindow::getAllChatIds]
+               # Loop through all chats
+               foreach chat $chatids {
+                       set win [::ChatWindow::For $chat]
+ set slaveinfo [pack info [::ChatWindow::GetButtonBarForWin $win]]
+                       # Un pack the Bar
+                       pack forget [::ChatWindow::GetButtonBarForWin $win]
+               }
+               ::config::setKey ShowButtonBar 0
+       }
+
+
+       proc ShowButtonBar { } {
+               # Show the button bar
+               set chatids [::ChatWindow::getAllChatIds]
+               # Loop through the chats
+               foreach chat $chatids {
+                       set win [::ChatWindow::For $chat]
+                       set buttons [::ChatWindow::GetButtonBarForWin $win]
+                       # Repack the bar
+ pack [::ChatWindow::GetButtonBarForWin $win] -anchor n -side top -in $win.f.bottom.left \ + -anchor n -expand 0 -fill x -ipadx 0 -ipady 0 -padx 3 -pady 4 -side top + pack $win.f.bottom.left.in -side top -expand true -fill both -anchor n \
+                               -padx [::skin::getKey chat_input_padx] \
+ -pady [::skin::getKey chat_input_pady] -in $win.f.bottom.left
+
+ set slaveinfo [pack info [::ChatWindow::GetButtonBarForWin $win]]
+               }
+               ::config::setKey ShowButtonBar 1
+       }
+
+
+       proc GetButtonBarForWin { win } {
+               return $win.f.bottom.left.buttons
+       }
+
+
       proc CreateInputFrame { w bottom} {
               # Create The input frame
               set input $bottom.in
@@ -1980,7 +2041,7 @@
# Change shortcuts on Mac OS X (TKAqua). ALT=Option Control=Command on Mac
               if { [OnMac] } {
bind $text <Command-Return> {%W insert insert "\n"; %W see insert; break}
-                       bind $text <Command-Shift-space> BossMode
+                       binmsg_windowsd $text <Command-Shift-space> BossMode
bind $text <Command-a> {%W tag add sel 1.0 {end - 1 chars};break} bind $text <Command-A> {%W tag add sel 1.0 {end - 1 chars};break} bind $text <Option-Key-BackSpace> [bind Text <Meta-Key-BackSpace>]
Index: lang/langen
===================================================================
--- lang/langen (revision 8527)
+++ lang/langen (working copy)
@@ -399,6 +399,7 @@
havenomic I have no microphone
helpcontents Help Contents
help Help
+hidebuttonbar Hide the button bar
hidedisplaypic Hide Display Picture
hidemenumessage Are you sure you want to hide the menus ?\nYou can restore them any time by using the show/hide menus hotkey 'Ctrl-M'.
hidemenu Show/Hide menus
@@ -752,6 +753,7 @@
shareswebcam Shares webcam
showbanner Show aMSN's banner
showblockedlist Show list of people who blocked you
+showbuttonbar Show the button bar
showcachedpics Show cached display pictures
show_contactdps_in_cl Show thumbnails of contacts Display Pictures in Contact List
showcontactemail Show Contacts with E-mail
Index: config.tcl
===================================================================
--- config.tcl  (revision 8527)
+++ config.tcl  (working copy)
@@ -43,6 +43,7 @@
;#Changed later for windows to 4
               ::config::setKey showmailicon 1
               ::config::setKey dock 1
+               ::config::setKey ShowButtonBar 1
               ::config::setKey show_contactdps_in_cl 0

               ::config::setKey autoresizedp 0
Index: TODO
===================================================================
--- TODO        (revision 8527)
+++ TODO        (working copy)
@@ -48,7 +48,7 @@
       ************************************************

       ** General issues **
--      Option to display or not the chat button bar
+DONE   Option to display or not the chat button bar
-      Add option to modify keepalive interval (in seconds)
DONE Make a Pure PNG Reader (will be used for buddy icons + filetransfer previews, and maybe other stuff) DONE In the Privacy tab, if 2 users have exactly the same nickname in a listbox, we can control only the first user



Youness Alaoui wrote:
It's a good point, I didn't want to get involved with this 'yet another option' thing but your view menu idea makes sense... then it would mean
on click -> foreach win $all_chat_windows {
  pack forget [GetButtonBarForWin $win]
}

(or pack instead of pack forget)

KKRT


On Mon, Apr 30, 2007 at 11:08:59PM +0200, Karel Demeyer wrote:
By the way, I don't want to sound arrogant or something and I really
appreciate your work, Dan;  it's just my "interface designer"'s view on it
:)

Friendly greeting,

Karel.

2007/4/30, Karel Demeyer <[EMAIL PROTECTED]>:
I didn't apply the patch but it looks like it adds yet another option to
the preferences window.  We should have a procedure of having a discussion
about every option added there to avoid that window to be overcrowded.
So; why isn't it just having a checkbox in the chatwindow's "View" menu to
enable/disable the bar in {that particular window / all windows} (choose the
one you think that is best) and this option being remembered (being a
::config var) ?

Karel.

2007/4/30, Youness Alaoui <[EMAIL PROTECTED]>:
It looks good, but I would say that maybe it would be better to just
create an empty frame instead of removing
the buttonbar..
the reason is that if you send the event for the chat window to the
plugins and you don't specify the buttons
variable, plugins might bug because they expect it to exist.
By setting an empty frame, you allow them to still depend on that
variable without crashing..
or a better solution, just keep the code as it was, but don't do the
pack.. the buttonbar will be created but as
long as it's not packed, it won't appear...
I think that's the best solution...
can you patch your patch (:p) and send me the new patch so I can apply
it? thanks

p.s.: about lang keys, I don't know the exact procedures, but I think
you should just provide the english
translation and leave the translators the task to translate it (allows
for a better coherence in translation)..
you could also maybe post to amsn-lang with your translations after
reading the translation HOWTO, or finally,
wait until Alvaro or Vivia answer this thread and tell you what to do
for the translation.. I think they'll say
to keep it as is and to apply the patch with the translations in one
shot.
p.p.s:
langen: showbuttonbar Show button bar in chats
I would say "in chat windows".. and the french translation "dnas les
causeries" lol, I'd say "dans les fenetres
de conversation", who calls them 'causerie' ?  anyways, maybe someone
should review the translations after all..
:)

Thanks a lot for the patch, it's great to see contributions :)

KKRT


On Mon, Apr 30, 2007 at 08:04:13PM +0100, Dan Searle wrote:
Hi,
   I  noticed in the TODO list there was a item of "Option to display
or not the chat button bar". I have implemented this and done the
relevant translations for French and Spanish, However I'm not totally
sure of their accuracy. So if someone could be kind to apply my patch
:). And if anyone wants to help with any translations that would be
appreciated.

=== showhidechatbar.patch ===

Index: chatwindow.tcl
===================================================================
--- chatwindow.tcl      (revision 8527)
+++ chatwindow.tcl      (working copy)
@@ -1904,12 +1904,16 @@

               # Create the other widgets for the bottom frame
               set input [CreateInputFrame $w $leftframe]
-               set buttons [CreateButtonBar $w $leftframe]
               set picture [CreatePictureFrame $w $bottom]

-               pack $buttons -side top -expand false -fill x -anchor
n \
-                               -padx [::skin::getKey
chat_buttons_padx] \
-                               -pady [::skin::getKey
chat_buttons_pady]
+               if {[::config::getKey ShowButtonBar] == 1 } {
+                       set buttons [CreateButtonBar $w $leftframe]
+
+                       pack $buttons -side top -expand false -fill x
-anchor n \
+                                       -padx [::skin::getKey
chat_buttons_padx] \
+                                       -pady [::skin::getKey
chat_buttons_pady]
+               }
+
               pack $input -side top -expand true -fill both -anchor n
\
                               -padx [::skin::getKey chat_input_padx]
\
                               -pady [::skin::getKey chat_input_pady]
@@ -1925,7 +1929,9 @@

               #send chatwininput postevent
               set evPar(input) $input
-               set evPar(buttons) $buttons
+               if {[::config::getKey ShowButtonBar] == 1 } {
+                       set evPar(buttons) $buttons
+               }
               set evPar(picture) $picture
               set evPar(window) "$w"

Index: lang/langen
===================================================================
--- lang/langen (revision 8527)
+++ lang/langen (working copy)
@@ -752,6 +752,7 @@
shareswebcam Shares webcam
showbanner Show aMSN's banner
showblockedlist Show list of people who blocked you
+showbuttonbar Show button bar in chats
showcachedpics Show cached display pictures
show_contactdps_in_cl Show thumbnails of contacts Display Pictures in
Contact List
showcontactemail Show Contacts with E-mail
Index: lang/langes
===================================================================
--- lang/langes (revision 8527)
+++ lang/langes (working copy)
@@ -756,6 +756,7 @@
shareswebcam Usuario con cámara web
showbanner Mostrar el cartel de aMSN en la lista de contactos
showblockedlist Mostrar contactos que te bloquean
+showbuttonbar Mostrar la barra del botón en charlas
showcachedpics Mostrar imágenes para mostrar almacenadas
show_contactdps_in_cl Mostrar miniaturas de las imágenes para
mostrar
en la lista de contactos
showcontactemail Mostrar el email de los contactos
Index: lang/langfr
===================================================================
--- lang/langfr (revision 8527)
+++ lang/langfr (working copy)
@@ -752,6 +752,7 @@
shareswebcam Possède une webcam
showbanner Affiche la bannière d'aMSN
showblockedlist Voir la liste des personnes que vous avez bloqué
+showbuttonbar Montrer la barre de bouton dans les causeries
showcachedpics Afficher/Masquer les avatars cachés
show_contactdps_in_cl Montrer les avatars dans la liste des contacts
showcontactemail Voir les contacts par leur email
Index: preferences.tcl
===================================================================
--- preferences.tcl     (revision 8527)
+++ preferences.tcl     (working copy)
@@ -1698,8 +1698,12 @@
       pack $lfname.4.mdy $lfname.4.dmy $lfname.4.ymd -side left -padx
10
       checkbutton $lfname.5.dock -text "[trans trayicon]" -onvalue 1
-offvalue 0 -variable [::config::getVar dock]
+
+       checkbutton $lfname.5.showbuttonbar -text "[trans
showbuttonbar]" -onvalue 1 -offvalue 0 -variable [::config::getVar
dock]
+

       pack $lfname.5.dock -anchor w -side top -padx 10 -pady 0
+       pack $lfname.5.showbuttonbar -anchor w -side top -padx 10
-pady 0
       pack $lfname.5 -side top -padx 0 -pady 0 -expand 1 -fill both

       label $lfname.6.llook -text "[trans psmplace]" -padx 10
@@ -1710,7 +1714,8 @@
       radiobutton $lfname.6.newline -text "[trans psmnewline]" -value
2 -variable [::config::getVar psmplace]
       pack $lfname.6.dontshow $lfname.6.atend $lfname.6.newline
-anchor w -side top -padx 10

-
+
+
       ## Emoticons Frame ##
       set lfname [labelframe $frm.lfname2 -text [trans prefemotic]]
       pack $frm.lfname2 -anchor n -side top -expand 0 -fill x
Index: config.tcl
===================================================================
--- config.tcl  (revision 8527)
+++ config.tcl  (working copy)
@@ -43,6 +43,7 @@

;#Changed later for windows to 4
               ::config::setKey showmailicon 1
               ::config::setKey dock 1
+               ::config::setKey ShowButtonBar 1
               ::config::setKey show_contactdps_in_cl 0

               ::config::setKey autoresizedp 0
Index: TODO
===================================================================
--- TODO        (revision 8527)
+++ TODO        (working copy)
@@ -48,7 +48,7 @@
       ************************************************

       ** General issues **
--      Option to display or not the chat button bar
+DONE   Option to display or not the chat button bar
-      Add option to modify keepalive interval (in seconds)
DONE   Make a Pure PNG Reader (will be used for buddy icons +
filetransfer previews, and maybe other stuff)
DONE   In the Privacy tab, if 2 users have exactly the same nickname
in
a listbox, we can control only the first user

Index: chatwindow.tcl
===================================================================
--- chatwindow.tcl    (revision 8527)
+++ chatwindow.tcl    (working copy)
@@ -1904,12 +1904,16 @@

              # Create the other widgets for the bottom frame
              set input [CreateInputFrame $w $leftframe]
-             set buttons [CreateButtonBar $w $leftframe]
              set picture [CreatePictureFrame $w $bottom]

-             pack $buttons -side top -expand false -fill x -anchor n
\
-                             -padx [::skin::getKey chat_buttons_padx]
\
-                             -pady [::skin::getKey chat_buttons_pady]
+             if {[::config::getKey ShowButtonBar] == 1 } {
+                     set buttons [CreateButtonBar $w $leftframe]
+
+                     pack $buttons -side top -expand false -fill x
-anchor n \
+                                     -padx [::skin::getKey
chat_buttons_padx] \
+                                     -pady [::skin::getKey
chat_buttons_pady]
+             }
+
              pack $input -side top -expand true -fill both -anchor n
\
                              -padx [::skin::getKey chat_input_padx] \
                              -pady [::skin::getKey chat_input_pady]
@@ -1925,7 +1929,9 @@

              #send chatwininput postevent
              set evPar(input) $input
-             set evPar(buttons) $buttons
+             if {[::config::getKey ShowButtonBar] == 1 } {
+                     set evPar(buttons) $buttons
+             }
              set evPar(picture) $picture
              set evPar(window) "$w"

Index: lang/langen
===================================================================
--- lang/langen       (revision 8527)
+++ lang/langen       (working copy)
@@ -752,6 +752,7 @@
 shareswebcam Shares webcam
 showbanner Show aMSN's banner
 showblockedlist Show list of people who blocked you
+showbuttonbar Show button bar in chats
 showcachedpics Show cached display pictures
 show_contactdps_in_cl Show thumbnails of contacts Display Pictures in
Contact List
 showcontactemail Show Contacts with E-mail
Index: lang/langes
===================================================================
--- lang/langes       (revision 8527)
+++ lang/langes       (working copy)
@@ -756,6 +756,7 @@
 shareswebcam Usuario con c??mara web
 showbanner Mostrar el cartel de aMSN en la lista de contactos
 showblockedlist Mostrar contactos que te bloquean
+showbuttonbar Mostrar la barra del bot?n en charlas
 showcachedpics Mostrar im??genes para mostrar almacenadas
 show_contactdps_in_cl Mostrar miniaturas de las im??genes para
mostrar en la lista de contactos
 showcontactemail Mostrar el email de los contactos
Index: lang/langfr
===================================================================
--- lang/langfr       (revision 8527)
+++ lang/langfr       (working copy)
@@ -752,6 +752,7 @@
 shareswebcam Poss?de une webcam
 showbanner Affiche la banni?re d'aMSN
 showblockedlist Voir la liste des personnes que vous avez bloqu?
+showbuttonbar Montrer la barre de bouton dans les causeries
 showcachedpics Afficher/Masquer les avatars cach?s
 show_contactdps_in_cl Montrer les avatars dans la liste des contacts
 showcontactemail Voir les contacts par leur email
Index: preferences.tcl
===================================================================
--- preferences.tcl   (revision 8527)
+++ preferences.tcl   (working copy)
@@ -1698,8 +1698,12 @@
      pack $lfname.4.mdy $lfname.4.dmy $lfname.4.ymd -side left -padx
10
      checkbutton $lfname.5.dock -text "[trans trayicon]" -onvalue 1
-offvalue 0 -variable [::config::getVar dock]
+
+     checkbutton $lfname.5.showbuttonbar -text "[trans
showbuttonbar]" -onvalue 1 -offvalue 0 -variable [::config::getVar dock]
+

      pack $lfname.5.dock -anchor w -side top -padx 10 -pady 0
+     pack $lfname.5.showbuttonbar -anchor w -side top -padx 10 -pady
0
      pack $lfname.5 -side top -padx 0 -pady 0 -expand 1 -fill both

      label $lfname.6.llook -text "[trans psmplace]" -padx 10
@@ -1710,7 +1714,8 @@
      radiobutton $lfname.6.newline -text "[trans psmnewline]" -value
2 -variable [::config::getVar psmplace]
      pack $lfname.6.dontshow $lfname.6.atend $lfname.6.newline
-anchor w -side top -padx 10
-
+
+
      ## Emoticons Frame ##
      set lfname [labelframe $frm.lfname2 -text [trans prefemotic]]
      pack $frm.lfname2 -anchor n -side top -expand 0 -fill x
Index: config.tcl
===================================================================
--- config.tcl        (revision 8527)
+++ config.tcl        (working copy)
@@ -43,6 +43,7 @@

;#Changed later for windows to 4
              ::config::setKey showmailicon 1
              ::config::setKey dock 1
+             ::config::setKey ShowButtonBar 1
              ::config::setKey show_contactdps_in_cl 0

              ::config::setKey autoresizedp 0
Index: TODO
===================================================================
--- TODO      (revision 8527)
+++ TODO      (working copy)
@@ -48,7 +48,7 @@
      ************************************************

      ** General issues **
--    Option to display or not the chat button bar
+DONE Option to display or not the chat button bar
 -    Add option to modify keepalive interval (in seconds)
 DONE Make a Pure PNG Reader (will be used for buddy icons +
filetransfer previews, and maybe other stuff)
 DONE In the Privacy tab, if 2 users have exactly the same nickname in
a listbox, we can control only the first user

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Amsn-devel mailing list
Amsn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amsn-devel
-------------------------------------------------------------------------

This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Amsn-devel mailing list
Amsn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amsn-devel


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Amsn-devel mailing list
Amsn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amsn-devel


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Amsn-devel mailing list
Amsn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amsn-devel


--
<br><i>Dan<br>
<br>
</i><a class="moz-txt-link-abbreviated"
href="http://www.d-searle.co.uk/";>www.D-searle.co.uk</a> <br>
<u><i>Providing a great service since October '06</i></u>

Index: chatwindow.tcl
===================================================================
--- chatwindow.tcl	(revision 8527)
+++ chatwindow.tcl	(working copy)
@@ -36,7 +36,6 @@
 		variable containercurrent
 		variable containerid 0
 		variable scrolling
-
 	}
 	#///////////////////////////////////////////////////////////////////////////////
 
@@ -1887,7 +1886,7 @@
 		}
 	}
 
-	proc CreateInputWindow { w paned } {
+	proc CreateInputWindow { win paned } {
 
 		status_log "Creating input frame\n"
 		# Name our widgets
@@ -1897,19 +1896,20 @@
 		# Create the bottom frame widget
 		frame $bottom -class Amsn -borderwidth 0 -relief solid \
 			-background [::skin::getKey chatwindowbg]
+		bind $bottom <<Button3>> [list ::ChatWindow::ShowButtonBarRightClick $win %X %Y]
 		
-
 		# Create The left frame
 		frame $leftframe -class Amsn -background [::skin::getKey chatwindowbg] -relief solid -borderwidth 0
 
 		# Create the other widgets for the bottom frame
-		set input [CreateInputFrame $w $leftframe]
-		set buttons [CreateButtonBar $w $leftframe]
-		set picture [CreatePictureFrame $w $bottom]
-
+		set input [CreateInputFrame $win $leftframe]
+		set picture [CreatePictureFrame $win $bottom]
+		set buttons [CreateButtonBar $win $leftframe]
+		set buttonsinner [$buttons getinnerframe]
+		
 		pack $buttons -side top -expand false -fill x -anchor n \
-				-padx [::skin::getKey chat_buttons_padx] \
-				-pady [::skin::getKey chat_buttons_pady]
+					-padx [::skin::getKey chat_buttons_padx] \
+					-pady [::skin::getKey chat_buttons_pady]
 		pack $input -side top -expand true -fill both -anchor n \
 				-padx [::skin::getKey chat_input_padx] \
 				-pady [::skin::getKey chat_input_pady]
@@ -1919,7 +1919,13 @@
 		pack $picture -side right -expand false -anchor ne \
 				-padx [::skin::getKey chat_dp_padx] \
 				-pady [::skin::getKey chat_dp_pady]
-
+		
+		if {[::config::getKey ShowButtonBar] == 1 } {
+			bind $buttonsinner <<Button3>> [list ::ChatWindow::ShowButtonBarRightClick $win %X %Y]
+		} else {
+			pack forget $buttons
+		}
+		
 		# Bind the focus
 		bind $bottom <FocusIn> "focus $input"
 
@@ -1927,7 +1933,7 @@
 		set evPar(input) $input
 		set evPar(buttons) $buttons
 		set evPar(picture) $picture
-		set evPar(window) "$w"
+		set evPar(window) "$win"
 
 		::plugins::PostEvent chatwininput evPar		
 
@@ -1935,6 +1941,61 @@
 
 	}
 
+
+	proc ShowButtonBarRightClick { win x y } {
+		catch {menu $win.buttonbarmenu -tearoff 0}
+		$win.buttonbarmenu delete 0 end
+		# Setup the menu
+		if {[::config::getKey ShowButtonBar] == 1 } {
+			$win.buttonbarmenu add command -label "[trans hidebuttonbar]" -command [list ::ChatWindow::HideButtonBar]
+		} else {
+			$win.buttonbarmenu add command -label "[trans showbuttonbar]" -command [list ::ChatWindow::ShowButtonBar]
+		}
+		# Show the menu
+		tk_popup $win.buttonbarmenu $x $y
+		
+	}
+
+	
+	proc HideButtonBar { } {
+		# Hide the button bar
+		set chatids [::ChatWindow::getAllChatIds]
+		# Loop through all chats
+		foreach chat $chatids {
+			set win [::ChatWindow::For $chat]
+			set slaveinfo [pack info  [::ChatWindow::GetButtonBarForWin $win]]
+			# Un pack the Bar
+			pack forget [::ChatWindow::GetButtonBarForWin $win]
+		}
+		::config::setKey ShowButtonBar 0
+	}
+
+
+	proc ShowButtonBar { } {
+		# Show the button bar
+		set chatids [::ChatWindow::getAllChatIds]
+		# Loop through the chats
+		foreach chat $chatids {
+			set win [::ChatWindow::For $chat]
+			set buttons [::ChatWindow::GetButtonBarForWin $win]
+			# Repack the bar
+			pack [::ChatWindow::GetButtonBarForWin $win] -anchor n -side top -in $win.f.bottom.left  \
+				-anchor n -expand 0 -fill x -ipadx 0 -ipady 0 -padx 3 -pady 4 -side top
+			pack $win.f.bottom.left.in -side top -expand true -fill both -anchor n \
+				-padx [::skin::getKey chat_input_padx] \
+				-pady [::skin::getKey chat_input_pady] -in $win.f.bottom.left
+
+			set slaveinfo [pack info  [::ChatWindow::GetButtonBarForWin $win]]
+		}
+		::config::setKey ShowButtonBar 1
+	}
+
+
+	proc GetButtonBarForWin { win } {
+		return $win.f.bottom.left.buttons
+	}
+
+
 	proc CreateInputFrame { w bottom} { 
 		# Create The input frame
 		set input $bottom.in
@@ -1980,7 +2041,7 @@
 		# Change shortcuts on Mac OS X (TKAqua). ALT=Option Control=Command on Mac
 		if { [OnMac] } {
 			bind $text <Command-Return> {%W insert insert "\n"; %W see insert; break}
-			bind $text <Command-Shift-space> BossMode
+			binmsg_windowsd $text <Command-Shift-space> BossMode
 			bind $text <Command-a> {%W tag add sel 1.0 {end - 1 chars};break}
 			bind $text <Command-A> {%W tag add sel 1.0 {end - 1 chars};break}
 			bind $text <Option-Key-BackSpace> [bind Text <Meta-Key-BackSpace>]
Index: lang/langen
===================================================================
--- lang/langen	(revision 8527)
+++ lang/langen	(working copy)
@@ -399,6 +399,7 @@
 havenomic I have no microphone
 helpcontents Help Contents
 help Help
+hidebuttonbar Hide the button bar
 hidedisplaypic Hide Display Picture
 hidemenumessage Are you sure you want to hide the menus ?\nYou can restore them any time by using the show/hide menus hotkey 'Ctrl-M'.
 hidemenu Show/Hide menus
@@ -752,6 +753,7 @@
 shareswebcam Shares webcam
 showbanner Show aMSN's banner
 showblockedlist Show list of people who blocked you
+showbuttonbar Show the button bar
 showcachedpics Show cached display pictures
 show_contactdps_in_cl Show thumbnails of contacts Display Pictures in Contact List
 showcontactemail Show Contacts with E-mail
Index: config.tcl
===================================================================
--- config.tcl	(revision 8527)
+++ config.tcl	(working copy)
@@ -43,6 +43,7 @@
 								;#Changed later for windows to 4
 		::config::setKey showmailicon 1
 		::config::setKey dock 1
+		::config::setKey ShowButtonBar 1
 		::config::setKey show_contactdps_in_cl 0		
 
 		::config::setKey autoresizedp 0
Index: TODO
===================================================================
--- TODO	(revision 8527)
+++ TODO	(working copy)
@@ -48,7 +48,7 @@
 	************************************************
 
 	** General issues **
--	Option to display or not the chat button bar
+DONE	Option to display or not the chat button bar
 -	Add option to modify keepalive interval (in seconds)
 DONE	Make a Pure PNG Reader (will be used for buddy icons + filetransfer previews, and maybe other stuff)
 DONE	In the Privacy tab, if 2 users have exactly the same nickname in a listbox, we can control only the first user 
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Amsn-devel mailing list
Amsn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amsn-devel

Reply via email to