Changeset 8539

Show
Ignore:
Timestamp:
08/22/07 13:10:54 (16 months ago)
Author:
asterix
Message:

nicer chat2muc window. see #2095

Location:
trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/data/glade/chat_to_muc_window.glade

    r8535 r8539  
    1 <?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> 
    2 <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> 
    3  
     1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
     2<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd"> 
     3<!--*- mode: xml -*--> 
    44<glade-interface> 
    5  
    6 <widget class="GtkWindow" id="chat_to_muc_window"> 
    7   <property name="border_width">5</property> 
    8   <property name="visible">True</property> 
    9   <property name="title" translatable="yes">Invite Friends !</property> 
    10   <property name="type">GTK_WINDOW_TOPLEVEL</property> 
    11   <property name="window_position">GTK_WIN_POS_NONE</property> 
    12   <property name="modal">False</property> 
    13   <property name="resizable">True</property> 
    14   <property name="destroy_with_parent">False</property> 
    15   <property name="decorated">True</property> 
    16   <property name="skip_taskbar_hint">False</property> 
    17   <property name="skip_pager_hint">False</property> 
    18   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> 
    19   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> 
    20   <property name="focus_on_map">True</property> 
    21   <property name="urgency_hint">False</property> 
    22  
    23   <child> 
    24     <widget class="GtkVBox" id="general_vbox"> 
    25       <property name="visible">True</property> 
    26       <property name="homogeneous">False</property> 
    27       <property name="spacing">0</property> 
    28  
    29       <child> 
    30         <widget class="GtkLabel" id="server_select_label"> 
    31           <property name="visible">True</property> 
    32           <property name="label" translatable="yes">You are going to begin a Multi-User Chat. 
    33 First please select a MUC server.</property> 
    34           <property name="use_underline">False</property> 
    35           <property name="use_markup">False</property> 
    36           <property name="justify">GTK_JUSTIFY_CENTER</property> 
    37           <property name="wrap">True</property> 
    38           <property name="selectable">False</property> 
    39           <property name="xalign">0.5</property> 
    40           <property name="yalign">0.5</property> 
    41           <property name="xpad">0</property> 
    42           <property name="ypad">0</property> 
    43           <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 
    44           <property name="width_chars">-1</property> 
    45           <property name="single_line_mode">False</property> 
    46           <property name="angle">0</property> 
    47         </widget> 
    48         <packing> 
    49           <property name="padding">4</property> 
    50           <property name="expand">False</property> 
    51           <property name="fill">False</property> 
    52         </packing> 
    53       </child> 
    54  
    55       <child> 
    56         <widget class="GtkComboBoxEntry" id="server_list_comboboxentry"> 
    57           <property name="visible">True</property> 
    58           <property name="add_tearoffs">False</property> 
    59           <property name="has_frame">True</property> 
    60           <property name="focus_on_click">True</property> 
    61         </widget> 
    62         <packing> 
    63           <property name="padding">0</property> 
    64           <property name="expand">False</property> 
    65           <property name="fill">True</property> 
    66         </packing> 
    67       </child> 
    68  
    69       <child> 
    70         <widget class="GtkHSeparator" id="server_and_guests_hseparator"> 
    71           <property name="visible">True</property> 
    72         </widget> 
    73         <packing> 
    74           <property name="padding">4</property> 
    75           <property name="expand">False</property> 
    76           <property name="fill">True</property> 
    77         </packing> 
    78       </child> 
    79  
    80       <child> 
    81         <widget class="GtkLabel" id="info_label"> 
    82           <property name="visible">True</property> 
    83           <property name="label" translatable="yes">Select the friends you want to invite.</property> 
    84           <property name="use_underline">False</property> 
    85           <property name="use_markup">False</property> 
    86           <property name="justify">GTK_JUSTIFY_CENTER</property> 
    87           <property name="wrap">True</property> 
    88           <property name="selectable">False</property> 
    89           <property name="xalign">0.5</property> 
    90           <property name="yalign">0.5</property> 
    91           <property name="xpad">0</property> 
    92           <property name="ypad">0</property> 
    93           <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 
    94           <property name="width_chars">-1</property> 
    95           <property name="single_line_mode">False</property> 
    96           <property name="angle">0</property> 
    97         </widget> 
    98         <packing> 
    99           <property name="padding">4</property> 
    100           <property name="expand">False</property> 
    101           <property name="fill">False</property> 
    102         </packing> 
    103       </child> 
    104  
    105       <child> 
    106         <widget class="GtkScrolledWindow" id="guests_scrolledwindow"> 
    107           <property name="visible">True</property> 
    108           <property name="can_focus">True</property> 
    109           <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> 
    110           <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> 
    111           <property name="shadow_type">GTK_SHADOW_IN</property> 
    112           <property name="window_placement">GTK_CORNER_TOP_LEFT</property> 
    113  
    114           <child> 
    115             <widget class="GtkTreeView" id="guests_treeview"> 
    116               <property name="visible">True</property> 
    117               <property name="can_focus">True</property> 
    118               <property name="headers_visible">False</property> 
    119               <property name="rules_hint">False</property> 
    120               <property name="reorderable">False</property> 
    121               <property name="enable_search">True</property> 
    122               <property name="fixed_height_mode">False</property> 
    123               <property name="hover_selection">False</property> 
    124               <property name="hover_expand">False</property> 
    125               <signal name="drag_data_received" handler="on_guests_treeview_drag_data_received" last_modification_time="Mon, 16 Jul 2007 13:49:16 GMT"/> 
    126               <signal name="drag_end" handler="on_guests_treeview_drag_end" last_modification_time="Mon, 16 Jul 2007 14:02:56 GMT"/> 
    127               <signal name="drag_data_get" handler="on_guests_treeview_drag_data_get" last_modification_time="Mon, 16 Jul 2007 14:04:27 GMT"/> 
    128             </widget> 
    129           </child> 
    130         </widget> 
    131         <packing> 
    132           <property name="padding">4</property> 
    133           <property name="expand">True</property> 
    134           <property name="fill">True</property> 
    135         </packing> 
    136       </child> 
    137  
    138       <child> 
    139         <widget class="GtkHBox" id="invite_cancel_hbox"> 
    140           <property name="visible">True</property> 
    141           <property name="homogeneous">False</property> 
    142           <property name="spacing">0</property> 
    143  
    144           <child> 
    145             <widget class="GtkLabel" id="empty_label"> 
    146               <property name="visible">True</property> 
    147               <property name="label" translatable="yes"></property> 
    148               <property name="use_underline">False</property> 
    149               <property name="use_markup">False</property> 
    150               <property name="justify">GTK_JUSTIFY_LEFT</property> 
    151               <property name="wrap">False</property> 
    152               <property name="selectable">False</property> 
    153               <property name="xalign">0.5</property> 
    154               <property name="yalign">0.5</property> 
    155               <property name="xpad">0</property> 
    156               <property name="ypad">0</property> 
    157               <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 
    158               <property name="width_chars">-1</property> 
    159               <property name="single_line_mode">False</property> 
    160               <property name="angle">0</property> 
    161             </widget> 
    162             <packing> 
    163               <property name="padding">0</property> 
    164               <property name="expand">True</property> 
    165               <property name="fill">True</property> 
    166             </packing> 
    167           </child> 
    168  
    169           <child> 
    170             <widget class="GtkButton" id="cancel_button"> 
    171               <property name="visible">True</property> 
    172               <property name="can_focus">True</property> 
    173               <property name="label">gtk-cancel</property> 
    174               <property name="use_stock">True</property> 
    175               <property name="relief">GTK_RELIEF_NORMAL</property> 
    176               <property name="focus_on_click">True</property> 
    177               <signal name="clicked" handler="on_cancel_button_clicked" last_modification_time="Sun, 15 Jul 2007 08:42:47 GMT"/> 
    178             </widget> 
    179             <packing> 
    180               <property name="padding">3</property> 
    181               <property name="expand">False</property> 
    182               <property name="fill">False</property> 
    183             </packing> 
    184           </child> 
    185  
    186           <child> 
    187             <widget class="GtkButton" id="invite_button"> 
    188               <property name="visible">True</property> 
    189               <property name="can_focus">True</property> 
    190               <property name="relief">GTK_RELIEF_NORMAL</property> 
    191               <property name="focus_on_click">True</property> 
    192               <signal name="clicked" handler="on_invite_button_clicked" last_modification_time="Sun, 15 Jul 2007 08:42:41 GMT"/> 
    193  
    194               <child> 
    195                 <widget class="GtkAlignment" id="alignment1"> 
    196                   <property name="visible">True</property> 
    197                   <property name="xalign">0.5</property> 
    198                   <property name="yalign">0.5</property> 
    199                   <property name="xscale">0</property> 
    200                   <property name="yscale">0</property> 
    201                   <property name="top_padding">0</property> 
    202                   <property name="bottom_padding">0</property> 
    203                   <property name="left_padding">0</property> 
    204                   <property name="right_padding">0</property> 
    205  
    206                   <child> 
    207                     <widget class="GtkHBox" id="hbox2"> 
    208                       <property name="visible">True</property> 
    209                       <property name="homogeneous">False</property> 
    210                       <property name="spacing">2</property> 
    211  
    212                       <child> 
    213                         <widget class="GtkImage" id="image1"> 
    214                           <property name="visible">True</property> 
    215                           <property name="stock">gtk-jump-to</property> 
    216                           <property name="icon_size">4</property> 
    217                           <property name="xalign">0.5</property> 
    218                           <property name="yalign">0.5</property> 
    219                           <property name="xpad">0</property> 
    220                           <property name="ypad">0</property> 
    221                         </widget> 
    222                         <packing> 
    223                           <property name="padding">0</property> 
    224                           <property name="expand">False</property> 
    225                           <property name="fill">False</property> 
    226                         </packing> 
    227                       </child> 
    228  
    229                       <child> 
    230                         <widget class="GtkLabel" id="label1"> 
    231                           <property name="visible">True</property> 
    232                           <property name="label" translatable="yes">In_vite</property> 
    233                           <property name="use_underline">True</property> 
    234                           <property name="use_markup">False</property> 
    235                           <property name="justify">GTK_JUSTIFY_LEFT</property> 
    236                           <property name="wrap">False</property> 
    237                           <property name="selectable">False</property> 
    238                           <property name="xalign">0.5</property> 
    239                           <property name="yalign">0.5</property> 
    240                           <property name="xpad">0</property> 
    241                           <property name="ypad">0</property> 
    242                           <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 
    243                           <property name="width_chars">-1</property> 
    244                           <property name="single_line_mode">False</property> 
    245                           <property name="angle">0</property> 
    246                         </widget> 
    247                         <packing> 
    248                           <property name="padding">0</property> 
    249                           <property name="expand">False</property> 
    250                           <property name="fill">False</property> 
    251                         </packing> 
    252                       </child> 
    253                     </widget> 
    254                   </child> 
    255                 </widget> 
    256               </child> 
    257             </widget> 
    258             <packing> 
    259               <property name="padding">3</property> 
    260               <property name="expand">False</property> 
    261               <property name="fill">False</property> 
    262             </packing> 
    263           </child> 
    264         </widget> 
    265         <packing> 
    266           <property name="padding">4</property> 
    267           <property name="expand">False</property> 
    268           <property name="fill">True</property> 
    269         </packing> 
    270       </child> 
    271     </widget> 
    272   </child> 
    273 </widget> 
    274  
     5  <widget class="GtkWindow" id="chat_to_muc_window"> 
     6    <property name="visible">True</property> 
     7    <property name="border_width">5</property> 
     8    <property name="title" translatable="yes">Invite Friends !</property> 
     9    <signal name="key_press_event" handler="on_chat_to_muc_window_key_press_event"/> 
     10    <child> 
     11      <widget class="GtkVBox" id="general_vbox"> 
     12        <property name="visible">True</property> 
     13        <child> 
     14          <widget class="GtkLabel" id="label3"> 
     15            <property name="visible">True</property> 
     16            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 
     17            <property name="label" translatable="yes">You are going to begin a Multi-User Chat. 
     18Select the contacts you want to invite</property> 
     19            <property name="justify">GTK_JUSTIFY_CENTER</property> 
     20          </widget> 
     21          <packing> 
     22            <property name="expand">False</property> 
     23            <property name="fill">False</property> 
     24            <property name="padding">4</property> 
     25          </packing> 
     26        </child> 
     27        <child> 
     28          <widget class="GtkScrolledWindow" id="guests_scrolledwindow"> 
     29            <property name="visible">True</property> 
     30            <property name="can_focus">True</property> 
     31            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> 
     32            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> 
     33            <property name="shadow_type">GTK_SHADOW_IN</property> 
     34            <child> 
     35              <widget class="GtkTreeView" id="guests_treeview"> 
     36                <property name="visible">True</property> 
     37                <property name="can_focus">True</property> 
     38                <property name="headers_visible">False</property> 
     39                <signal name="drag_data_get" handler="on_guests_treeview_drag_data_get"/> 
     40                <signal name="drag_data_received" handler="on_guests_treeview_drag_data_received"/> 
     41                <signal name="drag_end" handler="on_guests_treeview_drag_end"/> 
     42              </widget> 
     43            </child> 
     44          </widget> 
     45          <packing> 
     46            <property name="padding">4</property> 
     47            <property name="position">1</property> 
     48          </packing> 
     49        </child> 
     50        <child> 
     51          <widget class="GtkExpander" id="expander1"> 
     52            <property name="visible">True</property> 
     53            <property name="can_focus">True</property> 
     54            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 
     55            <child> 
     56              <widget class="GtkVBox" id="vbox1"> 
     57                <property name="visible">True</property> 
     58                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 
     59                <child> 
     60                  <widget class="GtkLabel" id="server_select_label"> 
     61                    <property name="visible">True</property> 
     62                    <property name="label" translatable="yes">Please select a MUC server.</property> 
     63                    <property name="justify">GTK_JUSTIFY_CENTER</property> 
     64                    <property name="wrap">True</property> 
     65                  </widget> 
     66                  <packing> 
     67                    <property name="expand">False</property> 
     68                    <property name="fill">False</property> 
     69                    <property name="padding">4</property> 
     70                  </packing> 
     71                </child> 
     72                <child> 
     73                  <widget class="GtkComboBoxEntry" id="server_list_comboboxentry"> 
     74                    <property name="visible">True</property> 
     75                    <child internal-child="entry"> 
     76                      <widget class="GtkEntry" id="comboboxentry-entry1"> 
     77                      </widget> 
     78                    </child> 
     79                  </widget> 
     80                  <packing> 
     81                    <property name="expand">False</property> 
     82                    <property name="position">1</property> 
     83                  </packing> 
     84                </child> 
     85              </widget> 
     86            </child> 
     87            <child> 
     88              <widget class="GtkLabel" id="label2"> 
     89                <property name="visible">True</property> 
     90                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 
     91                <property name="label" translatable="yes">MUC server</property> 
     92              </widget> 
     93              <packing> 
     94                <property name="type">label_item</property> 
     95              </packing> 
     96            </child> 
     97          </widget> 
     98          <packing> 
     99            <property name="expand">False</property> 
     100            <property name="position">2</property> 
     101          </packing> 
     102        </child> 
     103        <child> 
     104          <widget class="GtkHButtonBox" id="hbuttonbox1"> 
     105            <property name="visible">True</property> 
     106            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 
     107            <property name="spacing">6</property> 
     108            <property name="layout_style">GTK_BUTTONBOX_END</property> 
     109            <child> 
     110              <widget class="GtkButton" id="cancel_button"> 
     111                <property name="visible">True</property> 
     112                <property name="can_focus">True</property> 
     113                <property name="label">gtk-cancel</property> 
     114                <property name="use_stock">True</property> 
     115                <property name="response_id">0</property> 
     116                <signal name="clicked" handler="on_cancel_button_clicked"/> 
     117              </widget> 
     118              <packing> 
     119                <property name="expand">False</property> 
     120                <property name="fill">False</property> 
     121                <property name="padding">3</property> 
     122              </packing> 
     123            </child> 
     124            <child> 
     125              <widget class="GtkButton" id="invite_button"> 
     126                <property name="visible">True</property> 
     127                <property name="can_focus">True</property> 
     128                <property name="response_id">0</property> 
     129                <signal name="clicked" handler="on_invite_button_clicked"/> 
     130                <child> 
     131                  <widget class="GtkAlignment" id="alignment1"> 
     132                    <property name="visible">True</property> 
     133                    <property name="xscale">0</property> 
     134                    <property name="yscale">0</property> 
     135                    <child> 
     136                      <widget class="GtkHBox" id="hbox2"> 
     137                        <property name="visible">True</property> 
     138                        <property name="spacing">2</property> 
     139                        <child> 
     140                          <widget class="GtkImage" id="image1"> 
     141                            <property name="visible">True</property> 
     142                            <property name="stock">gtk-jump-to</property> 
     143                          </widget> 
     144                          <packing> 
     145                            <property name="expand">False</property> 
     146                            <property name="fill">False</property> 
     147                          </packing> 
     148                        </child> 
     149                        <child> 
     150                          <widget class="GtkLabel" id="label1"> 
     151                            <property name="visible">True</property> 
     152                            <property name="label" translatable="yes">In_vite</property> 
     153                            <property name="use_underline">True</property> 
     154                          </widget> 
     155                          <packing> 
     156                            <property name="expand">False</property> 
     157                            <property name="fill">False</property> 
     158                            <property name="position">1</property> 
     159                          </packing> 
     160                        </child> 
     161                      </widget> 
     162                    </child> 
     163                  </widget> 
     164                </child> 
     165              </widget> 
     166              <packing> 
     167                <property name="expand">False</property> 
     168                <property name="fill">False</property> 
     169                <property name="padding">3</property> 
     170                <property name="position">1</property> 
     171              </packing> 
     172            </child> 
     173          </widget> 
     174          <packing> 
     175            <property name="expand">False</property> 
     176            <property name="position">3</property> 
     177          </packing> 
     178        </child> 
     179      </widget> 
     180    </child> 
     181  </widget> 
    275182</glade-interface> 
  • trunk/src/dialogs.py

    r8538 r8539  
    32093209                self.xml = gtkgui_helpers.get_glade('chat_to_muc_window.glade') 
    32103210                self.window = self.xml.get_widget('chat_to_muc_window') 
    3211                 self.window.connect('key_press_event', self._on_keypress_event) 
    32123211 
    32133212                for widget_to_add in ('invite_button', 'cancel_button', 
     
    32153214                'server_and_guests_hseparator', 'server_select_label'): 
    32163215                        self.__dict__[widget_to_add] = self.xml.get_widget(widget_to_add) 
    3217                 self.window.connect('key_press_event', self._on_keypress_event) 
    32183216 
    32193217                # set comboboxentry 
     
    32703268                                                self.store.append([name, jid]) 
    32713269 
    3272                 # show all but... 
     3270                # show all 
    32733271                self.window.show_all() 
    32743272 
    3275                 # ...hide this 
    3276                 self.server_selection_visible = True 
    3277                 self.toggle_server_selection_visible() 
    3278  
    32793273                self.xml.signal_autoconnect(self) 
    32803274 
    3281         def toggle_server_selection_visible(self): 
    3282                 if self.server_selection_visible: 
    3283                         self.server_selection_visible = False 
    3284                         self.server_and_guests_hseparator.hide() 
    3285                         self.server_list_comboboxentry.hide() 
    3286                         self.server_select_label.hide() 
    3287                 else: 
    3288                         self.server_selection_visible = True 
    3289                         self.server_and_guests_hseparator.show() 
    3290                         self.server_list_comboboxentry.show() 
    3291                         self.server_select_label.show() 
    3292  
    3293         def _on_keypress_event(self, widget, event): 
    3294                 if (event.state & gtk.gdk.MOD1_MASK) and (event.keyval == gtk.keysyms.c \ 
    3295                 or event.keyval == gtk.keysyms.C): 
    3296                                 self.toggle_server_selection_visible() 
    3297                                 return True 
     3275        def on_chat_to_muc_window_key_press_event(self, widget, event): 
     3276                if event.keyval == gtk.keysyms.Escape: # ESCAPE 
     3277                        self.window.destroy() 
    32983278 
    32993279        def on_invite_button_clicked(self, widget):