[gnome-control-center] sharing: avoid conflicts with the sensitivity of the remote control options



commit f68f8e25f983ef5d7a5016cf938dbfada6df606d
Author: Thomas Wood <thomas wood intel com>
Date:   Fri Jun 28 12:22:16 2013 +0100

    sharing: avoid conflicts with the sensitivity of the remote control options
    
    Resolve the conflict between the GSettings bindings and the "Remote
    Control" switch both attempting to set the sensitivity of the remote
    control options by allowing the "Remote Control" switch to set the
    sensitivity on the container of the other switches.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=703189

 panels/sharing/cc-sharing-panel.c |   10 +--
 panels/sharing/sharing.ui         |  244 ++++++++++++++++++++-----------------
 2 files changed, 135 insertions(+), 119 deletions(-)
---
diff --git a/panels/sharing/cc-sharing-panel.c b/panels/sharing/cc-sharing-panel.c
index 07ba70a..2364837 100644
--- a/panels/sharing/cc-sharing-panel.c
+++ b/panels/sharing/cc-sharing-panel.c
@@ -904,17 +904,11 @@ cc_sharing_panel_setup_screen_sharing_dialog (CcSharingPanel *self)
                                          WID ("screen-sharing-status-label"));
 
   cc_sharing_panel_bind_switch_to_widgets (WID ("remote-view-switch"),
-                                           WID ("remote-control-switch"),
-                                           WID ("remote-control-label"),
-                                           WID ("remote-control-grid"),
+                                           WID ("remote-control-box"),
                                            NULL);
 
   cc_sharing_panel_bind_switch_to_widgets (WID ("remote-control-switch"),
-                                           WID ("approve-all-connections-switch"),
-                                           WID ("remote-control-require-password-switch"),
-                                           WID ("remote-control-require-password-label"),
-                                           WID ("approve-all-connections-label"),
-                                           WID ("password-grid"),
+                                           WID ("remote-control-grid"),
                                            NULL);
 
   cc_sharing_panel_bind_switch_to_widgets (WID ("remote-control-require-password-switch"),
diff --git a/panels/sharing/sharing.ui b/panels/sharing/sharing.ui
index a9c0032..9b1d6f5 100644
--- a/panels/sharing/sharing.ui
+++ b/panels/sharing/sharing.ui
@@ -1056,19 +1056,6 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkSwitch" id="remote-control-switch">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="halign">end</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">2</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
                   <object class="GtkLabel" id="label20">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
@@ -1088,100 +1075,81 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="remote-control-label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="halign">start</property>
-                    <property name="label" translatable="yes">Remote Control</property>
-                    <property name="mnemonic_widget">remote-control-switch</property>
-                    <attributes>
-                     <attribute name="weight" value="bold"/>
-                    </attributes>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">2</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkGrid" id="remote-control-grid">
+                  <object class="GtkBox" id="remote-control-box">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="row_spacing">12</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">12</property>
                     <child>
-                      <object class="GtkLabel" id="remote-control-require-password-label">
+                      <object class="GtkBox" id="box1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="halign">start</property>
-                        <property name="label" translatable="yes">Require Password</property>
-                        <property name="mnemonic_widget">remote-control-require-password-switch</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="approve-all-connections-label">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="halign">start</property>
-                        <property name="hexpand">True</property>
-                        <property name="label" translatable="yes">Approve All Connections</property>
-                        <property name="use_markup">True</property>
-                        <property name="mnemonic_widget">approve-all-connections-switch</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSwitch" id="remote-control-require-password-switch">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSwitch" id="approve-all-connections-switch">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="halign">end</property>
+                        <child>
+                          <object class="GtkLabel" id="remote-control-label">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="hexpand">True</property>
+                            <property name="label" translatable="yes">Remote Control</property>
+                            <property name="mnemonic_widget">remote-control-switch</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkSwitch" id="remote-control-switch">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="halign">end</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkGrid" id="password-grid">
+                      <object class="GtkGrid" id="remote-control-grid">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="row_spacing">6</property>
-                        <property name="column_spacing">6</property>
+                        <property name="row_spacing">12</property>
+                        <child>
+                          <object class="GtkLabel" id="remote-control-require-password-label">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="label" translatable="yes">Require Password</property>
+                            <property 
name="mnemonic_widget">remote-control-require-password-switch</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">1</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
                         <child>
-                          <object class="GtkLabel" id="remote-control-password-label">
+                          <object class="GtkLabel" id="approve-all-connections-label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="halign">start</property>
                             <property name="hexpand">True</property>
-                            <property name="label" translatable="yes">Password</property>
-                            <property name="mnemonic_widget">remote-control-password-entry</property>
+                            <property name="label" translatable="yes">Approve All Connections</property>
+                            <property name="use_markup">True</property>
+                            <property name="mnemonic_widget">approve-all-connections-switch</property>
                           </object>
                           <packing>
                             <property name="left_attach">0</property>
@@ -1191,53 +1159,107 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkEntry" id="remote-control-password-entry">
+                          <object class="GtkSwitch" id="remote-control-require-password-switch">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="visibility">False</property>
-                            <property name="invisible_char">●</property>
-                            <property name="shadow_type">none</property>
-                            <property name="invisible_char_set">True</property>
-                            <property name="input_purpose">password</property>
+                            <property name="halign">end</property>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
-                            <property name="top_attach">0</property>
+                            <property name="top_attach">1</property>
                             <property name="width">1</property>
                             <property name="height">1</property>
                           </packing>
                         </child>
                         <child>
-                          <placeholder/>
-                        </child>
-                        <child>
-                          <object class="GtkCheckButton" id="show-password-checkbutton">
-                            <property name="label" translatable="yes">Show Password</property>
+                          <object class="GtkSwitch" id="approve-all-connections-switch">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="xalign">0</property>
-                            <property name="draw_indicator">True</property>
+                            <property name="halign">end</property>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
-                            <property name="top_attach">1</property>
+                            <property name="top_attach">0</property>
                             <property name="width">1</property>
                             <property name="height">1</property>
                           </packing>
                         </child>
+                        <child>
+                          <object class="GtkGrid" id="password-grid">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">6</property>
+                            <property name="column_spacing">6</property>
+                            <child>
+                              <object class="GtkLabel" id="remote-control-password-label">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="hexpand">True</property>
+                                <property name="label" translatable="yes">Password</property>
+                                <property name="mnemonic_widget">remote-control-password-entry</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkEntry" id="remote-control-password-entry">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="visibility">False</property>
+                                <property name="invisible_char">●</property>
+                                <property name="shadow_type">none</property>
+                                <property name="input_purpose">password</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="show-password-checkbutton">
+                                <property name="label" translatable="yes">Show Password</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="xalign">0</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">1</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">2</property>
+                            <property name="width">2</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">2</property>
-                        <property name="width">2</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">3</property>
+                    <property name="top_attach">2</property>
                     <property name="width">2</property>
                     <property name="height">1</property>
                   </packing>


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