[gevice] add support for dual terminal in one tab.



commit 86d885274c0567dd4ebef8e3d0b27b13de7415f8
Author: Alejandro Valdes Jimenez <avaldes utalca cl>
Date:   Sun Jul 5 02:03:04 2009 -0400

    add support for dual terminal in one tab.

 ChangeLog               |    7 ++
 data/glade/gevice.glade |  270 ++++++++++++++++++++++++++---------------------
 src/config.py.in        |    4 +-
 src/gevice.py           |  108 +++++++++++++------
 src/gevicevte.py        |   45 ++------
 5 files changed, 243 insertions(+), 191 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index d99396a..a1367fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-07-05  Alejandro Valdes Jimenez  <avaldes gnome org>
+
+	* data/glade/gevice.glade: add scroll to notebook.
+	* src/config.py.in:
+	* src/gevice.py: add support for dual terminal in one tab.
+	* src/gevicevte.py: clear code.
+
 2009-07-03  Alejandro Valdes jimenez  <avaldes gnome org>
 
 	* src/gevice.py: change parameter in fork_command() of VTE terminal
diff --git a/data/glade/gevice.glade b/data/glade/gevice.glade
index ef131b8..7580aeb 100644
--- a/data/glade/gevice.glade
+++ b/data/glade/gevice.glade
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Mon May 25 07:14:21 2009 -->
+<?xml version="1.0"?>
 <glade-interface>
+  <!-- interface-requires gtk+ 2.16 -->
+  <!-- interface-naming-policy toplevel-contextual -->
   <widget class="GtkWindow" id="window_main">
     <property name="width_request">700</property>
     <property name="height_request">500</property>
     <property name="title" translatable="yes">Gevice</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">center</property>
     <child>
       <widget class="GtkVBox" id="vbox_main">
         <property name="visible">True</property>
@@ -29,17 +29,27 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkNotebook" id="notebook">
+              <widget class="GtkScrolledWindow" id="scrolledwindow1">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="enable_popup">True</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <child>
+                  <widget class="GtkNotebook" id="notebook">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                  </widget>
+                </child>
               </widget>
               <packing>
-                <property name="resize">False</property>
+                <property name="resize">True</property>
                 <property name="shrink">True</property>
               </packing>
             </child>
           </widget>
+          <packing>
+            <property name="position">0</property>
+          </packing>
         </child>
       </widget>
     </child>
@@ -48,9 +58,9 @@
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Device</property>
     <property name="resizable">False</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">center</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>
       <widget class="GtkVBox" id="vbox4">
         <property name="visible">True</property>
@@ -223,12 +233,14 @@
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
+            <property name="position">0</property>
           </packing>
         </child>
         <child>
@@ -237,31 +249,32 @@
             <property name="spacing">5</property>
             <child>
               <widget class="GtkButton" id="button_cancel_device">
+                <property name="label" context="yes">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-cancel</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_accept_device">
+                <property name="label" context="yes">gtk-ok</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-ok</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
@@ -278,9 +291,9 @@
     <property name="border_width">5</property>
     <property name="title" translatable="yes" context="yes">Preferences</property>
     <property name="resizable">False</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">center</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>
       <widget class="GtkVBox" id="vbox3">
         <property name="visible">True</property>
@@ -297,11 +310,11 @@
                 <property name="n_columns">2</property>
                 <child>
                   <widget class="GtkCheckButton" id="checkbutton_model">
+                    <property name="label" translatable="yes" context="yes">Model</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="label" translatable="yes" context="yes">Model</property>
+                    <property name="receives_default">False</property>
                     <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </widget>
@@ -312,22 +325,22 @@
                 </child>
                 <child>
                   <widget class="GtkCheckButton" id="checkbutton_ip">
+                    <property name="label" translatable="yes" context="yes">IP</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="label" translatable="yes" context="yes">IP</property>
+                    <property name="receives_default">False</property>
                     <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </widget>
                 </child>
                 <child>
                   <widget class="GtkCheckButton" id="checkbutton_serial">
+                    <property name="label" translatable="yes" context="yes">Serial</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="label" translatable="yes" context="yes">Serial</property>
+                    <property name="receives_default">False</property>
                     <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </widget>
@@ -338,11 +351,11 @@
                 </child>
                 <child>
                   <widget class="GtkCheckButton" id="checkbutton_comments">
+                    <property name="label" translatable="yes" context="yes">Comment</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="label" translatable="yes" context="yes">Comment</property>
+                    <property name="receives_default">False</property>
                     <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </widget>
@@ -364,8 +377,8 @@
                 <property name="label" translatable="yes" context="yes">View</property>
               </widget>
               <packing>
-                <property name="type">tab</property>
                 <property name="tab_fill">False</property>
+                <property name="type">tab</property>
               </packing>
             </child>
             <child>
@@ -375,8 +388,8 @@
                   <widget class="GtkScrolledWindow" id="scrolledwindow1">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="hscrollbar_policy">automatic</property>
+                    <property name="vscrollbar_policy">automatic</property>
                     <child>
                       <widget class="GtkTreeView" id="treeview_users">
                         <property name="visible">True</property>
@@ -385,33 +398,35 @@
                       </widget>
                     </child>
                   </widget>
+                  <packing>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
                 <child>
                   <widget class="GtkVBox" id="vbox1">
                     <property name="visible">True</property>
                     <child>
                       <widget class="GtkButton" id="button_add_user">
+                        <property name="label" translatable="yes" context="yes">gtk-add</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="label" translatable="yes" context="yes">gtk-add</property>
                         <property name="use_stock">True</property>
                         <property name="xalign">0.50999999046325684</property>
-                        <property name="response_id">0</property>
                       </widget>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <widget class="GtkButton" id="button_rem_user">
+                        <property name="label" translatable="yes" context="yes">gtk-remove</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="label" translatable="yes" context="yes">gtk-remove</property>
                         <property name="use_stock">True</property>
-                        <property name="response_id">0</property>
                       </widget>
                       <packing>
                         <property name="expand">False</property>
@@ -437,9 +452,9 @@
                 <property name="label" translatable="yes" context="yes">Lists of users</property>
               </widget>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">1</property>
                 <property name="tab_fill">False</property>
+                <property name="type">tab</property>
               </packing>
             </child>
             <child>
@@ -510,11 +525,11 @@
                 </child>
                 <child>
                   <widget class="GtkButton" id="button_backcolor">
+                    <property name="label" context="yes">gtk-select-color</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="label" context="yes">gtk-select-color</property>
+                    <property name="receives_default">False</property>
                     <property name="use_stock">True</property>
-                    <property name="response_id">0</property>
                   </widget>
                   <packing>
                     <property name="left_attach">2</property>
@@ -525,11 +540,11 @@
                 </child>
                 <child>
                   <widget class="GtkButton" id="button_forecolor">
+                    <property name="label" context="yes">gtk-select-color</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="label" context="yes">gtk-select-color</property>
+                    <property name="receives_default">False</property>
                     <property name="use_stock">True</property>
-                    <property name="response_id">0</property>
                   </widget>
                   <packing>
                     <property name="left_attach">2</property>
@@ -552,9 +567,9 @@
                 <property name="label" translatable="yes" context="yes">Colors</property>
               </widget>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">3</property>
                 <property name="tab_fill">False</property>
+                <property name="type">tab</property>
               </packing>
             </child>
             <child>
@@ -564,15 +579,12 @@
                 <property name="n_rows">2</property>
                 <property name="n_columns">2</property>
                 <child>
-                  <placeholder/>
-                </child>
-                <child>
                   <widget class="GtkCheckButton" id="checkbutton_link_diag">
+                    <property name="label" translatable="yes" context="yes">Link</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="label" translatable="yes" context="yes">Link</property>
+                    <property name="receives_default">False</property>
                     <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </widget>
@@ -583,11 +595,11 @@
                 </child>
                 <child>
                   <widget class="GtkCheckButton" id="checkbutton_model_diag">
+                    <property name="label" translatable="yes" context="yes">Model</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="label" translatable="yes" context="yes">Model</property>
+                    <property name="receives_default">False</property>
                     <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </widget>
@@ -598,15 +610,18 @@
                 </child>
                 <child>
                   <widget class="GtkCheckButton" id="checkbutton_ip_diag">
+                    <property name="label" translatable="yes" context="yes">IP</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="label" translatable="yes" context="yes">IP</property>
+                    <property name="receives_default">False</property>
                     <property name="use_underline">True</property>
-                    <property name="response_id">0</property>
                     <property name="active">True</property>
                     <property name="draw_indicator">True</property>
                   </widget>
                 </child>
+                <child>
+                  <placeholder/>
+                </child>
               </widget>
               <packing>
                 <property name="position">4</property>
@@ -618,9 +633,9 @@
                 <property name="label" translatable="yes" context="yes">Diagram</property>
               </widget>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">4</property>
                 <property name="tab_fill">False</property>
+                <property name="type">tab</property>
               </packing>
             </child>
             <child>
@@ -704,9 +719,9 @@
                 <property name="label" translatable="yes" context="yes">Database</property>
               </widget>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">5</property>
                 <property name="tab_fill">False</property>
+                <property name="type">tab</property>
               </packing>
             </child>
             <child>
@@ -743,15 +758,16 @@
                 <property name="label" translatable="yes" context="yes">CSV</property>
               </widget>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">6</property>
                 <property name="tab_fill">False</property>
+                <property name="type">tab</property>
               </packing>
             </child>
           </widget>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
+            <property name="position">0</property>
           </packing>
         </child>
         <child>
@@ -759,16 +775,17 @@
             <property name="visible">True</property>
             <child>
               <widget class="GtkButton" id="button_close_prefer">
+                <property name="label" context="yes">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-close</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
@@ -786,7 +803,7 @@
     <property name="border_width">5</property>
     <property name="title" translatable="yes" context="yes">Generate diagram</property>
     <property name="resizable">False</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">center</property>
     <child>
       <widget class="GtkVBox" id="vbox8">
         <property name="visible">True</property>
@@ -803,6 +820,7 @@
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -848,6 +866,7 @@ svg</property>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
+            <property name="position">0</property>
           </packing>
         </child>
         <child>
@@ -856,31 +875,32 @@ svg</property>
             <property name="spacing">5</property>
             <child>
               <widget class="GtkButton" id="button_diagram_cancel">
+                <property name="label" context="yes">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-cancel</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_diagram_generate">
+                <property name="label" context="yes">gtk-convert</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-convert</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
@@ -897,7 +917,7 @@ svg</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes" context="yes">Find</property>
     <property name="resizable">False</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">center</property>
     <child>
       <widget class="GtkVBox" id="vbox5">
         <property name="visible">True</property>
@@ -908,22 +928,25 @@ svg</property>
             <property name="spacing">5</property>
             <child>
               <widget class="GtkRadioButton" id="radiobutton_namedevice">
+                <property name="label" translatable="yes" context="yes">Device name</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" translatable="yes" context="yes">Device name</property>
+                <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
-                <property name="response_id">0</property>
                 <property name="active">True</property>
                 <property name="draw_indicator">True</property>
               </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
               <widget class="GtkRadioButton" id="radiobutton_ip">
+                <property name="label" translatable="yes" context="yes">IP</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" translatable="yes" context="yes">IP</property>
+                <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
-                <property name="response_id">0</property>
                 <property name="active">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">radiobutton_namedevice</property>
@@ -934,11 +957,11 @@ svg</property>
             </child>
             <child>
               <widget class="GtkRadioButton" id="radiobutton_serial">
+                <property name="label" translatable="yes" context="yes">Serial</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" translatable="yes" context="yes">Serial</property>
+                <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
-                <property name="response_id">0</property>
                 <property name="active">True</property>
                 <property name="draw_indicator">True</property>
                 <property name="group">radiobutton_namedevice</property>
@@ -951,6 +974,7 @@ svg</property>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
+            <property name="position">0</property>
           </packing>
         </child>
         <child>
@@ -965,6 +989,7 @@ svg</property>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -992,31 +1017,32 @@ svg</property>
             <property name="spacing">5</property>
             <child>
               <widget class="GtkButton" id="button_find_cancel">
+                <property name="label" context="yes">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-cancel</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_find_find">
+                <property name="label" context="yes">gtk-find</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-find</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
@@ -1032,7 +1058,7 @@ svg</property>
   <widget class="GtkWindow" id="window_database">
     <property name="title" translatable="yes" context="yes">Connect to database</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">center</property>
     <child>
       <widget class="GtkVBox" id="vbox6">
         <property name="visible">True</property>
@@ -1133,6 +1159,9 @@ svg</property>
               </widget>
             </child>
           </widget>
+          <packing>
+            <property name="position">0</property>
+          </packing>
         </child>
         <child>
           <widget class="GtkHBox" id="hbox11">
@@ -1141,31 +1170,32 @@ svg</property>
             <property name="spacing">5</property>
             <child>
               <widget class="GtkButton" id="button_connect_cancel">
+                <property name="label" context="yes">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-cancel</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_connect_dbase">
+                <property name="label" context="yes">gtk-connect</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-connect</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
@@ -1178,7 +1208,7 @@ svg</property>
     </child>
   </widget>
   <widget class="GtkWindow" id="window_maintainer">
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">center</property>
     <property name="default_width">350</property>
     <property name="default_height">300</property>
     <child>
@@ -1188,8 +1218,8 @@ svg</property>
           <widget class="GtkScrolledWindow" id="scrolledwindow2">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+            <property name="hscrollbar_policy">automatic</property>
+            <property name="vscrollbar_policy">automatic</property>
             <child>
               <widget class="GtkTreeView" id="treeview">
                 <property name="visible">True</property>
@@ -1199,6 +1229,9 @@ svg</property>
               </widget>
             </child>
           </widget>
+          <packing>
+            <property name="position">0</property>
+          </packing>
         </child>
         <child>
           <widget class="GtkHBox" id="hbox10">
@@ -1209,49 +1242,46 @@ svg</property>
             </child>
             <child>
               <widget class="GtkButton" id="button_close">
+                <property name="label" translatable="yes" context="yes">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes" context="yes">gtk-close</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">3</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_add">
+                <property name="label" translatable="yes" context="yes">gtk-add</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes" context="yes">gtk-add</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">2</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_rem">
+                <property name="label" translatable="yes" context="yes">gtk-remove</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes" context="yes">gtk-remove</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -1266,7 +1296,7 @@ svg</property>
     </child>
   </widget>
   <widget class="GtkWindow" id="window_maintainer1">
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">center</property>
     <property name="default_width">350</property>
     <property name="default_height">300</property>
     <child>
@@ -1276,8 +1306,8 @@ svg</property>
           <widget class="GtkScrolledWindow" id="scrolledwindow3">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+            <property name="hscrollbar_policy">automatic</property>
+            <property name="vscrollbar_policy">automatic</property>
             <child>
               <widget class="GtkTreeView" id="treeview1">
                 <property name="visible">True</property>
@@ -1287,6 +1317,9 @@ svg</property>
               </widget>
             </child>
           </widget>
+          <packing>
+            <property name="position">0</property>
+          </packing>
         </child>
         <child>
           <widget class="GtkHBox" id="hbox12">
@@ -1297,49 +1330,46 @@ svg</property>
             </child>
             <child>
               <widget class="GtkButton" id="button_close1">
+                <property name="label" translatable="yes" context="yes">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes" context="yes">gtk-close</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">3</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_add1">
+                <property name="label" translatable="yes" context="yes">gtk-add</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes" context="yes">gtk-add</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">2</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_rem1">
+                <property name="label" translatable="yes" context="yes">gtk-remove</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes" context="yes">gtk-remove</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">1</property>
               </packing>
             </child>
@@ -1356,7 +1386,7 @@ svg</property>
   <widget class="GtkWindow" id="window_model">
     <property name="title" translatable="yes" context="yes">New Model</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">center</property>
     <child>
       <widget class="GtkVBox" id="vbox10">
         <property name="visible">True</property>
@@ -1436,6 +1466,7 @@ svg</property>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
+            <property name="position">0</property>
           </packing>
         </child>
         <child>
@@ -1443,33 +1474,32 @@ svg</property>
             <property name="visible">True</property>
             <child>
               <widget class="GtkButton" id="button_cancel">
+                <property name="label" translatable="yes" context="yes">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes" context="yes">gtk-cancel</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_ok">
+                <property name="label" translatable="yes" context="yes">gtk-ok</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes" context="yes">gtk-ok</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
@@ -1485,7 +1515,7 @@ svg</property>
   <widget class="GtkWindow" id="window_database_save">
     <property name="title" translatable="yes" context="yes">Save model to database</property>
     <property name="modal">True</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="window_position">center</property>
     <child>
       <widget class="GtkVBox" id="vbox11">
         <property name="visible">True</property>
@@ -1586,6 +1616,9 @@ svg</property>
               </widget>
             </child>
           </widget>
+          <packing>
+            <property name="position">0</property>
+          </packing>
         </child>
         <child>
           <widget class="GtkHBox" id="hbox6">
@@ -1594,31 +1627,32 @@ svg</property>
             <property name="spacing">5</property>
             <child>
               <widget class="GtkButton" id="button_connect_cancel1">
+                <property name="label" context="yes">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-cancel</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="button_connect_dbase1">
+                <property name="label" context="yes">gtk-save</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="label" context="yes">gtk-save</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="pack_type">GTK_PACK_END</property>
+                <property name="pack_type">end</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </widget>
diff --git a/src/config.py.in b/src/config.py.in
index 05b725b..2a6b5a8 100644
--- a/src/config.py.in
+++ b/src/config.py.in
@@ -67,8 +67,8 @@ COLUMN_ID_TYPE_LINK_DEV2 = 1
 DEFAULT_TMP = "/tmp/"
 
 # width and high of main window
-DEFAULT_WIDTH = 750
-DEFAULT_HIGH = 550
+DEFAULT_WIDTH = 800
+DEFAULT_HIGH = 600
 
 # printer
 XINI = 25
diff --git a/src/gevice.py b/src/gevice.py
index 47ad97b..f6c3360 100755
--- a/src/gevice.py
+++ b/src/gevice.py
@@ -107,6 +107,8 @@ UI = '''<ui>
       <toolitem action="telnet" />
       <toolitem action="local" />
       <toolitem action="Connect" />
+      <separator/>
+      <toolitem action="Dual" />
 	  <separator/>
 	  <toolitem action="Quit" />
     </placeholder>
@@ -127,7 +129,8 @@ class Gevice:
         # create main window
         self.window_main = gtk.Window()
         self.window_main.set_position(1)
-        self.window_main.set_default_size(800,400)
+        #self.window_main.set_default_size(800,600)
+        self.window_main.maximize()
         self.window_main.set_title (config.PACKAGE)
         self.window_main.set_icon (gtk.gdk.pixbuf_new_from_file(os.path.join (config.ARTDIR,"gevice.png")))
         self.window_main.connect ("delete_event",self.on_delete_event)
@@ -148,6 +151,9 @@ class Gevice:
         self.accelgroup = self.uimanager.get_accel_group()
         self.window_main.add_accel_group (self.accelgroup)
 
+        self.actiongroup_window.add_toggle_actions([('Dual', None, '_Dual', None,
+                                            _('Dual terminal'), None)])
+
         # creat actions
         self.actiongroup_window.add_actions([
             ('FileMenu', None, _('_File')),
@@ -209,11 +215,11 @@ class Gevice:
 
         # create a MenuBar
         self.menubar = self.uimanager.get_widget ('/MainMenu')
-        self.vbox.pack_start (self.menubar, False)
+        self.vbox.pack_start (self.menubar,False,False,0)
 
         # create horizontal container for toolbar and combobox
         self.hbox = gtk.HBox(False,0)
-        self.vbox.pack_start (self.hbox,False,False)
+        self.vbox.pack_start (self.hbox,False,False,0)
 
         # create a Toolbar
         self.maintoolbar = self.uimanager.get_widget ('/MainToolbar')
@@ -226,9 +232,7 @@ class Gevice:
         self.maintoolbar.insert(self.toolitem_user,12)
 
         self.vboxcombo = gtk.VBox(False,0)
-
         self.combobox_user = gtk.combo_box_entry_new_with_model(self.modelusers,0)
-
         self.vboxcombo.pack_end (self.combobox_user,True,False)
         self.toolitem_user.add(self.vboxcombo)
 
@@ -257,6 +261,7 @@ class Gevice:
         self.notebook.set_show_border (False)
         self.notebook.set_show_tabs (True)
         self.notebook.set_group_id(1)
+        
         self.hpaned.add2 (self.notebook)
         self.hpaned.set_position (-1)
 
@@ -301,10 +306,10 @@ class Gevice:
         dialog.destroy()
         return result
 
-    def close_page_of_notebook(self,widget,hbox_term):
+    def close_page_of_notebook(self,widget,vpaned):
         "close page of notebook"
 
-        page = self.notebook.page_num(hbox_term)
+        page = self.notebook.page_num(vpaned)
         self.notebook.remove_page(page)
 
     def remove_all_page_of_notebook (self):
@@ -314,41 +319,74 @@ class Gevice:
             self.notebook.remove_page(i)
             i = i - 1
 
-    def connect_to_device (self,local=None):
-        i = self.gmodel.get_iter_selected (self.gmodel.treeview)
+    def connect_to_device (self,local=None):        
+        if (self.actiongroup_window.get_action("Dual").get_active()):
+            isdual = True
+        else:
+            isdual = False
+        
+        vpaned = gtk.VPaned()
+        
+        label = gtk.Label()
+        button_close = self.create_button_with_image ('gtk-close',True)                
+        hbox_label = gtk.HBox(False,0)                
+        hbox_label.pack_start(label,False,False,1)
+        hbox_label.pack_start(button_close,True,False,0)
+        
+        hbox_term = gtk.HBox(False,0)
+        vpaned.add1 (hbox_term)
+        
+        gvte = gevicevte.GeviceVte()
+        terminal = gvte.new_terminal (self)
+        scroll = gtk.VScrollbar(terminal.get_adjustment())
+        hbox_term.pack_start(terminal,True,True,0)
+        hbox_term.pack_start(scroll,True,True,0)
 
-        if local:
-            gvte = gevicevte.GeviceVte()
-            gvte.load_interface (_("Local"),self)
-            
-            gvte.terminal.fork_command ()
-            
-            gvte.show_interface ()
+        button_close.connect('clicked',self.close_page_of_notebook,vpaned)
         
-            page = self.notebook.append_page(gvte.hbox_term,gvte.hbox_label)
-            self.notebook.set_tab_reorderable(gvte.hbox_term,True)
-            self.notebook.set_tab_detachable(gvte.hbox_term,True)
-            self.notebook.set_current_page(page)
-            gvte.terminal.grab_focus()
-            
+        if local:
+            label.set_text(_("Local"))            
+            terminal.fork_command ()            
+
+            if isdual:               
+                hbox_term2 = gtk.HBox(False,0) 
+                terminal2 = gvte.new_terminal (self)
+                scroll2 = gtk.VScrollbar(terminal2.get_adjustment())
+                hbox_term2.pack_start(terminal2,True,True,0)
+                hbox_term2.pack_start(scroll2,True,True,0)
+                
+                vpaned.add2 (hbox_term2)
+                terminal2.fork_command ()            
         else:
-            # if iter selected?
-            if i["iter"]:
+            i = self.gmodel.get_iter_selected (self.gmodel.treeview)
+            if i["iter"]:                
                 # get data from device selected
                 data = self.gmodel.get_data_of_device_from_model(self.gmodel.treeview)
+                label.set_text(data[0])  
                 proto = self.get_protocol_selected()
-
-                gvte = gevicevte.GeviceVte()
-                gvte.load_interface (data[0],self)
-                gvte.open_terminal (data[2],proto,self)
-                gvte.show_interface ()
-	
-                page = self.notebook.append_page(gvte.hbox_term,gvte.hbox_label)
-                self.notebook.set_tab_reorderable(gvte.hbox_term,True)
-                self.notebook.set_tab_detachable(gvte.hbox_term,True)
-                self.notebook.set_current_page(page)
+                user = self.combobox_user.get_active_text()
+                
+                terminal.fork_command (proto,['bash','-l',user,data[2]],[],config.DEFAULT_TMP)
+                
+                if isdual:
+                    hbox_term2 = gtk.HBox(False,0) 
+                    terminal2 = gvte.new_terminal (self)
+                    scroll2 = gtk.VScrollbar(terminal2.get_adjustment())
+                    hbox_term2.pack_start(terminal2,True,True,0)
+                    hbox_term2.pack_start(scroll2,True,True,0)
                 
-                gvte.terminal.grab_focus()
+                    vpaned.add2 (hbox_term2)
+                    terminal2.fork_command (proto,['bash','-l',user,data[2]],[],config.DEFAULT_TMP)
+                            
+        page = self.notebook.append_page(vpaned,hbox_label)
+            
+        self.notebook.set_tab_reorderable(vpaned,True)
+        self.notebook.set_tab_detachable(vpaned,True)
+        self.notebook.set_current_page(page)
+        terminal.grab_focus()
+
+        hbox_label.show_all()
+        vpaned.show_all()
 
     def create_button_with_image (self,id_stock,sensitive):
         "return a button with image, utilized in tool of browser"
diff --git a/src/gevicevte.py b/src/gevicevte.py
index 0c7d477..cd47a93 100644
--- a/src/gevicevte.py
+++ b/src/gevicevte.py
@@ -11,40 +11,13 @@ import config
 
 class GeviceVte:
     def __init__ (self):
-        self.hbox_label = None
-        self.label = None
-        self.hbox_term = None
-        self.terminal = None
-        self.scroll = None
-        self.button_close = None
-    
-    def load_interface (self,name,gevice):
-        self.hbox_label = gtk.HBox(False,0)
-        self.label = gtk.Label(name)
-        self.hbox_label.pack_start(self.label,False,False,1)
-        
-        self.hbox_term = gtk.HBox(False)
-        self.terminal = vte.Terminal()
-        self.terminal.set_mouse_autohide(True)
-        self.scroll = gtk.VScrollbar(self.terminal.get_adjustment())
-        
-        self.hbox_term.pack_start(self.terminal,True,True,0)
-        self.hbox_term.pack_start(self.scroll,False,False,0)
-        
-        self.terminal.set_default_colors()
-        self.terminal.set_color_background(gtk.gdk.color_parse(gevice.gpref.backcolor))
-        self.terminal.set_color_foreground(gtk.gdk.color_parse(gevice.gpref.forecolor))
-        
-        self.button_close = gevice.create_button_with_image ('gtk-close',True)
-        self.hbox_label.pack_start(self.button_close,True,False,0)
-        self.button_close.connect('clicked',gevice.close_page_of_notebook,self.hbox_term)
-    
-    def open_terminal (self,ip,proto,gevice):
-        
-	user = gevice.combobox_user.get_active_text()
+        pass
 
-        self.terminal.fork_command (proto,['bash','-l',user,ip],[],config.DEFAULT_TMP)
-    
-    def show_interface (self):
-        self.hbox_label.show_all()
-        self.hbox_term.show_all()
+    def new_terminal (self,gevice):        
+        terminal = vte.Terminal()
+        terminal.set_mouse_autohide(True)       
+        terminal.set_default_colors()
+        terminal.set_color_background(gtk.gdk.color_parse(gevice.gpref.backcolor))
+        terminal.set_color_foreground(gtk.gdk.color_parse(gevice.gpref.forecolor))
+        
+        return terminal



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