Skip to content
  • Mark McLoughlin's avatar
    Implement a "Lock" flag on applets so you can disable moving them about. · f501118f
    Mark McLoughlin authored
    2003-05-26  Mark McLoughlin  <mark@skynet.ie>
    
    	Implement a "Lock" flag on applets so you can disable moving them
    	about. Fixes bug #74997.
    
    	* GNOME_Panel_Popup.xml: add a "Lock" menu item to the
    	applets context menu.
    
    	* applet.[ch]:
    	(panel_applet_set_dnd_enabled): enable/disable dnd depending
    	on whether or not an applet is locked.
    	(panel_applet_toggle_locked), (panel_applet_lock),
    	(panel_applet_create_menu), (applet_show_menu): implement the
    	"Lock" menu item.
    	(panel_applet_load_idle_handler),
    	(panel_applet_queue_applet_to_load),
    	(panel_applet_save_position): impl saving the flag to GConf.
    	(panel_applet_register): pass the parcel.
    
    	* panel-applet-frame.[ch]:
    	(panel_applet_frame_sync_menu_state),
    	(popup_handle_lock), (popup_handle_move): implement the "Lock"
    	menu item.
    	(panel_applet_frame_load),
    	(panel_applet_frame_load_from_gconf),
    	(panel_applet_frame_reload_response): pass the parcel.
    
    	* panel-default-setup.entries: make all default applets locked.
    
    	* panel-object.schemas.in: add the "locked" schema.
    
    	* panel-profile.c: (panel_profile_load_object): read the locked
    	flag from GConf.
    
    	* panel-util.[ch]:
    	(panel_g_list_insert_before),
    	(panel_g_list_insert_after): impl.
    
    	* panel-widget.[ch]:
    	(panel_widget_cadd): add applets unlocked by default.
    	(panel_widget_jump_applet_right),
    	(panel_widget_switch_applet_right),
    	(panel_widget_jump_applet_left),
    	(panel_widget_switch_applet_left),
    	(panel_widget_try_push_right),
    	(panel_widget_get_right_jump_pos),
    	(panel_widget_get_right_switch_pos),
    	(panel_widget_try_push_left),
    	(panel_widget_get_left_jump_pos),
    	(panel_widget_get_left_switch_pos),
    	(panel_widget_switch_move): modify the "switch mode" algorithm
    	to take into account locked applets that might be allowed. Now
    	its the "try switch, then jump, then push, then jump, then ..."
    	mode.
    	(panel_widget_push_applet_right), (panel_widget_push_applet_left):
    	allow pushing an arbitrary amount.
    	(panel_widget_push_move): don't push locked applets.
    	(panel_widget_applet_drag_start_no_grab),
    	(panel_widget_applet_drag_start): you can't move locked applets
    	dammit.
    	(panel_widget_nice_move): call get_free_spot() and kill the silly
    	comment.
    	(panel_widget_add): add locked flag.
    	(panel_widget_reparent): when re-parenting look for the first free
    	spot and queue a resize.
    	(panel_widget_set_applet_locked),
    	(panel_widget_get_applet_locked),
    	(panel_widget_toggle_applet_locked): implement accessors.
    
    	* drawer.[ch]: (create_drawer_applet), (load_drawer_applet),
    	(drawer_load_from_gconf), (panel_drawer_set_dnd_enabled):
    	Impl enabling/disabling dnd.
    
    	* launcher.[ch]: (create_launcher), (load_launcher_applet),
    	(launcher_load_from_gconf), (launcher_show_help),
    	(panel_launcher_set_dnd_enabled): ditto.
    
    	* panel-action-button.[ch]: (panel_action_button_get_property),
    	(panel_action_button_set_property),
    	(panel_action_button_class_init),
    	(panel_action_button_instance_init), (panel_action_button_load),
    	(panel_action_button_load_compatible),
    	(panel_action_button_load_from_gconf),
    	(panel_action_button_load_from_drag),
    	(panel_action_button_set_dnd_enabled): ditto.
    
    	* panel-menu-button.[ch]: (panel_menu_button_instance_init),
    	(panel_menu_button_get_property), (panel_menu_button_set_property),
    	(panel_menu_button_class_init), (panel_menu_button_load),
    	(panel_menu_button_load_from_gconf),
    	(panel_menu_button_change_orientation),
    	(panel_menu_button_set_dnd_enabled): ditto.
    
    	* panel-menu-bar.[ch]: (panel_menu_bar_load),
    	(panel_menu_bar_load_from_gconf): pass the parcel.
    
    2003-05-26  Mark McLoughlin  <mark@skynet.ie>
    
    	* panel-util.[ch]: remove heaps and heaps of unused code.
    
    	* gnome-desktop-item-edit.c: (main): use g_str_has_suffix and
    	not our own home grown crack.
    
    	* menu-ditem.c: (is_item_writable):
    	* menu-fentry.c: (fr_fill_dir):
    	* menu.c: (add_drawers_from_dir): ditto.
    
    	* menu.h: upd.
    f501118f