1. 17 Sep, 2018 1 commit
  2. 15 Sep, 2018 1 commit
  3. 11 Jan, 2018 1 commit
  4. 18 Dec, 2016 1 commit
  5. 27 Oct, 2014 1 commit
  6. 01 Apr, 2011 1 commit
  7. 28 Mar, 2011 7 commits
  8. 22 Feb, 2011 1 commit
    • Vincent Untz's avatar
      panel: Make edit actions of panel objects a second different popup menu · 4b30e4e8
      Vincent Untz authored
      In the same way we only allow moving the panel when a mouse button
      modifier is used (like in metacity), we only display "edit" actions of
      panel objects when the modifier is pressed too.
      
      This means a menu with "Remove"/"Move"/"Lock" options is displayed only
      when Alt (default setting) is pressed. When this is not the case, the
      action menu from the object is displayed instead.
      4b30e4e8
  9. 27 Jan, 2010 1 commit
  10. 20 Jan, 2009 1 commit
    • Vincent Untz's avatar
      First part of smoothing the panel slide-in on login. Part of bug #554343. · 8dfe33b5
      Vincent Untz authored
      2009-01-20  Vincent Untz  <vuntz@gnome.org>
      
      	First part of smoothing the panel slide-in on login.
      	Part of bug #554343.
      	Patch by Ray Strode <rstrode@redhat.com>, with a few minor bug
      	fixes/changes from me.
      
      	We delay the slide-in until all panel objects are loaded.
      
      	* applet.[ch]: (panel_applet_queue_initial_unhide_toplevels): new
      	(panel_applet_stop_loading): new, when an object has stopped loading,
      	we look if we should queue an unhide
      	(panel_applet_load_idle_handler): put the applet that is being loaded
      	in the list of applets loading, and call panel_applet_stop_loading()
      	when it makes sense
      	(panel_applet_load_queued_applets): unhide the panels if there's no
      	applet to load
      	* panel-applet-frame.c: (panel_applet_frame_activated): consolidate
      	freeing stuff in case of error, and call panel_applet_stop_loading()
      	* panel-toplevel.[ch]: (panel_toplevel_attach_to_widget): an attached
      	toplevel (ie, drawer) should not have an initial animation
      	(panel_toplevel_initially_hide): don't queue an unhide here, but still
      	update the struts
      	(panel_toplevel_queue_initial_unhide): new
      
      svn path=/trunk/; revision=11450
      8dfe33b5
  11. 09 Dec, 2008 1 commit
    • Vincent Untz's avatar
      Lots of "remove deprecated API usage" and single include fun. · 7298881c
      Vincent Untz authored
      2008-12-09  Vincent Untz  <vuntz@gnome.org>
      
      	Lots of "remove deprecated API usage" and single include fun.
      
      	* panel-compatibility.c: (copy_gconf_dir):
      	s/gconf_entry_free/gconf_entry_unref
      	* panel-applet-frame.c: add missing include for glib/gi18n.h
      	(panel_applet_frame_activated): fix buglet where gtk_object_sink() was
      	used but we really wanted g_object_unref
      	* applet.c: (panel_applet_recreate_menu):
      	s/gtk_widget_unref/g_object_unref
      	(panel_applet_create_menu): use g_object_ref_sink
      	* panel-bindings.c: (panel_binding_clear_entry):
      	s/gtk_binding_entry_clear/gtk_binding_entry_remove/
      	* menu.c: (panel_load_menu_image_deferred): use g_object_ref_sink
      	* panel-background.c:
      	(panel_background_set_no_background_on_widget):
      	s/gtk_rc_style_unref/g_object_unref
      	* panel-widget.c: (remove_tab_bindings), (remove_move_bindings),
      	(remove_all_move_bindings):
      	s/gtk_binding_entry_clear/gtk_binding_entry_remove/
      	(panel_widget_cremove): s/gtk_widget_(un)ref/g_object_(un)ref/
      	* panel-gconf.c: (panel_gconf_copy_dir),
      	(panel_gconf_associate_schemas_in_dir):
      	s/gconf_entry_free/gconf_entry_unref
      	* panel-config-global.c: (panel_global_config_load):
      	s/gconf_entry_free/gconf_entry_unref
      	* panel-addto.c: add missing glib/gi18n.h
      	* applet.h:
      	* panel-action-button.h:
      	* panel-action-protocol.h:
      	* panel-applet-frame.h:
      	* panel-bindings.h:
      	* panel-compatibility.h:
      	* panel-enums.h:
      	* panel-menu-bar.h:
      	* panel-menu-items.h:
      	* panel-profile.h:
      	* panel-stock-icons.[ch]:
      	* panel-struts.h:
      	* panel-types.h:
      	* panel-xutils.h:
      	* xstuff.h: single include!
      
      svn path=/trunk/; revision=11388
      7298881c
  12. 12 Jan, 2005 1 commit
  13. 19 Dec, 2004 1 commit
    • Vincent Untz's avatar
      The drawer context menu is now the same if you click on the drawer · f4f082a5
      Vincent Untz authored
      2004-12-19  Vincent Untz  <vincent@vuntz.net>
      
      	The drawer context menu is now the same if you click on the drawer
      	toplevel or on the drawer button widget. This should be more
      	consistent.
      
      	* applet.[ch]: (panel_applet_create_menu): we don't need the second
      	argument, connect to the "show" signal of the menu so we can push
      	the auto-hide disabler. Doing it in a signal callback is better
      	since drawer menus are not always shown through applet_show_menu ()
      	(panel_applet_recreate_menu): updated
      	(applet_callback_callback): handle the "Add to drawer..." menu item
      	for drawers
      	(applet_menu_show): new function, to push the autohide disabler
      	(applet_show_menu): updated, and do not push auto-hide disabler here
      	* drawer.c: (drawer_properties_enabled): renamed to...
      	(drawer_changes_enabled): new function
      	(load_drawer_applet): add a "Add to drawer..." menu item to the
      	context menu
      	* panel-context-menu.c: (panel_context_menu_create): for drawers,
      	create the applet context menu
      	* panel.c: (menu_deactivate): renamed to...
      	(context_menu_deactivate): new function
      	(context_menu_show): new function, to push the auto-hide disabler
      	(panel_menu_get): connect to the "show" signal of the menu so we can
      	push the auto-hide disabler (same rationale as before), handle the
      	fact that the menu can be NULL
      	(panel_popup_menu): do not push auto-hide disabler here, handle the
      	fact that the menu can be NULL
      f4f082a5
  14. 09 Nov, 2004 1 commit
    • Mark McLoughlin's avatar
      Use libgnome-menu to generate menus so that we now use the freekdestop.org · 08d1b6a7
      Mark McLoughlin authored
      2004-11-09  Mark McLoughlin  <mark@skynet.ie>
      
              Use libgnome-menu to generate menus so that we now use the
              freekdestop.org Desktop Menu Specification.
      
              * menu.[ch]: major hackfest to make it use libgnome-menu and
              clean things up in the process.
      
              * panel-addto.c: generate the launcher list using libgnome-menu.
      
              * panel-run-dialog.c: generate the launcher list using libgnome-menu.
      
              * panel-menu-bar.c,
              panel-menu-button.c: update for menu.[ch] changes
      
              * panel.c: update drag and drop stuff for menu changes.
      
              * panel-util.[ch]: cull a bunch of crap which was only
              used by quick-desktop-reader.[ch].
      
              * applet.[ch]:
              (panel_applet_position_menu): move here from menu-util.[ch].
      
              * Makefile.am: remove menu-util.[ch], menu-fentry.[ch]
              and quick-desktop-reader.[ch] from the build.
      
              * menu-fentry.[ch], menu-util.[ch],
              quick-desktop-reader.[ch]: remove.
      08d1b6a7
  15. 06 Jul, 2004 1 commit
    • Mark McLoughlin's avatar
      Fixes "Invalid read of size 1" thrown up by valgrind. Report from Kjartan · 833c9b6b
      Mark McLoughlin authored
      2004-07-06  Mark McLoughlin  <mark@skynet.ie>
      
              Fixes "Invalid read of size 1" thrown up by valgrind.
              Report from Kjartan Maraas in bug #144460.
      
              * panel-profile.[ch]:
              (panel_profile_set_toplevel_id),
              (panel_profile_add_to_list),
              (panel_profile_load_toplevel),
              (panel_profile_load_and_show_toplevel),
              (panel_profile_load_object): make memory ownership easier
              to understand by making all these functions take a
              const string id.
              (panel_profile_create_toplevel),
              (panel_profile_load_added_ids),
              (panel_profile_delete_removed_ids),
              (panel_profile_load_list): free the ids in all the right
              places.
      
              * applet.[ch]: (panel_applet_queue_applet_to_load): similarily,
              make this take const sting ids and make a copy of them.
      
              * drawer.c, launcher.c, panel-action-button.c,
                panel-applet-frame.c, panel-compatibility.c, panel-menu-bar.c:
              free the ids in all the right places.
      833c9b6b
  16. 02 Jun, 2004 1 commit
    • Mark McLoughlin's avatar
      Allow all other panel objects to be removed even when locked. · d4cf6e5a
      Mark McLoughlin authored
      2004-06-02  Mark McLoughlin  <mark@skynet.ie>
      
              * applet.[ch]:
              (panel_applet_lock), (panel_applet_create_menu),
              (panel_applet_register): Allow all other panel objects to be
              removed even when locked.
      
      2004-06-02  Mark McLoughlin  <mark@skynet.ie>
      
              Patch from  Christian Neumair <chris@gnome-de.org> in bug #142605.
      
              * panel-applet-frame.c: (panel_applet_frame_sync_menu_state): Allow
              applets to be removed even when locked.
      d4cf6e5a
  17. 21 Jan, 2004 1 commit
    • Mark McLoughlin's avatar
      Based on a patch from Matt Keenan <matt.keenan@sun.com> · 50855ce2
      Mark McLoughlin authored
      2004-01-19  Mark McLoughlin  <mark@skynet.ie>
      
      	Based on a patch from Matt Keenan <matt.keenan@sun.com>
      
      	Add some more lockdown keys:
      
      	  /desktop/gnome/lockdown/disable_command_line
      	  /apps/panel/global/disable_log_out
      	  /apps/panel/global/disable_lock_screen
      	  /apps/panel/globak/disable_force_quit
      
      	Also, consolidate the per-profile and per-panel "locked_down"
      	keys into a single key:
      
      	  /apps/panel/global/locked_down
      
      	* Makefile.am: add panel-lockdown.[ch]
      
      	* panel-lockdown.[ch]: utilities for reading and monitoring
      	the lockdown keys.
      
      	* applet.[ch]:
      	(panel_applet_toggle_locked): don't handle lock toggling
      	lockdown conditions - the toggle isn't visible when locked
      	down.
      	(panel_applet_recreate_menu): impl. re-creating the context
      	menu.
      	(panel_applet_add_callback): add an "is_enabled" callback
      	so we can implement this in the applets themselves.
      	(panel_applet_remove_callback): kill, unused.
      	(panel_applet_create_menu): check if the item is enabled.
      	Don't add remove/move/lock items if locked down.
      	(panel_applet_destroy): remove the lockdown notification.
      	(panel_applet_register): add the lockdown notification.
      
      	* button-widget.[ch]: implement an "activatable" property
      	and grey out the button if its not activatable.
      
      	* drawer.c: (load_drawer_applet): only have propertis menu
      	item if not locked down.
      
      	* launcher.c:
      	(launcher_properties): shouldn't be reached if locked down.
      	(lancher_properties_enabled), (load_launcher_applet): don't
      	enable launcher properties if not locked down and
      	disable_command_line isn't set.
      
      	* menu.c:
      	(show_item_menu): don't show the menu's context menu if
      	locked down.
      	(setup_full_menuitem), (setup_applet_drag),
      	(setup_internal_applet_drag): disable dnd if locked down.
      	(append_internal_applets): decide which action buttons to
      	have in the menu depending on disable_command_line etc.
      	(create_applets_menu): only add if the applet isn't in
      	the disabled_applets list.
      	(create_desktop_menu): respect disable_log_out etc.
      
      	* panel-action-button.c: grey out any action button that should
      	be disabled.
      
      	* panel-applet-frame.c: respect changes in the lockdown keys.
      
      	* panel-global.schemas.in: add new lockdown keys.
      
      	* panel-menu-bar.c: respect the lockdown keys when creating
      	the menus.
      
      	* panel-menu-button.c: ditto.
      
      	* panel-profile.[ch]: remove per-profile and per-toplevel
      	locked_down keys.
      
      	* panel-run-dialog.c: (panel_run_dialog_present): don't show
      	the run dialog if locked down.
      
      	* panel-toplevel.c: (panel_toplevel_begin_grab_op): don't
      	allow moving the panel if locked down.
      
      	* panel-toplevel.schemas.in: remove per-panel locked_down
      	key.
      
      	* panel.c: respect the locked_down key when creating the
      	panel context menu.
      50855ce2
  18. 06 Aug, 2003 1 commit
    • Mark McLoughlin's avatar
      Patch from Glynn Foster. · d29d5fe2
      Mark McLoughlin authored
      2003-08-06  Mark McLoughlin  <mark@skynet.ie>
      
              Patch from Glynn Foster.
      
              * applet.[ch]:
              (panel_applet_lock): make the remove item insensitive if
              locked.
              (panel_applet_create_menu),
              (panel_applet_register): keep track of the remove item.
      
              * panel-applet-frame.c: (panel_applet_frame_sync_menu_state):
              make the remove item insensitive if locked.
      d29d5fe2
  19. 23 Jul, 2003 1 commit
    • Mark McLoughlin's avatar
      Implement a properties dialog for drawers based on the standard panel · 438b4592
      Mark McLoughlin authored
      2003-07-23  Mark McLoughlin  <mark@skynet.ie>
      
      	Implement a properties dialog for drawers based on the
      	standard panel properties dialog. Fixes bug #107606.
      
      	* applet.[ch]:
      	(applet_callback_callback): present the panel properties
      	dialog.
      	(panel_applet_get_id_by_widget): impl.
      	* applet.h:
      
      	* drawer.[ch]:
      	(add_drawer_properties_page): remove old #ifdefed out drawer
      	properties cruft.
      	(destroy_drawer): remove the GConf listeners.
      	(free_drawer): kill.
      	(create_drawer_applet): pass in the use_custom_icon flag. Also
      	set the toplevel name to be the same as the tooltip.
      	(panel_drawer_use_custom_icon_changed),
      	(panel_drawer_custom_icon_changed),
      	(panel_drawer_tooltip_changed),
      	(panel_drawer_connect_to_gconf): impl monitoring for changes
      	in config.
      	(load_drawer_applet): pass the parcel.
      	(drawer_load_from_gconf): read use_custom_icon.
      
      	* panel-profile.[ch]:
      	(panel_profile_get_attached_object_key),
      	(panel_profile_set_attached_custom_icon),
      	(panel_profile_get_attached_custom_icon),
      	(panel_profile_is_writable_attached_custom_icon),
      	(panel_profile_set_attached_tooltip),
      	(panel_profile_get_attached_tooltip),
      	(panel_profile_is_writable_attached_tooltip): implement.
      
      	* panel-properties-dialog.c: (get_name),
      	(panel_properties_dialog_name_changed),
      	(panel_properties_dialog_setup_name_entry): handle
      	setting the tooltip and name on drawers.
      	(panel_properties_dialog_setup_size_spin),
      	(panel_properties_dialog_icon_changed),
      	(panel_properties_dialog_setup_icon_entry): impl. then
      	icon entry.
      	(panel_properties_dialog_remove_orientation_menu),
      	(panel_properties_dialog_remove_icon_entry),
      	(panel_properties_dialog_remove_toggles),
      	(panel_properties_dialog_update_for_attached): impl. removing
      	bits when they aren't relevant. Kinda sucky.
      	(panel_properties_dialog_new): upd.
      
      	* panel-properties-dialog.glade: add an icon entry and name
      	a few widgets.
      
      	* panel-toplevel.[ch]:
      	(panel_toplevel_get_attach_toplevel),
      	(panel_toplevel_get_attach_widget): impl.
      438b4592
  20. 01 Jul, 2003 1 commit
    • Jiri (George) Lebl's avatar
      kill reentrancy issues on the applet loading idle. When we get a notify · 385aff3e
      Jiri (George) Lebl authored
      
      Tue Jul 01 16:00:06 2003  George Lebl <jirka@5z.com>
      
      	* applet.[ch], panel-profile.c: kill reentrancy issues on the
      	  applet loading idle.  When we get a notify for new applets to load,
      	  don't add the ones already on the load queue.  This should fix
      	  issues when dealing with applets that don't want to load for
      	  some reason.
      385aff3e
  21. 30 Jun, 2003 1 commit
    • Jiri (George) Lebl's avatar
      add panel_applet_can_move_freely and panel_applet_lockable, which tests · 0a93838c
      Jiri (George) Lebl authored
      Mon Jun 30 11:25:29 2003  George Lebl <jirka@5z.com>
      
      	* applet.[ch], panel-applet-frame.c: add
      	  panel_applet_can_move_freely and panel_applet_lockable, which
      	  tests the writability of the keys needed for such actions.
      	  The bonobo applets now make use of this and the objects now
      	  also grey out respective menuitems.
      
      	* panel-widget.c: Check for freely being movable before starting
      	  a move.  (act as locked if we can't write any of the keys, needed
      	  for moving)
      
      	* menu.c: the menu rightclick options now respect key-writability
      
      	* launcher.[ch]: When we can't hoard a launcher (when the location
      	  key is non-writable), make the whole entry non-writable.  Doesn't
      	  affect already hoarded launchers, but if you set the location to
      	  somewhere else and make it mandatory, that prevents the properties
      	  from coming up (since we couldn't edit it anyway).
      
      	* panel-util.c: in the help showing code there was some error
      	  badness.  Now only show the first error set if nothing succeeded,
      	  as not to have GError complain, and also clear error if a
      	  failover succeeded.
      0a93838c
  22. 26 May, 2003 2 commits
    • Mark McLoughlin's avatar
      Try to popup the applications menu or the main menu and only failing that · 2c93bd57
      Mark McLoughlin authored
      2003-05-26  Mark McLoughlin  <mark@skynet.ie>
      
              * panel-action-protocol.c: (panel_action_protocol_main_menu):
              Try to popup the applications menu or the main menu and only
              failing that popup a menu at the pointer location. bug #10733.
      
              * panel-menu-bar.[ch]:
              (panel_menu_bar_instance_init): deselect the menu item when
              the menu is hidden. Dunno why that needed the hack.
              (panel_menu_bar_popup_menu): impl.
      
              * panel-menu-button.[ch]:
              (panel_menu_button_popup_menu): make public.
              (panel_menu_button_get_use_menu_path): impl.
      
              * applet.[ch]: (panel_applet_get_by_type): impl finding the first
              applet of a given type.
      2c93bd57
    • 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
  23. 12 May, 2003 1 commit
    • Mark McLoughlin's avatar
      Fix loads of drawer bugs. Redo launcher hoarding. Don't save the absolute · e2c0e65a
      Mark McLoughlin authored
      2003-05-12  Mark McLoughlin  <mark@skynet.ie>
      
      	Fix loads of drawer bugs. Redo launcher hoarding. Don't
      	save the absolute path of launchers.
      
      	* applet.[ch]:
      	(panel_applet_clean): unlink the .desktop file for
      	launchers and delete the toplevel for drawers.
      	(free_applet_to_load),
      	(panel_applet_load_idle_handler),
      	(panel_applet_queue_applet_to_load), (panel_applet_compare):
      	re-factor so as to defer looking up the toplevel associated
      	with an object so that objects on drawers load successfully
      	after the drawer toplevel is loaded.
      
      	* button-widget.c: (button_widget_expose):
      	s/gdk_pixbuf_render_to_drawable_alpha/gdk_draw_pixbuf/
      
      	* drawer.[ch]:
      	(destroy_drawer): detach from the toplevel.
      	(create_drawer_toplevel): load_toplevel now returns the
      	toplevel. Also s/attached_panel_id/attach_toplevel_id/
      	(panel_drawer_delete): impl deleting the associated toplevel.
      	(drawer_load_from_gconf): don't free the toplevel_id. load_toplevel()
      	takes ownership of it.
      
      	* gnome-panel-screenshot.c: (on_preview_expose_event):
      	s/gdk_pixbuf_render_to_drawable_alpha/gdk_draw_pixbuf/
      
      	* launcher.[ch]: fix launcher hoarding and don't save the
      	absolute path of the .desktop file.
      
      	* panel-profile.[ch]:
      	(panel_profile_load_toplevel): return the toplevel and
      	free the toplevel_id if we fail. Also, don't actually
      	show the toplevel - drawers shouldn't be shown until
      	the button is shown.
      	(panel_profile_load_and_show_toplevel): impl wrapper
      	which loads and shows the toplevel.
      	(panel_profile_load_object): upd.
      	(panel_profile_toplevel_id_list_notify), (panel_profile_load):
      	use load_and_show().
      
      	* panel-toplevel.c:
      	(panel_toplevel_update_attached_position): if the attached
      	widget hasn't been allocated place the toplevel off-screen.
      	(panel_toplevel_disconnect_attached): zero out the signal ids.
      	(panel_toplevel_connect_attached): connect to the attached
      	widget's hide/shown and hide/show the toplevel as appropriate.
      	(panel_toplevel_attach_to_widget): update the hide buttons.
      
      	* panel.c: (drop_internal_icon): create a copy of the .desktop
      	file when dnd-ing launchers.
      e2c0e65a
  24. 05 Mar, 2003 1 commit
    • Mark McLoughlin's avatar
      Merge the new-toplevel branch into HEAD and: · e27c29e5
      Mark McLoughlin authored
      2003-03-05  Mark McLoughlin  <mark@skynet.ie>
      
              * Makefile.am, eggaccelerators.[ch]: re-instate
              eggaccelerators.[ch].
      
              * panel.c, panel_widget.c: remove the delete_dialog
              PanelWidget member and just use object data instead.
              Adapt the delete dialog code for PanelToplevel.
      
              * gnome-panel-screenshot.c: fix warning.
      e27c29e5
  25. 10 Jan, 2003 1 commit
    • Mark McLoughlin's avatar
      Move the menu bar out of foobar-widget as a seperate internal applet. The · 6b599321
      Mark McLoughlin authored
      2003-01-10  Mark McLoughlin  <mark@skynet.ie>
      
              Move the menu bar out of foobar-widget as a seperate
              internal applet. The default panel configuration looks
              identical to before, but if you have a menu panel in
              your saved configuration its going to be missing the
              menu bar and the window menu. I'll be removing the
              menu panel completely and adding some compatibility
              code to load an edge panel set up like a menu panel
              when it sees a menu panel in your configuration.
      
              * panel-menu-bar.[ch]: new internal applet identical
              to the menu bar formerly on the left of menu panel.
      
              * Makefile.am: add panel-menu-bar.[ch] to the build.
      
              * applet.[ch]:
              (applet_callback_callback), (panel_applet_load_idle_handler),
              (panel_applet_save_to_gconf): handle loading/saving the
              menu bar.
      
              * foobar-widget.c: (foobar_widget_class_init),
              (foobar_widget_instance_init), (foobar_widget_exists):
              Remove the old menu bar.
      
              * menu.c: (add_menu_bar_to_panel), (make_add_submenu):
              Add it to the menus.
      
              * panel-per-panel-config.schemas.in: add the menu bar
              to the left hand side of the menu panel in the default
              configuration.
      
              * panel.c: (drop_internal_applet): handle dnd-ing the
              menu bar.
      6b599321
  26. 20 Dec, 2002 1 commit
    • Mark McLoughlin's avatar
      /me shovels more crap onto the dung heap that is the panel. · a5bc36a9
      Mark McLoughlin authored
      2002-12-20  Mark McLoughlin  <mark@skynet.ie>
      
              /me shovels more crap onto the dung heap that is the panel.
      
              More precisely, fix #93177 by loading the default panel
              configuration on all screens, instead of just loading
              a foobar on the non-default screens.
      
              * applet.h: kill APPLET_EMPTY and all the string
              ids which haven't been used since 1.4.
      
              * applet.c:
              (panel_applet_get_full_gconf_key): kill. dead. good bye.
              (panel_applet_load_from_unique_id),
              (panel_applet_load_list): use PanelGConfKeyType to
              distinguish between "applets" and "objects" instead of
              using the APPLET_EMPTY hack.
              (panel_applet_load_default_applet_for_screen),
              (panel_applet_load_defaults_for_screen): impl loading the
              configuration for the default set of applets onto a
              particular screen.
              (panel_applet_save_position), (panel_applet_save_to_gconf):
              use panel_gconf_full_key instead of panel_applet_get_full_gconf_key;
      
              * panel-gconf.[ch]:
              (panel_gconf_load_default_config_for_screen): impl method
              for applying the schemas for a default panel or applet
              to a new panel or applet on a given screen.
      
              * panel.c:
              (panel_load_fallback_default_panel): the worst case scenario.
              Just load a foobar.
              (panel_load_default_panel_for_screen),
              (panel_load_default_panels_for_screen): impl loading the
              configuration for the default set of panels onto a
              particular screen.
              (panel_ensure_panel_per_screen): load the default panels
              if no other panels are on that screen.
              (panel_load_panels_from_gconf): upd.
      a5bc36a9
  27. 15 Dec, 2002 1 commit
    • Mark McLoughlin's avatar
      Fixes a crash when moving between panels #98265. · 3cf3775c
      Mark McLoughlin authored
      2002-12-16  Mark McLoughlin  <mark@skynet.ie>
      
              Fixes a crash when moving between panels #98265.
      
              * applet.c: (panel_applet_get_panel_id): return NULL
              if we're in the middle of being re-parented.
              (panel_applet_save_position): don't save our position
              if we get a NULL panel_id.
      
              * applet.h: don't export panel_applet_get_panel_id().
      3cf3775c
  28. 09 Dec, 2002 1 commit
    • Mark McLoughlin's avatar
      Fixes #100650, based on a patch from Arvind. · 56893c99
      Mark McLoughlin authored
      2002-12-10  Mark McLoughlin  <mark@skynet.ie>
      
              Fixes #100650, based on a patch from Arvind.
      
              * applet.[ch]:
              (panel_applet_remove_in_idle): new function.
              (applet_remove_callback): use it.
      
              * panel.c: (drop_internal_icon): remove the
              applet permanently rather than just destroying
              the widget.
      56893c99
  29. 24 Sep, 2002 1 commit
    • Mark McLoughlin's avatar
      Add a new PanelActionButton widget so we can generically do action · ca58baab
      Mark McLoughlin authored
      2002-09-24  Mark McLoughlin  <mark@skynet.ie>
      
              Add a new PanelActionButton widget so we can
              generically do action buttons. Fixes #84740.
      
              * Makefile.am: remove logout.[ch] from the build
              and add panel-action-button.[ch]. Also generate
              enums from panel-action-button.h.
      
              * applet.[ch]: add support for a generic "action button"
              applet and convert old lock/logout buttons into one of
              these for backwards compat.
      
              * foobar-widget.c: (append_actions_menu): use action
              callback from panel-action-button.h and setup dnd
              for screenshot, run and search menu items. Remove
              "Show Desktop" menu item.
      
              * logout.[ch]: remove.
      
              * menu.c:
              (add_action_button_to_panel): impl.
              (make_add_submenu): add screenshot, run and search
              buttons.
              (create_desktop_menu), (create_root_menu): setup
              dnd for screenshot, run and search menu items.
      
              * panel.c: (drop_internal_applet): impl new dnd
              for action buttons.
      
              * xstuff.[ch]: (xstuff_show_desktop): remove.
      ca58baab
  30. 26 Jul, 2002 1 commit
    • Mark McLoughlin's avatar
      don't take AppletInfo as an arg so we can clean an unregistered applet. · 192af681
      Mark McLoughlin authored
      2002-07-27  Mark McLoughlin  <mark@skynet.ie>
      
              * applet.c:
              (panel_applet_clean_gconf): don't take AppletInfo as an
              arg so we can clean an unregistered applet. Don't free
              the gconf key here.
              (panel_applet_clean): upd for above.
      
              * panel-applet-frame.c:
              (panel_applet_frame_construct): if loading fails, delete
              applet from the configuration - fixes #89051. This should
              be optional but will have to wait until 2.2.x - see #89713.
      192af681
  31. 30 Jun, 2002 1 commit
    • Mark McLoughlin's avatar
      move here from applet.c · 82d39e5b
      Mark McLoughlin authored
      2002-07-01  Mark McLoughlin  <mark@skynet.ie>
      
              * panel.c: (drag_data_recieved_cb), (panel_monitor_from_toplevel),
              (panel_is_applet_right_stick): move here from applet.c
      
              * panel-applet-frame.[ch]:
              (panel_applet_frame_load): add exactpos param and pass to
              panel_applet_register.
              (panel_applet_frame_load_from_gconf), pass exactpos = TRUE.
              (panel_applet_frame_reload_response): ditto.
      
              * applet.h: kill panel_applet_get_right_stick.
      
              * applet.c: (panel_applet_save_position): update for right_stick ()
              change.
      
              * menu.c: (add_bonobo_applet): add exactpos = FALSE.
      82d39e5b
  32. 24 May, 2002 1 commit
    • Mark McLoughlin's avatar
      rename and export this function. (applet_show_menu): upd. · 12a8f86e
      Mark McLoughlin authored
      2002-05-25  Mark McLoughlin  <mark@skynet.ie>
      
              * applet.[ch]: (panel_applet_menu_set_recurse): rename and
              export this function.
              (applet_show_menu): upd.
      
              * menu.c:
              (menu_applet_reparented): impl to reset the menu data
              when the applet is reparented. Fixes #79719.
              (create_panel_menu): hook up to the reparent signal.
      
              * sliding-widget.[ch]: (sliding_pos_class_init),
              (sliding_widget_change_params): change the signatures
              of the offset_change and anchor_change signals. We don't
              use the params, we just need the notification.
      12a8f86e
  33. 20 May, 2002 1 commit
    • Mark McLoughlin's avatar
      impl an 'applet died' dialog box using the CORBA connection "broken" · 6c54c581
      Mark McLoughlin authored
      2002-05-20  Mark McLoughlin  <mark@skynet.ie>
      
              * panel-applet-frame.c:
              (panel_applet_frame_reload_response),
              (panel_applet_frame_get_name), (panel_applet_frame_cnx_broken),
              (panel_applet_frame_construct): impl an 'applet died' dialog box
              using the CORBA connection "broken" signal. (#72362)
      
              * panel-config-global.h: kill auto_raise cruft.
      
              * panel-global-config.schemas.in: ditto.
      
              * applet.[ch]: (panel_applet_clean_gconf),
              (panel_applet_clean): add clean_gconf arg so we don't kill prefs
              when we are re-loading.
              (applet_idle_remove), (applet_destroy), (panel_applet_register):
              update for above change.
      
              * panel.c: (panel_destroy), (drop_internal_applet): update for
              panel_applet_clean change.
      6c54c581