@ -67,11 +67,6 @@ struct ivi_shell_surface
struct wl_list link ;
struct wl_list link ;
} ;
} ;
struct ivi_shell_setting
{
int developermode ;
} ;
/*
/*
* Implementation of ivi_surface
* Implementation of ivi_surface
*/
*/
@ -384,16 +379,24 @@ terminate_binding(struct weston_keyboard *keyboard, const struct timespec *time,
}
}
static void
static void
init_ivi_shell ( struct weston_compositor * compositor , struct ivi_shell * shell ,
init_ivi_shell ( struct weston_compositor * compositor , struct ivi_shell * shell )
const struct ivi_shell_setting * setting )
{
{
struct weston_config * config = wet_get_config ( compositor ) ;
struct weston_config_section * section ;
int developermode ;
shell - > compositor = compositor ;
shell - > compositor = compositor ;
wl_list_init ( & shell - > ivi_surface_list ) ;
wl_list_init ( & shell - > ivi_surface_list ) ;
weston_layer_init ( & shell - > input_panel_layer , compositor ) ;
weston_layer_init ( & shell - > input_panel_layer , compositor ) ;
if ( setting - > developermode ) {
section = weston_config_get_section ( config , " ivi-shell " , NULL , NULL ) ;
weston_config_section_get_bool ( section , " developermode " ,
& developermode , 0 ) ;
if ( developermode ) {
weston_install_debug_key_binding ( compositor , MODIFIER_SUPER ) ;
weston_install_debug_key_binding ( compositor , MODIFIER_SUPER ) ;
weston_compositor_add_key_binding ( compositor , KEY_BACKSPACE ,
weston_compositor_add_key_binding ( compositor , KEY_BACKSPACE ,
@ -403,23 +406,6 @@ init_ivi_shell(struct weston_compositor *compositor, struct ivi_shell *shell,
}
}
}
}
static int
ivi_shell_setting_create ( struct ivi_shell_setting * dest ,
struct weston_compositor * compositor ,
int * argc , char * argv [ ] )
{
int result = 0 ;
struct weston_config * config = wet_get_config ( compositor ) ;
struct weston_config_section * section ;
section = weston_config_get_section ( config , " ivi-shell " , NULL , NULL ) ;
weston_config_section_get_bool ( section , " developermode " ,
& dest - > developermode , 0 ) ;
return result ;
}
static void
static void
activate_binding ( struct weston_seat * seat ,
activate_binding ( struct weston_seat * seat ,
struct weston_view * focus_view )
struct weston_view * focus_view )
@ -483,17 +469,13 @@ wet_shell_init(struct weston_compositor *compositor,
int * argc , char * argv [ ] )
int * argc , char * argv [ ] )
{
{
struct ivi_shell * shell ;
struct ivi_shell * shell ;
struct ivi_shell_setting setting = { } ;
int retval = - 1 ;
int retval = - 1 ;
shell = zalloc ( sizeof * shell ) ;
shell = zalloc ( sizeof * shell ) ;
if ( shell = = NULL )
if ( shell = = NULL )
return - 1 ;
return - 1 ;
if ( ivi_shell_setting_create ( & setting , compositor , argc , argv ) ! = 0 )
init_ivi_shell ( compositor , shell ) ;
return - 1 ;
init_ivi_shell ( compositor , shell , & setting ) ;
shell - > destroy_listener . notify = shell_destroy ;
shell - > destroy_listener . notify = shell_destroy ;
wl_signal_add ( & compositor - > destroy_signal , & shell - > destroy_listener ) ;
wl_signal_add ( & compositor - > destroy_signal , & shell - > destroy_listener ) ;