diff options
author | Sebastien Bacher <seb128@ubuntu.com> | 2012-08-27 18:56:18 +0200 |
---|---|---|
committer | Sebastien Bacher <seb128@ubuntu.com> | 2012-08-27 18:56:18 +0200 |
commit | b51f9f1654a241419123b47ed673634f39a7a372 (patch) | |
tree | f79f8dc5ab5f3e268e64f33c965ae192c0b638de | |
parent | 5f974f7290cb505a341c579a3fdd8efc601477fe (diff) | |
parent | d28296b69565793050e51717a89c84eeadd88dbc (diff) | |
download | ayatana-indicator-messages-b51f9f1654a241419123b47ed673634f39a7a372.tar.gz ayatana-indicator-messages-b51f9f1654a241419123b47ed673634f39a7a372.tar.bz2 ayatana-indicator-messages-b51f9f1654a241419123b47ed673634f39a7a372.zip |
update to 12.10.1
52 files changed, 729 insertions, 268 deletions
@@ -1,5 +1,156 @@ # Generated by Makefile. Do not edit. +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + 12.10.1 + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + Merge lp:~larsu/messaging-menu/fix-icons + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + ido_menu_item_set_menu_item: make sure g_free isn't called with dangling pointer + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + IdoMenuItem: clear target pointer in dispose + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + Increase spacing between icons and labels + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + Indent application shortcuts + + This is done by setting their icon to the empty string, which IdoMenuItem + interprets as "show a clear icon". + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + IdoMenuItem: don't try to set state on stateless actions + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + Show icons on status menu items + + This introduces IdoMenuItem, a GtkCheckMenuItem that can also show icons. This + should go into libido at some point. Also, Im{App,Source}MenuItem could derive + from it so that the GMenuItem-setting logic is only in one place. + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + Install icons in the standard path + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + Remove unused #include + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + Make sure the icon is cleared also when a source is removed + + The code was there, but an superfluous condition made the function return + early. + +2012-08-27 Lars Uebernickel <lars.uebernickel@canonical.com> + + Bring back the blue icon when a source is drawing attention + +2012-08-25 Lars Uebernickel <lars.uebernickel@canonical.com> + + Plug memory leaks: return value of g_menu_model_get_item_link is transfer full + +2012-08-25 Lars Uebernickel <lars.uebernickel@canonical.com> + + Fix a memory leak and potential crash: ref_sink the widget, not the GMenu + +2012-08-24 Lars Uebernickel <lars.uebernickel@canonical.com> + + Make sure the time shown in the menu is always current + +2012-08-24 Lars Uebernickel <lars.uebernickel@canonical.com> + + Don't spam debug messages + +2012-08-24 Lars Uebernickel <lars.uebernickel@canonical.com> + + Request showing the chat section also when the app is not running + +2012-08-24 Lars Uebernickel <lars.uebernickel@canonical.com> + + Don't use '&' in variant format strings of g_menu_item_* calls + +2012-08-23 Lars Uebernickel <lars.uebernickel@canonical.com> + + libmessaging-menu: fix g-ir-scanner warnings + + Also, enable warnings by default and only include messaging-menu.[ch] in the + gir. + +2012-08-23 Lars Uebernickel <lars.uebernickel@canonical.com> + + libmessaging-menu: re-register with the service if it restarted + +2012-08-23 Lars Uebernickel <lars.uebernickel@canonical.com> + + Make the panel plugin reconnect to the service when it restarts + +2012-08-23 Lars Uebernickel <lars.uebernickel@canonical.com> + + libmessaging-menu: don't warn when removing a non-existant source + +2012-08-23 Lars Uebernickel <lars.uebernickel@canonical.com> + + libmessaging-menu: remove sources when they are activated + + Applications shouldn't leave message sources that the user clicked on in the + messaging menu. This patch spares apps from having to call remove_source in + all of their handlers. + +2012-08-23 Lars Uebernickel <lars.uebernickel@canonical.com> + + libmessaging-menu: annotate icon parameters with allow-none + +2012-08-23 Lars Uebernickel <lars.uebernickel@canonical.com> + + libmessaging-menu: warn when desktop_id is NULL (instead of crashing) + +2012-08-21 Sebastien Bacher <seb128@ubuntu.com> + + libmessaging-menu: fix export-symbols-regex + +2012-08-21 Lars Uebernickel <lars.uebernickel@canonical.com> + + Merge lp:~charlesk/indicator-messages/towards-q-redesign + + Plugs several memory leaks in app-section.c + +2012-08-21 Charles Kerr <charles.kerr@canonical.com> + + in app-section.c's activate_cb(), don't leak the GError if we can't launch + +2012-08-21 Charles Kerr <charles.kerr@canonical.com> + + in app-section's app_section_set_app_info(), don't leak the nicks' actions + +2012-08-21 Charles Kerr <charles.kerr@canonical.com> + + in app-section.c's dispose(), clear the muxer object + +2012-08-21 Charles Kerr <charles.kerr@canonical.com> + + sync with lp:~larsu/indicator-messages/towards-q-redesign + +2012-08-21 Lars Uebernickel <lars.uebernickel@canonical.com> + + configure.ac: remove unused variable + +2012-08-21 Lars Uebernickel <lars.uebernickel@canonical.com> + + Bump glib and gtk dependencies + 2012-08-21 Lars Uebernickel <lars.uebernickel@canonical.com> 12.10.0 diff --git a/Makefile.in b/Makefile.in index c5709be..51060cb 100644 --- a/Makefile.in +++ b/Makefile.in @@ -59,7 +59,7 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/Makefile.am.coverage $(top_srcdir)/configure \ AUTHORS COPYING ChangeLog INSTALL NEWS compile config.guess \ - config.sub depcomp install-sh ltmain.sh missing mkinstalldirs + config.sub depcomp install-sh ltmain.sh missing subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ @@ -68,7 +68,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -199,7 +199,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -0,0 +1,9 @@ +Overview of changes from 12.10.0 to 12.10.1 +=========================================== + +* presence icons are shown again +* the icon is changed when a source draws attention +* the time in source menu items is always kep current +* fixed all g-ir-scanner warnings +* libmessaging-menu now removes sources when they are activated +* fixed several bugs @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for indicator-messages 12.10.0. +# Generated by GNU Autoconf 2.69 for indicator-messages 12.10.1. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='indicator-messages' PACKAGE_TARNAME='indicator-messages' -PACKAGE_VERSION='12.10.0' -PACKAGE_STRING='indicator-messages 12.10.0' +PACKAGE_VERSION='12.10.1' +PACKAGE_STRING='indicator-messages 12.10.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -646,7 +646,6 @@ MSGFMT_OPTS GNOMELOCALEDIR GETTEXT_PACKAGE DBUSSERVICEDIR -INDICATORICONSDIR INDICATORDIR BUILD_TESTS_FALSE BUILD_TESTS_TRUE @@ -1449,7 +1448,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures indicator-messages 12.10.0 to adapt to many kinds of systems. +\`configure' configures indicator-messages 12.10.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1520,7 +1519,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of indicator-messages 12.10.0:";; + short | recursive ) echo "Configuration of indicator-messages 12.10.1:";; esac cat <<\_ACEOF @@ -1661,7 +1660,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -indicator-messages configure 12.10.0 +indicator-messages configure 12.10.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2234,7 +2233,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by indicator-messages $as_me 12.10.0, which was +It was created by indicator-messages $as_me 12.10.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3054,7 +3053,7 @@ fi # Define the identity of the package. PACKAGE='indicator-messages' - VERSION='12.10.0' + VERSION='12.10.1' cat >>confdefs.h <<_ACEOF @@ -16784,11 +16783,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Dependencies ########################### -GTK_REQUIRED_VERSION=3.0 -GIO_UNIX_REQUIRED_VERSION=2.18 -PANEL_REQUIRED_VERSION=2.0.0 +GTK_REQUIRED_VERSION=3.5.12 +GIO_UNIX_REQUIRED_VERSION=2.33.10 INDICATOR_REQUIRED_VERSION=0.3.19 -GLIB_REQUIRED_VERSION=2.31.20 +GLIB_REQUIRED_VERSION=2.33.10 INTROSPECTION_REQUIRED_VERSION=1.32.0 @@ -18240,14 +18238,11 @@ fi if test "x$with_localinstall" = "xyes"; then INDICATORDIR="${libdir}/indicators/2/" - INDICATORICONSDIR="${datadir}/libindicate/icons/" else INDICATORDIR=`$PKG_CONFIG --variable=indicatordir indicator3-0.4` - INDICATORICONSDIR=`$PKG_CONFIG --variable=iconsdir indicator3-0.4` fi - ########################### # DBus Service Info ########################### @@ -19583,7 +19578,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by indicator-messages $as_me 12.10.0, which was +This file was extended by indicator-messages $as_me 12.10.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19649,7 +19644,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -indicator-messages config.status 12.10.0 +indicator-messages config.status 12.10.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index d9270dd..4d3ef7a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT(indicator-messages, 12.10.0) +AC_INIT(indicator-messages, 12.10.1) AC_PREREQ(2.62) @@ -106,13 +106,10 @@ AC_ARG_ENABLE(localinstall, AS_HELP_STRING([--enable-localinstall], [install all if test "x$with_localinstall" = "xyes"; then INDICATORDIR="${libdir}/indicators/2/" - INDICATORICONSDIR="${datadir}/libindicate/icons/" else INDICATORDIR=`$PKG_CONFIG --variable=indicatordir indicator3-0.4` - INDICATORICONSDIR=`$PKG_CONFIG --variable=iconsdir indicator3-0.4` fi AC_SUBST(INDICATORDIR) -AC_SUBST(INDICATORICONSDIR) ########################### # DBus Service Info diff --git a/data/Makefile.in b/data/Makefile.in index 95b68f9..b456915 100644 --- a/data/Makefile.in +++ b/data/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -204,7 +204,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/data/icons/16x16/Makefile.in b/data/icons/16x16/Makefile.in index 72a0d4b..6d8d66d 100644 --- a/data/icons/16x16/Makefile.in +++ b/data/icons/16x16/Makefile.in @@ -57,7 +57,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -174,7 +174,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/data/icons/16x16/categories/Makefile.am b/data/icons/16x16/categories/Makefile.am index 171e2f9..2ddfa63 100644 --- a/data/icons/16x16/categories/Makefile.am +++ b/data/icons/16x16/categories/Makefile.am @@ -1,5 +1,5 @@ -iconsdir = $(INDICATORICONSDIR)/hicolor/16x16/categories +iconsdir = $(datadir)/icons/hicolor/16x16/categories icons_DATA = \ applications-email-panel.png \ diff --git a/data/icons/16x16/categories/Makefile.in b/data/icons/16x16/categories/Makefile.in index a252d34..12373ab 100644 --- a/data/icons/16x16/categories/Makefile.in +++ b/data/icons/16x16/categories/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -164,7 +164,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -291,7 +290,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -iconsdir = $(INDICATORICONSDIR)/hicolor/16x16/categories +iconsdir = $(datadir)/icons/hicolor/16x16/categories icons_DATA = \ applications-email-panel.png \ applications-chat-panel.png \ diff --git a/data/icons/16x16/status/Makefile.am b/data/icons/16x16/status/Makefile.am index e9c66f1..adafb8c 100644 --- a/data/icons/16x16/status/Makefile.am +++ b/data/icons/16x16/status/Makefile.am @@ -1,5 +1,5 @@ -iconsdir = $(INDICATORICONSDIR)/hicolor/16x16/status +iconsdir = $(datadir)/icons/hicolor/16x16/status icons_DATA = \ application-running.png \ diff --git a/data/icons/16x16/status/Makefile.in b/data/icons/16x16/status/Makefile.in index 9e3f067..8d8ebff 100644 --- a/data/icons/16x16/status/Makefile.in +++ b/data/icons/16x16/status/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -164,7 +164,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -291,7 +290,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -iconsdir = $(INDICATORICONSDIR)/hicolor/16x16/status +iconsdir = $(datadir)/icons/hicolor/16x16/status icons_DATA = \ application-running.png \ indicator-messages.png \ diff --git a/data/icons/22x22/Makefile.in b/data/icons/22x22/Makefile.in index 634cf13..7314f25 100644 --- a/data/icons/22x22/Makefile.in +++ b/data/icons/22x22/Makefile.in @@ -57,7 +57,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -174,7 +174,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/data/icons/22x22/categories/Makefile.am b/data/icons/22x22/categories/Makefile.am index 02885d3..b1ea14c 100644 --- a/data/icons/22x22/categories/Makefile.am +++ b/data/icons/22x22/categories/Makefile.am @@ -1,5 +1,5 @@ -iconsdir = $(INDICATORICONSDIR)/hicolor/22x22/categories +iconsdir = $(datadir)/icons/hicolor/22x22/categories icons_DATA = \ applications-email-panel.png diff --git a/data/icons/22x22/categories/Makefile.in b/data/icons/22x22/categories/Makefile.in index beac31f..21cb923 100644 --- a/data/icons/22x22/categories/Makefile.in +++ b/data/icons/22x22/categories/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -164,7 +164,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -291,7 +290,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -iconsdir = $(INDICATORICONSDIR)/hicolor/22x22/categories +iconsdir = $(datadir)/icons/hicolor/22x22/categories icons_DATA = \ applications-email-panel.png diff --git a/data/icons/22x22/status/Makefile.am b/data/icons/22x22/status/Makefile.am index f18bbcc..470c817 100644 --- a/data/icons/22x22/status/Makefile.am +++ b/data/icons/22x22/status/Makefile.am @@ -1,5 +1,5 @@ -iconsdir = $(INDICATORICONSDIR)/hicolor/22x22/status +iconsdir = $(datadir)/icons/hicolor/22x22/status icons_DATA = \ indicator-messages.png \ diff --git a/data/icons/22x22/status/Makefile.in b/data/icons/22x22/status/Makefile.in index 44d6bae..1f2abad 100644 --- a/data/icons/22x22/status/Makefile.in +++ b/data/icons/22x22/status/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -164,7 +164,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -291,7 +290,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -iconsdir = $(INDICATORICONSDIR)/hicolor/22x22/status +iconsdir = $(datadir)/icons/hicolor/22x22/status icons_DATA = \ indicator-messages.png \ indicator-messages-new.png diff --git a/data/icons/24x24/Makefile.in b/data/icons/24x24/Makefile.in index 1a204ff..d1024b4 100644 --- a/data/icons/24x24/Makefile.in +++ b/data/icons/24x24/Makefile.in @@ -57,7 +57,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -174,7 +174,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/data/icons/24x24/status/Makefile.am b/data/icons/24x24/status/Makefile.am index 7686c0e..086c404 100644 --- a/data/icons/24x24/status/Makefile.am +++ b/data/icons/24x24/status/Makefile.am @@ -1,5 +1,5 @@ -iconsdir = $(INDICATORICONSDIR)/hicolor/24x24/status +iconsdir = $(datadir)/icons/hicolor/24x24/status icons_DATA = \ application-running.png \ diff --git a/data/icons/24x24/status/Makefile.in b/data/icons/24x24/status/Makefile.in index 487def1..d5e7f65 100644 --- a/data/icons/24x24/status/Makefile.in +++ b/data/icons/24x24/status/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -164,7 +164,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -291,7 +290,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -iconsdir = $(INDICATORICONSDIR)/hicolor/24x24/status +iconsdir = $(datadir)/icons/hicolor/24x24/status icons_DATA = \ application-running.png \ indicator-messages.png \ diff --git a/data/icons/32x32/Makefile.in b/data/icons/32x32/Makefile.in index 4b0e1fc..7edc9f4 100644 --- a/data/icons/32x32/Makefile.in +++ b/data/icons/32x32/Makefile.in @@ -57,7 +57,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -174,7 +174,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/data/icons/32x32/categories/Makefile.am b/data/icons/32x32/categories/Makefile.am index 3a74b80..6fcfb7b 100644 --- a/data/icons/32x32/categories/Makefile.am +++ b/data/icons/32x32/categories/Makefile.am @@ -1,5 +1,5 @@ -iconsdir = $(INDICATORICONSDIR)/hicolor/32x32/categories +iconsdir = $(datadir)/icons/hicolor/32x32/categories icons_DATA = \ applications-email-panel.png \ diff --git a/data/icons/32x32/categories/Makefile.in b/data/icons/32x32/categories/Makefile.in index 45a29f7..bdbe0ad 100644 --- a/data/icons/32x32/categories/Makefile.in +++ b/data/icons/32x32/categories/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -164,7 +164,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -291,7 +290,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -iconsdir = $(INDICATORICONSDIR)/hicolor/32x32/categories +iconsdir = $(datadir)/icons/hicolor/32x32/categories icons_DATA = \ applications-email-panel.png \ applications-chat-panel.png diff --git a/data/icons/32x32/status/Makefile.am b/data/icons/32x32/status/Makefile.am index 84d9609..00f9d53 100644 --- a/data/icons/32x32/status/Makefile.am +++ b/data/icons/32x32/status/Makefile.am @@ -1,5 +1,5 @@ -iconsdir = $(INDICATORICONSDIR)/hicolor/32x32/status +iconsdir = $(datadir)/icons/hicolor/32x32/status icons_DATA = \ application-running.png \ diff --git a/data/icons/32x32/status/Makefile.in b/data/icons/32x32/status/Makefile.in index 2b21bd5..b04fb23 100644 --- a/data/icons/32x32/status/Makefile.in +++ b/data/icons/32x32/status/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -164,7 +164,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -291,7 +290,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -iconsdir = $(INDICATORICONSDIR)/hicolor/32x32/status +iconsdir = $(datadir)/icons/hicolor/32x32/status icons_DATA = \ application-running.png \ indicator-messages.png \ diff --git a/data/icons/48x48/Makefile.in b/data/icons/48x48/Makefile.in index 76e27ea..bf7bbb0 100644 --- a/data/icons/48x48/Makefile.in +++ b/data/icons/48x48/Makefile.in @@ -57,7 +57,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -174,7 +174,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/data/icons/48x48/status/Makefile.am b/data/icons/48x48/status/Makefile.am index ee7eb74..9c560b5 100644 --- a/data/icons/48x48/status/Makefile.am +++ b/data/icons/48x48/status/Makefile.am @@ -1,5 +1,5 @@ -iconsdir = $(INDICATORICONSDIR)/hicolor/48x48/status +iconsdir = $(datadir)/icons/hicolor/48x48/status icons_DATA = \ application-running.png \ diff --git a/data/icons/48x48/status/Makefile.in b/data/icons/48x48/status/Makefile.in index cdbabdf..618c959 100644 --- a/data/icons/48x48/status/Makefile.in +++ b/data/icons/48x48/status/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -164,7 +164,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -291,7 +290,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -iconsdir = $(INDICATORICONSDIR)/hicolor/48x48/status +iconsdir = $(datadir)/icons/hicolor/48x48/status icons_DATA = \ application-running.png \ indicator-messages.png \ diff --git a/data/icons/Makefile.in b/data/icons/Makefile.in index 070baea..4fc8008 100644 --- a/data/icons/Makefile.in +++ b/data/icons/Makefile.in @@ -57,7 +57,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -174,7 +174,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/data/icons/scalable/Makefile.in b/data/icons/scalable/Makefile.in index a5273bf..640f589 100644 --- a/data/icons/scalable/Makefile.in +++ b/data/icons/scalable/Makefile.in @@ -57,7 +57,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -174,7 +174,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff --git a/data/icons/scalable/categories/Makefile.am b/data/icons/scalable/categories/Makefile.am index 64ce622..0fdbbd7 100644 --- a/data/icons/scalable/categories/Makefile.am +++ b/data/icons/scalable/categories/Makefile.am @@ -1,5 +1,5 @@ -iconsdir = $(INDICATORICONSDIR)/hicolor/scalable/categories +iconsdir = $(datadir)/icons/hicolor/scalable/categories icons_DATA = \ applications-email-panel.svg \ diff --git a/data/icons/scalable/categories/Makefile.in b/data/icons/scalable/categories/Makefile.in index 5c56a02..8bbd2f0 100644 --- a/data/icons/scalable/categories/Makefile.in +++ b/data/icons/scalable/categories/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -164,7 +164,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -291,7 +290,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -iconsdir = $(INDICATORICONSDIR)/hicolor/scalable/categories +iconsdir = $(datadir)/icons/hicolor/scalable/categories icons_DATA = \ applications-email-panel.svg \ applications-chat-panel.svg diff --git a/data/icons/scalable/status/Makefile.am b/data/icons/scalable/status/Makefile.am index 060b479..59f0256 100644 --- a/data/icons/scalable/status/Makefile.am +++ b/data/icons/scalable/status/Makefile.am @@ -1,5 +1,5 @@ -iconsdir = $(INDICATORICONSDIR)/hicolor/scalable/status +iconsdir = $(datadir)/icons/hicolor/scalable/status icons_DATA = \ application-running.svg \ diff --git a/data/icons/scalable/status/Makefile.in b/data/icons/scalable/status/Makefile.in index 517a8f2..ea3cb73 100644 --- a/data/icons/scalable/status/Makefile.in +++ b/data/icons/scalable/status/Makefile.in @@ -58,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -164,7 +164,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -291,7 +290,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -iconsdir = $(INDICATORICONSDIR)/hicolor/scalable/status +iconsdir = $(datadir)/icons/hicolor/scalable/status icons_DATA = \ application-running.svg \ indicator-messages.svg \ diff --git a/debian/changelog b/debian/changelog index 04ae3be..acec36b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,8 @@ -indicator-messages (12.10.0-0ubuntu1) UNRELEASED; urgency=low +indicator-messages (12.10.1-0ubuntu1) UNRELEASED; urgency=low * New upstream version * debian/control: + - breaks on version of ported clients using libindicate - set some conflicts on the old deprecated status provider binaries - updated Build-Depends * debian/control, debian/*.install: @@ -12,9 +13,8 @@ indicator-messages (12.10.0-0ubuntu1) UNRELEASED; urgency=low * Updated packaging to dh9, current standards * Drop gtk2 build from the packaging since support for it was dropped in trunk, thanks Lars Uebernickel - * Backported fixes from trunk up to r295 - -- Sebastien Bacher <seb128@ubuntu.com> Tue, 21 Aug 2012 18:17:34 +0200 + -- Sebastien Bacher <seb128@ubuntu.com> Mon, 27 Aug 2012 18:38:55 +0200 indicator-messages (0.6.0-0ubuntu1) precise; urgency=low diff --git a/debian/control b/debian/control index e55da18..3dee002 100644 --- a/debian/control +++ b/debian/control @@ -38,6 +38,11 @@ Conflicts: libindicator-messages-status-provider1, indicator-status-provider-pidgin, indicator-status-provider-telepathy, indicator-status-provider-emesene +Breaks: gwibber-services (<< 3.5.4-0ubuntu1~), + telepathy-indicator (<< 0.3.0-0ubuntu1~), + thunderbird (<< 15.0+build1-0ubuntu1~), + xchat-indicator (<< 0.3.11-0ubuntu2~), + xchat-gnome-indicator (<< 0.3.11-0ubuntu2~), Description: indicator that collects messages that need a response A place on the user's desktop that collects messages that need a response. This menu provides a condensed and collected view of all of those messages diff --git a/debian/indicator-messages.install b/debian/indicator-messages.install index 52aa72b..c0f6e98 100644 --- a/debian/indicator-messages.install +++ b/debian/indicator-messages.install @@ -2,4 +2,4 @@ usr/lib/indicators3 usr/lib/indicator-messages/indicator-messages-service usr/share/dbus-1 usr/share/glib-2.0 -usr/share/libindicator +usr/share/icons diff --git a/libmessaging-menu/Makefile.in b/libmessaging-menu/Makefile.in index 11cf221..29215c2 100644 --- a/libmessaging-menu/Makefile.in +++ b/libmessaging-menu/Makefile.in @@ -63,7 +63,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = messaging-menu.pc CONFIG_CLEAN_VPATH_FILES = @@ -209,7 +209,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -352,7 +351,7 @@ libmessaging_menu_la_CFLAGS = \ $(GIO_CFLAGS) \ -Wall -libmessaging_menu_la_LDFLAGS = -export-symbols-regex="^messaging_menu_.*" +libmessaging_menu_la_LDFLAGS = -export-symbols-regex "^messaging_menu_.*" BUILT_SOURCES = \ indicator-messages-service.c \ indicator-messages-service.h @@ -361,13 +360,13 @@ CLEANFILES = $(BUILT_SOURCES) $(am__append_2) pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = messaging-menu.pc INTROSPECTION_GIRS = $(am__append_1) -INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) +INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --warn-all INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) @HAVE_INTROSPECTION_TRUE@MessagingMenu_1_0_gir_NAMESPACE = MessagingMenu @HAVE_INTROSPECTION_TRUE@MessagingMenu_1_0_gir_INCLUDES = GObject-2.0 Gio-2.0 @HAVE_INTROSPECTION_TRUE@MessagingMenu_1_0_gir_CFLAGS = $(INCLUDES) $(GIO_CFLAGS) @HAVE_INTROSPECTION_TRUE@MessagingMenu_1_0_gir_LIBS = libmessaging-menu.la -@HAVE_INTROSPECTION_TRUE@MessagingMenu_1_0_gir_FILES = $(libmessaging_menu_la_SOURCES) $(libmessaging_menu_la_HEADERS) +@HAVE_INTROSPECTION_TRUE@MessagingMenu_1_0_gir_FILES = messaging-menu.c messaging-menu.h @HAVE_INTROSPECTION_TRUE@girdir = $(datadir)/gir-1.0 @HAVE_INTROSPECTION_TRUE@gir_DATA = $(INTROSPECTION_GIRS) @HAVE_INTROSPECTION_TRUE@typelibdir = $(libdir)/girepository-1.0 diff --git a/libmessaging-menu/indicator-messages-service.c b/libmessaging-menu/indicator-messages-service.c index 24772c1..a42a534 100644 --- a/libmessaging-menu/indicator-messages-service.c +++ b/libmessaging-menu/indicator-messages-service.c @@ -1,5 +1,5 @@ /* - * Generated by gdbus-codegen 2.33.8. DO NOT EDIT. + * Generated by gdbus-codegen 2.33.10. DO NOT EDIT. * * The license of this code is the same as for the source it was derived from. */ diff --git a/libmessaging-menu/indicator-messages-service.h b/libmessaging-menu/indicator-messages-service.h index cb399f5..2adaaf3 100644 --- a/libmessaging-menu/indicator-messages-service.h +++ b/libmessaging-menu/indicator-messages-service.h @@ -1,5 +1,5 @@ /* - * Generated by gdbus-codegen 2.33.8. DO NOT EDIT. + * Generated by gdbus-codegen 2.33.10. DO NOT EDIT. * * The license of this code is the same as for the source it was derived from. */ diff --git a/mkinstalldirs b/mkinstalldirs deleted file mode 100755 index 4191a45..0000000 --- a/mkinstalldirs +++ /dev/null @@ -1,162 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy - -scriptversion=2009-04-28.21; # UTC - -# Original author: Noah Friedman <friedman@prep.ai.mit.edu> -# Created: 1993-05-16 -# Public domain. -# -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -nl=' -' -IFS=" "" $nl" -errstatus=0 -dirmode= - -usage="\ -Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... - -Create each directory DIR (with mode MODE, if specified), including all -leading file name components. - -Report bugs to <bug-automake@gnu.org>." - -# process command line arguments -while test $# -gt 0 ; do - case $1 in - -h | --help | --h*) # -h for help - echo "$usage" - exit $? - ;; - -m) # -m PERM arg - shift - test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } - dirmode=$1 - shift - ;; - --version) - echo "$0 $scriptversion" - exit $? - ;; - --) # stop option processing - shift - break - ;; - -*) # unknown option - echo "$usage" 1>&2 - exit 1 - ;; - *) # first non-opt arg - break - ;; - esac -done - -for file -do - if test -d "$file"; then - shift - else - break - fi -done - -case $# in - 0) exit 0 ;; -esac - -# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and -# mkdir -p a/c at the same time, both will detect that a is missing, -# one will create a, then the other will try to create a and die with -# a "File exists" error. This is a problem when calling mkinstalldirs -# from a parallel make. We use --version in the probe to restrict -# ourselves to GNU mkdir, which is thread-safe. -case $dirmode in - '') - if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - echo "mkdir -p -- $*" - exec mkdir -p -- "$@" - else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - test -d ./-p && rmdir ./-p - test -d ./--version && rmdir ./--version - fi - ;; - *) - if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && - test ! -d ./--version; then - echo "mkdir -m $dirmode -p -- $*" - exec mkdir -m "$dirmode" -p -- "$@" - else - # Clean up after NextStep and OpenStep mkdir. - for d in ./-m ./-p ./--version "./$dirmode"; - do - test -d $d && rmdir $d - done - fi - ;; -esac - -for file -do - case $file in - /*) pathcomp=/ ;; - *) pathcomp= ;; - esac - oIFS=$IFS - IFS=/ - set fnord $file - shift - IFS=$oIFS - - for d - do - test "x$d" = x && continue - - pathcomp=$pathcomp$d - case $pathcomp in - -*) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr= - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi - fi - fi - - pathcomp=$pathcomp/ - done -done - -exit $errstatus - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/src/Makefile.am b/src/Makefile.am index 403a289..4d86730 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -15,6 +15,8 @@ messaginglibdir = $(INDICATORDIR) messaginglib_LTLIBRARIES = libmessaging.la libmessaging_la_SOURCES = \ indicator-messages.c \ + ido-menu-item.c \ + ido-menu-item.h \ im-app-menu-item.c \ im-app-menu-item.h \ im-source-menu-item.c \ diff --git a/src/Makefile.in b/src/Makefile.in index d95ba26..9fe1c45 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -60,7 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -97,6 +97,7 @@ LTLIBRARIES = $(messaginglib_LTLIBRARIES) am__DEPENDENCIES_1 = libmessaging_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am_libmessaging_la_OBJECTS = libmessaging_la-indicator-messages.lo \ + libmessaging_la-ido-menu-item.lo \ libmessaging_la-im-app-menu-item.lo \ libmessaging_la-im-source-menu-item.lo \ libmessaging_la-indicator-messages-service.lo @@ -220,7 +221,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -360,6 +360,8 @@ messaginglibdir = $(INDICATORDIR) messaginglib_LTLIBRARIES = libmessaging.la libmessaging_la_SOURCES = \ indicator-messages.c \ + ido-menu-item.c \ + ido-menu-item.h \ im-app-menu-item.c \ im-app-menu-item.h \ im-source-menu-item.c \ @@ -547,6 +549,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/indicator_messages_service-gsettingsstrv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/indicator_messages_service-indicator-messages-service.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/indicator_messages_service-messages-service.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmessaging_la-ido-menu-item.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmessaging_la-im-app-menu-item.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmessaging_la-im-source-menu-item.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmessaging_la-indicator-messages-service.Plo@am__quote@ @@ -580,6 +583,13 @@ libmessaging_la-indicator-messages.lo: indicator-messages.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmessaging_la_CFLAGS) $(CFLAGS) -c -o libmessaging_la-indicator-messages.lo `test -f 'indicator-messages.c' || echo '$(srcdir)/'`indicator-messages.c +libmessaging_la-ido-menu-item.lo: ido-menu-item.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmessaging_la_CFLAGS) $(CFLAGS) -MT libmessaging_la-ido-menu-item.lo -MD -MP -MF $(DEPDIR)/libmessaging_la-ido-menu-item.Tpo -c -o libmessaging_la-ido-menu-item.lo `test -f 'ido-menu-item.c' || echo '$(srcdir)/'`ido-menu-item.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmessaging_la-ido-menu-item.Tpo $(DEPDIR)/libmessaging_la-ido-menu-item.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ido-menu-item.c' object='libmessaging_la-ido-menu-item.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmessaging_la_CFLAGS) $(CFLAGS) -c -o libmessaging_la-ido-menu-item.lo `test -f 'ido-menu-item.c' || echo '$(srcdir)/'`ido-menu-item.c + libmessaging_la-im-app-menu-item.lo: im-app-menu-item.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmessaging_la_CFLAGS) $(CFLAGS) -MT libmessaging_la-im-app-menu-item.lo -MD -MP -MF $(DEPDIR)/libmessaging_la-im-app-menu-item.Tpo -c -o libmessaging_la-im-app-menu-item.lo `test -f 'im-app-menu-item.c' || echo '$(srcdir)/'`im-app-menu-item.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmessaging_la-im-app-menu-item.Tpo $(DEPDIR)/libmessaging_la-im-app-menu-item.Plo diff --git a/src/app-section.c b/src/app-section.c index baae21f..bed1302 100644 --- a/src/app-section.c +++ b/src/app-section.c @@ -346,6 +346,7 @@ app_section_set_app_info (AppSection *self, for (i = 0; nicks[i] != NULL; i++) { gchar *name; GSimpleAction *action; + GMenuItem *item; name = indicator_desktop_shortcuts_nick_get_name(priv->ids, nicks[i]); @@ -354,8 +355,12 @@ app_section_set_app_info (AppSection *self, g_simple_action_group_insert (priv->static_shortcuts, G_ACTION (action)); g_object_unref (action); - g_menu_append (priv->menu, name, nicks[i]); + item = g_menu_item_new (name, nicks[i]); + g_menu_item_set_attribute (item, "x-canonical-type", "s", "IdoMenuItem"); + g_menu_item_set_attribute (item, "x-canonical-icon", "s", ""); /* empty to get indentation */ + g_menu_append_item (priv->menu, item); + g_object_unref (item); g_free(name); } diff --git a/src/ido-menu-item.c b/src/ido-menu-item.c new file mode 100644 index 0000000..6b19d2a --- /dev/null +++ b/src/ido-menu-item.c @@ -0,0 +1,395 @@ +/* + * Copyright 2012 Canonical Ltd. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 3, as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranties of + * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Authors: + * Lars Uebernickel <lars.uebernickel@canonical.com> + */ + +#include "ido-menu-item.h" + +struct _IdoMenuItemPrivate +{ + GActionGroup *action_group; + gchar *action; + GVariant *target; + + GtkWidget *icon; + GtkWidget *label; + + gboolean has_indicator; + gboolean in_set_active; +}; + +enum +{ + PROP_0, + PROP_MENU_ITEM, + PROP_ACTION_GROUP, + NUM_PROPERTIES +}; + +static GParamSpec *properties[NUM_PROPERTIES]; + +G_DEFINE_TYPE (IdoMenuItem, ido_menu_item, GTK_TYPE_CHECK_MENU_ITEM); + +static void +ido_menu_item_constructed (GObject *object) +{ + IdoMenuItemPrivate *priv = IDO_MENU_ITEM (object)->priv; + GtkWidget *grid; + + priv->icon = g_object_ref (gtk_image_new ()); + gtk_widget_set_margin_right (priv->icon, 6); + + priv->label = g_object_ref (gtk_label_new ("")); + + grid = gtk_grid_new (); + gtk_grid_attach (GTK_GRID (grid), priv->icon, 0, 0, 1, 1); + gtk_grid_attach (GTK_GRID (grid), priv->label, 1, 0, 1, 1); + + gtk_container_add (GTK_CONTAINER (object), grid); + gtk_widget_show_all (grid); + + G_OBJECT_CLASS (ido_menu_item_parent_class)->constructed (object); +} + +static void +ido_menu_item_set_active (IdoMenuItem *self, + gboolean active) +{ + /* HACK gtk_check_menu_item_set_active calls gtk_menu_item_activate. + * Make sure our activate handler doesn't toggle the action as a + * result of calling this function. */ + + self->priv->in_set_active = TRUE; + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (self), active); + self->priv->in_set_active = FALSE; +} + +static void +ido_menu_item_set_has_indicator (IdoMenuItem *self, + gboolean has_indicator) +{ + if (has_indicator == self->priv->has_indicator) + return; + + self->priv->has_indicator = has_indicator; + + gtk_widget_queue_resize (GTK_WIDGET (self)); +} + +static void +ido_menu_item_set_state (IdoMenuItem *self, + GVariant *state) +{ + IdoMenuItemPrivate *priv = self->priv; + + if (priv->target) + { + ido_menu_item_set_has_indicator (self, TRUE); + gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (self), TRUE); + ido_menu_item_set_active (self, g_variant_equal (priv->target, state)); + } + else if (g_variant_is_of_type (state, G_VARIANT_TYPE_BOOLEAN)) + { + ido_menu_item_set_has_indicator (self, TRUE); + gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (self), FALSE); + ido_menu_item_set_active (self, g_variant_get_boolean (state)); + } + else + { + ido_menu_item_set_has_indicator (self, FALSE); + } +} + +static void +ido_menu_item_set_action_name (IdoMenuItem *self, + const gchar *action_name) +{ + IdoMenuItemPrivate *priv = self->priv; + gboolean enabled = FALSE; + GVariant *state; + const GVariantType *param_type; + + if (priv->action != NULL) + g_free (priv->action); + + priv->action = g_strdup (action_name); + + if (priv->action_group != NULL && priv->action != NULL && + g_action_group_query_action (priv->action_group, priv->action, + &enabled, ¶m_type, NULL, NULL, &state)) + { + gtk_widget_set_sensitive (GTK_WIDGET (self), enabled); + + if (state) + { + ido_menu_item_set_state (self, state); + g_variant_unref (state); + } + } + else + { + ido_menu_item_set_active (self, FALSE); + gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE); + ido_menu_item_set_has_indicator (self, FALSE); + } +} + +static void +ido_menu_item_action_added (GActionGroup *action_group, + gchar *action_name, + gpointer user_data) +{ + IdoMenuItem *self = user_data; + + if (g_strcmp0 (self->priv->action, action_name) == 0) + ido_menu_item_set_action_name (self, action_name); +} + +static void +ido_menu_item_action_removed (GActionGroup *action_group, + gchar *action_name, + gpointer user_data) +{ + IdoMenuItem *self = user_data; + + if (g_strcmp0 (self->priv->action, action_name) == 0) + { + gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE); + } +} + +static void +ido_menu_item_action_enabled_changed (GActionGroup *action_group, + gchar *action_name, + gboolean enabled, + gpointer user_data) +{ + IdoMenuItem *self = user_data; + + if (g_strcmp0 (self->priv->action, action_name) == 0) + gtk_widget_set_sensitive (GTK_WIDGET (self), enabled); +} + +static void +ido_menu_item_action_state_changed (GActionGroup *action_group, + gchar *action_name, + GVariant *value, + gpointer user_data) +{ + IdoMenuItem *self = user_data; + + if (g_strcmp0 (self->priv->action, action_name) == 0) + ido_menu_item_set_state (self, value); +} + +static void +ido_menu_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + IdoMenuItem *self = IDO_MENU_ITEM (object); + + switch (property_id) + { + case PROP_MENU_ITEM: + ido_menu_item_set_menu_item (self, G_MENU_ITEM (g_value_get_object (value))); + break; + + case PROP_ACTION_GROUP: + ido_menu_item_set_action_group (self, G_ACTION_GROUP (g_value_get_object (value))); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + } +} + +static void +ido_menu_item_dispose (GObject *object) +{ + IdoMenuItem *self = IDO_MENU_ITEM (object); + + if (self->priv->action_group) + ido_menu_item_set_action_group (self, NULL); + + g_clear_object (&self->priv->icon); + g_clear_object (&self->priv->label); + + if (self->priv->target) + { + g_variant_unref (self->priv->target); + self->priv->target = NULL; + } + + G_OBJECT_CLASS (ido_menu_item_parent_class)->dispose (object); +} + +static void +ido_menu_item_finalize (GObject *object) +{ + IdoMenuItemPrivate *priv = IDO_MENU_ITEM (object)->priv; + + g_free (priv->action); + + G_OBJECT_CLASS (ido_menu_item_parent_class)->finalize (object); +} + +static void +ido_menu_item_activate (GtkMenuItem *item) +{ + IdoMenuItemPrivate *priv = IDO_MENU_ITEM (item)->priv; + + /* see ido_menu_item_set_active */ + if (!priv->in_set_active && priv->action && priv->action_group) + g_action_group_activate_action (priv->action_group, priv->action, priv->target); + + GTK_MENU_ITEM_CLASS (ido_menu_item_parent_class)->activate (item); +} + +static void +ido_menu_item_draw_indicator (GtkCheckMenuItem *item, + cairo_t *cr) +{ + IdoMenuItem *self = IDO_MENU_ITEM (item); + + if (self->priv->has_indicator) + GTK_CHECK_MENU_ITEM_CLASS (ido_menu_item_parent_class) + ->draw_indicator (item, cr); +} + +static void +ido_menu_item_class_init (IdoMenuItemClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkMenuItemClass *menu_item_class = GTK_MENU_ITEM_CLASS (klass); + GtkCheckMenuItemClass *check_class = GTK_CHECK_MENU_ITEM_CLASS (klass); + + g_type_class_add_private (klass, sizeof (IdoMenuItemPrivate)); + + object_class->constructed = ido_menu_item_constructed; + object_class->set_property = ido_menu_set_property; + object_class->dispose = ido_menu_item_dispose; + object_class->finalize = ido_menu_item_finalize; + + menu_item_class->activate = ido_menu_item_activate; + + check_class->draw_indicator = ido_menu_item_draw_indicator; + + properties[PROP_MENU_ITEM] = g_param_spec_object ("menu-item", + "Menu item", + "The model GMenuItem for this menu item", + G_TYPE_MENU_ITEM, + G_PARAM_WRITABLE | + G_PARAM_STATIC_STRINGS); + + properties[PROP_ACTION_GROUP] = g_param_spec_object ("action-group", + "Action group", + "The action group associated with this menu item", + G_TYPE_ACTION_GROUP, + G_PARAM_WRITABLE | + G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (object_class, NUM_PROPERTIES, properties); +} + +static void +ido_menu_item_init (IdoMenuItem *self) +{ + self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, + IDO_TYPE_MENU_ITEM, + IdoMenuItemPrivate); +} + +void +ido_menu_item_set_menu_item (IdoMenuItem *self, + GMenuItem *menuitem) +{ + gchar *iconstr = NULL; + GIcon *icon = NULL; + gchar *label = NULL; + gchar *action = NULL; + + if (g_menu_item_get_attribute (menuitem, "x-canonical-icon", "s", &iconstr)) + { + GError *error; + + /* only indent the label if icon is set to "" */ + if (iconstr[0] == '\0') + { + gint width; + + gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &width, NULL); + gtk_widget_set_size_request (self->priv->icon, width, -1); + } + else + { + icon = g_icon_new_for_string (iconstr, &error); + if (icon == NULL) + { + g_warning ("unable to set icon: %s", error->message); + g_error_free (error); + } + } + g_free (iconstr); + } + gtk_image_set_from_gicon (GTK_IMAGE (self->priv->icon), icon, GTK_ICON_SIZE_MENU); + + g_menu_item_get_attribute (menuitem, "label", "s", &label); + gtk_label_set_label (GTK_LABEL (self->priv->label), label ? label : ""); + + self->priv->target = g_menu_item_get_attribute_value (menuitem, "target", NULL); + + g_menu_item_get_attribute (menuitem, "action", "s", &action); + ido_menu_item_set_action_name (self, action); + + if (icon) + g_object_unref (icon); + g_free (label); + g_free (action); +} + +void +ido_menu_item_set_action_group (IdoMenuItem *self, + GActionGroup *action_group) +{ + IdoMenuItemPrivate *priv = self->priv; + + if (priv->action_group != NULL) + { + g_signal_handlers_disconnect_by_func (priv->action_group, ido_menu_item_action_added, self); + g_signal_handlers_disconnect_by_func (priv->action_group, ido_menu_item_action_removed, self); + g_signal_handlers_disconnect_by_func (priv->action_group, ido_menu_item_action_enabled_changed, self); + g_signal_handlers_disconnect_by_func (priv->action_group, ido_menu_item_action_state_changed, self); + + g_clear_object (&priv->action_group); + } + + if (action_group != NULL) + { + priv->action_group = g_object_ref (action_group); + + g_signal_connect (priv->action_group, "action-added", + G_CALLBACK (ido_menu_item_action_added), self); + g_signal_connect (priv->action_group, "action-removed", + G_CALLBACK (ido_menu_item_action_removed), self); + g_signal_connect (priv->action_group, "action-enabled-changed", + G_CALLBACK (ido_menu_item_action_enabled_changed), self); + g_signal_connect (priv->action_group, "action-state-changed", + G_CALLBACK (ido_menu_item_action_state_changed), self); + } +} diff --git a/src/ido-menu-item.h b/src/ido-menu-item.h new file mode 100644 index 0000000..0521928 --- /dev/null +++ b/src/ido-menu-item.h @@ -0,0 +1,54 @@ +/* + * Copyright 2012 Canonical Ltd. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 3, as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranties of + * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Authors: + * Lars Uebernickel <lars.uebernickel@canonical.com> + */ + +#ifndef __IDO_MENU_ITEM_H__ +#define __IDO_MENU_ITEM_H__ + +#include <gtk/gtk.h> + +#define IDO_TYPE_MENU_ITEM (ido_menu_item_get_type ()) +#define IDO_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IDO_TYPE_MENU_ITEM, IdoMenuItem)) +#define IDO_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IDO_TYPE_MENU_ITEM, IdoMenuItemClass)) +#define IS_IDO_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IDO_TYPE_MENU_ITEM)) +#define IS_IDO_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IDO_TYPE_MENU_ITEM)) +#define IDO_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IDO_TYPE_MENU_ITEM, IdoMenuItemClass)) + +typedef struct _IdoMenuItem IdoMenuItem; +typedef struct _IdoMenuItemClass IdoMenuItemClass; +typedef struct _IdoMenuItemPrivate IdoMenuItemPrivate; + +struct _IdoMenuItemClass +{ + GtkCheckMenuItemClass parent_class; +}; + +struct _IdoMenuItem +{ + GtkCheckMenuItem parent; + IdoMenuItemPrivate *priv; +}; + +GType ido_menu_item_get_type (void); + +void ido_menu_item_set_menu_item (IdoMenuItem *item, + GMenuItem *menuitem); +void ido_menu_item_set_action_group (IdoMenuItem *self, + GActionGroup *action_group); + +#endif diff --git a/src/im-app-menu-item.c b/src/im-app-menu-item.c index eddf562..a204631 100644 --- a/src/im-app-menu-item.c +++ b/src/im-app-menu-item.c @@ -48,6 +48,7 @@ im_app_menu_item_constructed (GObject *object) GtkWidget *grid; priv->icon = g_object_ref (gtk_image_new ()); + gtk_widget_set_margin_right (priv->icon, 6); priv->label = g_object_ref (gtk_label_new ("")); diff --git a/src/im-source-menu-item.c b/src/im-source-menu-item.c index 43c0afb..5aebb68 100644 --- a/src/im-source-menu-item.c +++ b/src/im-source-menu-item.c @@ -56,7 +56,7 @@ im_source_menu_item_constructed (GObject *object) gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &icon_width, NULL); priv->icon = g_object_ref (gtk_image_new ()); - gtk_widget_set_margin_left (priv->icon, icon_width + 2); + gtk_widget_set_margin_left (priv->icon, icon_width + 6); priv->label = g_object_ref (gtk_label_new ("")); diff --git a/src/indicator-messages-service.c b/src/indicator-messages-service.c index 24772c1..a42a534 100644 --- a/src/indicator-messages-service.c +++ b/src/indicator-messages-service.c @@ -1,5 +1,5 @@ /* - * Generated by gdbus-codegen 2.33.8. DO NOT EDIT. + * Generated by gdbus-codegen 2.33.10. DO NOT EDIT. * * The license of this code is the same as for the source it was derived from. */ diff --git a/src/indicator-messages-service.h b/src/indicator-messages-service.h index cb399f5..2adaaf3 100644 --- a/src/indicator-messages-service.h +++ b/src/indicator-messages-service.h @@ -1,5 +1,5 @@ /* - * Generated by gdbus-codegen 2.33.8. DO NOT EDIT. + * Generated by gdbus-codegen 2.33.10. DO NOT EDIT. * * The license of this code is the same as for the source it was derived from. */ diff --git a/src/indicator-messages.c b/src/indicator-messages.c index 4f5a012..942e46f 100644 --- a/src/indicator-messages.c +++ b/src/indicator-messages.c @@ -32,11 +32,11 @@ with this program. If not, see <http://www.gnu.org/licenses/>. #include <libindicator/indicator.h> #include <libindicator/indicator-object.h> -#include <libindicator/indicator-image-helper.h> #include <libindicator/indicator-service-manager.h> #include "dbus-data.h" +#include "ido-menu-item.h" #include "im-app-menu-item.h" #include "im-source-menu-item.h" @@ -130,6 +130,7 @@ indicator_messages_init (IndicatorMessages *self) /* make sure custom menu item types are registered (so that * gtk_model_new_from_menu can pick them up */ + ido_menu_item_get_type (); im_app_menu_item_get_type (); im_source_menu_item_get_type (); } diff --git a/src/messages-service.c b/src/messages-service.c index 31d2a5b..15c5123 100644 --- a/src/messages-service.c +++ b/src/messages-service.c @@ -406,14 +406,33 @@ static GMenuModel * create_status_section (void) { GMenu *menu; + GMenuItem *item; + struct status_item { + gchar *label; + gchar *action; + gchar *icon_name; + } status_items[] = { + { _("Available"), "status::available", "user-available" }, + { _("Away"), "status::away", "user-away" }, + { _("Busy"), "status::busy", "user-busy" }, + { _("Invisible"), "status::invisible", "user-invisible" }, + { _("Offline"), "status::offline", "user-offline" } + }; + int i; menu = g_menu_new (); - g_menu_append_with_icon_name (menu, _("Available"), "user-available", "status::available"); - g_menu_append_with_icon_name (menu, _("Away"), "user-away", "status::away"); - g_menu_append_with_icon_name (menu, _("Busy"), "user-busy", "status::busy"); - g_menu_append_with_icon_name (menu, _("Invisible"), "user-invisible", "status::invisible"); - g_menu_append_with_icon_name (menu, _("Offline"), "user-offline", "status::offline"); + item = g_menu_item_new (NULL, NULL); + g_menu_item_set_attribute (item, "x-canonical-type", "s", "IdoMenuItem"); + + for (i = 0; i < G_N_ELEMENTS (status_items); i++) { + g_menu_item_set_label (item, status_items[i].label); + g_menu_item_set_detailed_action (item, status_items[i].action); + g_menu_item_set_attribute (item, "x-canonical-icon", "s", status_items[i].icon_name); + g_menu_append_item (menu, item); + } + + g_object_unref (item); return G_MENU_MODEL (menu); } diff --git a/test/Makefile.in b/test/Makefile.in index f4e25be..e2866bc 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -59,7 +59,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gcov.m4 \ $(top_srcdir)/m4/gtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @@ -208,7 +208,6 @@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ HTML_DIR = @HTML_DIR@ INDICATORDIR = @INDICATORDIR@ -INDICATORICONSDIR = @INDICATORICONSDIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ |