vinagre r614 - in trunk: . data src



Author: jwendell
Date: Wed Feb 18 20:37:49 2009
New Revision: 614
URL: http://svn.gnome.org/viewvc/vinagre?rev=614&view=rev

Log:
2009-02-18  Jonh Wendell  <jwendell gnome org>

	* data/vinagre.glade,
	* src/vinagre-tab.c: Improved the authentication dialog.



Modified:
   trunk/ChangeLog
   trunk/data/vinagre.glade
   trunk/src/vinagre-tab.c

Modified: trunk/data/vinagre.glade
==============================================================================
--- trunk/data/vinagre.glade	(original)
+++ trunk/data/vinagre.glade	Wed Feb 18 20:37:49 2009
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Wed Dec 10 15:09:21 2008 -->
+<?xml version="1.0"?>
 <glade-interface>
+  <!-- interface-requires gtk+ 2.16 -->
+  <!-- interface-naming-policy toplevel-contextual -->
   <widget class="GtkDialog" id="connect_dialog">
     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
     <property name="border_width">5</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="destroy_with_parent">True</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <child internal-child="vbox">
       <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
@@ -39,13 +39,13 @@
             <property name="row_spacing">6</property>
             <child>
               <widget class="GtkButton" id="find_button">
+                <property name="label">gtk-find</property>
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-find</property>
                 <property name="use_stock">True</property>
                 <property name="focus_on_click">False</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="left_attach">3</property>
@@ -85,13 +85,6 @@
                 <property name="width_request">250</property>
                 <property name="visible">True</property>
                 <property name="tooltip" translatable="yes" comments="Tooltip for host entry in connect dialog">host or host:display or host::port</property>
-                <child internal-child="entry">
-                  <widget class="GtkEntry" id="comboboxentry-entry1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="activates_default">True</property>
-                  </widget>
-                </child>
               </widget>
               <packing>
                 <property name="left_attach">2</property>
@@ -128,12 +121,6 @@
             <property name="column_spacing">6</property>
             <property name="row_spacing">2</property>
             <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
               <widget class="GtkLabel" id="label6">
                 <property name="visible">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -146,11 +133,11 @@
             </child>
             <child>
               <widget class="GtkCheckButton" id="fullscreen_check">
+                <property name="label" translatable="yes">_Full screen</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" translatable="yes">_Full screen</property>
+                <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
-                <property name="response_id">0</property>
                 <property name="draw_indicator">True</property>
               </widget>
               <packing>
@@ -160,11 +147,11 @@
             </child>
             <child>
               <widget class="GtkCheckButton" id="viewonly_check">
+                <property name="label" translatable="yes">_View only</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" translatable="yes">_View only</property>
+                <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
-                <property name="response_id">0</property>
                 <property name="draw_indicator">True</property>
               </widget>
               <packing>
@@ -176,11 +163,11 @@
             </child>
             <child>
               <widget class="GtkCheckButton" id="scaling_check">
+                <property name="label" translatable="yes">_Scaling</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" translatable="yes">_Scaling</property>
+                <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
-                <property name="response_id">0</property>
                 <property name="draw_indicator">True</property>
               </widget>
               <packing>
@@ -190,6 +177,12 @@
                 <property name="bottom_attach">3</property>
               </packing>
             </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </widget>
           <packing>
             <property name="position">5</property>
@@ -199,29 +192,32 @@
           <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
               <widget class="GtkButton" id="button1">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-cancel</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-6</property>
               </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button2">
+                <property name="label">gtk-connect</property>
+                <property name="response_id">-5</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-connect</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-5</property>
               </widget>
               <packing>
                 <property name="position">1</property>
@@ -230,7 +226,8 @@
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </widget>
@@ -241,9 +238,9 @@
     <property name="border_width">5</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="destroy_with_parent">True</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
       <widget class="GtkVBox" id="dialog-vbox2">
@@ -266,29 +263,18 @@
               </widget>
               <packing>
                 <property name="padding">6</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
               <widget class="GtkTable" id="table3">
                 <property name="visible">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="n_rows">4</property>
+                <property name="n_rows">5</property>
                 <property name="n_columns">3</property>
                 <property name="column_spacing">5</property>
                 <property name="row_spacing">5</property>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <widget class="GtkLabel" id="label12">
                     <property name="visible">True</property>
                     <property name="label">   </property>
@@ -327,19 +313,19 @@
                 </child>
                 <child>
                   <widget class="GtkCheckButton" id="save_credential_check">
+                    <property name="label" translatable="yes">_Remember this credential</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                    <property name="label" translatable="yes">_Remember this credential</property>
                     <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
                     <property name="draw_indicator">True</property>
                   </widget>
                   <packing>
                     <property name="left_attach">2</property>
                     <property name="right_attach">3</property>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
+                    <property name="top_attach">4</property>
+                    <property name="bottom_attach">5</property>
                   </packing>
                 </child>
                 <child>
@@ -400,6 +386,35 @@
                     <property name="right_attach">2</property>
                   </packing>
                 </child>
+                <child>
+                  <widget class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;i&gt;&lt;small&gt;All fields above are mandatory&lt;/small&gt;&lt;/i&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </widget>
               <packing>
                 <property name="position">1</property>
@@ -414,29 +429,33 @@
           <widget class="GtkHButtonBox" id="dialog-action_area2">
             <property name="visible">True</property>
             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
               <widget class="GtkButton" id="button3">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-cancel</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-6</property>
               </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="button4">
+              <widget class="GtkButton" id="ok_button">
+                <property name="label" translatable="yes" comments="This is a button label, in the authentication dialog">_Authenticate</property>
+                <property name="response_id">-5</property>
                 <property name="visible">True</property>
+                <property name="sensitive">False</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-ok</property>
-                <property name="use_stock">True</property>
-                <property name="response_id">-5</property>
+                <property name="use_underline">True</property>
               </widget>
               <packing>
                 <property name="position">1</property>
@@ -445,7 +464,8 @@
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </widget>
@@ -456,9 +476,9 @@
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Bookmarks</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="destroy_with_parent">True</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
       <widget class="GtkVBox" id="dialog-vbox4">
@@ -489,9 +509,6 @@
             <property name="column_spacing">6</property>
             <property name="row_spacing">6</property>
             <child>
-              <placeholder/>
-            </child>
-            <child>
               <widget class="GtkLabel" id="label16">
                 <property name="visible">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -565,6 +582,9 @@
                 <property name="bottom_attach">2</property>
               </packing>
             </child>
+            <child>
+              <placeholder/>
+            </child>
           </widget>
           <packing>
             <property name="expand">False</property>
@@ -595,12 +615,6 @@
             <property name="column_spacing">6</property>
             <property name="row_spacing">2</property>
             <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
               <widget class="GtkLabel" id="label11">
                 <property name="visible">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -613,11 +627,11 @@
             </child>
             <child>
               <widget class="GtkCheckButton" id="edit_fullscreen_check">
+                <property name="label" translatable="yes">_Full screen</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" translatable="yes">_Full screen</property>
+                <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
-                <property name="response_id">0</property>
                 <property name="draw_indicator">True</property>
               </widget>
               <packing>
@@ -627,11 +641,11 @@
             </child>
             <child>
               <widget class="GtkCheckButton" id="edit_viewonly_check">
+                <property name="label" translatable="yes">_View only</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" translatable="yes">_View only</property>
+                <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
-                <property name="response_id">0</property>
                 <property name="draw_indicator">True</property>
               </widget>
               <packing>
@@ -643,11 +657,11 @@
             </child>
             <child>
               <widget class="GtkCheckButton" id="edit_scaling_check">
+                <property name="label" translatable="yes">_Scaling</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" translatable="yes">_Scaling</property>
+                <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
-                <property name="response_id">0</property>
                 <property name="draw_indicator">True</property>
               </widget>
               <packing>
@@ -657,6 +671,12 @@
                 <property name="bottom_attach">3</property>
               </packing>
             </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </widget>
           <packing>
             <property name="expand">False</property>
@@ -691,6 +711,7 @@
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -705,29 +726,32 @@
           <widget class="GtkHButtonBox" id="dialog-action_area4">
             <property name="visible">True</property>
             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
               <widget class="GtkButton" id="button7">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-cancel</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-6</property>
               </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button8">
+                <property name="label">gtk-save</property>
+                <property name="response_id">-5</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-save</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-5</property>
               </widget>
               <packing>
                 <property name="position">1</property>
@@ -736,7 +760,8 @@
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </widget>
@@ -749,9 +774,9 @@
     <property name="title" translatable="yes">Preferences</property>
     <property name="resizable">False</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="destroy_with_parent">True</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
       <widget class="GtkVBox" id="dialog-vbox5">
@@ -770,6 +795,7 @@
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -784,6 +810,7 @@
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -792,29 +819,30 @@
                     <property name="spacing">6</property>
                     <child>
                       <widget class="GtkCheckButton" id="always_show_tabs_check">
+                        <property name="label" translatable="yes">_Always show tabs</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
                         <property name="tooltip" translatable="yes">Whether we should show tabs even when there is only one active connection</property>
-                        <property name="label" translatable="yes">_Always show tabs</property>
                         <property name="use_underline">True</property>
                         <property name="xalign">0</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                       </widget>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <widget class="GtkCheckButton" id="show_accels_check">
+                        <property name="label" translatable="yes">_Show menu shortcuts</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
                         <property name="tooltip" translatable="yes">Whether we should show the menu accelerators (shortcut keys)</property>
-                        <property name="label" translatable="yes">_Show menu shortcuts</property>
                         <property name="use_underline">True</property>
                         <property name="xalign">0</property>
-                        <property name="response_id">0</property>
                         <property name="draw_indicator">True</property>
                       </widget>
                       <packing>
@@ -844,21 +872,24 @@
         <child internal-child="action_area">
           <widget class="GtkHButtonBox" id="dialog-action_area5">
             <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
               <widget class="GtkButton" id="button9">
+                <property name="label">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label">gtk-close</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
             </child>
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </widget>
@@ -869,9 +900,9 @@
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Bookmarks</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="destroy_with_parent">True</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
       <widget class="GtkVBox" id="dialog-vbox6">
@@ -975,6 +1006,7 @@
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -989,29 +1021,32 @@
           <widget class="GtkHButtonBox" id="dialog-action_area6">
             <property name="visible">True</property>
             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
               <widget class="GtkButton" id="button5">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-cancel</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-6</property>
               </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button6">
+                <property name="label">gtk-save</property>
+                <property name="response_id">-5</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-save</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-5</property>
               </widget>
               <packing>
                 <property name="position">1</property>
@@ -1020,7 +1055,8 @@
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </widget>

Modified: trunk/src/vinagre-tab.c
==============================================================================
--- trunk/src/vinagre-tab.c	(original)
+++ trunk/src/vinagre-tab.c	Wed Feb 18 20:37:49 2009
@@ -579,6 +579,24 @@
 		 0);
 }
 
+typedef struct {
+  GtkWidget *uname, *pw, *button;
+} ControlOKButton;
+
+static void
+control_ok_button (GtkEditable *entry, ControlOKButton *data)
+{
+  gboolean enabled = TRUE;
+
+  if (GTK_WIDGET_VISIBLE (data->uname))
+    enabled = enabled && gtk_entry_get_text_length (GTK_ENTRY (data->uname)) > 0;
+
+  if (GTK_WIDGET_VISIBLE (data->pw))
+    enabled = enabled && gtk_entry_get_text_length (GTK_ENTRY (data->pw)) > 0;
+
+  gtk_widget_set_sensitive (data->button, enabled);
+}
+
 static gboolean
 ask_credential (VinagreTab *tab,
 		gboolean    need_username,
@@ -586,15 +604,13 @@
 		gchar     **username,
 		gchar     **password)
 {
-  GladeXML   *xml;
-  const char *glade_file;
-  GtkWidget  *password_dialog, *password_entry, *host_label, *save_credential_check;
-  GtkWidget  *password_label, *username_label, *username_entry;
-  gchar      *name, *label;
-  int         result;
-
-  *username = NULL;
-  *password = NULL;
+  GladeXML        *xml;
+  const char      *glade_file;
+  GtkWidget       *password_dialog, *host_label, *save_credential_check;
+  GtkWidget       *password_label, *username_label, *image;
+  gchar           *name, *label;
+  int             result;
+  ControlOKButton control;
 
   glade_file = vinagre_utils_get_glade_filename ();
   xml = glade_xml_new (glade_file, NULL, NULL);
@@ -609,29 +625,56 @@
   g_free (name);
   g_free (label);
 
-  password_entry = glade_xml_get_widget (xml, "password_entry");
-  username_entry = glade_xml_get_widget (xml, "username_entry");
+  control.uname  = glade_xml_get_widget (xml, "username_entry");
+  control.pw     = glade_xml_get_widget (xml, "password_entry");
+  control.button = glade_xml_get_widget (xml, "ok_button");
   password_label = glade_xml_get_widget (xml, "password_label");
   username_label = glade_xml_get_widget (xml, "username_label");
   save_credential_check = glade_xml_get_widget (xml, "save_credential_check");
 
-  if (!need_username)
+  image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, GTK_ICON_SIZE_BUTTON);
+  gtk_button_set_image (GTK_BUTTON (control.button), image);
+
+  g_signal_connect (control.uname, "changed", G_CALLBACK (control_ok_button), &control);
+  g_signal_connect (control.pw, "changed", G_CALLBACK (control_ok_button), &control);
+
+  if (need_username)
+    {
+      if (*username)
+        gtk_entry_set_text (GTK_ENTRY (control.uname), *username);
+    }
+  else
     {
       gtk_widget_hide (username_label);
-      gtk_widget_hide (username_entry);
+      gtk_widget_hide (control.uname);
     }
 
-  if (!need_password)
+  if (need_password)
+    {
+      if (*password)
+        gtk_entry_set_text (GTK_ENTRY (control.pw), *password);
+    }
+  else
     {
       gtk_widget_hide (password_label);
-      gtk_widget_hide (password_entry);
+      gtk_widget_hide (control.pw);
     }
 
   result = gtk_dialog_run (GTK_DIALOG (password_dialog));
   if (result == -5)
     {
-      *username = g_strdup (gtk_entry_get_text (GTK_ENTRY (username_entry)));
-      *password = g_strdup (gtk_entry_get_text (GTK_ENTRY (password_entry)));
+      g_free (*username);
+      if (gtk_entry_get_text_length (GTK_ENTRY (control.uname)) > 0)
+	*username = g_strdup (gtk_entry_get_text (GTK_ENTRY (control.uname)));
+      else
+	*username = NULL;
+
+      g_free (*password);
+      if (gtk_entry_get_text_length (GTK_ENTRY (control.pw)) > 0)
+	*password = g_strdup (gtk_entry_get_text (GTK_ENTRY (control.pw)));
+      else
+	*password = NULL;
+
       tab->priv->save_credential = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (save_credential_check));
     }
 
@@ -685,27 +728,51 @@
 
   if (need_password || need_username)
     {
-      if (!vinagre_tab_find_credentials (tab, &username, &password))
+      vinagre_tab_find_credentials (tab, &username, &password);
+      if (!username || !password)
 	{
 	  if (!ask_credential (tab, need_username, need_password, &username, &password))
 	    {
 	      vinagre_notebook_remove_tab (tab->priv->nb, tab);
-	      return;
+	      goto out;
 	    }
 	}
 
-      if (need_username && username)
+      if (need_username)
 	{
-	  vinagre_connection_set_username (tab->priv->conn, username);
-	  vnc_display_set_credential (vnc, VNC_DISPLAY_CREDENTIAL_USERNAME, username);
+	  if (username)
+	    {
+	      vinagre_connection_set_username (tab->priv->conn, username);
+	      vnc_display_set_credential (vnc, VNC_DISPLAY_CREDENTIAL_USERNAME, username);
+	    }
+	  else
+	    {
+	      vinagre_notebook_remove_tab (tab->priv->nb, tab);
+	      vinagre_utils_show_error (_("Authentication error"),
+					_("A username is required in order to access this machine."),
+					GTK_WINDOW (tab->priv->window));
+	      goto out;
+	    }
 	}
 
-      if (need_password && password)
+      if (need_password)
 	{
-	  vinagre_connection_set_password (tab->priv->conn, password);
-	  vnc_display_set_credential (vnc, VNC_DISPLAY_CREDENTIAL_PASSWORD, password);
+	  if (password)
+	    {
+	      vinagre_connection_set_password (tab->priv->conn, password);
+	      vnc_display_set_credential (vnc, VNC_DISPLAY_CREDENTIAL_PASSWORD, password);
+	    }
+	  else
+	    {
+	      vinagre_notebook_remove_tab (tab->priv->nb, tab);
+	      vinagre_utils_show_error (_("Authentication error"),
+					_("A password is required in order to access this machine."),
+					GTK_WINDOW (tab->priv->window));
+	      goto out;
+	    }
 	}
 
+out:
       g_free (username);
       g_free (password);
     }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]