← Back to team overview

ayatana-commits team mailing list archive

lp:~cjcurran/indicator-session/brand-the-attached-devices-labels into lp:indicator-session

 

Conor Curran has proposed merging lp:~cjcurran/indicator-session/brand-the-attached-devices-labels into lp:indicator-session.

Requested reviews:
  Ted Gould (ted)

For more details, see:
https://code.launchpad.net/~cjcurran/indicator-session/brand-the-attached-devices-labels/+merge/72606

Brands the webcam and scanner items,
User menu now shown if guest session is possible or there are more than one users available
Alert state set on the apt menuitem when reboot is required.
bluetooth item removed

-- 
https://code.launchpad.net/~cjcurran/indicator-session/brand-the-attached-devices-labels/+merge/72606
Your team ayatana-commits is subscribed to branch lp:indicator-session.
=== modified file 'src/apt-watcher.c'
--- src/apt-watcher.c	2011-08-12 12:23:35 +0000
+++ src/apt-watcher.c	2011-08-23 17:21:23 +0000
@@ -279,6 +279,9 @@
       dbusmenu_menuitem_property_set (self->apt_item,
                                       DBUSMENU_MENUITEM_PROP_LABEL,
                                       _("Reboot Required"));
+      dbusmenu_menuitem_property_set (self->apt_item,
+                                      DBUSMENU_MENUITEM_PROP_DISPOSITION,
+                                      DBUSMENU_MENUITEM_DISPOSITION_ALERT);                                       
       session_dbus_restart_required (self->session_dbus_interface);
     }
     g_debug ("Finished with a reboot value of %i", reboot); 

=== modified file 'src/device-menu-mgr.c'
--- src/device-menu-mgr.c	2011-08-22 12:32:00 +0000
+++ src/device-menu-mgr.c	2011-08-23 17:21:23 +0000
@@ -49,7 +49,6 @@
 static DbusmenuMenuitem  *lock_menuitem = NULL;
 static DbusmenuMenuitem  *system_settings_menuitem = NULL;
 static DbusmenuMenuitem  *display_settings_menuitem = NULL;
-static DbusmenuMenuitem  *bluetooth_settings_menuitem = NULL;
 static DbusmenuMenuitem  *login_settings_menuitem = NULL;
 static DbusmenuMenuitem  *software_updates_menuitem = NULL;
 static DbusmenuMenuitem  *printers_menuitem = NULL;
@@ -535,17 +534,6 @@
   dbusmenu_menuitem_child_add_position(self->root_item,
                                        display_settings_menuitem,
                                        1);
-  bluetooth_settings_menuitem = dbusmenu_menuitem_new();
-  dbusmenu_menuitem_property_set (bluetooth_settings_menuitem,
-                                  DBUSMENU_MENUITEM_PROP_LABEL,
-                                  _("Bluetooth…"));
-  g_signal_connect (G_OBJECT(bluetooth_settings_menuitem),
-                    DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
-                    G_CALLBACK(show_system_settings_with_context), "bluetooth");
-  dbusmenu_menuitem_child_add_position(self->root_item,
-                                       bluetooth_settings_menuitem,
-                                       2);
-
   login_settings_menuitem = dbusmenu_menuitem_new();
   dbusmenu_menuitem_property_set (login_settings_menuitem,
                                   DBUSMENU_MENUITEM_PROP_LABEL,
@@ -556,20 +544,20 @@
                     "login");
   dbusmenu_menuitem_child_add_position(self->root_item,
                                        login_settings_menuitem,                                  
-                                       3);
+                                       2);
   software_updates_menuitem = dbusmenu_menuitem_new();
   dbusmenu_menuitem_property_set (software_updates_menuitem,
                                   DBUSMENU_MENUITEM_PROP_LABEL,
                                   _("Software Up to Date"));
   dbusmenu_menuitem_child_add_position(self->root_item,
                                        software_updates_menuitem,
-                                       4);
+                                       3);
 
   DbusmenuMenuitem * separator1 = dbusmenu_menuitem_new();
   dbusmenu_menuitem_property_set (separator1,
                                   DBUSMENU_MENUITEM_PROP_TYPE,
                                   DBUSMENU_CLIENT_TYPES_SEPARATOR);
-  dbusmenu_menuitem_child_add_position (self->root_item, separator1, 5);
+  dbusmenu_menuitem_child_add_position (self->root_item, separator1, 4);
 }
 
 static void
@@ -584,7 +572,7 @@
                                        FALSE);
   dbusmenu_menuitem_child_add_position (self->root_item,
                                         device_heading,
-                                        6);
+                                        5);
 
   printers_menuitem = dbusmenu_menuitem_new();
   dbusmenu_menuitem_property_set (printers_menuitem,
@@ -596,7 +584,7 @@
                     "printers");
   dbusmenu_menuitem_child_add_position(self->root_item,
                                        printers_menuitem,
-                                       7);
+                                       6);
   scanners_menuitem = dbusmenu_menuitem_new();
   dbusmenu_menuitem_property_set (scanners_menuitem,
                                   DBUSMENU_MENUITEM_PROP_LABEL,
@@ -607,7 +595,7 @@
                     NULL);
   dbusmenu_menuitem_child_add_position (self->root_item,
                                         scanners_menuitem,
-                                        8);
+                                        7);
   dbusmenu_menuitem_property_set_bool (scanners_menuitem,
                                        DBUSMENU_MENUITEM_PROP_VISIBLE,
                                        FALSE);
@@ -622,7 +610,7 @@
                     NULL);
   dbusmenu_menuitem_child_add_position (self->root_item,
                                         webcam_menuitem,
-                                        10);
+                                        8);
   dbusmenu_menuitem_property_set_bool (webcam_menuitem,
                                        DBUSMENU_MENUITEM_PROP_VISIBLE,
                                        FALSE);
@@ -631,7 +619,7 @@
   dbusmenu_menuitem_property_set (separator3,
                                   DBUSMENU_MENUITEM_PROP_TYPE,
                                   DBUSMENU_CLIENT_TYPES_SEPARATOR);
-  dbusmenu_menuitem_child_add_position (self->root_item, separator3, 11);
+  dbusmenu_menuitem_child_add_position (self->root_item, separator3, 9);
 }
 
 static void
@@ -752,7 +740,6 @@
   self->udev_mgr = udev_mgr_new (scanners_menuitem, webcam_menuitem);   
 }
 
-
 static void
 device_menu_mgr_rebuild_items (DeviceMenuMgr* self)
 {
@@ -833,7 +820,6 @@
 		keybinding_settings = g_settings_new (KEYBINDING_SCHEMA);
 		g_signal_connect(lockdown_settings, "changed::" KEY_LOCK_SCREEN, G_CALLBACK(keybinding_changed), self);
 	}
-
 	return;
 }
 

=== modified file 'src/udev-mgr.c'
--- src/udev-mgr.c	2011-08-17 12:48:51 +0000
+++ src/udev-mgr.c	2011-08-23 17:21:23 +0000
@@ -22,8 +22,7 @@
 // TEMP
 #include <stdio.h>
 #include <string.h>
-#include <stdlib.h>
-#include <stdarg.h>
+#include <glib/gi18n.h>
 
 #include "udev-mgr.h"
 #include "sane-rules.h"
@@ -235,13 +234,29 @@
     }
     g_hash_table_remove (self->webcams_present,
                          product);
-    
+    dbusmenu_menuitem_property_set (self->webcam_item,
+                                    DBUSMENU_MENUITEM_PROP_LABEL,
+                                    _("Webcams"));                            
   }
   else {
     if (g_hash_table_lookup (self->webcams_present, product) != NULL){
       g_warning ("Got an ADD event on a webcam device but we already have that device in our webcam cache");
       return;                     
     }
+    
+    const gchar* manufacturer = NULL;        
+    manufacturer = g_udev_device_get_property (device, "ID_VENDOR");
+    
+    if (manufacturer != NULL){
+      gchar* lowered = g_ascii_strdown (manufacturer, -1);
+      lowered[0] = g_ascii_toupper (lowered[0]);
+      gchar* label = g_strdup_printf("%s Webcam", lowered);
+      g_free (lowered);
+      dbusmenu_menuitem_property_set (self->webcam_item,
+                                      DBUSMENU_MENUITEM_PROP_LABEL,
+                                      _(label));
+    }
+    
     g_hash_table_insert (self->webcams_present,
                          g_strdup (product),
                          g_strdup (vendor));                               
@@ -254,23 +269,26 @@
               GUdevDevice* device,
               UdevMgrDeviceAction action)
 {
-  /*const gchar* vendor;
+  const gchar* vendor;
   const gchar* product;
   const gchar* number;
   const gchar* name;
+  const gchar* manufacturer;
   
 	vendor = g_udev_device_get_property (device, "ID_VENDOR_ID");
+	manufacturer = g_udev_device_get_property (device, "ID_VENDOR");
 	product = g_udev_device_get_property (device, "ID_MODEL_ID");
   number = g_udev_device_get_number (device);
   name = g_udev_device_get_name (device);
   
-  g_debug ("device vendor id %s , product id of %s , number of %s and name of %s",
+  g_debug ("%s device vendor id %s , product id of %s , number of %s and name of %s",
+           g_strdup(manufacturer),
            g_strdup(vendor),
            g_strdup(product),
            g_strdup(number),
            g_strdup(name));
          
-  const gchar *const *list;
+  /*const gchar *const *list;
   const gchar *const *iter;  
   char propstr[500];
   guint32 namelen = 0, i;  
@@ -290,7 +308,7 @@
            strcat(propstr, " ");
     strcat(propstr, g_udev_device_get_property(device, *iter));
     g_debug("%s", propstr);
-  }*/  
+  }*/ 
 }
 
 static void udev_mgr_handle_scsi_device (UdevMgr* self,
@@ -344,6 +362,10 @@
       }
       else{
         g_hash_table_remove (self->scanners_present, vendor);
+        dbusmenu_menuitem_property_set (self->scanner_item,
+                                        DBUSMENU_MENUITEM_PROP_LABEL,
+                                        _("Scanners"));
+        
       }
     }
     else{      
@@ -351,6 +373,18 @@
         g_warning ("Got an ADD event on a scanner device but we already have that device in our scanners cache");
       }
       else{
+        const gchar* manufacturer = NULL;        
+        manufacturer = g_udev_device_get_property (device, "ID_VENDOR");
+        
+        if (manufacturer != NULL){
+          gchar* lowered = g_ascii_strdown (manufacturer, -1);
+          lowered[0] = g_ascii_toupper (lowered[0]);
+          gchar* label = g_strdup_printf("%s Scanner", lowered);
+          g_free (lowered);
+          dbusmenu_menuitem_property_set (self->scanner_item,
+                                          DBUSMENU_MENUITEM_PROP_LABEL,
+                                          _(label));
+        }
         g_hash_table_insert (self->scanners_present,
                              g_strdup(vendor),
                              g_strdup(model_id)); 
@@ -397,6 +431,9 @@
       }
       else{
         g_hash_table_remove (self->scanners_present, vendor);
+        dbusmenu_menuitem_property_set (self->scanner_item, 
+                                        DBUSMENU_MENUITEM_PROP_LABEL,
+                                        _("Scanners"));        
       }
     }
     else{      
@@ -404,6 +441,20 @@
         g_warning ("Got an ADD event on a scanner device but we already have that device in our scanners cache");
       }
       else{
+        const gchar* manufacturer = NULL;
+        
+        manufacturer = g_udev_device_get_property (device, "ID_VENDOR");
+        if (manufacturer != NULL){
+        
+          gchar* lowered = g_ascii_strdown (manufacturer, -1);
+          lowered[0] = g_ascii_toupper (lowered[0]);
+          gchar* label = g_strdup_printf("%s Scanner", lowered);
+          g_free (lowered);
+          dbusmenu_menuitem_property_set (self->scanner_item, 
+                                          DBUSMENU_MENUITEM_PROP_LABEL,
+                                          _(label));
+        }
+                                        
         g_hash_table_insert (self->scanners_present,
                              g_strdup(vendor),
                              g_strdup(model_id)); 

=== modified file 'src/user-menu-mgr.c'
--- src/user-menu-mgr.c	2011-08-23 11:51:51 +0000
+++ src/user-menu-mgr.c	2011-08-23 17:21:23 +0000
@@ -49,6 +49,10 @@
 static void activate_online_accounts (DbusmenuMenuitem *mi,
                                       guint timestamp,
                                       gpointer user_data);
+static void activate_user_accounts (DbusmenuMenuitem *mi,
+                                    guint timestamp,
+                                    gpointer user_data);
+                                      
 static void user_menu_mgr_rebuild_items (UserMenuMgr *self,
                                          gboolean greeter_mode);
 static gboolean check_new_session ();
@@ -169,7 +173,7 @@
     gboolean user_menu_is_visible = FALSE;
     
     if (!greeter_mode){
-      user_menu_is_visible = self->user_count > 1;
+      user_menu_is_visible = self->user_count > 1 || check_guest_session();
     }
     
     session_dbus_set_user_menu_visibility (self->session_dbus_interface,
@@ -232,13 +236,25 @@
         }
         
         gboolean logged_in = g_strcmp0 (user->user_name, g_get_user_name()) == 0;       
+        
+        g_debug ("user name = %s and g user name = %s",
+                 user->user_name,
+                 g_get_user_name());
+                 
         dbusmenu_menuitem_property_set_bool (mi,
                                              USER_ITEM_PROP_IS_CURRENT_USER,
                                              logged_in);          
         if (logged_in == TRUE){
-          g_debug ("about to set the users real name to %s for user %s",
-                    user->real_name, user->user_name);
-          session_dbus_set_users_real_name (self->session_dbus_interface, user->real_name);
+          if (check_guest_session()){
+            g_debug ("about to set the users real name to %s for user %s",
+                      user->real_name, user->user_name);
+            session_dbus_set_users_real_name (self->session_dbus_interface, user->real_name);
+          }
+          else{
+            g_debug ("about to set the users real name to GUEST");            
+            session_dbus_set_users_real_name (self->session_dbus_interface,
+                                              _("Guest"));            
+          }            
         }
         
         dbusmenu_menuitem_child_append (self->root_item, mi);
@@ -419,7 +435,7 @@
 check_guest_session (void)
 {
 	if (geteuid() < 500) {
-		/* System users shouldn't have guest account shown.  Mosly
+		/* System users shouldn't have guest account shown.  Mostly
 		   this would be the case of the guest user itself. */
 		return FALSE;
 	}


Follow ups