Author: nick
Date: 2007-07-09 13:01:57 +0000 (Mon, 09 Jul 2007)
New Revision: 25904

Modified:
   xfce4-panel/branches/xfce_4_4/ChangeLog
   xfce4-panel/branches/xfce_4_4/NEWS
   xfce4-panel/branches/xfce_4_4/libxfce4panel/xfce-itembar.c
   xfce4-panel/branches/xfce_4_4/mcs-plugin/Makefile.am
   xfce4-panel/branches/xfce_4_4/mcs-plugin/plugin.c
Log:
        * panel/panel-item-manager.c, NEWS: Fix loading internal plugins

Modified: xfce4-panel/branches/xfce_4_4/ChangeLog
===================================================================
--- xfce4-panel/branches/xfce_4_4/ChangeLog     2007-07-08 19:19:28 UTC (rev 
25903)
+++ xfce4-panel/branches/xfce_4_4/ChangeLog     2007-07-09 13:01:57 UTC (rev 
25904)
@@ -1,3 +1,10 @@
+2007-07-09 14:49 nick
+
+    * mcs-plugin/plugin.c: Import code from trunk, hopefully that will
+      fix the icon load problems some users experience.
+    * libxfce4panel/xfce-itembar.c: Fix compilation problems. Trunk
+      uses GSList (only seaches forwards), but xfce_4_4 GList.
+
 2007-06-01 20:33 nick
 
        * config/clock-14.rc: Change to digital clock to minimize the
@@ -13,7 +20,7 @@
 
 2007-05-24 20:37  nick
 
-       * panel/panel-item-manager.c, NEWS: Fix loading internal plugins 
+       * panel/panel-item-manager.c, NEWS: Fix loading internal plugins
        if a similar file exists in the start directory (Bug #3279).
 
 2007-04-09 10:05  maximilian
@@ -292,7 +299,7 @@
          xfwm4/branches/xfce_4_4/po/ChangeLog,
          xfwm4/branches/xfce_4_4/po/en_GB.po: Fixed minor issues in some
          German, Dutch and French translations.
-         
+
          * en_GB: Added new and updated British English translations
          by Jeff Bailes <[EMAIL PROTECTED]>
 
@@ -366,7 +373,7 @@
 
        * po/ChangeLog, po/uk.po: 2007-03-03 Maxim Dziumanenko
          <[EMAIL PROTECTED]>
-         
+
          * Update Ukrainian translation.
 
 2007-02-18 20:07  jasper
@@ -563,14 +570,14 @@
          * xfdesktop
          * xfprint
          * xfwm4
-         
+
          Also thus updated appropriate ChangeLog files.
 
 2007-01-18 09:44  nab
 
        * xfce4-panel/trunk/po/ChangeLog, xfce4-panel/trunk/po/be.po:
          2007-01-18 Alexander Nyakhaychyk <[EMAIL PROTECTED]>
-         
+
          * be.po: Updated Belarusian Translation
 
 2007-01-09 13:10  maximilian
@@ -666,7 +673,7 @@
          switching monitors. I've simply removed the code for moving the
          dialog to the other window, because I couldn't find a way to make
          this work propery.
-         
+
          The panel doesn't crash anymore, but there are still some drawing
          issues when switching monitors.
 
@@ -868,7 +875,7 @@
          configure.ac.in, plugins,Makefile.am, plugins/testplugin,
          po/POTFILES.in, *.po*: Remove the testplugin from the panel. You
          can find a sample plugin the the goodies repository.
-         
+
          PS. First commit in the Xfce SVN ^_^
 
 2006-12-17 18:45  sas
@@ -1265,7 +1272,7 @@
          xfprint/trunk/po/dz.po, xfwm4/trunk/po/ChangeLog,
          xfwm4/trunk/po/LINGUAS, xfwm4/trunk/po/dz.po: added whole
          Dzongkha translation
-         
+
          congratulations to the dz team.
 
 2006-10-24 21:47  olivier
@@ -2230,8 +2237,8 @@
          * configure.in.in -> configure.ac.in (hey Brian ;-)
          * Make config files translatable, but don't update po files yet:
          it will probably still change.
-         
 
+
 2006-06-04 08:12  eulex
 
        * libexo/trunk/po/ChangeLog, libxfcegui4/trunk/po/ChangeLog,
@@ -3199,7 +3206,7 @@
 
        * xfce4-panel/trunk/po/uk.po: 2006-04-26 Maxim Dziumanenko
          <[EMAIL PROTECTED]>
-         
+
          * Updated Ukrainian translation.
 
 2006-04-26 08:38  peetervois
@@ -8246,7 +8253,7 @@
          xffm/trunk/xffm-gui/po/ca.po, xfprint/trunk/po/ca.po,
          xfwm4/trunk/po/ca.po: begin process to 4.4 work
          autotranslation of most of the actual po
-         
+
          -- [EMAIL PROTECTED] , ca translator
 
 2005-10-24 07:11  piarres
@@ -8347,7 +8354,7 @@
          dialogs
          * Adjust menus accordingly
          * Add grippy cursor from libexo
-         
+
          This could probably use some testing.
 
 2005-10-20 12:37  alex
@@ -8851,7 +8858,7 @@
          xfce4-panel/trunk/po/zh_TW.po: * Updated and bumped version at
          the `Project-Id-Version'.
          - この行以下は無視されます --
-         
+
          M ar.po
          M az.po
          M be.po
@@ -9157,13 +9164,13 @@
          xfce4-panel/trunk/po/vi.po, xfce4-panel/trunk/po/zh_CN.po,
          xfce4-panel/trunk/po/zh_TW.po: * Bumped version at the
          "Project-Id-Version: ".
-         
+
          * Discarded obsolete translations.
-         
+
          * Added fall back address at the "Language-Team: ", according to
          the
          http://www.iro.umontreal.ca/translation/registry.cgi?team=index
-         
+
          * Modified initial comment strings using template by "msginit".
 
 2005-09-29 11:53  daichi
@@ -9347,7 +9354,7 @@
          xfce4-trigger-launcher/trunk/po/ja.po, xfdesktop/trunk/po/ja.po,
          xfprint/trunk/po/ja.po, xfwm4/trunk/po/ja.po: * Added initial
          "$Id$".
-         
+
          * Updated some translations.
 
 2005-09-08 15:42  hydonsingore
@@ -9402,13 +9409,13 @@
          xfce4-panel/trunk/po/ta.po: Added missing '\n', which causes
          parsing error at
          http://xfce.org/~kelnos/xfce4/i18n/
-         
+
          Added fall back address at the 'Language-Team: ', according to
          the
          http://www.iro.umontreal.ca/translation/registry.cgi?team=index
-         
+
          Modified initial comment strings with template by 'msginit'.
-         
+
          Discarded obsolete translations.
 
 2005-08-18 12:05  daichi
@@ -9434,11 +9441,11 @@
          xfce4-panel/trunk/po/nl.po, xfce4-panel/trunk/po/pt_BR.po,
          xfce4-panel/trunk/po/sv.po, xfce4-panel/trunk/po/zh_CN.po: Fixed
          errors emitted by 'msgfmt -c'.
-         
+
          Added fall back address at the 'Language-Team: ', according to
          the
          http://www.iro.umontreal.ca/translation/registry.cgi?team=index
-         
+
          Modified initial comment strings with template by 'msginit'.
 
 2005-08-17 15:03  daichi
@@ -9936,7 +9943,7 @@
          * remove popup position global option
          * other stuff (it's a pretty big change, so I'm sure i forgot
          something ;-)
-         
+
          Please tell me if it breaks anything.
 
 2005-05-07 12:27  jasper
@@ -10405,7 +10412,7 @@
          * XfceItem : simple container to add to an itembar
          * XfceSeparatorItem : special XfceItem that simply shows a
          separator
-         
+
          * Make panel controls and separator item plugin use the new
          widgets.
          * Make taskbar use new widgets
@@ -14325,11 +14332,11 @@
          CVS history here, but for completeness sake I'm including the
          ChangeLog
          entries here:
-         
+
          +++
-         
+
          2003-10-11 00:08 edscott
-         
+
          * xffm/src/: add_folder.c, add_node_contents.c, callbacks.c,
          keybindings.c, main.c, treeview.c: do second letter search if
          first
@@ -14340,9 +14347,9 @@
          --DONE g_strchug() crash on openwith by menu... --FIXED on go_up
          do
          not place in history, nor back nor forward --DONE
-         
+
          2003-10-11 00:05 edscott
-         
+
          * xffm/: libs/apps.c, libs/bookmarks.c, libs/constants.h,
          libs/cpy.c, libs/dnd.c, libs/dummies.c, libs/duplicate.c,
          libs/entry.c, libs/goto.c, libs/goto.h, libs/icons.c,
@@ -14360,14 +14367,14 @@
          openwith
          by menu... --FIXED on go_up do not place in history, nor back nor
          forward --DONE
-         
+
          2003-10-10 23:19 xfce
-         
+
          * xfce-utils/scripts/xinitrc: Don't use cpp in xrdb so that DPI
          settings load even on workstations w/out cpp
-         
+
          2003-10-10 22:17 xfce
-         
+
          * libxfcegui4/libxfcegui4/netk-pager.c, xfwm4/configure,
          xfwm4/configure.ac, xfwm4/themes/Makefile.am,
          xfwm4/themes/Makefile.in, xfwm4/themes/default/bottom-active.xpm,
@@ -14424,23 +14431,23 @@
          xfwm4/themes/default/top-right-inactive.xpm: Revert xfwm4 default
          theme to the one found in pre-release as it looked better Fix a
          very small thing in netk-pager
-         
+
          2003-10-10 19:21 huysmans
-         
+
          * xfce4/plugins/pager/pager.c: Fix resizing bug
-         
+
          2003-10-09 23:41 huysmans
-         
+
          * xfwm4/: mcs-plugin/workspaces.c, src/settings.c: Move workspace
          names settings into settings plugin. Rename count to
          Xfwm/WorkspaceCount for consistency.
-         
+
          2003-10-09 23:03 xfce
-         
+
          * libxfcegui4/: configure, configure.ac: Increase version number
-         
+
          2003-10-09 22:13 xfce
-         
+
          * xfwm4/themes/default/: close-active.xpm, close-inactive.xpm,
          close-pressed.xpm, hide-active.xpm, hide-inactive.xpm,
          hide-pressed.xpm, maximize-active.xpm, maximize-inactive.xpm,
@@ -14455,14 +14462,14 @@
          title-2-active.xpm, title-2-inactive.xpm, title-3-active.xpm,
          title-3-inactive.xpm, title-4-active.xpm, title-4-inactive.xpm:
          Change default theme for 4.2
-         
+
          2003-10-09 15:19 edscott
-         
+
          * xffm/: glade_intl, src/glade_callbacks.h, src/glade_gui.c.bak,
          src/glade_gui.h: remove obsolete files
-         
+
          2003-10-09 07:04 edscott
-         
+
          * xffm/src/: Makefile.am, Makefile.in, callbacks.c,
          keybindings.c,
          keybindings.h, treeview.c, treeview.h: scroll by keyboard is now
@@ -14470,9 +14477,9 @@
          proceed
          backwards. Backward scroll-search will not wrap. Forward
          scroll-sear ch will wrap (as before).
-         
+
          2003-10-09 04:14 edscott
-         
+
          * xffm/: glade/xffm_main.glade, libs/apps.c, libs/bookmarks.c,
          libs/combo.c, libs/cpy.c, libs/dummies.c, libs/duplicate.c,
          libs/entry.c, libs/filter.c, libs/find.h, libs/goto.c,
@@ -14485,9 +14492,9 @@
          smb/smb_download.c, smb/smb_list.c, src/glade_main_gui.c,
          src/main.c, src/treeview.c, src/widgets.c: eliminate all warnings
          when compiling with --enable-debug
-         
+
          2003-10-09 01:46 edscott
-         
+
          * xffm/: xffm.glade, xffm.gladep, glade/xffm_find.glade,
          glade/xffm_find.gladep, glade/xffm_main.glade,
          glade/xffm_main.gladep, glade/xffm_remove.glade,
@@ -14514,22 +14521,22 @@
          src/glade_remove_callbacks.h, src/glade_remove_gui.c,
          src/glade_remove_gui.h, src/main.c, src/mcs-manager.c,
          src/treeview.c, src/widgets.c: broke glade files into three parts
-         
+
          2003-10-08 23:43 xfce
-         
+
          * xfwm4/src/: client.c, events.c, settings.c: [no log message]
-         
+
          2003-10-08 22:29 xfce
-         
+
          * xfwm4/themes/default.keys/keythemerc: Change raise/lower key
-         
+
          2003-10-08 22:24 xfce
-         
+
          * xfwm4/: src/settings.c, themes/default.keys/keythemerc: Fix
          raise/lower key shortcut patch
-         
+
          2003-10-08 22:12 xfce
-         
+
          * xfwm4/: configure, configure.ac, themes/Makefile.am,
          themes/Makefile.in, themes/default/title-2-active.xpm,
          themes/default/title-2-inactive.xpm,
@@ -14537,9 +14544,9 @@
          themes/default/title-4-inactive.xpm,
          themes/default/top-right-active.xpm,
          themes/default/top-right-inactive.xpm: Add missing files
-         
+
          2003-10-08 10:20 huysmans
-         
+
          * xfdesktop/doc/C/xfdesktop.html, xfdesktop/doc/C/xfdesktop.xml,
          xfdesktop/doc/C/images/Makefile.am,
          xfdesktop/doc/C/images/Makefile.in,
@@ -14561,22 +14568,22 @@
          update:
          merge workspaces dialog from xfdesktop with workspace margins
          dialog from xfwm4. The new dialog is part of xfwm4.
-         
+
          2003-10-07 22:44 xfce
-         
+
          * libxfcegui4/libxfcegui4/: Makefile.am, Makefile.in,
          netk-class-group.c, netk-class-group.h, netk-private.h,
          netk-screen.c, netk-screen.h, netk-tasklist.c, netk-window.c,
          netk-window.h, netk-xutils.c, netk-xutils.h: Backport changes
          from
          libwnck HEAD cvs
-         
+
          2003-10-07 22:40 xfce
-         
+
          * xffm/libs/: input.c, run.c: Include Edscott patches
-         
+
          2003-10-07 22:31 xfce
-         
+
          * xfwm4/: configure, configure.ac, src/client.c, src/events.c,
          themes/Makefile.am, themes/Makefile.in,
          themes/default/bottom-active.xpm,
@@ -14658,7 +14665,7 @@
          old 4.0 theme as default-4.0 and add tgc-large theme Include
          improvements for fullscreen mode for gst from Arwed von Merkatz
          <[EMAIL PROTECTED]>
-         
+
          +++
 
 2003-09-30 20:53  huysmans
@@ -16681,7 +16688,7 @@
          xfce4-panel/trunk/themes/Makefile.in,
          xfce4-panel/trunk/themes/Noia/Makefile.in,
          xfce4-panel/trunk/themes/XFce/Makefile.in: Improved debug.m4:
-         
+
          1) --disable-debug no longer disables assert()'s
          2) --enable-profiling now enables profiling code
          3) --disable-asserts allows disabling of assert()'s
@@ -20213,7 +20220,7 @@
          xfce4-panel/trunk/wmhints.h, xfce4-panel/trunk/xfce.c,
          xfce4-panel/trunk/xfce.h: Add gtk2 based panel
 
-2002-05-20 14:56  
+2002-05-20 14:56
 
        * xfce4-panel/branches, xfce4-panel/tags, xfce4-panel/trunk: New
          repository initialized by cvs2svn.

Modified: xfce4-panel/branches/xfce_4_4/NEWS
===================================================================
--- xfce4-panel/branches/xfce_4_4/NEWS  2007-07-08 19:19:28 UTC (rev 25903)
+++ xfce4-panel/branches/xfce_4_4/NEWS  2007-07-09 13:01:57 UTC (rev 25904)
@@ -1,7 +1,9 @@
 NEWS for xfce4-panel
 ====================
+
 4.4.2
 =====
+- Improve MCS plugin code. (Nick)
 - Fix expansion of items a non-full-width panel. (Jasper)
 - Make sure tooltips are set for more than 1 clock instance (bug #3109).
   (Jasper)
@@ -14,6 +16,7 @@
   of screen updates. (Nick)
 - Fix possible buffer overflow in launcher tooltips (bug #3324). (Jasper)
 
+
 4.4.1
 =====
 - Completely hide the right-click menu when kiosk mode is enabled (Bug #2984). 
(Nick)
@@ -23,15 +26,16 @@
 - Improve the icon size of the actions plugin and add an option to change the
   orientation of the buttons (Bug #2999). (Nick)
 - Unhide when dragging over the panel (Bug #2914). (Jasper)
-- Check for NULL pointers in DBG messages to prevent crashes on Solaris, based 
on 
+- Check for NULL pointers in DBG messages to prevent crashes on Solaris, based 
on
   patch from William Bonnet (bug #2922). (Jasper)
 - Add some checks for valid tree selection (Bug #2933). (Jasper)
 - Many translation updates. (Xfce Translation Team)
 
+
 4.4.0
 =====
 - Many fixes when using the panel in a multiscreen setup (Jasper, Nick)
-- Update or add blinking for urgent windows in taslist, windowlist and 
iconbox. 
+- Update or add blinking for urgent windows in taslist, windowlist and iconbox.
   (Jasper)
 - Move test plugin to Xfce Goodies. (Nick)
 - Several fixes for (re)sizing and positioning behavior. (Jasper)
@@ -42,7 +46,7 @@
 
 4.3.99.2 (4.4-RC2)
 ==================
-- Adjust the plugin system to improve support for other platforms 
+- Adjust the plugin system to improve support for other platforms
   (read: windows). (Jasper, Olivier)
 - Many small fixes. (Jasper, Nick, Olivier, Jean-Francois)
 - Translation updates. (Xfce Translation Team)
@@ -95,7 +99,7 @@
 - Increase API version, but still support old plugins (Jasper)
 - Use new gtk 2.4 file chooser (Jasper)
 - Improve focus management (in combination with xfwm4) by setting the dock
-  type hint. Panel will now always be on top; the option is gone. 
+  type hint. Panel will now always be on top; the option is gone.
   (Olivier, Jasper)
 - Transparency is always on, but toggled off when the mouse is over the panel
   (Jasper)
@@ -106,7 +110,7 @@
 - Several translation updates (Jean-Francois)
 - Some autohide fixes with open dialogs (Jasper)
 - Fix multihead support (Jasper)
-- Translucent panel when set on top. Needs xfwm4 with composite support 
+- Translucent panel when set on top. Needs xfwm4 with composite support
   and XOrg >= 6.8.0 with composite extension enabled. (Olivier)
 
 
@@ -114,28 +118,28 @@
 ==================
 - Use basedir spec to locate config file. (Jasper)
 - Rename xfce4rc to contents.xml. (Jasper)
-- Change the fallback (default) icons to the ones from the Rodent theme 
+- Change the fallback (default) icons to the ones from the Rodent theme
   by Francois, very pretty. (Jasper)
 - Add support for new KIOSK mode. Much better than env variables. (Benedikt)
 - Fix autohide and right-click menu interaction. (Jasper)
 - Icon theme support : no more panel-specific themes, the panel will now
   follow the icon theme set in the user interface dialog. (Jasper)
 - Set partial struts (Jasper)
-- Add multihead support. The user needs to set DISPLAY properly to start a 
+- Add multihead support. The user needs to set DISPLAY properly to start a
   new panel on another screen. (Jasper)
 - Update list of module list when opening dialog: remove uninstalled modules
-  (when not in use) and add newly installed ones. Based on idea of Scott 
+  (when not in use) and add newly installed ones. Based on idea of Scott
   Barron. (Jasper)
 - Use a dialog to add items to the panel, instead of a submenu. (Jasper)
 - Reduce handle width to show only one line of dots. (Jasper)
 - Split out the code for choosing a command and choosing an icon from
-  item_dialog.c. to make it available for use in other dialogs (plugins). 
-  The mailcheck plugin makes use of it and of course the launcher dialog. 
+  item_dialog.c. to make it available for use in other dialogs (plugins).
+  The mailcheck plugin makes use of it and of course the launcher dialog.
   (Jasper)
 - Implement module unloading. Add uniqueness setting to plugins. (Jasper)
 - Add pop3 email checking: Use 'pop3://username:[EMAIL PROTECTED]' as mailbox.
   (Olivier)
-- Properly update arrow direction. Use this info to position the menus. 
+- Properly update arrow direction. Use this info to position the menus.
   Much better. (Jasper)
 - Add xrandr awareness. (Jasper)
 - Add xinerama aware smart positioning. (Jasper)

Modified: xfce4-panel/branches/xfce_4_4/libxfce4panel/xfce-itembar.c
===================================================================
--- xfce4-panel/branches/xfce_4_4/libxfce4panel/xfce-itembar.c  2007-07-08 
19:19:28 UTC (rev 25903)
+++ xfce4-panel/branches/xfce_4_4/libxfce4panel/xfce-itembar.c  2007-07-09 
13:01:57 UTC (rev 25904)
@@ -5,7 +5,7 @@
  *  Copyright © 2004-2005 Jasper Huijsmans <[EMAIL PROTECTED]>
  *
  *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU Library General Public License as published 
+ *  it under the terms of the GNU Library General Public License as published
  *  by the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
@@ -65,14 +65,14 @@
 typedef struct _XfceItembarChild   XfceItembarChild;
 typedef struct _XfceItembarPrivate XfceItembarPrivate;
 
-struct _XfceItembarPrivate 
+struct _XfceItembarPrivate
 {
     GtkOrientation orientation;
     GList *children;
-    
+
     GdkWindow *event_window;
     GdkWindow *drag_highlight;
-    
+
     int drop_index;
     guint raised:1;
     guint expand_allowed:1;
@@ -99,7 +99,7 @@
 
 static void xfce_itembar_get_property       (GObject * object,
                                             guint prop_id,
-                                            GValue * value, 
+                                            GValue * value,
                                              GParamSpec * pspec);
 
 /* widget */
@@ -121,20 +121,20 @@
 static void xfce_itembar_unmap              (GtkWidget * widget);
 
 static void xfce_itembar_drag_leave         (GtkWidget * widget,
-                                            GdkDragContext * context, 
+                                            GdkDragContext * context,
                                              guint time_);
 
 static gboolean xfce_itembar_drag_motion    (GtkWidget * widget,
                                             GdkDragContext * context,
-                                            int x, 
-                                             int y, 
+                                            int x,
+                                             int y,
                                              guint time_);
 
 
 /* container */
 static void xfce_itembar_forall             (GtkContainer * container,
                                             gboolean include_internals,
-                                            GtkCallback callback, 
+                                            GtkCallback callback,
                                              gpointer callback_data);
 
 static GType xfce_itembar_child_type        (GtkContainer * container);
@@ -144,7 +144,7 @@
 
 static void xfce_itembar_remove             (GtkContainer * container,
                                              GtkWidget * child);
-    
+
 static void xfce_itembar_set_child_property (GtkContainer * container,
                                              GtkWidget * child,
                                             guint prop_id,
@@ -154,12 +154,12 @@
 static void xfce_itembar_get_child_property (GtkContainer * container,
                                              GtkWidget * child,
                                             guint prop_id,
-                                            GValue * value, 
+                                            GValue * value,
                                              GParamSpec * pspec);
 
 /* internal functions */
-static int _find_drop_index                 (XfceItembar * itembar, 
-                                             int x, 
+static int _find_drop_index                 (XfceItembar * itembar,
+                                             int x,
                                              int y);
 
 /* global vars */
@@ -189,7 +189,7 @@
             NULL
        };
 
-       type = g_type_register_static (GTK_TYPE_CONTAINER, "XfceItembar", 
+       type = g_type_register_static (GTK_TYPE_CONTAINER, "XfceItembar",
                                        &type_info, 0);
     }
 
@@ -216,9 +216,9 @@
     gobject_class->get_property         = xfce_itembar_get_property;
     gobject_class->set_property         = xfce_itembar_set_property;
 
-    widget_class->expose_event          = xfce_itembar_expose;    
-    widget_class->size_request          = xfce_itembar_size_request;    
-    widget_class->size_allocate         = xfce_itembar_size_allocate;    
+    widget_class->expose_event          = xfce_itembar_expose;
+    widget_class->size_request          = xfce_itembar_size_request;
+    widget_class->size_allocate         = xfce_itembar_size_allocate;
     widget_class->realize               = xfce_itembar_realize;
     widget_class->unrealize             = xfce_itembar_unrealize;
     widget_class->map                   = xfce_itembar_map;
@@ -246,12 +246,12 @@
         g_signal_new ("orientation-changed",
                       G_OBJECT_CLASS_TYPE (klass),
                       G_SIGNAL_RUN_FIRST,
-                      G_STRUCT_OFFSET (XfceItembarClass, 
+                      G_STRUCT_OFFSET (XfceItembarClass,
                                        orientation_changed),
                       NULL, NULL,
                       g_cclosure_marshal_VOID__ENUM,
                       G_TYPE_NONE, 1, GTK_TYPE_ORIENTATION);
-    
+
     /**
      * XfceItembar::contents-changed:
      * @itembar     : the object which emitted the signal
@@ -263,12 +263,12 @@
         g_signal_new ("contents-changed",
                       G_OBJECT_CLASS_TYPE (klass),
                       G_SIGNAL_RUN_FIRST,
-                      G_STRUCT_OFFSET (XfceItembarClass, 
+                      G_STRUCT_OFFSET (XfceItembarClass,
                                        contents_changed),
                       NULL, NULL,
                       g_cclosure_marshal_VOID__VOID,
                       G_TYPE_NONE, 0);
-    
+
     /* properties */
 
     /**
@@ -276,15 +276,15 @@
      *
      * The orientation of the #XfceItembar.
      **/
-    g_object_class_install_property (gobject_class, 
-            PROP_ORIENTATION, 
+    g_object_class_install_property (gobject_class,
+            PROP_ORIENTATION,
             g_param_spec_enum ("orientation",
                               "Orientation",
                               "The orientation of the itembar",
                               GTK_TYPE_ORIENTATION,
-                              DEFAULT_ORIENTATION, 
+                              DEFAULT_ORIENTATION,
                                G_PARAM_READWRITE));
-    
+
     /* child properties */
 
     /**
@@ -293,19 +293,19 @@
      * Whether the child of the #XfceItembar should fill available space.
      **/
     gtk_container_class_install_child_property (container_class,
-            CHILD_PROP_EXPAND, 
-            g_param_spec_boolean ("expand", 
-                                  "Expand", 
+            CHILD_PROP_EXPAND,
+            g_param_spec_boolean ("expand",
+                                  "Expand",
                                   "Whether to grow with parent",
                                   DEFAULT_CHILD_EXPAND,
-                                  G_PARAM_READWRITE));    
+                                  G_PARAM_READWRITE));
 }
 
 static void
 xfce_itembar_init (XfceItembar * itembar)
 {
     XfceItembarPrivate *priv = XFCE_ITEMBAR_GET_PRIVATE (itembar);
-    
+
     GTK_WIDGET_SET_FLAGS (GTK_WIDGET (itembar), GTK_NO_WINDOW);
     gtk_widget_set_redraw_on_allocate (GTK_WIDGET (itembar), FALSE);
 
@@ -364,7 +364,7 @@
 static int
 xfce_itembar_expose (GtkWidget * widget, GdkEventExpose *event)
 {
-    XfceItembarPrivate *priv = 
+    XfceItembarPrivate *priv =
         XFCE_ITEMBAR_GET_PRIVATE (XFCE_ITEMBAR (widget));
 
     GTK_WIDGET_CLASS (parent_class)->expose_event (widget, event);
@@ -378,16 +378,16 @@
 static void
 xfce_itembar_size_request (GtkWidget * widget, GtkRequisition * requisition)
 {
-    XfceItembarPrivate *priv = 
+    XfceItembarPrivate *priv =
         XFCE_ITEMBAR_GET_PRIVATE (XFCE_ITEMBAR (widget));
     GList *l;
     int max, other_size;
 
-    requisition->width = requisition->height = 
+    requisition->width = requisition->height =
         2 * GTK_CONTAINER (widget)->border_width;
-    
+
     max = other_size = 0;
-    
+
     for (l = priv->children; l != NULL; l = l->next)
     {
         XfceItembarChild *child = l->data;
@@ -397,7 +397,7 @@
             continue;
 
         gtk_widget_size_request (child->widget, &req);
-        
+
         if (GTK_ORIENTATION_HORIZONTAL == priv->orientation)
         {
             max = MAX (max, req.height);
@@ -431,7 +431,7 @@
     XfceItembarChild   *child;
     GtkRequisition      req;
     GtkTextDirection    direction;
-    GSList             *l;
+    GList              *l;
     gint                n_total, i;
     gint                x, y, width, height, size;
     gint                border_width, bar_height, total_size;
@@ -478,7 +478,7 @@
 
     total_expand = total_size;
     direction    = gtk_widget_get_direction (widget);
-    n_total      = g_slist_length (priv->children);
+    n_total      = g_list_length (priv->children);
     props        = g_new (struct ItemProps, n_total);
 
     n_expand = expand_width = max_expand = 0;
@@ -486,7 +486,7 @@
     /* - get size request for all items
      * - get number of expanding items
      * - determine space available for expanding items
-     * - determine largest width of expanding items 
+     * - determine largest width of expanding items
      */
     for (l = priv->children, i = 0; l != NULL; l = l->next, i++)
     {
@@ -550,7 +550,7 @@
 
         max_expand = 0;
 
-        /* - remove bigger items from expand list 
+        /* - remove bigger items from expand list
          * - recalculate n_expand, total_expand and max_expand
          */
         for (i = 0; i < n_total; ++i)
@@ -652,8 +652,8 @@
         | GDK_BUTTON_MOTION_MASK
         | GDK_BUTTON_PRESS_MASK
         | GDK_BUTTON_RELEASE_MASK
-        | GDK_EXPOSURE_MASK 
-        | GDK_ENTER_NOTIFY_MASK 
+        | GDK_EXPOSURE_MASK
+        | GDK_ENTER_NOTIFY_MASK
         | GDK_LEAVE_NOTIFY_MASK;
     attributes.wclass = GDK_INPUT_ONLY;
     attributes_mask = GDK_WA_X | GDK_WA_Y;
@@ -699,7 +699,7 @@
     gdk_window_show (priv->event_window);
 
     (*GTK_WIDGET_CLASS (parent_class)->map) (widget);
-    
+
     if (priv->raised)
         gdk_window_raise (priv->event_window);
 }
@@ -761,7 +761,7 @@
        attributes.width = 1;
        attributes.height = 1;
        attributes_mask = GDK_WA_VISUAL | GDK_WA_COLORMAP;
-       priv->drag_highlight = 
+       priv->drag_highlight =
             gdk_window_new (gtk_widget_get_parent_window (widget),
                            &attributes, attributes_mask);
        gdk_window_set_user_data (priv->drag_highlight, widget);
@@ -774,7 +774,7 @@
        int border_width = GTK_CONTAINER (itembar)->border_width;
 
         child = g_list_nth_data (priv->children, new_index);
-       
+
        priv->drop_index = new_index;
        if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
        {
@@ -783,7 +783,7 @@
            else
                new_pos = widget->allocation.x + widget->allocation.width
                           - border_width;
-           
+
            gdk_window_move_resize (priv->drag_highlight, new_pos - 1,
                                    widget->allocation.y + border_width, 2,
                                    widget->allocation.height -
@@ -795,7 +795,7 @@
                new_pos = child->widget->allocation.y;
            else
                new_pos = widget->allocation.y + widget->allocation.height;
-           
+
            gdk_window_move_resize (priv->drag_highlight,
                                    widget->allocation.x + border_width,
                                    new_pos - 1, widget->allocation.width
@@ -815,13 +815,13 @@
                      GtkCallback callback, gpointer callback_data)
 {
     GList *l;
-    XfceItembarPrivate *priv = 
+    XfceItembarPrivate *priv =
         XFCE_ITEMBAR_GET_PRIVATE (XFCE_ITEMBAR (container));
 
     for (l = priv->children; l != NULL; l = l->next)
     {
         XfceItembarChild *child = l->data;
-        
+
         if (child && GTK_IS_WIDGET (child->widget))
             (*callback) (child->widget, callback_data);
     }
@@ -844,13 +844,13 @@
 {
     XfceItembarPrivate *priv;
     GList *l;
-    
+
     g_return_if_fail (XFCE_IS_ITEMBAR (container));
-    g_return_if_fail (child != NULL 
+    g_return_if_fail (child != NULL
                       && child->parent == GTK_WIDGET (container));
 
     priv = XFCE_ITEMBAR_GET_PRIVATE (XFCE_ITEMBAR (container));
-    
+
     for (l = priv->children; l != NULL; l = l->next)
     {
         XfceItembarChild *ic = l->data;
@@ -858,19 +858,19 @@
         if (ic->widget == child)
         {
             gboolean was_visible;
-            
+
             priv->children = g_list_delete_link (priv->children, l);
 
             was_visible = GTK_WIDGET_VISIBLE (ic->widget);
-            
+
             gtk_widget_unparent (ic->widget);
 
             panel_slice_free (XfceItembarChild, ic);
 
             if (was_visible)
                 gtk_widget_queue_resize (GTK_WIDGET (container));
-            
-            g_signal_emit (G_OBJECT (container), 
+
+            g_signal_emit (G_OBJECT (container),
                            itembar_signals [CONTENTS_CHANGED], 0);
 
             break;
@@ -928,16 +928,16 @@
     XfceItembarChild *child;
     XfceItembarPrivate *priv = XFCE_ITEMBAR_GET_PRIVATE (itembar);
     int best_distance = G_MAXINT;
-    
+
     if (!priv->children)
         return 0;
-    
+
     direction = gtk_widget_get_direction (GTK_WIDGET (itembar));
 
     index = 0;
-    
+
     child = priv->children->data;
-    
+
     if (GTK_ORIENTATION_HORIZONTAL == priv->orientation)
     {
         cursor =  x;
@@ -949,7 +949,7 @@
         }
         else
         {
-            pos = child->widget->allocation.x 
+            pos = child->widget->allocation.x
                   + child->widget->allocation.width - x;
         }
     }
@@ -960,7 +960,7 @@
 
         pos = child->widget->allocation.y - y;
     }
-    
+
     best_distance = ABS (pos - cursor);
 
     /* distance to far end of each item */
@@ -971,14 +971,14 @@
        if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
        {
            if (direction == GTK_TEXT_DIR_LTR)
-               pos = child->widget->allocation.x 
+               pos = child->widget->allocation.x
                       + child->widget->allocation.width - x;
            else
                pos = child->widget->allocation.x - x;
        }
        else
        {
-           pos = y + child->widget->allocation.y 
+           pos = y + child->widget->allocation.y
                   + child->widget->allocation.height - y;
        }
 
@@ -1008,7 +1008,7 @@
 {
     XfceItembar *itembar;
 
-    itembar = g_object_new (XFCE_TYPE_ITEMBAR, "orientation", orientation, 
+    itembar = g_object_new (XFCE_TYPE_ITEMBAR, "orientation", orientation,
                             NULL);
 
     return GTK_WIDGET (itembar);
@@ -1044,11 +1044,11 @@
  *
  * Returns: #GtkOrienation of @itembar.
  **/
-GtkOrientation 
+GtkOrientation
 xfce_itembar_get_orientation (XfceItembar * itembar)
 {
     XfceItembarPrivate *priv;
-    
+
     g_return_val_if_fail (XFCE_IS_ITEMBAR (itembar), DEFAULT_ORIENTATION);
 
     priv = XFCE_ITEMBAR_GET_PRIVATE (itembar);
@@ -1063,11 +1063,11 @@
  *
  * Set the orienation of @itembar.
  **/
-void 
+void
 xfce_itembar_set_orientation (XfceItembar * itembar, GtkOrientation 
orientation)
 {
     XfceItembarPrivate *priv;
-    
+
     g_return_if_fail (XFCE_IS_ITEMBAR (itembar));
 
     priv = XFCE_ITEMBAR_GET_PRIVATE (itembar);
@@ -1077,7 +1077,7 @@
 
     priv->orientation = orientation;
 
-    g_signal_emit (itembar, itembar_signals[ORIENTATION_CHANGED], 0, 
+    g_signal_emit (itembar, itembar_signals[ORIENTATION_CHANGED], 0,
                    orientation);
 
     g_object_notify (G_OBJECT (itembar), "orientation");
@@ -1099,21 +1099,21 @@
 {
     XfceItembarPrivate *priv;
     XfceItembarChild *child;
-    
+
     g_return_if_fail (XFCE_IS_ITEMBAR (itembar));
     g_return_if_fail (item != NULL && GTK_WIDGET (item)->parent == NULL);
 
     priv = XFCE_ITEMBAR_GET_PRIVATE (itembar);
-    
+
     child = panel_slice_new0 (XfceItembarChild);
     child->widget = item;
-    
+
     priv->children = g_list_insert (priv->children, child, position);
 
     gtk_widget_set_parent (GTK_WIDGET (item), GTK_WIDGET (itembar));
 
     gtk_widget_queue_resize (GTK_WIDGET (itembar));
-    
+
     g_signal_emit (G_OBJECT (itembar), itembar_signals [CONTENTS_CHANGED], 0);
 }
 
@@ -1157,13 +1157,13 @@
 {
     XfceItembarPrivate *priv;
     GList *l;
-    
+
     g_return_if_fail (XFCE_IS_ITEMBAR (itembar));
-    g_return_if_fail (item != NULL 
+    g_return_if_fail (item != NULL
                       && GTK_WIDGET (item)->parent == GTK_WIDGET (itembar));
 
     priv = XFCE_ITEMBAR_GET_PRIVATE (XFCE_ITEMBAR (itembar));
-    
+
     for (l = priv->children; l != NULL; l = l->next)
     {
         XfceItembarChild *child = l->data;
@@ -1175,8 +1175,8 @@
             priv->children = g_list_insert (priv->children, child, position);
 
             gtk_widget_queue_resize (GTK_WIDGET (itembar));
-            
-            g_signal_emit (G_OBJECT (itembar), 
+
+            g_signal_emit (G_OBJECT (itembar),
                            itembar_signals [CONTENTS_CHANGED], 0);
 
             break;
@@ -1192,19 +1192,19 @@
  * Returns: %TRUE if @item will expand when the size of @itembar increases,
  *          otherwise %FALSE.
  **/
-gboolean 
+gboolean
 xfce_itembar_get_child_expand (XfceItembar * itembar, GtkWidget * item)
 {
     XfceItembarPrivate *priv;
     GList *l;
-    
+
     g_return_val_if_fail (XFCE_IS_ITEMBAR (itembar), FALSE);
-    g_return_val_if_fail (item != NULL && 
+    g_return_val_if_fail (item != NULL &&
                           GTK_WIDGET (item)->parent == GTK_WIDGET (itembar),
                           FALSE);
 
     priv = XFCE_ITEMBAR_GET_PRIVATE (XFCE_ITEMBAR (itembar));
-    
+
     for (l = priv->children; l != NULL; l = l->next)
     {
         XfceItembarChild *child = l->data;
@@ -1226,19 +1226,19 @@
  *
  * Sets whether @item should expand when the size of @itembar increases.
  **/
-void 
+void
 xfce_itembar_set_child_expand (XfceItembar * itembar, GtkWidget * item,
                                gboolean expand)
 {
     XfceItembarPrivate *priv;
     GList *l;
-    
+
     g_return_if_fail (XFCE_IS_ITEMBAR (itembar));
-    g_return_if_fail (item != NULL 
+    g_return_if_fail (item != NULL
                       && GTK_WIDGET (item)->parent == GTK_WIDGET (itembar));
 
     priv = XFCE_ITEMBAR_GET_PRIVATE (XFCE_ITEMBAR (itembar));
-    
+
     for (l = priv->children; l != NULL; l = l->next)
     {
         XfceItembarChild *child = l->data;
@@ -1263,11 +1263,11 @@
 xfce_itembar_get_n_items (XfceItembar * itembar)
 {
     XfceItembarPrivate *priv;
-    
+
     g_return_val_if_fail (XFCE_IS_ITEMBAR (itembar), 0);
 
     priv = XFCE_ITEMBAR_GET_PRIVATE (XFCE_ITEMBAR (itembar));
-    
+
     return g_list_length (priv->children);
 }
 
@@ -1284,14 +1284,14 @@
     XfceItembarPrivate *priv;
     GList *l;
     int n;
-    
+
     g_return_val_if_fail (XFCE_IS_ITEMBAR (itembar), -1);
-    g_return_val_if_fail (item != NULL 
-                                && GTK_WIDGET (item)->parent 
+    g_return_val_if_fail (item != NULL
+                                && GTK_WIDGET (item)->parent
                                         == GTK_WIDGET (itembar), -1);
 
     priv = XFCE_ITEMBAR_GET_PRIVATE (XFCE_ITEMBAR (itembar));
-    
+
     for (n = 0, l = priv->children; l != NULL; l = l->next, ++n)
     {
         XfceItembarChild *child = l->data;
@@ -1339,7 +1339,7 @@
  * @itembar : an #XfceItembar
  *
  * Raise the event window of @itembar. This causes all events, like
- * mouse clicks or key presses to be send to the itembar and not to 
+ * mouse clicks or key presses to be send to the itembar and not to
  * any item.
  *
  * See also: xfce_itembar_lower_event_window()
@@ -1415,21 +1415,21 @@
 {
     XfceItembarPrivate *priv;
     GList *l;
-    
+
     g_return_val_if_fail (XFCE_IS_ITEMBAR (itembar), NULL);
 
     priv = XFCE_ITEMBAR_GET_PRIVATE (itembar);
 
     x += GTK_WIDGET (itembar)->allocation.x;
     y += GTK_WIDGET (itembar)->allocation.y;
-    
+
     for (l = priv->children; l != NULL; l = l->next)
     {
         XfceItembarChild *child = l->data;
         GtkWidget *w = child->widget;
         GtkAllocation *a = &(w->allocation);
 
-        if (x >= a->x && x < a->x + a->width 
+        if (x >= a->x && x < a->x + a->width
             && y >= a->y && y < a->y + a->height)
         {
             return w;
@@ -1451,8 +1451,8 @@
  * inserted.
  *
  * @x and @y are in @itembar coordinates.
- * 
- * Returns: The position corresponding to the point (@x, @y) on the 
+ *
+ * Returns: The position corresponding to the point (@x, @y) on the
  * itembar.
  **/
 int

Modified: xfce4-panel/branches/xfce_4_4/mcs-plugin/Makefile.am
===================================================================
--- xfce4-panel/branches/xfce_4_4/mcs-plugin/Makefile.am        2007-07-08 
19:19:28 UTC (rev 25903)
+++ xfce4-panel/branches/xfce_4_4/mcs-plugin/Makefile.am        2007-07-09 
13:01:57 UTC (rev 25904)
@@ -17,7 +17,9 @@
 
 libxfce4settings_la_CFLAGS =                                           \
        -I$(top_srcdir)                                                 \
+       -DDATADIR=\"$(datadir)\"                                        \
        -DLOCALEDIR=\"$(localedir)\"                                    \
+       -DG_LOG_DOMAIN=\"panel-mcs-plugin\"                             \
        @LIBXFCEGUI4_CFLAGS@                                            \
        @XFCE_MCS_MANAGER_CFLAGS@
 

Modified: xfce4-panel/branches/xfce_4_4/mcs-plugin/plugin.c
===================================================================
--- xfce4-panel/branches/xfce_4_4/mcs-plugin/plugin.c   2007-07-08 19:19:28 UTC 
(rev 25903)
+++ xfce4-panel/branches/xfce_4_4/mcs-plugin/plugin.c   2007-07-09 13:01:57 UTC 
(rev 25904)
@@ -5,7 +5,7 @@
  *  Copyright © 2006 Jasper Huijsmans <[EMAIL PROTECTED]>
  *
  *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published 
+ *  it under the terms of the GNU General Public License as published
  *  by the Free Software Foundation; either version 2 of the License, or
  *  (at your option) any later version.
  *
@@ -33,27 +33,37 @@
 
 /* plugin init */
 McsPluginInitResult
-mcs_plugin_init (McsPlugin * mcs_plugin)
+mcs_plugin_init (McsPlugin * plugin)
 {
-    /* 
-       This is required for UTF-8 at least - Please don't remove it
-       And it needs to be done here for the label to be properly
-       localized....
-     */
+    GtkIconTheme *icon_theme;
+
+    /* setup i18n support */
     xfce_textdomain (GETTEXT_PACKAGE, LOCALEDIR, "UTF-8");
 
-    mcs_plugin->plugin_name = g_strdup ("xfce4panel");
-    mcs_plugin->caption = g_strdup (_("Panel"));
-    mcs_plugin->run_dialog = run_dialog;
-    mcs_plugin->icon = xfce_themed_icon_load ("xfce4-panel", 48);
+    /* initialize plugin structure */
+    plugin->plugin_name = g_strdup ("xfce4panel");
+    plugin->caption = g_strdup (_("Panel"));
+    plugin->run_dialog = run_dialog;
 
-    return (MCS_PLUGIN_INIT_OK);
+    /* lookup the icon (on the default icon theme, *sigh*) */
+    icon_theme = gtk_icon_theme_get_default ();
+    plugin->icon = gtk_icon_theme_load_icon (icon_theme, "xfce4-panel", 48, 0, 
NULL);
+
+    /* if that didn't work, we know where we installed the icon, so load it 
directly */
+    if (G_UNLIKELY (plugin->icon == NULL))
+        plugin->icon = gdk_pixbuf_new_from_file (DATADIR 
"/icons/hicolor/48x48/apps/xfce4-panel.png", NULL);
+
+    /* attach icon name to the plugin icon (if any) */
+    if (G_LIKELY (plugin->icon != NULL))
+        g_object_set_data_full (G_OBJECT (plugin->icon), 
"mcs-plugin-icon-name", g_strdup ("xfce4-panel"), g_free);
+
+    return MCS_PLUGIN_INIT_OK;
 }
 
 /* settings dialog */
 static void
 run_dialog (McsPlugin * mcs_plugin)
 {
-    g_spawn_command_line_async("xfce4-panel -c", NULL);
+    g_spawn_command_line_async ("xfce4-panel -c", NULL);
 }
 

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to