[Xfce4-commits] terminal:master l10n: Updated Dutch (Flemish) (nl) translation to 100%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to 56ba9e4710450198a9cc26b8a21ada9f6f496363 (commit)
   from c2a905ca292305401239e9286dbada3269e0b297 (commit)

commit 56ba9e4710450198a9cc26b8a21ada9f6f496363
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 11:33:09 2010 +0200

l10n: Updated Dutch (Flemish) (nl) translation to 100%

New status: 270 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/nl.po |  318 +++---
 1 files changed, 98 insertions(+), 220 deletions(-)

diff --git a/po/nl.po b/po/nl.po
index 0d1baf8..a56cda7 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -3,12 +3,12 @@
 # This file is distributed under the same license as the Terminal package.
 # Benedikt Meurer be...@xfce.org, 2004.
 # Jasper Huijsmans jas...@xfce.org, 2005.
-#
+# 
 msgid 
 msgstr 
 Project-Id-Version: Terminal\n
 Report-Msgid-Bugs-To: \n
-POT-Creation-Date: 2010-04-12 19:57+0200\n
+POT-Creation-Date: 2010-09-05 04:00+\n
 PO-Revision-Date: 2009-08-15 15:16-0800\n
 Last-Translator: Auke Kok auke-jan.h@intel.com\n
 Language-Team: os-cillation i...@os-cillation.com\n
@@ -86,8 +86,7 @@ msgstr icoon
 #: ../terminal/main.c:95
 #, c-format
 msgid See the %s man page for full explanation of the options above.
-msgstr 
-Bekijk de %s man page voor de volledige uitleg van de opties hierboven.
+msgstr Bekijk de %s man page voor de volledige uitleg van de opties 
hierboven.
 
 #: ../terminal/main.c:126 ../terminal/terminal-preferences.c:1262
 #: ../terminal/terminal-shortcut-editor.c:119 ../Terminal.desktop.in.in.h:1
@@ -119,7 +118,7 @@ msgstr 
 \n
 Rapporteer fouten aan %s.\n
 
-#: ../terminal/main.c:250
+#: ../terminal/main.c:254
 #, c-format
 msgid Unable to register terminal service: %s\n
 msgstr Kan terminal service niet registreren: %s\n
@@ -129,17 +128,20 @@ msgstr Kan terminal service niet registreren: %s\n
 msgid Invalid geometry string \%s\\n
 msgstr Ongeldige geometrie \%s\\n
 
-#: ../terminal/terminal-dbus.c:107
+#: ../terminal/terminal-dbus.c:113
 msgid User id mismatch
 msgstr Ongeldige gebruikers-id
 
-#: ../terminal/terminal-dbus.c:133
+#: ../terminal/terminal-dbus.c:119
+msgid Display mismatch
+msgstr Ongeldig display
+
+#: ../terminal/terminal-dbus.c:145
 #, c-format
 msgid D-BUS message bus disconnected, exiting...\n
-msgstr 
-Verbinding met D-BUS message bus is verbroken, bezig met afsluiten...\n
+msgstr Verbinding met D-BUS message bus is verbroken, bezig met 
afsluiten...\n
 
-#: ../terminal/terminal-dbus.c:195
+#: ../terminal/terminal-dbus.c:207
 #, c-format
 msgid Unable to register object %s
 msgstr Kan object niet registreren: %s
@@ -163,12 +165,8 @@ msgstr De %s gebruikershandleiding is niet geïnstalleerd 
op deze computer
 
 #: ../terminal/terminal-dialogs.c:218
 #, c-format
-msgid 
-You can read the user manual online. This manual may however not exactly 
-match your %s version.
-msgstr 
-Je kan de handleiding online lezen. Deze handleiding zou wat kunnen afwijken 
-van deze %s versie.
+msgid You can read the user manual online. This manual may however not 
exactly match your %s version.
+msgstr Je kan de handleiding online lezen. Deze handleiding zou wat kunnen 
afwijken van deze %s versie.
 
 #: ../terminal/terminal-dialogs.c:220
 msgid User manual is missing
@@ -185,38 +183,27 @@ msgstr De documentatie browser kan niet worden gestart
 
 #: ../terminal/terminal-options.c:210
 #, c-format
-msgid 
-Option \--default-display\ requires specifying the default X display as 
-its parameter
+msgid Option \--default-display\ requires specifying the default X display 
as its parameter
 msgstr De optie \--default-display\ vereist een X display als argument
 
 #: ../terminal/terminal-options.c:225
 #, c-format
-msgid 
-Option \--default-working-directory\ requires specifying the default 
-working directory as its parameter
-msgstr 
-De option \--default-working-directory\ vereist een directory als argument
+msgid Option \--default-working-directory\ requires specifying the default 
working directory as its parameter
+msgstr De option \--default-working-directory\ vereist een directory als 
argument
 
 #: ../terminal/terminal-options.c:241
 #, c-format
-msgid 
-Option \--execute/-x\ requires specifying the command to run on the rest 
-of the command line
+msgid Option \--execute/-x\ requires specifying the command to run on the 
rest of the command line
 msgstr De optie \--execute/-x\ vereist een commandoregel als argument
 
 #: ../terminal/terminal-options.c:258
 #, c-format
-msgid 
-Option \--command/-e\ requires specifying the command to run as its 
-parameter
+msgid Option \--command/-e\ requires specifying the command to run as its 
parameter
 msgstr De optie \--command/-e\ vereist een commando als argument
 
 #: ../terminal/terminal-options.c:275
 #, c-format
-msgid 
-Option \--working-directory\ requires specifying the working directory as 
-its parameter
+msgid Option 

[Xfce4-commits] xfce4-panel:master Post release tag bump.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 31fd8ac66dc2ac2e542a31794bf65b2e23a0f50d (commit)
   from 3dd578204a0172cfc00add4417ca3212398b1a99 (commit)

commit 31fd8ac66dc2ac2e542a31794bf65b2e23a0f50d
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 12:16:24 2010 +0200

Post release tag bump.

 configure.ac.in |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/configure.ac.in b/configure.ac.in
index 24abd0f..30b2dac 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -15,7 +15,7 @@ m4_define([xfce4_panel_version_minor], [7])
 m4_define([xfce4_panel_version_micro], [3])
 m4_define([xfce4_panel_version_nano],  []) dnl leave this empty to have no 
nano version
 m4_define([xfce4_panel_version_build], [...@revision@])
-m4_define([xfce4_panel_version_tag],   [])
+m4_define([xfce4_panel_version_tag],   [git])
 m4_define([xfce4_panel_version], 
[xfce4_panel_version_major().xfce4_panel_version_minor().xfce4_panel_version_micro()ifelse(xfce4_panel_version_nano(),
 [], [], [.xfce4_panel_version_nano()])ifelse(xfce4_panel_version_tag(), [git], 
[xfce4_panel_version_tag()-xfce4_panel_version_build()], 
[xfce4_panel_version_tag()])])
 
 dnl ***
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-panel:master Updates for release.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 3dd578204a0172cfc00add4417ca3212398b1a99 (commit)
   from 9caf913d26b96ca657df8c43ef401a3db5ef588f (commit)

commit 3dd578204a0172cfc00add4417ca3212398b1a99
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 12:13:12 2010 +0200

Updates for release.

 NEWS|   23 +++
 configure.ac.in |4 ++--
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 3d393e2..f382d0a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,26 @@
+4.7.3
+=
+- Add support to run plugins in valgrind.
+- Add lXext to tasklist libraries (bug #6471).
+- Add a pager mode with normal buttons.
+- Fix menu positioning with autohide panels.
+- Always wait for a grab if we popup menus from events.
+- Don't handle grabs on the window from menu's.
+- Register the plugin menu to block autohide.
+- Make the session warning a non-aborting error for startxfce4.
+- Allow to quit the panel if no session manager is running.
+- Improve checking if we own the dbus name.
+- Delay allocation of event table until we use it.
+- Add workspace settings option to pager submenu.
+- Libxfce4panel-1.0.pc is missing variable localedir (bug #6629).
+- Remove deprecated encoding key from desktop files.
+- Move helpers applications to $libdir.
+- Move module panel plugins in $libdir/xfce4/panel/plugins.
+- Add cast to fix a compile error in external 4.6 plugins.
+- Fix activating the panel when a plugin asks for focus.
+- Translation updates (pt_BR, da, hu, de, pt, ca, fr, kk, it,
+  zh_TW).
+
 4.7.2
 =
 - Fix typos in translated strings (bug #6350).
diff --git a/configure.ac.in b/configure.ac.in
index 3c60033..24abd0f 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -12,10 +12,10 @@ m4_define([libxfce4panel_verinfo], [3:0:0]) dnl 
current:revision:age
 m4_define([libxfce4panel_version_api], [1.0])
 m4_define([xfce4_panel_version_major], [4])
 m4_define([xfce4_panel_version_minor], [7])
-m4_define([xfce4_panel_version_micro], [2])
+m4_define([xfce4_panel_version_micro], [3])
 m4_define([xfce4_panel_version_nano],  []) dnl leave this empty to have no 
nano version
 m4_define([xfce4_panel_version_build], [...@revision@])
-m4_define([xfce4_panel_version_tag],   [git])
+m4_define([xfce4_panel_version_tag],   [])
 m4_define([xfce4_panel_version], 
[xfce4_panel_version_major().xfce4_panel_version_minor().xfce4_panel_version_micro()ifelse(xfce4_panel_version_nano(),
 [], [], [.xfce4_panel_version_nano()])ifelse(xfce4_panel_version_tag(), [git], 
[xfce4_panel_version_tag()-xfce4_panel_version_build()], 
[xfce4_panel_version_tag()])])
 
 dnl ***
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] exo:master Updates for release.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to d494f23f0f1b40b8fcb479bf110f97a9a0681fdb (commit)
   from b8c69b2a853d29b2d49dc8cdee82bda68bf65b13 (commit)

commit d494f23f0f1b40b8fcb479bf110f97a9a0681fdb
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 12:26:23 2010 +0200

Updates for release.

 NEWS|7 +++
 configure.in.in |4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 4a20b7c..d529ec0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,10 @@
+0.5.4
+=
+- Abort dist if xml is not valid.
+- Move files from $libexecdir to $libdir.
+- Remove deprecated encoding key from desktop files.
+- Translation updates (fi, fr, he, kk, it, uk, de, zh_TW).
+
 0.5.3
 =
 - Drop all HAL related code. Exo-hal is not used by thunar-volman
diff --git a/configure.in.in b/configure.in.in
index 7d70a1b..50ffeaf 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -12,10 +12,10 @@ m4_define([libexo_verinfo], [0:0:0])
 m4_define([libexo_version_api], [1])
 m4_define([libexo_version_major], [0])
 m4_define([libexo_version_minor], [5])
-m4_define([libexo_version_micro], [3])
+m4_define([libexo_version_micro], [4])
 m4_define([libexo_version_nano], [])
 m4_define([libexo_version_build], [...@revision@])
-m4_define([libexo_version_tag], [git])
+m4_define([libexo_version_tag], [])
 m4_define([libexo_version], 
[libexo_version_major().libexo_version_minor().libexo_version_micro()ifelse(libexo_version_nano(),
 [], [], [.libexo_version_nano()])ifelse(libexo_version_tag(), [git], 
[libexo_version_tag()-libexo_version_build()], [libexo_version_tag()])])
 
 dnl 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] exo:master Post release tag bump.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 3726d3663dc3fa867da86525e9e413c504f8e038 (commit)
   from d494f23f0f1b40b8fcb479bf110f97a9a0681fdb (commit)

commit 3726d3663dc3fa867da86525e9e413c504f8e038
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 12:28:15 2010 +0200

Post release tag bump.

 configure.in.in |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/configure.in.in b/configure.in.in
index 50ffeaf..327a0c8 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -15,7 +15,7 @@ m4_define([libexo_version_minor], [5])
 m4_define([libexo_version_micro], [4])
 m4_define([libexo_version_nano], [])
 m4_define([libexo_version_build], [...@revision@])
-m4_define([libexo_version_tag], [])
+m4_define([libexo_version_tag], [git])
 m4_define([libexo_version], 
[libexo_version_major().libexo_version_minor().libexo_version_micro()ifelse(libexo_version_nano(),
 [], [], [.libexo_version_nano()])ifelse(libexo_version_tag(), [git], 
[libexo_version_tag()-libexo_version_build()], [libexo_version_tag()])])
 
 dnl 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] libxfce4ui:master Updates for release.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 22c659512615023e18cb3eaa0cbee92f3e1931a1 (commit)
   from e509cea4e1a14149216a9085b21b79528341ca2c (commit)

commit 22c659512615023e18cb3eaa0cbee92f3e1931a1
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 12:34:31 2010 +0200

Updates for release.

 NEWS|7 +++
 configure.ac.in |4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 2a55b78..d8a03de 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,10 @@
+4.7.3
+=
+- Fix typo preventing shortcuts from working with new users.
+- Make g_critical warning about exit(0) a DBG message.
+- Translation updates (is, zh_TW, tr, hu, fr, sk, el, id, de).
+
+
 4.7.2
 =
 - Add key binding to popup Xfdesktop menu (bug #4994).
diff --git a/configure.ac.in b/configure.ac.in
index 435e679..10f7880 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -10,10 +10,10 @@ m4_define([libxfce4ui_verinfo], [0:0:0])
 m4_define([libxfce4ui_version_api], [1])
 m4_define([libxfce4ui_version_major], [4])
 m4_define([libxfce4ui_version_minor], [7])
-m4_define([libxfce4ui_version_micro], [2])
+m4_define([libxfce4ui_version_micro], [3])
 m4_define([libxfce4ui_version_nano], []) dnl leave this empty to have no nano 
version
 m4_define([libxfce4ui_version_build], [...@revision@])
-m4_define([libxfce4ui_version_tag], [git])
+m4_define([libxfce4ui_version_tag], [])
 m4_define([libxfce4ui_version], 
[libxfce4ui_version_major().libxfce4ui_version_minor().libxfce4ui_version_micro()ifelse(libxfce4ui_version_nano(),
 [], [], [.libxfce4ui_version_nano()])ifelse(libxfce4ui_version_tag(), [git], 
[libxfce4ui_version_tag()-libxfce4ui_version_build()], 
[libxfce4ui_version_tag()])])
 
 m4_define([libxfce4kbd_private_verinfo], [0:0:0])
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce-utils:master Updates for release.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 4dc51777286d940c4cc7f03a0b5b021f4c972f47 (commit)
   from 926d25517984a9d48da02f4074085cc907fb6984 (commit)

commit 4dc51777286d940c4cc7f03a0b5b021f4c972f47
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 12:54:55 2010 +0200

Updates for release.

 NEWS|   27 ++-
 configure.in.in |   19 ---
 2 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/NEWS b/NEWS
index 14b28f4..d28f39d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,34 @@
 4.7.0
 =
-
+- Fix gpg/ssh-agent startup for users with pam_ssh installed.
+- $dbuslaunch var isn't used anymore (bug #5863).
+- Start ssh-agent before dbus so dbus has the env vars set.
+- Switch to xdt 4.7.2.
+- Port to libxfce4ui.
+- Bump copyright to 2010.
+- Add slock functionality (bug #6253).
+- Add desktop files for the applications in the Xfce menu.
+- Avoid /usr/local/share being added to XDG_DATA_DIRS more than once.
+- Build ChangeLog from GIT.
+- Hide xfconf-query warnings when properties do not exist.
+- Launch xfce4-session with ck-launch-session if installed.
+- Use right comment character in Xft.xrdb (bug #6314).
+- Also kill ssh-agent in bash like environment (bug #6476).
+- Spawn dbus-launch before the dbus users (bug #5576).
+- Don't set /usr/share twice in XDG_DATA_DIRS (bug #5151).
+- Startxfce4 doesn't handle empty client options (bug #5382).
+- Fix some bashism in xinitrc (bug #5557).
+- Make xinitrc work with Solaris (bug #5557).
+- Remove deprecated encoding key from desktop files.
+- Build documentation during make dist.
+- Fix xfhelp4 for the new documentation locations.
 - Add support for starting gpg-agent.
 - Add ability to enable/disable or change the type of screensaver and
   ssh-agent using xfconf.
+- Remove duplicate Makefile.am entry for xfterm4.
+- Translation updates (pl, gl, pt, ro, lv, ur, ur_PK, zh_CN, hu, ast, kk,
+  el, ru, sk, sq, it, da, ja, pt, ca, nl, pt_BR, cs, fi, eu, si, bg, pa,
+  uk).
 
 
 4.6.1
diff --git a/configure.in.in b/configure.in.in
index f878f4f..6ee3233 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -8,7 +8,17 @@ dnl Huijsmans jas...@xfce.org, Benedikt Meurer 
be...@xfce.org
 dnl and Xavier MAILLARD ze...@fxgsproject.org.
 dnl
 
-m4_define([xfce_utils_version], [4.7.0git])
+dnl Version information
+m4_define([xfce_utils_version_major], [4])
+m4_define([xfce_utils_version_minor], [7])
+m4_define([xfce_utils_version_micro], [0])
+m4_define([xfce_utils_version_nano],  []) dnl leave this empty to have no nano 
version
+m4_define([xfce_utils_version_build], [...@revision@])
+m4_define([xfce_utils_version_tag],   [])
+m4_define([xfce_utils_version], 
[xfce_utils_version_major().xfce_utils_version_minor().xfce_utils_version_micro()ifelse(xfce_utils_version_nano(),
 [], [], [.xfce_utils_version_nano()])ifelse(xfce_utils_version_tag(), [git], 
[xfce_utils_version_tag()-xfce_utils_version_build()], 
[xfce_utils_version_tag()])])
+
+dnl Debugging support for GIT snapshots
+m4_define([xfce_utils_debug_default], [ifelse(xfce_utils_version_tag(), [git], 
[yes], [minimum])])
 
 AC_INIT([xfce-utils], [xfce_utils_version], [x...@xfce.org])
 AM_INIT_AUTOMAKE([dist-bzip2])
@@ -76,7 +86,7 @@ AC_MSG_RESULT([$with_xsession_prefix])
 dnl the xfconf migration requires perl with XML::Parser
 AC_ARG_ENABLE([xfconf-migration],
   [AC_HELP_STRING([--disable-xfconf-migration],
-  [Don't require perl/XML::Parser for Xfconf 
settings migration @:@default=required@:@])],
+  [Do not require perl/XML::Parser for Xfconf 
settings migration @:@default=required@:@])],
   [do_xfconf_migration=$enableval], [do_xfconf_migration=yes])
 if test x$do_xfconf_migration = xyes; then
 AC_PATH_PROGS([PERL], [perl5.8 perl5.6 perl5 perl])
@@ -144,7 +154,10 @@ fi
 AM_CONDITIONAL([GENERATE_DOCUMENTATION], [test x$enable_gen_doc = xyes])
 
 dnl Check for debugging support
-XDT_FEATURE_DEBUG
+XDT_FEATURE_DEBUG([xfce_utils_debug_default])
+
+dnl Check for linker optimizations
+XDT_FEATURE_LINKER_OPTS()
 
 dnl Check for vendor specific information
 AC_MSG_CHECKING([for additional vendor info])
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce-utils:master Post release tag bump.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to e4f40536b8982555e7bf4d8a67819a9179764a43 (commit)
   from 4dc51777286d940c4cc7f03a0b5b021f4c972f47 (commit)

commit e4f40536b8982555e7bf4d8a67819a9179764a43
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 12:57:23 2010 +0200

Post release tag bump.

 configure.in.in |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/configure.in.in b/configure.in.in
index 6ee3233..67b3baf 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -14,7 +14,7 @@ m4_define([xfce_utils_version_minor], [7])
 m4_define([xfce_utils_version_micro], [0])
 m4_define([xfce_utils_version_nano],  []) dnl leave this empty to have no nano 
version
 m4_define([xfce_utils_version_build], [...@revision@])
-m4_define([xfce_utils_version_tag],   [])
+m4_define([xfce_utils_version_tag],   [git])
 m4_define([xfce_utils_version], 
[xfce_utils_version_major().xfce_utils_version_minor().xfce_utils_version_micro()ifelse(xfce_utils_version_nano(),
 [], [], [.xfce_utils_version_nano()])ifelse(xfce_utils_version_tag(), [git], 
[xfce_utils_version_tag()-xfce_utils_version_build()], 
[xfce_utils_version_tag()])])
 
 dnl Debugging support for GIT snapshots
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce-utils|xfce-utils-4.7.0 Creating annotated tag xfce-utils-4.7.0

2010-09-05 Thread Nick Schermer
Updating annotated tag refs/tags/xfce-utils-4.7.0
 as new annotated tag
 to 7f25ce6280cae86a1ff18a9456192bdb77de9651 (tag)
   succeeds xfce-4.6.1
  tagged by Nick Schermer n...@xfce.org
 on 2010-09-05 10:56 +

A S  Alam (1):
  l10n: Updated Panjabi (Punjabi) (pa) translation to 100%

Abel Martín (2):
  l10n: Updated Spanish (Castilian) (es) translation to 100%
  l10n: Updated Spanish (Castilian) (es) translation to 100%

Aleksandr Ponomarenko (3):
  l10n: Updated Russian (ru) translation to 100%
  l10n: Updated Russian (ru) translation to 90%
  l10n: Updated Russian (ru) translation to 100%

Andhika Padmawan (1):
  l10n: Updated Indonesian (id) translation to 100%

Bauzhan Muftakhidinov (3):
  l10n: New translation to kazakh
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%

Besnik Bleta (1):
  l10n: Updates to Albanian (sq) translation

Brian J. Tarricone (7):
  add module description file
  support enable/disable of screensaver and ssh-agent on startup
  bump version and undef RELEASE_LABEL
  update NEWS
  fix gpg/ssh-agent startup for users with pam_ssh installed
  $dbuslaunch var isn't used anymore (bug 5863)
  start ssh-agent before dbus so dbus has the env vars set

Carles Muñoz Gorriz (2):
  l10n: Updates to Catalan (Valencian) (ca) translation
  l10n: Updated Catalan (Valencian) (ca) translation to 100%

Cheng-Chia Tseng (2):
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%

Cristian Marchi (3):
  l10n: Updates to Italian (it) translation
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%

Danishka Navin (2):
  l10n: Updated Sinhala (si) translation to 100%
  l10n: Updated Sinhala (si) translation to 100%

Dave Mueller (1):
  Also kill ssh-agent in bash like environment (bug #6476).

Denis Koryavov (2):
  l10n: Updates to Russian (ru) translation
  l10n: Updated Russian (ru) translation to 100%

Dmitry Nikitin (2):
  l10n: Updated Ukrainian (uk) translation to 100%
  l10n: Updated Ukrainian (uk) translation to 100%

Dumitru Moldovan (2):
  Romanian update for xfce-utils trunk and xfce_4_6
  Added initial xfce4-settings Romanian translation

Evaggelos Balaskas (3):
  l10n: Updates to Greek (el) translation
  Add slock functionality (bug #6253).
  l10n: Updated Greek (el) translation to 100%

Fabian Nowak (1):
  l10n: Updated German (de) translation to 100%

Gabor Kelemen (3):
  2009-06-15  Gabor Kelemen  kelem...@gnome.hu
  l10n: Updated Hungarian (hu) translation to 100%
  l10n: Updated Hungarian (hu) translation to 100%

Gheyret Kenji (1):
  l10n: Uyghur translation

Ivica  Kolić (1):
  l10n: Initial Croatian (hr) translation

Jamil Ahmed (1):
  l10n: Adding Bengali translation.

Jannis Pohlmann (4):
  Apply patch to add INFO.pt to xfce4-about. Thanks Mike.
  Fix various small compile errors.
  Remove duplicate Makefile.am entry for xfterm4.
  Avoid /usr/local/share being added to XDG_DATA_DIRS more than once.

Jari Rahkonen (2):
  l10n: Updated Finnish (fi) translation to 100%
  l10n: Updated Finnish (fi) translation to 100%

Johannes Lips (1):
  l10n: Updated German (de) translation to 85%

Krasimir Chonov (1):
  l10n: Updated Bulgarian (bg) translation to 66%

Leandro Regueiro (4):
  l10n: Updates to Galician (gl) translation
  l10n: Updates to Galician (gl) translation
  l10n: Updated Galician (gl) translation to 100%
  l10n: Updated Galician (gl) translation to 100%

Masato Hashimoto (1):
  l10n: Updates to Japanese (ja) translation

Maximilian Schleiss (1):
  l10n: Updated French (fr) translation to 100%

Michael Martins (2):
  l10n: Updated Portuguese (Brazilian) (pt_BR) translation to 90%
  l10n: Updated Portuguese (Brazilian) (pt_BR) translation to 100%

Michal Várady (1):
  l10n: Updated Czech (cs) translation to 100%

Mike Massonnet (10):
  galician translation update
  xfce translation update
  update latvian translation
  update xfce translations
  Drop svn:executable bit from po files
  update translation
  Add Asturian translations
  update xfce translation
  Use right comment character in Xft.xrdb (bug #6314).
  Startxfce4 doesn't handle empty client options (bug #5382).

Nick Schermer (17):
  Fix typo.
  Drop pot file and switch to xdt 4.7.2.
  Port to libxfce4ui.
  Bump copyright to 2010.
  Add desktop files for the applications in the Xfce menu.
  Build ChangeLog from GIT.
  Hide xfconf-query warnings when properties do not exist.
  Launch xfce4-session with ck-launch-session if installed.
  Spawn dbus-launch before the dbus users (bug #5576).
  Don't set /usr/share twice 

[Xfce4-commits] xfce4-appfinder:master Updates for release.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 118bad4038dd604b24d97b2157e363851b614baf (commit)
   from bca37baae9b0f37eec43789356b70544e62a72a4 (commit)

commit 118bad4038dd604b24d97b2157e363851b614baf
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 13:10:15 2010 +0200

Updates for release.

 NEWS|   21 +
 configure.in.in |2 +-
 2 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/NEWS b/NEWS
index 4746828..df8c8d2 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,24 @@
+4.7.0
+=
+- Remove deprecated encoding key from desktop file.
+- Build ChangeLog from GIT and use XDT 4.7.2.
+- Rename Execute button to Launch.
+- Port the libxfce4menu code to garcon.
+- Use Gtk api for entry icon, if available.
+- Port to libxfce4ui and gio.
+- Rework the tooltip string code a little.
+- Don't use startup notification for now.
+- Translation updates (gl, lv, ro, hu, ast, kk, el, ru, sk, sq, ja,
+  eu, da, pt, cs, zh_CN, ca, fr, sv, es, pt_BR, nl, fi, it, uk, de, he).
+
+
+4.6.2
+=
+- Build fixes for GIT.
+- Properly propagate the focus-in-event of the search entry (bug #5883).
+- Translation updates (es, gl, hu, id, it, pl, pt, tr, lv, ur, ur_PK,
+  ro, sq, sk, nl, kk, ug).
+
 4.6.1
 
 - Translation updates:
diff --git a/configure.in.in b/configure.in.in
index f0cfe18..d19da35 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -11,7 +11,7 @@ m4_define([xfce4_appfinder_version_minor], [7])
 m4_define([xfce4_appfinder_version_micro], [0])
 m4_define([xfce4_appfinder_version_nano],  []) dnl leave this empty to have no 
nano version
 m4_define([xfce4_appfinder_version_build], [...@revision@])
-m4_define([xfce4_appfinder_version_tag],   [git])
+m4_define([xfce4_appfinder_version_tag],   [])
 m4_define([xfce4_appfinder_version], 
[xfce4_appfinder_version_major().xfce4_appfinder_version_minor().xfce4_appfinder_version_micro()ifelse(xfce4_appfinder_version_nano(),
 [], [], 
[.xfce4_appfinder_version_nano()])ifelse(xfce4_appfinder_version_tag(), [git], 
[xfce4_appfinder_version_tag()-xfce4_appfinder_version_build()], 
[xfce4_appfinder_version_tag()])])
 
 dnl ***
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-appfinder:master Post release tag bump.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 8b95635d6a8164636ffe00a01fce99e05a4f0f03 (commit)
   from 118bad4038dd604b24d97b2157e363851b614baf (commit)

commit 8b95635d6a8164636ffe00a01fce99e05a4f0f03
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 13:14:08 2010 +0200

Post release tag bump.

 configure.in.in |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/configure.in.in b/configure.in.in
index d19da35..f0cfe18 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -11,7 +11,7 @@ m4_define([xfce4_appfinder_version_minor], [7])
 m4_define([xfce4_appfinder_version_micro], [0])
 m4_define([xfce4_appfinder_version_nano],  []) dnl leave this empty to have no 
nano version
 m4_define([xfce4_appfinder_version_build], [...@revision@])
-m4_define([xfce4_appfinder_version_tag],   [])
+m4_define([xfce4_appfinder_version_tag],   [git])
 m4_define([xfce4_appfinder_version], 
[xfce4_appfinder_version_major().xfce4_appfinder_version_minor().xfce4_appfinder_version_micro()ifelse(xfce4_appfinder_version_nano(),
 [], [], 
[.xfce4_appfinder_version_nano()])ifelse(xfce4_appfinder_version_tag(), [git], 
[xfce4_appfinder_version_tag()-xfce4_appfinder_version_build()], 
[xfce4_appfinder_version_tag()])])
 
 dnl ***
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-appfinder|xfce4-appfinder-4.7.0 Creating annotated tag xfce4-appfinder-4.7.0

2010-09-05 Thread Nick Schermer
Updating annotated tag refs/tags/xfce4-appfinder-4.7.0
 as new annotated tag
 to dadd5d875de13095e3c518385edb3ca27720056a (tag)
   succeeds xfce-4.6.1
  tagged by Nick Schermer n...@xfce.org
 on 2010-09-05 11:13 +

A S  Alam (1):
  l10n: Updated Panjabi (Punjabi) (pa) translation to 100%

Abel Martín (1):
  l10n: Updates to Spanish (Castilian) (es) translation

Andhika Padmawan (1):
  l10n: Updated Indonesian (id) translation to 100%

Bauzhan Muftakhidinov (2):
  l10n: New translation to kazakh
  l10n: Updated Kazakh (kk) translation to 100%

Besnik Bleta (1):
  l10n: Updates to Albanian (sq) translation

Carles Muñoz Gorriz (1):
  l10n: Updates to Catalan (Valencian) (ca) translation

Cheng-Chia Tseng (2):
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%

Daniel Nylander (1):
  l10n: Updates to Swedish (sv) translation

Denis Koryavov (2):
  l10n: Updates to Russian (ru) translation
  l10n: Updated Russian (ru) translation to 100%

Dmitry Nikitin (1):
  l10n: Updated Ukrainian (uk) translation to 100%

Dumitru Moldovan (2):
  Romanian translation update for xfce4-appfinder trunk and xfce_4_6
  Added initial xfce4-settings Romanian translation

Evaggelos Balaskas (2):
  l10n: Updates to Greek (el) translation
  l10n: Updated Greek (el) translation to 100%

Fabian Nowak (1):
  l10n: Updated German (de) translation to 100%

Gabor Kelemen (2):
  2009-06-15  Gabor Kelemen  kelem...@gnome.hu
  l10n: Updated Hungarian (hu) translation to 100%

Gheyret Kenji (1):
  l10n: Uyghur translation

Ivica  Kolić (1):
  l10n: Initial Croatian (hr) translation

Jamil Ahmed (1):
  l10n: Adding Bengali translation.

Jannis Pohlmann (5):
  * src/xfce-appfinder-window.c: Don't use startup notification for now.
  * src/xfce-appfinder-window.c: Rework the tooltip string code a little
  Make sure strings are up to date.
  Rename Execute button to Launch. Patch by Jérôme Guelfucci.
  Properly propagate the focus-in-event of the search entry (bug #5883).

Jari Rahkonen (1):
  l10n: Updated Finnish (fi) translation to 100%

Leandro Regueiro (2):
  l10n: Updates to Galician (gl) translation
  l10n: Updates to Galician (gl) translation

Leonardo Totaro (1):
  l10n: Updated Italian (it) translation to 100%

Masato Hashimoto (1):
  l10n: Updates to Japanese (ja) translation

Massonnet Mike (1):
  l10n: Updates to French (fr) translation

Michal Várady (1):
  l10n: Updates to Czech (cs) translation

Mike Massonnet (7):
  galician translation update
  xfce translation update
  update latvian translation
  update xfce translations
  Drop svn:executable bit from po files
  Add Asturian translations
  update xfce translation

Nick Schermer (9):
  Port to libxfce4ui and gio.
  Whoops, pack the check button in the correct place.
  Use Gtk api for entry icon, if available.
  Port the libxfce4menu code to garcon.
  Use new xdt build stuff.
  Drop pot file.
  Build ChangeLog from GIT.
  Remove deprecated encoding key from desktop file.
  Updates for release.

Nuno Miguel (1):
  l10n: Updates to Portuguese (pt) translation

Og Maciel (1):
  l10n: Updated Portuguese (Brazilian) (pt_BR) translation to 100%

Per Kongstad (1):
  l10n: Updates to Danish (da) translation

Piarres Beobide (1):
  l10n: Updates to Basque (eu) translation

Rihards Prieditis (1):
  l10n: Updates to Latvian (lv) translation

Robert Hartl (2):
  l10n: Updates to Slovak (sk) translation
  l10n: Updates to Slovak (sk) translation

Sankarshan Mukhopadhyay (1):
  l10n: Updated Bengali (India) (bn_IN) translation to 55%

Timo Verbeek (1):
  l10n: Updated Dutch (Flemish) (nl) translation to 85%

Xu Meihong (1):
  l10n: Updates to Chinese (China) (zh_CN) translation

Yaron Shahrabani (1):
  l10n: Updated Hebrew (he) translation to 100%

___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-session:master Post release tag bump.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to b39be237c7fc437d0f2b163512214a10eeba7b91 (commit)
   from 9fe84faaa2677cd6f1550a565fc8955c2986f7e9 (commit)

commit b39be237c7fc437d0f2b163512214a10eeba7b91
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 13:40:14 2010 +0200

Post release tag bump.

 configure.in.in |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/configure.in.in b/configure.in.in
index 31ee7f5..3a8223a 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -12,7 +12,7 @@ m4_define([xfsm_version_minor], [7])
 m4_define([xfsm_version_micro], [0])
 m4_define([xfsm_version_nano], []) dnl leave this empty to have no nano version
 m4_define([xfsm_version_build], [...@revision@])
-m4_define([xfsm_version_tag], [])
+m4_define([xfsm_version_tag], [git])
 m4_define([xfsm_version], 
[xfsm_version_major().xfsm_version_minor().xfsm_version_micro()ifelse(xfsm_version_nano(),
 [], [], [.xfsm_version_nano()])ifelse(xfsm_version_tag(), [git], 
[xfsm_version_tag()-xfsm_version_build()], [xfsm_version_tag()])])
 
 m4_define([xfsm_debug_default], [ifelse(xfsm_version_tag(), [git], [full], 
[minimum])])
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-session|xfce4-session-4.7.0 Creating annotated tag xfce4-session-4.7.0

2010-09-05 Thread Nick Schermer
Updating annotated tag refs/tags/xfce4-session-4.7.0
 as new annotated tag
 to a3b5e4e6170c845d16133dbe767fcf63a3a60ffe (tag)
   succeeds xfce-4.6.1
  tagged by Nick Schermer n...@xfce.org
 on 2010-09-05 11:38 +

Abel Martín (3):
  l10n: Updated Spanish (Castilian) (es) translation to 98%
  l10n: Updated Spanish (Castilian) (es) translation to 100%
  l10n: Updated Spanish (Castilian) (es) translation to 100%

Aleksandr Ponomarenko (3):
  l10n: Updated Russian (ru) translation to 86%
  l10n: Updated Russian (ru) translation to 98%
  l10n: Updated Russian (ru) translation to 100%

Ali Abdallah (15):
  Use ConsoleKit if runnin to open a consolekit session, so consolekit 
knows that there is
  On startup, open a session with ConsoleKit and set the cookie on 
XDG_SESSION_COOKIE env (as the doc says),
  Use __FreeBSD__ instead of HAVE_FREEBSD which wasn't defined in config.h.
  Use dbus_g_proxy_new_for_name_owner for the well known services name, as 
this will
  Use g_set_error instead of g_error_new for sleep/shutdown errors.
  Fix a typo that was causing HAL sleep requests to fails
  Declare the GTypes used for polkit as static.
  Remove no longer needed xfsm_dbus_name_has_owner function.
  Uset the GValue used to get polkit authorization result.
  Fix consolekit proxy unref.
  Create polkit subject only when we have valid data to set, 
consolkit-session or pid/process start time.
  Fix a typo for system bus ckeck.
  Using dbus_g_proxy_new_for_name_owner when the session tries to figure 
out which
  Fix a typo in upower interfrace name
  Fix a typo in hal sleeps enums...

Andhika Padmawan (3):
  l10n: Updated Indonesian (id) translation to 99%
  l10n: Updated Indonesian (id) translation to 100%
  l10n: Updated Indonesian (id) translation to 100%

Andres Kovtunos (1):
  l10n: Updated Russian (ru) translation to 100%

Bauzhan Muftakhidinov (5):
  l10n: New translation to Kazakh
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%

Besnik Bleta (2):
  l10n: Updates to Albanian (sq) translation
  l10n: Updates to Albanian (sq) translation

Brian J. Tarricone (7):
  add module description file
  huge refactoring of how SM properties are handled
  display richer information if the SM knows the client's .desktop file
  remove some unneeded debugging statements
  update NEWS
  if it looks like the helper got killed, just return success (bug 4849)
  fix crash when properties are freed in failure handler (bug 5797)

Brian Tarricone (12):
  * xfce4-session/xfsm-global.c: Add timing information to verbose
  fix a boatload of warnings, update-po
  query HAL if suspend/hibernate are supported
  update NEWS
  allow xfce4-tips to work properly without 'fortune' installed (bug 2871)
  add org.freedesktop.PowerManagement support for logout actions
  don't use obsolete autoconf macros; bump AC_PREREQ to 2.59c
  add panel plugin that lists shutdown/logout actions
  update-po
  install plugin binary to correct location for 4.6 panel
  add license header and proper include/feature guards
  returning TRUE for size-changed has the same effect

Carles Muñoz Gorriz (5):
  l10n: Updates to Catalan (Valencian) (ca) translation
  l10n: Updated Catalan (Valencian) (ca) translation to 100%
  l10n: Updated Catalan (Valencian) (ca) translation to 100%
  l10n: Updated Catalan (Valencian) (ca) translation to 100%
  l10n: Updated Catalan (Valencian) (ca) translation to 100%

Cheng-Chia Tseng (3):
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%

Cristian Marchi (5):
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 96%

Daniel Nylander (1):
  l10n: Updates to Swedish (sv) translation

Denis Koryavov (2):
  l10n: Updates to Russian (ru) translation
  l10n: Updated Russian (ru) translation to 100%

Dmitrij Smirnov (1):
  l10n: Updated Russian (ru) translation to 98%

Dmitry Nikitin (4):
  l10n: Updated Ukrainian (uk) translation to 91%
  l10n: Updated Ukrainian (uk) translation to 100%
  l10n: Updated Ukrainian (uk) translation to 100%
  l10n: Updated Ukrainian (uk) translation to 100%

Dumitru Moldovan (2):
  Romanian translation update for xfce4-session trunk and xfce_4_6
  Added initial xfce4-settings Romanian translation

Durand-Favreau Arnaud (4):
  l10n: Updated French 

[Xfce4-commits] xfce4-settings:master Updates for release.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to ff0d062e76c209abfbc589b42b7628816a72d4ab (commit)
   from f254a7a5c76f2cb83d2c9f39e66fca0317625b02 (commit)

commit ff0d062e76c209abfbc589b42b7628816a72d4ab
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 14:16:56 2010 +0200

Updates for release.

 NEWS|   22 ++
 configure.ac.in |4 ++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 21767be..f42ffa4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,25 @@
+4.7.2
+=
+- Rework the randr support in xfce4-settings, this requires
+  randr 1.2 or higher.
+- Add a minimal dialog for quick display setup (--minimal, -m).
+- Port to libxklavier 5.0 API.
+- Be consistent in the check for exo-1.
+- Require the correct version of xi and inputproto (bug #6033).
+- Fix the old shortcut duplicate after editing a command.
+- Set value after setting the range and digits.
+- Don't save settings dialogs when saving session (bug #5113).
+- Release the current editor channel on exit.
+- Allow resizing of the edit property dialogs.
+- Fix linking issues (bug #6236).
+- Fix pluggable dialogs (bug #6138).
+- Change the way workspace names are handled.
+- Remove deprecated encoding key from desktop files.
+- Make the display settings dialog pluggable (bug #6524).
+- Speedup startup of the keyboard settings dialog (bug #6661).
+- Translation updates (fi, ca, lv, sk, ru, es, el, it, pt_BR,
+  eu, de, uk, si, kk, is, tr, hr, id, zh_TW, fr, da, pt).
+
 4.7.1
 =
 - Fix possible crash in the clipboard manager (bug #6125).
diff --git a/configure.ac.in b/configure.ac.in
index 92c0d5c..16ee6e3 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -11,10 +11,10 @@ dnl *** Version information ***
 dnl ***
 m4_define([xfce4_settings_version_major], [4])
 m4_define([xfce4_settings_version_minor], [7])
-m4_define([xfce4_settings_version_micro], [1])
+m4_define([xfce4_settings_version_micro], [2])
 m4_define([xfce4_settings_version_nano], [])
 m4_define([xfce4_settings_version_build], [...@revision@])
-m4_define([xfce4_settings_version_tag], [git]) # Leave empty for releases
+m4_define([xfce4_settings_version_tag], []) # Leave empty for releases
 m4_define([xfce4_settings_version], 
[xfce4_settings_version_major().xfce4_settings_version_minor().xfce4_settings_version_micro()ifelse(xfce4_settings_version_nano(),
 [], [], [.xfce4_settings_version_nano()])ifelse(xfce4_settings_version_tag(), 
[git], [xfce4_settings_version_tag()-xfce4_settings_version_build()], 
[xfce4_settings_version_tag()])])
 
 dnl ***
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-settings:master Post release tag bump.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 51e89db751b482c818f0e0d483ef5b409899222c (commit)
   from ff0d062e76c209abfbc589b42b7628816a72d4ab (commit)

commit 51e89db751b482c818f0e0d483ef5b409899222c
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 14:18:16 2010 +0200

Post release tag bump.

 configure.ac.in |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/configure.ac.in b/configure.ac.in
index 16ee6e3..02dc46c 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -14,7 +14,7 @@ m4_define([xfce4_settings_version_minor], [7])
 m4_define([xfce4_settings_version_micro], [2])
 m4_define([xfce4_settings_version_nano], [])
 m4_define([xfce4_settings_version_build], [...@revision@])
-m4_define([xfce4_settings_version_tag], []) # Leave empty for releases
+m4_define([xfce4_settings_version_tag], [git]) # Leave empty for releases
 m4_define([xfce4_settings_version], 
[xfce4_settings_version_major().xfce4_settings_version_minor().xfce4_settings_version_micro()ifelse(xfce4_settings_version_nano(),
 [], [], [.xfce4_settings_version_nano()])ifelse(xfce4_settings_version_tag(), 
[git], [xfce4_settings_version_tag()-xfce4_settings_version_build()], 
[xfce4_settings_version_tag()])])
 
 dnl ***
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-settings|xfce4-settings-4.7.2 Creating annotated tag xfce4-settings-4.7.2

2010-09-05 Thread Nick Schermer
Updating annotated tag refs/tags/xfce4-settings-4.7.2
 as new annotated tag
 to 39b9fde8fb30376721cc503786f71c5e695d0d7a (tag)
   succeeds xfce4-settings-4.7.1
  tagged by Nick Schermer n...@xfce.org
 on 2010-09-05 12:17 +

Akila Wajirasena (4):
  l10n: Updated Sinhala (si) translation to 1%
  l10n: Updated Sinhala (si) translation to 4%
  l10n: Updated Sinhala (si) translation to 21%
  l10n: Updated Sinhala (si) translation to 24%

Aleksandr Ponomarenko (1):
  l10n: Updated Russian (ru) translation to 82%

Andhika Padmawan (1):
  l10n: Updated Indonesian (id) translation to 100%

Bauzhan Muftakhidinov (6):
  l10n: Updated Kazakh (kk) translation to 48%
  l10n: Updated Kazakh (kk) translation to 58%
  l10n: Updated Kazakh (kk) translation to 60%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%

Carles Muñoz Gorriz (2):
  l10n: Updated Catalan (Valencian) (ca) translation to 100%
  l10n: Updated Catalan (Valencian) (ca) translation to 100%

Cheng-Chia Tseng (4):
  l10n: Updates to Brazilian Portuguese translation
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 28%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 74%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%

Cristian Marchi (2):
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%

Danishka Navin (1):
  l10n: added Sinhala (si) transaltion

Debbie Beliveau (1):
  Change response id of keyboard layout selection dialog's OK button from 0 
to 1. Fixes issue where no keyboard layout can be added.

Denis Koryavov (4):
  l10n: Updated Russian (ru) translation to 100%
  l10n: Updated Russian (ru) translation to 100%
  l10n: Updated Russian (ru) translation to 97%
  l10n: Updated Russian (ru) translation to 100%

Dmitry Nikitin (3):
  l10n: Updated Ukrainian (uk) translation to 92%
  l10n: Updated Ukrainian (uk) translation to 99%
  l10n: Updated Ukrainian (uk) translation to 100%

Durand-Favreau Arnaud (1):
  l10n: Updated French (fr) translation to 86%

Evaggelos Balaskas (2):
  l10n: Updated Greek (el) translation to 100%
  l10n: Updated Greek (el) translation to 100%

Fabian Nowak (4):
  l10n: Updated German (de) translation to 90%
  l10n: Updated German (de) translation to 100%
  l10n: Updated German (de) translation to 100%
  l10n: Updated German (de) translation to 100%

Gabor Kelemen (1):
  l10n: Updated Hungarian (hu) translation to 100%

Gheyret Kenji (1):
  l10n: Uyghur translation

Gökmen Görgen (2):
  l10n: Updated Turkish (tr) translation to 100%
  l10n: Updated Turkish (tr) translation to 82%

Ivica  Kolić (2):
  l10n: Initial Croatian (hr) translation
  l10n: Updated Croatian (hr) translation to 54%

Jamil Ahmed (1):
  l10n: Adding Bengali Translation.

Jari Rahkonen (1):
  l10n: Updated Finnish (fi) translation to 100%

Javier Sánchez Reinosa (1):
  l10n: Updated Spanish (Castilian) (es) translation to 100%

Johannes Lips (1):
  l10n: Updated German (de) translation to 91%

Jérôme Guelfucci (34):
  Be consistent in the check for exo-1.
  Require the correct version of xi and inputproto (#6033).
  In fact, we currently need libxi = 1.2.0
  Update todo for the mouse settings dialog
  Don't save settings dialogs when saving session (Bug #5113).
  Fix stupid copypaste error in previous commit.
  Fix the build with the new randr 1.2 UI
  Use 50% translucent icons for disabled outputs.
  Add a minimal dialog for quick display setup.
  Set the OK button as the default button.
  Use a better name for the Xfconf property.
  Don't use a dummy iter to check if there is an active iter.
  Don't show on and off when there is only one screen.
  Warn the user that he tried to disable all screens.
  Clean trailing white spaces.
  Update POTFILES.in
  Apply the changes on the fly.
  Add timed user confirmation (Xfce bug #867).
  Set confirmation delay to 10 seconds.
  Fix radio buttons style.
  Remove useless populate calls.
  Only save when we changed something.
  Hopefully fix confirmation-dialog_ui.h generation.
  Only unbind when something was bound.
  Remove the randr 1.1 support in dialogs/
  Add error handling for XfceRandr creation failure.
  Add libx11 compilation flags.
  Return an error in all cases.
  No startup notification for embedded dialogs (Bug #4990).
  Make the display settings dialog pluggable (Bug #6524).
  Remove trailing white spaces and tabs.
  Fix layout of the display settingz dialog.
  Add copyright for Lionel's work.
  Merge branch 'master' of ssh://git.xfce.org/git/xfce/xfce4-settings

Lionel Le Folgoc (81):
  Port to 

[Xfce4-commits] garcon:jannis/global-monitoring Creating branch jannis/global-monitoring

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 as new branch
 to f2faeb72a4a3d34c144a023b7023da5fae209f28 (commit)

Branches are created implicitly by pushing. This mail only exists to 
let you know that there was code pushed to 

  refs/heads/jannis/global-monitoring

for the first time. Mails for the commits that lead to the creation 
of the branch will follow after this mail.
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Stop monitoring properly. Start/stop monitoring for submenus as well.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 79683094e2414643c87ff889ba664c7f04536079 (commit)
   from e1eeab804d67b848eb6d529769a42b1d07f48944 (commit)

commit 79683094e2414643c87ff889ba664c7f04536079
Author: Jannis Pohlmann jan...@xfce.org
Date:   Mon Mar 8 21:51:31 2010 +0100

Stop monitoring properly. Start/stop monitoring for submenus as well.

 garcon/garcon-menu.c  |   28 +---
 tests/test-display-menu.c |4 ++--
 2 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 9ef7f38..579fc01 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -1668,8 +1668,6 @@ garcon_menu_start_monitoring (GarconMenu *menu)
   monitor = g_file_monitor (menu-priv-file, G_FILE_MONITOR_NONE, NULL, 
NULL);
   if (monitor != NULL)
 {
-  g_debug (monitoring menu file %s, g_file_get_path 
(menu-priv-file));
-
   menu-priv-monitors = g_list_prepend (menu-priv-monitors, 
monitor);
   g_signal_connect_swapped (monitor, changed, 
 G_CALLBACK (garcon_menu_file_changed), 
menu);
@@ -1680,8 +1678,6 @@ garcon_menu_start_monitoring (GarconMenu *menu)
   monitor = g_file_monitor (lp-data, G_FILE_MONITOR_NONE, NULL, NULL);
   if (monitor != NULL)
 {
-  g_debug (monitoring merged file %s, g_file_get_path 
(lp-data));
-
   menu-priv-monitors = g_list_prepend (menu-priv-monitors, 
monitor);
   g_signal_connect_swapped (monitor, changed, 
 G_CALLBACK 
(garcon_menu_merge_file_changed), menu);
@@ -1693,8 +1689,6 @@ garcon_menu_start_monitoring (GarconMenu *menu)
   monitor = g_file_monitor (lp-data, G_FILE_MONITOR_NONE, NULL, NULL);
   if (monitor != NULL)
 {
-  g_debug (monitoring merged dir %s, g_file_get_path (lp-data));
-
   menu-priv-monitors = g_list_prepend (menu-priv-monitors, 
monitor);
   g_signal_connect_swapped (monitor, changed,
 G_CALLBACK 
(garcon_menu_merge_dir_changed), menu);
@@ -1706,7 +1700,9 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 
   /* TODO monitor desktop directories */
 
-  /* TODO recurse into child menus */
+  /* Recurse into child menus */
+  for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
+garcon_menu_start_monitoring (lp-data);
 }
 
 
@@ -1759,5 +1755,23 @@ garcon_menu_merge_dir_changed (GarconMenu   *menu,
 static void
 garcon_menu_stop_monitoring (GarconMenu *menu)
 {
+  GList *lp;
+
   g_return_if_fail (GARCON_IS_MENU (menu));
+
+  /* Recurse into submenus */
+  for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
+garcon_menu_stop_monitoring (lp-data);
+
+  /* Disconnect and destroy all monitors */
+  for (lp = menu-priv-monitors; lp != NULL; lp = lp-next)
+{
+  g_signal_handlers_disconnect_matched (lp-data, G_SIGNAL_MATCH_DATA,
+0, 0, NULL, NULL, menu);
+  g_object_unref (lp-data);
+}
+
+  /* Free the monitor list */
+  g_list_free (menu-priv-monitors);
+  menu-priv-monitors = NULL;
 }
diff --git a/tests/test-display-menu.c b/tests/test-display-menu.c
index 53ab92e..13773fd 100644
--- a/tests/test-display-menu.c
+++ b/tests/test-display-menu.c
@@ -328,7 +328,7 @@ reload_menu (GError **error)
 
 
 static void
-rebuild_required (GarconMenu *menu)
+reload_required (GarconMenu *menu)
 {
   GError *error = NULL;
 
@@ -369,7 +369,7 @@ main (gintargc,
   create_main_window ();
 
   /* be notified when a menu rebuild is required */
-  g_signal_connect (root, rebuild-required, G_CALLBACK 
(rebuild_required), NULL);
+  g_signal_connect (root, reload-required, G_CALLBACK (reload_required), 
NULL);
 
   /* Enter main loop */
   gtk_main ();
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Add new method garcon_menu_item_pool_lookup_file().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 054fca01e68de8b08bb647288301b08c9fc28a22 (commit)
   from fb08ed6509a3277f879ae04125a8c4b2e4ef7fc0 (commit)

commit 054fca01e68de8b08bb647288301b08c9fc28a22
Author: Jannis Pohlmann jan...@xfce.org
Date:   Tue Mar 9 19:35:39 2010 +0100

Add new method garcon_menu_item_pool_lookup_file().

This method allows to search the GarconMenuItemPool for a GarconMenuItem
that belongs to a given GFile.

 garcon/garcon-menu-item-pool.c |   28 
 garcon/garcon-menu-item-pool.h |2 ++
 2 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index 49ec005..5f0923f 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -134,6 +134,34 @@ garcon_menu_item_pool_lookup (GarconMenuItemPool *pool,
 
 
 
+GarconMenuItem *
+garcon_menu_item_pool_lookup_file (GarconMenuItemPool *pool,
+   GFile  *file)
+{
+  GarconMenuItem *result = NULL;
+  GHashTableIter  iter;
+  gpointeritem;
+  GFile  *item_file;
+
+  g_return_val_if_fail (GARCON_IS_MENU_ITEM_POOL (pool), NULL);
+  g_return_val_if_fail (G_IS_FILE (file), NULL);
+
+  g_hash_table_iter_init (iter, pool-priv-items);
+  while (result == NULL  g_hash_table_iter_next (iter, NULL, item))
+{
+  item_file = garcon_menu_item_get_file (item);
+
+  if (g_file_equal (item_file, file))
+result = item;
+
+  g_object_unref (item_file);
+}
+
+  return result;
+}
+
+
+
 void
 garcon_menu_item_pool_foreach (GarconMenuItemPool *pool,
GHFunc  func,
diff --git a/garcon/garcon-menu-item-pool.h b/garcon/garcon-menu-item-pool.h
index 9e127ae..3d95346 100644
--- a/garcon/garcon-menu-item-pool.h
+++ b/garcon/garcon-menu-item-pool.h
@@ -49,6 +49,8 @@ voidgarcon_menu_item_pool_insert 
(GarconMenuItemPool
   GarconMenuItem   
  *item);
 GarconMenuItem *garcon_menu_item_pool_lookup 
(GarconMenuItemPool *pool,
   const gchar  
  *desktop_id);
+GarconMenuItem *garcon_menu_item_pool_lookup_file
(GarconMenuItemPool *pool,
+  GFile
  *file);
 voidgarcon_menu_item_pool_foreach
(GarconMenuItemPool *pool,
   GHFunc   
   func,
   gpointer 
   user_data);
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Add method garcon_menu_item_pool_clear().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to da1d09ffea117bc91408a9e7a1bf35355d4a8175 (commit)
   from 7d42e955c11060646e17d3e1f67a601ba3d6a503 (commit)

commit da1d09ffea117bc91408a9e7a1bf35355d4a8175
Author: Jannis Pohlmann jan...@xfce.org
Date:   Mon Mar 8 21:38:19 2010 +0100

Add method garcon_menu_item_pool_clear().

This method removes all items from the item pool hash table.

 garcon/garcon-menu-item-pool.c |9 +
 garcon/garcon-menu-item-pool.h |1 +
 2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index 999b0f9..49ec005 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -178,3 +178,12 @@ garcon_menu_item_pool_get_empty (GarconMenuItemPool *pool)
   g_return_val_if_fail (GARCON_IS_MENU_ITEM_POOL (pool), TRUE);
   return (g_hash_table_size (pool-priv-items) == 0);
 }
+
+
+
+void
+garcon_menu_item_pool_clear (GarconMenuItemPool *pool)
+{
+  g_return_if_fail (GARCON_IS_MENU_ITEM_POOL (pool));
+  g_hash_table_remove_all (pool-priv-items);
+}
diff --git a/garcon/garcon-menu-item-pool.h b/garcon/garcon-menu-item-pool.h
index b75a13a..9e127ae 100644
--- a/garcon/garcon-menu-item-pool.h
+++ b/garcon/garcon-menu-item-pool.h
@@ -55,6 +55,7 @@ voidgarcon_menu_item_pool_foreach
(GarconMenuItemPool
 voidgarcon_menu_item_pool_apply_exclude_rule 
(GarconMenuItemPool *pool,
   GNode
  *node);
 gbooleangarcon_menu_item_pool_get_empty  
(GarconMenuItemPool *pool);
+voidgarcon_menu_item_pool_clear  
(GarconMenuItemPool *pool);
 
 G_END_DECLS
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Creating branch jannis/global-monitoring

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 as new branch
 to f2faeb72a4a3d34c144a023b7023da5fae209f28 (commit)

Branches are created implicitly by pushing. This mail only exists to 
let you know that there was code pushed to 

  refs/heads/jannis/global-monitoring

for the first time. Mails for the commits that lead to the creation 
of the branch will follow after this mail.
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Add method garcon_config_build_paths().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 02ef07e7a192d3fa3f9d6a4d004b2a1ec9ce5caf (commit)
   from 8f0989fca751ea0a91a47792f1312984b95b8733 (commit)

commit 02ef07e7a192d3fa3f9d6a4d004b2a1ec9ce5caf
Author: Jannis Pohlmann jan...@xfce.org
Date:   Wed Mar 10 20:53:53 2010 +0100

Add method garcon_config_build_paths().

This method builds all config base dir paths for a relative filename
like menus/applications.menu.

 garcon/garcon-config.c |   23 ++
 garcon/{garcon-config.h.in = garcon-config.h} |   52 
 2 files changed, 31 insertions(+), 44 deletions(-)

diff --git a/garcon/garcon-config.c b/garcon/garcon-config.c
index 56fef3d..75693d3 100644
--- a/garcon/garcon-config.c
+++ b/garcon/garcon-config.c
@@ -122,6 +122,29 @@ garcon_check_version (guint required_major,
 
 
 
+gchar **
+garcon_config_build_paths (const gchar *filename)
+{
+  const gchar * const *dirs;
+  gchar  **paths;
+  guintn;
+
+  g_return_val_if_fail (filename != NULL  *filename != '\0', NULL);
+
+  dirs = g_get_system_config_dirs ();
+
+  paths = g_new0 (gchar *, 1 + g_strv_length ((gchar **)dirs) + 1);
+  
+  paths[0] = g_build_filename (g_get_user_config_dir (), filename, NULL);
+  for (n = 1; dirs[n-1] != NULL; ++n)
+paths[n] = g_build_filename (dirs[n-1], filename, NULL);
+  paths[n] = NULL;
+
+  return paths;
+}
+
+
+
 /**
  * garcon_config_lookup:
  * @filename : relative filename of the config resource.
diff --git a/garcon/garcon-config.h.in b/garcon/garcon-config.h
similarity index 51%
copy from garcon/garcon-config.h.in
copy to garcon/garcon-config.h
index baae3b8..c7494e8 100644
--- a/garcon/garcon-config.h.in
+++ b/garcon/garcon-config.h
@@ -30,47 +30,10 @@
 
 G_BEGIN_DECLS
 
-/**
- * GARCON_MAJOR_VERSION:
- *
- * The major version number of the garcon library.
- * Like garcon_major_version, but from the headers used at
- * application compile time, rather than from the library
- * linked against at application run time.
- **/
-#define GARCON_MAJOR_VERSION @GARCON_VERSION_MAJOR@
-
-/**
- * GARCON_MINOR_VERSION:
- *
- * The minor version number of the garcon library.
- * Like garcon_minor_version, but from the headers used at
- * application compile time, rather than from the library
- * linked against at application run time.
- **/
-#define GARCON_MINOR_VERSION @GARCON_VERSION_MINOR@
+#define GARCON_MAJOR_VERSION 0
+#define GARCON_MINOR_VERSION 1
+#define GARCON_MICRO_VERSION 0
 
-/**
- * GARCON_MICRO_VERSION:
- *
- * The micro version number of the garcon library.
- * Like garcon_micro_version, but from the headers used at
- * application compile time, rather than from the library
- * linked against at application run time.
- **/
-#define GARCON_MICRO_VERSION @GARCON_VERSION_MICRO@
-
-/**
- * GARCON_CHECK_VERSION:
- * @major : the major version number.
- * @minor : the minor version number.
- * @micro : the micro version number.
- *
- * Checks the version of the garcon library.
- *
- * Returns: %TRUE if the version of the garcon header files is
- *  the same as or newer than the passed-in version.
- **/
 #define GARCON_CHECK_VERSION(major,minor,micro) \
   (GARCON_MAJOR_VERSION  (major) \
|| (GARCON_MAJOR_VERSION == (major) \
@@ -83,11 +46,12 @@ extern const guint garcon_major_version;
 extern const guint garcon_minor_version;
 extern const guint garcon_micro_version;
 
-const gchar *garcon_check_version (guint required_major,
-   guint required_minor,
-   guint required_micro);
+const gchar *garcon_check_version  (guintrequired_major,
+guintrequired_minor,
+guintrequired_micro);
 
-gchar   *garcon_config_lookup (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
+gchar  **garcon_config_build_paths (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
+gchar   *garcon_config_lookup  (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
 
 G_END_DECLS
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits



[Xfce4-commits] garcon:jannis/global-monitoring Update .gitignore.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 8f0989fca751ea0a91a47792f1312984b95b8733 (commit)
   from 054fca01e68de8b08bb647288301b08c9fc28a22 (commit)

commit 8f0989fca751ea0a91a47792f1312984b95b8733
Author: Jannis Pohlmann jan...@xfce.org
Date:   Tue Mar 9 19:37:48 2010 +0100

Update .gitignore.

 .gitignore |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore
index 7d2e52b..ad124a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,7 @@
+garcon-marshal.c
+garcon-marshal.h
+stamp-*
+test-display-menu
 *.gmo
 stamp-it
 .deps
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Update gitignore.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 60fd7279265eb9b30871b4a0c58f1fa995c47743 (commit)
   from 02ef07e7a192d3fa3f9d6a4d004b2a1ec9ce5caf (commit)

commit 60fd7279265eb9b30871b4a0c58f1fa995c47743
Author: Jannis Pohlmann jan...@xfce.org
Date:   Wed Mar 10 20:55:04 2010 +0100

Update gitignore.

 .gitignore |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/.gitignore b/.gitignore
index ad124a5..61a451c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,5 +57,4 @@ configure
 configure.in
 depcomp
 garcon-1.pc
-garcon-config.h
 POTFILES
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Stop monitoring properly. Start/stop monitoring for submenus as well.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 79683094e2414643c87ff889ba664c7f04536079 (commit)
   from e1eeab804d67b848eb6d529769a42b1d07f48944 (commit)

commit 79683094e2414643c87ff889ba664c7f04536079
Author: Jannis Pohlmann jan...@xfce.org
Date:   Mon Mar 8 21:51:31 2010 +0100

Stop monitoring properly. Start/stop monitoring for submenus as well.

 garcon/garcon-menu.c  |   28 +---
 tests/test-display-menu.c |4 ++--
 2 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 9ef7f38..579fc01 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -1668,8 +1668,6 @@ garcon_menu_start_monitoring (GarconMenu *menu)
   monitor = g_file_monitor (menu-priv-file, G_FILE_MONITOR_NONE, NULL, 
NULL);
   if (monitor != NULL)
 {
-  g_debug (monitoring menu file %s, g_file_get_path 
(menu-priv-file));
-
   menu-priv-monitors = g_list_prepend (menu-priv-monitors, 
monitor);
   g_signal_connect_swapped (monitor, changed, 
 G_CALLBACK (garcon_menu_file_changed), 
menu);
@@ -1680,8 +1678,6 @@ garcon_menu_start_monitoring (GarconMenu *menu)
   monitor = g_file_monitor (lp-data, G_FILE_MONITOR_NONE, NULL, NULL);
   if (monitor != NULL)
 {
-  g_debug (monitoring merged file %s, g_file_get_path 
(lp-data));
-
   menu-priv-monitors = g_list_prepend (menu-priv-monitors, 
monitor);
   g_signal_connect_swapped (monitor, changed, 
 G_CALLBACK 
(garcon_menu_merge_file_changed), menu);
@@ -1693,8 +1689,6 @@ garcon_menu_start_monitoring (GarconMenu *menu)
   monitor = g_file_monitor (lp-data, G_FILE_MONITOR_NONE, NULL, NULL);
   if (monitor != NULL)
 {
-  g_debug (monitoring merged dir %s, g_file_get_path (lp-data));
-
   menu-priv-monitors = g_list_prepend (menu-priv-monitors, 
monitor);
   g_signal_connect_swapped (monitor, changed,
 G_CALLBACK 
(garcon_menu_merge_dir_changed), menu);
@@ -1706,7 +1700,9 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 
   /* TODO monitor desktop directories */
 
-  /* TODO recurse into child menus */
+  /* Recurse into child menus */
+  for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
+garcon_menu_start_monitoring (lp-data);
 }
 
 
@@ -1759,5 +1755,23 @@ garcon_menu_merge_dir_changed (GarconMenu   *menu,
 static void
 garcon_menu_stop_monitoring (GarconMenu *menu)
 {
+  GList *lp;
+
   g_return_if_fail (GARCON_IS_MENU (menu));
+
+  /* Recurse into submenus */
+  for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
+garcon_menu_stop_monitoring (lp-data);
+
+  /* Disconnect and destroy all monitors */
+  for (lp = menu-priv-monitors; lp != NULL; lp = lp-next)
+{
+  g_signal_handlers_disconnect_matched (lp-data, G_SIGNAL_MATCH_DATA,
+0, 0, NULL, NULL, menu);
+  g_object_unref (lp-data);
+}
+
+  /* Free the monitor list */
+  g_list_free (menu-priv-monitors);
+  menu-priv-monitors = NULL;
 }
diff --git a/tests/test-display-menu.c b/tests/test-display-menu.c
index 53ab92e..13773fd 100644
--- a/tests/test-display-menu.c
+++ b/tests/test-display-menu.c
@@ -328,7 +328,7 @@ reload_menu (GError **error)
 
 
 static void
-rebuild_required (GarconMenu *menu)
+reload_required (GarconMenu *menu)
 {
   GError *error = NULL;
 
@@ -369,7 +369,7 @@ main (gintargc,
   create_main_window ();
 
   /* be notified when a menu rebuild is required */
-  g_signal_connect (root, rebuild-required, G_CALLBACK 
(rebuild_required), NULL);
+  g_signal_connect (root, reload-required, G_CALLBACK (reload_required), 
NULL);
 
   /* Enter main loop */
   gtk_main ();
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Monitor .directory files / MenuDirectory elements properly.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to fb08ed6509a3277f879ae04125a8c4b2e4ef7fc0 (commit)
   from d52de109946d56701477515c6712099c2769a6b3 (commit)

commit fb08ed6509a3277f879ae04125a8c4b2e4ef7fc0
Author: Jannis Pohlmann jan...@xfce.org
Date:   Tue Mar 9 13:20:49 2010 +0100

Monitor .directory files / MenuDirectory elements properly.

We need to monitor all potential .directory files just in case the one
currently being used is deleted and we need to fall back to another one,
or in case one that comes after the currently used MenuDirectory element
is created at runtime.

 garcon/garcon-menu.c |  129 +
 1 files changed, 97 insertions(+), 32 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 043c72e..c80e980 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -1678,7 +1678,11 @@ static void
 garcon_menu_start_monitoring (GarconMenu *menu)
 {
   GFileMonitor *monitor;
+  GFile*dir;
   GFile*file;
+  GList*directory_files;
+  GList*directory_dirs;
+  GList*dp;
   GList*lp;
 
   g_return_if_fail (GARCON_IS_MENU (menu));
@@ -1686,6 +1690,7 @@ garcon_menu_start_monitoring (GarconMenu *menu)
   /* Let only the root menu monitor .menu files and merge directories */
   if (menu-priv-parent == NULL)
 {
+  /* Monitor the root .menu file */
   monitor = g_file_monitor (menu-priv-file, G_FILE_MONITOR_NONE, NULL, 
NULL);
   if (monitor != NULL)
 {
@@ -1694,6 +1699,7 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 G_CALLBACK (garcon_menu_file_changed), 
menu);
 }
 
+  /* Monitor all .menu files that were merged into the root menu */
   for (lp = menu-priv-merge_files; lp != NULL; lp = lp-next)
 {
   monitor = g_file_monitor (lp-data, G_FILE_MONITOR_NONE, NULL, NULL);
@@ -1705,6 +1711,8 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 }
 }
 
+  /* Monitor all merge directories from which .menu files were merged into
+   * the root menu */
   for (lp = menu-priv-merge_dirs; lp != NULL; lp = lp-next)
 {
   monitor = g_file_monitor (lp-data, G_FILE_MONITOR_NONE, NULL, NULL);
@@ -1717,23 +1725,34 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 }
 }
 
-  /* Monitor the .directory file */
-  if (menu-priv-directory != NULL)
-{
-  file = garcon_menu_directory_get_file (menu-priv-directory);
+  /* Determine all .directory files we are interested in for this menu */
+  directory_files = garcon_menu_get_directories (menu);
 
-  monitor = g_file_monitor (file, G_FILE_MONITOR_NONE, NULL, NULL);
-  if (monitor != NULL)
-{
-  menu-priv-monitors = g_list_prepend (menu-priv-monitors, 
monitor);
-  g_signal_connect_swapped (monitor, changed,
-G_CALLBACK 
(garcon_menu_directory_file_changed), menu);
-}
+  /* Determine all .directory lookup dirs for this menu */
+  directory_dirs = garcon_menu_get_directory_dirs (menu);
 
-  g_object_unref (file);
-}
+  /* Monitor potential .directory files */
+  for (lp = directory_files; lp != NULL; lp = lp-next)
+for (dp = directory_dirs; dp != NULL; dp = dp-next)
+  {
+dir = _garcon_file_new_relative_to_file (dp-data, menu-priv-file);
+file = _garcon_file_new_relative_to_file (lp-data, dir);
+
+monitor = g_file_monitor (file, G_FILE_MONITOR_NONE, NULL, NULL);
+if (monitor != NULL)
+  {
+menu-priv-monitors = g_list_prepend (menu-priv-monitors, 
monitor);
+g_signal_connect_swapped (monitor, changed,
+  G_CALLBACK 
(garcon_menu_directory_file_changed), menu);
+  }
 
-  /* TODO monitor desktop directories */
+g_object_unref (file);
+g_object_unref (dir);
+  }
+
+  /* Free lists */
+  g_list_free (directory_dirs);
+  g_list_free (directory_files);
 
   /* Recurse into child menus */
   for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
@@ -1794,30 +1813,76 @@ garcon_menu_directory_file_changed (GarconMenu   
*menu,
 GFileMonitorEvent event_type,
 GFileMonitor *monitor)
 {
-  g_return_if_fail (GARCON_IS_MENU (menu));
-  g_return_if_fail (menu-priv-parent == NULL);
+  GFile *directory_file;
 
-  g_debug (directory file %s changed, g_file_get_path (file));
+  g_return_if_fail (GARCON_IS_MENU (menu));
 
-  if (event_type == G_FILE_MONITOR_EVENT_CHANGED)
+  if (event_type == G_FILE_MONITOR_EVENT_CHANGED 
+  || event_type == G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED)
 {
-  /* TODO reload the menu directory (we need a new method
-   * garcon_menu_directory_load() for this) and emit a 
-   * GarconMenu::directory-changed signal */
+  g_debug 

[Xfce4-commits] garcon:jannis/global-monitoring Add 'reload-required' signal to GarconMenu.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to e1eeab804d67b848eb6d529769a42b1d07f48944 (commit)
   from da1d09ffea117bc91408a9e7a1bf35355d4a8175 (commit)

commit e1eeab804d67b848eb6d529769a42b1d07f48944
Author: Jannis Pohlmann jan...@xfce.org
Date:   Mon Mar 8 21:40:42 2010 +0100

Add 'reload-required' signal to GarconMenu.

This signal is emitted when any of the .menu files (including those
merged by GarconMenuMerger) or merge directories are changed. It is only
emitted by the root menu which takes care of resolving filesystem change
events.

garcon_menu_merger_run() gained two new parameters: GList **merge_files
and GList **merge_dirs that are used to report merged .menu files and
merge directories back to the caller.

 garcon/garcon-menu-merger.c |   73 +
 garcon/garcon-menu-merger.h |2 +
 garcon/garcon-menu-parser.h |2 +-
 garcon/garcon-menu.c|  233 --
 tests/test-display-menu.c   |   61 +--
 tests/test-menu-parser.c|2 +-
 6 files changed, 324 insertions(+), 49 deletions(-)

diff --git a/garcon/garcon-menu-merger.c b/garcon/garcon-menu-merger.c
index b917782..f620d6f 100644
--- a/garcon/garcon-menu-merger.c
+++ b/garcon/garcon-menu-merger.c
@@ -35,16 +35,6 @@
 
 typedef struct _GarconMenuMergerContext GarconMenuMergerContext;
 
-struct _GarconMenuMergerContext
-{
-  GarconMenuNodeType node_type;
-  GarconMenuMerger  *merger;
-  GCancellable  *cancellable;
-  GError   **error;
-  gboolean   success;
-  GList *file_stack;
-};
-
 
 
 #define GARCON_MENU_MERGER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE 
((obj), GARCON_TYPE_MENU_MERGER, GarconMenuMergerPrivate))
@@ -98,6 +88,18 @@ struct _GarconMenuMergerPrivate
   GList  *file_stack;
 };
 
+struct _GarconMenuMergerContext
+{
+  GarconMenuNodeType node_type;
+  GarconMenuMerger  *merger;
+  GCancellable  *cancellable;
+  GError   **error;
+  gboolean   success;
+  GList *file_stack;
+  GList**merge_files;
+  GList**merge_dirs;
+};
+
 
 
 G_DEFINE_TYPE_WITH_CODE (GarconMenuMerger, garcon_menu_merger, G_TYPE_OBJECT,
@@ -266,6 +268,8 @@ garcon_menu_merger_prepare_merging (GarconMenuMerger
*merger,
 
 gboolean
 garcon_menu_merger_run (GarconMenuMerger *merger,
+GList   **merge_files,
+GList   **merge_dirs,
 GCancellable *cancellable,
 GError  **error)
 {
@@ -280,6 +284,8 @@ garcon_menu_merger_run (GarconMenuMerger *merger,
   context.error = error;
   context.success = TRUE;
   context.file_stack = NULL;
+  context.merge_files = merge_files;
+  context.merge_dirs = merge_dirs;
 
   file = garcon_menu_tree_provider_get_file (GARCON_MENU_TREE_PROVIDER 
(merger));
   context.file_stack = g_list_concat (context.file_stack, 
merger-priv-file_stack);
@@ -315,7 +321,7 @@ garcon_menu_merger_run (GarconMenuMerger *merger,
(GNodeTraverseFunc) 
garcon_menu_merger_resolve_relative_paths,
context);
 
-  garcon_menu_merger_remove_duplicate_paths 
(merger-priv-menu,GARCON_MENU_NODE_TYPE_DIRECTORY_DIR);
+  garcon_menu_merger_remove_duplicate_paths (merger-priv-menu, 
GARCON_MENU_NODE_TYPE_DIRECTORY_DIR);
   garcon_menu_merger_remove_duplicate_paths (merger-priv-menu, 
GARCON_MENU_NODE_TYPE_DIRECTORY);
 
   garcon_menu_merger_resolve_moves (merger-priv-menu);
@@ -439,6 +445,16 @@ garcon_menu_merger_insert_default_dirs (GNode *parent,
 
 
 
+static gint
+compare_files (GFile *file,
+   GFile *other_file)
+{
+  return g_file_equal (file, other_file) ? 0 : 1;
+}
+
+
+
+
 static void
 garcon_menu_merger_insert_default_merge_dirs (GNode *parent,
   GNode *defaults_node)
@@ -750,11 +766,21 @@ garcon_menu_merger_resolve_merge_dirs (GNode  
 *node,
 
   dir = _garcon_file_new_for_unknown_input (garcon_menu_node_tree_get_string 
(node), NULL);
 
+  if (dir == NULL)
+return FALSE;
+
   enumerator = g_file_enumerate_children (dir, G_FILE_ATTRIBUTE_STANDARD_NAME,
   G_FILE_QUERY_INFO_NONE, NULL, NULL);
 
   if (G_UNLIKELY (enumerator != NULL))
 {
+  /* Add merge dir to the list */
+  if (context-merge_dirs != NULL 
+   !g_list_find_custom (*context-merge_dirs, dir, (GCompareFunc) 
compare_files))
+{
+  *context-merge_dirs = g_list_prepend (*context-merge_dirs, 
g_object_ref (dir));
+}
+
   while (TRUE)
 {
   file_info = g_file_enumerator_next_file (enumerator, NULL, NULL);
@@ -813,16 +839,6 @@ garcon_menu_parser_insert_elements (GNode *node,
 
 
 
-static gint
-compare_files (GFile *file,
-   GFile *other_file)
-{
-  return g_file_equal (file, other_file) ? 0 : 1;
-}
-
-
-
-
 static 

[Xfce4-commits] garcon:jannis/global-monitoring Add garcon-marshal.list and GarconMenu::directory-changed signal.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to d52de109946d56701477515c6712099c2769a6b3 (commit)
   from 79683094e2414643c87ff889ba664c7f04536079 (commit)

commit d52de109946d56701477515c6712099c2769a6b3
Author: Jannis Pohlmann jan...@xfce.org
Date:   Tue Mar 9 12:06:03 2010 +0100

Add garcon-marshal.list and GarconMenu::directory-changed signal.

The signal is supposed to be emitted whenever the GarconMenuDirectory
contents have changed and were updated or when the GarconMenuDirectory
was replaced with a different file.

 garcon/Makefile.am |   73 
 garcon/garcon-marshal.list |1 +
 garcon/garcon-menu.c   |   73 +++-
 3 files changed, 133 insertions(+), 14 deletions(-)

diff --git a/garcon/Makefile.am b/garcon/Makefile.am
index 84bc7e8..e92aace 100644
--- a/garcon/Makefile.am
+++ b/garcon/Makefile.am
@@ -27,36 +27,45 @@ INCLUDES =  
\
 lib_LTLIBRARIES =  \
libgarcon-1.la
 
+libgarcon_built_public_sources =   \
+   garcon-marshal.h
+
+libgarcon_built_sources =  \
+   $(libgarcon_built_public_sources)   \
+   garcon-marshal.c
+
 libgarcon_headers =\
garcon.h\
garcon-config.h \
-   garcon-menu-element.h   \
-   garcon-menu-separator.h \
+   garcon-environment.h\
+   garcon-marshal.h\
garcon-menu-directory.h \
+   garcon-menu-element.h   \
garcon-menu-item-pool.h \
garcon-menu-item-cache.h\
-   garcon-environment.h\
-   garcon-menu.h   \
garcon-menu-item.h  \
+   garcon-menu-merger.h\
garcon-menu-node.h  \
+   garcon-menu-parser.h\
+   garcon-menu-separator.h \
garcon-menu-tree-provider.h \
-   garcon-menu-merger.h\
-   garcon-menu-parser.h
+   garcon-menu.h
 
 libgarcon_sources =\
garcon-config.c \
-   garcon-menu-element.c   \
-   garcon-menu-separator.c \
+   garcon-environment.c\
+   garcon-marshal.c\
garcon-menu-directory.c \
+   garcon-menu-element.c   \
garcon-menu-item-pool.c \
garcon-menu-item-cache.c\
-   garcon-environment.c\
-   garcon-menu.c   \
garcon-menu-item.c  \
-   garcon-menu-node.c  \
-   garcon-menu-tree-provider.c \
garcon-menu-merger.c\
+   garcon-menu-node.c  \
garcon-menu-parser.c\
+   garcon-menu-separator.c \
+   garcon-menu-tree-provider.c \
+   garcon-menu.c   \
garcon-private.c\
garcon-private.h
 
@@ -88,10 +97,48 @@ libgarcon_1_la_LIBADD = 
\
$(GIO_LIBS)
 
 EXTRA_DIST =   \
-   garcon-config.h.in
+   garcon-config.h.in  \
+   garcon-marshal.list
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = garcon-1.pc
 

[Xfce4-commits] garcon:jannis/global-monitoring Add new method garcon_menu_item_pool_lookup_file().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 054fca01e68de8b08bb647288301b08c9fc28a22 (commit)
   from fb08ed6509a3277f879ae04125a8c4b2e4ef7fc0 (commit)

commit 054fca01e68de8b08bb647288301b08c9fc28a22
Author: Jannis Pohlmann jan...@xfce.org
Date:   Tue Mar 9 19:35:39 2010 +0100

Add new method garcon_menu_item_pool_lookup_file().

This method allows to search the GarconMenuItemPool for a GarconMenuItem
that belongs to a given GFile.

 garcon/garcon-menu-item-pool.c |   28 
 garcon/garcon-menu-item-pool.h |2 ++
 2 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index 49ec005..5f0923f 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -134,6 +134,34 @@ garcon_menu_item_pool_lookup (GarconMenuItemPool *pool,
 
 
 
+GarconMenuItem *
+garcon_menu_item_pool_lookup_file (GarconMenuItemPool *pool,
+   GFile  *file)
+{
+  GarconMenuItem *result = NULL;
+  GHashTableIter  iter;
+  gpointeritem;
+  GFile  *item_file;
+
+  g_return_val_if_fail (GARCON_IS_MENU_ITEM_POOL (pool), NULL);
+  g_return_val_if_fail (G_IS_FILE (file), NULL);
+
+  g_hash_table_iter_init (iter, pool-priv-items);
+  while (result == NULL  g_hash_table_iter_next (iter, NULL, item))
+{
+  item_file = garcon_menu_item_get_file (item);
+
+  if (g_file_equal (item_file, file))
+result = item;
+
+  g_object_unref (item_file);
+}
+
+  return result;
+}
+
+
+
 void
 garcon_menu_item_pool_foreach (GarconMenuItemPool *pool,
GHFunc  func,
diff --git a/garcon/garcon-menu-item-pool.h b/garcon/garcon-menu-item-pool.h
index 9e127ae..3d95346 100644
--- a/garcon/garcon-menu-item-pool.h
+++ b/garcon/garcon-menu-item-pool.h
@@ -49,6 +49,8 @@ voidgarcon_menu_item_pool_insert 
(GarconMenuItemPool
   GarconMenuItem   
  *item);
 GarconMenuItem *garcon_menu_item_pool_lookup 
(GarconMenuItemPool *pool,
   const gchar  
  *desktop_id);
+GarconMenuItem *garcon_menu_item_pool_lookup_file
(GarconMenuItemPool *pool,
+  GFile
  *file);
 voidgarcon_menu_item_pool_foreach
(GarconMenuItemPool *pool,
   GHFunc   
   func,
   gpointer 
   user_data);
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Additional work on app dir monitoring.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 60ebe007560bad63898aadcea3e20a6aae23e267 (commit)
   from 3861be991174045868ca5a74c16db9f05f8ccb7a (commit)

commit 60ebe007560bad63898aadcea3e20a6aae23e267
Author: Jannis Pohlmann jan...@xfce.org
Date:   Fri Mar 12 11:36:11 2010 +0100

Additional work on app dir monitoring.

This adds new functionality to find the GarconMenuItem and all
GarconMenus corresponding to a GFile. App dirs are now only monitored by
the root menu.

We properly react on changes that cause a single desktop file to be
unreadable or to break parsing. Reacting on a deleted desktop file is
also partly support now (what still needs to be implemented is looking
for a desktop file with the same desktop-file ID, replacing the deleted
desktop file).

TODOs in garcon-menu.c were updated.

New signals introduced in this commit:
  - GarconMenu::item-added
  - GarconMenu::item-changed
  - GarconMenu::item-removed

New methods introduced in this commit:
  - garcon_menu_element_equal()
  - garcon_menu_item_cache_remove_file()
  - garcon_menu_item_pool_remove()

 garcon/garcon-marshal.list  |1 +
 garcon/garcon-menu-element.c|   15 +++
 garcon/garcon-menu-element.h|4 +
 garcon/garcon-menu-item-cache.c |   26 +-
 garcon/garcon-menu-item-cache.h |2 +
 garcon/garcon-menu-item-pool.c  |   16 +++
 garcon/garcon-menu-item-pool.h  |2 +
 garcon/garcon-menu-item.c   |   18 
 garcon/garcon-menu-separator.c  |   13 +++
 garcon/garcon-menu.c|  214 +++
 tests/test-display-menu.c   |   35 +++
 11 files changed, 326 insertions(+), 20 deletions(-)

diff --git a/garcon/garcon-marshal.list b/garcon/garcon-marshal.list
index 38076d6..7e5b59e 100644
--- a/garcon/garcon-marshal.list
+++ b/garcon/garcon-marshal.list
@@ -1 +1,2 @@
 VOID:OBJECT,OBJECT
+VOID:OBJECT,UINT
diff --git a/garcon/garcon-menu-element.c b/garcon/garcon-menu-element.c
index 5978120..5f6a5d6 100644
--- a/garcon/garcon-menu-element.c
+++ b/garcon/garcon-menu-element.c
@@ -116,3 +116,18 @@ garcon_menu_element_get_no_display (GarconMenuElement 
*element)
   return (*GARCON_MENU_ELEMENT_GET_IFACE (element)-get_no_display) (element);
 }
 
+
+
+gboolean
+garcon_menu_element_equal (GarconMenuElement *a,
+   GarconMenuElement *b)
+{
+  g_return_val_if_fail (GARCON_IS_MENU_ELEMENT (a), FALSE);
+  g_return_val_if_fail (GARCON_IS_MENU_ELEMENT (b), FALSE);
+
+  if (G_TYPE_FROM_INSTANCE (a) != G_TYPE_FROM_INSTANCE (b))
+return FALSE;
+
+  return (*GARCON_MENU_ELEMENT_GET_IFACE (a)-equal) (a, b);
+}
+
diff --git a/garcon/garcon-menu-element.h b/garcon/garcon-menu-element.h
index 8aacdd8..4c30547 100644
--- a/garcon/garcon-menu-element.h
+++ b/garcon/garcon-menu-element.h
@@ -48,6 +48,8 @@ struct _GarconMenuElementIface
   gboolean (*get_visible) (GarconMenuElement *element);
   gboolean (*get_show_in_environment) (GarconMenuElement *element);
   gboolean (*get_no_display)  (GarconMenuElement *element);
+  gboolean (*equal)   (GarconMenuElement *element,
+   GarconMenuElement *other);
 };
 
 GTypegarcon_menu_element_get_type(void) G_GNUC_CONST;
@@ -58,6 +60,8 @@ const gchar *garcon_menu_element_get_icon_name   
(GarconMenuElement *ele
 gboolean garcon_menu_element_get_visible (GarconMenuElement 
*element);
 gboolean garcon_menu_element_get_show_in_environment (GarconMenuElement 
*element);
 gboolean garcon_menu_element_get_no_display  (GarconMenuElement 
*element);
+gboolean garcon_menu_element_equal   (GarconMenuElement *a,
+  GarconMenuElement 
*b);
 
 G_END_DECLS
 
diff --git a/garcon/garcon-menu-item-cache.c b/garcon/garcon-menu-item-cache.c
index afccfd0..435fb07 100644
--- a/garcon/garcon-menu-item-cache.c
+++ b/garcon/garcon-menu-item-cache.c
@@ -87,8 +87,7 @@ garcon_menu_item_cache_init (GarconMenuItemCache *cache)
   cache-priv = GARCON_MENU_ITEM_CACHE_GET_PRIVATE (cache);
 
   /* Create empty hash table */
-  cache-priv-items = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
-  (GDestroyNotify) 
garcon_menu_item_unref);
+  cache-priv-items = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, 
g_object_unref);
 }
 
 
@@ -206,6 +205,29 @@ garcon_menu_item_cache_foreach (GarconMenuItemCache *cache,
 
 
 void
+garcon_menu_item_cache_remove_file (GarconMenuItemCache *cache,
+GFile   *file)
+{
+  gchar *uri;
+
+  g_return_if_fail (GARCON_IS_MENU_ITEM_CACHE (cache));
+  g_return_if_fail (G_IS_FILE (file));
+
+  /* Acquire lock on the item cache */
+  g_static_mutex_lock (lock);
+
+  /* Remove the item 

[Xfce4-commits] garcon:jannis/global-monitoring Squashme

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 76e190ae8d0d4e98f59ef59c00cf9d4c1e91eb8f (commit)
   from 60ebe007560bad63898aadcea3e20a6aae23e267 (commit)

commit 76e190ae8d0d4e98f59ef59c00cf9d4c1e91eb8f
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sat Aug 28 14:21:38 2010 +0200

Squashme

 garcon/garcon-menu-item-pool.c |   32 +
 garcon/garcon-menu-item-pool.h |2 +
 garcon/garcon-menu.c   |  273 +++
 3 files changed, 279 insertions(+), 28 deletions(-)

diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index fe9cd4e..5e55ff8 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -22,6 +22,8 @@
 #include config.h
 #endif
 
+#include gio/gio.h
+
 #include garcon/garcon-menu-node.h
 #include garcon/garcon-menu-item-pool.h
 
@@ -178,6 +180,36 @@ garcon_menu_item_pool_lookup_file (GarconMenuItemPool 
*pool,
 
 
 
+GList *
+garcon_menu_item_pool_lookup_directory (GarconMenuItemPool *pool,
+GFile  *directory)
+{
+  GarconMenuItem *item;
+  GHashTableIter  iter;
+  GFile  *file;
+  GList  *items = NULL;
+
+  g_return_val_if_fail (GARCON_IS_MENU_ITEM_POOL (pool), NULL);
+  g_return_val_if_fail (G_IS_FILE (directory), NULL);
+
+  g_hash_table_iter_init (iter, pool-priv-items);
+
+  while (g_hash_table_iter_next (iter, NULL, (gpointer) item))
+{
+  file = garcon_menu_item_get_file (item);
+  if (file != NULL)
+{
+  if (g_file_has_prefix (file, directory))
+items = g_list_prepend (items, item);
+  g_object_unref (file);
+}
+}
+
+  return items;
+}
+
+
+
 void
 garcon_menu_item_pool_foreach (GarconMenuItemPool *pool,
GHFunc  func,
diff --git a/garcon/garcon-menu-item-pool.h b/garcon/garcon-menu-item-pool.h
index e062a91..6e6a87c 100644
--- a/garcon/garcon-menu-item-pool.h
+++ b/garcon/garcon-menu-item-pool.h
@@ -53,6 +53,8 @@ GarconMenuItem *garcon_menu_item_pool_lookup 
(GarconMenuItemPool
   const gchar  
  *desktop_id);
 GarconMenuItem *garcon_menu_item_pool_lookup_file
(GarconMenuItemPool *pool,
   GFile
  *file);
+GList  *garcon_menu_item_pool_lookup_directory   
(GarconMenuItemPool *pool,
+  GFile
  *directory) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
 voidgarcon_menu_item_pool_foreach
(GarconMenuItemPool *pool,
   GHFunc   
   func,
   gpointer 
   user_data);
diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 6a5c6fd..a5d3782 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -28,6 +28,7 @@
 
 #include glib/gi18n.h
 
+#include garcon/garcon-config.h
 #include garcon/garcon-environment.h
 #include garcon/garcon-marshal.h
 #include garcon/garcon-menu-element.h
@@ -145,6 +146,16 @@ static void 
garcon_menu_resolve_items_by_rule   (GarconM
 static void garcon_menu_resolve_item_by_rule(const 
gchar *desktop_id,
  const 
gchar *uri,
  
GarconMenuPair  *data);
+static gchar   *garcon_menu_collect_file_from_path  
(GarconMenu  *menu,
+ GFile 
  *file,
+ GFile 
  *dir,
+ const 
gchar *id_prefix);
+#if 0
+static gboolean garcon_menu_resolve_item_file   
(GarconMenu  *menu,
+ GFile 
  *file,
+ 
GarconMenuItem **item,
+ gchar 
 **desktop_id);
+#endif
 static void garcon_menu_remove_deleted_menus
(GarconMenu  *menu);
 static gint garcon_menu_compare_items   
(gconstpointer   *a,
  
gconstpointer   *b);
@@ -193,6 +204,12 @@ static void garcon_menu_app_dir_changed
 (GarconM
 

[Xfce4-commits] garcon:jannis/global-monitoring Update gitignore.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 60fd7279265eb9b30871b4a0c58f1fa995c47743 (commit)
   from 02ef07e7a192d3fa3f9d6a4d004b2a1ec9ce5caf (commit)

commit 60fd7279265eb9b30871b4a0c58f1fa995c47743
Author: Jannis Pohlmann jan...@xfce.org
Date:   Wed Mar 10 20:55:04 2010 +0100

Update gitignore.

 .gitignore |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/.gitignore b/.gitignore
index ad124a5..61a451c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,5 +57,4 @@ configure
 configure.in
 depcomp
 garcon-1.pc
-garcon-config.h
 POTFILES
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Update .gitignore.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 8f0989fca751ea0a91a47792f1312984b95b8733 (commit)
   from 054fca01e68de8b08bb647288301b08c9fc28a22 (commit)

commit 8f0989fca751ea0a91a47792f1312984b95b8733
Author: Jannis Pohlmann jan...@xfce.org
Date:   Tue Mar 9 19:37:48 2010 +0100

Update .gitignore.

 .gitignore |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore
index 7d2e52b..ad124a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,7 @@
+garcon-marshal.c
+garcon-marshal.h
+stamp-*
+test-display-menu
 *.gmo
 stamp-it
 .deps
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Squashme

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 25864bee17ba4394e2db8c91ff38d91e8f063971 (commit)
   from a45a599c89f2ef788f0d67d81d431aeea94285e9 (commit)

commit 25864bee17ba4394e2db8c91ff38d91e8f063971
Author: Jannis Pohlmann jan...@xfce.org
Date:   Mon Aug 30 15:01:46 2010 +0200

Squashme

 garcon/garcon-menu.c |   78 +-
 1 files changed, 39 insertions(+), 39 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 902afb9..930c938 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -2150,6 +2150,43 @@ garcon_menu_find_file_item (GarconMenu *menu,
 
 
 static void
+garcon_menu_update_item_file (GarconMenu  *menu,
+  const gchar *desktop_id,
+  GFile   *file)
+{
+  GarconMenuItem *item;
+  gbooleanincluded_somewhere = FALSE;
+  gchar   *uri;
+
+  g_return_if_fail (GARCON_IS_MENU (menu));
+  g_return_if_fail (desktop_id != NULL  *desktop_id != '\0');
+  g_return_if_fail (G_IS_FILE (file));
+
+  uri = g_file_get_uri (file);
+
+  /* try to load the desktop file from the item cache */
+  item = garcon_menu_item_cache_lookup (menu-priv-cache, uri, desktop_id);
+  if (item != NULL)
+{
+  /* insert the item into the appropriate menus, if there are any */
+  included_somewhere = garcon_menu_update_item (menu, item, FALSE);
+  included_somewhere = garcon_menu_update_item (menu, item, TRUE) || 
included_somewhere;
+
+  /* unload the item if it isn't included in any menus */
+  if (!included_somewhere)
+{
+  /* remove the item from the item cache, so we are forced to reload 
+   * it from disk the next time it becomes available */
+  garcon_menu_item_cache_remove_file (menu-priv-cache, file);
+}
+}
+
+  g_free (uri);
+}
+
+
+
+static void
 garcon_menu_start_monitoring (GarconMenu *menu)
 {
   GList *lp;
@@ -2610,26 +2647,7 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   /* determine the desktop ID for this file */
   if (garcon_menu_collect_file (menu, file, NULL, NULL, 
desktop_id))
 {
-  uri = g_file_get_uri (file);
-
-  /* try to load the desktop file from the item cache */
-  item = garcon_menu_item_cache_lookup (menu-priv-cache, 
uri, desktop_id);
-  if (item != NULL)
-{
-  /* insert the item into the appropriate menus, if there 
are any */
-  included_somewhere = garcon_menu_update_item (menu, 
item, FALSE);
-  included_somewhere = garcon_menu_update_item (menu, 
item, TRUE) || included_somewhere;
-
-  /* unload the item if it isn't included in any menus */
-  if (!included_somewhere)
-{
-  /* remove the item from the item cache, so we are 
forced to reload 
-   * it from disk the next time it becomes available */
-  garcon_menu_item_cache_remove_file 
(menu-priv-cache, file);
-}
-}
-
-  g_free (uri);
+  garcon_menu_update_file_item (menu, desktop_id, file);
   g_free (desktop_id);
 }
 }
@@ -2718,25 +2736,7 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   /* determine the next-priority desktop file with the same 
desktop ID */
   if (garcon_menu_collect_file (menu, NULL, desktop_id, 
replacement_file, NULL))
 {
-  uri = g_file_get_uri (replacement_file);
-
-  item = garcon_menu_item_cache_lookup (menu-priv-cache, 
uri, desktop_id);
-  if (item != NULL)
-{
-  /* insert the item into the appropriate menus, if there 
are any */
-  included_somewhere = garcon_menu_update_item (menu, 
item, FALSE);
-  included_somewhere = garcon_menu_update_item (menu, 
item, TRUE) || included_somewhere;
-
-  /* unload the item if it isn't included in any menus */
-  if (!included_somewhere)
-{
-  /* remove the item from the item cache, so we are 
forced to reload 
-   * it from disk the next time it becomes available */
-  garcon_menu_item_cache_remove_file 
(menu-priv-cache, file);
-}
-}
-
-  g_free (uri);
+  garcon_menu_update_item_file (menu, desktop_id, file);
   g_object_unref (replacement_file);
 }
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org

[Xfce4-commits] garcon:jannis/global-monitoring Additional work on app dir monitoring.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 60ebe007560bad63898aadcea3e20a6aae23e267 (commit)
   from 3861be991174045868ca5a74c16db9f05f8ccb7a (commit)

commit 60ebe007560bad63898aadcea3e20a6aae23e267
Author: Jannis Pohlmann jan...@xfce.org
Date:   Fri Mar 12 11:36:11 2010 +0100

Additional work on app dir monitoring.

This adds new functionality to find the GarconMenuItem and all
GarconMenus corresponding to a GFile. App dirs are now only monitored by
the root menu.

We properly react on changes that cause a single desktop file to be
unreadable or to break parsing. Reacting on a deleted desktop file is
also partly support now (what still needs to be implemented is looking
for a desktop file with the same desktop-file ID, replacing the deleted
desktop file).

TODOs in garcon-menu.c were updated.

New signals introduced in this commit:
  - GarconMenu::item-added
  - GarconMenu::item-changed
  - GarconMenu::item-removed

New methods introduced in this commit:
  - garcon_menu_element_equal()
  - garcon_menu_item_cache_remove_file()
  - garcon_menu_item_pool_remove()

 garcon/garcon-marshal.list  |1 +
 garcon/garcon-menu-element.c|   15 +++
 garcon/garcon-menu-element.h|4 +
 garcon/garcon-menu-item-cache.c |   26 +-
 garcon/garcon-menu-item-cache.h |2 +
 garcon/garcon-menu-item-pool.c  |   16 +++
 garcon/garcon-menu-item-pool.h  |2 +
 garcon/garcon-menu-item.c   |   18 
 garcon/garcon-menu-separator.c  |   13 +++
 garcon/garcon-menu.c|  214 +++
 tests/test-display-menu.c   |   35 +++
 11 files changed, 326 insertions(+), 20 deletions(-)

diff --git a/garcon/garcon-marshal.list b/garcon/garcon-marshal.list
index 38076d6..7e5b59e 100644
--- a/garcon/garcon-marshal.list
+++ b/garcon/garcon-marshal.list
@@ -1 +1,2 @@
 VOID:OBJECT,OBJECT
+VOID:OBJECT,UINT
diff --git a/garcon/garcon-menu-element.c b/garcon/garcon-menu-element.c
index 5978120..5f6a5d6 100644
--- a/garcon/garcon-menu-element.c
+++ b/garcon/garcon-menu-element.c
@@ -116,3 +116,18 @@ garcon_menu_element_get_no_display (GarconMenuElement 
*element)
   return (*GARCON_MENU_ELEMENT_GET_IFACE (element)-get_no_display) (element);
 }
 
+
+
+gboolean
+garcon_menu_element_equal (GarconMenuElement *a,
+   GarconMenuElement *b)
+{
+  g_return_val_if_fail (GARCON_IS_MENU_ELEMENT (a), FALSE);
+  g_return_val_if_fail (GARCON_IS_MENU_ELEMENT (b), FALSE);
+
+  if (G_TYPE_FROM_INSTANCE (a) != G_TYPE_FROM_INSTANCE (b))
+return FALSE;
+
+  return (*GARCON_MENU_ELEMENT_GET_IFACE (a)-equal) (a, b);
+}
+
diff --git a/garcon/garcon-menu-element.h b/garcon/garcon-menu-element.h
index 8aacdd8..4c30547 100644
--- a/garcon/garcon-menu-element.h
+++ b/garcon/garcon-menu-element.h
@@ -48,6 +48,8 @@ struct _GarconMenuElementIface
   gboolean (*get_visible) (GarconMenuElement *element);
   gboolean (*get_show_in_environment) (GarconMenuElement *element);
   gboolean (*get_no_display)  (GarconMenuElement *element);
+  gboolean (*equal)   (GarconMenuElement *element,
+   GarconMenuElement *other);
 };
 
 GTypegarcon_menu_element_get_type(void) G_GNUC_CONST;
@@ -58,6 +60,8 @@ const gchar *garcon_menu_element_get_icon_name   
(GarconMenuElement *ele
 gboolean garcon_menu_element_get_visible (GarconMenuElement 
*element);
 gboolean garcon_menu_element_get_show_in_environment (GarconMenuElement 
*element);
 gboolean garcon_menu_element_get_no_display  (GarconMenuElement 
*element);
+gboolean garcon_menu_element_equal   (GarconMenuElement *a,
+  GarconMenuElement 
*b);
 
 G_END_DECLS
 
diff --git a/garcon/garcon-menu-item-cache.c b/garcon/garcon-menu-item-cache.c
index afccfd0..435fb07 100644
--- a/garcon/garcon-menu-item-cache.c
+++ b/garcon/garcon-menu-item-cache.c
@@ -87,8 +87,7 @@ garcon_menu_item_cache_init (GarconMenuItemCache *cache)
   cache-priv = GARCON_MENU_ITEM_CACHE_GET_PRIVATE (cache);
 
   /* Create empty hash table */
-  cache-priv-items = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
-  (GDestroyNotify) 
garcon_menu_item_unref);
+  cache-priv-items = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, 
g_object_unref);
 }
 
 
@@ -206,6 +205,29 @@ garcon_menu_item_cache_foreach (GarconMenuItemCache *cache,
 
 
 void
+garcon_menu_item_cache_remove_file (GarconMenuItemCache *cache,
+GFile   *file)
+{
+  gchar *uri;
+
+  g_return_if_fail (GARCON_IS_MENU_ITEM_CACHE (cache));
+  g_return_if_fail (G_IS_FILE (file));
+
+  /* Acquire lock on the item cache */
+  g_static_mutex_lock (lock);
+
+  /* Remove the item 

[Xfce4-commits] garcon:jannis/global-monitoring Squashme

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to f184e60d6561668180bcff62ff2f96a24cdc40d0 (commit)
   from 25864bee17ba4394e2db8c91ff38d91e8f063971 (commit)

commit f184e60d6561668180bcff62ff2f96a24cdc40d0
Author: Jannis Pohlmann jan...@xfce.org
Date:   Mon Aug 30 15:29:35 2010 +0200

Squashme

 garcon/garcon-menu.c |   54 ++---
 1 files changed, 37 insertions(+), 17 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 930c938..ef162b9 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -2150,7 +2150,7 @@ garcon_menu_find_file_item (GarconMenu *menu,
 
 
 static void
-garcon_menu_update_item_file (GarconMenu  *menu,
+garcon_menu_update_file_item (GarconMenu  *menu,
   const gchar *desktop_id,
   GFile   *file)
 {
@@ -2586,7 +2586,6 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   GList  *menus = NULL;
   GList  *lp;
   gchar  *desktop_id;
-  gchar  *uri;
 
   g_return_if_fail (GARCON_IS_MENU (menu));
 
@@ -2647,7 +2646,18 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   /* determine the desktop ID for this file */
   if (garcon_menu_collect_file (menu, file, NULL, NULL, 
desktop_id))
 {
-  garcon_menu_update_file_item (menu, desktop_id, file);
+  if (garcon_menu_collect_file (menu, NULL, desktop_id, 
replacement_file, NULL))
+{
+  if (g_file_equal (file, replacement_file))
+{
+  /* TODO we need to handle the app dir priority here 
*/
+  garcon_menu_update_file_item (menu, desktop_id, 
file);
+}
+  else
+{
+  g_debug (ignoring the changed file as it is 
overriden);
+}
+}
   g_free (desktop_id);
 }
 }
@@ -2662,19 +2672,29 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
garcon_menu_element_get_name (GARCON_MENU_ELEMENT (menu)),
g_file_get_path (file), event_type);
 
-  /* TODO
-   * 1) the new file is a directory
-   *- collect files from the newly created directory
-   *- add files to the correct menus (make sure to emit
-   *  'item-added' signals)
-   *- monitor the newly created directory
-   * 2) the new file is a regular file
-   *- remove items with the same desktop id
-   *- load it into a GarconMenuItem
-   *- find the correct menu(s) for it
-   *- add it to those menus (make sure to emit 'item-added'
-   *  signals)
-   */
+  /* query the type of the changed file */
+  file_type = g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL);
+
+  if (file_type == G_FILE_TYPE_DIRECTORY)
+{
+  /* TODO
+   * the new file is a directory
+   *   - collect files from the newly created directory
+   *   - add files to the correct menus (make sure to emit
+   *'item-added' signals)
+   *   - monitor the newly created directory */
+}
+  else 
+{
+  /* TODO
+   * the new file is a regular file
+   *   - remove items with the same desktop id and lower app dir 
priority
+   *   - load it into a GarconMenuItem
+   *   - find the correct menu(s) for it
+   *   - add it to those menus (make sure to emit 'item-added'
+   * signals)
+   */
+}
 }
   else if (event_type == G_FILE_MONITOR_EVENT_DELETED)
 {
@@ -2736,7 +2756,7 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   /* determine the next-priority desktop file with the same 
desktop ID */
   if (garcon_menu_collect_file (menu, NULL, desktop_id, 
replacement_file, NULL))
 {
-  garcon_menu_update_item_file (menu, desktop_id, file);
+  garcon_menu_update_file_item (menu, desktop_id, file);
   g_object_unref (replacement_file);
 }
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Add garcon_menu_directory_load(). Further work on monitoring.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 3861be991174045868ca5a74c16db9f05f8ccb7a (commit)
   from 60fd7279265eb9b30871b4a0c58f1fa995c47743 (commit)

commit 3861be991174045868ca5a74c16db9f05f8ccb7a
Author: Jannis Pohlmann jan...@xfce.org
Date:   Wed Mar 10 20:57:01 2010 +0100

Add garcon_menu_directory_load(). Further work on monitoring.

Require GarconMenuDirectories to be created and loaded in two steps (one
for creating the object, another one for loading), just like we do it
for GarconMenu.

Make it possible to reload GarconMenus with garcon_menu_load() without
creating a new GarconMenu before (this was required in libxfce4menu but
it is inconvenient). Split the monitoring initialization into several
methods, add TODOs for the missing pieces: reacting on app dir changes.

 garcon/garcon-config.c |2 +-
 garcon/garcon-config.h |   39 +++-
 garcon/garcon-menu-directory.c |   95 ---
 garcon/garcon-menu-directory.h |6 +-
 garcon/garcon-menu.c   |  595 +++-
 tests/test-display-menu.c  |   35 +++-
 6 files changed, 591 insertions(+), 181 deletions(-)

diff --git a/garcon/garcon-config.c b/garcon/garcon-config.c
index 75693d3..7e487a6 100644
--- a/garcon/garcon-config.c
+++ b/garcon/garcon-config.c
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2009-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
diff --git a/garcon/garcon-config.h b/garcon/garcon-config.h
index c7494e8..ee4c119 100644
--- a/garcon/garcon-config.h
+++ b/garcon/garcon-config.h
@@ -30,10 +30,47 @@
 
 G_BEGIN_DECLS
 
+/**
+ * GARCON_MAJOR_VERSION:
+ *
+ * The major version number of the garcon library.
+ * Like garcon_major_version, but from the headers used at
+ * application compile time, rather than from the library
+ * linked against at application run time.
+ **/
 #define GARCON_MAJOR_VERSION 0
+
+/**
+ * GARCON_MINOR_VERSION:
+ *
+ * The minor version number of the garcon library.
+ * Like garcon_minor_version, but from the headers used at
+ * application compile time, rather than from the library
+ * linked against at application run time.
+ **/
 #define GARCON_MINOR_VERSION 1
-#define GARCON_MICRO_VERSION 0
 
+/**
+ * GARCON_MICRO_VERSION:
+ *
+ * The micro version number of the garcon library.
+ * Like garcon_micro_version, but from the headers used at
+ * application compile time, rather than from the library
+ * linked against at application run time.
+ **/
+#define GARCON_MICRO_VERSION 1
+
+/**
+ * GARCON_CHECK_VERSION:
+ * @major : the major version number.
+ * @minor : the minor version number.
+ * @micro : the micro version number.
+ *
+ * Checks the version of the garcon library.
+ *
+ * Returns: %TRUE if the version of the garcon header files is
+ *  the same as or newer than the passed-in version.
+ **/
 #define GARCON_CHECK_VERSION(major,minor,micro) \
   (GARCON_MAJOR_VERSION  (major) \
|| (GARCON_MAJOR_VERSION == (major) \
diff --git a/garcon/garcon-menu-directory.c b/garcon/garcon-menu-directory.c
index 1203059..fffb3f2 100644
--- a/garcon/garcon-menu-directory.c
+++ b/garcon/garcon-menu-directory.c
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2006-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2006-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -340,69 +340,86 @@ garcon_menu_directory_set_property (GObject  *object,
 GarconMenuDirectory *
 garcon_menu_directory_new (GFile *file)
 {
-  GarconMenuDirectory *directory = NULL;
-  gchar   *contents;
-  gsizelength;
-  GKeyFile*rc;
-  gchar   *name;
-  gchar   *comment;
-  gchar   *icon_name;
-  gboolean no_display;
-  gboolean succeed;
-
-  g_return_val_if_fail (G_IS_FILE (file), NULL);
+  g_return_val_if_fail (G_IS_FILE (file), FALSE);
+  return g_object_new (GARCON_TYPE_MENU_DIRECTORY, file, file, NULL);
+}
+
+
+gboolean
+garcon_menu_directory_load (GarconMenuDirectory *directory,
+GCancellable*cancellable,
+GError **error)
+{
+  GKeyFile *rc;
+  gboolean  no_display;
+  gboolean  file_parsed = FALSE;
+  gchar*contents;
+  gsize length;
+  gchar*name;
+  gchar*comment;
+  gchar*icon_name;
+
+  g_return_val_if_fail (GARCON_IS_MENU_DIRECTORY (directory), FALSE);
+  g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), 
FALSE);
+  g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
   /* Load the contents of the file */
-  if 

[Xfce4-commits] garcon:jannis/global-monitoring Squashme

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to f2faeb72a4a3d34c144a023b7023da5fae209f28 (commit)
   from f184e60d6561668180bcff62ff2f96a24cdc40d0 (commit)

commit f2faeb72a4a3d34c144a023b7023da5fae209f28
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 14:46:33 2010 +0200

Squashme

 garcon/garcon-menu.c |   60 +++--
 1 files changed, 38 insertions(+), 22 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index ef162b9..597bed0 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -1555,7 +1555,7 @@ garcon_menu_update_item (GarconMenu *menu,
   const gchar*desktop_id;
   gbooleanmenu_only_unallocated = FALSE;
   gbooleanto_be_included = FALSE;
-  gbooleanincluded_somewhere = FALSE;
+  gbooleanincluded_anywhere = FALSE;
   GList  *rules = NULL;
   GList  *iter;
 
@@ -1632,7 +1632,7 @@ garcon_menu_update_item (GarconMenu *menu,
   g_debug (already included);
 }
 
-  included_somewhere = TRUE;
+  included_anywhere = TRUE;
 }
   else
 {
@@ -1648,7 +1648,7 @@ garcon_menu_update_item (GarconMenu *menu,
   g_debug (not included anyway);
 }
 
-  included_somewhere = FALSE;
+  included_anywhere = FALSE;
 }
 
   g_list_free (rules);
@@ -1658,10 +1658,10 @@ garcon_menu_update_item (GarconMenu *menu,
   for (iter = menu-priv-submenus; iter != NULL; iter = g_list_next (iter))
 {
   /* Resolve items of the submenu */
-  included_somewhere = garcon_menu_update_item (GARCON_MENU (iter-data), 
item, only_unallocated) || included_somewhere;
+  included_anywhere = garcon_menu_update_item (GARCON_MENU (iter-data), 
item, only_unallocated) || included_anywhere;
 }
 
-  return included_somewhere;
+  return included_anywhere;
 }
 
 
@@ -2155,7 +2155,7 @@ garcon_menu_update_file_item (GarconMenu  *menu,
   GFile   *file)
 {
   GarconMenuItem *item;
-  gbooleanincluded_somewhere = FALSE;
+  gbooleanincluded_anywhere = FALSE;
   gchar   *uri;
 
   g_return_if_fail (GARCON_IS_MENU (menu));
@@ -2169,11 +2169,11 @@ garcon_menu_update_file_item (GarconMenu  *menu,
   if (item != NULL)
 {
   /* insert the item into the appropriate menus, if there are any */
-  included_somewhere = garcon_menu_update_item (menu, item, FALSE);
-  included_somewhere = garcon_menu_update_item (menu, item, TRUE) || 
included_somewhere;
+  included_anywhere = garcon_menu_update_item (menu, item, FALSE);
+  included_anywhere = garcon_menu_update_item (menu, item, TRUE) || 
included_anywhere;
 
   /* unload the item if it isn't included in any menus */
-  if (!included_somewhere)
+  if (!included_anywhere)
 {
   /* remove the item from the item cache, so we are forced to reload 
* it from disk the next time it becomes available */
@@ -2581,7 +2581,7 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
 {
   GarconMenuItem *item;
   GFileType   file_type;
-  gbooleanincluded_somewhere = FALSE;
+  gbooleanincluded_anywhere = FALSE;
   GFile  *replacement_file;
   GList  *menus = NULL;
   GList  *lp;
@@ -2613,11 +2613,11 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   if (garcon_menu_item_reload (item, NULL))
 {
   /* insert the item into the appropriate menus, if there are 
any */
-  included_somewhere = garcon_menu_update_item (menu, item, 
FALSE);
-  included_somewhere = garcon_menu_update_item (menu, item, 
TRUE) || included_somewhere;
+  included_anywhere = garcon_menu_update_item (menu, item, 
FALSE);
+  included_anywhere = garcon_menu_update_item (menu, item, 
TRUE) || included_anywhere;
 
   /* unload the item if it isn't included in any menus */
-  if (!included_somewhere)
+  if (!included_anywhere)
 {
   /* remove the item from the item cache, so we are forced 
to reload 
* it from disk the next time it becomes available */
@@ -2646,17 +2646,15 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   /* determine the desktop ID for this file */
   if (garcon_menu_collect_file (menu, file, NULL, NULL, 
desktop_id))
 {
+  /* determine the prioritized desktop file for the desktop ID 
*/
   if (garcon_menu_collect_file (menu, NULL, desktop_id, 
replacement_file, NULL))
 {
+  /* only update the corresponding menu item if the 
changed file is
+   * the one with top priority of all files with this 
desktop ID */
 

[Xfce4-commits] garcon:jannis/global-monitoring Add garcon_menu_directory_load(). Further work on monitoring.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 3861be991174045868ca5a74c16db9f05f8ccb7a (commit)
   from 60fd7279265eb9b30871b4a0c58f1fa995c47743 (commit)

commit 3861be991174045868ca5a74c16db9f05f8ccb7a
Author: Jannis Pohlmann jan...@xfce.org
Date:   Wed Mar 10 20:57:01 2010 +0100

Add garcon_menu_directory_load(). Further work on monitoring.

Require GarconMenuDirectories to be created and loaded in two steps (one
for creating the object, another one for loading), just like we do it
for GarconMenu.

Make it possible to reload GarconMenus with garcon_menu_load() without
creating a new GarconMenu before (this was required in libxfce4menu but
it is inconvenient). Split the monitoring initialization into several
methods, add TODOs for the missing pieces: reacting on app dir changes.

 garcon/garcon-config.c |2 +-
 garcon/garcon-config.h |   39 +++-
 garcon/garcon-menu-directory.c |   95 ---
 garcon/garcon-menu-directory.h |6 +-
 garcon/garcon-menu.c   |  595 +++-
 tests/test-display-menu.c  |   35 +++-
 6 files changed, 591 insertions(+), 181 deletions(-)

diff --git a/garcon/garcon-config.c b/garcon/garcon-config.c
index 75693d3..7e487a6 100644
--- a/garcon/garcon-config.c
+++ b/garcon/garcon-config.c
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2009-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
diff --git a/garcon/garcon-config.h b/garcon/garcon-config.h
index c7494e8..ee4c119 100644
--- a/garcon/garcon-config.h
+++ b/garcon/garcon-config.h
@@ -30,10 +30,47 @@
 
 G_BEGIN_DECLS
 
+/**
+ * GARCON_MAJOR_VERSION:
+ *
+ * The major version number of the garcon library.
+ * Like garcon_major_version, but from the headers used at
+ * application compile time, rather than from the library
+ * linked against at application run time.
+ **/
 #define GARCON_MAJOR_VERSION 0
+
+/**
+ * GARCON_MINOR_VERSION:
+ *
+ * The minor version number of the garcon library.
+ * Like garcon_minor_version, but from the headers used at
+ * application compile time, rather than from the library
+ * linked against at application run time.
+ **/
 #define GARCON_MINOR_VERSION 1
-#define GARCON_MICRO_VERSION 0
 
+/**
+ * GARCON_MICRO_VERSION:
+ *
+ * The micro version number of the garcon library.
+ * Like garcon_micro_version, but from the headers used at
+ * application compile time, rather than from the library
+ * linked against at application run time.
+ **/
+#define GARCON_MICRO_VERSION 1
+
+/**
+ * GARCON_CHECK_VERSION:
+ * @major : the major version number.
+ * @minor : the minor version number.
+ * @micro : the micro version number.
+ *
+ * Checks the version of the garcon library.
+ *
+ * Returns: %TRUE if the version of the garcon header files is
+ *  the same as or newer than the passed-in version.
+ **/
 #define GARCON_CHECK_VERSION(major,minor,micro) \
   (GARCON_MAJOR_VERSION  (major) \
|| (GARCON_MAJOR_VERSION == (major) \
diff --git a/garcon/garcon-menu-directory.c b/garcon/garcon-menu-directory.c
index 1203059..fffb3f2 100644
--- a/garcon/garcon-menu-directory.c
+++ b/garcon/garcon-menu-directory.c
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2006-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2006-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -340,69 +340,86 @@ garcon_menu_directory_set_property (GObject  *object,
 GarconMenuDirectory *
 garcon_menu_directory_new (GFile *file)
 {
-  GarconMenuDirectory *directory = NULL;
-  gchar   *contents;
-  gsizelength;
-  GKeyFile*rc;
-  gchar   *name;
-  gchar   *comment;
-  gchar   *icon_name;
-  gboolean no_display;
-  gboolean succeed;
-
-  g_return_val_if_fail (G_IS_FILE (file), NULL);
+  g_return_val_if_fail (G_IS_FILE (file), FALSE);
+  return g_object_new (GARCON_TYPE_MENU_DIRECTORY, file, file, NULL);
+}
+
+
+gboolean
+garcon_menu_directory_load (GarconMenuDirectory *directory,
+GCancellable*cancellable,
+GError **error)
+{
+  GKeyFile *rc;
+  gboolean  no_display;
+  gboolean  file_parsed = FALSE;
+  gchar*contents;
+  gsize length;
+  gchar*name;
+  gchar*comment;
+  gchar*icon_name;
+
+  g_return_val_if_fail (GARCON_IS_MENU_DIRECTORY (directory), FALSE);
+  g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), 
FALSE);
+  g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
   /* Load the contents of the file */
-  if 

[Xfce4-commits] garcon:jannis/global-monitoring Squashme

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to a45a599c89f2ef788f0d67d81d431aeea94285e9 (commit)
   from 76e190ae8d0d4e98f59ef59c00cf9d4c1e91eb8f (commit)

commit a45a599c89f2ef788f0d67d81d431aeea94285e9
Author: Jannis Pohlmann jan...@xfce.org
Date:   Mon Aug 30 14:57:06 2010 +0200

Squashme

 garcon/garcon-config.h |   10 +-
 garcon/garcon-config.h.in  |   11 +-
 garcon/garcon-menu-item-pool.c |3 -
 garcon/garcon-menu-item.c  |   38 -
 garcon/garcon-menu.c   |  384 +--
 tests/test-display-menu.c  |   44 +
 6 files changed, 374 insertions(+), 116 deletions(-)

diff --git a/garcon/garcon-config.h b/garcon/garcon-config.h
index ee4c119..27f2c35 100644
--- a/garcon/garcon-config.h
+++ b/garcon/garcon-config.h
@@ -1,7 +1,7 @@
 /* $Id$ */
 /* vi:set expandtab sw=2 sts=2: */
 /*-
- * Copyright (c) 2008 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2008-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -83,12 +83,12 @@ extern const guint garcon_major_version;
 extern const guint garcon_minor_version;
 extern const guint garcon_micro_version;
 
-const gchar *garcon_check_version  (guintrequired_major,
-guintrequired_minor,
-guintrequired_micro);
+const gchar *garcon_check_version  (guint required_major,
+guint required_minor,
+guint required_micro);
 
-gchar  **garcon_config_build_paths (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
 gchar   *garcon_config_lookup  (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
+gchar  **garcon_config_build_paths (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
 
 G_END_DECLS
 
diff --git a/garcon/garcon-config.h.in b/garcon/garcon-config.h.in
index baae3b8..1cb70f8 100644
--- a/garcon/garcon-config.h.in
+++ b/garcon/garcon-config.h.in
@@ -1,7 +1,7 @@
 /* $Id$ */
 /* vi:set expandtab sw=2 sts=2: */
 /*-
- * Copyright (c) 2008 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2008-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -83,11 +83,12 @@ extern const guint garcon_major_version;
 extern const guint garcon_minor_version;
 extern const guint garcon_micro_version;
 
-const gchar *garcon_check_version (guint required_major,
-   guint required_minor,
-   guint required_micro);
+const gchar *garcon_check_version  (guint required_major,
+guint required_minor,
+guint required_micro);
 
-gchar   *garcon_config_lookup (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
+gchar   *garcon_config_lookup  (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
+gchar  **garcon_config_build_paths (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
 
 G_END_DECLS
 
diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index 5e55ff8..ccd2654 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -133,9 +133,6 @@ garcon_menu_item_pool_remove (GarconMenuItemPool *pool,
 
   /* Remove the item from the hash table */
   g_hash_table_remove (pool-priv-items, garcon_menu_item_get_desktop_id 
(item));
-
-  /* Release the reference on the item */
-  garcon_menu_item_unref (item);
 }
 
 
diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index cc1b91c..f490f16 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -834,12 +834,16 @@ garcon_menu_item_reload_from_file (GarconMenuItem  *item,
GError **error)
 {
   GKeyFile *rc;
-  gchar*contents;
-  gsize length = 0;
+  gboolean  boolean;
   gboolean  succeed;
+  GList*categories = NULL;
+  gchar   **mt;
+  gchar   **str_list;
+  gchar*contents;
   gchar*string;
-  gboolean  boolean;
-  gchar*name, *exec;
+  gchar*name;
+  gchar*exec;
+  gsize length = 0;
 
   g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), FALSE);
   g_return_val_if_fail (G_IS_FILE (file), FALSE);
@@ -930,6 +934,32 @@ garcon_menu_item_reload_from_file (GarconMenuItem  *item,
   boolean = GET_KEY (boolean, G_KEY_FILE_DESKTOP_KEY_HIDDEN);
   garcon_menu_item_set_hidden (item, boolean);
 
+  /* Determine the categories this application should be shown in */
+  str_list = GET_STRING_LIST (G_KEY_FILE_DESKTOP_KEY_CATEGORIES);
+  if (G_LIKELY (str_list != NULL))
+{
+  for (mt = str_list; *mt != NULL; ++mt)
+{

[Xfce4-commits] garcon:jannis/global-monitoring Squashme

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to f2faeb72a4a3d34c144a023b7023da5fae209f28 (commit)
   from f184e60d6561668180bcff62ff2f96a24cdc40d0 (commit)

commit f2faeb72a4a3d34c144a023b7023da5fae209f28
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 14:46:33 2010 +0200

Squashme

 garcon/garcon-menu.c |   60 +++--
 1 files changed, 38 insertions(+), 22 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index ef162b9..597bed0 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -1555,7 +1555,7 @@ garcon_menu_update_item (GarconMenu *menu,
   const gchar*desktop_id;
   gbooleanmenu_only_unallocated = FALSE;
   gbooleanto_be_included = FALSE;
-  gbooleanincluded_somewhere = FALSE;
+  gbooleanincluded_anywhere = FALSE;
   GList  *rules = NULL;
   GList  *iter;
 
@@ -1632,7 +1632,7 @@ garcon_menu_update_item (GarconMenu *menu,
   g_debug (already included);
 }
 
-  included_somewhere = TRUE;
+  included_anywhere = TRUE;
 }
   else
 {
@@ -1648,7 +1648,7 @@ garcon_menu_update_item (GarconMenu *menu,
   g_debug (not included anyway);
 }
 
-  included_somewhere = FALSE;
+  included_anywhere = FALSE;
 }
 
   g_list_free (rules);
@@ -1658,10 +1658,10 @@ garcon_menu_update_item (GarconMenu *menu,
   for (iter = menu-priv-submenus; iter != NULL; iter = g_list_next (iter))
 {
   /* Resolve items of the submenu */
-  included_somewhere = garcon_menu_update_item (GARCON_MENU (iter-data), 
item, only_unallocated) || included_somewhere;
+  included_anywhere = garcon_menu_update_item (GARCON_MENU (iter-data), 
item, only_unallocated) || included_anywhere;
 }
 
-  return included_somewhere;
+  return included_anywhere;
 }
 
 
@@ -2155,7 +2155,7 @@ garcon_menu_update_file_item (GarconMenu  *menu,
   GFile   *file)
 {
   GarconMenuItem *item;
-  gbooleanincluded_somewhere = FALSE;
+  gbooleanincluded_anywhere = FALSE;
   gchar   *uri;
 
   g_return_if_fail (GARCON_IS_MENU (menu));
@@ -2169,11 +2169,11 @@ garcon_menu_update_file_item (GarconMenu  *menu,
   if (item != NULL)
 {
   /* insert the item into the appropriate menus, if there are any */
-  included_somewhere = garcon_menu_update_item (menu, item, FALSE);
-  included_somewhere = garcon_menu_update_item (menu, item, TRUE) || 
included_somewhere;
+  included_anywhere = garcon_menu_update_item (menu, item, FALSE);
+  included_anywhere = garcon_menu_update_item (menu, item, TRUE) || 
included_anywhere;
 
   /* unload the item if it isn't included in any menus */
-  if (!included_somewhere)
+  if (!included_anywhere)
 {
   /* remove the item from the item cache, so we are forced to reload 
* it from disk the next time it becomes available */
@@ -2581,7 +2581,7 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
 {
   GarconMenuItem *item;
   GFileType   file_type;
-  gbooleanincluded_somewhere = FALSE;
+  gbooleanincluded_anywhere = FALSE;
   GFile  *replacement_file;
   GList  *menus = NULL;
   GList  *lp;
@@ -2613,11 +2613,11 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   if (garcon_menu_item_reload (item, NULL))
 {
   /* insert the item into the appropriate menus, if there are 
any */
-  included_somewhere = garcon_menu_update_item (menu, item, 
FALSE);
-  included_somewhere = garcon_menu_update_item (menu, item, 
TRUE) || included_somewhere;
+  included_anywhere = garcon_menu_update_item (menu, item, 
FALSE);
+  included_anywhere = garcon_menu_update_item (menu, item, 
TRUE) || included_anywhere;
 
   /* unload the item if it isn't included in any menus */
-  if (!included_somewhere)
+  if (!included_anywhere)
 {
   /* remove the item from the item cache, so we are forced 
to reload 
* it from disk the next time it becomes available */
@@ -2646,17 +2646,15 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   /* determine the desktop ID for this file */
   if (garcon_menu_collect_file (menu, file, NULL, NULL, 
desktop_id))
 {
+  /* determine the prioritized desktop file for the desktop ID 
*/
   if (garcon_menu_collect_file (menu, NULL, desktop_id, 
replacement_file, NULL))
 {
+  /* only update the corresponding menu item if the 
changed file is
+   * the one with top priority of all files with this 
desktop ID */
 

[Xfce4-commits] garcon:jannis/global-monitoring Squashme

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 76e190ae8d0d4e98f59ef59c00cf9d4c1e91eb8f (commit)
   from 60ebe007560bad63898aadcea3e20a6aae23e267 (commit)

commit 76e190ae8d0d4e98f59ef59c00cf9d4c1e91eb8f
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sat Aug 28 14:21:38 2010 +0200

Squashme

 garcon/garcon-menu-item-pool.c |   32 +
 garcon/garcon-menu-item-pool.h |2 +
 garcon/garcon-menu.c   |  273 +++
 3 files changed, 279 insertions(+), 28 deletions(-)

diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index fe9cd4e..5e55ff8 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -22,6 +22,8 @@
 #include config.h
 #endif
 
+#include gio/gio.h
+
 #include garcon/garcon-menu-node.h
 #include garcon/garcon-menu-item-pool.h
 
@@ -178,6 +180,36 @@ garcon_menu_item_pool_lookup_file (GarconMenuItemPool 
*pool,
 
 
 
+GList *
+garcon_menu_item_pool_lookup_directory (GarconMenuItemPool *pool,
+GFile  *directory)
+{
+  GarconMenuItem *item;
+  GHashTableIter  iter;
+  GFile  *file;
+  GList  *items = NULL;
+
+  g_return_val_if_fail (GARCON_IS_MENU_ITEM_POOL (pool), NULL);
+  g_return_val_if_fail (G_IS_FILE (directory), NULL);
+
+  g_hash_table_iter_init (iter, pool-priv-items);
+
+  while (g_hash_table_iter_next (iter, NULL, (gpointer) item))
+{
+  file = garcon_menu_item_get_file (item);
+  if (file != NULL)
+{
+  if (g_file_has_prefix (file, directory))
+items = g_list_prepend (items, item);
+  g_object_unref (file);
+}
+}
+
+  return items;
+}
+
+
+
 void
 garcon_menu_item_pool_foreach (GarconMenuItemPool *pool,
GHFunc  func,
diff --git a/garcon/garcon-menu-item-pool.h b/garcon/garcon-menu-item-pool.h
index e062a91..6e6a87c 100644
--- a/garcon/garcon-menu-item-pool.h
+++ b/garcon/garcon-menu-item-pool.h
@@ -53,6 +53,8 @@ GarconMenuItem *garcon_menu_item_pool_lookup 
(GarconMenuItemPool
   const gchar  
  *desktop_id);
 GarconMenuItem *garcon_menu_item_pool_lookup_file
(GarconMenuItemPool *pool,
   GFile
  *file);
+GList  *garcon_menu_item_pool_lookup_directory   
(GarconMenuItemPool *pool,
+  GFile
  *directory) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
 voidgarcon_menu_item_pool_foreach
(GarconMenuItemPool *pool,
   GHFunc   
   func,
   gpointer 
   user_data);
diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 6a5c6fd..a5d3782 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -28,6 +28,7 @@
 
 #include glib/gi18n.h
 
+#include garcon/garcon-config.h
 #include garcon/garcon-environment.h
 #include garcon/garcon-marshal.h
 #include garcon/garcon-menu-element.h
@@ -145,6 +146,16 @@ static void 
garcon_menu_resolve_items_by_rule   (GarconM
 static void garcon_menu_resolve_item_by_rule(const 
gchar *desktop_id,
  const 
gchar *uri,
  
GarconMenuPair  *data);
+static gchar   *garcon_menu_collect_file_from_path  
(GarconMenu  *menu,
+ GFile 
  *file,
+ GFile 
  *dir,
+ const 
gchar *id_prefix);
+#if 0
+static gboolean garcon_menu_resolve_item_file   
(GarconMenu  *menu,
+ GFile 
  *file,
+ 
GarconMenuItem **item,
+ gchar 
 **desktop_id);
+#endif
 static void garcon_menu_remove_deleted_menus
(GarconMenu  *menu);
 static gint garcon_menu_compare_items   
(gconstpointer   *a,
  
gconstpointer   *b);
@@ -193,6 +204,12 @@ static void garcon_menu_app_dir_changed
 (GarconM
 

[Xfce4-commits] garcon:jannis/global-monitoring Squashme

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to f184e60d6561668180bcff62ff2f96a24cdc40d0 (commit)
   from 25864bee17ba4394e2db8c91ff38d91e8f063971 (commit)

commit f184e60d6561668180bcff62ff2f96a24cdc40d0
Author: Jannis Pohlmann jan...@xfce.org
Date:   Mon Aug 30 15:29:35 2010 +0200

Squashme

 garcon/garcon-menu.c |   54 ++---
 1 files changed, 37 insertions(+), 17 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 930c938..ef162b9 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -2150,7 +2150,7 @@ garcon_menu_find_file_item (GarconMenu *menu,
 
 
 static void
-garcon_menu_update_item_file (GarconMenu  *menu,
+garcon_menu_update_file_item (GarconMenu  *menu,
   const gchar *desktop_id,
   GFile   *file)
 {
@@ -2586,7 +2586,6 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   GList  *menus = NULL;
   GList  *lp;
   gchar  *desktop_id;
-  gchar  *uri;
 
   g_return_if_fail (GARCON_IS_MENU (menu));
 
@@ -2647,7 +2646,18 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   /* determine the desktop ID for this file */
   if (garcon_menu_collect_file (menu, file, NULL, NULL, 
desktop_id))
 {
-  garcon_menu_update_file_item (menu, desktop_id, file);
+  if (garcon_menu_collect_file (menu, NULL, desktop_id, 
replacement_file, NULL))
+{
+  if (g_file_equal (file, replacement_file))
+{
+  /* TODO we need to handle the app dir priority here 
*/
+  garcon_menu_update_file_item (menu, desktop_id, 
file);
+}
+  else
+{
+  g_debug (ignoring the changed file as it is 
overriden);
+}
+}
   g_free (desktop_id);
 }
 }
@@ -2662,19 +2672,29 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
garcon_menu_element_get_name (GARCON_MENU_ELEMENT (menu)),
g_file_get_path (file), event_type);
 
-  /* TODO
-   * 1) the new file is a directory
-   *- collect files from the newly created directory
-   *- add files to the correct menus (make sure to emit
-   *  'item-added' signals)
-   *- monitor the newly created directory
-   * 2) the new file is a regular file
-   *- remove items with the same desktop id
-   *- load it into a GarconMenuItem
-   *- find the correct menu(s) for it
-   *- add it to those menus (make sure to emit 'item-added'
-   *  signals)
-   */
+  /* query the type of the changed file */
+  file_type = g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL);
+
+  if (file_type == G_FILE_TYPE_DIRECTORY)
+{
+  /* TODO
+   * the new file is a directory
+   *   - collect files from the newly created directory
+   *   - add files to the correct menus (make sure to emit
+   *'item-added' signals)
+   *   - monitor the newly created directory */
+}
+  else 
+{
+  /* TODO
+   * the new file is a regular file
+   *   - remove items with the same desktop id and lower app dir 
priority
+   *   - load it into a GarconMenuItem
+   *   - find the correct menu(s) for it
+   *   - add it to those menus (make sure to emit 'item-added'
+   * signals)
+   */
+}
 }
   else if (event_type == G_FILE_MONITOR_EVENT_DELETED)
 {
@@ -2736,7 +2756,7 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   /* determine the next-priority desktop file with the same 
desktop ID */
   if (garcon_menu_collect_file (menu, NULL, desktop_id, 
replacement_file, NULL))
 {
-  garcon_menu_update_item_file (menu, desktop_id, file);
+  garcon_menu_update_file_item (menu, desktop_id, file);
   g_object_unref (replacement_file);
 }
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/global-monitoring Squashme

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to a45a599c89f2ef788f0d67d81d431aeea94285e9 (commit)
   from 76e190ae8d0d4e98f59ef59c00cf9d4c1e91eb8f (commit)

commit a45a599c89f2ef788f0d67d81d431aeea94285e9
Author: Jannis Pohlmann jan...@xfce.org
Date:   Mon Aug 30 14:57:06 2010 +0200

Squashme

 garcon/garcon-config.h |   10 +-
 garcon/garcon-config.h.in  |   11 +-
 garcon/garcon-menu-item-pool.c |3 -
 garcon/garcon-menu-item.c  |   38 -
 garcon/garcon-menu.c   |  384 +--
 tests/test-display-menu.c  |   44 +
 6 files changed, 374 insertions(+), 116 deletions(-)

diff --git a/garcon/garcon-config.h b/garcon/garcon-config.h
index ee4c119..27f2c35 100644
--- a/garcon/garcon-config.h
+++ b/garcon/garcon-config.h
@@ -1,7 +1,7 @@
 /* $Id$ */
 /* vi:set expandtab sw=2 sts=2: */
 /*-
- * Copyright (c) 2008 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2008-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -83,12 +83,12 @@ extern const guint garcon_major_version;
 extern const guint garcon_minor_version;
 extern const guint garcon_micro_version;
 
-const gchar *garcon_check_version  (guintrequired_major,
-guintrequired_minor,
-guintrequired_micro);
+const gchar *garcon_check_version  (guint required_major,
+guint required_minor,
+guint required_micro);
 
-gchar  **garcon_config_build_paths (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
 gchar   *garcon_config_lookup  (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
+gchar  **garcon_config_build_paths (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
 
 G_END_DECLS
 
diff --git a/garcon/garcon-config.h.in b/garcon/garcon-config.h.in
index baae3b8..1cb70f8 100644
--- a/garcon/garcon-config.h.in
+++ b/garcon/garcon-config.h.in
@@ -1,7 +1,7 @@
 /* $Id$ */
 /* vi:set expandtab sw=2 sts=2: */
 /*-
- * Copyright (c) 2008 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2008-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -83,11 +83,12 @@ extern const guint garcon_major_version;
 extern const guint garcon_minor_version;
 extern const guint garcon_micro_version;
 
-const gchar *garcon_check_version (guint required_major,
-   guint required_minor,
-   guint required_micro);
+const gchar *garcon_check_version  (guint required_major,
+guint required_minor,
+guint required_micro);
 
-gchar   *garcon_config_lookup (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
+gchar   *garcon_config_lookup  (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
+gchar  **garcon_config_build_paths (const gchar *filename) G_GNUC_MALLOC 
G_GNUC_WARN_UNUSED_RESULT;
 
 G_END_DECLS
 
diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index 5e55ff8..ccd2654 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -133,9 +133,6 @@ garcon_menu_item_pool_remove (GarconMenuItemPool *pool,
 
   /* Remove the item from the hash table */
   g_hash_table_remove (pool-priv-items, garcon_menu_item_get_desktop_id 
(item));
-
-  /* Release the reference on the item */
-  garcon_menu_item_unref (item);
 }
 
 
diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index cc1b91c..f490f16 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -834,12 +834,16 @@ garcon_menu_item_reload_from_file (GarconMenuItem  *item,
GError **error)
 {
   GKeyFile *rc;
-  gchar*contents;
-  gsize length = 0;
+  gboolean  boolean;
   gboolean  succeed;
+  GList*categories = NULL;
+  gchar   **mt;
+  gchar   **str_list;
+  gchar*contents;
   gchar*string;
-  gboolean  boolean;
-  gchar*name, *exec;
+  gchar*name;
+  gchar*exec;
+  gsize length = 0;
 
   g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), FALSE);
   g_return_val_if_fail (G_IS_FILE (file), FALSE);
@@ -930,6 +934,32 @@ garcon_menu_item_reload_from_file (GarconMenuItem  *item,
   boolean = GET_KEY (boolean, G_KEY_FILE_DESKTOP_KEY_HIDDEN);
   garcon_menu_item_set_hidden (item, boolean);
 
+  /* Determine the categories this application should be shown in */
+  str_list = GET_STRING_LIST (G_KEY_FILE_DESKTOP_KEY_CATEGORIES);
+  if (G_LIKELY (str_list != NULL))
+{
+  for (mt = str_list; *mt != NULL; ++mt)
+{

[Xfce4-commits] garcon:jannis/global-monitoring Squashme

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to 25864bee17ba4394e2db8c91ff38d91e8f063971 (commit)
   from a45a599c89f2ef788f0d67d81d431aeea94285e9 (commit)

commit 25864bee17ba4394e2db8c91ff38d91e8f063971
Author: Jannis Pohlmann jan...@xfce.org
Date:   Mon Aug 30 15:01:46 2010 +0200

Squashme

 garcon/garcon-menu.c |   78 +-
 1 files changed, 39 insertions(+), 39 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 902afb9..930c938 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -2150,6 +2150,43 @@ garcon_menu_find_file_item (GarconMenu *menu,
 
 
 static void
+garcon_menu_update_item_file (GarconMenu  *menu,
+  const gchar *desktop_id,
+  GFile   *file)
+{
+  GarconMenuItem *item;
+  gbooleanincluded_somewhere = FALSE;
+  gchar   *uri;
+
+  g_return_if_fail (GARCON_IS_MENU (menu));
+  g_return_if_fail (desktop_id != NULL  *desktop_id != '\0');
+  g_return_if_fail (G_IS_FILE (file));
+
+  uri = g_file_get_uri (file);
+
+  /* try to load the desktop file from the item cache */
+  item = garcon_menu_item_cache_lookup (menu-priv-cache, uri, desktop_id);
+  if (item != NULL)
+{
+  /* insert the item into the appropriate menus, if there are any */
+  included_somewhere = garcon_menu_update_item (menu, item, FALSE);
+  included_somewhere = garcon_menu_update_item (menu, item, TRUE) || 
included_somewhere;
+
+  /* unload the item if it isn't included in any menus */
+  if (!included_somewhere)
+{
+  /* remove the item from the item cache, so we are forced to reload 
+   * it from disk the next time it becomes available */
+  garcon_menu_item_cache_remove_file (menu-priv-cache, file);
+}
+}
+
+  g_free (uri);
+}
+
+
+
+static void
 garcon_menu_start_monitoring (GarconMenu *menu)
 {
   GList *lp;
@@ -2610,26 +2647,7 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   /* determine the desktop ID for this file */
   if (garcon_menu_collect_file (menu, file, NULL, NULL, 
desktop_id))
 {
-  uri = g_file_get_uri (file);
-
-  /* try to load the desktop file from the item cache */
-  item = garcon_menu_item_cache_lookup (menu-priv-cache, 
uri, desktop_id);
-  if (item != NULL)
-{
-  /* insert the item into the appropriate menus, if there 
are any */
-  included_somewhere = garcon_menu_update_item (menu, 
item, FALSE);
-  included_somewhere = garcon_menu_update_item (menu, 
item, TRUE) || included_somewhere;
-
-  /* unload the item if it isn't included in any menus */
-  if (!included_somewhere)
-{
-  /* remove the item from the item cache, so we are 
forced to reload 
-   * it from disk the next time it becomes available */
-  garcon_menu_item_cache_remove_file 
(menu-priv-cache, file);
-}
-}
-
-  g_free (uri);
+  garcon_menu_update_file_item (menu, desktop_id, file);
   g_free (desktop_id);
 }
 }
@@ -2718,25 +2736,7 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   /* determine the next-priority desktop file with the same 
desktop ID */
   if (garcon_menu_collect_file (menu, NULL, desktop_id, 
replacement_file, NULL))
 {
-  uri = g_file_get_uri (replacement_file);
-
-  item = garcon_menu_item_cache_lookup (menu-priv-cache, 
uri, desktop_id);
-  if (item != NULL)
-{
-  /* insert the item into the appropriate menus, if there 
are any */
-  included_somewhere = garcon_menu_update_item (menu, 
item, FALSE);
-  included_somewhere = garcon_menu_update_item (menu, 
item, TRUE) || included_somewhere;
-
-  /* unload the item if it isn't included in any menus */
-  if (!included_somewhere)
-{
-  /* remove the item from the item cache, so we are 
forced to reload 
-   * it from disk the next time it becomes available */
-  garcon_menu_item_cache_remove_file 
(menu-priv-cache, file);
-}
-}
-
-  g_free (uri);
+  garcon_menu_update_item_file (menu, desktop_id, file);
   g_object_unref (replacement_file);
 }
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org

[Xfce4-commits] garcon:jannis/global-monitoring Monitor .directory files / MenuDirectory elements properly.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/global-monitoring
 to fb08ed6509a3277f879ae04125a8c4b2e4ef7fc0 (commit)
   from d52de109946d56701477515c6712099c2769a6b3 (commit)

commit fb08ed6509a3277f879ae04125a8c4b2e4ef7fc0
Author: Jannis Pohlmann jan...@xfce.org
Date:   Tue Mar 9 13:20:49 2010 +0100

Monitor .directory files / MenuDirectory elements properly.

We need to monitor all potential .directory files just in case the one
currently being used is deleted and we need to fall back to another one,
or in case one that comes after the currently used MenuDirectory element
is created at runtime.

 garcon/garcon-menu.c |  129 +
 1 files changed, 97 insertions(+), 32 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 043c72e..c80e980 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -1678,7 +1678,11 @@ static void
 garcon_menu_start_monitoring (GarconMenu *menu)
 {
   GFileMonitor *monitor;
+  GFile*dir;
   GFile*file;
+  GList*directory_files;
+  GList*directory_dirs;
+  GList*dp;
   GList*lp;
 
   g_return_if_fail (GARCON_IS_MENU (menu));
@@ -1686,6 +1690,7 @@ garcon_menu_start_monitoring (GarconMenu *menu)
   /* Let only the root menu monitor .menu files and merge directories */
   if (menu-priv-parent == NULL)
 {
+  /* Monitor the root .menu file */
   monitor = g_file_monitor (menu-priv-file, G_FILE_MONITOR_NONE, NULL, 
NULL);
   if (monitor != NULL)
 {
@@ -1694,6 +1699,7 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 G_CALLBACK (garcon_menu_file_changed), 
menu);
 }
 
+  /* Monitor all .menu files that were merged into the root menu */
   for (lp = menu-priv-merge_files; lp != NULL; lp = lp-next)
 {
   monitor = g_file_monitor (lp-data, G_FILE_MONITOR_NONE, NULL, NULL);
@@ -1705,6 +1711,8 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 }
 }
 
+  /* Monitor all merge directories from which .menu files were merged into
+   * the root menu */
   for (lp = menu-priv-merge_dirs; lp != NULL; lp = lp-next)
 {
   monitor = g_file_monitor (lp-data, G_FILE_MONITOR_NONE, NULL, NULL);
@@ -1717,23 +1725,34 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 }
 }
 
-  /* Monitor the .directory file */
-  if (menu-priv-directory != NULL)
-{
-  file = garcon_menu_directory_get_file (menu-priv-directory);
+  /* Determine all .directory files we are interested in for this menu */
+  directory_files = garcon_menu_get_directories (menu);
 
-  monitor = g_file_monitor (file, G_FILE_MONITOR_NONE, NULL, NULL);
-  if (monitor != NULL)
-{
-  menu-priv-monitors = g_list_prepend (menu-priv-monitors, 
monitor);
-  g_signal_connect_swapped (monitor, changed,
-G_CALLBACK 
(garcon_menu_directory_file_changed), menu);
-}
+  /* Determine all .directory lookup dirs for this menu */
+  directory_dirs = garcon_menu_get_directory_dirs (menu);
 
-  g_object_unref (file);
-}
+  /* Monitor potential .directory files */
+  for (lp = directory_files; lp != NULL; lp = lp-next)
+for (dp = directory_dirs; dp != NULL; dp = dp-next)
+  {
+dir = _garcon_file_new_relative_to_file (dp-data, menu-priv-file);
+file = _garcon_file_new_relative_to_file (lp-data, dir);
+
+monitor = g_file_monitor (file, G_FILE_MONITOR_NONE, NULL, NULL);
+if (monitor != NULL)
+  {
+menu-priv-monitors = g_list_prepend (menu-priv-monitors, 
monitor);
+g_signal_connect_swapped (monitor, changed,
+  G_CALLBACK 
(garcon_menu_directory_file_changed), menu);
+  }
 
-  /* TODO monitor desktop directories */
+g_object_unref (file);
+g_object_unref (dir);
+  }
+
+  /* Free lists */
+  g_list_free (directory_dirs);
+  g_list_free (directory_files);
 
   /* Recurse into child menus */
   for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
@@ -1794,30 +1813,76 @@ garcon_menu_directory_file_changed (GarconMenu   
*menu,
 GFileMonitorEvent event_type,
 GFileMonitor *monitor)
 {
-  g_return_if_fail (GARCON_IS_MENU (menu));
-  g_return_if_fail (menu-priv-parent == NULL);
+  GFile *directory_file;
 
-  g_debug (directory file %s changed, g_file_get_path (file));
+  g_return_if_fail (GARCON_IS_MENU (menu));
 
-  if (event_type == G_FILE_MONITOR_EVENT_CHANGED)
+  if (event_type == G_FILE_MONITOR_EVENT_CHANGED 
+  || event_type == G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED)
 {
-  /* TODO reload the menu directory (we need a new method
-   * garcon_menu_directory_load() for this) and emit a 
-   * GarconMenu::directory-changed signal */
+  g_debug 

[Xfce4-commits] xfwm4:master Updates for release.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to e833699b91e6830e72bcfc0fec5600f74cf6ed7a (commit)
   from f643aa8c232aa275b41dc0ace038f7d8444047ef (commit)

commit e833699b91e6830e72bcfc0fec5600f74cf6ed7a
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 15:00:08 2010 +0200

Updates for release.

 NEWS|   89 +++
 configure.ac.in |2 +-
 2 files changed, 64 insertions(+), 27 deletions(-)

diff --git a/NEWS b/NEWS
index dcdc59c..7d57f03 100644
--- a/NEWS
+++ b/NEWS
@@ -1,27 +1,64 @@
-4.7.x
+4.7.0
 =
-- Transition fullscreen windows back to their original layer 
-  when another window is activated (Bug #3551)
+- Fix window positioning problem when output it removed (bug #6209).
 - Do not clear the show desktop flag upon activation of
   already visible windows
-- Implement prelinminary support for snap on resize (patch by Clifford Jolly
-  cl...@cliffjolly.com)
-- Fix mixed RTL/LTR text not rendering properly in title and tabwin
-- Place windows on top of stack even when not focused in focus follow mouse
-- Fix opacity for newly mapped window not focused by default (bug #5706)
-- Display an app switcher window per physical monitor (bug #5229)
-- Add new keyboard shortcut to switch between windows of the same application
-- Add new keyboard shortcut to switch between windows of different applications
-  only.
-- Add new option cycle_apps_only to switch between regular toplevels only 
+- Transition fullscreen windows back to their original layer
+  when another window is activated (bug #3551).
+- Add new keyboard shortcut to switch between windows of the
+  same application.
+- Add new keyboard shortcut to switch between windows of different
+  applications only.
+- Port to libxfce4ui + GtkBuilder and drop libxfcegui4 dependency.
+- Display an app switcher window per physical monitor (bug #5229).
+- Fix opacity for newly mapped window not focused by default (bug #5706).
+- Add new option cycle_apps_only to switch between regular toplevels only
   (avoiding dialogs - This option coupled with the new shortcut allows for
   faster window selection through keyboard)
+- Implement prelinminary support for snap on resize.
+- Implement a workaround to avoid loosing key release events.
+- Add linkage to libm when compositor is used (bug #6231).
+- Check for invalid type for GValue to avoid a crash (bug #6195).
+- Don't save the settings dialogs when saving the session.
+- Watch workspace changes in wnck and update treeview accordingly.
+- Move helper-dialog to $libdir/xfce4/xfwm4.
+- Build documentation in make dist.
+- Various theme updates.
+- Translation updates (ja, es, pl, uk, da, ro, ast, lv, sq, gl, ru, sk, pt,
+  fi, hu, it, de, pt_BR, cs, kk, si, hr, id, zh_TW)
+
+
+4.6.2
+=
+
+- Build fixes for GIT.
+- Fix mixed RTL/LTR text not rendering properly in title and tabwin.
+- Place windows on top of stack even when not focused in focus
+  follow mouse (bug #5479).
+- Increase menu button height and redice width (bug #5567).
+- Do not set the demand attention flag when the window is already
+  focused.
+- Keep windows entirely visible on screen change (bug #5795).
+- Various compilation warnings fixed.
+- Compute screen size based on each monitor size and layout and
+  avoid using reported size (bug #5795).
+- Reloading settings on keys-changed signal is a huge overhead and
+  complete nonsense (bug #5964).
+- Recent Xorg drivers disable the output when the lid is closed,
+  leaving no active monitor, in that case simply ignore the event to
+  avoid messing with windows' positions (bug #6209).
+- Add linkage to libm when compositor is used (bug #6231).
+- Check for invalid type for GValue to avoid a crash (bug #6195).
+- Allow only regular windows to be placed either above or below.
+- Translation updates (cs, el, es, gl, it, pl, pt, sv, tr, uk, lv,
+  ur, ur_PK, ro, ru, nl, ug).
+
 
 4.6.1
 =
 
 - Reduce repaint timeout in the compositor (Bug #5080)
-- Fix applications getting focused when focus on map is unset even 
+- Fix applications getting focused when focus on map is unset even
   without focus stealing prevention enabled (Bug #5044)
 - Reduce minimum timeout for focus delay in focus follow mouse (100ms was way
   too much)
@@ -33,8 +70,8 @@
 - Do not actually change window layer when status is above, below or fullscreen
   (Bug #5030)
 - Check fullscreen status against each monitor and not just the overall screen
-  size in the compositor. 
-- Fix remaining active grab if shortcut is not used (Bug #5207) 
+  size in the compositor.
+- Fix remaining active grab if shortcut is not used (Bug #5207)
 - Plug various memory leaks
 
 
@@ -49,39 +86,39 @@
   shortcut than the one being edited.
 - When stealing a shortcut from another shortcuts provider, clear the shortcut
   of that provider first.
-- Fix focus stealing prevention with applications which support the 
+- Fix focus stealing prevention with applications which 

[Xfce4-commits] xfwm4:master Post release tag bump.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 4671fc159e0150d855a49acc0e600363469b95c8 (commit)
   from e833699b91e6830e72bcfc0fec5600f74cf6ed7a (commit)

commit 4671fc159e0150d855a49acc0e600363469b95c8
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 15:02:05 2010 +0200

Post release tag bump.

 configure.ac.in |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/configure.ac.in b/configure.ac.in
index 239a22c..403c6da 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -7,7 +7,7 @@ m4_define([xfwm4_version_major], [4])
 m4_define([xfwm4_version_minor], [7])
 m4_define([xfwm4_version_micro], [0])
 m4_define([xfwm4_version_build], [...@revision@])
-m4_define([xfwm4_version_tag],   [])
+m4_define([xfwm4_version_tag],   [git])
 m4_define([xfwm4_version], 
[xfwm4_version_major().xfwm4_version_minor().xfwm4_version_micro()ifelse(xfwm4_version_tag(),
 [git], [xfwm4_version_tag().xfwm4_version_build()], [xfwm4_version_tag()])])
 
 m4_define([gtk_minimum_version], [2.10.0])
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfwm4|xfwm4-4.7.0 Creating annotated tag xfwm4-4.7.0

2010-09-05 Thread Nick Schermer
Updating annotated tag refs/tags/xfwm4-4.7.0
 as new annotated tag
 to 245bc14f37a26443a1182b895efc0cf2aa72bc78 (tag)
   succeeds xfce-4.6.0
  tagged by Nick Schermer n...@xfce.org
 on 2010-09-05 13:01 +

Abel Martín (1):
  l10n: Updated Spanish (Castilian) (es) translation to 100%

Akila Wajirasena (3):
  l10n: Updated Sinhala (si) translation to 58%
  l10n: Updated Sinhala (si) translation to 59%
  l10n: Updated Sinhala (si) translation to 59%

Ardjuna (2):
  l10n: Updated Indonesian (id) translation to 99%
  l10n: Updated Indonesian (id) translation to 100%

Bauzhan Muftakhidinov (5):
  l10n: New translation to Kazakh
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%

Besnik Bleta (1):
  l10n: Updates to Albanian (sq) translation

Carles Muñoz Gorriz (2):
  l10n: Updates to Catalan (Valencian) (ca) translation
  l10n: Updated Catalan (Valencian) (ca) translation to 100%

Cheng-Chia Tseng (3):
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 95%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 95%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 99%

Cristian Marchi (5):
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%

Daniel Nylander (1):
  l10n: Updates to Swedish (sv) translation

Danishka Navin (2):
  l10n: added Sinhala (si) translation
  l10n: Added Sinhala (si) translation

Denis Koryavov (6):
  l10n: Updates to Russian (ru) translation
  l10n: Updated Russian (ru) translation to 99%
  l10n: Updated Russian (ru) translation to 99%
  l10n: Updated Russian (ru) translation to 99%
  l10n: Updated Russian (ru) translation to 100%
  l10n: Updated Russian (ru) translation to 100%

Dmitrij Smirnov (1):
  l10n: Updated Russian (ru) translation to 100%

Dmitriy Kudryashov (1):
  l10n: Updates to Russian (ru) translation

Dmitry Nikitin (2):
  l10n: Updated Ukrainian (uk) translation to 100%
  l10n: Updated Ukrainian (uk) translation to 100%

Dumitru Moldovan (2):
  Romanian translation updates for xfwm4 trunk and xfce_4_6
  Added initial xfce4-settings Romanian translation

Evaggelos Balaskas (3):
  l10n: Updated Greek (el) translation to 99%
  l10n: Updated Greek (el) translation to 100%
  l10n: Updated Greek (el) translation to 100%

Fabian Nowak (1):
  l10n: Updated German (de) translation to 100%

Gabor Kelemen (6):
  2009-07-10  Gabor Kelemen  kelem...@gnome.hu
  2009-07-25  Gabor Kelemen  kelem...@gnome.hu
  2009-07-25  Gabor Kelemen  kelem...@gnome.hu
  l10n: Updated Hungarian (hu) translation to 100%
  l10n: Updated Hungarian (hu) translation to 100%
  l10n: Updated Hungarian (hu) translation to 100%

Gheyret Kenji (1):
  l10n: Uyghur translation

Ignacio Velasco (1):
  l10n: Updates to Spanish (Castilian) (es) translation

Ivica  Kolić (4):
  l10n: Initial Croatian (hr) translation
  l10n: Updated Croatian (hr) translation to 22%
  l10n: Updated Croatian (hr) translation to 68%
  l10n: Updated Croatian (hr) translation to 75%

Jamil Ahmed (2):
  l10n: Adding Bengali translation.
  l10n: Bengali Translation.

Jannis Pohlmann (1):
  * themes/daloa/Makefile.am, themes/default-4.6/Makefile.am,

Jari Rahkonen (3):
  l10n: Updated Finnish (fi) translation to 100%
  l10n: Updated Finnish (fi) translation to 100%
  l10n: Updated Finnish (fi) translation to 100%

Jérôme Guelfucci (13):
  Port the glade files to GtkBuilder format.
  Port the build system to use GtkBuilder.
  Port xfwm4-settings to GtkBuilder.
  Replace libxfcegui4 flags by libxfce4ui flags.
  Port the tweaks dialog to GtkBuilder.
  Port the workspaces dialog.
  Fix the glade file.
  Fix the two other glade files.
  Don't save the settings dialogs when saving the session.
  Add some missing orientations.
  Make the help buttons insensitive as we have no help atm.
  Scroll to the current theme when launching the dialog.
  Simplify the casts for GtkScales.

Leandro Regueiro (3):
  l10n: Updates to Galician (gl) translation
  l10n: Updates to Galician (gl) translation
  l10n: Updated Galician (gl) translation to 98%

Masato Hashimoto (2):
  * ja.po: Japanese translation update (Masato Hashimoto)
  l10n: Updates to Japanese (ja) translation

Maximilian Schleiss (5):
  Translations updates - es pl uk
  Translations updates - da es fr gl it nn
  Translations updates - gl pt ru
  Translations updates - es it ku
  l10n: Updated French (fr) 

[Xfce4-commits] xfconf:master Updates for release.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 43661152dd4a36a9feb3de2e44f2e3f4ae8b (commit)
   from c7253c859e497328c06d39d88111d201e87504ef (commit)

commit 43661152dd4a36a9feb3de2e44f2e3f4ae8b
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 15:10:41 2010 +0200

Updates for release.

 NEWS|   10 ++
 configure.ac.in |4 ++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index 338fdac..55a6a5c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+Xfconf 4.7.3
+
+
+  * Use G_GSIZE_FORMAT in the DBG message.
+  * Add doc module to fixxref options (bug #6304).
+  * Link the gtkdoc scanner to GObject and Glib (bug #6407).
+  * Check for perl outside bindings option for alias script (bug #6481).
+  * Move xfconfd from $libexecdir to $libdir.
+  * Updated translations: kk, bn, uk, si, it, sk, fr, id, zh_TW, de.
+
 Xfconf 4.7.2
 
 
diff --git a/configure.ac.in b/configure.ac.in
index 0d63c8f..ccdc25c 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -10,10 +10,10 @@ m4_define([libxfconf_verinfo], [2:0:0])
 m4_define([libxfconf_version_api], [0])
 m4_define([xfconf_version_major], [4])
 m4_define([xfconf_version_minor], [7])
-m4_define([xfconf_version_micro], [2])
+m4_define([xfconf_version_micro], [3])
 m4_define([xfconf_version_nano], [])
 m4_define([xfconf_version_build], [...@revision@])
-m4_define([xfconf_version_tag], [git])
+m4_define([xfconf_version_tag], [])
 m4_define([xfconf_version], 
[xfconf_version_major().xfconf_version_minor().xfconf_version_micro()ifelse(xfconf_version_nano(),
 [], [], [.xfconf_version_nano()])ifelse(xfconf_version_tag(), [git], 
[xfconf_version_tag()-xfconf_version_build()], [xfconf_version_tag()])])
 
 m4_define([xfconf_default_debug], [ifelse(xfconf_version_tag(), [git], [yes], 
[minimum])])
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfconf|xfconf-4.7.3 Creating annotated tag xfconf-4.7.3

2010-09-05 Thread Nick Schermer
Updating annotated tag refs/tags/xfconf-4.7.3
 as new annotated tag
 to dbc7e181b70d38f4c68a86709f7259687c7d2583 (tag)
   succeeds xfconf-4.7.2
  tagged by Nick Schermer n...@xfce.org
 on 2010-09-05 13:16 +

A S  Alam (1):
  l10n: Punjabi Translation Added

Andhika Padmawan (1):
  l10n: Updated Indonesian (id) translation to 100%

Ardjuna (1):
  l10n: Updated Indonesian (id) translation to 98%

Bauzhan Muftakhidinov (2):
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%

Cheng-Chia Tseng (3):
  l10n: Updates to traditional Chinese translation
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 93%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%

Cristian Marchi (1):
  l10n: Updated Italian (it) translation to 100%

Danishka Navin (4):
  l10n: added Sinhala (si) translation
  l10n: Updated Sinhala (si) translation to 7%
  l10n: Updated Sinhala (si) translation to 12%
  l10n: Updated Sinhala (si) translation to 14%

David Mohr (1):
  Link the gtkdoc scanner to GObject and Glib (bug #6407).

Dmitry Nikitin (1):
  l10n: Updated Ukrainian (uk) translation to 100%

Fabian Nowak (1):
  l10n: Updated German (de) translation to 100%

Gheyret Kenji (1):
  l10n: Uyghur translation

Jamil Ahmed (1):
  l10n: Adding Bengali translation.

Maximilian Schleiss (1):
  l10n: Updated French (fr) translation to 100%

Nick Schermer (6):
  Post release tag bump.
  Use G_GSIZE_FORMAT in the DBG message.
  Add doc module to fixxref options (bug #6304).
  Check for perl outside bindings option for alias script (bug #6481).
  Move xfconfd from $libexecdir to $libdir.
  Updates for release.

Robert Hartl (1):
  l10n: Updated Slovak (sk) translation to 58%

___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfwm4:master l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to 93d3b3ae1769762cc538a60b33364b160dbf4cfe (commit)
   from 4671fc159e0150d855a49acc0e600363469b95c8 (commit)

commit 93d3b3ae1769762cc538a60b33364b160dbf4cfe
Author: Cheng-Chia Tseng pswo10...@gmail.com
Date:   Sun Sep 5 15:21:10 2010 +0200

l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%

New status: 222 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/zh_TW.po |  167 ++-
 1 files changed, 16 insertions(+), 151 deletions(-)

diff --git a/po/zh_TW.po b/po/zh_TW.po
index 8d597d5..fb86dec 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -5,13 +5,13 @@
 # Ambrose Li a...@ada.dhs.org, 2004.
 # Hydonsingore Cia hydonsing...@educities.edu.tw, 2005.
 # Cheng-Chia Tseng pswo10...@gmail.com, 2010.
-# 
+#
 msgid 
 msgstr 
 Project-Id-Version: xfwm4 4.4.0\n
 Report-Msgid-Bugs-To: \n
-POT-Creation-Date: 2010-09-04 04:07+\n
-PO-Revision-Date: 2010-09-04 10:19+0800\n
+POT-Creation-Date: 2010-09-05 10:08+\n
+PO-Revision-Date: 2010-09-05 21:20+0800\n
 Last-Translator: Cheng-Chia Tseng pswo10...@gmail.com\n
 Language-Team: Chinese (traditional) zh-l...@linux.org.tw\n
 MIME-Version: 1.0\n
@@ -115,9 +115,8 @@ msgid Workspaces
 msgstr 工作區
 
 #: ../settings-dialogs/xfwm4-dialog.glade.h:1
-#, fuzzy
 msgid bBox move and resize/b
-msgstr b移動與重新調整大小/b
+msgstr b視窗移動與重新調整大小/b
 
 #: ../settings-dialogs/xfwm4-dialog.glade.h:2
 msgid bButton layout/b
@@ -898,11 +897,11 @@ msgstr 總是在其它視窗下方
 
 #: ../src/menu.c:55
 msgid Roll Window Up
-msgstr 向上捲動視窗
+msgstr 向上捲收視窗
 
 #: ../src/menu.c:56
 msgid Roll Window Down
-msgstr 向下捲動視窗
+msgstr 向下捲開視窗
 
 # TODO check translation
 #: ../src/menu.c:57
@@ -987,444 +986,310 @@ msgstr 無法建立輔助程式對話窗:%s\n
 
 #~ msgid Distance|iSmall/i
 #~ msgstr 距離|窄
-
 #~ msgid Resistance|iSmall/i
 #~ msgstr 阻抗|弱
-
 #~ msgid Resistance|iWide/i
 #~ msgstr 阻抗|強
-
 #~ msgid Window Manager
 #~ msgstr 視窗管理程式
-
 #~ msgid Workspace Margins
 #~ msgstr 工作區邊緣
-
 #~ msgid Left :
 #~ msgstr 左側:
-
 #~ msgid Right :
 #~ msgstr 右側:
-
 #~ msgid Top :
 #~ msgstr 頂部:
-
 #~ msgid Bottom :
 #~ msgstr 底部:
-
 #~ msgid Bring window on current workspace
 #~ msgstr 將視窗移至下一個工作區
-
 #~ msgid Do nothing
 #~ msgstr 無
-
 #~ msgid Include hidden (i.e. iconified) windows
 #~ msgstr 包含隱藏(如:圖示化的)視窗
-
 #~ msgid Cycle through windows from all workspaces
 #~ msgstr 在所有工作區的視窗間循環
-
 #~ msgid Cycling
 #~ msgstr 循環
-
 #~ msgid Activate focus stealing prevention
 #~ msgstr 啟用「預防偷竊焦點」
-
 #~ msgid Focus
 #~ msgstr 焦點
-
 #~ msgid Key used to grab and move windows
 #~ msgstr 用來抓住及移動視窗的按鍵
-
 #~ msgid Raise windows when any mouse button is pressed
 #~ msgstr 按下任一滑鼠鍵時揚起視窗
-
 #~ msgid Hide frame of windows when maximized
 #~ msgstr 移動視窗時顯示其內容
-
 #~ msgid Restore original size of maximized windows when moving
 #~ msgstr 移動視窗時回復最大化視窗原本的大小
-
 #~ msgid Use edge resistance instead of windows snapping
 #~ msgstr 使用邊緣阻抗取代視窗吸引
-
 #~ msgid Accessibility
 #~ msgstr 可近性
-
 #~ msgid Switch workspaces using the mouse wheel over the desktop
 #~ msgstr 在桌面上使用滾輪切換工作區
-
-#~ msgid Remember and recall previous workspace when switching via keyboard 
shortcuts
+#~ msgid 
+#~ Remember and recall previous workspace when switching via keyboard 
+#~ shortcuts
 #~ msgstr 由鍵盤捷徑切換時,記住並回到先前的作區
-
 #~ msgid Wrap workspaces depending on the actual desktop layout
 #~ msgstr 以實際上的桌面輸出決定工作區迴繞
-
 #~ msgid Wrap workspaces when the first or last workspace is reached
 #~ msgstr 抵達第一個或最後一個工作區時時迴繞工作區
-
 #~ msgid Minimum size of windows to trigger smart placement
 #~ msgstr 觸發智慧配置的最小視窗大小
-
 #~ msgid Size|Small
 #~ msgstr 大小|小
-
 #~ msgid Size|Large
 #~ msgstr 大小|大
-
 #~ msgid Default positionning of windows without smart placement:
 #~ msgstr 觸發智慧配置的最小視窗大小
-
 #~ msgid Placement
 #~ msgstr 配置
-
 #~ msgid Show shadows under dock windows
 #~ msgstr 在跳出視窗下顯示陰影
-
 #~ msgid Show shadows under regular windows
 #~ msgstr 在一般視窗下顯示陰影
-
 #~ msgid Show shadows under popup windows
 #~ msgstr 在跳出視窗下顯示陰影
-
 #~ msgid Opacity of window decorations
 #~ msgstr 視窗裝飾的不透明程度
-
 #~ msgid Transparent
 #~ msgstr 透明
-
 #~ msgid Opaque
 #~ msgstr 不透明
-
 #~ msgid Opacity of inactive windows
 #~ msgstr 跳出視窗的不透明程度
-
 #~ msgid Opacity of windows during move
 #~ msgstr 移動視窗時的不透明程度
-
 #~ msgid Opacity of windows during resize
 #~ msgstr 縮放視窗時的不透明程度
-
 #~ msgid Opacity of popup windows
 #~ msgstr 跳出視窗的不透明程度
-
 #~ msgid Compositor
 #~ msgstr 設定快速鍵
-
 #~ msgid Button Label|Window Manager Tweaks
 #~ msgstr 視窗管理程式調校
-
 #~ msgid These settings cannot work with your current window manager (%s)
 #~ msgstr 這些設定無法運作於您目前的視窗管理程式 (%s) 
-
 #~ msgid Change name
 #~ msgstr 改變名稱
-
 #~ msgid Name:
 #~ msgstr 名稱:
-
 #~ msgid Click on a workspace name to edit it
 #~ msgstr 選取一個工作區名稱來編輯它
-
 #~ msgid Number of workspaces:
 #~ msgstr 工作區名稱:
-
 #~ msgid Workspace names
 #~ msgstr 工作區個數
-
 #~ msgid Button Label|Workspaces and Margins
 #~ msgstr 工作區和邊緣
-
 #~ msgid 

[Xfce4-commits] garcon:jannis/basic-monitoring Creating branch jannis/basic-monitoring

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 as new branch
 to 9ae4e81297ec3031c17e35d7facf16da23d640be (commit)

Branches are created implicitly by pushing. This mail only exists to 
let you know that there was code pushed to 

  refs/heads/jannis/basic-monitoring

for the first time. Mails for the commits that lead to the creation 
of the branch will follow after this mail.
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/basic-monitoring Reload Categories/OnlyShowIn/NotShowIn. Add garcon_menu_element_equal().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 2d35906e4287a17a35386d1fe01799348e3e6c22 (commit)
   from 7d42e955c11060646e17d3e1f67a601ba3d6a503 (commit)

commit 2d35906e4287a17a35386d1fe01799348e3e6c22
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 15:01:23 2010 +0200

Reload Categories/OnlyShowIn/NotShowIn. Add garcon_menu_element_equal().

 garcon/garcon-menu-element.c   |   15 ++
 garcon/garcon-menu-element.h   |4 +++
 garcon/garcon-menu-item.c  |   56 +---
 garcon/garcon-menu-separator.c |   13 +
 garcon/garcon-menu.c   |   17 +++-
 5 files changed, 100 insertions(+), 5 deletions(-)

diff --git a/garcon/garcon-menu-element.c b/garcon/garcon-menu-element.c
index 5978120..5f6a5d6 100644
--- a/garcon/garcon-menu-element.c
+++ b/garcon/garcon-menu-element.c
@@ -116,3 +116,18 @@ garcon_menu_element_get_no_display (GarconMenuElement 
*element)
   return (*GARCON_MENU_ELEMENT_GET_IFACE (element)-get_no_display) (element);
 }
 
+
+
+gboolean
+garcon_menu_element_equal (GarconMenuElement *a,
+   GarconMenuElement *b)
+{
+  g_return_val_if_fail (GARCON_IS_MENU_ELEMENT (a), FALSE);
+  g_return_val_if_fail (GARCON_IS_MENU_ELEMENT (b), FALSE);
+
+  if (G_TYPE_FROM_INSTANCE (a) != G_TYPE_FROM_INSTANCE (b))
+return FALSE;
+
+  return (*GARCON_MENU_ELEMENT_GET_IFACE (a)-equal) (a, b);
+}
+
diff --git a/garcon/garcon-menu-element.h b/garcon/garcon-menu-element.h
index 8aacdd8..4c30547 100644
--- a/garcon/garcon-menu-element.h
+++ b/garcon/garcon-menu-element.h
@@ -48,6 +48,8 @@ struct _GarconMenuElementIface
   gboolean (*get_visible) (GarconMenuElement *element);
   gboolean (*get_show_in_environment) (GarconMenuElement *element);
   gboolean (*get_no_display)  (GarconMenuElement *element);
+  gboolean (*equal)   (GarconMenuElement *element,
+   GarconMenuElement *other);
 };
 
 GTypegarcon_menu_element_get_type(void) G_GNUC_CONST;
@@ -58,6 +60,8 @@ const gchar *garcon_menu_element_get_icon_name   
(GarconMenuElement *ele
 gboolean garcon_menu_element_get_visible (GarconMenuElement 
*element);
 gboolean garcon_menu_element_get_show_in_environment (GarconMenuElement 
*element);
 gboolean garcon_menu_element_get_no_display  (GarconMenuElement 
*element);
+gboolean garcon_menu_element_equal   (GarconMenuElement *a,
+  GarconMenuElement 
*b);
 
 G_END_DECLS
 
diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index 461ed02..f490f16 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -85,6 +85,8 @@ static const gchar *garcon_menu_item_get_element_icon_name
   (GarconMenu
 static gboolean garcon_menu_item_get_element_visible 
(GarconMenuElement  *element);
 static gboolean garcon_menu_item_get_element_show_in_environment 
(GarconMenuElement  *element);
 static gboolean garcon_menu_item_get_element_no_display  
(GarconMenuElement  *element);
+static gboolean garcon_menu_item_get_element_equal   
(GarconMenuElement  *element,
+  
GarconMenuElement  *other);
 
 
 
@@ -384,6 +386,7 @@ garcon_menu_item_element_init (GarconMenuElementIface 
*iface)
   iface-get_visible = garcon_menu_item_get_element_visible;
   iface-get_show_in_environment = 
garcon_menu_item_get_element_show_in_environment;
   iface-get_no_display = garcon_menu_item_get_element_no_display;
+  iface-equal = garcon_menu_item_get_element_equal;
 }
 
 
@@ -622,6 +625,21 @@ garcon_menu_item_get_element_no_display (GarconMenuElement 
*element)
   return garcon_menu_item_get_no_display (GARCON_MENU_ITEM (element));
 }
 
+
+
+static gboolean
+garcon_menu_item_get_element_equal (GarconMenuElement *element,
+GarconMenuElement *other)
+{
+  g_return_val_if_fail (GARCON_IS_MENU_ITEM (element), FALSE);
+  g_return_val_if_fail (GARCON_IS_MENU_ITEM (other), FALSE);
+
+  return g_file_equal (GARCON_MENU_ITEM (element)-priv-file, 
+   GARCON_MENU_ITEM (other)-priv-file);
+}
+
+
+
 static const gchar*
 garcon_menu_item_get_element_name (GarconMenuElement *element)
 {
@@ -816,12 +834,16 @@ garcon_menu_item_reload_from_file (GarconMenuItem  *item,
GError **error)
 {
   GKeyFile *rc;
-  gchar*contents;
-  gsize length = 0;
+  gboolean  boolean;
   gboolean  succeed;
+  GList*categories = NULL;
+  gchar   **mt;
+  gchar   **str_list;
+  gchar*contents;
   gchar*string;
-  gboolean  boolean;
-  gchar*name, *exec;
+  gchar*name;
+  gchar*exec;
+  gsize length = 0;
 
   g_return_val_if_fail 

[Xfce4-commits] garcon:jannis/basic-monitoring Update copyrights and add garcon_menu_item_pool_clear().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 9ae4e81297ec3031c17e35d7facf16da23d640be (commit)
   from 2d35906e4287a17a35386d1fe01799348e3e6c22 (commit)

commit 9ae4e81297ec3031c17e35d7facf16da23d640be
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 15:30:50 2010 +0200

Update copyrights and add garcon_menu_item_pool_clear().

 garcon/garcon-menu-item-pool.c |   11 ++-
 garcon/garcon-menu-item-pool.h |3 ++-
 garcon/garcon-menu-item.c  |3 ++-
 garcon/garcon-menu-item.h  |   17 -
 garcon/garcon-menu-separator.c |2 +-
 garcon/garcon-menu-separator.h |   17 -
 6 files changed, 31 insertions(+), 22 deletions(-)

diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index 999b0f9..b91b6af 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2006-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2006-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -178,3 +178,12 @@ garcon_menu_item_pool_get_empty (GarconMenuItemPool *pool)
   g_return_val_if_fail (GARCON_IS_MENU_ITEM_POOL (pool), TRUE);
   return (g_hash_table_size (pool-priv-items) == 0);
 }
+
+
+
+void
+garcon_menu_item_pool_clear (GarconMenuItemPool *pool)
+{
+  g_return_if_fail (GARCON_IS_MENU_ITEM_POOL (pool));
+  g_hash_table_remove_all (pool-priv-items);
+}
diff --git a/garcon/garcon-menu-item-pool.h b/garcon/garcon-menu-item-pool.h
index b75a13a..10fcfa4 100644
--- a/garcon/garcon-menu-item-pool.h
+++ b/garcon/garcon-menu-item-pool.h
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2006-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2006-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -55,6 +55,7 @@ voidgarcon_menu_item_pool_foreach
(GarconMenuItemPool
 voidgarcon_menu_item_pool_apply_exclude_rule 
(GarconMenuItemPool *pool,
   GNode
  *node);
 gbooleangarcon_menu_item_pool_get_empty  
(GarconMenuItemPool *pool);
+voidgarcon_menu_item_pool_clear  
(GarconMenuItemPool *pool);
 
 G_END_DECLS
 
diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index f490f16..26e0d4f 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -1,6 +1,7 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2006-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2006-2010 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2009-2010 Nick Schermer n...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
diff --git a/garcon/garcon-menu-item.h b/garcon/garcon-menu-item.h
index 8a59774..9ebfe01 100644
--- a/garcon/garcon-menu-item.h
+++ b/garcon/garcon-menu-item.h
@@ -1,8 +1,7 @@
-/* $Id$ */
+/* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * vi:set et ai sts=2 sw=2 cindent:
- *
  * Copyright (c) 2006-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2009  Nick Schermer n...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -11,13 +10,13 @@
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
+ * GNU Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General 
+ * Public License along with this library; if not, write to the 
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 #if !defined(GARCON_INSIDE_GARCON_H)  !defined(GARCON_COMPILATION)
diff --git a/garcon/garcon-menu-separator.c b/garcon/garcon-menu-separator.c
index e7e22e5..92366c0 100644
--- a/garcon/garcon-menu-separator.c
+++ b/garcon/garcon-menu-separator.c
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2007-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2007-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the 

[Xfce4-commits] garcon:jannis/basic-monitoring Rework menu loading a bit based on a uses_custom_path flag.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 8c25a7b68c86175c99c56848bc8ab54477bc5902 (commit)
   from 9ae4e81297ec3031c17e35d7facf16da23d640be (commit)

commit 8c25a7b68c86175c99c56848bc8ab54477bc5902
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 15:36:38 2010 +0200

Rework menu loading a bit based on a uses_custom_path flag.

 garcon/garcon-menu.c |  148 ++
 1 files changed, 114 insertions(+), 34 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 879c3ef..06f74f3 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -98,6 +98,7 @@ enum
 
 
 static void garcon_menu_element_init
(GarconMenuElementIface  *iface);
+static void garcon_menu_clear   
(GarconMenu  *menu);
 static void garcon_menu_finalize
(GObject *object);
 static void garcon_menu_get_property
(GObject *object,
  guint 
   prop_id,
@@ -139,6 +140,8 @@ static gboolean 
garcon_menu_get_element_show_in_environment (GarconM
 static gboolean garcon_menu_get_element_no_display  
(GarconMenuElement   *element);
 static gboolean garcon_menu_get_element_equal   
(GarconMenuElement   *element,
  
GarconMenuElement   *other);
+static void garcon_menu_start_monitoring
(GarconMenu  *menu);
+static void garcon_menu_stop_monitoring 
(GarconMenu  *menu);
 
 
 
@@ -164,6 +167,9 @@ struct _GarconMenuPrivate
 
   /* Shared menu item cache */
   GarconMenuItemCache *cache;
+
+  /* Flag for marking custom path menus */
+  guintuses_custom_path : 1;
 };
 
 
@@ -241,6 +247,7 @@ garcon_menu_init (GarconMenu *menu)
   menu-priv-submenus = NULL;
   menu-priv-parent = NULL;
   menu-priv-pool = garcon_menu_item_pool_new ();
+  menu-priv-uses_custom_path = TRUE;
 
   /* Take reference on the menu item cache */
   menu-priv-cache = garcon_menu_item_cache_get_default ();
@@ -249,24 +256,49 @@ garcon_menu_init (GarconMenu *menu)
 
 
 static void
-garcon_menu_finalize (GObject *object)
+garcon_menu_clear (GarconMenu *menu)
 {
-  GarconMenu *menu = GARCON_MENU (object);
+  g_return_if_fail (GARCON_IS_MENU (menu));
 
-  /* Destroy the menu tree */
+  /* Check if the menu is the root menu */
   if (menu-priv-parent == NULL)
-garcon_menu_node_tree_free (menu-priv-tree);
-
-  /* Free file */
-  g_object_unref (menu-priv-file);
+{
+  /* Stop monitoring recursively */
+  garcon_menu_stop_monitoring (menu);
 
-  /* Free directory */
-  if (G_LIKELY (menu-priv-directory != NULL))
-g_object_unref (menu-priv-directory);
+  /* Destroy the menu tree */
+  garcon_menu_node_tree_free (menu-priv-tree);
+  menu-priv-tree = NULL;
+}
 
   /* Free submenus */
   g_list_foreach (menu-priv-submenus, (GFunc) g_object_unref, NULL);
   g_list_free (menu-priv-submenus);
+  menu-priv-submenus = NULL;
+
+  /* Free directory */
+  if (G_LIKELY (menu-priv-directory != NULL))
+{
+  g_object_unref (menu-priv-directory);
+  menu-priv-directory = NULL;
+}
+
+  /* Clear the item pool */
+  garcon_menu_item_pool_clear (menu-priv-pool);
+}
+
+
+
+static void
+garcon_menu_finalize (GObject *object)
+{
+  GarconMenu *menu = GARCON_MENU (object);
+
+  /* Clear resources allocated in the load process */
+  garcon_menu_clear (menu);
+
+  /* Free file */
+  g_object_unref (menu-priv-file);
 
   /* Free item pool */
   g_object_unref (menu-priv-pool);
@@ -413,26 +445,9 @@ GarconMenu *
 garcon_menu_new_applications (void)
 {
   GarconMenu *menu = NULL;
-  GFile  *file;
-  gchar  *filename;
-  guint   n;
 
-  /* Search for a usable applications menu file */
-  for (n = 0; menu == NULL  n  G_N_ELEMENTS (GARCON_MENU_ROOT_SPECS); ++n)
-{
-  /* Search for the applications menu file */
-  filename = garcon_config_lookup (GARCON_MENU_ROOT_SPECS[n]);
-
-  /* Create menu if the file exists */
-  if (G_UNLIKELY (filename != NULL))
-{
-  file = _garcon_file_new_for_unknown_input (filename, NULL);
-  menu = garcon_menu_new (file);
-  g_object_unref (file);
-}
-
-  g_free (filename);
-}
+  menu = g_object_new (GARCON_TYPE_MENU, NULL);
+  menu-priv-uses_custom_path = FALSE;
 
   return menu;
 }
@@ -550,20 +565,68 @@ garcon_menu_load (GarconMenu   *menu,
   GarconMenuMerger *merger;
   GHashTable   *desktop_id_table;
   gboolean  success = TRUE;
+  gchar*filename;
+  guint n;
 
   g_return_val_if_fail (GARCON_IS_MENU (menu), FALSE);

[Xfce4-commits] garcon:jannis/basic-monitoring Lookup relative filenames with garcon_config_build_paths().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 186d64776a647e7b924c20ae3d01ff24aaac18e5 (commit)
   from 8c25a7b68c86175c99c56848bc8ab54477bc5902 (commit)

commit 186d64776a647e7b924c20ae3d01ff24aaac18e5
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 15:47:12 2010 +0200

Lookup relative filenames with garcon_config_build_paths().

 garcon/garcon-config.c |   31 ---
 garcon/{garcon-config.h.in = garcon-config.h} |   32 
 2 files changed, 43 insertions(+), 20 deletions(-)

diff --git a/garcon/garcon-config.c b/garcon/garcon-config.c
index 56fef3d..1aee68d 100644
--- a/garcon/garcon-config.c
+++ b/garcon/garcon-config.c
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2009-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -9,11 +9,11 @@
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  * GNU Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General
- * Public License along with this library; if not, write to the
+ * You should have received a copy of the GNU Library General 
+ * Public License along with this library; if not, write to the 
  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  * Boston, MA 02110-1301, USA.
  */
@@ -122,6 +122,29 @@ garcon_check_version (guint required_major,
 
 
 
+gchar **
+garcon_config_build_paths (const gchar *filename)
+{
+  const gchar * const *dirs;
+  gchar  **paths;
+  guintn;
+
+  g_return_val_if_fail (filename != NULL  *filename != '\0', NULL);
+
+  dirs = g_get_system_config_dirs ();
+
+  paths = g_new0 (gchar *, 1 + g_strv_length ((gchar **)dirs) + 1);
+  
+  paths[0] = g_build_filename (g_get_user_config_dir (), filename, NULL);
+  for (n = 1; dirs[n-1] != NULL; ++n)
+paths[n] = g_build_filename (dirs[n-1], filename, NULL);
+  paths[n] = NULL;
+
+  return paths;
+}
+
+
+
 /**
  * garcon_config_lookup:
  * @filename : relative filename of the config resource.
diff --git a/garcon/garcon-config.h.in b/garcon/garcon-config.h
similarity index 72%
copy from garcon/garcon-config.h.in
copy to garcon/garcon-config.h
index baae3b8..0419d29 100644
--- a/garcon/garcon-config.h.in
+++ b/garcon/garcon-config.h
@@ -1,7 +1,6 @@
-/* $Id$ */
-/* vi:set expandtab sw=2 sts=2: */
+/* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2008 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2008-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -10,13 +9,13 @@
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
+ * GNU Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General 
+ * Public License along with this library; if not, write to the 
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 #if !defined (GARCON_INSIDE_GARCON_H)  !defined (GARCON_COMPILATION)
@@ -38,7 +37,7 @@ G_BEGIN_DECLS
  * application compile time, rather than from the library
  * linked against at application run time.
  **/
-#define GARCON_MAJOR_VERSION @GARCON_VERSION_MAJOR@
+#define GARCON_MAJOR_VERSION 0
 
 /**
  * GARCON_MINOR_VERSION:
@@ -48,7 +47,7 @@ G_BEGIN_DECLS
  * application compile time, rather than from the library
  * linked against at application run time.
  **/
-#define GARCON_MINOR_VERSION @GARCON_VERSION_MINOR@
+#define GARCON_MINOR_VERSION 1
 
 /**
  * GARCON_MICRO_VERSION:
@@ -58,7 +57,7 @@ G_BEGIN_DECLS
  * application compile time, rather than from the library
  * linked against at application run time.
  **/
-#define GARCON_MICRO_VERSION @GARCON_VERSION_MICRO@
+#define GARCON_MICRO_VERSION 1
 
 /**
  * GARCON_CHECK_VERSION:
@@ -83,11 +82,12 @@ extern const guint garcon_major_version;
 extern const guint garcon_minor_version;
 extern const guint garcon_micro_version;
 
-const gchar *garcon_check_version (guint required_major,
-   

[Xfce4-commits] garcon:jannis/basic-monitoring Improve code quality of garcon_config_lookup().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to ab3b66cf90382fd8dfe161783d423858e9dd3180 (commit)
   from 186d64776a647e7b924c20ae3d01ff24aaac18e5 (commit)

commit ab3b66cf90382fd8dfe161783d423858e9dd3180
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 15:53:44 2010 +0200

Improve code quality of garcon_config_lookup().

 garcon/garcon-config.c |   20 +
 garcon/garcon-menu.c   |  111 
 2 files changed, 122 insertions(+), 9 deletions(-)

diff --git a/garcon/garcon-config.c b/garcon/garcon-config.c
index 1aee68d..02d5413 100644
--- a/garcon/garcon-config.c
+++ b/garcon/garcon-config.c
@@ -167,23 +167,25 @@ garcon_config_lookup (const gchar *filename)
 
   /* Look for the file in the user's config directory */
   path = g_build_filename (g_get_user_config_dir (), filename, NULL);
-  if (g_path_is_absolute (path)
-   g_file_test (path, G_FILE_TEST_IS_REGULAR))
+  if (g_path_is_absolute (path)  g_file_test (path, G_FILE_TEST_IS_REGULAR))
 return path;
+
   g_free (path);
+  path = NULL;
 
   /* Look for the file in the system config directories */
   dirs = g_get_system_config_dirs ();
-  for (i = 0; dirs[i] != NULL; ++i)
+  for (i = 0; path == NULL  dirs[i] != NULL; ++i)
 {
   /* Build the filename, if the file exists return the path */
   path = g_build_filename (dirs[i], filename, NULL);
-  if (g_path_is_absolute (path)
-   g_file_test (path, G_FILE_TEST_IS_REGULAR))
-return path;
-  g_free (path);
+  if (!g_path_is_absolute (path) || !g_file_test (path, 
G_FILE_TEST_IS_REGULAR))
+{
+  g_free (path);
+  path = NULL;
+}
 }
 
-  /* Nothing found */
-  return NULL;
+  /* Return the path or NULL if the file could not be found */
+  return path;
 }
diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 06f74f3..37ec508 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -142,6 +142,12 @@ static gboolean garcon_menu_get_element_equal  
 (GarconM
  
GarconMenuElement   *other);
 static void garcon_menu_start_monitoring
(GarconMenu  *menu);
 static void garcon_menu_stop_monitoring 
(GarconMenu  *menu);
+static void garcon_menu_monitor_menu_files  
(GarconMenu  *menu);
+static void garcon_menu_file_changed
(GarconMenu  *menu,
+ GFile 
  *file,
+ GFile 
  *other_file,
+ 
GFileMonitorEventevent_type,
+ 
GFileMonitor*monitor);
 
 
 
@@ -153,6 +159,9 @@ struct _GarconMenuPrivate
   /* DOM tree */
   GNode   *tree;
 
+  /* File and directory monitors */
+  GList   *monitors;
+
   /* Directory */
   GarconMenuDirectory *directory;
 
@@ -243,6 +252,7 @@ garcon_menu_init (GarconMenu *menu)
   menu-priv = GARCON_MENU_GET_PRIVATE (menu);
   menu-priv-file = NULL;
   menu-priv-tree = NULL;
+  menu-priv-monitors = NULL;
   menu-priv-directory = NULL;
   menu-priv-submenus = NULL;
   menu-priv-parent = NULL;
@@ -1639,6 +1649,20 @@ garcon_menu_get_element_equal (GarconMenuElement 
*element,
 static void
 garcon_menu_start_monitoring (GarconMenu *menu)
 {
+  GList *lp;
+
+  g_return_if_fail (GARCON_IS_MENU (menu));
+
+  /* Let only the root menu monitor menu files, merge fileS/directories and 
app dirs */
+  if (menu-priv-parent == NULL)
+{
+  garcon_menu_monitor_menu_files (menu);
+}
+
+  /* Recurse into submenus */
+  for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
+garcon_menu_start_monitoring (lp-data);
+
 }
 
 
@@ -1646,4 +1670,91 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 static void
 garcon_menu_stop_monitoring (GarconMenu *menu)
 {
+  GList *lp;
+
+  g_return_if_fail (GARCON_IS_MENU (menu));
+
+  /* Recurse into submenus */
+  for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
+garcon_menu_stop_monitoring (lp-data);
+
+  /* Disconnect and destroy all monitors */
+  for (lp = menu-priv-monitors; lp != NULL; lp = lp-next)
+{
+  g_signal_handlers_disconnect_matched (lp-data, G_SIGNAL_MATCH_DATA,
+0, 0, NULL, NULL, menu);
+  g_object_unref (lp-data);
+}
+
+  /* Free the monitor list */
+  g_list_free (menu-priv-monitors);
+  menu-priv-monitors = NULL;
+}
+
+
+
+static void
+garcon_menu_monitor_menu_files (GarconMenu *menu)
+{
+  GFileMonitor *monitor;
+  GFile*file;
+  gchar   **paths;
+  guint 

[Xfce4-commits] garcon:jannis/basic-monitoring Monitor merged files/dirs and reload menus when one of them changes.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to ccf88785ae826293eb0a1868985dda89f542eac5 (commit)
   from 7b9ad615f0fb2c0945edd08a848afaa96e5e4dd1 (commit)

commit ccf88785ae826293eb0a1868985dda89f542eac5
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 16:55:32 2010 +0200

Monitor merged files/dirs and reload menus when one of them changes.

This requires a modification to GarconMenuMerger as it needs to collect
and return a list of all files and directories that were merged into the
menu tree.

 garcon/garcon-menu-merger.c |   73 +
 garcon/garcon-menu-merger.h |2 +
 garcon/garcon-menu.c|  128 ++-
 3 files changed, 178 insertions(+), 25 deletions(-)

diff --git a/garcon/garcon-menu-merger.c b/garcon/garcon-menu-merger.c
index b917782..f620d6f 100644
--- a/garcon/garcon-menu-merger.c
+++ b/garcon/garcon-menu-merger.c
@@ -35,16 +35,6 @@
 
 typedef struct _GarconMenuMergerContext GarconMenuMergerContext;
 
-struct _GarconMenuMergerContext
-{
-  GarconMenuNodeType node_type;
-  GarconMenuMerger  *merger;
-  GCancellable  *cancellable;
-  GError   **error;
-  gboolean   success;
-  GList *file_stack;
-};
-
 
 
 #define GARCON_MENU_MERGER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE 
((obj), GARCON_TYPE_MENU_MERGER, GarconMenuMergerPrivate))
@@ -98,6 +88,18 @@ struct _GarconMenuMergerPrivate
   GList  *file_stack;
 };
 
+struct _GarconMenuMergerContext
+{
+  GarconMenuNodeType node_type;
+  GarconMenuMerger  *merger;
+  GCancellable  *cancellable;
+  GError   **error;
+  gboolean   success;
+  GList *file_stack;
+  GList**merge_files;
+  GList**merge_dirs;
+};
+
 
 
 G_DEFINE_TYPE_WITH_CODE (GarconMenuMerger, garcon_menu_merger, G_TYPE_OBJECT,
@@ -266,6 +268,8 @@ garcon_menu_merger_prepare_merging (GarconMenuMerger
*merger,
 
 gboolean
 garcon_menu_merger_run (GarconMenuMerger *merger,
+GList   **merge_files,
+GList   **merge_dirs,
 GCancellable *cancellable,
 GError  **error)
 {
@@ -280,6 +284,8 @@ garcon_menu_merger_run (GarconMenuMerger *merger,
   context.error = error;
   context.success = TRUE;
   context.file_stack = NULL;
+  context.merge_files = merge_files;
+  context.merge_dirs = merge_dirs;
 
   file = garcon_menu_tree_provider_get_file (GARCON_MENU_TREE_PROVIDER 
(merger));
   context.file_stack = g_list_concat (context.file_stack, 
merger-priv-file_stack);
@@ -315,7 +321,7 @@ garcon_menu_merger_run (GarconMenuMerger *merger,
(GNodeTraverseFunc) 
garcon_menu_merger_resolve_relative_paths,
context);
 
-  garcon_menu_merger_remove_duplicate_paths 
(merger-priv-menu,GARCON_MENU_NODE_TYPE_DIRECTORY_DIR);
+  garcon_menu_merger_remove_duplicate_paths (merger-priv-menu, 
GARCON_MENU_NODE_TYPE_DIRECTORY_DIR);
   garcon_menu_merger_remove_duplicate_paths (merger-priv-menu, 
GARCON_MENU_NODE_TYPE_DIRECTORY);
 
   garcon_menu_merger_resolve_moves (merger-priv-menu);
@@ -439,6 +445,16 @@ garcon_menu_merger_insert_default_dirs (GNode *parent,
 
 
 
+static gint
+compare_files (GFile *file,
+   GFile *other_file)
+{
+  return g_file_equal (file, other_file) ? 0 : 1;
+}
+
+
+
+
 static void
 garcon_menu_merger_insert_default_merge_dirs (GNode *parent,
   GNode *defaults_node)
@@ -750,11 +766,21 @@ garcon_menu_merger_resolve_merge_dirs (GNode  
 *node,
 
   dir = _garcon_file_new_for_unknown_input (garcon_menu_node_tree_get_string 
(node), NULL);
 
+  if (dir == NULL)
+return FALSE;
+
   enumerator = g_file_enumerate_children (dir, G_FILE_ATTRIBUTE_STANDARD_NAME,
   G_FILE_QUERY_INFO_NONE, NULL, NULL);
 
   if (G_UNLIKELY (enumerator != NULL))
 {
+  /* Add merge dir to the list */
+  if (context-merge_dirs != NULL 
+   !g_list_find_custom (*context-merge_dirs, dir, (GCompareFunc) 
compare_files))
+{
+  *context-merge_dirs = g_list_prepend (*context-merge_dirs, 
g_object_ref (dir));
+}
+
   while (TRUE)
 {
   file_info = g_file_enumerator_next_file (enumerator, NULL, NULL);
@@ -813,16 +839,6 @@ garcon_menu_parser_insert_elements (GNode *node,
 
 
 
-static gint
-compare_files (GFile *file,
-   GFile *other_file)
-{
-  return g_file_equal (file, other_file) ? 0 : 1;
-}
-
-
-
-
 static gboolean
 garcon_menu_merger_process_merge_files (GNode   *node,
 GarconMenuMergerContext *context)
@@ -850,7 +866,6 @@ garcon_menu_merger_process_merge_files (GNode   
*node,
 }
 
   parser = garcon_menu_parser_new (file);
-  g_object_unref (file);
 
   if (G_LIKELY 

[Xfce4-commits] xfdesktop:master Post release tag bump.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 59a9b316c57394c849ad1232cb3660ceb2adbffb (commit)
   from 0c39e62ba1739c7ea1aa115cf456769e03a94458 (commit)

commit 59a9b316c57394c849ad1232cb3660ceb2adbffb
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 17:14:57 2010 +0200

Post release tag bump.

 configure.ac.in |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/configure.ac.in b/configure.ac.in
index e42bd6a..5e1c9af 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -9,7 +9,7 @@ m4_define([xfdesktop_version_minor], [7])
 m4_define([xfdesktop_version_micro], [0])
 m4_define([xfdesktop_version_nano], [])
 m4_define([xfdesktop_version_build], [...@revision@])
-m4_define([xfdesktop_version_tag],[])
+m4_define([xfdesktop_version_tag],[git])
 m4_define([xfdesktop_version], 
[xfdesktop_version_major().xfdesktop_version_minor().xfdesktop_version_micro()ifelse(xfdesktop_version_nano(),
 [], [], [.xfdesktop_version_nano()])ifelse(xfdesktop_version_tag(), [git], 
[xfdesktop_version_tag()-xfdesktop_version_build()], 
[xfdesktop_version_tag()])])
 
 dnl minimum required versions
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfdesktop:master Updates for release.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to 0c39e62ba1739c7ea1aa115cf456769e03a94458 (commit)
   from 28c16fc224aad91635d1561963ab924d0b6efaa3 (commit)

commit 0c39e62ba1739c7ea1aa115cf456769e03a94458
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 17:14:11 2010 +0200

Updates for release.

 NEWS|   68 +++---
 configure.ac.in |2 +-
 2 files changed, 45 insertions(+), 25 deletions(-)

diff --git a/NEWS b/NEWS
index c145e25..4407812 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,14 @@
-Xfce 4.7.0
---
-
+Xfdesktop 4.7.0
+---
+
+  * Depend on exo-1 (0.5).
+  * Drop dependency on libxfcegui4 and use libxfce4ui.
+  * Remove the menu panel plugin, this is now included in the panel.
+  * Remove various .desktop files for the menu, those are now
+included in the packages they belong to (exo, utils and session).
+  * Remove the .directory files, those are now shipped with Garcon.
+  * Drop the libxfce4menu dependency and use Garcon.
+  * Build documentation during make dist.
   * Allow DnD to image list in settings dialog (bug 4337).
   * Refactor drawing routines in XfdesktopIconView to remove most
 flicker and most if not all repaint glitches.
@@ -11,17 +19,29 @@ Xfce 4.7.0
   * Call to org.xfce.FileManager.DisplayFileProperties() for the
 full-featured file properties dialog before falling back to our
 own (bug 5622).
+  * Translation updates: ca, kk, pt, it, da, zh_TW, de, he, id, hr,
+fr, ru, si.
 
 
 Xfce 4.6.2
 --
 
-  * Add Catalan and Galician translations of the manual.
-  * Fix inability to delete broken symlinks on the desktop (bug 5387).
-  * Never show 'Unmount' in volume context menus.
+  * Build fixes for GIT.
+  * Rebuild doc directory.
+  * Add libexo to CFLAGS and LIBS for panel plugin.
+  * Fix detection of rename/delete ability.
+  * Fix compilation when libexo isn't present.
+  * Update icon text labels when system font size changes (bug #2862).
+  * Set mnemonic widget properly for icon type/size labels (bug #).
   * Always show 'Eject' in volume context menus, regardless of whether
-or not it's mounted (bug 5343).
-  * Update icon text labels when system font size changes (bug 2862).
+or not it's mounted (bug #5343).
+  * Never show 'Unmount' in volume context menus.
+  * Use GtkBindingSet for keyboard handling on desktop.
+  * Only register menu with panel if popup succeeded (bug #5792).
+  * Fix inability to delete broken symlinks on the desktop (bug 5387).
+  * Don't misuse the g_return_(val_)?if_fail() macros as much (bug #5791).
+  * Translation updates (el, es, gl, it, pl, pt, ru, tr, ro, lv, ca,
+ur, ur_PK, hu, ast, da, sk, nn, nl, si, am, kk, ja, ug, fr).
 
 
 Xfce 4.6.1
@@ -64,8 +84,8 @@ Xfce 4.6beta2 (Xfce 4.5.92):
 
   * Display 'Audio' and 'Video' categories in the multimedia submenu.
   * Fix multiple image selection in settings dialog file chooser (bug 4522).
-  * Always use the XfceMenuElement interface for reading the display names 
-of menu items and menus. This ensures that items appear sorted in 
+  * Always use the XfceMenuElement interface for reading the display names
+of menu items and menus. This ensures that items appear sorted in
 alphabetic order.
 
 
@@ -166,7 +186,7 @@ Xfce 4.6alpha (Xfce 4.5.90):
 - Clean out stale entries in file icon position file (bug 3267).
 - Some minor memory leak fixes (some still remain, likely).
 - Fix --disable-menu-editor configure option.
-- Always use button 0 in gtk_menu_popup() as GTK+ 2.11+ expects the 
+- Always use button 0 in gtk_menu_popup() as GTK+ 2.11+ expects the
   same button to be pressed or it doesn't activate the entry (bug 3359).
 - Don't set workspace for sticky windows in windowlist (bug 3317).
 - Fix missing xfce_rc_close() causing memleak and too many open file
@@ -190,9 +210,9 @@ Xfce 4.6alpha (Xfce 4.5.90):
 
 We're just about ready to release Xfce 4.4.0!  Hooray!  There have been
 many changes since my last entry.
-
+
 Change since 4.4rc2:
-
+
   * Fix support for applications that do pseudo-transparency (bug 2508).
   * Change how icon cell size is calculated to avoid weirdness at large
 sizes (bug 1546).
@@ -204,9 +224,9 @@ Xfce 4.6alpha (Xfce 4.5.90):
 stretch mode (bug 2573).
   * Fix some possible (but unliklely) NULL pointer dereferences.
   * Update documentation.
-
+
 Changes since 4.4rc1:
-
+
   * Fix crash when non-file:// URIs are dropped on the desktop (bug 2229).
   * Handle Xinerama-enabled setups correctly so icons aren't placed in
 dead areas or on the boundary between monitors (bug 1538).
@@ -224,7 +244,7 @@ Xfce 4.6alpha (Xfce 4.5.90):
   * Fix 100% CPU problem when the desktop folder is deleted (bug 2160).
 
 Changes since 4.4beta2:
-
+
   * Fix backdrop image tearing during expose (bug 1944).
   * Show icon tooltips where appropriate (bug 1526).

[Xfce4-commits] xfdesktop|xfdesktop-4.7.0 Creating annotated tag xfdesktop-4.7.0

2010-09-05 Thread Nick Schermer
Updating annotated tag refs/tags/xfdesktop-4.7.0
 as new annotated tag
 to fec981e62b2a9d8403073fa70bca236cf22f89d2 (tag)
   succeeds xfce-4.6.1
  tagged by Nick Schermer n...@xfce.org
 on 2010-09-05 15:14 +

A S  Alam (1):
  l10n: Updated Panjabi (Punjabi) (pa) translation to 100%

Abel Martín (1):
  l10n: Updates to Spanish (Castilian) (es) translation

Andhika Padmawan (1):
  l10n: Updated Indonesian (id) translation to 100%

Andres Kovtunos (4):
  l10n: Initial Russian
  l10n: Updated Russian (ru) translation to 0%
  l10n: Updated Russian (ru) translation to 22%
  l10n: Updated Russian (ru) translation to 23%

Bauzhan Muftakhidinov (6):
  l10n: New translation to Kazakh
  l10n: Updates to Kazakh (kk) translation
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%

Brian J. Tarricone (24):
  add module description file
  add .gitignore file
  update revision substitution for git
  require x-d-t 4.7.0; remove revision and lang substitutions
  revert trying 'xdt-autogen --version' when testing for xdt-autogen
  it's XDT_AUTOGEN_REQUIRED_VERSION, not XDT_REQUIRED_VERSION
  fix compilation when libexo isn't present
  drawing routines overhaul
  use cairo to draw rounded text box instead of hacky pixmap thing
  make the label corner roundness configurable via a style property
  hacky fix for repaint glitch on icon move
  don't paint more than is necessary
  use gdk_cairo_rectangle() instead of cairo_rectangle()
  remove unused member var
  update system font size when style changes
  set the style-set class closure rather than connecting to the signal
  update NEWS
  set mnemonic widget properly for icon type/size labels (bug )
  call thunar's file properties dialog if available (bug 5622)
  remove dependency on libxfcegui4 and use libxfce4ui instead
  drop dependency on libglade and use GtkBuilder for settings dialog
  load icon file directly if not in theme
  don't misuse the g_return_(val_)?if_fail() macros as much (bug 5791)
  only register menu with panel if popup succeeded (bug 5792)

Brian Tarricone (11):
  fix build for docs dir
  add libexo to CFLAGS and LIBS for panel plugin
  fix detection of rename/delete ability
  fix warning
  never show 'umount' when ejectable, always show 'eject' if ejectable (bug 
5343)
  remove deprecated code
  add image DnD to settings dialog (bug 4337)
  no need to use FILE stream here
  it actually isn't slow
  use GtkBindingSet for keyboard handling on desktop
  add .directory file for Science category, tweak some stuff, update-po

Carles Muñoz Gorriz (5):
  l10n: Updates to Catalan (Valencian) (ca) translation
  l10n: Updates to Catalan (Valencian) (ca) translation
  l10n: Updates to Catalan (Valencian) (ca) translation
  l10n: Updated Catalan (Valencian) (ca) translation to 96%
  l10n: Updated Catalan (Valencian) (ca) translation to 100%

Cheng-Chia Tseng (4):
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%

Cristian Marchi (3):
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%
  l10n: Updated Italian (it) translation to 100%

Daniel Nylander (1):
  l10n: Updates to Swedish (sv) translation

Danishka Navin (1):
  l10n: added Sinhala translation

Denis Koryavov (2):
  l10n: Updated Russian (ru) translation to 100%
  l10n: Updated Russian (ru) translation to 41%

Dmitry Nikitin (2):
  l10n: Updated Ukrainian (uk) translation to 99%
  l10n: Updated Ukrainian (uk) translation to 100%

Dumitru Moldovan (2):
  Romanian translation update for xfdesktop trunk and xfce_4_6
  Added initial xfce4-settings Romanian translation

Ertuğrul HAZAR (1):
  l10n: Updates to Turkish (tr) translation

Evaggelos Balaskas (3):
  l10n: Updates to Greek (el) translation
  l10n: Updates to Greek (el) translation
  l10n: Updated Greek (el) translation to 100%

Fabian Nowak (2):
  l10n: Updated German (de) translation to None%
  l10n: Updated German (de) translation to None%

Gabor Kelemen (3):
  2009-07-08  Gabor Kelemen  kelem...@gnome.hu
  2009-07-12  Gabor Kelemen  kelem...@gnome.hu
  l10n: Updated Hungarian (hu) translation to 100%

Gheyret Kenji (2):
  l10n: Uyghur translation
  l10n: Uyghur translation

Ignacio Velasco (1):
  l10n: Updates to Spanish (Castilian) (es) translation

Ivica  Kolić (7):
  l10n: Initial Croatian (hr) translation
  l10n: Updated 

[Xfce4-commits] garcon:jannis/basic-monitoring Monitor app dirs but don't react on changes there yet.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 9513c7716c656735e5c6c92769579c854deaa644 (commit)
   from ccf88785ae826293eb0a1868985dda89f542eac5 (commit)

commit 9513c7716c656735e5c6c92769579c854deaa644
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 17:34:21 2010 +0200

Monitor app dirs but don't react on changes there yet.

 garcon/garcon-menu.c |   97 +++--
 1 files changed, 77 insertions(+), 20 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 467d4f0..3adbaed 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -155,6 +155,7 @@ static void garcon_menu_monitor_menu_files  
(GarconM
 static void garcon_menu_monitor_files   
(GarconMenu  *menu,
  GList 
  *files,
  
gpointer callback);
+static void garcon_menu_monitor_app_dirs
(GarconMenu  *menu);
 static void garcon_menu_file_changed
(GarconMenu  *menu,
  GFile 
  *file,
  GFile 
  *other_file,
@@ -170,8 +171,11 @@ static void garcon_menu_merge_dir_changed  
 (GarconM
  GFile 
  *other_file,
  
GFileMonitorEventevent_type,
  
GFileMonitor*monitor);
-
-
+static void garcon_menu_app_dir_changed 
(GarconMenu  *menu,
+ GFile 
  *file,
+ GFile 
  *other_file,
+ 
GFileMonitorEventevent_type,
+ 
GFileMonitor*monitor);
 
 
 
@@ -981,31 +985,30 @@ garcon_menu_lookup_directory (GarconMenu  *menu,
 
 
 static GList *
-garcon_menu_get_app_dirs (GarconMenu *menu)
+garcon_menu_get_app_dirs (GarconMenu *menu,
+  gbooleanrecursive)
 {
   GList *dirs = NULL;
+  GList *lp;
+  GList *sp;
+  GList *submenu_app_dirs;
 
   /* Fetch all application directories */
   dirs = garcon_menu_node_tree_get_string_children (menu-priv-tree,
 
GARCON_MENU_NODE_TYPE_APP_DIR,
 TRUE);
 
-#if 0
-  /* A submenu always inherits the application directories of its parent,
-   * that is the reason the call below was added.
-   * It only turned out we were looking in that same directories for
-   * .desktop files multiple times.
-   *
-   * This was caused by the combination of the parent call below and
-   * traversing the children in garcon_menu_collect_files(). For each
-   * submenu the appdirs of the root were added and traversed again.
-   *
-   * This is not needed because we always start at the root and traverse
-   * in pre-order, so all the desktop files are added in the hash-table.
-   */
-  if (menu-priv-parent != NULL)
-dirs = g_list_concat (dirs, garcon_menu_get_app_dirs (menu-priv-parent));
-#endif
+  if (recursive)
+{
+  for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
+{
+  submenu_app_dirs = garcon_menu_get_app_dirs (lp-data, recursive);
+
+  for (sp = g_list_last (submenu_app_dirs); sp != NULL; sp = sp-prev) 
+if (g_list_find_custom (dirs, sp-data, (GCompareFunc) g_strcmp0) 
== NULL)
+  dirs = g_list_prepend (dirs, sp-data);
+}
+}
 
   return dirs;
 }
@@ -1022,7 +1025,7 @@ garcon_menu_collect_files (GarconMenu *menu,
 
   g_return_if_fail (GARCON_IS_MENU (menu));
 
-  app_dirs = garcon_menu_get_app_dirs (menu);
+  app_dirs = garcon_menu_get_app_dirs (menu, FALSE);
 
   /* Collect desktop entry filenames */
   for (iter = app_dirs; iter != NULL; iter = g_list_next (iter))
@@ -1722,6 +1725,8 @@ garcon_menu_start_monitoring (GarconMenu *menu)
   
   garcon_menu_monitor_files (menu, menu-priv-merge_dirs,
  garcon_menu_merge_dir_changed);
+
+  garcon_menu_monitor_app_dirs (menu);
 }
 
   /* Recurse into submenus */
@@ -1864,6 +1869,43 @@ garcon_menu_monitor_files (GarconMenu *menu,
 
 
 static void
+garcon_menu_monitor_app_dirs (GarconMenu *menu)
+{
+  

[Xfce4-commits] thunar:master Post release tag bump.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to b67dacfd2a57bbfc7c29d403f77df3a44f536a46 (commit)
   from e207acd6459ca133f95e66e8f3a55363ec64e458 (commit)

commit b67dacfd2a57bbfc7c29d403f77df3a44f536a46
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 17:43:42 2010 +0200

Post release tag bump.

 configure.in.in |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/configure.in.in b/configure.in.in
index c4cf41b..8b1f2aa 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -28,7 +28,7 @@ m4_define([thunar_version_minor], [1])
 m4_define([thunar_version_micro], [2])
 m4_define([thunar_version_nano], [])
 m4_define([thunar_version_build], [...@revision@])
-m4_define([thunar_version_tag], [])
+m4_define([thunar_version_tag], [git])
 m4_define([thunar_version], 
[thunar_version_major().thunar_version_minor().thunar_version_micro()ifelse(thunar_version_nano(),
 [], [], [.thunar_version_nano()])ifelse(thunar_version_tag(), [git], 
[thunar_version_tag()-thunar_version_build()], [thunar_version_tag()])])
 
 dnl ***
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] thunar|thunar-1.1.2 Creating annotated tag thunar-1.1.2

2010-09-05 Thread Nick Schermer
Updating annotated tag refs/tags/thunar-1.1.2
 as new annotated tag
 to f7bec229f0b39eb593951b9f9ed9dec3d8fb3fa2 (tag)
   succeeds thunar-1.1.1
  tagged by Nick Schermer n...@xfce.org
 on 2010-09-05 15:43 +

Bauzhan Muftakhidinov (6):
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%
  l10n: Updated Kazakh (kk) translation to 100%

Carles Muñoz Gorriz (1):
  l10n: Updated Catalan (Valencian) (ca) translation to 100%

Cheng-Chia Tseng (4):
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 96%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%
  l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%

Cristian Marchi (1):
  l10n: Updated Italian (it) translation to 100%

Durand-Favreau Arnaud (1):
  l10n: Updated French (fr) translation to 100%

Fabian Nowak (4):
  l10n: Updated German (de) translation to 99%
  l10n: Updated German (de) translation to 100%
  l10n: Updated German (de) translation to 100%
  l10n: Updated German (de) translation to 100%

Harald Servat (1):
  l10n: Updated Catalan (Valencian) (ca) translation to 100%

Jannis Pohlmann (11):
  Add git version tag again.
  Fix typos and update translation files.
  Remove the ChangeLog as it's created during make distcheck.
  Remove pot file.
  Add CopyTo, CopyInto, MoveInto, LinkInto, UnlinkFiles D-Bus methods.
  Update the copyright information.
  Add startup-id to more D-Bus methods. Move LaunchFiles to org.xfce.FM.
  Remove README.volumes as it was specific to thunar-vfs.
  Remove ThumbnailersCacheFormat as well.
  Remove files deleted in the last commit from the Makefile (bug #6676).
  Display content type in the file properties dialog tooltip (bug #2369).

Jari Rahkonen (1):
  l10n: Updated Finnish (fi) translation to 100%

Johannes Lips (1):
  l10n: Updated German (de) translation to 92%

Leandro Regueiro (1):
  l10n: Updated Galician (gl) translation to 100%

Nick Schermer (9):
  Remove deprecated encoding key from desktop files.
  Move helpers from $libexecdir to $libdir/Thunar.
  Fix replacing @docdir@ in ThunarHelp.
  Move panel plugin to $(libdir)/xfce4/panel/plugins.
  Move manual translations to docs/manual/po.
  Fix bn manual translation.
  Abort dist when validating the xml file fails.
  Wait for a reply in thunar-settings.
  Updates for release.

Per Kongstad (2):
  l10n: Updated Danish (da) translation to 100%
  l10n: Updated Danish (da) translation to 100%

Sergio Marques (2):
  l10n: Updated Portuguese (pt) translation to 100%
  l10n: Updated Portuguese (pt) translation to 100%

Yarema aka Knedlyk (2):
  l10n: Updated Ukrainian (uk) translation to 99%
  l10n: Updated Ukrainian (uk) translation to 100%

Yaron Shahrabani (6):
  l10n: Updated Hebrew (he) translation to 86%
  l10n: Updated Hebrew (he) translation to 90%
  l10n: Updated Hebrew (he) translation to 93%
  l10n: Updated Hebrew (he) translation to 95%
  l10n: Updated Hebrew (he) translation to 97%
  l10n: Updated Hebrew (he) translation to 97%

___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] thunar:master Updates for release.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to e207acd6459ca133f95e66e8f3a55363ec64e458 (commit)
   from 53d9a15c19b6e8c9fe72788b523a37d8e0053d21 (commit)

commit e207acd6459ca133f95e66e8f3a55363ec64e458
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 17:36:17 2010 +0200

Updates for release.

 NEWS|   61 ---
 configure.in.in |4 +-
 2 files changed, 42 insertions(+), 23 deletions(-)

diff --git a/NEWS b/NEWS
index aa0ebd8..24cd3f0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,22 @@
+1.1.2
+=
+- Move helpers from $libexecdir to $libdir/Thunar.
+- Fix replacing @docdir@ in ThunarHelp.
+- Move panel plugin to $(libdir)/xfce4/panel/plugins.
+- Move manual translations to docs/manual/po.
+- Abort dist when validating the xml file fails.
+- Wait for a reply in thunar-settings.
+- Add CopyTo, CopyInto, MoveInto, LinkInto, UnlinkFiles
+  D-Bus methods.
+- Add startup-id to more D-Bus methods.
+- Move LaunchFiles to org.xfce.FM.
+- Remove README.volumes and ThumbnailersCacheFormat as
+  those are specific to thunar-vfs.
+- Display content type in the file properties dialog
+  tooltip (bug #2369).
+- Translation updates (kk, pt, ca, fr, da, fi, it, uk, he, de,
+  zh_TW, gl)
+
 1.1.1
 =
 - Port the code related to thunar-volman to udev. This is an optional
@@ -5,44 +24,44 @@
   thunar-volman with HAL UDIs, we'll now call thunar-volman with
   sysfs paths. For this to work, a more recent version of thunar-volman
   is required: 0.5.0.
-- Re-implement mount/eject notifications based on libnotify. 
+- Re-implement mount/eject notifications based on libnotify.
   Notifications were gone after the port to GIO because we no longer
   used exo-mount to mount or eject devices.
 - Fix segfaults when loading image icons.
-- Force a folder reload when the new_file closure is finished (bug 
+- Force a folder reload when the new_file closure is finished (bug
   #6409).
 - Update the trash panel plugin to the new panel framework.
 - Create status icon only when we're actually going to display it.
-- Change CWD before spawning applications in ThunarLauncher. 
+- Change CWD before spawning applications in ThunarLauncher.
 - Fix browsing shortcuts and mountables in ThunarLauncher.
 - Synchronize ThunarListModel sorting with detailed list view
   captions.
 - Fix sorting by type in ThunarListModel (bug #6143).
-- Refilter the tree model when a hidden dir is entered/left (bug 
+- Refilter the tree model when a hidden dir is entered/left (bug
   #6142).
 - Properly update the cursor when a row is deleted (bug #5361).
-- Use stock icons and standard icon names where appropriate (bug 
+- Use stock icons and standard icon names where appropriate (bug
   #6133).
-- Updated translations: Kazakh, Hebrew, Greek, Italian, Chinese 
+- Updated translations: Kazakh, Hebrew, Greek, Italian, Chinese
   (Taiwan), Indonesian, Croatian, Bengali, German, Slovak, French,
   Uyghur, Turkish, Galician, Spanish (Castilian), Russian, Sinhala,
   Ukrainian, Portuguese (Brazilian), Danish, Basque, Finnish, Czech.
 
 1.1.0
 =
-- Replace ThunarVFS with GIO. There will be a separate maintenance 
+- Replace ThunarVFS with GIO. There will be a separate maintenance
   release of ThunarVFS soon after this release. All functionality
   previously based on ThunarVFS is now implemented on top of GIO
   and GVfs. This means that remote filesystems can be accessed via
   SFTP, FTP, SMB etc. For this as well as the trash feature GVfs
   is required. Thunar does not depend on it because GVfs is a set
-  of GIO extensions and there is no guarantee for those to be 
+  of GIO extensions and there is no guarantee for those to be
   available at runtime if they are installed at buildtime. This is left
   for distributions to set up properly.
 - Thumbnails are now generated using the thumbnail management D-Bus
   specification. One implementation of this specification is Tumbler
   which is released independently.
-- Bump the API version of Thunarx to 2 because symbols related to 
+- Bump the API version of Thunarx to 2 because symbols related to
   ThunarVFS were removed and replaced by new symbols dealing with GIO.
   This requires all existing plugins to be updated and linked against
   thunarx-2 instead of thunarx-1.
@@ -70,7 +89,7 @@
 1.0.1
 
 - Put quotes around filenames in thunar-wallpaper-plugin (bug #5056)
-- Apply umask properly when creating files/directories. 
+- Apply umask properly when creating files/directories.
   Patch by Giovanni Bechis (bug #3532).
 
 1.0.0
@@ -83,13 +102,13 @@
 0.9.99.1
 
 - Optional nano version added to configure.in.in.
-- Update Danish, Norwegian Bokmal, Simplified Chinese and Turkish 
+- Update Danish, Norwegian Bokmal, Simplified Chinese and Turkish
   translations.
 
 0.9.93
 ==
 - Fix crash in the tree side pane when hidden files are toggled (bug #2502).
-- Always show an error dialog if one of the files passed via the command 

[Xfce4-commits] xfce4-panel:master Fix distributing the manual in the dist tarball.

2010-09-05 Thread Nick Schermer
Updating branch refs/heads/master
 to d76edd3b36c6bf9896c0ac5b359d27098eeea497 (commit)
   from 31fd8ac66dc2ac2e542a31794bf65b2e23a0f50d (commit)

commit d76edd3b36c6bf9896c0ac5b359d27098eeea497
Author: Nick Schermer n...@xfce.org
Date:   Sun Sep 5 18:02:11 2010 +0200

Fix distributing the manual in the dist tarball.

 docs/manual/Makefile.am |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/manual/Makefile.am b/docs/manual/Makefile.am
index 6c7ade8..75dfc5d 100644
--- a/docs/manual/Makefile.am
+++ b/docs/manual/Makefile.am
@@ -135,12 +135,12 @@ all: doc-build.stamp
 # include the css and html files in the dist
 dist-hook: dist-check-doc doc-build.stamp
file=$(srcdir)/html/$(PACKAGE).css; \
+   mkdir -p $(distdir)/html; \
if test -f $$file; then \
-   mkdir -p $(distdir)/html; \
cp $$file $(distdir)/html/; \
fi; \
for lang in $(ALL_LINGUAS); do \
-   if test -d $(srcdir)/html/$$lang/index.html; then \
+   if test -f $(srcdir)/html/$$lang/index.html; then \
mkdir -p $(distdir)/html/$$lang; \
cp -t $(distdir)/html/$$lang/ 
$(srcdir)/html/$$lang/*; \
fi \
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/basic-monitoring Monitor directory dirs, add the GarconMenu::directory-changed signal.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 2bfeb08bfb7f24cc075e22d15cc5405a13cf8456 (commit)
   from 9513c7716c656735e5c6c92769579c854deaa644 (commit)

commit 2bfeb08bfb7f24cc075e22d15cc5405a13cf8456
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 18:11:23 2010 +0200

Monitor directory dirs, add the GarconMenu::directory-changed signal.

Also remove garcon-config.h and update a few copyright headers.

 garcon/Makefile.am  |   51 ++-
 garcon/garcon-config.h  |   94 --
 garcon/garcon-config.h.in   |   26 
 garcon/garcon-marshal.list  |1 +
 garcon/garcon-menu-merger.c |2 +-
 garcon/garcon-menu-merger.h |2 +-
 garcon/garcon-menu.c|  152 +--
 7 files changed, 210 insertions(+), 118 deletions(-)

diff --git a/garcon/Makefile.am b/garcon/Makefile.am
index 84bc7e8..3ae2c35 100644
--- a/garcon/Makefile.am
+++ b/garcon/Makefile.am
@@ -1,6 +1,6 @@
 # vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
 # 
-# Copyright (c) 2007-2009 Jannis Pohlmann jan...@xfce.org
+# Copyright (c) 2007-2010 Jannis Pohlmann jan...@xfce.org
 # 
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
@@ -27,9 +27,17 @@ INCLUDES =   
\
 lib_LTLIBRARIES =  \
libgarcon-1.la
 
+libgarcon_built_public_sources =   \
+   garcon-marshal.h
+
+libgarcon_built_sources =  \
+   $(libgarcon_built_public_sources)   \
+   garcon-marshal.c
+
 libgarcon_headers =\
garcon.h\
garcon-config.h \
+   garcon-marshal.h\
garcon-menu-element.h   \
garcon-menu-separator.h \
garcon-menu-directory.h \
@@ -45,6 +53,7 @@ libgarcon_headers =   
\
 
 libgarcon_sources =\
garcon-config.c \
+   garcon-marshal.c\
garcon-menu-element.c   \
garcon-menu-separator.c \
garcon-menu-directory.c \
@@ -88,10 +97,48 @@ libgarcon_1_la_LIBADD = 
\
$(GIO_LIBS)
 
 EXTRA_DIST =   \
-   garcon-config.h.in
+   garcon-config.h.in  \
+   garcon-marshal.list
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = garcon-1.pc
 
+DISTCLEANFILES =   \
+   stamp-garcon-marshal.h  \
+   garcon-config.h \
+   $(libgarcon_built_sources)
+
+BUILT_SOURCES =
\
+   $(libgarcon_built_sources)
+
+garcon-marshal.h: stamp-garcon-marshal.h
+   @true
+
+stamp-garcon-marshal.h: garcon-marshal.list Makefile
+   $(AM_V_GEN) ( \
+ cd $(top_builddir)/garcon \
+  echo #ifndef __GARCON_MARSHAL_H__  xgen-emh \
+  echo #define __GARCON_MARSHAL_H__  xgen-emh \
+  ( glib-genmarshal \
+   --prefix=garcon_marshal \
+   --header $(srcdir)/garcon-marshal.list )  xgen-emh \
+  echo #endif /* !__GARCON_MARSHAL_H__ */  xgen-emh \
+  ( cmp -s xgen-emh garcon-marshal.h \
+   || cp xgen-emh garcon-marshal.h ) \
+  rm -f xgen-emh \
+  echo timestamp  $(@F) \
+   )
+
+garcon-marshal.c: garcon-marshal.list Makefile
+   $(AM_V_GEN) ( \
+ cd $(top_builddir)/garcon \
+  echo #include garcon/garcon-marshal.h  xgen-emc \
+  ( glib-genmarshal \
+   --prefix=garcon_marshal \
+   --body $(srcdir)/garcon-marshal.list )  xgen-emc \
+  cp xgen-emc garcon-marshal.c \
+  rm -f xgen-emc \
+   )
+
 # Required for gtk-doc and make distcheck
 dist-hook: all
diff --git a/garcon/garcon-config.h b/garcon/garcon-config.h
deleted file mode 100644
index 0419d29..000
--- a/garcon/garcon-config.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* vi:set et ai sw=2 sts=2 ts=2: */
-/*-
- * Copyright (c) 2008-2010 Jannis Pohlmann jan...@xfce.org
- 

[Xfce4-commits] xfce4-dict:master Use the correct XfcePanelPlugin instance when opening the preferences dialog to prevent crashes

2010-09-05 Thread Enrico Tröger
Updating branch refs/heads/master
 to 1b9641f8a6a81e0a0c054c0ec46d760691d7cf2e (commit)
   from d78781168966ffc0a1d250eb4e58fa6cf78327ca (commit)

commit 1b9641f8a6a81e0a0c054c0ec46d760691d7cf2e
Author: Enrico Tröger enrico.troe...@uvena.de
Date:   Sun Sep 5 19:12:24 2010 +0200

Use the correct XfcePanelPlugin instance when opening the preferences 
dialog to prevent crashes

 panel-plugin/xfce4-dict-plugin.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/panel-plugin/xfce4-dict-plugin.c b/panel-plugin/xfce4-dict-plugin.c
index 65eaa1b..6047db8 100644
--- a/panel-plugin/xfce4-dict-plugin.c
+++ b/panel-plugin/xfce4-dict-plugin.c
@@ -302,9 +302,10 @@ static void 
dict_plugin_properties_dialog_response(GtkWidget *dlg, gint response
 }
 
 
-static void dict_plugin_properties_dialog(XfcePanelPlugin *plugin, 
DictPanelData *dpd)
+static void dict_plugin_properties_dialog(GtkWidget *widget, DictPanelData 
*dpd)
 {
GtkWidget *dlg;
+   XfcePanelPlugin *plugin = dpd-plugin;
 
xfce_panel_plugin_block_menu(plugin);
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/basic-monitoring Add garcon_menu_item_pool_lookup_file() to lookup items by GFiles.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 04256aea7dacea084af219c190e8c2925e513464 (commit)
   from 2bfeb08bfb7f24cc075e22d15cc5405a13cf8456 (commit)

commit 04256aea7dacea084af219c190e8c2925e513464
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 19:08:12 2010 +0200

Add garcon_menu_item_pool_lookup_file() to lookup items by GFiles.

 garcon/garcon-menu-item-pool.c |   28 
 garcon/garcon-menu-item-pool.h |2 ++
 2 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index b91b6af..e56043e 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -134,6 +134,34 @@ garcon_menu_item_pool_lookup (GarconMenuItemPool *pool,
 
 
 
+GarconMenuItem *
+garcon_menu_item_pool_lookup_file (GarconMenuItemPool *pool,
+   GFile  *file)
+{
+  GarconMenuItem *result = NULL;
+  GHashTableIter  iter;
+  gpointeritem;
+  GFile  *item_file;
+
+  g_return_val_if_fail (GARCON_IS_MENU_ITEM_POOL (pool), NULL);
+  g_return_val_if_fail (G_IS_FILE (file), NULL);
+
+  g_hash_table_iter_init (iter, pool-priv-items);
+  while (result == NULL  g_hash_table_iter_next (iter, NULL, item))
+{
+  item_file = garcon_menu_item_get_file (item);
+
+  if (g_file_equal (item_file, file))
+result = item;
+
+  g_object_unref (item_file);
+}
+
+  return result;
+}
+
+
+
 void
 garcon_menu_item_pool_foreach (GarconMenuItemPool *pool,
GHFunc  func,
diff --git a/garcon/garcon-menu-item-pool.h b/garcon/garcon-menu-item-pool.h
index 10fcfa4..36bd369 100644
--- a/garcon/garcon-menu-item-pool.h
+++ b/garcon/garcon-menu-item-pool.h
@@ -49,6 +49,8 @@ voidgarcon_menu_item_pool_insert 
(GarconMenuItemPool
   GarconMenuItem   
  *item);
 GarconMenuItem *garcon_menu_item_pool_lookup 
(GarconMenuItemPool *pool,
   const gchar  
  *desktop_id);
+GarconMenuItem *garcon_menu_item_pool_lookup_file
(GarconMenuItemPool *pool,
+  GFile
  *file);
 voidgarcon_menu_item_pool_foreach
(GarconMenuItemPool *pool,
   GHFunc   
   func,
   gpointer 
   user_data);
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/basic-monitoring React on app dir changes which, in most cases, requires a menu reload.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 0a6bf53a0838266fae5d7df7c71d2cb7f81ce80e (commit)
   from 04256aea7dacea084af219c190e8c2925e513464 (commit)

commit 0a6bf53a0838266fae5d7df7c71d2cb7f81ce80e
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 19:08:48 2010 +0200

React on app dir changes which, in most cases, requires a menu reload.

Add a boolean affects_the_outside return parameter to
garcon_menu_item_reload() and garcon_menu_item_reload_from_file() and
set it to TRUE if the categories are different before and after
reloading the file.

Most app dir changes result in the emission of a reload-required
signal of the root menu, except for when a change is made to a .desktop
file that only affects the item itself, not its position in the menu
hierarchy.

The monitoring implement is very similar to the basic monitoring
algorithm we had in libxfce4menu, except that it's a little bit smarter
and takes merged files and menu file priorities into account. So a
reload can sometimes be avoided without handling all the different
scenarios that would have to be handled ideally.

 garcon/garcon-menu-item.c |   53 +++-
 garcon/garcon-menu-item.h |4 +-
 garcon/garcon-menu.c  |  157 -
 3 files changed, 211 insertions(+), 3 deletions(-)

diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index 26e0d4f..ffaa3c4 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -88,6 +88,8 @@ static gboolean 
garcon_menu_item_get_element_show_in_environment (GarconMenu
 static gboolean garcon_menu_item_get_element_no_display  
(GarconMenuElement  *element);
 static gboolean garcon_menu_item_get_element_equal   
(GarconMenuElement  *element,
   
GarconMenuElement  *other);
+static gboolean garcon_menu_item_category_lists_equal(GList
  *categories1,
+  GList
  *categories2);
 
 
 
@@ -668,6 +670,33 @@ garcon_menu_item_get_element_icon_name (GarconMenuElement 
*element)
 
 
 
+static gboolean
+garcon_menu_item_category_lists_equal (GList *categories1,
+   GList *categories2)
+{
+  gboolean element_missing = FALSE;
+  GList   *lp;
+
+  guint size1;
+  guint size2;
+
+  size1 = g_list_length (categories1);
+  size2 = g_list_length (categories2);
+
+  if (size1 != size2)
+return FALSE;
+
+  for (lp = categories1; !element_missing  lp != NULL; lp = lp-next)
+{
+  if (g_list_find_custom (categories2, lp-data, (GCompareFunc) g_strcmp0) 
== NULL)
+element_missing = TRUE;
+}
+
+  return !element_missing;
+}
+
+
+
 GarconMenuItem *
 garcon_menu_item_new (GFile *file)
 {
@@ -819,12 +848,13 @@ garcon_menu_item_new_for_uri (const gchar *uri)
 
 gboolean
 garcon_menu_item_reload (GarconMenuItem  *item,
+ gboolean*affects_the_outside,
  GError **error)
 {
   g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), FALSE);
   g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-  return garcon_menu_item_reload_from_file (item, item-priv-file, error);
+  return garcon_menu_item_reload_from_file (item, item-priv-file, 
affects_the_outside, error);
 }
 
 
@@ -832,12 +862,15 @@ garcon_menu_item_reload (GarconMenuItem  *item,
 gboolean
 garcon_menu_item_reload_from_file (GarconMenuItem  *item,
GFile   *file,
+   gboolean*affects_the_outside,
GError **error)
 {
   GKeyFile *rc;
   gboolean  boolean;
   gboolean  succeed;
   GList*categories = NULL;
+  GList*lp;
+  GList*old_categories = NULL;
   gchar   **mt;
   gchar   **str_list;
   gchar*contents;
@@ -935,6 +968,14 @@ garcon_menu_item_reload_from_file (GarconMenuItem  *item,
   boolean = GET_KEY (boolean, G_KEY_FILE_DESKTOP_KEY_HIDDEN);
   garcon_menu_item_set_hidden (item, boolean);
 
+  if (affects_the_outside != NULL)
+{
+  /* create a deep copy the old categories list */
+  old_categories = g_list_copy (item-priv-categories);
+  for (lp = old_categories; lp != NULL; lp = lp-next)
+lp-data = g_strdup (lp-data);
+}
+
   /* Determine the categories this application should be shown in */
   str_list = GET_STRING_LIST (G_KEY_FILE_DESKTOP_KEY_CATEGORIES);
   if (G_LIKELY (str_list != NULL))
@@ -957,6 +998,16 @@ garcon_menu_item_reload_from_file (GarconMenuItem  *item,
   garcon_menu_item_set_categories (item, NULL);
 }
 
+  if (affects_the_outside != NULL)
+{
+  if (!garcon_menu_item_category_lists_equal (old_categories, categories))
+*affects_the_outside = TRUE;

[Xfce4-commits] garcon:jannis/basic-monitoring Remove g_debug statements.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to a5eaf19e977e06320fa23c8e60ab439362dd8bb3 (commit)
   from 0a6bf53a0838266fae5d7df7c71d2cb7f81ce80e (commit)

commit a5eaf19e977e06320fa23c8e60ab439362dd8bb3
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 19:15:02 2010 +0200

Remove g_debug statements.

 garcon/garcon-menu.c |   12 
 1 files changed, 0 insertions(+), 12 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 6fda392..bc731da 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -2118,10 +2118,6 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   if (event_type == G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT
   || event_type == G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED)
 {
-  g_debug (app dir/file changed: %s: %s: %d, 
-   garcon_menu_element_get_name (GARCON_MENU_ELEMENT (menu)),
-   g_file_get_path (file), event_type);
-
   /* query the type of the changed file */
   file_type = g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL);
 
@@ -2175,10 +2171,6 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
 }
   else if (event_type == G_FILE_MONITOR_EVENT_CREATED)
 {
-  g_debug (app dir/file created: %s: %s: %d, 
-   garcon_menu_element_get_name (GARCON_MENU_ELEMENT (menu)),
-   g_file_get_path (file), event_type);
-
   /* query the type of the changed file */
   file_type = g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL);
 
@@ -2206,10 +2198,6 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
 }
   else if (event_type == G_FILE_MONITOR_EVENT_DELETED)
 {
-  g_debug (app dir/file deleted: %s: %s: %d, 
-   garcon_menu_element_get_name (GARCON_MENU_ELEMENT (menu)),
-   g_file_get_path (file), event_type);
-
   /* query the type of the changed file */
   file_type = g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL);
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] ristretto:master l10n: Updated French (fr) translation to 97%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to b232293661e21e8a4a4b6734426feb2cb4b83f85 (commit)
   from f12050dabeb6aadc60920b3495d26bb4ace40203 (commit)

commit b232293661e21e8a4a4b6734426feb2cb4b83f85
Author: Xavier magicrhe...@ouranos.be
Date:   Sun Sep 5 19:49:00 2010 +0200

l10n: Updated French (fr) translation to 97%

New status: 123 messages complete with 3 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/fr.po |   20 +++-
 1 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/po/fr.po b/po/fr.po
index 910010e..a9b4111 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 # Mike Massonnet mmasson...@xfce.org, 2007, 2008.
 # Patrick Douart patric...@laposte.net, 2009, 2010.
-#
+# 
 msgid 
 msgstr 
 Project-Id-Version: ristretto\n
@@ -36,8 +36,7 @@ msgid 
 Try %s --help to see a full list of available command line options.\n
 msgstr 
 %s: %s\n
-Essayez %s --help pour voir une liste complète des options en ligne de 
-commande.\n
+Essayez %s --help pour voir une liste complète des options en ligne de 
commande.\n
 
 #. File Menu
 #: ../src/main_window.c:266
@@ -289,9 +288,7 @@ msgstr Développeur :
 
 #: ../src/main_window.c:1620
 msgid Ristretto is an imageviewer for the Xfce desktop environment.
-msgstr 
-Ristretto est une visionneuse d’images légère et rapide pour l’environnement 
-de bureau Xfce.
+msgstr Ristretto est une visionneuse d’images légère et rapide pour 
l’environnement de bureau Xfce.
 
 #: ../src/main_window.c:1628
 msgid translator-credits
@@ -472,8 +469,9 @@ msgid Enable cache
 msgstr Activer la mise en cache
 
 #: ../src/preferences_dialog.c:473
+#, fuzzy
 msgid Enable preloading
-msgstr 
+msgstr Activer préchargement
 
 #: ../src/preferences_dialog.c:535
 msgid Preferences
@@ -563,11 +561,9 @@ msgstr Visionneuse d’Images Ristretto
 #~ msgid Preload images
 #~ msgstr Précharger les images
 
-#, fuzzy
 #~ msgid Ristretto
 #~ msgstr Ristretto
 
-#, fuzzy
 #~ msgid _Thumbnail Bar
 #~ msgstr Miniatures
 
@@ -589,10 +585,8 @@ msgstr Visionneuse d’Images Ristretto
 #~ msgid H_ide
 #~ msgstr _Cacher
 
-#~ msgid 
-#~ One or more images have been modified, do you want to save the changes?
-#~ msgstr 
-#~ Une ou plusieurs images ont été modifiées, voulez-vous les enregistrer ?
+#~ msgid One or more images have been modified, do you want to save the 
changes?
+#~ msgstr Une ou plusieurs images ont été modifiées, voulez-vous les 
enregistrer ?
 
 #~ msgid _Preload images (GUI more responsive but more CPU-intensive)
 #~ msgstr 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-taskmanager:master l10n: Updated French (fr) translation to 100%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to bbf398c5cbd69317386319f3eb5fec931cb321c1 (commit)
   from 3dd4b5a0048262b7f14a493d3f8c96fc61146199 (commit)

commit bbf398c5cbd69317386319f3eb5fec931cb321c1
Author: Xavier magicrhe...@ouranos.be
Date:   Sun Sep 5 19:50:33 2010 +0200

l10n: Updated French (fr) translation to 100%

New status: 40 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/fr.po |  265 +-
 1 files changed, 125 insertions(+), 140 deletions(-)

diff --git a/po/fr.po b/po/fr.po
index 7c79dc0..7a95887 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@ msgid 
 msgstr 
 Project-Id-Version: xfce4-taskmanager\n
 Report-Msgid-Bugs-To: \n
-POT-Creation-Date: 2010-05-24 00:53+\n
+POT-Creation-Date: 2010-09-05 16:08+\n
 PO-Revision-Date: 2010-05-10 22:30+0200\n
 Last-Translator: Mike Massonnet mmasson...@xfce.org\n
 Language-Team: French xfce-i...@xfce.org\n
@@ -17,274 +17,259 @@ msgstr 
 Content-Type: text/plain; charset=UTF-8\n
 Content-Transfer-Encoding: 8bit\n
 
-#: ../xfce4-taskmanager.desktop.in.h:1 ../src/process-window.c:372
+#: ../xfce4-taskmanager.desktop.in.h:1 ../src/process-window.c:273
 msgid Easy to use task manager
 msgstr Gestionnaire de tâches simple et léger
 
-#: ../xfce4-taskmanager.desktop.in.h:2 ../src/process-tree-view.c:215
-#: ../src/process-tree-view.c:229 ../src/process-tree-view.c:247
-#: ../src/process-window.c:177 ../src/process-window.c:367
+#: ../xfce4-taskmanager.desktop.in.h:2 ../src/main.c:156
+#: ../src/process-tree-view.c:339 ../src/process-tree-view.c:354
+#: ../src/process-tree-view.c:373 ../src/process-window.c:268
+#: ../src/process-window.ui.h:1
 msgid Task Manager
 msgstr Gestionnaire de tâches
 
-#: ../src/process-statusbar.c:139
+#: ../src/main.c:100
+#, c-format
+msgid 
+bProcesses:/b %u\n
+bCPU:/b %.0f%%\n
+bMemory:/b %.0f%%\n
+bSwap:/b %.0f%%
+msgstr 
+bProcessus :/b %u\n
+bCPU :/b %.0f%%\n
+bMémoire :/b %.0f%%\n
+bMémoire paginée:/b %.0f%%
+
+#: ../src/main.c:108
+#, c-format
+msgid 
+Processes: %u\n
+CPU: %.0f%%\n
+Memory: %.0f%%\n
+Swap: %.0f%%
+msgstr 
+Processus : %u\n
+CPU : %.0f%%\n
+Mémoire : %.0f%%\n
+Mémoire paginée: %.0f%%
+
+#: ../src/process-statusbar.c:148 ../src/process-window.c:338
 #, c-format
 msgid CPU: %s%%
 msgstr CPU : %s%%
 
-#: ../src/process-statusbar.c:148
+#: ../src/process-statusbar.c:157 ../src/process-window.c:343
 #, c-format
 msgid Memory: %s%%
 msgstr Mémoire : %s%%
 
-#: ../src/process-statusbar.c:157
+#: ../src/process-statusbar.c:166
 #, c-format
 msgid Swap: %s%%
 msgstr Mémoire paginée : %s%%
 
-#: ../src/process-statusbar.c:172
+#: ../src/process-statusbar.c:181
 #, c-format
 msgid Processes: %d
 msgstr Processus : %d
 
-#: ../src/process-tree-view.c:106
+#: ../src/process-tree-view.c:131
 msgid Task
 msgstr Tâche
 
-#: ../src/process-tree-view.c:116 ../src/process-window.c:307
+#: ../src/process-tree-view.c:148
 msgid PID
 msgstr PID
 
-#: ../src/process-tree-view.c:124 ../src/process-window.c:308
+#: ../src/process-tree-view.c:156
 msgid PPID
 msgstr PPID
 
-#: ../src/process-tree-view.c:132 ../src/process-window.c:309
+#: ../src/process-tree-view.c:164
 msgid State
 msgstr État
 
-#: ../src/process-tree-view.c:141
+#: ../src/process-tree-view.c:173
 msgid VSZ
 msgstr VSZ
 
-#: ../src/process-tree-view.c:149
+#: ../src/process-tree-view.c:181
 msgid RSS
 msgstr RSS
 
-#: ../src/process-tree-view.c:157 ../src/process-window.c:312
+#: ../src/process-tree-view.c:189
 msgid UID
 msgstr UID
 
-#: ../src/process-tree-view.c:165 ../src/process-window.c:313
+#: ../src/process-tree-view.c:197
 msgid CPU
 msgstr CPU
 
 #. TRANSLATORS: “Prio.” is short for Priority, it appears in the tree view
 #. header.
-#: ../src/process-tree-view.c:174
+#: ../src/process-tree-view.c:206
 msgid Prio.
 msgstr Prio.
 
-#: ../src/process-tree-view.c:212
+#: ../src/process-tree-view.c:336
 msgid Terminate task
 msgstr Terminer une tâche
 
-#: ../src/process-tree-view.c:212
+#: ../src/process-tree-view.c:336
 msgid Kill task
 msgstr Tuer une tâche
 
-#: ../src/process-tree-view.c:214
+#: ../src/process-tree-view.c:338
 #, c-format
 msgid Are you sure you want to send a signal to the PID %d?
 msgstr Êtes-vous certain(e) de vouloir envoyer un signal au PID %d ?
 
-#: ../src/process-tree-view.c:225
+#: ../src/process-tree-view.c:350
 msgid Error sending signal
 msgstr Erreur envoie de signal
 
-#: ../src/process-tree-view.c:227
+#: ../src/process-tree-view.c:352
 #, c-format
 msgid An error was encountered by sending a signal to the PID %d. It is 
likely you don't have the required privileges.
 msgstr Une erreur est survenue lors de l'envoie d'un signal au PID %d. Il est 
probable que vous ne possédez pas des privilèges requis.
 
-#: ../src/process-tree-view.c:244
+#: ../src/process-tree-view.c:370
 msgid Error setting priority
 msgstr Erreur changement de priorité
 
-#: 

[Xfce4-commits] terminal:master l10n: Updated French (fr) translation to 99%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to 19198a6bb252893cc10715fc7c4273e842159642 (commit)
   from 56ba9e4710450198a9cc26b8a21ada9f6f496363 (commit)

commit 19198a6bb252893cc10715fc7c4273e842159642
Author: Xavier magicrhe...@ouranos.be
Date:   Sun Sep 5 19:54:09 2010 +0200

l10n: Updated French (fr) translation to 99%

New status: 268 messages complete with 2 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/fr.po |  405 +++---
 1 files changed, 125 insertions(+), 280 deletions(-)

diff --git a/po/fr.po b/po/fr.po
index b964fff..b448121 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,12 +6,12 @@
 # Maximilian Schleiss maximil...@xfce.org, 2006-2008.
 # Jérôme Guelfucci jero...@»fce.org, 2009.
 # Douart Patrick patric...@laposte.net 2010.
-#
+# 
 msgid 
 msgstr 
 Project-Id-Version: Terminal\n
 Report-Msgid-Bugs-To: \n
-POT-Creation-Date: 2010-04-12 19:57+0200\n
+POT-Creation-Date: 2010-09-05 16:00+\n
 PO-Revision-Date: 2010-02-11 15:28+0100\n
 Last-Translator: Douart Patrick patric...@laposte.net\n
 Language-Team: French xfce-i...@xfce.org\n
@@ -88,9 +88,7 @@ msgstr Icône
 #: ../terminal/main.c:95
 #, c-format
 msgid See the %s man page for full explanation of the options above.
-msgstr 
-Veuillez consulter la page de manuel %s pour une explication complète des 
-options ci-dessus.
+msgstr Veuillez consulter la page de manuel %s pour une explication complète 
des options ci-dessus.
 
 #: ../terminal/main.c:126 ../terminal/terminal-preferences.c:1262
 #: ../terminal/terminal-shortcut-editor.c:119 ../Terminal.desktop.in.in.h:1
@@ -122,7 +120,7 @@ msgstr 
 \n
 Veuillez rapporter les bogues à %s.\n
 
-#: ../terminal/main.c:250
+#: ../terminal/main.c:254
 #, c-format
 msgid Unable to register terminal service: %s\n
 msgstr Impossible d'enregistrer le service terminal: %s\n
@@ -132,16 +130,21 @@ msgstr Impossible d'enregistrer le service terminal: 
%s\n
 msgid Invalid geometry string \%s\\n
 msgstr Chaîne de géométrie invalide \%s\\n
 
-#: ../terminal/terminal-dbus.c:107
+#: ../terminal/terminal-dbus.c:113
 msgid User id mismatch
 msgstr Mauvaise concordance id utilisateur
 
-#: ../terminal/terminal-dbus.c:133
+#: ../terminal/terminal-dbus.c:119
+#, fuzzy
+msgid Display mismatch
+msgstr Mauvaise concordance id utilisateur
+
+#: ../terminal/terminal-dbus.c:145
 #, c-format
 msgid D-BUS message bus disconnected, exiting...\n
 msgstr Bus de message D-BUS déconnecté, sortie...\n
 
-#: ../terminal/terminal-dbus.c:195
+#: ../terminal/terminal-dbus.c:207
 #, c-format
 msgid Unable to register object %s
 msgstr Impossible d'enregistrer l'objet %s
@@ -165,22 +168,20 @@ msgstr Visitez le site web de Terminal
 #: ../terminal/terminal-dialogs.c:215
 #, c-format
 msgid The %s user manual is not installed on your computer
-msgstr 
+msgstr Le manuel d'utilisation %s n'est pas installé sur votre ordinateur
 
 #: ../terminal/terminal-dialogs.c:218
 #, c-format
-msgid 
-You can read the user manual online. This manual may however not exactly 
-match your %s version.
-msgstr 
+msgid You can read the user manual online. This manual may however not 
exactly match your %s version.
+msgstr Vous pouvez lire le manuel d'utilisation en ligne. Le manuel peut 
néanmoins ne pas correspondre à votre version %s.
 
 #: ../terminal/terminal-dialogs.c:220
 msgid User manual is missing
-msgstr 
+msgstr Manuel d'utilisation absent
 
 #: ../terminal/terminal-dialogs.c:222
 msgid _Read Online
-msgstr 
+msgstr _Lire en ligne
 
 #. display an error message to the user
 #: ../terminal/terminal-dialogs.c:302
@@ -189,44 +190,28 @@ msgstr Erreur lors de l'ouverture du navigateur de 
documentation
 
 #: ../terminal/terminal-options.c:210
 #, c-format
-msgid 
-Option \--default-display\ requires specifying the default X display as 
-its parameter
-msgstr 
-L'option \--default-display\ demande comme paramètre l'écran X à utiliser 
-par défaut
+msgid Option \--default-display\ requires specifying the default X display 
as its parameter
+msgstr L'option \--default-display\ demande comme paramètre l'écran X à 
utiliser par défaut
 
 #: ../terminal/terminal-options.c:225
 #, c-format
-msgid 
-Option \--default-working-directory\ requires specifying the default 
-working directory as its parameter
-msgstr 
-L'option \--default-working-directory\ demande comme paramètre le 
-répertoire de travail par défaut
+msgid Option \--default-working-directory\ requires specifying the default 
working directory as its parameter
+msgstr L'option \--default-working-directory\ demande comme paramètre le 
répertoire de travail par défaut
 
 #: ../terminal/terminal-options.c:241
 #, c-format
-msgid 
-Option \--execute/-x\ requires specifying the command to run on the rest 
-of the command line
+msgid Option \--execute/-x\ requires specifying the command to run on the 
rest of the command line
 msgstr L'option \--execute/-x\ doit être suivie par la commande à 

[Xfce4-commits] xfce4-power-manager:master l10n: Updated French (fr) translation to 83%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to 60fe462c373ec7ae5fd7803be918d6372cb5a4b0 (commit)
   from 4ceb85e5d9a1c8f18a094f462eb94c703ad1581d (commit)

commit 60fe462c373ec7ae5fd7803be918d6372cb5a4b0
Author: Xavier Devlamynck magicrhe...@ouranos.be
Date:   Sun Sep 5 19:59:29 2010 +0200

l10n: Updated French (fr) translation to 83%

New status: 166 messages complete with 32 fuzzies and 2 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/fr.po |  336 +++--
 1 files changed, 127 insertions(+), 209 deletions(-)

diff --git a/po/fr.po b/po/fr.po
index 7c446e1..394e49c 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -4,12 +4,12 @@
 # Maximilian Schleiss maximil...@xfce.org
 # Yves-Alexis Perez cor...@debian.org
 # Mike Massonnet mmasson...@xfce.org
-#
+# 
 msgid 
 msgstr 
 Project-Id-Version: xfce4-power-manager\n
 Report-Msgid-Bugs-To: \n
-POT-Creation-Date: 2010-02-08 12:01+0100\n
+POT-Creation-Date: 2010-09-05 16:01+\n
 PO-Revision-Date: 2010-02-08 18:17+0100\n
 Last-Translator: Douart Patrick patric...@laposte.net\n
 Language-Team: French xfce-i...@xfce.org\n
@@ -49,15 +49,11 @@ msgid Consider the computer on low power at:
 msgstr Niveau du seuil critique de la puissance :
 
 #. Hibernate menu option
-#: ../data/interfaces/xfpm-settings.ui.h:8
-#: ../settings/xfpm-settings.c:789
-#: ../settings/xfpm-settings.c:857
-#: ../settings/xfpm-settings.c:995
-#: ../settings/xfpm-settings.c:1160
-#: ../settings/xfpm-settings.c:1215
-#: ../settings/xfpm-settings.c:1265
-#: ../src/xfpm-power.c:524
-#: ../src/xfpm-power.c:785
+#: ../data/interfaces/xfpm-settings.ui.h:8 ../settings/xfpm-settings.c:789
+#: ../settings/xfpm-settings.c:857 ../settings/xfpm-settings.c:995
+#: ../settings/xfpm-settings.c:1160 ../settings/xfpm-settings.c:1215
+#: ../settings/xfpm-settings.c:1265 ../src/xfpm-power.c:443
+#: ../src/xfpm-power.c:704
 msgid Hibernate
 msgstr Mettre en veille prolongée
 
@@ -65,8 +61,7 @@ msgstr Mettre en veille prolongée
 msgid Lock screen when going for suspend/hibernate
 msgstr Activer l'écran de veille lors de la mise en veille/veille prolongée
 
-#: ../data/interfaces/xfpm-settings.ui.h:10
-#: ../src/xfpm-power-common.c:132
+#: ../data/interfaces/xfpm-settings.ui.h:10 ../src/xfpm-power-common.c:132
 msgid Monitor
 msgstr Écran
 
@@ -74,12 +69,9 @@ msgstr Écran
 msgid Monitor power management control
 msgstr Contrôler l'alimentation de l'écran
 
-#: ../data/interfaces/xfpm-settings.ui.h:12
-#: ../settings/xfpm-settings.c:778
-#: ../settings/xfpm-settings.c:846
-#: ../settings/xfpm-settings.c:984
-#: ../settings/xfpm-settings.c:1149
-#: ../settings/xfpm-settings.c:1204
+#: ../data/interfaces/xfpm-settings.ui.h:12 ../settings/xfpm-settings.c:778
+#: ../settings/xfpm-settings.c:846 ../settings/xfpm-settings.c:984
+#: ../settings/xfpm-settings.c:1149 ../settings/xfpm-settings.c:1204
 #: ../settings/xfpm-settings.c:1254
 msgid Nothing
 msgstr Rien
@@ -125,15 +117,11 @@ msgid Standby
 msgstr Arrêt
 
 #. Suspend menu option
-#: ../data/interfaces/xfpm-settings.ui.h:23
-#: ../settings/xfpm-settings.c:783
-#: ../settings/xfpm-settings.c:851
-#: ../settings/xfpm-settings.c:989
-#: ../settings/xfpm-settings.c:1154
-#: ../settings/xfpm-settings.c:1209
-#: ../settings/xfpm-settings.c:1259
-#: ../src/xfpm-power.c:539
-#: ../src/xfpm-power.c:798
+#: ../data/interfaces/xfpm-settings.ui.h:23 ../settings/xfpm-settings.c:783
+#: ../settings/xfpm-settings.c:851 ../settings/xfpm-settings.c:989
+#: ../settings/xfpm-settings.c:1154 ../settings/xfpm-settings.c:1209
+#: ../settings/xfpm-settings.c:1259 ../src/xfpm-power.c:458
+#: ../src/xfpm-power.c:717
 msgid Suspend
 msgstr Mettre en veille
 
@@ -166,16 +154,13 @@ msgid When sleep button is pressed:
 msgstr Appui sur le bouton de mise en veille :
 
 #: ../data/interfaces/xfpm-settings.ui.h:31
-#: ../settings/xfpm-settings-main.c:121
-#: ../src/xfpm-power.c:601
-#: ../src/xfpm-power.c:772
-#: ../src/xfpm-main.c:415
+#: ../settings/xfpm-settings-main.c:121 ../src/xfpm-power.c:520
+#: ../src/xfpm-power.c:691 ../src/xfpm-main.c:415
 #: ../src/xfce4-power-manager.desktop.in.h:2
 msgid Xfce Power Manager
 msgstr Gestionnaire d'alimentation
 
-#: ../settings/xfpm-settings.c:539
-#: ../settings/xfpm-settings.c:554
+#: ../settings/xfpm-settings.c:539 ../settings/xfpm-settings.c:554
 #: ../settings/xfpm-settings.c:581
 msgid Never
 msgstr Jamais
@@ -184,30 +169,24 @@ msgstr Jamais
 msgid One minute
 msgstr Une minute
 
-#: ../settings/xfpm-settings.c:544
-#: ../settings/xfpm-settings.c:556
+#: ../settings/xfpm-settings.c:544 ../settings/xfpm-settings.c:556
 msgid Minutes
 msgstr Minutes
 
-#: ../settings/xfpm-settings.c:558
-#: ../settings/xfpm-settings.c:565
-#: ../settings/xfpm-settings.c:566
-#: ../settings/xfpm-settings.c:567
+#: ../settings/xfpm-settings.c:558 ../settings/xfpm-settings.c:565
+#: ../settings/xfpm-settings.c:566 ../settings/xfpm-settings.c:567
 msgid One hour
 msgstr Une 

[Xfce4-commits] xfce4-power-manager:master l10n: Updated French (fr) translation to 83%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to 7335067a25edf9f36c78cac28552c1983dfb193f (commit)
   from 60fe462c373ec7ae5fd7803be918d6372cb5a4b0 (commit)

commit 7335067a25edf9f36c78cac28552c1983dfb193f
Author: Xavier Devlamynck magicrhe...@ouranos.be
Date:   Sun Sep 5 20:01:57 2010 +0200

l10n: Updated French (fr) translation to 83%

New status: 166 messages complete with 32 fuzzies and 2 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/fr.po |   14 +++---
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/po/fr.po b/po/fr.po
index 394e49c..13f5ca3 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -16,9 +16,9 @@ msgstr 
 MIME-Version: 1.0\n
 Content-Type: text/plain; charset=utf-8\n
 Content-Transfer-Encoding: 8bit\n
+X-Poedit-Country: FRANCE\n
 Plural-Forms: nplurals=2; plural=(n != 1);\n
 X-Poedit-Language: French\n
-X-Poedit-Country: FRANCE\n
 
 #: ../data/interfaces/xfpm-settings.ui.h:1
 msgid bActions/b
@@ -711,9 +711,8 @@ msgid Authorized to shutdown
 msgstr Autorisé à mettre hors tension
 
 #: ../src/xfpm-main.c:157
-#, fuzzy
 msgid Authorized to spin down hard disks
-msgstr Autorisé à ralentir les disques durs
+msgstr 
 
 #: ../src/xfpm-main.c:159
 #, fuzzy
@@ -721,9 +720,8 @@ msgid Has brightness panel
 msgstr Régler la luminosité
 
 #: ../src/xfpm-main.c:161
-#, fuzzy
 msgid Has power button
-msgstr A un bouton de mise en marche
+msgstr 
 
 #: ../src/xfpm-main.c:163
 #, fuzzy
@@ -731,12 +729,14 @@ msgid Has hibernate button
 msgstr Appui sur le bouton de mise en hibernation :
 
 #: ../src/xfpm-main.c:165
+#, fuzzy
 msgid Has sleep button
-msgstr 
+msgstr A un bouton de mise en veille
 
 #: ../src/xfpm-main.c:167
+#, fuzzy
 msgid Has LID
-msgstr 
+msgstr A un couvercle
 
 #: ../src/xfpm-main.c:266
 msgid Do not daemonize
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-wmdock-plugin:master l10n: Updated French (fr) translation to 83%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to 3432801bc398240bcf84d0ff147c52a8ba440605 (commit)
   from 43f7521424829a5d21423638985630f4c21edf2a (commit)

commit 3432801bc398240bcf84d0ff147c52a8ba440605
Author: Xavier Devlamynck magicrhe...@ouranos.be
Date:   Sun Sep 5 20:05:29 2010 +0200

l10n: Updated French (fr) translation to 83%

New status: 10 messages complete with 2 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/fr.po |9 +
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/po/fr.po b/po/fr.po
index 31f9e5b..7fcc0e5 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2,7 +2,7 @@
 # Copyright (C) 2008 Andre Ellguth
 # This file is distributed under the same license as the PACKAGE package.
 # Andre Ellguth ellg...@ibh.de, 2008.
-#
+# 
 msgid 
 msgstr 
 Project-Id-Version: xfce4-wmdock-plugin 0.2.0\n
@@ -16,9 +16,9 @@ msgstr 
 Content-Transfer-Encoding: 8bit\n
 
 #: panel-plugin/wmdock.c:196
-#, c-format
+#, c-format, fuzzy
 msgid Do you want remove the dockapp \%s\?
-msgstr 
+msgstr Voulez-vous enlever l'application \%s\?
 
 #: panel-plugin/wmdock.c:398
 msgid No dockapp is running!
@@ -30,8 +30,9 @@ msgid Failed to start %s!
 msgstr Défaut pendant lancer %s!
 
 #: panel-plugin/wmdock.c:1148
+#, fuzzy
 msgid WMdock
-msgstr 
+msgstr WMdock
 
 #: panel-plugin/wmdock.c:1151
 msgid Remove dockapp
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-mount-plugin:master l10n: Updated French (fr) translation to 100%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to 34e7cee72c8f0667f07fa97555fe3da857dfe364 (commit)
   from ff7bf6e628efe8809191dcbf15afa0571e90acef (commit)

commit 34e7cee72c8f0667f07fa97555fe3da857dfe364
Author: Xavier Devlamynck magicrhe...@ouranos.be
Date:   Sun Sep 5 20:09:58 2010 +0200

l10n: Updated French (fr) translation to 100%

New status: 44 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/fr.po |   65 +++--
 1 files changed, 33 insertions(+), 32 deletions(-)

diff --git a/po/fr.po b/po/fr.po
index 967c2d3..9c23398 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@ msgid 
 msgstr 
 Project-Id-Version: xfce4-mount-plugin\n
 Report-Msgid-Bugs-To: \n
-POT-Creation-Date: 2009-01-16 12:37-0500\n
+POT-Creation-Date: 2010-09-05 16:03+\n
 PO-Revision-Date: 2009-01-27 22:40+0100\n
 Last-Translator: Maximilian Schleiss maximil...@xfce.org\n
 Language-Team: French xfce-i...@xfce.org\n
@@ -83,56 +83,57 @@ msgstr point de montage : %s\n
 msgid not mounted\n
 msgstr non monté\n
 
-#: ../panel-plugin/devices.c:245 ../panel-plugin/devices.c:294
+#: ../panel-plugin/devices.c:260 ../panel-plugin/devices.c:309
 msgid Mount Plugin: Error executing command.
 msgstr Greffon de montage : erreur à l'exécution de la commande.
 
-#: ../panel-plugin/mount-plugin.c:54
+#: ../panel-plugin/mount-plugin.c:57
 #, c-format
 msgid The device \%s\ should be removable safely now.
 msgstr Le périphérique \%s\ peut maintenant être déconnecté de manière 
sûre.
 
-#: ../panel-plugin/mount-plugin.c:57
-msgid An error occurred. The device should not be removed!
-msgstr Une erreur s'est produite. Le périphérique ne devrait pas être 
déconnecté !
+#: ../panel-plugin/mount-plugin.c:60
+#, c-format
+msgid An error occurred. The device \%s\ should not be removed!
+msgstr Une erreur s'est produite. Le périphérique \%s\ ne devrait pas être 
déconnecté !
 
-#: ../panel-plugin/mount-plugin.c:249
+#: ../panel-plugin/mount-plugin.c:252
 msgid span foreground=\#FF\not mounted/span
 msgstr span foreground=\#00\ size=\%s\non monté/span
 
-#: ../panel-plugin/mount-plugin.c:557
+#: ../panel-plugin/mount-plugin.c:560
 msgid devices
 msgstr périphériques
 
-#: ../panel-plugin/mount-plugin.c:724
+#: ../panel-plugin/mount-plugin.c:727
 msgid Mount Plugin
 msgstr Greffon de montage
 
-#: ../panel-plugin/mount-plugin.c:780
+#: ../panel-plugin/mount-plugin.c:783
 msgid This is only useful and recommended if you specify \sync\ as part of 
the \unmount\ command string.
 msgstr Ceci est utile et recommandé uniquement si vous spécifiez \sync\ 
dans la ligne de commande de \unmount\.
 
-#: ../panel-plugin/mount-plugin.c:785
+#: ../panel-plugin/mount-plugin.c:788
 msgid Show _message after unmount
 msgstr Afficher un _message après le démontage
 
-#: ../panel-plugin/mount-plugin.c:797
+#: ../panel-plugin/mount-plugin.c:800
 msgid You can specify a distinct icon to be displayed in the panel.
 msgstr Définir l'icône à afficher dans le panneau.
 
-#: ../panel-plugin/mount-plugin.c:804
+#: ../panel-plugin/mount-plugin.c:807
 msgid Icon:
 msgstr Icône :
 
-#: ../panel-plugin/mount-plugin.c:808
+#: ../panel-plugin/mount-plugin.c:811
 msgid Select an image
 msgstr Choisir une image
 
-#: ../panel-plugin/mount-plugin.c:815
+#: ../panel-plugin/mount-plugin.c:818
 msgid _General
 msgstr _Général
 
-#: ../panel-plugin/mount-plugin.c:830
+#: ../panel-plugin/mount-plugin.c:833
 #, c-format
 msgid 
 This command will be executed after mounting the device with the mount point 
of the device as argument.\n
@@ -143,19 +144,19 @@ msgstr 
 Si vous n'êtes pas sûr de la commande, tapez \thunar %m\ dans la console.\n
 '%d' spécifie le périphérique et '%m' le point de montage.
 
-#: ../panel-plugin/mount-plugin.c:840
+#: ../panel-plugin/mount-plugin.c:843
 msgid _Execute after mounting:
 msgstr _Exécuter après le montage :
 
-#: ../panel-plugin/mount-plugin.c:863
+#: ../panel-plugin/mount-plugin.c:866
 msgid WARNING: These options are for experts only! If you do not know what 
they may be good for, keep your hands off!
 msgstr ATTENTION : ces options sont réservées aux experts ! Si vous ne savez 
pas à quoi elle servent, ne les touchez pas !
 
-#: ../panel-plugin/mount-plugin.c:868
+#: ../panel-plugin/mount-plugin.c:871
 msgid _Custom commands
 msgstr _Commandes personnalisées :
 
-#: ../panel-plugin/mount-plugin.c:887
+#: ../panel-plugin/mount-plugin.c:890
 #, c-format
 msgid 
 Most users will only want to prepend \sudo\ to both commands or prepend 
\sync %d \ to the \unmount %d\ command.\n
@@ -164,43 +165,43 @@ msgstr 
 La plupart des utilisateurs voudront ajouter \sudo\ au début de chaque 
commande ou \sync %d \ à la commande \unmount %d\.\n
 '%d' spécifie le périphérique et '\\%m' le point de montage.
 
-#: ../panel-plugin/mount-plugin.c:896
+#: ../panel-plugin/mount-plugin.c:899
 msgid _Mount command:
 msgstr Commande de 

[Xfce4-commits] xfce4-sensors-plugin:master l10n: Updated French (fr) translation to 100%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to e22ccfd5a7f91d7a59fe674734053427618124b7 (commit)
   from 5b14f5dc10d3ffc93337d0d6c5e7b440002ff5ad (commit)

commit e22ccfd5a7f91d7a59fe674734053427618124b7
Author: Xavier Devlamynck magicrhe...@ouranos.be
Date:   Sun Sep 5 20:08:50 2010 +0200

l10n: Updated French (fr) translation to 100%

New status: 71 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/fr.po |   53 -
 1 files changed, 20 insertions(+), 33 deletions(-)

diff --git a/po/fr.po b/po/fr.po
index e11aa93..fcb6080 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -4,7 +4,7 @@
 # Stephane Roy s...@j2n.net, 2005.
 # Fabian Nowak timyst...@arcor.de, 2005.
 # Maximilian Schleiss maximil...@xfce.org, 2006.
-#
+# 
 msgid 
 msgstr 
 Project-Id-Version: xfce4-sensors-plugin 0.9.0\n
@@ -49,11 +49,11 @@ msgstr _texte
 
 #: ../panel-plugin/sensors-plugin.c:1687
 msgid _progress bars
-msgstr 
+msgstr _barres de progression
 
 #: ../panel-plugin/sensors-plugin.c:1689
 msgid _tachos
-msgstr 
+msgstr _tachys
 
 #: ../panel-plugin/sensors-plugin.c:1734
 msgid Show _labels
@@ -75,7 +75,8 @@ msgstr _Nombre de lignes de texte :
 msgid F_ont size:
 msgstr Taille de la _police :
 
-#. gtk_widget_set_sensitive(myFontBox, 
!sd-sensors-display_values_graphically);
+#. gtk_widget_set_sensitive(myFontBox,
+#. !sd-sensors-display_values_graphically);
 #: ../panel-plugin/sensors-plugin.c:1858
 msgid x-small
 msgstr très petite
@@ -97,7 +98,6 @@ msgid x-large
 msgstr très grande
 
 #: ../panel-plugin/sensors-plugin.c:1893
-#, fuzzy
 msgid F_ont:
 msgstr Taille de la _police :
 
@@ -132,14 +132,8 @@ msgstr Greffon de Capteurs
 
 #. #if GTK_VERSION  2.11
 #: ../panel-plugin/sensors-plugin.c:2186
-msgid 
-You can change a feature's properties such as name, colours, min/max value 
-by double-clicking the entry, editing the content, and pressing \Return\ 
-or selecting a different field.
-msgstr 
-Vous pouvez changez les propriétés d'un aspect tel que le nom, les couleurs, 
-la valeur min/max en double-cliquant sur l'entrée, éditer le contenu et 
-presser \Entrée\ ou sélectionner un autre champ.
+msgid You can change a feature's properties such as name, colours, min/max 
value by double-clicking the entry, editing the content, and pressing 
\Return\ or selecting a different field.
+msgstr Vous pouvez changez les propriétés d'un aspect tel que le nom, les 
couleurs, la valeur min/max en double-cliquant sur l'entrée, éditer le contenu 
et presser \Entrée\ ou sélectionner un autre champ.
 
 #. only use this if no hddtemp sensor
 #. or do only use this , if it is an lmsensors device. whatever.
@@ -155,7 +149,8 @@ msgid ACPI
 msgstr ACPI
 
 #. to be displayed
-#. chip-description = g_strdup(_(Advanced Configuration and Power 
Interface));
+#. chip-description = g_strdup(_(Advanced Configuration and Power
+#. Interface));
 #: ../lib/acpi.c:523
 #, c-format
 msgid ACPI v%s zones
@@ -176,23 +171,17 @@ msgstr Aucune erreur concrète détectée.\n
 #: ../lib/hddtemp.c:526
 #, c-format
 msgid 
-\hddtemp\ was not executed correctly, although it is executable. This is 
-most probably due to the disks requiring root privileges to read their 
-temperatures, and \hddtemp\ not being setuid root.\n
+\hddtemp\ was not executed correctly, although it is executable. This is 
most probably due to the disks requiring root privileges to read their 
temperatures, and \hddtemp\ not being setuid root.\n
 \n
-An easy but dirty solution is to run \chmod u+s %s\ as root user and 
-restart this plugin or its panel.\n
+An easy but dirty solution is to run \chmod u+s %s\ as root user and 
restart this plugin or its panel.\n
 \n
 Calling \%s\ gave the following error:\n
 %s\n
 with a return value of %d.\n
 msgstr 
-\hddtemp\ n'a pas été exécuté correctement bien qu'il soit exécutable. Il 
-se pourrait bien que ce soit dû à des privilèges restreint pour la lecture 
-des températures et que \hddtemp\ ne soit pas fixé avec un setuid root.\n
+\hddtemp\ n'a pas été exécuté correctement bien qu'il soit exécutable. Il 
se pourrait bien que ce soit dû à des privilèges restreint pour la lecture des 
températures et que \hddtemp\ ne soit pas fixé avec un setuid root.\n
 \n
-Une solution simple mais radicale consiste à lancer la commande \chmod u+s %
-s\ en tant que root et de relancer le greffon ou le panneau.\n
+Une solution simple mais radicale consiste à lancer la commande \chmod u+s 
%s\ en tant que root et de relancer le greffon ou le panneau.\n
 \n
 L'appel à \%s\ a donné l'erreur suivante :\n
 %s\n
@@ -212,7 +201,8 @@ msgstr 
 %s
 
 #. if (scale == FAHRENHEIT) {
-#. cf-formatted_value = g_strdup_printf(_(%.1f °F), (float) (value * 9/5 + 
32) );
+#. cf-formatted_value = g_strdup_printf(_(%.1f °F), (float) (value * 9/5 +
+#. 32) );
 #. } else { // Celsius
 #. Celsius
 #: ../lib/hddtemp.c:638 ../lib/sensors-interface-common.c:144
@@ -330,14 +320,11 

[Xfce4-commits] xfce4-datetime-plugin:master l10n: Updated French (fr) translation to 100%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to 4faac576570c781fb3d9c02171d0df54a5936218 (commit)
   from 074df33d0caf0f3ce2968976c59815cf7536801e (commit)

commit 4faac576570c781fb3d9c02171d0df54a5936218
Author: Xavier Devlamynck magicrhe...@ouranos.be
Date:   Sun Sep 5 20:11:35 2010 +0200

l10n: Updated French (fr) translation to 100%

New status: 19 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/fr.po |   21 +++--
 1 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/po/fr.po b/po/fr.po
index 9004c22..dd04811 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2,7 +2,7 @@
 # Copyright (C) 2006-2007 Remco den Breeje
 # This file is distributed under the same license as the xfce4-datetime-plugin 
package.
 # Maximilian Schleiss maximil...@xfce.org, 2007-2008.
-#
+# 
 msgid 
 msgstr 
 Project-Id-Version: xfce4-datetime-plugin\n
@@ -55,13 +55,11 @@ msgid Unable to open the following url: %s
 msgstr Échec à l'ouverture du lien : %s
 
 #: ../panel-plugin/datetime-dialog.c:371
-#, fuzzy
 msgid Datetime
-msgstr DateTime
+msgstr Datetime
 
-#.
 #. * layout frame
-#.
+#. 
 #: ../panel-plugin/datetime-dialog.c:391
 msgid Layout
 msgstr Disposition
@@ -73,9 +71,8 @@ msgstr Disposition
 msgid Format:
 msgstr Format :
 
-#.
 #. * Date frame
-#.
+#. 
 #: ../panel-plugin/datetime-dialog.c:425
 msgid Date
 msgstr Date
@@ -89,9 +86,8 @@ msgstr La date apparaît dans une infobulle.
 msgid Font:
 msgstr Police :
 
-#.
 #. * time frame
-#.
+#. 
 #: ../panel-plugin/datetime-dialog.c:528
 msgid Time
 msgstr Temps
@@ -117,8 +113,5 @@ msgstr DateTime
 #~ msgid Calendar
 #~ msgstr Calendrier
 
-#~ msgid 
-#~ The information on which day the calendar week starts is derived from the 
-#~ locale.
-#~ msgstr 
-#~ Le choix de jour de début de semaine est défini par la locale du système.
+#~ msgid The information on which day the calendar week starts is derived 
from the locale.
+#~ msgstr Le choix de jour de début de semaine est défini par la locale du 
système.
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] xfce4-smartbookmark-plugin:master l10n: Updated French (fr) translation to 100%

2010-09-05 Thread Transifex
Updating branch refs/heads/master
 to 100d5216a3ab65215e2bb8b10c54164c31163823 (commit)
   from 76e6f211df80ce08818b8db12fd47b8604033115 (commit)

commit 100d5216a3ab65215e2bb8b10c54164c31163823
Author: Xavier Devlamynck magicrhe...@ouranos.be
Date:   Sun Sep 5 20:12:42 2010 +0200

l10n: Updated French (fr) translation to 100%

New status: 8 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

 po/fr.po |9 -
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/po/fr.po b/po/fr.po
index 8c7c66f..119c974 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2,12 +2,12 @@
 # Copyright (C) 2006
 # This file is distributed under the same license as the 
xfce4-smartbookmark-plugin package.
 # Yves-Alexis Perez cor...@corsac.net, 2006.
-#
+# 
 msgid 
 msgstr 
 Project-Id-Version: 0.4.1\n
 Report-Msgid-Bugs-To: \n
-POT-Creation-Date: 2008-07-27 21:20-0400\n
+POT-Creation-Date: 2008-07-27 21:21-0400\n
 PO-Revision-Date: 2006-08-19 18:41+0100\n
 Last-Translator: Maximilian Schleiss maximil...@xfce.org\n
 Language-Team: French xfce-i...@xfce.org\n
@@ -46,9 +46,8 @@ msgstr URL :  
 
 #: ../src/smartbookmark.desktop.in.in.h:1
 msgid Query websites from the Xfce panel
-msgstr 
+msgstr Questionner des sites internet depuis le panneau Xfce
 
 #: ../src/smartbookmark.desktop.in.in.h:2
-#, fuzzy
 msgid SmartBookmark
-msgstr Smartbookmark
+msgstr SmartBookmark
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/basic-monitoring Fix memory leak in merge file nodes with a filename.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 60460406ec33394222f3f624f99d0ea46c3704fa (commit)
   from a5eaf19e977e06320fa23c8e60ab439362dd8bb3 (commit)

commit 60460406ec33394222f3f624f99d0ea46c3704fa
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 20:19:09 2010 +0200

Fix memory leak in merge file nodes with a filename.

 garcon/garcon-menu-node.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/garcon/garcon-menu-node.c b/garcon/garcon-menu-node.c
index 51e8436..40076d5 100644
--- a/garcon/garcon-menu-node.c
+++ b/garcon/garcon-menu-node.c
@@ -338,6 +338,10 @@ garcon_menu_node_free_data (GarconMenuNode *node)
   g_free (node-data.string);
   break;
 
+case GARCON_MENU_NODE_TYPE_MERGE_FILE:
+  g_free (node-data.merge_file.filename);
+  break;
+
 default:
   break;
 }
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:jannis/basic-monitoring Add garcon_menu_item_cache_invalidate_file, simplify app dir monitoring.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 2be335a2c9332d9b2c9f649245a764afb7140257 (commit)
   from 60460406ec33394222f3f624f99d0ea46c3704fa (commit)

commit 2be335a2c9332d9b2c9f649245a764afb7140257
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 21:32:37 2010 +0200

Add garcon_menu_item_cache_invalidate_file, simplify app dir monitoring.

Only listen to G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT events, otherwise
consecutive events may not be picked up. A good example is when a
desktop entry is edited and saved in VIM. This results in a series of
events (move, create, change etc.). Some of these will not be picked up
if garcon is busy reloading the menu at the time of their emission.

So, the only real choice we have is to hope that CHANGES_DONE_HINT is
always generated at the end of modifications like move, create, delete
and attribute changes.

 garcon/garcon-menu-item-cache.c |   25 
 garcon/garcon-menu-item-cache.h |   24 ---
 garcon/garcon-menu-parser.c |6 +-
 garcon/garcon-menu.c|  131 +--
 4 files changed, 86 insertions(+), 100 deletions(-)

diff --git a/garcon/garcon-menu-item-cache.c b/garcon/garcon-menu-item-cache.c
index afccfd0..8d7e131 100644
--- a/garcon/garcon-menu-item-cache.c
+++ b/garcon/garcon-menu-item-cache.c
@@ -219,3 +219,28 @@ garcon_menu_item_cache_invalidate (GarconMenuItemCache 
*cache)
   /* Release item cache lock */
   g_static_mutex_unlock (lock);
 }
+
+
+
+void
+garcon_menu_item_cache_invalidate_file (GarconMenuItemCache *cache,
+GFile   *file)
+{
+  gchar *uri;
+
+  g_return_if_fail (GARCON_IS_MENU_ITEM_CACHE (cache));
+  g_return_if_fail (G_IS_FILE (file));
+
+  uri = g_file_get_uri (file);
+
+  /* Acquire a lock on the item cache */
+  g_static_mutex_lock (lock);
+
+  /* Remove possible items with this URI from the cache */
+  g_hash_table_remove (cache-priv-items, uri);
+
+  /* Release the item cache lock */
+  g_static_mutex_unlock (lock);
+
+  g_free (uri);
+}
diff --git a/garcon/garcon-menu-item-cache.h b/garcon/garcon-menu-item-cache.h
index 1e8bbb6..8ed6646 100644
--- a/garcon/garcon-menu-item-cache.h
+++ b/garcon/garcon-menu-item-cache.h
@@ -56,17 +56,19 @@ struct _GarconMenuItemCache
 
 
 
-GTypegarcon_menu_item_cache_get_type(void) G_GNUC_CONST;
-
-GarconMenuItemCache *garcon_menu_item_cache_get_default (void);
-
-GarconMenuItem  *garcon_menu_item_cache_lookup  (GarconMenuItemCache 
*cache,
- const gchar 
*uri,
- const gchar 
*desktop_id);
-void garcon_menu_item_cache_foreach (GarconMenuItemCache 
*cache,
- GHFunc   
func,
- gpointer 
user_data);
-void garcon_menu_item_cache_invalidate  (GarconMenuItemCache 
*cache);
+GTypegarcon_menu_item_cache_get_type(void) 
G_GNUC_CONST;
+
+GarconMenuItemCache *garcon_menu_item_cache_get_default (void);
+
+GarconMenuItem  *garcon_menu_item_cache_lookup  
(GarconMenuItemCache *cache,
+ const gchar   
  *uri,
+ const gchar   
  *desktop_id);
+void garcon_menu_item_cache_foreach 
(GarconMenuItemCache *cache,
+ GHFunc
   func,
+ gpointer  
   user_data);
+void garcon_menu_item_cache_invalidate  
(GarconMenuItemCache *cache);
+void garcon_menu_item_cache_invalidate_file 
(GarconMenuItemCache *cache,
+ GFile 
  *file);
 
 G_END_DECLS
 
diff --git a/garcon/garcon-menu-parser.c b/garcon/garcon-menu-parser.c
index bc939dd..2d8f088 100644
--- a/garcon/garcon-menu-parser.c
+++ b/garcon/garcon-menu-parser.c
@@ -275,12 +275,14 @@ garcon_menu_parser_run (GarconMenuParser *parser,
 
   if (error != NULL)
 {
-  g_warning (_(Could not load menu file data from %s: %s),
+  g_message (_(Could not load menu file data from %s: %s),
  uri, (*error)-message);
   g_error_free (*error);
 }
   else
-g_warning (_(Could not load menu file data from %s), uri);
+{
+  g_message (_(Could not load menu file data from %s), uri);
+}
 
   g_free (uri);
   return FALSE;
diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index bc731da..4f40c2e 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ 

[Xfce4-commits] garcon:jannis/basic-monitoring Properly react on delete events. They are not included in CHANGES_DONE.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/jannis/basic-monitoring
 to 2d3750233542f9252fd0802e3438896d759f9fd3 (commit)
   from 2be335a2c9332d9b2c9f649245a764afb7140257 (commit)

commit 2d3750233542f9252fd0802e3438896d759f9fd3
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 21:39:11 2010 +0200

Properly react on delete events. They are not included in CHANGES_DONE.

Too bad, here we have our first exception. Delete events don't seem to
be included in the events closed by
G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT.

 garcon/garcon-menu.c |   36 
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 4f40c2e..85c8ffc 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -2185,6 +2185,42 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   g_free (path);
 }
 }
+  else if (event_type == G_FILE_MONITOR_EVENT_DELETED)
+{
+  /* query the type of the changed file */
+  file_type = g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL);
+
+  if (file_type == G_FILE_TYPE_DIRECTORY)
+{
+  /* an existing app dir (or a subdirectory) has been deleted. we
+   * could remove all the items that are in use and reside inside
+   * this root directory. but for now... enforce a menu reload! */
+  g_signal_emit (menu, menu_signals[RELOAD_REQUIRED], 0);
+}
+  else 
+{
+  /* a regular file was deleted, try to find the corresponding menu 
item */
+  item = garcon_menu_find_file_item (menu, file);
+  if (item != NULL)
+{
+  /* remove the item from the desktop item cache so we are forced
+   * to reload it from disk the next time */
+  garcon_menu_item_cache_invalidate_file (menu-priv-cache, file);
+
+  /* ok, so a .desktop file was removed. of course we don't know
+   * yet whether there is a replacement in another app dir
+   * with lower priority. we could try to find out but for now
+   * it's easier to simply enforce a menu reload */
+  g_signal_emit (menu, menu_signals[RELOAD_REQUIRED], 0);
+}
+  else
+{
+  /* the deleted file hasn't been in use anyway, so removing it
+   * doesn't change anything. so we have nothing to do for a
+   * change, no fing menu reload! */
+}
+}
+}
 }
 
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:master Reload Categories/OnlyShowIn/NotShowIn. Add garcon_menu_element_equal().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 2d35906e4287a17a35386d1fe01799348e3e6c22 (commit)
   from 7d42e955c11060646e17d3e1f67a601ba3d6a503 (commit)

commit 2d35906e4287a17a35386d1fe01799348e3e6c22
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 15:01:23 2010 +0200

Reload Categories/OnlyShowIn/NotShowIn. Add garcon_menu_element_equal().

 garcon/garcon-menu-element.c   |   15 ++
 garcon/garcon-menu-element.h   |4 +++
 garcon/garcon-menu-item.c  |   56 +---
 garcon/garcon-menu-separator.c |   13 +
 garcon/garcon-menu.c   |   17 +++-
 5 files changed, 100 insertions(+), 5 deletions(-)

diff --git a/garcon/garcon-menu-element.c b/garcon/garcon-menu-element.c
index 5978120..5f6a5d6 100644
--- a/garcon/garcon-menu-element.c
+++ b/garcon/garcon-menu-element.c
@@ -116,3 +116,18 @@ garcon_menu_element_get_no_display (GarconMenuElement 
*element)
   return (*GARCON_MENU_ELEMENT_GET_IFACE (element)-get_no_display) (element);
 }
 
+
+
+gboolean
+garcon_menu_element_equal (GarconMenuElement *a,
+   GarconMenuElement *b)
+{
+  g_return_val_if_fail (GARCON_IS_MENU_ELEMENT (a), FALSE);
+  g_return_val_if_fail (GARCON_IS_MENU_ELEMENT (b), FALSE);
+
+  if (G_TYPE_FROM_INSTANCE (a) != G_TYPE_FROM_INSTANCE (b))
+return FALSE;
+
+  return (*GARCON_MENU_ELEMENT_GET_IFACE (a)-equal) (a, b);
+}
+
diff --git a/garcon/garcon-menu-element.h b/garcon/garcon-menu-element.h
index 8aacdd8..4c30547 100644
--- a/garcon/garcon-menu-element.h
+++ b/garcon/garcon-menu-element.h
@@ -48,6 +48,8 @@ struct _GarconMenuElementIface
   gboolean (*get_visible) (GarconMenuElement *element);
   gboolean (*get_show_in_environment) (GarconMenuElement *element);
   gboolean (*get_no_display)  (GarconMenuElement *element);
+  gboolean (*equal)   (GarconMenuElement *element,
+   GarconMenuElement *other);
 };
 
 GTypegarcon_menu_element_get_type(void) G_GNUC_CONST;
@@ -58,6 +60,8 @@ const gchar *garcon_menu_element_get_icon_name   
(GarconMenuElement *ele
 gboolean garcon_menu_element_get_visible (GarconMenuElement 
*element);
 gboolean garcon_menu_element_get_show_in_environment (GarconMenuElement 
*element);
 gboolean garcon_menu_element_get_no_display  (GarconMenuElement 
*element);
+gboolean garcon_menu_element_equal   (GarconMenuElement *a,
+  GarconMenuElement 
*b);
 
 G_END_DECLS
 
diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index 461ed02..f490f16 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -85,6 +85,8 @@ static const gchar *garcon_menu_item_get_element_icon_name
   (GarconMenu
 static gboolean garcon_menu_item_get_element_visible 
(GarconMenuElement  *element);
 static gboolean garcon_menu_item_get_element_show_in_environment 
(GarconMenuElement  *element);
 static gboolean garcon_menu_item_get_element_no_display  
(GarconMenuElement  *element);
+static gboolean garcon_menu_item_get_element_equal   
(GarconMenuElement  *element,
+  
GarconMenuElement  *other);
 
 
 
@@ -384,6 +386,7 @@ garcon_menu_item_element_init (GarconMenuElementIface 
*iface)
   iface-get_visible = garcon_menu_item_get_element_visible;
   iface-get_show_in_environment = 
garcon_menu_item_get_element_show_in_environment;
   iface-get_no_display = garcon_menu_item_get_element_no_display;
+  iface-equal = garcon_menu_item_get_element_equal;
 }
 
 
@@ -622,6 +625,21 @@ garcon_menu_item_get_element_no_display (GarconMenuElement 
*element)
   return garcon_menu_item_get_no_display (GARCON_MENU_ITEM (element));
 }
 
+
+
+static gboolean
+garcon_menu_item_get_element_equal (GarconMenuElement *element,
+GarconMenuElement *other)
+{
+  g_return_val_if_fail (GARCON_IS_MENU_ITEM (element), FALSE);
+  g_return_val_if_fail (GARCON_IS_MENU_ITEM (other), FALSE);
+
+  return g_file_equal (GARCON_MENU_ITEM (element)-priv-file, 
+   GARCON_MENU_ITEM (other)-priv-file);
+}
+
+
+
 static const gchar*
 garcon_menu_item_get_element_name (GarconMenuElement *element)
 {
@@ -816,12 +834,16 @@ garcon_menu_item_reload_from_file (GarconMenuItem  *item,
GError **error)
 {
   GKeyFile *rc;
-  gchar*contents;
-  gsize length = 0;
+  gboolean  boolean;
   gboolean  succeed;
+  GList*categories = NULL;
+  gchar   **mt;
+  gchar   **str_list;
+  gchar*contents;
   gchar*string;
-  gboolean  boolean;
-  gchar*name, *exec;
+  gchar*name;
+  gchar*exec;
+  gsize length = 0;
 
   g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), 

[Xfce4-commits] garcon:master Lookup relative filenames with garcon_config_build_paths().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 186d64776a647e7b924c20ae3d01ff24aaac18e5 (commit)
   from 8c25a7b68c86175c99c56848bc8ab54477bc5902 (commit)

commit 186d64776a647e7b924c20ae3d01ff24aaac18e5
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 15:47:12 2010 +0200

Lookup relative filenames with garcon_config_build_paths().

 garcon/garcon-config.c |   31 ---
 garcon/{garcon-config.h.in = garcon-config.h} |   32 
 2 files changed, 43 insertions(+), 20 deletions(-)

diff --git a/garcon/garcon-config.c b/garcon/garcon-config.c
index 56fef3d..1aee68d 100644
--- a/garcon/garcon-config.c
+++ b/garcon/garcon-config.c
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2009-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -9,11 +9,11 @@
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  * GNU Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General
- * Public License along with this library; if not, write to the
+ * You should have received a copy of the GNU Library General 
+ * Public License along with this library; if not, write to the 
  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  * Boston, MA 02110-1301, USA.
  */
@@ -122,6 +122,29 @@ garcon_check_version (guint required_major,
 
 
 
+gchar **
+garcon_config_build_paths (const gchar *filename)
+{
+  const gchar * const *dirs;
+  gchar  **paths;
+  guintn;
+
+  g_return_val_if_fail (filename != NULL  *filename != '\0', NULL);
+
+  dirs = g_get_system_config_dirs ();
+
+  paths = g_new0 (gchar *, 1 + g_strv_length ((gchar **)dirs) + 1);
+  
+  paths[0] = g_build_filename (g_get_user_config_dir (), filename, NULL);
+  for (n = 1; dirs[n-1] != NULL; ++n)
+paths[n] = g_build_filename (dirs[n-1], filename, NULL);
+  paths[n] = NULL;
+
+  return paths;
+}
+
+
+
 /**
  * garcon_config_lookup:
  * @filename : relative filename of the config resource.
diff --git a/garcon/garcon-config.h.in b/garcon/garcon-config.h
similarity index 72%
copy from garcon/garcon-config.h.in
copy to garcon/garcon-config.h
index baae3b8..0419d29 100644
--- a/garcon/garcon-config.h.in
+++ b/garcon/garcon-config.h
@@ -1,7 +1,6 @@
-/* $Id$ */
-/* vi:set expandtab sw=2 sts=2: */
+/* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2008 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2008-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -10,13 +9,13 @@
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
+ * GNU Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General 
+ * Public License along with this library; if not, write to the 
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 #if !defined (GARCON_INSIDE_GARCON_H)  !defined (GARCON_COMPILATION)
@@ -38,7 +37,7 @@ G_BEGIN_DECLS
  * application compile time, rather than from the library
  * linked against at application run time.
  **/
-#define GARCON_MAJOR_VERSION @GARCON_VERSION_MAJOR@
+#define GARCON_MAJOR_VERSION 0
 
 /**
  * GARCON_MINOR_VERSION:
@@ -48,7 +47,7 @@ G_BEGIN_DECLS
  * application compile time, rather than from the library
  * linked against at application run time.
  **/
-#define GARCON_MINOR_VERSION @GARCON_VERSION_MINOR@
+#define GARCON_MINOR_VERSION 1
 
 /**
  * GARCON_MICRO_VERSION:
@@ -58,7 +57,7 @@ G_BEGIN_DECLS
  * application compile time, rather than from the library
  * linked against at application run time.
  **/
-#define GARCON_MICRO_VERSION @GARCON_VERSION_MICRO@
+#define GARCON_MICRO_VERSION 1
 
 /**
  * GARCON_CHECK_VERSION:
@@ -83,11 +82,12 @@ extern const guint garcon_major_version;
 extern const guint garcon_minor_version;
 extern const guint garcon_micro_version;
 
-const gchar *garcon_check_version (guint required_major,
-

[Xfce4-commits] garcon:master Rework menu loading a bit based on a uses_custom_path flag.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 8c25a7b68c86175c99c56848bc8ab54477bc5902 (commit)
   from 9ae4e81297ec3031c17e35d7facf16da23d640be (commit)

commit 8c25a7b68c86175c99c56848bc8ab54477bc5902
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 15:36:38 2010 +0200

Rework menu loading a bit based on a uses_custom_path flag.

 garcon/garcon-menu.c |  148 ++
 1 files changed, 114 insertions(+), 34 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 879c3ef..06f74f3 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -98,6 +98,7 @@ enum
 
 
 static void garcon_menu_element_init
(GarconMenuElementIface  *iface);
+static void garcon_menu_clear   
(GarconMenu  *menu);
 static void garcon_menu_finalize
(GObject *object);
 static void garcon_menu_get_property
(GObject *object,
  guint 
   prop_id,
@@ -139,6 +140,8 @@ static gboolean 
garcon_menu_get_element_show_in_environment (GarconM
 static gboolean garcon_menu_get_element_no_display  
(GarconMenuElement   *element);
 static gboolean garcon_menu_get_element_equal   
(GarconMenuElement   *element,
  
GarconMenuElement   *other);
+static void garcon_menu_start_monitoring
(GarconMenu  *menu);
+static void garcon_menu_stop_monitoring 
(GarconMenu  *menu);
 
 
 
@@ -164,6 +167,9 @@ struct _GarconMenuPrivate
 
   /* Shared menu item cache */
   GarconMenuItemCache *cache;
+
+  /* Flag for marking custom path menus */
+  guintuses_custom_path : 1;
 };
 
 
@@ -241,6 +247,7 @@ garcon_menu_init (GarconMenu *menu)
   menu-priv-submenus = NULL;
   menu-priv-parent = NULL;
   menu-priv-pool = garcon_menu_item_pool_new ();
+  menu-priv-uses_custom_path = TRUE;
 
   /* Take reference on the menu item cache */
   menu-priv-cache = garcon_menu_item_cache_get_default ();
@@ -249,24 +256,49 @@ garcon_menu_init (GarconMenu *menu)
 
 
 static void
-garcon_menu_finalize (GObject *object)
+garcon_menu_clear (GarconMenu *menu)
 {
-  GarconMenu *menu = GARCON_MENU (object);
+  g_return_if_fail (GARCON_IS_MENU (menu));
 
-  /* Destroy the menu tree */
+  /* Check if the menu is the root menu */
   if (menu-priv-parent == NULL)
-garcon_menu_node_tree_free (menu-priv-tree);
-
-  /* Free file */
-  g_object_unref (menu-priv-file);
+{
+  /* Stop monitoring recursively */
+  garcon_menu_stop_monitoring (menu);
 
-  /* Free directory */
-  if (G_LIKELY (menu-priv-directory != NULL))
-g_object_unref (menu-priv-directory);
+  /* Destroy the menu tree */
+  garcon_menu_node_tree_free (menu-priv-tree);
+  menu-priv-tree = NULL;
+}
 
   /* Free submenus */
   g_list_foreach (menu-priv-submenus, (GFunc) g_object_unref, NULL);
   g_list_free (menu-priv-submenus);
+  menu-priv-submenus = NULL;
+
+  /* Free directory */
+  if (G_LIKELY (menu-priv-directory != NULL))
+{
+  g_object_unref (menu-priv-directory);
+  menu-priv-directory = NULL;
+}
+
+  /* Clear the item pool */
+  garcon_menu_item_pool_clear (menu-priv-pool);
+}
+
+
+
+static void
+garcon_menu_finalize (GObject *object)
+{
+  GarconMenu *menu = GARCON_MENU (object);
+
+  /* Clear resources allocated in the load process */
+  garcon_menu_clear (menu);
+
+  /* Free file */
+  g_object_unref (menu-priv-file);
 
   /* Free item pool */
   g_object_unref (menu-priv-pool);
@@ -413,26 +445,9 @@ GarconMenu *
 garcon_menu_new_applications (void)
 {
   GarconMenu *menu = NULL;
-  GFile  *file;
-  gchar  *filename;
-  guint   n;
 
-  /* Search for a usable applications menu file */
-  for (n = 0; menu == NULL  n  G_N_ELEMENTS (GARCON_MENU_ROOT_SPECS); ++n)
-{
-  /* Search for the applications menu file */
-  filename = garcon_config_lookup (GARCON_MENU_ROOT_SPECS[n]);
-
-  /* Create menu if the file exists */
-  if (G_UNLIKELY (filename != NULL))
-{
-  file = _garcon_file_new_for_unknown_input (filename, NULL);
-  menu = garcon_menu_new (file);
-  g_object_unref (file);
-}
-
-  g_free (filename);
-}
+  menu = g_object_new (GARCON_TYPE_MENU, NULL);
+  menu-priv-uses_custom_path = FALSE;
 
   return menu;
 }
@@ -550,20 +565,68 @@ garcon_menu_load (GarconMenu   *menu,
   GarconMenuMerger *merger;
   GHashTable   *desktop_id_table;
   gboolean  success = TRUE;
+  gchar*filename;
+  guint n;
 
   g_return_val_if_fail (GARCON_IS_MENU (menu), FALSE);
   

[Xfce4-commits] garcon:master Update copyrights and add garcon_menu_item_pool_clear().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 9ae4e81297ec3031c17e35d7facf16da23d640be (commit)
   from 2d35906e4287a17a35386d1fe01799348e3e6c22 (commit)

commit 9ae4e81297ec3031c17e35d7facf16da23d640be
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 15:30:50 2010 +0200

Update copyrights and add garcon_menu_item_pool_clear().

 garcon/garcon-menu-item-pool.c |   11 ++-
 garcon/garcon-menu-item-pool.h |3 ++-
 garcon/garcon-menu-item.c  |3 ++-
 garcon/garcon-menu-item.h  |   17 -
 garcon/garcon-menu-separator.c |2 +-
 garcon/garcon-menu-separator.h |   17 -
 6 files changed, 31 insertions(+), 22 deletions(-)

diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index 999b0f9..b91b6af 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2006-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2006-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -178,3 +178,12 @@ garcon_menu_item_pool_get_empty (GarconMenuItemPool *pool)
   g_return_val_if_fail (GARCON_IS_MENU_ITEM_POOL (pool), TRUE);
   return (g_hash_table_size (pool-priv-items) == 0);
 }
+
+
+
+void
+garcon_menu_item_pool_clear (GarconMenuItemPool *pool)
+{
+  g_return_if_fail (GARCON_IS_MENU_ITEM_POOL (pool));
+  g_hash_table_remove_all (pool-priv-items);
+}
diff --git a/garcon/garcon-menu-item-pool.h b/garcon/garcon-menu-item-pool.h
index b75a13a..10fcfa4 100644
--- a/garcon/garcon-menu-item-pool.h
+++ b/garcon/garcon-menu-item-pool.h
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2006-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2006-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -55,6 +55,7 @@ voidgarcon_menu_item_pool_foreach
(GarconMenuItemPool
 voidgarcon_menu_item_pool_apply_exclude_rule 
(GarconMenuItemPool *pool,
   GNode
  *node);
 gbooleangarcon_menu_item_pool_get_empty  
(GarconMenuItemPool *pool);
+voidgarcon_menu_item_pool_clear  
(GarconMenuItemPool *pool);
 
 G_END_DECLS
 
diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index f490f16..26e0d4f 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -1,6 +1,7 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2006-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2006-2010 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2009-2010 Nick Schermer n...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
diff --git a/garcon/garcon-menu-item.h b/garcon/garcon-menu-item.h
index 8a59774..9ebfe01 100644
--- a/garcon/garcon-menu-item.h
+++ b/garcon/garcon-menu-item.h
@@ -1,8 +1,7 @@
-/* $Id$ */
+/* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * vi:set et ai sts=2 sw=2 cindent:
- *
  * Copyright (c) 2006-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2009  Nick Schermer n...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -11,13 +10,13 @@
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
+ * GNU Library General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Library General 
+ * Public License along with this library; if not, write to the 
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 #if !defined(GARCON_INSIDE_GARCON_H)  !defined(GARCON_COMPILATION)
diff --git a/garcon/garcon-menu-separator.c b/garcon/garcon-menu-separator.c
index e7e22e5..92366c0 100644
--- a/garcon/garcon-menu-separator.c
+++ b/garcon/garcon-menu-separator.c
@@ -1,6 +1,6 @@
 /* vi:set et ai sw=2 sts=2 ts=2: */
 /*-
- * Copyright (c) 2007-2009 Jannis Pohlmann jan...@xfce.org
+ * Copyright (c) 2007-2010 Jannis Pohlmann jan...@xfce.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU 

[Xfce4-commits] garcon:master Improve code quality of garcon_config_lookup().

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to ab3b66cf90382fd8dfe161783d423858e9dd3180 (commit)
   from 186d64776a647e7b924c20ae3d01ff24aaac18e5 (commit)

commit ab3b66cf90382fd8dfe161783d423858e9dd3180
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 15:53:44 2010 +0200

Improve code quality of garcon_config_lookup().

 garcon/garcon-config.c |   20 +
 garcon/garcon-menu.c   |  111 
 2 files changed, 122 insertions(+), 9 deletions(-)

diff --git a/garcon/garcon-config.c b/garcon/garcon-config.c
index 1aee68d..02d5413 100644
--- a/garcon/garcon-config.c
+++ b/garcon/garcon-config.c
@@ -167,23 +167,25 @@ garcon_config_lookup (const gchar *filename)
 
   /* Look for the file in the user's config directory */
   path = g_build_filename (g_get_user_config_dir (), filename, NULL);
-  if (g_path_is_absolute (path)
-   g_file_test (path, G_FILE_TEST_IS_REGULAR))
+  if (g_path_is_absolute (path)  g_file_test (path, G_FILE_TEST_IS_REGULAR))
 return path;
+
   g_free (path);
+  path = NULL;
 
   /* Look for the file in the system config directories */
   dirs = g_get_system_config_dirs ();
-  for (i = 0; dirs[i] != NULL; ++i)
+  for (i = 0; path == NULL  dirs[i] != NULL; ++i)
 {
   /* Build the filename, if the file exists return the path */
   path = g_build_filename (dirs[i], filename, NULL);
-  if (g_path_is_absolute (path)
-   g_file_test (path, G_FILE_TEST_IS_REGULAR))
-return path;
-  g_free (path);
+  if (!g_path_is_absolute (path) || !g_file_test (path, 
G_FILE_TEST_IS_REGULAR))
+{
+  g_free (path);
+  path = NULL;
+}
 }
 
-  /* Nothing found */
-  return NULL;
+  /* Return the path or NULL if the file could not be found */
+  return path;
 }
diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 06f74f3..37ec508 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -142,6 +142,12 @@ static gboolean garcon_menu_get_element_equal  
 (GarconM
  
GarconMenuElement   *other);
 static void garcon_menu_start_monitoring
(GarconMenu  *menu);
 static void garcon_menu_stop_monitoring 
(GarconMenu  *menu);
+static void garcon_menu_monitor_menu_files  
(GarconMenu  *menu);
+static void garcon_menu_file_changed
(GarconMenu  *menu,
+ GFile 
  *file,
+ GFile 
  *other_file,
+ 
GFileMonitorEventevent_type,
+ 
GFileMonitor*monitor);
 
 
 
@@ -153,6 +159,9 @@ struct _GarconMenuPrivate
   /* DOM tree */
   GNode   *tree;
 
+  /* File and directory monitors */
+  GList   *monitors;
+
   /* Directory */
   GarconMenuDirectory *directory;
 
@@ -243,6 +252,7 @@ garcon_menu_init (GarconMenu *menu)
   menu-priv = GARCON_MENU_GET_PRIVATE (menu);
   menu-priv-file = NULL;
   menu-priv-tree = NULL;
+  menu-priv-monitors = NULL;
   menu-priv-directory = NULL;
   menu-priv-submenus = NULL;
   menu-priv-parent = NULL;
@@ -1639,6 +1649,20 @@ garcon_menu_get_element_equal (GarconMenuElement 
*element,
 static void
 garcon_menu_start_monitoring (GarconMenu *menu)
 {
+  GList *lp;
+
+  g_return_if_fail (GARCON_IS_MENU (menu));
+
+  /* Let only the root menu monitor menu files, merge fileS/directories and 
app dirs */
+  if (menu-priv-parent == NULL)
+{
+  garcon_menu_monitor_menu_files (menu);
+}
+
+  /* Recurse into submenus */
+  for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
+garcon_menu_start_monitoring (lp-data);
+
 }
 
 
@@ -1646,4 +1670,91 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 static void
 garcon_menu_stop_monitoring (GarconMenu *menu)
 {
+  GList *lp;
+
+  g_return_if_fail (GARCON_IS_MENU (menu));
+
+  /* Recurse into submenus */
+  for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
+garcon_menu_stop_monitoring (lp-data);
+
+  /* Disconnect and destroy all monitors */
+  for (lp = menu-priv-monitors; lp != NULL; lp = lp-next)
+{
+  g_signal_handlers_disconnect_matched (lp-data, G_SIGNAL_MATCH_DATA,
+0, 0, NULL, NULL, menu);
+  g_object_unref (lp-data);
+}
+
+  /* Free the monitor list */
+  g_list_free (menu-priv-monitors);
+  menu-priv-monitors = NULL;
+}
+
+
+
+static void
+garcon_menu_monitor_menu_files (GarconMenu *menu)
+{
+  GFileMonitor *monitor;
+  GFile*file;
+  gchar   **paths;
+  guint n;
+  

[Xfce4-commits] garcon:master Add GarconMenu::reload-required signal. Monitor menu files.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 7b9ad615f0fb2c0945edd08a848afaa96e5e4dd1 (commit)
   from ab3b66cf90382fd8dfe161783d423858e9dd3180 (commit)

commit 7b9ad615f0fb2c0945edd08a848afaa96e5e4dd1
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 16:36:51 2010 +0200

Add GarconMenu::reload-required signal. Monitor menu files.

Emit a reload-required signal iff a menu file with higher priority is
changed.

Also update the test-display-menu helper.

 garcon/garcon-menu.c|   84 +++--
 tests/gdb-test-display-menu |2 +-
 tests/test-display-menu.c   |  175 ---
 3 files changed, 240 insertions(+), 21 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 37ec508..f01259c 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -97,6 +97,15 @@ enum
 
 
 
+/* Signal identifiers */
+enum
+{
+  RELOAD_REQUIRED,
+  LAST_SIGNAL
+};
+
+
+
 static void garcon_menu_element_init
(GarconMenuElementIface  *iface);
 static void garcon_menu_clear   
(GarconMenu  *menu);
 static void garcon_menu_finalize
(GObject *object);
@@ -184,7 +193,12 @@ struct _GarconMenuPrivate
 
 
 G_DEFINE_TYPE_WITH_CODE (GarconMenu, garcon_menu, G_TYPE_OBJECT,
-G_IMPLEMENT_INTERFACE (GARCON_TYPE_MENU_ELEMENT, garcon_menu_element_init))
+ G_IMPLEMENT_INTERFACE (GARCON_TYPE_MENU_ELEMENT, 
+garcon_menu_element_init))
+
+
+
+static guint menu_signals[LAST_SIGNAL];
 
 
 
@@ -228,6 +242,17 @@ garcon_menu_class_init (GarconMenuClass *klass)
 
GARCON_TYPE_MENU_DIRECTORY,
 G_PARAM_READWRITE |
 
G_PARAM_STATIC_STRINGS));
+
+  menu_signals[RELOAD_REQUIRED] = 
+g_signal_new (reload-required,
+  GARCON_TYPE_MENU,
+  G_SIGNAL_RUN_LAST | G_SIGNAL_NO_HOOKS,
+  0, 
+  NULL,
+  NULL,
+  g_cclosure_marshal_VOID__VOID,
+  G_TYPE_NONE,
+  0);
 }
 
 
@@ -1653,7 +1678,7 @@ garcon_menu_start_monitoring (GarconMenu *menu)
 
   g_return_if_fail (GARCON_IS_MENU (menu));
 
-  /* Let only the root menu monitor menu files, merge fileS/directories and 
app dirs */
+  /* Let only the root menu monitor menu files, merge files/directories and 
app dirs */
   if (menu-priv-parent == NULL)
 {
   garcon_menu_monitor_menu_files (menu);
@@ -1700,14 +1725,12 @@ garcon_menu_monitor_menu_files (GarconMenu *menu)
   GFile*file;
   gchar   **paths;
   guint n;
-  guint i;
+  gint  i;
 
   g_return_if_fail (GARCON_IS_MENU (menu));
 
   if (menu-priv-uses_custom_path)
 {
-  g_debug (monitor menu file: %s, g_file_get_path (menu-priv-file));
-
   /* Monitor the root .menu file */
   monitor = g_file_monitor (menu-priv-file, G_FILE_MONITOR_NONE, NULL, 
NULL);
   if (monitor != NULL)
@@ -1724,12 +1747,10 @@ garcon_menu_monitor_menu_files (GarconMenu *menu)
 {
   paths = garcon_config_build_paths (GARCON_MENU_ROOT_SPECS[n]);
 
-  for (i = 0; paths != NULL  paths[i] != NULL; ++i)
+  for (i = g_strv_length (paths)-1; paths != NULL  i = 0; --i)
 {
   file = g_file_new_for_path (paths[i]);
   
-  g_debug (monitor menu file: %s, g_file_get_path (file));
-
   monitor = g_file_monitor (file, G_FILE_MONITOR_NONE, NULL, NULL);
   if (monitor != NULL)
 {
@@ -1755,6 +1776,53 @@ garcon_menu_file_changed (GarconMenu   *menu,
   GFileMonitorEvent event_type,
   GFileMonitor *monitor)
 {
+  gboolean higher_priority = FALSE;
+  gboolean lower_priority = FALSE;
+  GFile   *menu_file;
+  gchar  **paths;
+  guintn;
+  guinti;
+
   g_return_if_fail (GARCON_IS_MENU (menu));
   g_return_if_fail (menu-priv-parent == NULL);
+
+  /* Quick check: reloading is needed if the menu file being used has changed 
*/
+  if (g_file_equal (menu-priv-file, file))
+{
+  g_signal_emit (menu, menu_signals[RELOAD_REQUIRED], 0);
+  return;
+}
+
+  /* Check if the event file has higher priority than the file currently being 
used */
+  for (n = 0; !lower_priority  !higher_priority  n  G_N_ELEMENTS 
(GARCON_MENU_ROOT_SPECS); ++n)
+{
+  /* Get XDG config paths for the root spec (e.g. 
menus/xfce-applications.menu) */
+  paths = garcon_config_build_paths (GARCON_MENU_ROOT_SPECS[n]);
+
+  for (i = 0; !higher_priority  paths != NULL  paths[i] != NULL; ++i) 
+{
+  menu_file = g_file_new_for_path (paths[i]);
+
+ 

[Xfce4-commits] garcon:master Add garcon_menu_item_pool_lookup_file() to lookup items by GFiles.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 04256aea7dacea084af219c190e8c2925e513464 (commit)
   from 2bfeb08bfb7f24cc075e22d15cc5405a13cf8456 (commit)

commit 04256aea7dacea084af219c190e8c2925e513464
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 19:08:12 2010 +0200

Add garcon_menu_item_pool_lookup_file() to lookup items by GFiles.

 garcon/garcon-menu-item-pool.c |   28 
 garcon/garcon-menu-item-pool.h |2 ++
 2 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index b91b6af..e56043e 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -134,6 +134,34 @@ garcon_menu_item_pool_lookup (GarconMenuItemPool *pool,
 
 
 
+GarconMenuItem *
+garcon_menu_item_pool_lookup_file (GarconMenuItemPool *pool,
+   GFile  *file)
+{
+  GarconMenuItem *result = NULL;
+  GHashTableIter  iter;
+  gpointeritem;
+  GFile  *item_file;
+
+  g_return_val_if_fail (GARCON_IS_MENU_ITEM_POOL (pool), NULL);
+  g_return_val_if_fail (G_IS_FILE (file), NULL);
+
+  g_hash_table_iter_init (iter, pool-priv-items);
+  while (result == NULL  g_hash_table_iter_next (iter, NULL, item))
+{
+  item_file = garcon_menu_item_get_file (item);
+
+  if (g_file_equal (item_file, file))
+result = item;
+
+  g_object_unref (item_file);
+}
+
+  return result;
+}
+
+
+
 void
 garcon_menu_item_pool_foreach (GarconMenuItemPool *pool,
GHFunc  func,
diff --git a/garcon/garcon-menu-item-pool.h b/garcon/garcon-menu-item-pool.h
index 10fcfa4..36bd369 100644
--- a/garcon/garcon-menu-item-pool.h
+++ b/garcon/garcon-menu-item-pool.h
@@ -49,6 +49,8 @@ voidgarcon_menu_item_pool_insert 
(GarconMenuItemPool
   GarconMenuItem   
  *item);
 GarconMenuItem *garcon_menu_item_pool_lookup 
(GarconMenuItemPool *pool,
   const gchar  
  *desktop_id);
+GarconMenuItem *garcon_menu_item_pool_lookup_file
(GarconMenuItemPool *pool,
+  GFile
  *file);
 voidgarcon_menu_item_pool_foreach
(GarconMenuItemPool *pool,
   GHFunc   
   func,
   gpointer 
   user_data);
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:master Monitor app dirs but don't react on changes there yet.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 9513c7716c656735e5c6c92769579c854deaa644 (commit)
   from ccf88785ae826293eb0a1868985dda89f542eac5 (commit)

commit 9513c7716c656735e5c6c92769579c854deaa644
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 17:34:21 2010 +0200

Monitor app dirs but don't react on changes there yet.

 garcon/garcon-menu.c |   97 +++--
 1 files changed, 77 insertions(+), 20 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 467d4f0..3adbaed 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -155,6 +155,7 @@ static void garcon_menu_monitor_menu_files  
(GarconM
 static void garcon_menu_monitor_files   
(GarconMenu  *menu,
  GList 
  *files,
  
gpointer callback);
+static void garcon_menu_monitor_app_dirs
(GarconMenu  *menu);
 static void garcon_menu_file_changed
(GarconMenu  *menu,
  GFile 
  *file,
  GFile 
  *other_file,
@@ -170,8 +171,11 @@ static void garcon_menu_merge_dir_changed  
 (GarconM
  GFile 
  *other_file,
  
GFileMonitorEventevent_type,
  
GFileMonitor*monitor);
-
-
+static void garcon_menu_app_dir_changed 
(GarconMenu  *menu,
+ GFile 
  *file,
+ GFile 
  *other_file,
+ 
GFileMonitorEventevent_type,
+ 
GFileMonitor*monitor);
 
 
 
@@ -981,31 +985,30 @@ garcon_menu_lookup_directory (GarconMenu  *menu,
 
 
 static GList *
-garcon_menu_get_app_dirs (GarconMenu *menu)
+garcon_menu_get_app_dirs (GarconMenu *menu,
+  gbooleanrecursive)
 {
   GList *dirs = NULL;
+  GList *lp;
+  GList *sp;
+  GList *submenu_app_dirs;
 
   /* Fetch all application directories */
   dirs = garcon_menu_node_tree_get_string_children (menu-priv-tree,
 
GARCON_MENU_NODE_TYPE_APP_DIR,
 TRUE);
 
-#if 0
-  /* A submenu always inherits the application directories of its parent,
-   * that is the reason the call below was added.
-   * It only turned out we were looking in that same directories for
-   * .desktop files multiple times.
-   *
-   * This was caused by the combination of the parent call below and
-   * traversing the children in garcon_menu_collect_files(). For each
-   * submenu the appdirs of the root were added and traversed again.
-   *
-   * This is not needed because we always start at the root and traverse
-   * in pre-order, so all the desktop files are added in the hash-table.
-   */
-  if (menu-priv-parent != NULL)
-dirs = g_list_concat (dirs, garcon_menu_get_app_dirs (menu-priv-parent));
-#endif
+  if (recursive)
+{
+  for (lp = menu-priv-submenus; lp != NULL; lp = lp-next)
+{
+  submenu_app_dirs = garcon_menu_get_app_dirs (lp-data, recursive);
+
+  for (sp = g_list_last (submenu_app_dirs); sp != NULL; sp = sp-prev) 
+if (g_list_find_custom (dirs, sp-data, (GCompareFunc) g_strcmp0) 
== NULL)
+  dirs = g_list_prepend (dirs, sp-data);
+}
+}
 
   return dirs;
 }
@@ -1022,7 +1025,7 @@ garcon_menu_collect_files (GarconMenu *menu,
 
   g_return_if_fail (GARCON_IS_MENU (menu));
 
-  app_dirs = garcon_menu_get_app_dirs (menu);
+  app_dirs = garcon_menu_get_app_dirs (menu, FALSE);
 
   /* Collect desktop entry filenames */
   for (iter = app_dirs; iter != NULL; iter = g_list_next (iter))
@@ -1722,6 +1725,8 @@ garcon_menu_start_monitoring (GarconMenu *menu)
   
   garcon_menu_monitor_files (menu, menu-priv-merge_dirs,
  garcon_menu_merge_dir_changed);
+
+  garcon_menu_monitor_app_dirs (menu);
 }
 
   /* Recurse into submenus */
@@ -1864,6 +1869,43 @@ garcon_menu_monitor_files (GarconMenu *menu,
 
 
 static void
+garcon_menu_monitor_app_dirs (GarconMenu *menu)
+{
+  GFile *dir;
+  GList 

[Xfce4-commits] garcon:master Monitor directory dirs, add the GarconMenu::directory-changed signal.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 2bfeb08bfb7f24cc075e22d15cc5405a13cf8456 (commit)
   from 9513c7716c656735e5c6c92769579c854deaa644 (commit)

commit 2bfeb08bfb7f24cc075e22d15cc5405a13cf8456
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 18:11:23 2010 +0200

Monitor directory dirs, add the GarconMenu::directory-changed signal.

Also remove garcon-config.h and update a few copyright headers.

 garcon/Makefile.am  |   51 ++-
 garcon/garcon-config.h  |   94 --
 garcon/garcon-config.h.in   |   26 
 garcon/garcon-marshal.list  |1 +
 garcon/garcon-menu-merger.c |2 +-
 garcon/garcon-menu-merger.h |2 +-
 garcon/garcon-menu.c|  152 +--
 7 files changed, 210 insertions(+), 118 deletions(-)

diff --git a/garcon/Makefile.am b/garcon/Makefile.am
index 84bc7e8..3ae2c35 100644
--- a/garcon/Makefile.am
+++ b/garcon/Makefile.am
@@ -1,6 +1,6 @@
 # vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
 # 
-# Copyright (c) 2007-2009 Jannis Pohlmann jan...@xfce.org
+# Copyright (c) 2007-2010 Jannis Pohlmann jan...@xfce.org
 # 
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
@@ -27,9 +27,17 @@ INCLUDES =   
\
 lib_LTLIBRARIES =  \
libgarcon-1.la
 
+libgarcon_built_public_sources =   \
+   garcon-marshal.h
+
+libgarcon_built_sources =  \
+   $(libgarcon_built_public_sources)   \
+   garcon-marshal.c
+
 libgarcon_headers =\
garcon.h\
garcon-config.h \
+   garcon-marshal.h\
garcon-menu-element.h   \
garcon-menu-separator.h \
garcon-menu-directory.h \
@@ -45,6 +53,7 @@ libgarcon_headers =   
\
 
 libgarcon_sources =\
garcon-config.c \
+   garcon-marshal.c\
garcon-menu-element.c   \
garcon-menu-separator.c \
garcon-menu-directory.c \
@@ -88,10 +97,48 @@ libgarcon_1_la_LIBADD = 
\
$(GIO_LIBS)
 
 EXTRA_DIST =   \
-   garcon-config.h.in
+   garcon-config.h.in  \
+   garcon-marshal.list
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = garcon-1.pc
 
+DISTCLEANFILES =   \
+   stamp-garcon-marshal.h  \
+   garcon-config.h \
+   $(libgarcon_built_sources)
+
+BUILT_SOURCES =
\
+   $(libgarcon_built_sources)
+
+garcon-marshal.h: stamp-garcon-marshal.h
+   @true
+
+stamp-garcon-marshal.h: garcon-marshal.list Makefile
+   $(AM_V_GEN) ( \
+ cd $(top_builddir)/garcon \
+  echo #ifndef __GARCON_MARSHAL_H__  xgen-emh \
+  echo #define __GARCON_MARSHAL_H__  xgen-emh \
+  ( glib-genmarshal \
+   --prefix=garcon_marshal \
+   --header $(srcdir)/garcon-marshal.list )  xgen-emh \
+  echo #endif /* !__GARCON_MARSHAL_H__ */  xgen-emh \
+  ( cmp -s xgen-emh garcon-marshal.h \
+   || cp xgen-emh garcon-marshal.h ) \
+  rm -f xgen-emh \
+  echo timestamp  $(@F) \
+   )
+
+garcon-marshal.c: garcon-marshal.list Makefile
+   $(AM_V_GEN) ( \
+ cd $(top_builddir)/garcon \
+  echo #include garcon/garcon-marshal.h  xgen-emc \
+  ( glib-genmarshal \
+   --prefix=garcon_marshal \
+   --body $(srcdir)/garcon-marshal.list )  xgen-emc \
+  cp xgen-emc garcon-marshal.c \
+  rm -f xgen-emc \
+   )
+
 # Required for gtk-doc and make distcheck
 dist-hook: all
diff --git a/garcon/garcon-config.h b/garcon/garcon-config.h
deleted file mode 100644
index 0419d29..000
--- a/garcon/garcon-config.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* vi:set et ai sw=2 sts=2 ts=2: */
-/*-
- * Copyright (c) 2008-2010 Jannis Pohlmann jan...@xfce.org
- *
- * This 

[Xfce4-commits] garcon:master Remove g_debug statements.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to a5eaf19e977e06320fa23c8e60ab439362dd8bb3 (commit)
   from 0a6bf53a0838266fae5d7df7c71d2cb7f81ce80e (commit)

commit a5eaf19e977e06320fa23c8e60ab439362dd8bb3
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 19:15:02 2010 +0200

Remove g_debug statements.

 garcon/garcon-menu.c |   12 
 1 files changed, 0 insertions(+), 12 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 6fda392..bc731da 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -2118,10 +2118,6 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   if (event_type == G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT
   || event_type == G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED)
 {
-  g_debug (app dir/file changed: %s: %s: %d, 
-   garcon_menu_element_get_name (GARCON_MENU_ELEMENT (menu)),
-   g_file_get_path (file), event_type);
-
   /* query the type of the changed file */
   file_type = g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL);
 
@@ -2175,10 +2171,6 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
 }
   else if (event_type == G_FILE_MONITOR_EVENT_CREATED)
 {
-  g_debug (app dir/file created: %s: %s: %d, 
-   garcon_menu_element_get_name (GARCON_MENU_ELEMENT (menu)),
-   g_file_get_path (file), event_type);
-
   /* query the type of the changed file */
   file_type = g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL);
 
@@ -2206,10 +2198,6 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
 }
   else if (event_type == G_FILE_MONITOR_EVENT_DELETED)
 {
-  g_debug (app dir/file deleted: %s: %s: %d, 
-   garcon_menu_element_get_name (GARCON_MENU_ELEMENT (menu)),
-   g_file_get_path (file), event_type);
-
   /* query the type of the changed file */
   file_type = g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL);
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:master React on app dir changes which, in most cases, requires a menu reload.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 0a6bf53a0838266fae5d7df7c71d2cb7f81ce80e (commit)
   from 04256aea7dacea084af219c190e8c2925e513464 (commit)

commit 0a6bf53a0838266fae5d7df7c71d2cb7f81ce80e
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 19:08:48 2010 +0200

React on app dir changes which, in most cases, requires a menu reload.

Add a boolean affects_the_outside return parameter to
garcon_menu_item_reload() and garcon_menu_item_reload_from_file() and
set it to TRUE if the categories are different before and after
reloading the file.

Most app dir changes result in the emission of a reload-required
signal of the root menu, except for when a change is made to a .desktop
file that only affects the item itself, not its position in the menu
hierarchy.

The monitoring implement is very similar to the basic monitoring
algorithm we had in libxfce4menu, except that it's a little bit smarter
and takes merged files and menu file priorities into account. So a
reload can sometimes be avoided without handling all the different
scenarios that would have to be handled ideally.

 garcon/garcon-menu-item.c |   53 +++-
 garcon/garcon-menu-item.h |4 +-
 garcon/garcon-menu.c  |  157 -
 3 files changed, 211 insertions(+), 3 deletions(-)

diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index 26e0d4f..ffaa3c4 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -88,6 +88,8 @@ static gboolean 
garcon_menu_item_get_element_show_in_environment (GarconMenu
 static gboolean garcon_menu_item_get_element_no_display  
(GarconMenuElement  *element);
 static gboolean garcon_menu_item_get_element_equal   
(GarconMenuElement  *element,
   
GarconMenuElement  *other);
+static gboolean garcon_menu_item_category_lists_equal(GList
  *categories1,
+  GList
  *categories2);
 
 
 
@@ -668,6 +670,33 @@ garcon_menu_item_get_element_icon_name (GarconMenuElement 
*element)
 
 
 
+static gboolean
+garcon_menu_item_category_lists_equal (GList *categories1,
+   GList *categories2)
+{
+  gboolean element_missing = FALSE;
+  GList   *lp;
+
+  guint size1;
+  guint size2;
+
+  size1 = g_list_length (categories1);
+  size2 = g_list_length (categories2);
+
+  if (size1 != size2)
+return FALSE;
+
+  for (lp = categories1; !element_missing  lp != NULL; lp = lp-next)
+{
+  if (g_list_find_custom (categories2, lp-data, (GCompareFunc) g_strcmp0) 
== NULL)
+element_missing = TRUE;
+}
+
+  return !element_missing;
+}
+
+
+
 GarconMenuItem *
 garcon_menu_item_new (GFile *file)
 {
@@ -819,12 +848,13 @@ garcon_menu_item_new_for_uri (const gchar *uri)
 
 gboolean
 garcon_menu_item_reload (GarconMenuItem  *item,
+ gboolean*affects_the_outside,
  GError **error)
 {
   g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), FALSE);
   g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-  return garcon_menu_item_reload_from_file (item, item-priv-file, error);
+  return garcon_menu_item_reload_from_file (item, item-priv-file, 
affects_the_outside, error);
 }
 
 
@@ -832,12 +862,15 @@ garcon_menu_item_reload (GarconMenuItem  *item,
 gboolean
 garcon_menu_item_reload_from_file (GarconMenuItem  *item,
GFile   *file,
+   gboolean*affects_the_outside,
GError **error)
 {
   GKeyFile *rc;
   gboolean  boolean;
   gboolean  succeed;
   GList*categories = NULL;
+  GList*lp;
+  GList*old_categories = NULL;
   gchar   **mt;
   gchar   **str_list;
   gchar*contents;
@@ -935,6 +968,14 @@ garcon_menu_item_reload_from_file (GarconMenuItem  *item,
   boolean = GET_KEY (boolean, G_KEY_FILE_DESKTOP_KEY_HIDDEN);
   garcon_menu_item_set_hidden (item, boolean);
 
+  if (affects_the_outside != NULL)
+{
+  /* create a deep copy the old categories list */
+  old_categories = g_list_copy (item-priv-categories);
+  for (lp = old_categories; lp != NULL; lp = lp-next)
+lp-data = g_strdup (lp-data);
+}
+
   /* Determine the categories this application should be shown in */
   str_list = GET_STRING_LIST (G_KEY_FILE_DESKTOP_KEY_CATEGORIES);
   if (G_LIKELY (str_list != NULL))
@@ -957,6 +998,16 @@ garcon_menu_item_reload_from_file (GarconMenuItem  *item,
   garcon_menu_item_set_categories (item, NULL);
 }
 
+  if (affects_the_outside != NULL)
+{
+  if (!garcon_menu_item_category_lists_equal (old_categories, categories))
+*affects_the_outside = TRUE;
+
+  

[Xfce4-commits] garcon:master Fix memory leak in merge file nodes with a filename.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 60460406ec33394222f3f624f99d0ea46c3704fa (commit)
   from a5eaf19e977e06320fa23c8e60ab439362dd8bb3 (commit)

commit 60460406ec33394222f3f624f99d0ea46c3704fa
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 20:19:09 2010 +0200

Fix memory leak in merge file nodes with a filename.

 garcon/garcon-menu-node.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/garcon/garcon-menu-node.c b/garcon/garcon-menu-node.c
index 51e8436..40076d5 100644
--- a/garcon/garcon-menu-node.c
+++ b/garcon/garcon-menu-node.c
@@ -338,6 +338,10 @@ garcon_menu_node_free_data (GarconMenuNode *node)
   g_free (node-data.string);
   break;
 
+case GARCON_MENU_NODE_TYPE_MERGE_FILE:
+  g_free (node-data.merge_file.filename);
+  break;
+
 default:
   break;
 }
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] garcon:master Add garcon_menu_item_cache_invalidate_file, simplify app dir monitoring.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 2be335a2c9332d9b2c9f649245a764afb7140257 (commit)
   from 60460406ec33394222f3f624f99d0ea46c3704fa (commit)

commit 2be335a2c9332d9b2c9f649245a764afb7140257
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 21:32:37 2010 +0200

Add garcon_menu_item_cache_invalidate_file, simplify app dir monitoring.

Only listen to G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT events, otherwise
consecutive events may not be picked up. A good example is when a
desktop entry is edited and saved in VIM. This results in a series of
events (move, create, change etc.). Some of these will not be picked up
if garcon is busy reloading the menu at the time of their emission.

So, the only real choice we have is to hope that CHANGES_DONE_HINT is
always generated at the end of modifications like move, create, delete
and attribute changes.

 garcon/garcon-menu-item-cache.c |   25 
 garcon/garcon-menu-item-cache.h |   24 ---
 garcon/garcon-menu-parser.c |6 +-
 garcon/garcon-menu.c|  131 +--
 4 files changed, 86 insertions(+), 100 deletions(-)

diff --git a/garcon/garcon-menu-item-cache.c b/garcon/garcon-menu-item-cache.c
index afccfd0..8d7e131 100644
--- a/garcon/garcon-menu-item-cache.c
+++ b/garcon/garcon-menu-item-cache.c
@@ -219,3 +219,28 @@ garcon_menu_item_cache_invalidate (GarconMenuItemCache 
*cache)
   /* Release item cache lock */
   g_static_mutex_unlock (lock);
 }
+
+
+
+void
+garcon_menu_item_cache_invalidate_file (GarconMenuItemCache *cache,
+GFile   *file)
+{
+  gchar *uri;
+
+  g_return_if_fail (GARCON_IS_MENU_ITEM_CACHE (cache));
+  g_return_if_fail (G_IS_FILE (file));
+
+  uri = g_file_get_uri (file);
+
+  /* Acquire a lock on the item cache */
+  g_static_mutex_lock (lock);
+
+  /* Remove possible items with this URI from the cache */
+  g_hash_table_remove (cache-priv-items, uri);
+
+  /* Release the item cache lock */
+  g_static_mutex_unlock (lock);
+
+  g_free (uri);
+}
diff --git a/garcon/garcon-menu-item-cache.h b/garcon/garcon-menu-item-cache.h
index 1e8bbb6..8ed6646 100644
--- a/garcon/garcon-menu-item-cache.h
+++ b/garcon/garcon-menu-item-cache.h
@@ -56,17 +56,19 @@ struct _GarconMenuItemCache
 
 
 
-GTypegarcon_menu_item_cache_get_type(void) G_GNUC_CONST;
-
-GarconMenuItemCache *garcon_menu_item_cache_get_default (void);
-
-GarconMenuItem  *garcon_menu_item_cache_lookup  (GarconMenuItemCache 
*cache,
- const gchar 
*uri,
- const gchar 
*desktop_id);
-void garcon_menu_item_cache_foreach (GarconMenuItemCache 
*cache,
- GHFunc   
func,
- gpointer 
user_data);
-void garcon_menu_item_cache_invalidate  (GarconMenuItemCache 
*cache);
+GTypegarcon_menu_item_cache_get_type(void) 
G_GNUC_CONST;
+
+GarconMenuItemCache *garcon_menu_item_cache_get_default (void);
+
+GarconMenuItem  *garcon_menu_item_cache_lookup  
(GarconMenuItemCache *cache,
+ const gchar   
  *uri,
+ const gchar   
  *desktop_id);
+void garcon_menu_item_cache_foreach 
(GarconMenuItemCache *cache,
+ GHFunc
   func,
+ gpointer  
   user_data);
+void garcon_menu_item_cache_invalidate  
(GarconMenuItemCache *cache);
+void garcon_menu_item_cache_invalidate_file 
(GarconMenuItemCache *cache,
+ GFile 
  *file);
 
 G_END_DECLS
 
diff --git a/garcon/garcon-menu-parser.c b/garcon/garcon-menu-parser.c
index bc939dd..2d8f088 100644
--- a/garcon/garcon-menu-parser.c
+++ b/garcon/garcon-menu-parser.c
@@ -275,12 +275,14 @@ garcon_menu_parser_run (GarconMenuParser *parser,
 
   if (error != NULL)
 {
-  g_warning (_(Could not load menu file data from %s: %s),
+  g_message (_(Could not load menu file data from %s: %s),
  uri, (*error)-message);
   g_error_free (*error);
 }
   else
-g_warning (_(Could not load menu file data from %s), uri);
+{
+  g_message (_(Could not load menu file data from %s), uri);
+}
 
   g_free (uri);
   return FALSE;
diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index bc731da..4f40c2e 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -2115,119 

[Xfce4-commits] garcon:master Properly react on delete events. They are not included in CHANGES_DONE.

2010-09-05 Thread Jannis Pohlmann
Updating branch refs/heads/master
 to 2d3750233542f9252fd0802e3438896d759f9fd3 (commit)
   from 2be335a2c9332d9b2c9f649245a764afb7140257 (commit)

commit 2d3750233542f9252fd0802e3438896d759f9fd3
Author: Jannis Pohlmann jan...@xfce.org
Date:   Sun Sep 5 21:39:11 2010 +0200

Properly react on delete events. They are not included in CHANGES_DONE.

Too bad, here we have our first exception. Delete events don't seem to
be included in the events closed by
G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT.

 garcon/garcon-menu.c |   36 
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/garcon/garcon-menu.c b/garcon/garcon-menu.c
index 4f40c2e..85c8ffc 100644
--- a/garcon/garcon-menu.c
+++ b/garcon/garcon-menu.c
@@ -2185,6 +2185,42 @@ garcon_menu_app_dir_changed (GarconMenu   *menu,
   g_free (path);
 }
 }
+  else if (event_type == G_FILE_MONITOR_EVENT_DELETED)
+{
+  /* query the type of the changed file */
+  file_type = g_file_query_file_type (file, G_FILE_QUERY_INFO_NONE, NULL);
+
+  if (file_type == G_FILE_TYPE_DIRECTORY)
+{
+  /* an existing app dir (or a subdirectory) has been deleted. we
+   * could remove all the items that are in use and reside inside
+   * this root directory. but for now... enforce a menu reload! */
+  g_signal_emit (menu, menu_signals[RELOAD_REQUIRED], 0);
+}
+  else 
+{
+  /* a regular file was deleted, try to find the corresponding menu 
item */
+  item = garcon_menu_find_file_item (menu, file);
+  if (item != NULL)
+{
+  /* remove the item from the desktop item cache so we are forced
+   * to reload it from disk the next time */
+  garcon_menu_item_cache_invalidate_file (menu-priv-cache, file);
+
+  /* ok, so a .desktop file was removed. of course we don't know
+   * yet whether there is a replacement in another app dir
+   * with lower priority. we could try to find out but for now
+   * it's easier to simply enforce a menu reload */
+  g_signal_emit (menu, menu_signals[RELOAD_REQUIRED], 0);
+}
+  else
+{
+  /* the deleted file hasn't been in use anyway, so removing it
+   * doesn't change anything. so we have nothing to do for a
+   * change, no fing menu reload! */
+}
+}
+}
 }
 
 
___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


  1   2   >