diff options
| author | Didier Roche <didier.roche@canonical.com> | 2010-03-11 19:20:14 +0100 |
|---|---|---|
| committer | Didier Roche <didier.roche@canonical.com> | 2010-03-11 19:20:14 +0100 |
| commit | 35c13b0e38119a37e61737c316cbe5966c89c8aa (patch) | |
| tree | 2fe1478060914dee3f07f5ccb503f9fa8cca0b94 | |
| parent | ec0bece7e26a928ba64071d1a5501f7b9d642e2f (diff) | |
| parent | fa07a94af8e3dc858147c1dd09ad3ed8ceeb2904 (diff) | |
Import upstream version 0.1.22upstream-0.1.23upstream-0.1.22
(bzr r55.4.5)
60 files changed, 5689 insertions, 2628 deletions
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for unity 0.1.20. +# Generated by GNU Autoconf 2.65 for unity 0.1.22. # # Report bugs to <https://launchpad.net/unity>. # @@ -763,8 +763,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='unity' PACKAGE_TARNAME='unity' -PACKAGE_VERSION='0.1.20' -PACKAGE_STRING='unity 0.1.20' +PACKAGE_VERSION='0.1.22' +PACKAGE_STRING='unity 0.1.22' PACKAGE_BUGREPORT='https://launchpad.net/unity' PACKAGE_URL='' @@ -1568,7 +1568,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 unity 0.1.20 to adapt to many kinds of systems. +\`configure' configures unity 0.1.22 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1638,7 +1638,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of unity 0.1.20:";; + short | recursive ) echo "Configuration of unity 0.1.22:";; esac cat <<\_ACEOF @@ -1767,7 +1767,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -unity configure 0.1.20 +unity configure 0.1.22 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2047,7 +2047,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 unity $as_me 0.1.20, which was +It was created by unity $as_me 0.1.22, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -2874,7 +2874,7 @@ fi # Define the identity of the package. PACKAGE=unity - VERSION=0.1.20 + VERSION=0.1.22 cat >>confdefs.h <<_ACEOF @@ -2917,8 +2917,8 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' DL_MAJOR_VERSION=0 DL_MINOR_VERSION=1 -DL_MICRO_VERSION=20 -DL_VERSION=0.1.20 +DL_MICRO_VERSION=22 +DL_VERSION=0.1.22 @@ -13484,9 +13484,9 @@ if test -n "$PKG_CONFIG"; then dbusmodel >= 0.1.0 clutter-1.0 >= 1.0 clutter-gtk-0.10 >= 0.10 - clutk-0.3 >= 0.3.18 + clutk-0.3 >= 0.3.22 indicator - launcher-0.3 >= 0.3.16 + launcher-0.3 >= 0.3.20 libwnck-1.0 >= 2.28.0 unique-1.0 unity-misc @@ -13502,9 +13502,9 @@ if test -n "$PKG_CONFIG"; then dbusmodel >= 0.1.0 clutter-1.0 >= 1.0 clutter-gtk-0.10 >= 0.10 - clutk-0.3 >= 0.3.18 + clutk-0.3 >= 0.3.22 indicator - launcher-0.3 >= 0.3.16 + launcher-0.3 >= 0.3.20 libwnck-1.0 >= 2.28.0 unique-1.0 unity-misc @@ -13523,9 +13523,9 @@ if test -n "$PKG_CONFIG"; then dbusmodel >= 0.1.0 clutter-1.0 >= 1.0 clutter-gtk-0.10 >= 0.10 - clutk-0.3 >= 0.3.18 + clutk-0.3 >= 0.3.22 indicator - launcher-0.3 >= 0.3.16 + launcher-0.3 >= 0.3.20 libwnck-1.0 >= 2.28.0 unique-1.0 unity-misc @@ -13553,9 +13553,9 @@ if test -n "$PKG_CONFIG"; then dbusmodel >= 0.1.0 clutter-1.0 >= 1.0 clutter-gtk-0.10 >= 0.10 - clutk-0.3 >= 0.3.18 + clutk-0.3 >= 0.3.22 indicator - launcher-0.3 >= 0.3.16 + launcher-0.3 >= 0.3.20 libwnck-1.0 >= 2.28.0 unique-1.0 unity-misc @@ -13571,9 +13571,9 @@ if test -n "$PKG_CONFIG"; then dbusmodel >= 0.1.0 clutter-1.0 >= 1.0 clutter-gtk-0.10 >= 0.10 - clutk-0.3 >= 0.3.18 + clutk-0.3 >= 0.3.22 indicator - launcher-0.3 >= 0.3.16 + launcher-0.3 >= 0.3.20 libwnck-1.0 >= 2.28.0 unique-1.0 unity-misc @@ -13592,9 +13592,9 @@ if test -n "$PKG_CONFIG"; then dbusmodel >= 0.1.0 clutter-1.0 >= 1.0 clutter-gtk-0.10 >= 0.10 - clutk-0.3 >= 0.3.18 + clutk-0.3 >= 0.3.22 indicator - launcher-0.3 >= 0.3.16 + launcher-0.3 >= 0.3.20 libwnck-1.0 >= 2.28.0 unique-1.0 unity-misc @@ -13628,9 +13628,9 @@ fi dbusmodel >= 0.1.0 clutter-1.0 >= 1.0 clutter-gtk-0.10 >= 0.10 - clutk-0.3 >= 0.3.18 + clutk-0.3 >= 0.3.22 indicator - launcher-0.3 >= 0.3.16 + launcher-0.3 >= 0.3.20 libwnck-1.0 >= 2.28.0 unique-1.0 unity-misc @@ -13647,9 +13647,9 @@ fi dbusmodel >= 0.1.0 clutter-1.0 >= 1.0 clutter-gtk-0.10 >= 0.10 - clutk-0.3 >= 0.3.18 + clutk-0.3 >= 0.3.22 indicator - launcher-0.3 >= 0.3.16 + launcher-0.3 >= 0.3.20 libwnck-1.0 >= 2.28.0 unique-1.0 unity-misc @@ -13669,9 +13669,9 @@ fi dbusmodel >= 0.1.0 clutter-1.0 >= 1.0 clutter-gtk-0.10 >= 0.10 - clutk-0.3 >= 0.3.18 + clutk-0.3 >= 0.3.22 indicator - launcher-0.3 >= 0.3.16 + launcher-0.3 >= 0.3.20 libwnck-1.0 >= 2.28.0 unique-1.0 unity-misc @@ -14417,7 +14417,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 unity $as_me 0.1.20, which was +This file was extended by unity $as_me 0.1.22, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14483,7 +14483,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="\\ -unity config.status 0.1.20 +unity config.status 0.1.22 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 22cef83b5..c6bbb0918 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ m4_define([unity_major], [0]) m4_define([unity_minor], [1]) -m4_define([unity_micro], [20]) +m4_define([unity_micro], [22]) m4_define([unity_api], [unity_major.unity_minor]) @@ -97,9 +97,9 @@ PKG_CHECK_MODULES(BASE, dbusmodel >= 0.1.0 clutter-1.0 >= 1.0 clutter-gtk-0.10 >= 0.10 - clutk-0.3 >= 0.3.18 + clutk-0.3 >= 0.3.22 indicator - launcher-0.3 >= 0.3.16 + launcher-0.3 >= 0.3.20 libwnck-1.0 >= 2.28.0 unique-1.0 unity-misc diff --git a/data/unity.schemas b/data/unity.schemas index ea6402e6c..b2d580644 100644 --- a/data/unity.schemas +++ b/data/unity.schemas @@ -20,7 +20,7 @@ <applyto>/desktop/unity/panel/search_hint</applyto> <owner>unity</owner> <type>string</type> - <default>"Yahoo!"</default> + <default>Yahoo!</default> <locale name="C"> <short>The search hint used for panel search</short> <long>The search hint used for panel search.</long> diff --git a/libunity/Makefile.am b/libunity/Makefile.am index 8acf171b4..734fb50d5 100644 --- a/libunity/Makefile.am +++ b/libunity/Makefile.am @@ -46,6 +46,7 @@ libunity_la_VALASOURCES = \ drag-controller.vala \ drag-view.vala \ entry.vala \ + icon-postprocessor.vala \ perf-logger.vala \ prism-handler.vala \ shell.vala \ diff --git a/libunity/Makefile.in b/libunity/Makefile.in index d02d9d5c1..98fc625bb 100644 --- a/libunity/Makefile.in +++ b/libunity/Makefile.in @@ -58,9 +58,9 @@ libunity_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_1 = libunity_la-application.lo \ libunity_la-chrome-handler.lo libunity_la-drag-controller.lo \ libunity_la-drag-view.lo libunity_la-entry.lo \ - libunity_la-perf-logger.lo libunity_la-prism-handler.lo \ - libunity_la-shell.lo libunity_la-theme.lo \ - libunity_la-webapp-fetcher.lo \ + libunity_la-icon-postprocessor.lo libunity_la-perf-logger.lo \ + libunity_la-prism-handler.lo libunity_la-shell.lo \ + libunity_la-theme.lo libunity_la-webapp-fetcher.lo \ libunity_la-webapp-iconbuilder.lo am_libunity_la_OBJECTS = $(am__objects_1) libunity_la_OBJECTS = $(am_libunity_la_OBJECTS) @@ -299,6 +299,7 @@ libunity_la_VALASOURCES = \ drag-controller.vala \ drag-view.vala \ entry.vala \ + icon-postprocessor.vala \ perf-logger.vala \ prism-handler.vala \ shell.vala \ @@ -368,6 +369,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libunity_la-drag-controller.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libunity_la-drag-view.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libunity_la-entry.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libunity_la-icon-postprocessor.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libunity_la-perf-logger.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libunity_la-prism-handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libunity_la-shell.Plo@am__quote@ @@ -439,6 +441,14 @@ libunity_la-entry.lo: entry.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libunity_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libunity_la-entry.lo `test -f 'entry.c' || echo '$(srcdir)/'`entry.c +libunity_la-icon-postprocessor.lo: icon-postprocessor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libunity_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libunity_la-icon-postprocessor.lo -MD -MP -MF $(DEPDIR)/libunity_la-icon-postprocessor.Tpo -c -o libunity_la-icon-postprocessor.lo `test -f 'icon-postprocessor.c' || echo '$(srcdir)/'`icon-postprocessor.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libunity_la-icon-postprocessor.Tpo $(DEPDIR)/libunity_la-icon-postprocessor.Plo +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='icon-postprocessor.c' object='libunity_la-icon-postprocessor.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libunity_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libunity_la-icon-postprocessor.lo `test -f 'icon-postprocessor.c' || echo '$(srcdir)/'`icon-postprocessor.c + libunity_la-perf-logger.lo: perf-logger.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libunity_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libunity_la-perf-logger.lo -MD -MP -MF $(DEPDIR)/libunity_la-perf-logger.Tpo -c -o libunity_la-perf-logger.lo `test -f 'perf-logger.c' || echo '$(srcdir)/'`perf-logger.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libunity_la-perf-logger.Tpo $(DEPDIR)/libunity_la-perf-logger.Plo diff --git a/libunity/icon-postprocessor.c b/libunity/icon-postprocessor.c new file mode 100644 index 000000000..f0b60a9a1 --- /dev/null +++ b/libunity/icon-postprocessor.c @@ -0,0 +1,606 @@ +/* icon-postprocessor.c generated by valac, the Vala compiler + * generated from icon-postprocessor.vala, do not modify */ + +/* + * icon-postprocessor.vala + * Copyright (C) 2010 Canonical Ltd + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + * + * Authored by Gordon Allott <gord.allott@canonical.com> + */ + +#include <glib.h> +#include <glib-object.h> +#include <clutk/clutk.h> +#include <clutter/clutter.h> +#include <cogl/cogl.h> +#include <float.h> +#include <math.h> +#include <string.h> +#include <stdlib.h> + + +#define UNITY_TYPE_UNITY_ICON (unity_unity_icon_get_type ()) +#define UNITY_UNITY_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_TYPE_UNITY_ICON, UnityUnityIcon)) +#define UNITY_UNITY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_TYPE_UNITY_ICON, UnityUnityIconClass)) +#define UNITY_IS_UNITY_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_TYPE_UNITY_ICON)) +#define UNITY_IS_UNITY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_TYPE_UNITY_ICON)) +#define UNITY_UNITY_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_TYPE_UNITY_ICON, UnityUnityIconClass)) + +typedef struct _UnityUnityIcon UnityUnityIcon; +typedef struct _UnityUnityIconClass UnityUnityIconClass; +typedef struct _UnityUnityIconPrivate UnityUnityIconPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _cogl_handle_unref0(var) ((var == NULL) ? NULL : (var = (cogl_handle_unref (var), NULL))) + +#define UNITY_TYPE_THEME_IMAGE (unity_theme_image_get_type ()) +#define UNITY_THEME_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_TYPE_THEME_IMAGE, UnityThemeImage)) +#define UNITY_THEME_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_TYPE_THEME_IMAGE, UnityThemeImageClass)) +#define UNITY_IS_THEME_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_TYPE_THEME_IMAGE)) +#define UNITY_IS_THEME_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_TYPE_THEME_IMAGE)) +#define UNITY_THEME_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_TYPE_THEME_IMAGE, UnityThemeImageClass)) + +typedef struct _UnityThemeImage UnityThemeImage; +typedef struct _UnityThemeImageClass UnityThemeImageClass; + +struct _UnityUnityIcon { + CtkActor parent_instance; + UnityUnityIconPrivate * priv; +}; + +struct _UnityUnityIconClass { + CtkActorClass parent_class; +}; + +struct _UnityUnityIconPrivate { + ClutterTexture* _icon; + ClutterTexture* _bg_color; + ClutterTexture* bg_layer; + ClutterTexture* fg_layer; + ClutterTexture* mask; + CoglHandle* bg_mat; + CoglHandle* fg_mat; + CoglHandle* icon_material; + CoglHandle* bgcol_material; +}; + + +static gpointer unity_unity_icon_parent_class = NULL; + +GType unity_unity_icon_get_type (void); +#define UNITY_UNITY_ICON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UNITY_TYPE_UNITY_ICON, UnityUnityIconPrivate)) +enum { + UNITY_UNITY_ICON_DUMMY_PROPERTY, + UNITY_UNITY_ICON_ICON, + UNITY_UNITY_ICON_BG_COLOR +}; +UnityUnityIcon* unity_unity_icon_new (ClutterTexture* icon, ClutterTexture* bg_tex); +UnityUnityIcon* unity_unity_icon_construct (GType object_type, ClutterTexture* icon, ClutterTexture* bg_tex); +static void unity_unity_icon_real_get_preferred_width (ClutterActor* base, float for_height, float* minimum_width, float* natural_width); +static void unity_unity_icon_real_get_preferred_height (ClutterActor* base, float for_width, float* minimum_height, float* natural_height); +ClutterTexture* unity_unity_icon_get_icon (UnityUnityIcon* self); +ClutterTexture* unity_unity_icon_get_bg_color (UnityUnityIcon* self); +static void unity_unity_icon_real_allocate (ClutterActor* base, const ClutterActorBox* box, ClutterAllocationFlags flags); +static void unity_unity_icon_real_pick (ClutterActor* base, const ClutterColor* color); +void unity_unity_icon_paint_real (ClutterActor* actor); +static void _unity_unity_icon_paint_real_ctk_effect_paint_func (ClutterActor* actor); +static void unity_unity_icon_real_paint (ClutterActor* base); +static void unity_unity_icon_real_map (ClutterActor* base); +static void unity_unity_icon_real_unmap (ClutterActor* base); +static void unity_unity_icon_set_icon (UnityUnityIcon* self, ClutterTexture* value); +static void unity_unity_icon_set_bg_color (UnityUnityIcon* self, ClutterTexture* value); +UnityThemeImage* unity_theme_image_new (const char* icon_name); +UnityThemeImage* unity_theme_image_construct (GType object_type, const char* icon_name); +GType unity_theme_image_get_type (void); +static GObject * unity_unity_icon_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); +static void unity_unity_icon_finalize (GObject* obj); +static void unity_unity_icon_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void unity_unity_icon_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); + + + +#line 43 "icon-postprocessor.vala" +UnityUnityIcon* unity_unity_icon_construct (GType object_type, ClutterTexture* icon, ClutterTexture* bg_tex) { +#line 120 "icon-postprocessor.c" + UnityUnityIcon * self; +#line 45 "icon-postprocessor.vala" + self = (UnityUnityIcon*) g_object_new (object_type, "icon", icon, "bg-color", bg_tex, NULL); +#line 124 "icon-postprocessor.c" + return self; +} + + +#line 43 "icon-postprocessor.vala" +UnityUnityIcon* unity_unity_icon_new (ClutterTexture* icon, ClutterTexture* bg_tex) { +#line 43 "icon-postprocessor.vala" + return unity_unity_icon_construct (UNITY_TYPE_UNITY_ICON, icon, bg_tex); +#line 133 "icon-postprocessor.c" +} + + +#line 90 "icon-postprocessor.vala" +static void unity_unity_icon_real_get_preferred_width (ClutterActor* base, float for_height, float* minimum_width, float* natural_width) { +#line 139 "icon-postprocessor.c" + UnityUnityIcon * self; + self = (UnityUnityIcon*) base; +#line 94 "icon-postprocessor.vala" + *natural_width = *minimum_width = (float) 48; +#line 144 "icon-postprocessor.c" +} + + +#line 97 "icon-postprocessor.vala" +static void unity_unity_icon_real_get_preferred_height (ClutterActor* base, float for_width, float* minimum_height, float* natural_height) { +#line 150 "icon-postprocessor.c" + UnityUnityIcon * self; + self = (UnityUnityIcon*) base; +#line 101 "icon-postprocessor.vala" + *natural_height = *minimum_height = (float) 48; +#line 155 "icon-postprocessor.c" +} + + +#line 104 "icon-postprocessor.vala" +static void unity_unity_icon_real_allocate (ClutterActor* base, const ClutterActorBox* box, ClutterAllocationFlags flags) { +#line 161 "icon-postprocessor.c" + UnityUnityIcon * self; + self = (UnityUnityIcon*) base; +#line 106 "icon-postprocessor.vala" + CLUTTER_ACTOR_CLASS (unity_unity_icon_parent_class)->allocate ((ClutterActor*) CTK_ACTOR (self), box, flags); +#line 107 "icon-postprocessor.vala" + clutter_actor_allocate ((ClutterActor*) self->priv->bg_layer, box, flags); +#line 108 "icon-postprocessor.vala" + clutter_actor_allocate ((ClutterActor*) self->priv->fg_layer, box, flags); +#line 109 "icon-postprocessor.vala" + clutter_actor_allocate ((ClutterActor*) self->priv->mask, box, flags); +#line 110 "icon-postprocessor.vala" + if (CLUTTER_IS_TEXTURE (self->priv->_icon)) { +#line 111 "icon-postprocessor.vala" + clutter_actor_allocate ((ClutterActor*) self->priv->_icon, box, flags); +#line 176 "icon-postprocessor.c" + } +#line 112 "icon-postprocessor.vala" + if (CLUTTER_IS_TEXTURE (self->priv->_bg_color)) { +#line 113 "icon-postprocessor.vala" + clutter_actor_allocate ((ClutterActor*) self->priv->_bg_color, box, flags); +#line 182 "icon-postprocessor.c" + } +} + + +#line 116 "icon-postprocessor.vala" +static void unity_unity_icon_real_pick (ClutterActor* base, const ClutterColor* color) { +#line 189 "icon-postprocessor.c" + UnityUnityIcon * self; + self = (UnityUnityIcon*) base; +#line 118 "icon-postprocessor.vala" + ctk_actor_set_effects_painting ((CtkActor*) self, TRUE); +#line 119 "icon-postprocessor.vala" + CLUTTER_ACTOR_CLASS (unity_unity_icon_parent_class)->pick ((ClutterActor*) CTK_ACTOR (self), color); +#line 120 "icon-postprocessor.vala" + clutter_actor_paint ((ClutterActor*) self->priv->bg_layer); +#line 121 "icon-postprocessor.vala" + ctk_actor_set_effects_painting ((CtkActor*) self, FALSE); +#line 200 "icon-postprocessor.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { + return self ? g_object_ref (self) : NULL; +} + + +#line 127 "icon-postprocessor.vala" +void unity_unity_icon_paint_real (ClutterActor* actor) { +#line 211 "icon-postprocessor.c" + ClutterActor* _tmp0_; + UnityUnityIcon* _self_; + ClutterActorBox _tmp1_ = {0}; + ClutterActorBox box; +#line 127 "icon-postprocessor.vala" + g_return_if_fail (actor != NULL); +#line 129 "icon-postprocessor.vala" + _self_ = _g_object_ref0 ((_tmp0_ = actor, UNITY_IS_UNITY_ICON (_tmp0_) ? ((UnityUnityIcon*) _tmp0_) : NULL)); +#line 131 "icon-postprocessor.vala" + box = (memset (&_tmp1_, 0, sizeof (ClutterActorBox)), _tmp1_); +#line 132 "icon-postprocessor.vala" + ctk_actor_get_stored_allocation ((CtkActor*) _self_, &box); +#line 137 "icon-postprocessor.vala" + cogl_set_source (_self_->priv->bg_mat); +#line 138 "icon-postprocessor.vala" + cogl_rectangle (box.x1, box.y1, box.x2, box.y2); +#line 140 "icon-postprocessor.vala" + if (CLUTTER_IS_TEXTURE (_self_->priv->_bg_color)) { +#line 142 "icon-postprocessor.vala" + cogl_set_source (_self_->priv->bgcol_material); +#line 143 "icon-postprocessor.vala" + cogl_rectangle (box.x1, box.y1, box.x2, box.y2); +#line 234 "icon-postprocessor.c" + } +#line 145 "icon-postprocessor.vala" + if (CLUTTER_IS_TEXTURE (_self_->priv->_icon)) { +#line 147 "icon-postprocessor.vala" + cogl_set_source (_self_->priv->icon_material); +#line 148 "icon-postprocessor.vala" + cogl_rectangle (box.x1, box.y1, box.x2, box.y2); +#line 242 "icon-postprocessor.c" + } +#line 151 "icon-postprocessor.vala" + cogl_set_source (_self_->priv->fg_mat); +#line 152 "icon-postprocessor.vala" + cogl_rectangle (box.x1, box.y1, box.x2, box.y2); +#line 248 "icon-postprocessor.c" + _g_object_unref0 (_self_); +} + + +#line 127 "icon-postprocessor.vala" +static void _unity_unity_icon_paint_real_ctk_effect_paint_func (ClutterActor* actor) { +#line 255 "icon-postprocessor.c" + unity_unity_icon_paint_real (actor); +} + + +#line 155 "icon-postprocessor.vala" +static void unity_unity_icon_real_paint (ClutterActor* base) { +#line 262 "icon-postprocessor.c" + UnityUnityIcon * self; + GSList* effects; + gboolean _tmp0_ = FALSE; + self = (UnityUnityIcon*) base; +#line 160 "icon-postprocessor.vala" + effects = ctk_actor_get_effects ((CtkActor*) self); +#line 161 "icon-postprocessor.vala" + if (!ctk_actor_get_effects_painting ((CtkActor*) self)) { +#line 161 "icon-postprocessor.vala" + _tmp0_ = effects != NULL; +#line 273 "icon-postprocessor.c" + } else { +#line 161 "icon-postprocessor.vala" + _tmp0_ = FALSE; +#line 277 "icon-postprocessor.c" + } +#line 161 "icon-postprocessor.vala" + if (_tmp0_) { +#line 281 "icon-postprocessor.c" + GSList* e; + e = NULL; +#line 164 "icon-postprocessor.vala" + ctk_actor_set_effects_painting ((CtkActor*) self, TRUE); +#line 286 "icon-postprocessor.c" + { + gboolean _tmp1_; +#line 165 "icon-postprocessor.vala" + e = effects; +#line 165 "icon-postprocessor.vala" + _tmp1_ = TRUE; +#line 165 "icon-postprocessor.vala" + while (TRUE) { +#line 295 "icon-postprocessor.c" + CtkEffect* effect; + gboolean _tmp2_ = FALSE; + gboolean last_effect; +#line 165 "icon-postprocessor.vala" + if (!_tmp1_) { +#line 165 "icon-postprocessor.vala" + e = e->next; +#line 303 "icon-postprocessor.c" + } +#line 165 "icon-postprocessor.vala" + _tmp1_ = FALSE; +#line 165 "icon-postprocessor.vala" + if (!(e != NULL)) { +#line 165 "icon-postprocessor.vala" + break; +#line 311 "icon-postprocessor.c" + } +#line 167 "icon-postprocessor.vala" + effect = _g_object_ref0 ((CtkEffect*) e->data); +#line 168 "icon-postprocessor.vala" + if (e->next != NULL) { +#line 168 "icon-postprocessor.vala" + _tmp2_ = FALSE; +#line 319 "icon-postprocessor.c" + } else { +#line 168 "icon-postprocessor.vala" + _tmp2_ = TRUE; +#line 323 "icon-postprocessor.c" + } +#line 168 "icon-postprocessor.vala" + last_effect = _tmp2_; +#line 169 "icon-postprocessor.vala" + ctk_effect_paint (effect, _unity_unity_icon_paint_real_ctk_effect_paint_func, last_effect); +#line 329 "icon-postprocessor.c" + _g_object_unref0 (effect); + } + } +#line 172 "icon-postprocessor.vala" + ctk_actor_set_effects_painting ((CtkActor*) self, FALSE); +#line 335 "icon-postprocessor.c" + } else { +#line 176 "icon-postprocessor.vala" + unity_unity_icon_paint_real ((ClutterActor*) self); +#line 339 "icon-postprocessor.c" + } +} + + +#line 180 "icon-postprocessor.vala" +static void unity_unity_icon_real_map (ClutterActor* base) { +#line 346 "icon-postprocessor.c" + UnityUnityIcon * self; + self = (UnityUnityIcon*) base; +#line 182 "icon-postprocessor.vala" + CLUTTER_ACTOR_CLASS (unity_unity_icon_parent_class)->map ((ClutterActor*) CTK_ACTOR (self)); +#line 183 "icon-postprocessor.vala" + clutter_actor_map ((ClutterActor*) self->priv->bg_layer); +#line 184 "icon-postprocessor.vala" + clutter_actor_map ((ClutterActor*) self->priv->_icon); +#line 185 "icon-postprocessor.vala" + clutter_actor_map ((ClutterActor*) self->priv->fg_layer); +#line 357 "icon-postprocessor.c" +} + + +#line 188 "icon-postprocessor.vala" +static void unity_unity_icon_real_unmap (ClutterActor* base) { +#line 363 "icon-postprocessor.c" + UnityUnityIcon * self; + self = (UnityUnityIcon*) base; +#line 190 "icon-postprocessor.vala" + CLUTTER_ACTOR_CLASS (unity_unity_icon_parent_class)->map ((ClutterActor*) CTK_ACTOR (self)); +#line 191 "icon-postprocessor.vala" + clutter_actor_unmap ((ClutterActor*) self->priv->bg_layer); +#line 192 "icon-postprocessor.vala" + clutter_actor_unmap ((ClutterActor*) self->priv->_icon); +#line 193 "icon-postprocessor.vala" + clutter_actor_unmap ((ClutterActor*) self->priv->fg_layer); +#line 374 "icon-postprocessor.c" +} + + +ClutterTexture* unity_unity_icon_get_icon (UnityUnityIcon* self) { + ClutterTexture* result; + g_return_val_if_fail (self != NULL, NULL); + result = self->priv->_icon; +#line 32 "icon-postprocessor.vala" + return result; +#line 384 "icon-postprocessor.c" +} + + +static void unity_unity_icon_set_icon (UnityUnityIcon* self, ClutterTexture* value) { + ClutterTexture* _tmp0_; + g_return_if_fail (self != NULL); + self->priv->_icon = (_tmp0_ = _g_object_ref0 (value), _g_object_unref0 (self->priv->_icon), _tmp0_); + g_object_notify ((GObject *) self, "icon"); +} + + +ClutterTexture* unity_unity_icon_get_bg_color (UnityUnityIcon* self) { + ClutterTexture* result; + g_return_val_if_fail (self != NULL, NULL); + result = self->priv->_bg_color; +#line 33 "icon-postprocessor.vala" + return result; +#line 402 "icon-postprocessor.c" +} + + +static void unity_unity_icon_set_bg_color (UnityUnityIcon* self, ClutterTexture* value) { + ClutterTexture* _tmp0_; + g_return_if_fail (self != NULL); + self->priv->_bg_color = (_tmp0_ = _g_object_ref0 (value), _g_object_unref0 (self->priv->_bg_color), _tmp0_); + g_object_notify ((GObject *) self, "bg-color"); +} + + +static gpointer _cogl_handle_ref0 (gpointer self) { + return self ? cogl_handle_ref (self) : NULL; +} + + +static GObject * unity_unity_icon_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GObjectClass * parent_class; + UnityUnityIcon * self; + parent_class = G_OBJECT_CLASS (unity_unity_icon_parent_class); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = UNITY_UNITY_ICON (obj); + { + ClutterTexture* _tmp0_; + ClutterTexture* _tmp1_; + ClutterTexture* _tmp2_; + CoglHandle* mat; + CoglHandle* tex; + CoglHandle* _tmp5_; + CoglHandle* _tmp6_; + CoglHandle* _tmp7_; + CoglHandle* _tmp8_; +#line 50 "icon-postprocessor.vala" + self->priv->bg_layer = (_tmp0_ = (ClutterTexture*) g_object_ref_sink (unity_theme_image_new ("prism_icon_background")), _g_object_unref0 (self->priv->bg_layer), _tmp0_); +#line 51 "icon-postprocessor.vala" + self->priv->fg_layer = (_tmp1_ = (ClutterTexture*) g_object_ref_sink (unity_theme_image_new ("prism_icon_foreground")), _g_object_unref0 (self->priv->fg_layer), _tmp1_); +#line 52 "icon-postprocessor.vala" + self->priv->mask = (_tmp2_ = (ClutterTexture*) g_object_ref_sink (unity_theme_image_new ("prism_icon_mask")), _g_object_unref0 (self->priv->mask), _tmp2_); +#line 54 "icon-postprocessor.vala" + clutter_actor_set_parent ((ClutterActor*) self->priv->bg_layer, (ClutterActor*) self); +#line 55 "icon-postprocessor.vala" + clutter_actor_set_parent ((ClutterActor*) self->priv->fg_layer, (ClutterActor*) self); +#line 56 "icon-postprocessor.vala" + clutter_actor_set_parent ((ClutterActor*) self->priv->mask, (ClutterActor*) self); +#line 58 "icon-postprocessor.vala" + if (CLUTTER_IS_TEXTURE (self->priv->_icon)) { +#line 450 "icon-postprocessor.c" + CoglHandle* icon_mat; + CoglHandle* icon_tex; + CoglHandle* mask_tex; + CoglHandle* _tmp3_; +#line 60 "icon-postprocessor.vala" + clutter_actor_set_parent ((ClutterActor*) self->priv->_icon, (ClutterActor*) self); +#line 61 "icon-postprocessor.vala" + icon_mat = cogl_material_new (); +#line 62 "icon-postprocessor.vala" + icon_tex = (CoglHandle*) clutter_texture_get_cogl_texture (self->priv->_icon); +#line 63 "icon-postprocessor.vala" + mask_tex = (CoglHandle*) clutter_texture_get_cogl_texture (self->priv->mask); +#line 64 "icon-postprocessor.vala" + cogl_material_set_layer (icon_mat, 0, icon_tex); +#line 65 "icon-postprocessor.vala" + cogl_material_set_layer (icon_mat, 1, mask_tex); +#line 66 "icon-postprocessor.vala" + self->priv->icon_material = (_tmp3_ = _cogl_handle_ref0 (icon_mat), _cogl_handle_unref0 (self->priv->icon_material), _tmp3_); +#line 469 "icon-postprocessor.c" + _cogl_handle_unref0 (icon_mat); + _cogl_handle_unref0 (icon_tex); + _cogl_handle_unref0 (mask_tex); + } +#line 68 "icon-postprocessor.vala" + if (CLUTTER_IS_TEXTURE (self->priv->_bg_color)) { +#line 476 "icon-postprocessor.c" + CoglHandle* _tmp4_; + CoglHandle* color; + CoglHandle* mask_tex; +#line 70 "icon-postprocessor.vala" + clutter_actor_set_parent ((ClutterActor*) self->priv->_bg_color, (ClutterActor*) self); +#line 71 "icon-postprocessor.vala" + self->priv->bgcol_material = (_tmp4_ = cogl_material_new (), _cogl_handle_unref0 (self->priv->bgcol_material), _tmp4_); +#line 72 "icon-postprocessor.vala" + color = (CoglHandle*) clutter_texture_get_cogl_texture (self->priv->_bg_color); +#line 73 "icon-postprocessor.vala" + mask_tex = (CoglHandle*) clutter_texture_get_cogl_texture (self->priv->mask); +#line 74 "icon-postprocessor.vala" + cogl_material_set_layer (self->priv->bgcol_material, 0, color); +#line 75 "icon-postprocessor.vala" + cogl_material_set_layer_filters (self->priv->bgcol_material, 1, COGL_MATERIAL_FILTER_NEAREST, COGL_MATERIAL_FILTER_NEAREST); +#line 76 "icon-postprocessor.vala" + cogl_material_set_layer (self->priv->bgcol_material, 1, mask_tex); +#line 494 "icon-postprocessor.c" + _cogl_handle_unref0 (color); + _cogl_handle_unref0 (mask_tex); + } +#line 79 "icon-postprocessor.vala" + mat = cogl_material_new (); +#line 80 "icon-postprocessor.vala" + tex = (CoglHandle*) clutter_texture_get_cogl_texture (self->priv->bg_layer); +#line 81 "icon-postprocessor.vala" + cogl_material_set_layer (mat, 0, tex); +#line 82 "icon-postprocessor.vala" + self->priv->bg_mat = (_tmp5_ = _cogl_handle_ref0 (mat), _cogl_handle_unref0 (self->priv->bg_mat), _tmp5_); +#line 84 "icon-postprocessor.vala" + mat = (_tmp6_ = cogl_material_new (), _cogl_handle_unref0 (mat), _tmp6_); +#line 85 "icon-postprocessor.vala" + tex = (_tmp7_ = (CoglHandle*) clutter_texture_get_cogl_texture (self->priv->fg_layer), _cogl_handle_unref0 (tex), _tmp7_); +#line 86 "icon-postprocessor.vala" + cogl_material_set_layer (mat, 0, tex); +#line 87 "icon-postprocessor.vala" + self->priv->fg_mat = (_tmp8_ = _cogl_handle_ref0 (mat), _cogl_handle_unref0 (self->priv->fg_mat), _tmp8_); +#line 514 "icon-postprocessor.c" + _cogl_handle_unref0 (mat); + _cogl_handle_unref0 (tex); + } + return obj; +} + + +static void unity_unity_icon_class_init (UnityUnityIconClass * klass) { + unity_unity_icon_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (UnityUnityIconPrivate)); + CLUTTER_ACTOR_CLASS (klass)->get_preferred_width = unity_unity_icon_real_get_preferred_width; + CLUTTER_ACTOR_CLASS (klass)->get_preferred_height = unity_unity_icon_real_get_preferred_height; + CLUTTER_ACTOR_CLASS (klass)->allocate = unity_unity_icon_real_allocate; + CLUTTER_ACTOR_CLASS (klass)->pick = unity_unity_icon_real_pick; + CLUTTER_ACTOR_CLASS (klass)->paint = unity_unity_icon_real_paint; + CLUTTER_ACTOR_CLASS (klass)->map = unity_unity_icon_real_map; + CLUTTER_ACTOR_CLASS (klass)->unmap = unity_unity_icon_real_unmap; + G_OBJECT_CLASS (klass)->get_property = unity_unity_icon_get_property; + G_OBJECT_CLASS (klass)->set_property = unity_unity_icon_set_property; + G_OBJECT_CLASS (klass)->constructor = unity_unity_icon_constructor; + G_OBJECT_CLASS (klass)->finalize = unity_unity_icon_finalize; + g_object_class_install_property (G_OBJECT_CLASS (klass), UNITY_UNITY_ICON_ICON, g_param_spec_object ("icon", "icon", "icon", CLUTTER_TYPE_TEXTURE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), UNITY_UNITY_ICON_BG_COLOR, g_param_spec_object ("bg-color", "bg-color", "bg-color", CLUTTER_TYPE_TEXTURE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); +} + + +static void unity_unity_icon_instance_init (UnityUnityIcon * self) { + self->priv = UNITY_UNITY_ICON_GET_PRIVATE (self); +} + + +static void unity_unity_icon_finalize (GObject* obj) { + UnityUnityIcon * self; + self = UNITY_UNITY_ICON (obj); + _g_object_unref0 (self->priv->_icon); + _g_object_unref0 (self->priv->_bg_color); + _g_object_unref0 (self->priv->bg_layer); + _g_object_unref0 (self->priv->fg_layer); + _g_object_unref0 (self->priv->mask); + _cogl_handle_unref0 (self->priv->bg_mat); + _cogl_handle_unref0 (self->priv->fg_mat); + _cogl_handle_unref0 (self->priv->icon_material); + _cogl_handle_unref0 (self->priv->bgcol_material); + G_OBJECT_CLASS (unity_unity_icon_parent_class)->finalize (obj); +} + + +GType unity_unity_icon_get_type (void) { + static GType unity_unity_icon_type_id = 0; + if (unity_unity_icon_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (UnityUnityIconClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) unity_unity_icon_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (UnityUnityIcon), 0, (GInstanceInitFunc) unity_unity_icon_instance_init, NULL }; + unity_unity_icon_type_id = g_type_register_static (CTK_TYPE_ACTOR, "UnityUnityIcon", &g_define_type_info, 0); + } + return unity_unity_icon_type_id; +} + + +static void unity_unity_icon_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + UnityUnityIcon * self; + self = UNITY_UNITY_ICON (object); + switch (property_id) { + case UNITY_UNITY_ICON_ICON: + g_value_set_object (value, unity_unity_icon_get_icon (self)); + break; + case UNITY_UNITY_ICON_BG_COLOR: + g_value_set_object (value, unity_unity_icon_get_bg_color (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + + +static void unity_unity_icon_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + UnityUnityIcon * self; + self = UNITY_UNITY_ICON (object); + switch (property_id) { + case UNITY_UNITY_ICON_ICON: + unity_unity_icon_set_icon (self, g_value_get_object (value)); + break; + case UNITY_UNITY_ICON_BG_COLOR: + unity_unity_icon_set_bg_color (self, g_value_get_object (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + + + + diff --git a/libunity/icon-postprocessor.vala b/libunity/icon-postprocessor.vala new file mode 100644 index 000000000..299490337 --- /dev/null +++ b/libunity/icon-postprocessor.vala @@ -0,0 +1,196 @@ +/* + * icon-postprocessor.vala + * Copyright (C) 2010 Canonical Ltd + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + * + * Authored by Gordon Allott <gord.allott@canonical.com> + */ +using Cairo; + +namespace Unity +{ + /* just a layered actor that layers the different components of our + * icon on top of each other + */ + public class UnityIcon : Ctk.Actor + { + public Clutter.Texture? icon {get; construct;} + public Clutter.Texture? bg_color {get; construct;} + private Clutter.Texture bg_layer; + private Clutter.Texture fg_layer; + private Clutter.Texture mask; + + private Cogl.Material bg_mat; + private Cogl.Material fg_mat; + private Cogl.Material icon_material; + private Cogl.Material bgcol_material; + + public UnityIcon (Clutter.Texture? icon, Clutter.Texture? bg_tex) + { + Object (icon: icon, bg_color: bg_tex); + } + + construct + { + this.bg_layer = new ThemeImage ("prism_icon_background"); + this.fg_layer = new ThemeImage ("prism_icon_foreground"); + this.mask = new ThemeImage ("prism_icon_mask"); + + this.bg_layer.set_parent (this); + this.fg_layer.set_parent (this); + this.mask.set_parent (this); + + if (this.icon is Clutter.Texture) + { + this.icon.set_parent (this); + var icon_mat = new Cogl.Material (); + Cogl.Texture icon_tex = (Cogl.Texture)(this.icon.get_cogl_texture ()); + Cogl.Texture mask_tex = (Cogl.Texture)(this.mask.get_cogl_texture ()); + icon_mat.set_layer (0, icon_tex); + icon_mat.set_layer (1, mask_tex); + this.icon_material = icon_mat; + } + if (this.bg_color is Clutter.Texture) + { + this.bg_color.set_parent (this); + this.bgcol_material = new Cogl.Material (); + Cogl.Texture color = (Cogl.Texture)(this.bg_color.get_cogl_texture ()); + Cogl.Texture mask_tex = (Cogl.Texture)(this.mask.get_cogl_texture ()); + this.bgcol_material.set_layer (0, color); + this.bgcol_material.set_layer_filters (1, Cogl.MaterialFilter.NEAREST, Cogl.MaterialFilter.NEAREST); + this.bgcol_material.set_layer (1, mask_tex); + } + + var mat = new Cogl.Material (); + Cogl.Texture tex = (Cogl.Texture)(this.bg_layer.get_cogl_texture ()); + mat.set_layer (0, tex); + this.bg_mat = mat; + + mat = new Cogl.Material (); + tex = (Cogl.Texture)(this.fg_layer.get_cogl_texture ()); + mat.set_layer (0, tex); + this.fg_mat = mat; + } + + public override void get_preferred_width (float for_height, + out float minimum_width, + out float natural_width) + { + natural_width = minimum_width = 48; + } + + public override void get_preferred_height (float for_width, + out float minimum_height, + out float natural_height) + { + natural_height = minimum_height = 48; + } + + public override void allocate (Clutter.ActorBox box, Clutter.AllocationFlags flags) + { + base.allocate (box, flags); + this.bg_layer.allocate (box, flags); + this.fg_layer.allocate (box, flags); + this.mask.allocate (box, flags); + if (this.icon is Clutter.Texture) + this.icon.allocate (box, flags); + if (this.bg_color is Clutter.Texture) + this.bg_color.allocate (box, flags); + } + + public override void pick (Clutter.Color color) + { + this.set_effects_painting (true); + base.pick (color); + this.bg_layer.paint (); + this.set_effects_painting (false); + } + + /* The closest most horrible thing you will ever see in vala. its basically + * C code... - oh well it works + */ + public static void paint_real (Clutter.Actor actor) + { + UnityIcon self = actor as UnityIcon; + + Clutter.ActorBox box = Clutter.ActorBox (); + self.get_stored_allocation (out box); + + /* we draw everything with cogl because Clutter.Texture seems to be made + * of dumb. also it likes to double allocate everything + */ + Cogl.set_source (self.bg_mat); + Cogl.rectangle (box.x1, box.y1, box.x2, box.y2); + + if (self.bg_color is Clutter.Texture) + { + Cogl.set_source (self.bgcol_material); + Cogl.rectangle (box.x1, box.y1, box.x2, box.y2); + } + if (self.icon is Clutter.Texture) + { + Cogl.set_source (self.icon_material); + Cogl.rectangle (box.x1, box.y1, box.x2, box.y2); + } + + Cogl.set_source (self.fg_mat); + Cogl.rectangle (box.x1, box.y1, box.x2, box.y2); + } + + public override void paint () + { + /* we need a beter way of doing this effects stuff in vala, its horrible + * to do, must have a think... + */ + unowned SList<Ctk.Effect> effects = this.get_effects (); + if (!this.get_effects_painting () && effects != null) + { + unowned SList<Ctk.Effect> e; + this.set_effects_painting (true); + for (e = effects; e != null; e = e.next) + { + Ctk.Effect effect = e.data; + bool last_effect = (e.next != null) ? false : true; + effect.paint (this.paint_real, last_effect); + } + + this.set_effects_painting (false); + } + else + { + this.paint_real (this); + } + } + + public override void map () + { + base.map (); + this.bg_layer.map (); + this.icon.map (); + this.fg_layer.map (); + } + + public override void unmap () + { + base.map (); + this.bg_layer.unmap (); + this.icon.unmap (); + this.fg_layer.unmap (); + } + } +} diff --git a/libunity/unity.h b/libunity/unity.h index 81eb4bae3..87ca2b509 100644 --- a/libunity/unity.h +++ b/libunity/unity.h @@ -83,6 +83,17 @@ typedef struct _UnityEntry UnityEntry; typedef struct _UnityEntryClass UnityEntryClass; typedef struct _UnityEntryPrivate UnityEntryPrivate; +#define UNITY_TYPE_UNITY_ICON (unity_unity_icon_get_type ()) +#define UNITY_UNITY_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_TYPE_UNITY_ICON, UnityUnityIcon)) +#define UNITY_UNITY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_TYPE_UNITY_ICON, UnityUnityIconClass)) +#define UNITY_IS_UNITY_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_TYPE_UNITY_ICON)) +#define UNITY_IS_UNITY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_TYPE_UNITY_ICON)) +#define UNITY_UNITY_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_TYPE_UNITY_ICON, UnityUnityIconClass)) + +typedef struct _UnityUnityIcon UnityUnityIcon; +typedef struct _UnityUnityIconClass UnityUnityIconClass; +typedef struct _UnityUnityIconPrivate UnityUnityIconPrivate; + #define UNITY_TYPE_PROCESS_INFO (unity_process_info_get_type ()) #define UNITY_PROCESS_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_TYPE_PROCESS_INFO, UnityProcessInfo)) #define UNITY_PROCESS_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_TYPE_PROCESS_INFO, UnityProcessInfoClass)) @@ -230,6 +241,15 @@ struct _UnityEntryClass { CtkTextClass parent_class; }; +struct _UnityUnityIcon { + CtkActor parent_instance; + UnityUnityIconPrivate * priv; +}; + +struct _UnityUnityIconClass { + CtkActorClass parent_class; +}; + struct _UnityProcessInfo { GTypeInstance parent_instance; volatile int ref_count; @@ -340,6 +360,12 @@ UnityEntry* unity_entry_new (const char* static_text); UnityEntry* unity_entry_construct (GType object_type, const char* static_text); const char* unity_entry_get_static_text (UnityEntry* self); void unity_entry_set_static_text (UnityEntry* self, const char* value); +GType unity_unity_icon_get_type (void); +UnityUnityIcon* unity_unity_icon_new (ClutterTexture* icon, ClutterTexture* bg_tex); +UnityUnityIcon* unity_unity_icon_construct (GType object_type, ClutterTexture* icon, ClutterTexture* bg_tex); +void unity_unity_icon_paint_real (ClutterActor* actor); +ClutterTexture* unity_unity_icon_get_icon (UnityUnityIcon* self); +ClutterTexture* unity_unity_icon_get_bg_color (UnityUnityIcon* self); gpointer unity_process_info_ref (gpointer instance); void unity_process_info_unref (gpointer instance); GParamSpec* unity_param_spec_process_info (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); diff --git a/libunity/unity.vapi b/libunity/unity.vapi index da436d815..0d9b5180c 100644 --- a/libunity/unity.vapi +++ b/libunity/unity.vapi @@ -108,6 +108,20 @@ namespace Unity { public void write_log (string filename); } [CCode (cheader_filename = "unity.h")] + public class UnityIcon : Ctk.Actor { + public UnityIcon (Clutter.Texture? icon, Clutter.Texture? bg_tex); + public override void allocate (Clutter.ActorBox box, Clutter.AllocationFlags flags); + public override void get_preferred_height (float for_width, out float minimum_height, out float natural_height); + public override void get_preferred_width (float for_height, out float minimum_width, out float natural_width); + public override void map (); + public override void paint (); + public static void paint_real (Clutter.Actor actor); + public override void pick (Clutter.Color color); + public override void unmap (); + public Clutter.Texture? bg_color { get; construct; } + public Clutter.Texture? icon { get; construct; } + } + [CCode (cheader_filename = "unity.h")] public interface Shell : GLib.Object { public abstract void add_fullscreen_request (GLib.Object o); public abstract void ensure_input_region (); diff --git a/mutter-plugin/plugin.c b/mutter-plugin/plugin.c index 0b6c8e65f..62ac7a62d 100644 --- a/mutter-plugin/plugin.c +++ b/mutter-plugin/plugin.c @@ -34,6 +34,8 @@ #include <mutter-plugins.h> #include <unity-static.h> #include <gee.h> +#include <dbus/dbus-glib-lowlevel.h> +#include <dbus/dbus-glib.h> #include <unity-utils.h> #include <launcher/launcher.h> #include <libwnck/libwnck.h> @@ -108,8 +110,10 @@ typedef struct _UnityMaximusClass UnityMaximusClass; typedef struct _UnityExposeManager UnityExposeManager; typedef struct _UnityExposeManagerClass UnityExposeManagerClass; +#define _dbus_g_connection_unref0(var) ((var == NULL) ? NULL : (var = (dbus_g_connection_unref (var), NULL))) #define __g_slist_free_g_object_unref0(var) ((var == NULL) ? NULL : (var = (_g_slist_free_g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) struct _UnityDragDest { GtkWindow parent_instance; @@ -170,6 +174,8 @@ struct _UnityPluginPrivate { UnityInputState last_input_state; GeeArrayList* fullscreen_requests; gboolean grab_enabled; + DBusGConnection* screensaver_conn; + DBusGProxy* screensaver; }; @@ -250,6 +256,7 @@ static void _unity_plugin_on_launcher_menu_closed_unity_quicklauncher_launcher_v void unity_plugin_expose_windows (UnityPlugin* self, GSList* windows, gint left_buffer); void unity_plugin_dexpose_windows (UnityPlugin* self); static void unity_plugin_set_fullscreen_obstruction (UnityPlugin* self, gboolean value); +static void unity_plugin_got_screensaver_changed (UnityPlugin* self, DBusGProxy* screensaver, gboolean changed); static void unity_plugin_real_add_fullscreen_request (UnityShell* base, GObject* o); static gboolean unity_plugin_real_remove_fullscreen_request (UnityShell* base, GObject* o); static gboolean unity_plugin_get_fullscreen_obstruction (UnityPlugin* self); @@ -279,6 +286,8 @@ UnityPlugin* unity_plugin_new (void); UnityPlugin* unity_plugin_construct (GType object_type); void unity_plugin_set_plugin (UnityPlugin* self, MutterPlugin* value); gboolean unity_plugin_get_expose_showing (UnityPlugin* self); +static void _unity_plugin_got_screensaver_changed_dynamic_ActiveChanged0_ (DBusGProxy* _sender, gboolean changed, gpointer self); +void _dynamic_ActiveChanged1_connect (gpointer obj, const char * signal_name, GCallback handler, gpointer data); static GObject * unity_plugin_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); static void unity_plugin_finalize (GObject* obj); static void unity_plugin_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); @@ -294,11 +303,11 @@ static void g_cclosure_user_marshal_VOID__OBJECT_POINTER_INT_INT_INT (GClosure * #line 28 "plugin.vala" UnityDragDest* unity_drag_dest_construct (GType object_type) { -#line 298 "plugin.c" +#line 307 "plugin.c" UnityDragDest * self; #line 30 "plugin.vala" self = (UnityDragDest*) g_object_new (object_type, "type", GTK_WINDOW_TOPLEVEL, "type-hint", GDK_WINDOW_TYPE_HINT_DOCK, "opacity", 0.0, NULL); -#line 302 "plugin.c" +#line 311 "plugin.c" return self; } @@ -307,7 +316,7 @@ UnityDragDest* unity_drag_dest_construct (GType object_type) { UnityDragDest* unity_drag_dest_new (void) { #line 28 "plugin.vala" return unity_drag_dest_construct (UNITY_TYPE_DRAG_DEST); -#line 311 "plugin.c" +#line 320 "plugin.c" } @@ -358,12 +367,12 @@ GType unity_input_state_get_type (void) { #line 54 "plugin.vala" UnityActorBlur* unity_actor_blur_construct (GType object_type, ClutterActor* actor) { -#line 362 "plugin.c" +#line 371 "plugin.c" UnityActorBlur * self; ClutterClone* _tmp0_; #line 54 "plugin.vala" g_return_val_if_fail (actor != NULL, NULL); -#line 367 "plugin.c" +#line 376 "plugin.c" self = g_object_newv (object_type, 0, NULL); #line 56 "plugin.vala" self->priv->clone = (_tmp0_ = g_object_ref_sink ((ClutterClone*) clutter_clone_new (actor)), _g_object_unref0 (self->priv->clone), _tmp0_); @@ -373,7 +382,7 @@ UnityActorBlur* unity_actor_blur_construct (GType object_type, ClutterActor* act clutter_actor_show ((ClutterActor*) self->priv->clone); #line 61 "plugin.vala" clutter_actor_set_position ((ClutterActor*) self->priv->clone, (float) 0, (float) 0); -#line 377 "plugin.c" +#line 386 "plugin.c" return self; } @@ -382,7 +391,7 @@ UnityActorBlur* unity_actor_blur_construct (GType object_type, ClutterActor* act UnityActorBlur* unity_actor_blur_new (ClutterActor* actor) { #line 54 "plugin.vala" return unity_actor_blur_construct (UNITY_TYPE_ACTOR_BLUR, actor); -#line 386 "plugin.c" +#line 395 "plugin.c" } @@ -435,92 +444,92 @@ static gpointer _g_object_ref0 (gpointer self) { } -#line 192 "plugin.vala" +#line 205 "plugin.vala" static void _lambda0_ (ClutterActor* a, UnityPlugin* self) { -#line 192 "plugin.vala" +#line 205 "plugin.vala" g_return_if_fail (a != NULL); -#line 192 "plugin.vala" +#line 205 "plugin.vala" unity_shell_ensure_input_region ((UnityShell*) self); -#line 445 "plugin.c" +#line 454 "plugin.c" } -#line 192 "plugin.vala" +#line 205 "plugin.vala" static void __lambda0__clutter_container_actor_added (ClutterContainer* _sender, ClutterActor* actor, gpointer self) { -#line 451 "plugin.c" +#line 460 "plugin.c" _lambda0_ (actor, self); } -#line 193 "plugin.vala" +#line 206 "plugin.vala" static void _lambda1_ (ClutterActor* a, UnityPlugin* self) { -#line 193 "plugin.vala" +#line 206 "plugin.vala" g_return_if_fail (a != NULL); -#line 193 "plugin.vala" +#line 206 "plugin.vala" unity_shell_ensure_input_region ((UnityShell*) self); -#line 462 "plugin.c" +#line 471 "plugin.c" } -#line 193 "plugin.vala" +#line 206 "plugin.vala" static void __lambda1__clutter_container_actor_removed (ClutterContainer* _sender, ClutterActor* actor, gpointer self) { -#line 468 "plugin.c" +#line 477 "plugin.c" _lambda1_ (actor, self); } -#line 286 "plugin.vala" +#line 299 "plugin.vala" static void _unity_plugin_on_window_activated_launcher_application_window_activate_func (WnckWindow* window, guint32 timestamp, void* callback_d) { -#line 475 "plugin.c" +#line 484 "plugin.c" unity_plugin_on_window_activated (window, timestamp, callback_d); } -#line 328 "plugin.vala" +#line 341 "plugin.vala" static void _unity_plugin_on_launcher_changed_event_unity_quicklauncher_manager_active_launcher_changed (UnityQuicklauncherManager* _sender, UnityQuicklauncherLauncherView* last, UnityQuicklauncherLauncherView* current, gpointer self) { -#line 482 "plugin.c" +#line 491 "plugin.c" unity_plugin_on_launcher_changed_event (self, last, current); } -#line 272 "plugin.vala" +#line 285 "plugin.vala" static gboolean _lambda3_ (UnityPlugin* self) { -#line 489 "plugin.c" +#line 498 "plugin.c" gboolean result; -#line 273 "plugin.vala" +#line 286 "plugin.vala" unity_timeline_logger_write_log (unity_timeline_logger_get_default (), boot_logging_filename); -#line 493 "plugin.c" +#line 502 "plugin.c" result = FALSE; -#line 274 "plugin.vala" +#line 287 "plugin.vala" return result; -#line 497 "plugin.c" +#line 506 "plugin.c" } -#line 272 "plugin.vala" +#line 285 "plugin.vala" static gboolean __lambda3__gsource_func (gpointer self) { -#line 503 "plugin.c" +#line 512 "plugin.c" return _lambda3_ (self); } -#line 313 "plugin.vala" +#line 326 "plugin.vala" static void _unity_plugin_on_active_window_changed_wnck_screen_active_window_changed (WnckScreen* _sender, WnckWindow* previous_window, gpointer self) { -#line 510 "plugin.c" +#line 519 "plugin.c" unity_plugin_on_active_window_changed (self, previous_window); } -#line 308 "plugin.vala" +#line 321 "plugin.vala" static void _unity_plugin_on_active_window_state_changed_wnck_window_state_changed (WnckWindow* _sender, WnckWindowState changed_mask, WnckWindowState new_state, gpointer self) { -#line 517 "plugin.c" +#line 526 "plugin.c" unity_plugin_on_active_window_state_changed (self, changed_mask, new_state); } -#line 183 "plugin.vala" +#line 196 "plugin.vala" static void unity_plugin_real_construct (UnityPlugin* self) { -#line 524 "plugin.c" +#line 533 "plugin.c" UnityWindowManagement* _tmp0_; UnityMaximus* _tmp1_; GeeArrayList* _tmp2_; @@ -542,167 +551,167 @@ static void unity_plugin_real_construct (UnityPlugin* self) { UnityQuicklauncherView* _tmp14_; UnityExposeManager* _tmp15_; UnityPanelView* _tmp18_; -#line 183 "plugin.vala" +#line 196 "plugin.vala" g_return_if_fail (self != NULL); -#line 185 "plugin.vala" +#line 198 "plugin.vala" START_FUNCTION (); -#line 186 "plugin.vala" +#line 199 "plugin.vala" self->priv->wm = (_tmp0_ = unity_window_management_new (self), _g_object_unref0 (self->priv->wm), _tmp0_); -#line 187 "plugin.vala" +#line 200 "plugin.vala" self->priv->maximus = (_tmp1_ = unity_maximus_new (), _g_object_unref0 (self->priv->maximus), _tmp1_); -#line 189 "plugin.vala" +#line 202 "plugin.vala" self->priv->fullscreen_requests = (_tmp2_ = gee_array_list_new (G_TYPE_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL), _g_object_unref0 (self->priv->fullscreen_requests), _tmp2_); -#line 191 "plugin.vala" +#line 204 "plugin.vala" self->priv->stage = (_tmp3_ = _g_object_ref0 (CLUTTER_STAGE (mutter_plugin_get_stage (unity_plugin_get_plugin (self)))), _g_object_unref0 (self->priv->stage), _tmp3_); -#line 192 "plugin.vala" +#line 205 "plugin.vala" g_signal_connect_object ((ClutterContainer*) self->priv->stage, "actor-added", (GCallback) __lambda0__clutter_container_actor_added, self, 0); -#line 193 "plugin.vala" +#line 206 "plugin.vala" g_signal_connect_object ((ClutterContainer*) self->priv->stage, "actor-removed", (GCallback) __lambda1__clutter_container_actor_removed, self, 0); -#line 195 "plugin.vala" +#line 208 "plugin.vala" self->priv->drag_dest = (_tmp4_ = g_object_ref_sink (unity_drag_dest_new ()), _g_object_unref0 (self->priv->drag_dest), _tmp4_); -#line 196 "plugin.vala" +#line 209 "plugin.vala" gtk_widget_show ((GtkWidget*) self->priv->drag_dest); -#line 566 "plugin.c" +#line 575 "plugin.c" target_list = (_tmp12_ = (_tmp11_ = g_new0 (GtkTargetEntry, 6), _tmp11_[0] = (memset (&_tmp5_, 0, sizeof (GtkTargetEntry)), _tmp5_.target = "STRING", _tmp5_.flags = (guint) 0, _tmp5_.info = (guint) UNITY_DND_TARGETS_TARGET_STRING, _tmp5_), _tmp11_[1] = (memset (&_tmp6_, 0, sizeof (GtkTargetEntry)), _tmp6_.target = "text/plain", _tmp6_.flags = (guint) 0, _tmp6_.info = (guint) UNITY_DND_TARGETS_TARGET_STRING, _tmp6_), _tmp11_[2] = (memset (&_tmp7_, 0, sizeof (GtkTargetEntry)), _tmp7_.target = "text/uri-list", _tmp7_.flags = (guint) 0, _tmp7_.info = (guint) UNITY_DND_TARGETS_TARGET_URL, _tmp7_), _tmp11_[3] = (memset (&_tmp8_, 0, sizeof (GtkTargetEntry)), _tmp8_.target = "x-url/http", _tmp8_.flags = (guint) 0, _tmp8_.info = (guint) UNITY_DND_TARGETS_TARGET_URL, _tmp8_), _tmp11_[4] = (memset (&_tmp9_, 0, sizeof (GtkTargetEntry)), _tmp9_.target = "x-url/ftp", _tmp9_.flags = (guint) 0, _tmp9_.info = (guint) UNITY_DND_TARGETS_TARGET_URL, _tmp9_), _tmp11_[5] = (memset (&_tmp10_, 0, sizeof (GtkTargetEntry)), _tmp10_.target = "_NETSCAPE_URL", _tmp10_.flags = (guint) 0, _tmp10_.info = (guint) UNITY_DND_TARGETS_TARGET_URL, _tmp10_), _tmp11_), target_list_length1 = 6, target_list_size = target_list_length1, _tmp12_); -#line 213 "plugin.vala" +#line 226 "plugin.vala" ctk_dnd_init (GTK_WIDGET (self->priv->drag_dest), target_list, target_list_length1); -#line 215 "plugin.vala" +#line 228 "plugin.vala" self->priv->places_enabled = unity_plugin_envvar_is_enabled (self, "UNITY_ENABLE_PLACES"); -#line 217 "plugin.vala" +#line 230 "plugin.vala" self->priv->background = (_tmp13_ = g_object_ref_sink (unity_background_new ()), _g_object_unref0 (self->priv->background), _tmp13_); -#line 218 "plugin.vala" +#line 231 "plugin.vala" clutter_container_add_actor ((ClutterContainer*) self->priv->stage, (ClutterActor*) self->priv->background); -#line 219 "plugin.vala" +#line 232 "plugin.vala" clutter_actor_lower_bottom ((ClutterActor*) self->priv->background); -#line 221 "plugin.vala" +#line 234 "plugin.vala" window_group = _g_object_ref0 (CLUTTER_GROUP (mutter_plugin_get_window_group (unity_plugin_get_plugin (self)))); -#line 224 "plugin.vala" +#line 237 "plugin.vala" launcher_application_set_window_activate_func (_unity_plugin_on_window_activated_launcher_application_window_activate_func, unity_plugin_get_plugin (self)); -#line 227 "plugin.vala" +#line 240 "plugin.vala" self->priv->quicklauncher = (_tmp14_ = g_object_ref_sink (unity_quicklauncher_view_new ((UnityShell*) self)), _g_object_unref0 (self->priv->quicklauncher), _tmp14_); -#line 228 "plugin.vala" +#line 241 "plugin.vala" clutter_actor_set_opacity ((ClutterActor*) self->priv->quicklauncher, (guint8) 0); -#line 230 "plugin.vala" +#line 243 "plugin.vala" self->priv->expose_manager = (_tmp15_ = unity_expose_manager_new (self, self->priv->quicklauncher), _g_object_unref0 (self->priv->expose_manager), _tmp15_); -#line 231 "plugin.vala" +#line 244 "plugin.vala" unity_expose_manager_set_hovered_opacity (self->priv->expose_manager, (guint8) 255); -#line 232 "plugin.vala" +#line 245 "plugin.vala" unity_expose_manager_set_unhovered_opacity (self->priv->expose_manager, (guint8) 255); -#line 233 "plugin.vala" +#line 246 "plugin.vala" unity_expose_manager_set_darken (self->priv->expose_manager, (guint8) 25); -#line 234 "plugin.vala" +#line 247 "plugin.vala" unity_expose_manager_set_right_buffer (self->priv->expose_manager, 10); -#line 235 "plugin.vala" +#line 248 "plugin.vala" unity_expose_manager_set_top_buffer (self->priv->expose_manager, (unity_expose_manager_set_bottom_buffer (self->priv->expose_manager, 20), unity_expose_manager_get_bottom_buffer (self->priv->expose_manager))); -#line 237 "plugin.vala" +#line 250 "plugin.vala" unity_expose_manager_set_coverflow (self->priv->expose_manager, FALSE); -#line 239 "plugin.vala" +#line 252 "plugin.vala" g_signal_connect_object (self->priv->quicklauncher->manager, "active-launcher-changed", (GCallback) _unity_plugin_on_launcher_changed_event_unity_quicklauncher_manager_active_launcher_changed, self, 0); -#line 241 "plugin.vala" +#line 254 "plugin.vala" clutter_container_add_actor ((ClutterContainer*) window_group, (ClutterActor*) self->priv->quicklauncher); -#line 242 "plugin.vala" +#line 255 "plugin.vala" clutter_container_raise_child ((ClutterContainer*) window_group, (ClutterActor*) self->priv->quicklauncher, mutter_plugin_get_normal_window_group (unity_plugin_get_plugin (self))); -#line 244 "plugin.vala" +#line 257 "plugin.vala" clutter_actor_animate ((ClutterActor*) self->priv->quicklauncher, (gulong) CLUTTER_EASE_IN_SINE, (guint) 400, "opacity", 255, NULL); -#line 247 "plugin.vala" +#line 260 "plugin.vala" if (self->priv->places_enabled) { -#line 610 "plugin.c" +#line 619 "plugin.c" UnityPlacesController* _tmp16_; UnityPlacesView* _tmp17_; -#line 249 "plugin.vala" +#line 262 "plugin.vala" self->priv->places_controller = (_tmp16_ = unity_places_controller_new ((UnityShell*) self), _g_object_unref0 (self->priv->places_controller), _tmp16_); -#line 250 "plugin.vala" +#line 263 "plugin.vala" self->priv->places = (_tmp17_ = unity_places_controller_get_view (self->priv->places_controller), _g_object_unref0 (self->priv->places), _tmp17_); -#line 252 "plugin.vala" +#line 265 "plugin.vala" clutter_container_add_actor ((ClutterContainer*) window_group, (ClutterActor*) self->priv->places); -#line 253 "plugin.vala" +#line 266 "plugin.vala" clutter_container_raise_child ((ClutterContainer*) window_group, (ClutterActor*) self->priv->places, (ClutterActor*) self->priv->quicklauncher); -#line 255 "plugin.vala" +#line 268 "plugin.vala" clutter_actor_set_opacity ((ClutterActor*) self->priv->places, (guint8) 0); -#line 256 "plugin.vala" +#line 269 "plugin.vala" clutter_actor_set_reactive ((ClutterActor*) self->priv->places, FALSE); -#line 257 "plugin.vala" +#line 270 "plugin.vala" clutter_actor_hide ((ClutterActor*) self->priv->places); -#line 258 "plugin.vala" +#line 271 "plugin.vala" self->priv->places_showing = FALSE; -#line 629 "plugin.c" +#line 638 "plugin.c" } -#line 261 "plugin.vala" +#line 274 "plugin.vala" self->priv->panel = (_tmp18_ = g_object_ref_sink (unity_panel_view_new ((UnityShell*) self)), _g_object_unref0 (self->priv->panel), _tmp18_); -#line 262 "plugin.vala" +#line 275 "plugin.vala" clutter_container_add_actor ((ClutterContainer*) window_group, (ClutterActor*) self->priv->panel); -#line 263 "plugin.vala" +#line 276 "plugin.vala" clutter_container_raise_child ((ClutterContainer*) window_group, (ClutterActor*) self->priv->panel, (ClutterActor*) self->priv->quicklauncher); -#line 265 "plugin.vala" +#line 278 "plugin.vala" clutter_actor_show ((ClutterActor*) self->priv->panel); -#line 267 "plugin.vala" +#line 280 "plugin.vala" unity_plugin_relayout (self); -#line 268 "plugin.vala" +#line 281 "plugin.vala" END_FUNCTION (); -#line 270 "plugin.vala" +#line 283 "plugin.vala" if (boot_logging_filename != NULL) { -#line 272 "plugin.vala" +#line 285 "plugin.vala" g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) 5, __lambda3__gsource_func, g_object_ref (self), g_object_unref); -#line 647 "plugin.c" +#line 656 "plugin.c" } -#line 278 "plugin.vala" +#line 291 "plugin.vala" unity_shell_ensure_input_region ((UnityShell*) self); -#line 280 "plugin.vala" +#line 293 "plugin.vala" g_signal_connect_object (wnck_screen_get_default (), "active-window-changed", (GCallback) _unity_plugin_on_active_window_changed_wnck_screen_active_window_changed, self, 0); -#line 282 "plugin.vala" +#line 295 "plugin.vala" if (wnck_screen_get_active_window (wnck_screen_get_default ()) != NULL) { -#line 283 "plugin.vala" +#line 296 "plugin.vala" g_signal_connect_object (wnck_screen_get_active_window (wnck_screen_get_default ()), "state-changed", (GCallback) _unity_plugin_on_active_window_state_changed_wnck_window_state_changed, self, 0); -#line 657 "plugin.c" +#line 666 "plugin.c" } target_list = (g_free (target_list), NULL); _g_object_unref0 (window_group); } -#line 286 "plugin.vala" +#line 299 "plugin.vala" static void unity_plugin_on_window_activated (WnckWindow* window, guint32 timestamp, void* data) { -#line 666 "plugin.c" +#line 675 "plugin.c" void* _tmp0_; MutterPlugin* plugin; GList* mutter_windows; -#line 286 "plugin.vala" +#line 299 "plugin.vala" g_return_if_fail (window != NULL); -#line 290 "plugin.vala" +#line 303 "plugin.vala" plugin = _g_object_ref0 ((_tmp0_ = data, MUTTER_IS_PLUGIN (_tmp0_) ? ((MutterPlugin*) _tmp0_) : NULL)); -#line 292 "plugin.vala" +#line 305 "plugin.vala" mutter_windows = mutter_plugin_get_windows (plugin); -#line 676 "plugin.c" +#line 685 "plugin.c" { GList* w_collection; GList* w_it; -#line 293 "plugin.vala" +#line 306 "plugin.vala" w_collection = mutter_windows; -#line 682 "plugin.c" +#line 691 "plugin.c" for (w_it = w_collection; w_it != NULL; w_it = w_it->next) { MutterWindow* w; -#line 293 "plugin.vala" +#line 306 "plugin.vala" w = _g_object_ref0 ((MutterWindow*) w_it->data); -#line 687 "plugin.c" +#line 696 "plugin.c" { gulong xid; -#line 295 "plugin.vala" +#line 308 "plugin.vala" xid = (gulong) meta_window_get_xwindow (mutter_window_get_meta_window (w)); -#line 296 "plugin.vala" +#line 309 "plugin.vala" if (wnck_window_get_xid (window) == xid) { -#line 694 "plugin.c" +#line 703 "plugin.c" MetaWindow* win; -#line 298 "plugin.vala" +#line 311 "plugin.vala" win = mutter_window_get_meta_window (w); -#line 300 "plugin.vala" +#line 313 "plugin.vala" meta_workspace_activate (meta_window_get_workspace (win), timestamp); -#line 302 "plugin.vala" +#line 315 "plugin.vala" meta_window_activate (win, timestamp); -#line 702 "plugin.c" +#line 711 "plugin.c" _g_object_unref0 (w); -#line 303 "plugin.vala" +#line 316 "plugin.vala" break; -#line 706 "plugin.c" +#line 715 "plugin.c" } _g_object_unref0 (w); } @@ -712,352 +721,390 @@ static void unity_plugin_on_window_activated (WnckWindow* window, guint32 timest } -#line 308 "plugin.vala" +#line 321 "plugin.vala" static void unity_plugin_on_active_window_state_changed (UnityPlugin* self, WnckWindowState change_mask, WnckWindowState new_state) { -#line 308 "plugin.vala" +#line 321 "plugin.vala" g_return_if_fail (self != NULL); -#line 310 "plugin.vala" +#line 323 "plugin.vala" unity_plugin_check_fullscreen_obstruction (self); -#line 722 "plugin.c" +#line 731 "plugin.c" } -#line 313 "plugin.vala" +#line 326 "plugin.vala" static void unity_plugin_on_active_window_changed (UnityPlugin* self, WnckWindow* previous_window) { -#line 728 "plugin.c" +#line 737 "plugin.c" WnckWindow* current; -#line 313 "plugin.vala" +#line 326 "plugin.vala" g_return_if_fail (self != NULL); -#line 315 "plugin.vala" +#line 328 "plugin.vala" if (previous_window != NULL) { -#line 734 "plugin.c" +#line 743 "plugin.c" guint _tmp0_; -#line 316 "plugin.vala" +#line 329 "plugin.vala" g_signal_handlers_disconnect_matched (previous_window, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("state-changed", WNCK_TYPE_WINDOW, &_tmp0_, NULL, FALSE), _tmp0_), 0, NULL, (GCallback) _unity_plugin_on_active_window_state_changed_wnck_window_state_changed, self); -#line 738 "plugin.c" +#line 747 "plugin.c" } -#line 319 "plugin.vala" +#line 332 "plugin.vala" current = _g_object_ref0 (wnck_screen_get_active_window (wnck_screen_get_default ())); -#line 320 "plugin.vala" +#line 333 "plugin.vala" if (current == NULL) { -#line 744 "plugin.c" +#line 753 "plugin.c" _g_object_unref0 (current); -#line 321 "plugin.vala" +#line 334 "plugin.vala" return; -#line 748 "plugin.c" +#line 757 "plugin.c" } -#line 323 "plugin.vala" +#line 336 "plugin.vala" g_signal_connect_object (current, "state-changed", (GCallback) _unity_plugin_on_active_window_state_changed_wnck_window_state_changed, self, 0); -#line 325 "plugin.vala" +#line 338 "plugin.vala" unity_plugin_check_fullscreen_obstruction (self); -#line 754 "plugin.c" +#line 763 "plugin.c" _g_object_unref0 (current); } -#line 345 "plugin.vala" +#line 358 "plugin.vala" static void _unity_plugin_on_launcher_menu_opened_unity_quicklauncher_launcher_view_menu_opened (UnityQuicklauncherLauncherView* _sender, UnityQuicklauncherLauncherView* sender, gpointer self) { -#line 761 "plugin.c" +#line 770 "plugin.c" unity_plugin_on_launcher_menu_opened (self, sender); } -#line 358 "plugin.vala" +#line 371 "plugin.vala" static void _unity_plugin_on_launcher_menu_closed_unity_quicklauncher_launcher_view_menu_closed (UnityQuicklauncherLauncherView* _sender, UnityQuicklauncherLauncherView* sender, gpointer self) { -#line 768 "plugin.c" +#line 777 "plugin.c" unity_plugin_on_launcher_menu_closed (self, sender); } -#line 328 "plugin.vala" +#line 341 "plugin.vala" static void unity_plugin_on_launcher_changed_event (UnityPlugin* self, UnityQuicklauncherLauncherView* last, UnityQuicklauncherLauncherView* current) { -#line 328 "plugin.vala" +#line 341 "plugin.vala" g_return_if_fail (self != NULL); -#line 330 "plugin.vala" +#line 343 "plugin.vala" if (last != NULL) { -#line 779 "plugin.c" +#line 788 "plugin.c" guint _tmp0_; guint _tmp1_; -#line 332 "plugin.vala" +#line 345 "plugin.vala" g_signal_handlers_disconnect_matched (last, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("menu-opened", UNITY_QUICKLAUNCHER_TYPE_LAUNCHER_VIEW, &_tmp0_, NULL, FALSE), _tmp0_), 0, NULL, (GCallback) _unity_plugin_on_launcher_menu_opened_unity_quicklauncher_launcher_view_menu_opened, self); -#line 333 "plugin.vala" +#line 346 "plugin.vala" g_signal_handlers_disconnect_matched (last, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("menu-closed", UNITY_QUICKLAUNCHER_TYPE_LAUNCHER_VIEW, &_tmp1_, NULL, FALSE), _tmp1_), 0, NULL, (GCallback) _unity_plugin_on_launcher_menu_closed_unity_quicklauncher_launcher_view_menu_closed, self); -#line 786 "plugin.c" +#line 795 "plugin.c" } -#line 336 "plugin.vala" +#line 349 "plugin.vala" if (current != NULL) { -#line 338 "plugin.vala" +#line 351 "plugin.vala" g_signal_connect_object (current, "menu-opened", (GCallback) _unity_plugin_on_launcher_menu_opened_unity_quicklauncher_launcher_view_menu_opened, self, 0); -#line 339 "plugin.vala" +#line 352 "plugin.vala" g_signal_connect_object (current, "menu-closed", (GCallback) _unity_plugin_on_launcher_menu_closed_unity_quicklauncher_launcher_view_menu_closed, self, 0); -#line 794 "plugin.c" +#line 803 "plugin.c" } } -#line 345 "plugin.vala" +#line 358 "plugin.vala" static void unity_plugin_on_launcher_menu_opened (UnityPlugin* self, UnityQuicklauncherLauncherView* sender) { -#line 801 "plugin.c" +#line 810 "plugin.c" gboolean _tmp0_ = FALSE; gboolean _tmp1_ = FALSE; -#line 345 "plugin.vala" +#line 358 "plugin.vala" g_return_if_fail (self != NULL); -#line 345 "plugin.vala" +#line 358 "plugin.vala" g_return_if_fail (sender != NULL); -#line 347 "plugin.vala" +#line 360 "plugin.vala" if (sender != unity_quicklauncher_manager_get_active_launcher (self->priv->quicklauncher->manager)) { -#line 347 "plugin.vala" +#line 360 "plugin.vala" _tmp0_ = TRUE; -#line 812 "plugin.c" +#line 821 "plugin.c" } else { -#line 347 "plugin.vala" +#line 360 "plugin.vala" _tmp0_ = sender == NULL; -#line 816 "plugin.c" +#line 825 "plugin.c" } -#line 347 "plugin.vala" +#line 360 "plugin.vala" if (_tmp0_) { -#line 348 "plugin.vala" +#line 361 "plugin.vala" return; -#line 822 "plugin.c" +#line 831 "plugin.c" } -#line 350 "plugin.vala" +#line 363 "plugin.vala" if (UNITY_QUICKLAUNCHER_MODELS_IS_APPLICATION_MODEL (sender->model)) { -#line 350 "plugin.vala" +#line 363 "plugin.vala" _tmp1_ = unity_quicklauncher_models_launcher_model_get_is_active (sender->model); -#line 828 "plugin.c" +#line 837 "plugin.c" } else { -#line 350 "plugin.vala" +#line 363 "plugin.vala" _tmp1_ = FALSE; -#line 832 "plugin.c" +#line 841 "plugin.c" } -#line 350 "plugin.vala" +#line 363 "plugin.vala" if (_tmp1_) { -#line 836 "plugin.c" +#line 845 "plugin.c" gboolean _tmp2_ = FALSE; -#line 352 "plugin.vala" +#line 365 "plugin.vala" if (unity_quicklauncher_quicklist_controller_menu_is_open (unity_quicklauncher_quicklist_controller_get_default ())) { -#line 353 "plugin.vala" +#line 366 "plugin.vala" _tmp2_ = !ctk_menu_get_close_on_leave (unity_quicklauncher_quicklist_controller_get_default ()->menu); -#line 842 "plugin.c" +#line 851 "plugin.c" } else { -#line 352 "plugin.vala" +#line 365 "plugin.vala" _tmp2_ = FALSE; -#line 846 "plugin.c" +#line 855 "plugin.c" } -#line 352 "plugin.vala" +#line 365 "plugin.vala" if (_tmp2_) { -#line 850 "plugin.c" +#line 859 "plugin.c" UnityQuicklauncherModelsLauncherModel* _tmp3_; -#line 354 "plugin.vala" +#line 367 "plugin.vala" unity_plugin_expose_windows (self, unity_quicklauncher_models_application_model_get_windows ((_tmp3_ = sender->model, UNITY_QUICKLAUNCHER_MODELS_IS_APPLICATION_MODEL (_tmp3_) ? ((UnityQuicklauncherModelsApplicationModel*) _tmp3_) : NULL)), 250); -#line 854 "plugin.c" +#line 863 "plugin.c" } } } -#line 358 "plugin.vala" +#line 371 "plugin.vala" static void unity_plugin_on_launcher_menu_closed (UnityPlugin* self, UnityQuicklauncherLauncherView* sender) { -#line 358 "plugin.vala" +#line 371 "plugin.vala" g_return_if_fail (self != NULL); -#line 358 "plugin.vala" +#line 371 "plugin.vala" g_return_if_fail (sender != NULL); -#line 360 "plugin.vala" +#line 373 "plugin.vala" if (sender != unity_quicklauncher_manager_get_active_launcher (self->priv->quicklauncher->manager)) { -#line 361 "plugin.vala" +#line 374 "plugin.vala" return; -#line 870 "plugin.c" +#line 879 "plugin.c" } -#line 363 "plugin.vala" +#line 376 "plugin.vala" unity_plugin_dexpose_windows (self); -#line 874 "plugin.c" +#line 883 "plugin.c" } -#line 366 "plugin.vala" +#line 379 "plugin.vala" +static void unity_plugin_got_screensaver_changed (UnityPlugin* self, DBusGProxy* screensaver, gboolean changed) { +#line 379 "plugin.vala" + g_return_if_fail (self != NULL); +#line 379 "plugin.vala" + g_return_if_fail (screensaver != NULL); +#line 381 "plugin.vala" + if (changed) { +#line 895 "plugin.c" + UnityQuicklauncherQuicklistController* menu; +#line 383 "plugin.vala" + clutter_actor_hide ((ClutterActor*) self->priv->quicklauncher); +#line 384 "plugin.vala" + clutter_actor_hide ((ClutterActor*) self->priv->panel); +#line 385 "plugin.vala" + menu = _g_object_ref0 (unity_quicklauncher_quicklist_controller_get_default ()); +#line 386 "plugin.vala" + if (unity_quicklauncher_quicklist_controller_menu_is_open (menu)) { +#line 387 "plugin.vala" + unity_quicklauncher_quicklist_controller_close_menu (menu); +#line 907 "plugin.c" + } +#line 388 "plugin.vala" + unity_plugin_set_fullscreen_obstruction (self, TRUE); +#line 911 "plugin.c" + _g_object_unref0 (menu); + } else { +#line 392 "plugin.vala" + clutter_actor_show ((ClutterActor*) self->priv->quicklauncher); +#line 393 "plugin.vala" + clutter_actor_show ((ClutterActor*) self->priv->panel); +#line 394 "plugin.vala" + unity_plugin_set_fullscreen_obstruction (self, FALSE); +#line 920 "plugin.c" + } +} + + +#line 399 "plugin.vala" static void unity_plugin_check_fullscreen_obstruction (UnityPlugin* self) { -#line 880 "plugin.c" +#line 927 "plugin.c" WnckWindow* current; -#line 366 "plugin.vala" +#line 399 "plugin.vala" g_return_if_fail (self != NULL); -#line 368 "plugin.vala" +#line 401 "plugin.vala" current = _g_object_ref0 (wnck_screen_get_active_window (wnck_screen_get_default ())); -#line 369 "plugin.vala" +#line 402 "plugin.vala" if (current == NULL) { -#line 888 "plugin.c" +#line 935 "plugin.c" _g_object_unref0 (current); -#line 370 "plugin.vala" +#line 403 "plugin.vala" return; -#line 892 "plugin.c" +#line 939 "plugin.c" } -#line 372 "plugin.vala" +#line 405 "plugin.vala" if (wnck_window_is_fullscreen (current)) { -#line 374 "plugin.vala" +#line 407 "plugin.vala" clutter_actor_animate ((ClutterActor*) self->priv->quicklauncher, (gulong) CLUTTER_EASE_IN_SINE, (guint) 200, "x", -100.f, NULL); -#line 375 "plugin.vala" +#line 408 "plugin.vala" clutter_actor_animate ((ClutterActor*) self->priv->panel, (gulong) CLUTTER_EASE_IN_SINE, (guint) 200, "opacity", 0, NULL); -#line 376 "plugin.vala" +#line 409 "plugin.vala" unity_plugin_set_fullscreen_obstruction (self, TRUE); -#line 902 "plugin.c" +#line 949 "plugin.c" } else { -#line 380 "plugin.vala" +#line 413 "plugin.vala" clutter_actor_animate ((ClutterActor*) self->priv->quicklauncher, (gulong) CLUTTER_EASE_IN_SINE, (guint) 200, "x", 0.f, NULL); -#line 381 "plugin.vala" +#line 414 "plugin.vala" clutter_actor_animate ((ClutterActor*) self->priv->panel, (gulong) CLUTTER_EASE_IN_SINE, (guint) 200, "opacity", 255, NULL); -#line 382 "plugin.vala" +#line 415 "plugin.vala" unity_plugin_set_fullscreen_obstruction (self, FALSE); -#line 910 "plugin.c" +#line 957 "plugin.c" } _g_object_unref0 (current); } -#line 386 "plugin.vala" +#line 419 "plugin.vala" static void unity_plugin_relayout (UnityPlugin* self) { -#line 918 "plugin.c" +#line 965 "plugin.c" float width = 0.0F; float height = 0.0F; -#line 386 "plugin.vala" +#line 419 "plugin.vala" g_return_if_fail (self != NULL); -#line 388 "plugin.vala" +#line 421 "plugin.vala" START_FUNCTION (); -#line 391 "plugin.vala" +#line 424 "plugin.vala" clutter_actor_get_size ((ClutterActor*) self->priv->stage, &width, &height); -#line 393 "plugin.vala" +#line 426 "plugin.vala" gtk_window_resize ((GtkWindow*) self->priv->drag_dest, UNITY_PLUGIN_QUICKLAUNCHER_WIDTH, ((gint) height) - UNITY_PLUGIN_PANEL_HEIGHT); -#line 395 "plugin.vala" +#line 428 "plugin.vala" gtk_window_move ((GtkWindow*) self->priv->drag_dest, 0, UNITY_PLUGIN_PANEL_HEIGHT); -#line 397 "plugin.vala" +#line 430 "plugin.vala" clutter_actor_set_size ((ClutterActor*) self->priv->background, width, height); -#line 398 "plugin.vala" +#line 431 "plugin.vala" clutter_actor_set_position ((ClutterActor*) self->priv->background, (float) 0, (float) 0); -#line 400 "plugin.vala" +#line 433 "plugin.vala" clutter_actor_set_size ((ClutterActor*) self->priv->quicklauncher, (float) UNITY_PLUGIN_QUICKLAUNCHER_WIDTH, height - UNITY_PLUGIN_PANEL_HEIGHT); -#line 402 "plugin.vala" +#line 435 "plugin.vala" clutter_actor_set_position ((ClutterActor*) self->priv->quicklauncher, (float) 0, (float) UNITY_PLUGIN_PANEL_HEIGHT); -#line 403 "plugin.vala" +#line 436 "plugin.vala" clutter_actor_set_clip ((ClutterActor*) self->priv->quicklauncher, (float) 0, (float) 0, (float) UNITY_PLUGIN_QUICKLAUNCHER_WIDTH, height - UNITY_PLUGIN_PANEL_HEIGHT); -#line 406 "plugin.vala" +#line 439 "plugin.vala" utils_set_strut (GTK_WINDOW (self->priv->drag_dest), (guint32) (UNITY_PLUGIN_QUICKLAUNCHER_WIDTH - 1), (guint32) 0, (guint32) height, (guint32) UNITY_PLUGIN_PANEL_HEIGHT, (guint32) 0, (guint32) width); -#line 410 "plugin.vala" +#line 443 "plugin.vala" if (self->priv->places_enabled) { -#line 412 "plugin.vala" +#line 445 "plugin.vala" clutter_actor_set_size ((ClutterActor*) self->priv->places, width, height); -#line 413 "plugin.vala" +#line 446 "plugin.vala" clutter_actor_set_position ((ClutterActor*) self->priv->places, (float) 0, (float) 0); -#line 949 "plugin.c" +#line 996 "plugin.c" } -#line 416 "plugin.vala" +#line 449 "plugin.vala" clutter_actor_set_size ((ClutterActor*) self->priv->panel, width, (float) 24); -#line 417 "plugin.vala" +#line 450 "plugin.vala" clutter_actor_set_position ((ClutterActor*) self->priv->panel, (float) 0, (float) 0); -#line 424 "plugin.vala" +#line 457 "plugin.vala" END_FUNCTION (); -#line 957 "plugin.c" +#line 1004 "plugin.c" } -#line 427 "plugin.vala" +#line 460 "plugin.vala" static void unity_plugin_real_add_fullscreen_request (UnityShell* base, GObject* o) { -#line 963 "plugin.c" +#line 1010 "plugin.c" UnityPlugin * self; self = (UnityPlugin*) base; -#line 427 "plugin.vala" +#line 460 "plugin.vala" g_return_if_fail (o != NULL); -#line 429 "plugin.vala" +#line 462 "plugin.vala" gee_abstract_collection_add ((GeeAbstractCollection*) self->priv->fullscreen_requests, o); -#line 430 "plugin.vala" +#line 463 "plugin.vala" unity_shell_ensure_input_region ((UnityShell*) self); -#line 972 "plugin.c" +#line 1019 "plugin.c" } -#line 433 "plugin.vala" +#line 466 "plugin.vala" static gboolean unity_plugin_real_remove_fullscreen_request (UnityShell* base, GObject* o) { -#line 978 "plugin.c" +#line 1025 "plugin.c" UnityPlugin * self; gboolean result; gboolean _result_; self = (UnityPlugin*) base; -#line 433 "plugin.vala" +#line 466 "plugin.vala" g_return_val_if_fail (o != NULL, FALSE); -#line 435 "plugin.vala" +#line 468 "plugin.vala" _result_ = gee_abstract_collection_remove ((GeeAbstractCollection*) self->priv->fullscreen_requests, o); -#line 436 "plugin.vala" +#line 469 "plugin.vala" unity_shell_ensure_input_region ((UnityShell*) self); -#line 989 "plugin.c" +#line 1036 "plugin.c" result = _result_; -#line 437 "plugin.vala" +#line 470 "plugin.vala" return result; -#line 993 "plugin.c" +#line 1040 "plugin.c" } -#line 440 "plugin.vala" +#line 473 "plugin.vala" static void unity_plugin_real_ensure_input_region (UnityShell* base) { -#line 999 "plugin.c" +#line 1046 "plugin.c" UnityPlugin * self; self = (UnityPlugin*) base; -#line 442 "plugin.vala" +#line 475 "plugin.vala" if (unity_plugin_get_fullscreen_obstruction (self)) { -#line 444 "plugin.vala" +#line 477 "plugin.vala" if (self->priv->last_input_state == UNITY_INPUT_STATE_ZERO) { -#line 445 "plugin.vala" +#line 478 "plugin.vala" return; -#line 1008 "plugin.c" +#line 1055 "plugin.c" } -#line 446 "plugin.vala" +#line 479 "plugin.vala" self->priv->last_input_state = UNITY_INPUT_STATE_ZERO; -#line 447 "plugin.vala" +#line 480 "plugin.vala" mutter_plugin_set_stage_input_area (unity_plugin_get_plugin (self), 0, 0, 0, 0); -#line 449 "plugin.vala" +#line 482 "plugin.vala" unity_shell_grab_keyboard ((UnityShell*) self, FALSE, clutter_get_current_event_time ()); -#line 1016 "plugin.c" +#line 1063 "plugin.c" } else { gboolean _tmp0_ = FALSE; -#line 451 "plugin.vala" +#line 484 "plugin.vala" if (gee_collection_get_size ((GeeCollection*) self->priv->fullscreen_requests) > 0) { -#line 451 "plugin.vala" +#line 484 "plugin.vala" _tmp0_ = TRUE; -#line 1023 "plugin.c" +#line 1070 "plugin.c" } else { -#line 451 "plugin.vala" +#line 484 "plugin.vala" _tmp0_ = self->priv->places_showing; -#line 1027 "plugin.c" +#line 1074 "plugin.c" } -#line 451 "plugin.vala" +#line 484 "plugin.vala" if (_tmp0_) { -#line 1031 "plugin.c" +#line 1078 "plugin.c" gpointer _tmp1_; -#line 454 "plugin.vala" +#line 487 "plugin.vala" if (self->priv->last_input_state == UNITY_INPUT_STATE_FULLSCREEN) { -#line 455 "plugin.vala" +#line 488 "plugin.vala" return; -#line 1037 "plugin.c" +#line 1084 "plugin.c" } -#line 457 "plugin.vala" +#line 490 "plugin.vala" self->priv->last_input_state = UNITY_INPUT_STATE_FULLSCREEN; -#line 458 "plugin.vala" +#line 491 "plugin.vala" g_signal_emit_by_name (self, "restore-input-region", TRUE); -#line 460 "plugin.vala" +#line 493 "plugin.vala" clutter_stage_set_key_focus (self->priv->stage, (_tmp1_ = NULL, CLUTTER_IS_ACTOR (_tmp1_) ? ((ClutterActor*) _tmp1_) : NULL)); -#line 461 "plugin.vala" +#line 494 "plugin.vala" unity_shell_grab_keyboard ((UnityShell*) self, TRUE, clutter_get_current_event_time ()); -#line 1047 "plugin.c" +#line 1094 "plugin.c" } else { -#line 466 "plugin.vala" +#line 499 "plugin.vala" if (self->priv->last_input_state == UNITY_INPUT_STATE_UNITY) { -#line 467 "plugin.vala" +#line 500 "plugin.vala" return; -#line 1053 "plugin.c" +#line 1100 "plugin.c" } -#line 469 "plugin.vala" +#line 502 "plugin.vala" self->priv->last_input_state = UNITY_INPUT_STATE_UNITY; -#line 470 "plugin.vala" +#line 503 "plugin.vala" g_signal_emit_by_name (self, "restore-input-region", FALSE); -#line 472 "plugin.vala" +#line 505 "plugin.vala" unity_shell_grab_keyboard ((UnityShell*) self, FALSE, clutter_get_current_event_time ()); -#line 1061 "plugin.c" +#line 1108 "plugin.c" } } } @@ -1069,165 +1116,165 @@ static void _g_slist_free_g_object_unref (GSList* self) { } -#line 480 "plugin.vala" +#line 513 "plugin.vala" static void unity_plugin_real_show_window_picker (UnityShell* base) { -#line 1075 "plugin.c" +#line 1122 "plugin.c" UnityPlugin * self; GSList* windows; self = (UnityPlugin*) base; -#line 482 "plugin.vala" +#line 515 "plugin.vala" if (unity_expose_manager_get_expose_showing (self->priv->expose_manager) == TRUE) { -#line 484 "plugin.vala" +#line 517 "plugin.vala" unity_plugin_dexpose_windows (self); -#line 485 "plugin.vala" +#line 518 "plugin.vala" return; -#line 1085 "plugin.c" +#line 1132 "plugin.c" } -#line 488 "plugin.vala" +#line 521 "plugin.vala" windows = NULL; -#line 1089 "plugin.c" +#line 1136 "plugin.c" { GList* w_collection; GList* w_it; -#line 490 "plugin.vala" +#line 523 "plugin.vala" w_collection = wnck_screen_get_windows (wnck_screen_get_default ()); -#line 1095 "plugin.c" +#line 1142 "plugin.c" for (w_it = w_collection; w_it != NULL; w_it = w_it->next) { WnckWindow* w; -#line 490 "plugin.vala" +#line 523 "plugin.vala" w = _g_object_ref0 ((WnckWindow*) w_it->data); -#line 1100 "plugin.c" +#line 1147 "plugin.c" { -#line 492 "plugin.vala" +#line 525 "plugin.vala" switch (wnck_window_get_window_type (w)) { -#line 1104 "plugin.c" +#line 1151 "plugin.c" case WNCK_WINDOW_NORMAL: case WNCK_WINDOW_DIALOG: case WNCK_WINDOW_UTILITY: { -#line 497 "plugin.vala" +#line 530 "plugin.vala" windows = g_slist_append (windows, _g_object_ref0 (w)); -#line 498 "plugin.vala" +#line 531 "plugin.vala" break; -#line 1113 "plugin.c" +#line 1160 "plugin.c" } default: { -#line 501 "plugin.vala" +#line 534 "plugin.vala" break; -#line 1119 "plugin.c" +#line 1166 "plugin.c" } } _g_object_unref0 (w); } } } -#line 505 "plugin.vala" +#line 538 "plugin.vala" unity_plugin_expose_windows (self, windows, 80); -#line 1128 "plugin.c" +#line 1175 "plugin.c" __g_slist_free_g_object_unref0 (windows); } -#line 508 "plugin.vala" +#line 541 "plugin.vala" static ClutterStage* unity_plugin_real_get_stage (UnityShell* base) { -#line 1135 "plugin.c" +#line 1182 "plugin.c" UnityPlugin * self; ClutterStage* result; self = (UnityPlugin*) base; result = _g_object_ref0 (self->priv->stage); -#line 510 "plugin.vala" +#line 543 "plugin.vala" return result; -#line 1142 "plugin.c" +#line 1189 "plugin.c" } -#line 513 "plugin.vala" +#line 546 "plugin.vala" static UnityShellMode unity_plugin_real_get_mode (UnityShell* base) { -#line 1148 "plugin.c" +#line 1195 "plugin.c" UnityPlugin * self; UnityShellMode result; self = (UnityPlugin*) base; result = UNITY_SHELL_MODE_UNDERLAY; -#line 515 "plugin.vala" +#line 548 "plugin.vala" return result; -#line 1155 "plugin.c" +#line 1202 "plugin.c" } -#line 518 "plugin.vala" +#line 551 "plugin.vala" static gint unity_plugin_real_get_indicators_width (UnityShell* base) { -#line 1161 "plugin.c" +#line 1208 "plugin.c" UnityPlugin * self; gint result; self = (UnityPlugin*) base; result = unity_panel_view_get_indicators_width (self->priv->panel); -#line 520 "plugin.vala" +#line 553 "plugin.vala" return result; -#line 1168 "plugin.c" +#line 1215 "plugin.c" } -#line 523 "plugin.vala" +#line 556 "plugin.vala" void unity_plugin_expose_windows (UnityPlugin* self, GSList* windows, gint left_buffer) { -#line 523 "plugin.vala" +#line 556 "plugin.vala" g_return_if_fail (self != NULL); -#line 526 "plugin.vala" +#line 559 "plugin.vala" unity_expose_manager_set_left_buffer (self->priv->expose_manager, left_buffer); -#line 527 "plugin.vala" +#line 560 "plugin.vala" unity_expose_manager_start_expose (self->priv->expose_manager, windows); -#line 1180 "plugin.c" +#line 1227 "plugin.c" } -#line 530 "plugin.vala" +#line 563 "plugin.vala" void unity_plugin_dexpose_windows (UnityPlugin* self) { -#line 530 "plugin.vala" +#line 563 "plugin.vala" g_return_if_fail (self != NULL); -#line 532 "plugin.vala" +#line 565 "plugin.vala" unity_expose_manager_end_expose (self->priv->expose_manager); -#line 1190 "plugin.c" +#line 1237 "plugin.c" } -#line 535 "plugin.vala" +#line 568 "plugin.vala" static void unity_plugin_real_show_unity (UnityShell* base) { -#line 1196 "plugin.c" +#line 1243 "plugin.c" UnityPlugin * self; self = (UnityPlugin*) base; -#line 537 "plugin.vala" +#line 570 "plugin.vala" if (self->priv->places_enabled == FALSE) { -#line 1201 "plugin.c" +#line 1248 "plugin.c" WnckScreen* screen; -#line 539 "plugin.vala" +#line 572 "plugin.vala" screen = _g_object_ref0 (wnck_screen_get_default ()); -#line 541 "plugin.vala" +#line 574 "plugin.vala" wnck_screen_toggle_showing_desktop (screen, !wnck_screen_get_showing_desktop (screen)); -#line 1207 "plugin.c" +#line 1254 "plugin.c" _g_object_unref0 (screen); -#line 542 "plugin.vala" +#line 575 "plugin.vala" return; -#line 1211 "plugin.c" +#line 1258 "plugin.c" } -#line 544 "plugin.vala" +#line 577 "plugin.vala" if (self->priv->places_showing) { -#line 546 "plugin.vala" +#line 579 "plugin.vala" self->priv->places_showing = FALSE; -#line 548 "plugin.vala" +#line 581 "plugin.vala" clutter_actor_hide ((ClutterActor*) self->priv->places); -#line 549 "plugin.vala" +#line 582 "plugin.vala" clutter_actor_set_opacity ((ClutterActor*) self->priv->places, (guint8) 0); -#line 550 "plugin.vala" +#line 583 "plugin.vala" clutter_actor_set_reactive ((ClutterActor*) self->priv->places, FALSE); -#line 552 "plugin.vala" +#line 585 "plugin.vala" clutter_actor_destroy ((ClutterActor*) self->priv->actor_blur); -#line 553 "plugin.vala" +#line 586 "plugin.vala" clutter_actor_destroy ((ClutterActor*) self->priv->dark_box); -#line 554 "plugin.vala" +#line 587 "plugin.vala" unity_panel_view_set_indicator_mode (self->priv->panel, FALSE); -#line 556 "plugin.vala" +#line 589 "plugin.vala" unity_shell_ensure_input_region ((UnityShell*) self); -#line 1231 "plugin.c" +#line 1278 "plugin.c" } else { UnityActorBlur* _tmp0_; ClutterActor* _tmp1_; @@ -1236,211 +1283,211 @@ static void unity_plugin_real_show_unity (UnityShell* base) { ClutterColor _tmp4_; ClutterColor _tmp3_ = {0}; ClutterActor* _tmp6_; -#line 560 "plugin.vala" +#line 593 "plugin.vala" self->priv->places_showing = TRUE; -#line 562 "plugin.vala" +#line 595 "plugin.vala" clutter_actor_show ((ClutterActor*) self->priv->places); -#line 563 "plugin.vala" +#line 596 "plugin.vala" clutter_actor_set_opacity ((ClutterActor*) self->priv->places, (guint8) 255); -#line 564 "plugin.vala" +#line 597 "plugin.vala" clutter_actor_set_reactive ((ClutterActor*) self->priv->places, TRUE); -#line 566 "plugin.vala" +#line 599 "plugin.vala" self->priv->actor_blur = (_tmp0_ = g_object_ref_sink (unity_actor_blur_new (mutter_plugin_get_normal_window_group (unity_plugin_get_plugin (self)))), _g_object_unref0 (self->priv->actor_blur), _tmp0_); -#line 568 "plugin.vala" +#line 601 "plugin.vala" clutter_container_add_actor ((_tmp1_ = mutter_plugin_get_window_group (unity_plugin_get_plugin (self)), CLUTTER_IS_CONTAINER (_tmp1_) ? ((ClutterContainer*) _tmp1_) : NULL), (ClutterActor*) self->priv->actor_blur); -#line 569 "plugin.vala" +#line 602 "plugin.vala" clutter_actor_raise ((_tmp2_ = self->priv->actor_blur, CLUTTER_IS_ACTOR (_tmp2_) ? ((ClutterActor*) _tmp2_) : NULL), mutter_plugin_get_normal_window_group (unity_plugin_get_plugin (self))); -#line 571 "plugin.vala" +#line 604 "plugin.vala" clutter_actor_set_position ((ClutterActor*) self->priv->actor_blur, (float) 0, (float) 0); -#line 573 "plugin.vala" +#line 606 "plugin.vala" self->priv->dark_box = (_tmp5_ = g_object_ref_sink ((ClutterRectangle*) clutter_rectangle_new_with_color ((_tmp4_ = (_tmp3_.red = (guint8) 0, _tmp3_.green = (guint8) 0, _tmp3_.blue = (guint8) 0, _tmp3_.alpha = (guint8) 255, _tmp3_), &_tmp4_))), _g_object_unref0 (self->priv->dark_box), _tmp5_); -#line 575 "plugin.vala" +#line 608 "plugin.vala" clutter_container_add_actor ((_tmp6_ = mutter_plugin_get_window_group (unity_plugin_get_plugin (self)), CLUTTER_IS_CONTAINER (_tmp6_) ? ((ClutterContainer*) _tmp6_) : NULL), (ClutterActor*) self->priv->dark_box); -#line 576 "plugin.vala" +#line 609 "plugin.vala" clutter_actor_raise ((ClutterActor*) self->priv->dark_box, (ClutterActor*) self->priv->actor_blur); -#line 578 "plugin.vala" +#line 611 "plugin.vala" clutter_actor_set_position ((ClutterActor*) self->priv->dark_box, (float) 0, (float) 0); -#line 579 "plugin.vala" +#line 612 "plugin.vala" clutter_actor_set_size ((ClutterActor*) self->priv->dark_box, clutter_actor_get_width ((ClutterActor*) self->priv->stage), clutter_actor_get_height ((ClutterActor*) self->priv->stage)); -#line 581 "plugin.vala" +#line 614 "plugin.vala" clutter_actor_show ((ClutterActor*) self->priv->dark_box); -#line 582 "plugin.vala" +#line 615 "plugin.vala" clutter_actor_show ((ClutterActor*) self->priv->actor_blur); -#line 583 "plugin.vala" +#line 616 "plugin.vala" unity_panel_view_set_indicator_mode (self->priv->panel, TRUE); -#line 585 "plugin.vala" +#line 618 "plugin.vala" unity_shell_ensure_input_region ((UnityShell*) self); -#line 587 "plugin.vala" +#line 620 "plugin.vala" XFlush (XOpenDisplay (NULL)); -#line 589 "plugin.vala" +#line 622 "plugin.vala" clutter_actor_set_opacity ((ClutterActor*) self->priv->dark_box, (guint8) 0); -#line 590 "plugin.vala" +#line 623 "plugin.vala" clutter_actor_set_opacity ((ClutterActor*) self->priv->actor_blur, (guint8) 255); -#line 592 "plugin.vala" +#line 625 "plugin.vala" clutter_actor_animate ((ClutterActor*) self->priv->dark_box, (gulong) CLUTTER_EASE_IN_SINE, (guint) 250, "opacity", 180, NULL); -#line 1282 "plugin.c" +#line 1329 "plugin.c" } } -#line 596 "plugin.vala" +#line 629 "plugin.vala" static void unity_plugin_real_grab_keyboard (UnityShell* base, gboolean grab, guint32 timestamp) { -#line 1289 "plugin.c" +#line 1336 "plugin.c" UnityPlugin * self; self = (UnityPlugin*) base; -#line 598 "plugin.vala" +#line 631 "plugin.vala" if (self->priv->grab_enabled == grab) { -#line 599 "plugin.vala" +#line 632 "plugin.vala" return; -#line 1296 "plugin.c" +#line 1343 "plugin.c" } -#line 601 "plugin.vala" +#line 634 "plugin.vala" if (grab) { -#line 603 "plugin.vala" +#line 636 "plugin.vala" mutter_plugin_begin_modal (unity_plugin_get_plugin (self), utils_get_stage_window (self->priv->stage), (guint) 0, 0, timestamp); -#line 1302 "plugin.c" +#line 1349 "plugin.c" } else { -#line 611 "plugin.vala" +#line 644 "plugin.vala" mutter_plugin_end_modal (unity_plugin_get_plugin (self), timestamp); -#line 1306 "plugin.c" +#line 1353 "plugin.c" } -#line 614 "plugin.vala" +#line 647 "plugin.vala" self->priv->grab_enabled = grab; -#line 1310 "plugin.c" +#line 1357 "plugin.c" } -#line 617 "plugin.vala" +#line 650 "plugin.vala" static gboolean unity_plugin_envvar_is_enabled (UnityPlugin* self, const char* name) { -#line 1316 "plugin.c" +#line 1363 "plugin.c" gboolean result; -#line 617 "plugin.vala" +#line 650 "plugin.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 617 "plugin.vala" +#line 650 "plugin.vala" g_return_val_if_fail (name != NULL, FALSE); -#line 1322 "plugin.c" +#line 1369 "plugin.c" result = g_getenv (name) != NULL; -#line 619 "plugin.vala" +#line 652 "plugin.vala" return result; -#line 1326 "plugin.c" +#line 1373 "plugin.c" } -#line 625 "plugin.vala" +#line 658 "plugin.vala" void unity_plugin_minimize (UnityPlugin* self, MutterWindow* window) { -#line 625 "plugin.vala" +#line 658 "plugin.vala" g_return_if_fail (self != NULL); -#line 625 "plugin.vala" +#line 658 "plugin.vala" g_return_if_fail (window != NULL); -#line 627 "plugin.vala" +#line 660 "plugin.vala" g_signal_emit_by_name (self, "window-minimized", self, window); -#line 1338 "plugin.c" +#line 1385 "plugin.c" } -#line 630 "plugin.vala" +#line 663 "plugin.vala" void unity_plugin_maximize (UnityPlugin* self, MutterWindow* window, gint x, gint y, gint width, gint height) { -#line 630 "plugin.vala" +#line 663 "plugin.vala" g_return_if_fail (self != NULL); -#line 630 "plugin.vala" +#line 663 "plugin.vala" g_return_if_fail (window != NULL); -#line 636 "plugin.vala" +#line 669 "plugin.vala" g_signal_emit_by_name (self, "window-maximized", self, window, x, y, width, height); -#line 1350 "plugin.c" +#line 1397 "plugin.c" } -#line 639 "plugin.vala" +#line 672 "plugin.vala" void unity_plugin_unmaximize (UnityPlugin* self, MutterWindow* window, gint x, gint y, gint width, gint height) { -#line 639 "plugin.vala" +#line 672 "plugin.vala" g_return_if_fail (self != NULL); -#line 639 "plugin.vala" +#line 672 "plugin.vala" g_return_if_fail (window != NULL); -#line 645 "plugin.vala" +#line 678 "plugin.vala" g_signal_emit_by_name (self, "window-unmaximized", self, window, x, y, width, height); -#line 1362 "plugin.c" +#line 1409 "plugin.c" } -#line 648 "plugin.vala" +#line 681 "plugin.vala" void unity_plugin_map (UnityPlugin* self, MutterWindow* window) { -#line 648 "plugin.vala" +#line 681 "plugin.vala" g_return_if_fail (self != NULL); -#line 648 "plugin.vala" +#line 681 "plugin.vala" g_return_if_fail (window != NULL); -#line 650 "plugin.vala" +#line 683 "plugin.vala" unity_maximus_process_window (self->priv->maximus, window); -#line 651 "plugin.vala" +#line 684 "plugin.vala" g_signal_emit_by_name (self, "window-mapped", self, window); -#line 1376 "plugin.c" +#line 1423 "plugin.c" } -#line 654 "plugin.vala" +#line 687 "plugin.vala" void unity_plugin_destroy (UnityPlugin* self, MutterWindow* window) { -#line 654 "plugin.vala" +#line 687 "plugin.vala" g_return_if_fail (self != NULL); -#line 654 "plugin.vala" +#line 687 "plugin.vala" g_return_if_fail (window != NULL); -#line 656 "plugin.vala" +#line 689 "plugin.vala" g_signal_emit_by_name (self, "window-destroyed", self, window); -#line 1388 "plugin.c" +#line 1435 "plugin.c" } -#line 659 "plugin.vala" +#line 692 "plugin.vala" void unity_plugin_switch_workspace (UnityPlugin* self, GList* windows, gint from, gint to, gint direction) { -#line 659 "plugin.vala" +#line 692 "plugin.vala" g_return_if_fail (self != NULL); -#line 664 "plugin.vala" +#line 697 "plugin.vala" g_signal_emit_by_name (self, "workspace-switch-event", self, windows, from, to, direction); -#line 1398 "plugin.c" +#line 1445 "plugin.c" } -#line 667 "plugin.vala" +#line 700 "plugin.vala" void unity_plugin_kill_effect (UnityPlugin* self, MutterWindow* window, gulong events) { -#line 667 "plugin.vala" +#line 700 "plugin.vala" g_return_if_fail (self != NULL); -#line 667 "plugin.vala" +#line 700 "plugin.vala" g_return_if_fail (window != NULL); -#line 669 "plugin.vala" +#line 702 "plugin.vala" g_signal_emit_by_name (self, "window-kill-effect", self, window, events); -#line 1410 "plugin.c" +#line 1457 "plugin.c" } -#line 672 "plugin.vala" +#line 705 "plugin.vala" gint unity_plugin_get_panel_height (UnityPlugin* self) { -#line 1416 "plugin.c" +#line 1463 "plugin.c" gint result; -#line 672 "plugin.vala" +#line 705 "plugin.vala" g_return_val_if_fail (self != NULL, 0); -#line 1420 "plugin.c" +#line 1467 "plugin.c" result = UNITY_PLUGIN_PANEL_HEIGHT; -#line 674 "plugin.vala" +#line 707 "plugin.vala" return result; -#line 1424 "plugin.c" +#line 1471 "plugin.c" } -#line 677 "plugin.vala" +#line 710 "plugin.vala" gint unity_plugin_get_launcher_width (UnityPlugin* self) { -#line 1430 "plugin.c" +#line 1477 "plugin.c" gint result; -#line 677 "plugin.vala" +#line 710 "plugin.vala" g_return_val_if_fail (self != NULL, 0); -#line 1434 "plugin.c" +#line 1481 "plugin.c" result = UNITY_PLUGIN_QUICKLAUNCHER_WIDTH; -#line 679 "plugin.vala" +#line 712 "plugin.vala" return result; -#line 1438 "plugin.c" +#line 1485 "plugin.c" } #line 73 "plugin.vala" UnityPlugin* unity_plugin_construct (GType object_type) { -#line 1444 "plugin.c" +#line 1491 "plugin.c" UnityPlugin * self; self = g_object_newv (object_type, 0, NULL); return self; @@ -1451,7 +1498,7 @@ UnityPlugin* unity_plugin_construct (GType object_type) { UnityPlugin* unity_plugin_new (void) { #line 73 "plugin.vala" return unity_plugin_construct (UNITY_TYPE_PLUGIN); -#line 1455 "plugin.c" +#line 1502 "plugin.c" } @@ -1461,7 +1508,7 @@ MutterPlugin* unity_plugin_get_plugin (UnityPlugin* self) { result = self->priv->_plugin; #line 106 "plugin.vala" return result; -#line 1465 "plugin.c" +#line 1512 "plugin.c" } @@ -1472,7 +1519,7 @@ void unity_plugin_set_plugin (UnityPlugin* self, MutterPlugin* value) { self->priv->_plugin = (_tmp0_ = _g_object_ref0 (value), _g_object_unref0 (self->priv->_plugin), _tmp0_); #line 107 "plugin.vala" unity_plugin_real_construct (self); -#line 1476 "plugin.c" +#line 1523 "plugin.c" g_object_notify ((GObject *) self, "plugin"); } @@ -1484,7 +1531,7 @@ static gboolean unity_plugin_real_get_menus_swallow_events (UnityShell* base) { result = FALSE; #line 110 "plugin.vala" return result; -#line 1488 "plugin.c" +#line 1535 "plugin.c" } @@ -1494,7 +1541,7 @@ gboolean unity_plugin_get_expose_showing (UnityPlugin* self) { result = unity_expose_manager_get_expose_showing (self->priv->expose_manager); #line 112 "plugin.vala" return result; -#line 1498 "plugin.c" +#line 1545 "plugin.c" } @@ -1504,7 +1551,7 @@ static gboolean unity_plugin_get_fullscreen_obstruction (UnityPlugin* self) { result = self->priv->_fullscreen_obstruction; #line 144 "plugin.vala" return result; -#line 1508 "plugin.c" +#line 1555 "plugin.c" } @@ -1514,7 +1561,21 @@ static void unity_plugin_set_fullscreen_obstruction (UnityPlugin* self, gboolean self->priv->_fullscreen_obstruction = value; #line 148 "plugin.vala" unity_shell_ensure_input_region ((UnityShell*) self); -#line 1518 "plugin.c" +#line 1565 "plugin.c" +} + + +#line 379 "plugin.vala" +static void _unity_plugin_got_screensaver_changed_dynamic_ActiveChanged0_ (DBusGProxy* _sender, gboolean changed, gpointer self) { +#line 1571 "plugin.c" + unity_plugin_got_screensaver_changed (self, _sender, changed); +} + + +void _dynamic_ActiveChanged1_connect (gpointer obj, const char * signal_name, GCallback handler, gpointer data) { + dbus_g_object_register_marshaller (g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, G_TYPE_BOOLEAN, G_TYPE_INVALID); + dbus_g_proxy_add_signal (obj, "ActiveChanged", G_TYPE_BOOLEAN, G_TYPE_INVALID); + dbus_g_proxy_connect_signal (obj, signal_name, handler, data, NULL); } @@ -1522,9 +1583,11 @@ static GObject * unity_plugin_constructor (GType type, guint n_construct_propert GObject * obj; GObjectClass * parent_class; UnityPlugin * self; + GError * _inner_error_; parent_class = G_OBJECT_CLASS (unity_plugin_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = UNITY_PLUGIN (obj); + _inner_error_ = NULL; { UnityShell* _tmp0_; char* _tmp1_; @@ -1534,43 +1597,81 @@ static GObject * unity_plugin_constructor (GType type, guint n_construct_propert char** _tmp2_ = NULL; char** args; UnityApplication* _tmp4_; -#line 156 "plugin.vala" +#line 158 "plugin.vala" unity_global_shell = (_tmp0_ = _g_object_ref0 ((UnityShell*) self), _g_object_unref0 (unity_global_shell), _tmp0_); -#line 157 "plugin.vala" - unity_timeline_logger_get_default (); #line 159 "plugin.vala" + unity_timeline_logger_get_default (); +#line 161 "plugin.vala" boot_logging_filename = (_tmp1_ = g_strdup (g_getenv ("UNITY_BOOTLOG_FILENAME")), _g_free0 (boot_logging_filename), _tmp1_); -#line 160 "plugin.vala" - if (boot_logging_filename != NULL) { #line 162 "plugin.vala" + if (boot_logging_filename != NULL) { +#line 164 "plugin.vala" unity_is_logging = TRUE; -#line 1548 "plugin.c" +#line 1611 "plugin.c" } else { -#line 166 "plugin.vala" +#line 168 "plugin.vala" unity_is_logging = FALSE; -#line 1552 "plugin.c" +#line 1615 "plugin.c" } -#line 168 "plugin.vala" +#line 170 "plugin.vala" START_FUNCTION (); -#line 1556 "plugin.c" +#line 1619 "plugin.c" args = (_tmp3_ = (_tmp2_ = g_new0 (char*, 1 + 1), _tmp2_[0] = g_strdup ("mutter"), _tmp2_), args_length1 = 1, args_size = args_length1, _tmp3_); -#line 171 "plugin.vala" +#line 173 "plugin.vala" LOGGER_START_PROCESS ("ctk_init"); -#line 172 "plugin.vala" +#line 174 "plugin.vala" ctk_init_after (&args_length1, &args); -#line 173 "plugin.vala" +#line 175 "plugin.vala" LOGGER_END_PROCESS ("ctk_init"); -#line 176 "plugin.vala" +#line 178 "plugin.vala" LOGGER_START_PROCESS ("unity_application_constructor"); -#line 177 "plugin.vala" +#line 179 "plugin.vala" self->priv->app = (_tmp4_ = unity_application_new (), _g_object_unref0 (self->priv->app), _tmp4_); -#line 178 "plugin.vala" +#line 180 "plugin.vala" unity_application_set_shell (self->priv->app, (UnityShell*) self); -#line 179 "plugin.vala" +#line 181 "plugin.vala" LOGGER_END_PROCESS ("unity_application_constructor"); -#line 180 "plugin.vala" +#line 1635 "plugin.c" + { + DBusGConnection* _tmp5_; + DBusGConnection* _tmp6_; + DBusGProxy* _tmp7_; +#line 185 "plugin.vala" + _tmp5_ = dbus_g_bus_get (DBUS_BUS_SESSION, &_inner_error_); +#line 1642 "plugin.c" + if (_inner_error_ != NULL) { + goto __catch0_g_error; + } +#line 185 "plugin.vala" + self->priv->screensaver_conn = (_tmp6_ = _tmp5_, _dbus_g_connection_unref0 (self->priv->screensaver_conn), _tmp6_); +#line 186 "plugin.vala" + self->priv->screensaver = (_tmp7_ = dbus_g_proxy_new_for_name (self->priv->screensaver_conn, "org.gnome.ScreenSaver", "/org/gnome/ScreenSaver", "org.gnome.ScreenSaver"), _g_object_unref0 (self->priv->screensaver), _tmp7_); +#line 187 "plugin.vala" + _dynamic_ActiveChanged1_connect (self->priv->screensaver, "ActiveChanged", (GCallback) _unity_plugin_got_screensaver_changed_dynamic_ActiveChanged0_, self); +#line 1652 "plugin.c" + } + goto __finally0; + __catch0_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { +#line 191 "plugin.vala" + g_warning ("plugin.vala:191: %s", e->message); +#line 1663 "plugin.c" + _g_error_free0 (e); + } + } + __finally0: + if (_inner_error_ != NULL) { + args = (_vala_array_free (args, args_length1, (GDestroyNotify) g_free), NULL); + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + } +#line 193 "plugin.vala" END_FUNCTION (); -#line 1574 "plugin.c" +#line 1675 "plugin.c" args = (_vala_array_free (args, args_length1, (GDestroyNotify) g_free), NULL); } return obj; @@ -1639,6 +1740,8 @@ static void unity_plugin_finalize (GObject* obj) { _g_object_unref0 (self->priv->dark_box); _g_object_unref0 (self->priv->drag_dest); _g_object_unref0 (self->priv->fullscreen_requests); + _dbus_g_connection_unref0 (self->priv->screensaver_conn); + _g_object_unref0 (self->priv->screensaver); G_OBJECT_CLASS (unity_plugin_parent_class)->finalize (obj); } diff --git a/mutter-plugin/plugin.vala b/mutter-plugin/plugin.vala index e0cde47e3..f22e7a1ac 100644 --- a/mutter-plugin/plugin.vala +++ b/mutter-plugin/plugin.vala @@ -150,6 +150,8 @@ namespace Unity } private bool grab_enabled = false; + private DBus.Connection screensaver_conn; + private dynamic DBus.Object screensaver; construct { @@ -177,6 +179,17 @@ namespace Unity this.app = new Unity.Application (); this.app.shell = this; LOGGER_END_PROCESS ("unity_application_constructor"); + + try + { + this.screensaver_conn = DBus.Bus.get (DBus.BusType.SESSION); + this.screensaver = this.screensaver_conn.get_object ("org.gnome.ScreenSaver", "/org/gnome/ScreenSaver", "org.gnome.ScreenSaver"); + this.screensaver.ActiveChanged += got_screensaver_changed; + } + catch (Error e) + { + warning (e.message); + } END_FUNCTION (); } @@ -277,7 +290,7 @@ namespace Unity this.ensure_input_region (); - Wnck.Screen.get_default().active_window_changed.connect (on_active_window_changed); + Wnck.Screen.get_default ().active_window_changed.connect (on_active_window_changed); if (Wnck.Screen.get_default ().get_active_window () != null) Wnck.Screen.get_default ().get_active_window ().state_changed.connect (on_active_window_state_changed); @@ -363,6 +376,26 @@ namespace Unity dexpose_windows (); } + private void got_screensaver_changed (dynamic DBus.Object screensaver, bool changed) + { + if (changed) + { + this.quicklauncher.hide (); + this.panel.hide (); + var menu = Unity.Quicklauncher.QuicklistController.get_default (); + if (menu.menu_is_open ()) + menu.close_menu (); + fullscreen_obstruction = true; + } + else + { + this.quicklauncher.show (); + this.panel.show (); + fullscreen_obstruction = false; + } + } + + void check_fullscreen_obstruction () { Wnck.Window current = Wnck.Screen.get_default ().get_active_window (); diff --git a/po/LINGUAS b/po/LINGUAS index e69de29bb..dd5940e57 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -0,0 +1,31 @@ +ar +bg +cs +da +de +el +es +fi +fr +he +hi +hr +hu +it +ja +ko +nb +nl +pl +pt +pt_BR +ro +ru +sk +sl +sr +sv +th +tr +zh_CN +zh_TW diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 000000000..b591735f2 --- /dev/null +++ b/po/ar.po @@ -0,0 +1,28 @@ +# Arabic translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Arabic\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "إنهاء" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "حذف من برنامج Launcher" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "إبقاء في برنامج Launcher" diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 000000000..c530607af --- /dev/null +++ b/po/bg.po @@ -0,0 +1,28 @@ +# Bulgarian translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Bulgarian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Излез" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Премахни от програмата за стартиране" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Остави в програмата за стартиране" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 000000000..34ac585b7 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,29 @@ +# Czech translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Konec" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Odebrat ze Spouštěče" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Ponechat ve Spouštěči" diff --git a/po/da.po b/po/da.po new file mode 100644 index 000000000..7d0a2fa93 --- /dev/null +++ b/po/da.po @@ -0,0 +1,29 @@ +# Danish translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Danish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Afslut" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Fjern fra Launcher" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Behold i Launcher" diff --git a/po/de.po b/po/de.po new file mode 100644 index 000000000..61ada1927 --- /dev/null +++ b/po/de.po @@ -0,0 +1,29 @@ +# German translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: German\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Beenden" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Aus Startprogramm entfernen" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Im Startprogramm behalten" diff --git a/po/el.po b/po/el.po new file mode 100644 index 000000000..ba9e678aa --- /dev/null +++ b/po/el.po @@ -0,0 +1,29 @@ +# Greek translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Greek\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Κλείσιμο" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Κατάργηση από το πρόγραμμα εκκίνησης" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Διατήρηση στο πρόγραμμα εκκίνησης" diff --git a/po/es.po b/po/es.po new file mode 100644 index 000000000..3fa054450 --- /dev/null +++ b/po/es.po @@ -0,0 +1,29 @@ +# Spanish translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Spanish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Salir" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Quitar del iniciador" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Conservar en el iniciador" diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 000000000..e6a0773f8 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,29 @@ +# Finnish translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Finnish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Lopeta" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Poista Launcherista" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Pidä Launcherissa" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 000000000..a42dcabbd --- /dev/null +++ b/po/fr.po @@ -0,0 +1,29 @@ +# French translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: French\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Quitter" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Supprimer du lanceur" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Conserver dans le lanceur" diff --git a/po/he.po b/po/he.po new file mode 100644 index 000000000..ec41fb714 --- /dev/null +++ b/po/he.po @@ -0,0 +1,29 @@ +# Hebrew translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Hebrew\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "יציאה" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "מהסר מ- Launcher" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "שמור ב- Launcher" diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 000000000..3ad090c65 --- /dev/null +++ b/po/hi.po @@ -0,0 +1,28 @@ +# Hindi translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Hindi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "छोड़ें" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "लॉन्चर से निकालें" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "लॉन्चर में रखें" diff --git a/po/hr.po b/po/hr.po new file mode 100644 index 000000000..f7d8c57a9 --- /dev/null +++ b/po/hr.po @@ -0,0 +1,30 @@ +# Croatian translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Croatian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Izlaz" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Ukloni iz programa za pokretanje" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Zadrži u programu za pokretanje" diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 000000000..9c753ac02 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,29 @@ +# Hungarian translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Hungarian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Kilépés" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Eltávolítás a Launcherből" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Megtartás a Launcherben" diff --git a/po/it.po b/po/it.po new file mode 100644 index 000000000..ce14f1c55 --- /dev/null +++ b/po/it.po @@ -0,0 +1,29 @@ +# Italian translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Italian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Esci" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Rimuovi da Launcher" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Mantieni in Launcher" diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 000000000..1eea6cf71 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,29 @@ +# Japanese translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Japanese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "中止" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Launcher から削除" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Launcher に残す" diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 000000000..f7258b7f1 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,29 @@ +# Korean translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Korean\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "끝내기" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "시작 관리자에서 제거" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "시작 관리자에 유지" diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 000000000..fe860cc5c --- /dev/null +++ b/po/nb.po @@ -0,0 +1,29 @@ +# Norwegian Bokmal translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Norwegian Bokmal\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Avslutt" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Fjern fra oppstartsprogram" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Behold i oppstartsprogram" diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 000000000..4fd188b8f --- /dev/null +++ b/po/nl.po @@ -0,0 +1,29 @@ +# Dutch translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Dutch\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Afsluiten" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Verwijderen uit starter" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Bewaren in starter" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 000000000..3cd6dd82d --- /dev/null +++ b/po/pl.po @@ -0,0 +1,30 @@ +# Polish translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Polish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Zamknij" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Usuń z obszaru uruchamiania" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Pozostaw w obszarze uruchamiania" diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 000000000..256fa73dd --- /dev/null +++ b/po/pt.po @@ -0,0 +1,29 @@ +# Portuguese translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Portuguese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Abandonar" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Remover do Launcher" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Manter no Launcher" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 000000000..c0658ec70 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,29 @@ +# Portuguese translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Brazilian Portuguese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Sair" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Remover do Inicializador" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Manter no Inicializador" diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 000000000..74c07396d --- /dev/null +++ b/po/ro.po @@ -0,0 +1,30 @@ +# Romanian translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Ieşire" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Îndepărtează din programul de lansare" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Păstrează în programul de lansare" diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 000000000..d299a8a16 --- /dev/null +++ b/po/ru.po @@ -0,0 +1,30 @@ +# Russian translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Russian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Выход" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Удалить из модуля запуска" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Оставить в модуле запуска" diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 000000000..c90837bbe --- /dev/null +++ b/po/sk.po @@ -0,0 +1,29 @@ +# Slovak translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Slovak\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Ukončiť" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Odstrániť z aplikácie Launcher" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Ponechať v aplikácii Launcher" diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 000000000..0580c4075 --- /dev/null +++ b/po/sl.po @@ -0,0 +1,30 @@ +# Slovenian translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Slovenian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Končaj" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Odstrani iz zaganjalnika" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Obdrži v zaganjalniku" diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 000000000..30a6bbe42 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,30 @@ +# Serbian translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Serbian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Napusti" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Ukloni iz pokretača" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Zadrži u pokretaču" diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 000000000..0779f742d --- /dev/null +++ b/po/sv.po @@ -0,0 +1,29 @@ +# Swedish translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:36-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Swedish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Avsluta" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Ta bort från startprogram" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Behåll i startprogram" diff --git a/po/th.po b/po/th.po new file mode 100644 index 000000000..72f9e0315 --- /dev/null +++ b/po/th.po @@ -0,0 +1,28 @@ +# Thai translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:37-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Thai\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "จบการทำงาน" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "ออกจากโปรแกรมเรียกทำงาน" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "อยู่ในโปรแกรมเรียกทำงาน" diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 000000000..1ce96b710 --- /dev/null +++ b/po/tr.po @@ -0,0 +1,29 @@ +# Turkish translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:37-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Turkish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "Çık" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "Başlatıcıdan Kaldır" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "Başlatıcıda Tut" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 000000000..7885d81b3 --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,28 @@ +# Chinese translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:37-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Chinese (simplified)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "退出" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "从启动程序中删除" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "保留在启动程序中" diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 000000000..9a8b65999 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,28 @@ +# Chinese translations for l package. +# Copyright (C) 2010 THE l'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l package. +# Canonical OEM, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l 10n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-10 15:07-0500\n" +"PO-Revision-Date: 2010-03-02 12:37-0500\n" +"Last-Translator: Canonical OEM\n" +"Language-Team: Chinese (traditional)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/quicklauncher/application-model.vala:64 +msgid "Quit" +msgstr "結束" + +#: ../src/quicklauncher/application-model.vala:81 +msgid "Remove from Launcher" +msgstr "從啟動程式中刪除" + +#: ../src/quicklauncher/application-model.vala:85 +msgid "Keep In Launcher" +msgstr "保留在啟動程式中" diff --git a/src/panel/panel-view.c b/src/panel/panel-view.c index 853d5191d..049214118 100644 --- a/src/panel/panel-view.c +++ b/src/panel/panel-view.c @@ -27,8 +27,9 @@ #include <string.h> #include <clutk/clutk.h> #include <unity.h> -#include <clutter/clutter.h> #include <gconf/gconf-client.h> +#include <clutter/clutter.h> +#include <gconf/gconf.h> #include <float.h> #include <math.h> #include <unity-utils.h> @@ -109,6 +110,7 @@ struct _UnityPanelViewPrivate { UnityEntry* entry; UnityPlacesCairoDrawingEntryBackground* entry_background; gint indicators_width; + GConfClient* client; }; struct _UnityPlacesCairoDrawingEntryBackground { @@ -149,6 +151,8 @@ static void unity_panel_view_on_home_clicked (UnityPanelView* self); static gboolean* _bool_dup (gboolean* self); static void unity_panel_view_on_entry_focus_in (UnityPanelView* self); static void unity_panel_view_on_entry_focus_out (UnityPanelView* self); +static void unity_panel_view_on_search_hint_changed (UnityPanelView* self); +static void _unity_panel_view_on_search_hint_changed_gconf_client_notify_func (GConfClient* client, guint cnxn_id, GConfEntry* entry, gpointer self); static char* unity_panel_view_get_search_hint (UnityPanelView* self); static void unity_panel_view_on_entry_activated (UnityPanelView* self); void unity_places_cairo_drawing_entry_background_create_search_entry_background (UnityPlacesCairoDrawingEntryBackground* self, gint W, gint H); @@ -180,38 +184,38 @@ static int _vala_strcmp0 (const char * str1, const char * str2); -#line 43 "panel-view.vala" +#line 45 "panel-view.vala" UnityPanelView* unity_panel_view_construct (GType object_type, UnityShell* shell) { -#line 186 "panel-view.c" +#line 190 "panel-view.c" UnityPanelView * self; ClutterStage* _tmp0_; -#line 43 "panel-view.vala" - g_return_val_if_fail (shell != NULL, NULL); #line 45 "panel-view.vala" + g_return_val_if_fail (shell != NULL, NULL); +#line 47 "panel-view.vala" self = (UnityPanelView*) g_object_new (object_type, "shell", shell, "reactive", FALSE, NULL); -#line 46 "panel-view.vala" +#line 48 "panel-view.vala" unity_panel_tray_view_manage_stage (self->priv->tray, _tmp0_ = unity_shell_get_stage (self->priv->_shell)); -#line 195 "panel-view.c" +#line 199 "panel-view.c" _g_object_unref0 (_tmp0_); return self; } -#line 43 "panel-view.vala" +#line 45 "panel-view.vala" UnityPanelView* unity_panel_view_new (UnityShell* shell) { -#line 43 "panel-view.vala" +#line 45 "panel-view.vala" return unity_panel_view_construct (UNITY_PANEL_TYPE_VIEW, shell); -#line 205 "panel-view.c" +#line 209 "panel-view.c" } -#line 92 "panel-view.vala" +#line 94 "panel-view.vala" static void unity_panel_view_on_home_clicked (UnityPanelView* self) { -#line 92 "panel-view.vala" - g_return_if_fail (self != NULL); #line 94 "panel-view.vala" + g_return_if_fail (self != NULL); +#line 96 "panel-view.vala" unity_shell_show_window_picker (unity_global_shell); -#line 215 "panel-view.c" +#line 219 "panel-view.c" } @@ -228,29 +232,29 @@ static gpointer __bool_dup0 (gpointer self) { } -#line 97 "panel-view.vala" +#line 99 "panel-view.vala" static void unity_panel_view_on_entry_focus_in (UnityPanelView* self) { -#line 234 "panel-view.c" +#line 238 "panel-view.c" gboolean* _tmp1_; gboolean _tmp0_; -#line 97 "panel-view.vala" - g_return_if_fail (self != NULL); #line 99 "panel-view.vala" + g_return_if_fail (self != NULL); +#line 101 "panel-view.vala" unity_panel_search_entry_has_focus = (_tmp1_ = __bool_dup0 ((_tmp0_ = TRUE, &_tmp0_)), _g_free0 (unity_panel_search_entry_has_focus), _tmp1_); -#line 241 "panel-view.c" +#line 245 "panel-view.c" } -#line 102 "panel-view.vala" +#line 104 "panel-view.vala" static void unity_panel_view_on_entry_focus_out (UnityPanelView* self) { -#line 247 "panel-view.c" +#line 251 "panel-view.c" gboolean* _tmp1_; gboolean _tmp0_; -#line 102 "panel-view.vala" - g_return_if_fail (self != NULL); #line 104 "panel-view.vala" + g_return_if_fail (self != NULL); +#line 106 "panel-view.vala" unity_panel_search_entry_has_focus = (_tmp1_ = __bool_dup0 ((_tmp0_ = FALSE, &_tmp0_)), _g_free0 (unity_panel_search_entry_has_focus), _tmp1_); -#line 254 "panel-view.c" +#line 258 "panel-view.c" } @@ -259,51 +263,90 @@ static gpointer _g_object_ref0 (gpointer self) { } -#line 107 "panel-view.vala" +#line 142 "panel-view.vala" +static void _unity_panel_view_on_search_hint_changed_gconf_client_notify_func (GConfClient* client, guint cnxn_id, GConfEntry* entry, gpointer self) { +#line 269 "panel-view.c" + unity_panel_view_on_search_hint_changed (self); +} + + +#line 109 "panel-view.vala" static char* unity_panel_view_get_search_hint (UnityPanelView* self) { -#line 265 "panel-view.c" +#line 276 "panel-view.c" char* result; GError * _inner_error_; char* hint; - GConfClient* client; -#line 107 "panel-view.vala" + GConfClient* _tmp0_; +#line 109 "panel-view.vala" g_return_val_if_fail (self != NULL, NULL); -#line 272 "panel-view.c" +#line 283 "panel-view.c" _inner_error_ = NULL; -#line 109 "panel-view.vala" +#line 111 "panel-view.vala" hint = g_strdup (""); -#line 110 "panel-view.vala" - client = _g_object_ref0 (gconf_client_get_default ()); -#line 278 "panel-view.c" +#line 112 "panel-view.vala" + self->priv->client = (_tmp0_ = _g_object_ref0 (gconf_client_get_default ()), _g_object_unref0 (self->priv->client), _tmp0_); +#line 289 "panel-view.c" { - char* _tmp0_; char* _tmp1_; - gboolean _tmp2_ = FALSE; -#line 114 "panel-view.vala" - _tmp0_ = gconf_client_get_string (client, "/desktop/unity/panel/search_hint", &_inner_error_); -#line 285 "panel-view.c" + char* _tmp2_; + gboolean _tmp3_ = FALSE; +#line 116 "panel-view.vala" + _tmp1_ = gconf_client_get_string (self->priv->client, "/desktop/unity/panel/search_hint", &_inner_error_); +#line 296 "panel-view.c" if (_inner_error_ != NULL) { goto __catch7_g_error; } -#line 114 "panel-view.vala" - hint = (_tmp1_ = _tmp0_, _g_free0 (hint), _tmp1_); #line 116 "panel-view.vala" + hint = (_tmp2_ = _tmp1_, _g_free0 (hint), _tmp2_); +#line 302 "panel-view.c" + { +#line 120 "panel-view.vala" + gconf_client_add_dir (self->priv->client, "/desktop/unity/panel", GCONF_CLIENT_PRELOAD_NONE, &_inner_error_); +#line 306 "panel-view.c" + if (_inner_error_ != NULL) { + goto __catch8_g_error; + } +#line 122 "panel-view.vala" + gconf_client_notify_add (self->priv->client, "/desktop/unity/panel/search_hint", _unity_panel_view_on_search_hint_changed_gconf_client_notify_func, g_object_ref (self), g_object_unref, &_inner_error_); +#line 312 "panel-view.c" + if (_inner_error_ != NULL) { + goto __catch8_g_error; + } + } + goto __finally8; + __catch8_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { +#line 127 "panel-view.vala" + g_warning ("panel-view.vala:127: Unable to monitor gconf for search hint changes: %s", e->message); +#line 326 "panel-view.c" + _g_error_free0 (e); + } + } + __finally8: + if (_inner_error_ != NULL) { + goto __catch7_g_error; + } +#line 131 "panel-view.vala" if (_vala_strcmp0 (hint, "") == 0) { -#line 116 "panel-view.vala" - _tmp2_ = TRUE; -#line 295 "panel-view.c" +#line 131 "panel-view.vala" + _tmp3_ = TRUE; +#line 338 "panel-view.c" } else { -#line 116 "panel-view.vala" - _tmp2_ = hint == NULL; -#line 299 "panel-view.c" +#line 131 "panel-view.vala" + _tmp3_ = hint == NULL; +#line 342 "panel-view.c" } -#line 116 "panel-view.vala" - if (_tmp2_) { -#line 303 "panel-view.c" - char* _tmp3_; -#line 117 "panel-view.vala" - hint = (_tmp3_ = g_strdup (UNITY_PANEL_SEARCH_HINT), _g_free0 (hint), _tmp3_); -#line 307 "panel-view.c" +#line 131 "panel-view.vala" + if (_tmp3_) { +#line 346 "panel-view.c" + char* _tmp4_; +#line 132 "panel-view.vala" + hint = (_tmp4_ = g_strdup (UNITY_PANEL_SEARCH_HINT), _g_free0 (hint), _tmp4_); +#line 350 "panel-view.c" } } goto __finally7; @@ -313,32 +356,73 @@ static char* unity_panel_view_get_search_hint (UnityPanelView* self) { e = _inner_error_; _inner_error_ = NULL; { - char* _tmp4_; -#line 121 "panel-view.vala" - hint = (_tmp4_ = g_strdup (UNITY_PANEL_SEARCH_HINT), _g_free0 (hint), _tmp4_); -#line 320 "panel-view.c" + char* _tmp5_; +#line 136 "panel-view.vala" + hint = (_tmp5_ = g_strdup (UNITY_PANEL_SEARCH_HINT), _g_free0 (hint), _tmp5_); +#line 363 "panel-view.c" _g_error_free0 (e); } } __finally7: if (_inner_error_ != NULL) { _g_free0 (hint); - _g_object_unref0 (client); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return NULL; } result = hint; - _g_object_unref0 (client); -#line 124 "panel-view.vala" +#line 139 "panel-view.vala" return result; -#line 336 "panel-view.c" +#line 377 "panel-view.c" +} + + +#line 142 "panel-view.vala" +static void unity_panel_view_on_search_hint_changed (UnityPanelView* self) { +#line 383 "panel-view.c" + GError * _inner_error_; +#line 142 "panel-view.vala" + g_return_if_fail (self != NULL); +#line 387 "panel-view.c" + _inner_error_ = NULL; + { + char* hint; +#line 146 "panel-view.vala" + hint = gconf_client_get_string (self->priv->client, "/desktop/unity/panel/search_hint", &_inner_error_); +#line 393 "panel-view.c" + if (_inner_error_ != NULL) { + goto __catch9_g_error; + } +#line 148 "panel-view.vala" + unity_entry_set_static_text (self->priv->entry, hint); +#line 399 "panel-view.c" + _g_free0 (hint); + } + goto __finally9; + __catch9_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { +#line 152 "panel-view.vala" + g_warning ("panel-view.vala:152: Unable to get search hint: %s", e->message); +#line 411 "panel-view.c" + _g_error_free0 (e); + } + } + __finally9: + if (_inner_error_ != NULL) { + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + return; + } } #line 1025 "glib-2.0.vapi" static char* string_replace (const char* self, const char* old, const char* replacement) { -#line 342 "panel-view.c" +#line 426 "panel-view.c" char* result; GError * _inner_error_; #line 1025 "glib-2.0.vapi" @@ -347,7 +431,7 @@ static char* string_replace (const char* self, const char* old, const char* repl g_return_val_if_fail (old != NULL, NULL); #line 1025 "glib-2.0.vapi" g_return_val_if_fail (replacement != NULL, NULL); -#line 351 "panel-view.c" +#line 435 "panel-view.c" _inner_error_ = NULL; { char* _tmp0_; @@ -356,10 +440,10 @@ static char* string_replace (const char* self, const char* old, const char* repl char* _tmp2_; #line 1027 "glib-2.0.vapi" regex = (_tmp1_ = g_regex_new (_tmp0_ = g_regex_escape_string (old, -1), 0, 0, &_inner_error_), _g_free0 (_tmp0_), _tmp1_); -#line 360 "panel-view.c" +#line 444 "panel-view.c" if (_inner_error_ != NULL) { if (_inner_error_->domain == G_REGEX_ERROR) { - goto __catch9_g_regex_error; + goto __catch11_g_regex_error; } g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); @@ -367,11 +451,11 @@ static char* string_replace (const char* self, const char* old, const char* repl } #line 1028 "glib-2.0.vapi" _tmp2_ = g_regex_replace_literal (regex, self, (gssize) (-1), 0, replacement, 0, &_inner_error_); -#line 371 "panel-view.c" +#line 455 "panel-view.c" if (_inner_error_ != NULL) { _g_regex_unref0 (regex); if (_inner_error_->domain == G_REGEX_ERROR) { - goto __catch9_g_regex_error; + goto __catch11_g_regex_error; } _g_regex_unref0 (regex); g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); @@ -382,10 +466,10 @@ static char* string_replace (const char* self, const char* old, const char* repl _g_regex_unref0 (regex); #line 1028 "glib-2.0.vapi" return result; -#line 386 "panel-view.c" +#line 470 "panel-view.c" } - goto __finally9; - __catch9_g_regex_error: + goto __finally11; + __catch11_g_regex_error: { GError * e; e = _inner_error_; @@ -393,11 +477,11 @@ static char* string_replace (const char* self, const char* old, const char* repl { #line 1030 "glib-2.0.vapi" g_assert_not_reached (); -#line 397 "panel-view.c" +#line 481 "panel-view.c" _g_error_free0 (e); } } - __finally9: + __finally11: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); @@ -406,70 +490,70 @@ static char* string_replace (const char* self, const char* old, const char* repl } -#line 127 "panel-view.vala" +#line 156 "panel-view.vala" static void unity_panel_view_on_entry_activated (UnityPanelView* self) { -#line 412 "panel-view.c" +#line 496 "panel-view.c" GError * _inner_error_; char* template; GConfClient* client; char* _tmp5_; char* _tmp6_; char* command; -#line 127 "panel-view.vala" +#line 156 "panel-view.vala" g_return_if_fail (self != NULL); -#line 421 "panel-view.c" +#line 505 "panel-view.c" _inner_error_ = NULL; -#line 129 "panel-view.vala" +#line 158 "panel-view.vala" template = g_strdup (""); -#line 131 "panel-view.vala" +#line 160 "panel-view.vala" client = _g_object_ref0 (gconf_client_get_default ()); -#line 427 "panel-view.c" +#line 511 "panel-view.c" { char* _tmp0_; char* _tmp1_; gboolean _tmp2_ = FALSE; -#line 134 "panel-view.vala" +#line 163 "panel-view.vala" _tmp0_ = gconf_client_get_string (client, "/desktop/unity/panel/search_template", &_inner_error_); -#line 434 "panel-view.c" +#line 518 "panel-view.c" if (_inner_error_ != NULL) { - goto __catch8_g_error; + goto __catch10_g_error; } -#line 134 "panel-view.vala" +#line 163 "panel-view.vala" template = (_tmp1_ = _tmp0_, _g_free0 (template), _tmp1_); -#line 136 "panel-view.vala" +#line 165 "panel-view.vala" if (_vala_strcmp0 (template, "") == 0) { -#line 136 "panel-view.vala" +#line 165 "panel-view.vala" _tmp2_ = TRUE; -#line 444 "panel-view.c" +#line 528 "panel-view.c" } else { -#line 136 "panel-view.vala" +#line 165 "panel-view.vala" _tmp2_ = template == NULL; -#line 448 "panel-view.c" +#line 532 "panel-view.c" } -#line 136 "panel-view.vala" +#line 165 "panel-view.vala" if (_tmp2_) { -#line 452 "panel-view.c" +#line 536 "panel-view.c" char* _tmp3_; -#line 137 "panel-view.vala" +#line 166 "panel-view.vala" template = (_tmp3_ = g_strdup (UNITY_PANEL_SEARCH_TEMPLATE), _g_free0 (template), _tmp3_); -#line 456 "panel-view.c" +#line 540 "panel-view.c" } } - goto __finally8; - __catch8_g_error: + goto __finally10; + __catch10_g_error: { GError * e; e = _inner_error_; _inner_error_ = NULL; { char* _tmp4_; -#line 141 "panel-view.vala" +#line 170 "panel-view.vala" template = (_tmp4_ = g_strdup (UNITY_PANEL_SEARCH_TEMPLATE), _g_free0 (template), _tmp4_); -#line 469 "panel-view.c" +#line 553 "panel-view.c" _g_error_free0 (e); } } - __finally8: + __finally10: if (_inner_error_ != NULL) { _g_free0 (template); _g_object_unref0 (client); @@ -477,31 +561,31 @@ static void unity_panel_view_on_entry_activated (UnityPanelView* self) { g_clear_error (&_inner_error_); return; } -#line 144 "panel-view.vala" +#line 173 "panel-view.vala" command = (_tmp6_ = string_replace (template, "%s", _tmp5_ = g_uri_escape_string (clutter_text_get_text ((ClutterText*) self->priv->entry), "", TRUE)), _g_free0 (_tmp5_), _tmp6_); -#line 483 "panel-view.c" +#line 567 "panel-view.c" { -#line 149 "panel-view.vala" +#line 178 "panel-view.vala" g_spawn_command_line_async (command, &_inner_error_); -#line 487 "panel-view.c" +#line 571 "panel-view.c" if (_inner_error_ != NULL) { - goto __catch10_g_error; + goto __catch12_g_error; } } - goto __finally10; - __catch10_g_error: + goto __finally12; + __catch12_g_error: { GError * e; e = _inner_error_; _inner_error_ = NULL; { -#line 153 "panel-view.vala" - g_warning ("panel-view.vala:153: Unable to search for '%s': %s", clutter_text_get_text ((ClutterText*) self->priv->entry), e->message); -#line 501 "panel-view.c" +#line 182 "panel-view.vala" + g_warning ("panel-view.vala:182: Unable to search for '%s': %s", clutter_text_get_text ((ClutterText*) self->priv->entry), e->message); +#line 585 "panel-view.c" _g_error_free0 (e); } } - __finally10: + __finally12: if (_inner_error_ != NULL) { _g_free0 (template); _g_object_unref0 (client); @@ -516,9 +600,9 @@ static void unity_panel_view_on_entry_activated (UnityPanelView* self) { } -#line 159 "panel-view.vala" +#line 188 "panel-view.vala" static void unity_panel_view_real_allocate (ClutterActor* base, const ClutterActorBox* box, ClutterAllocationFlags flags) { -#line 522 "panel-view.c" +#line 606 "panel-view.c" UnityPanelView * self; ClutterActorBox _tmp0_ = {0}; ClutterActorBox child_box; @@ -527,267 +611,267 @@ static void unity_panel_view_real_allocate (ClutterActor* base, const ClutterAct float i_width = 0.0F; gboolean _tmp1_ = FALSE; self = (UnityPanelView*) base; -#line 162 "panel-view.vala" +#line 191 "panel-view.vala" child_box = (_tmp0_.x1 = (float) 0, _tmp0_.y1 = (float) 0, _tmp0_.x2 = (*box).x2 - (*box).x1, _tmp0_.y2 = (*box).y2 - (*box).y1, _tmp0_); -#line 167 "panel-view.vala" +#line 196 "panel-view.vala" CLUTTER_ACTOR_CLASS (unity_panel_view_parent_class)->allocate ((ClutterActor*) CTK_ACTOR (self), box, flags); -#line 169 "panel-view.vala" +#line 198 "panel-view.vala" width = (*box).x2 - (*box).x1; -#line 171 "panel-view.vala" +#line 200 "panel-view.vala" clutter_actor_set_clip ((ClutterActor*) self->priv->rect, (float) 0, (float) 0, width, (*box).y2 - (*box).y1); -#line 174 "panel-view.vala" +#line 203 "panel-view.vala" child_box.y2 = child_box.y2 + 3.0f; -#line 175 "panel-view.vala" +#line 204 "panel-view.vala" clutter_actor_allocate ((ClutterActor*) self->priv->rect, &child_box, flags); -#line 178 "panel-view.vala" +#line 207 "panel-view.vala" child_box.x1 = (float) 0; -#line 179 "panel-view.vala" +#line 208 "panel-view.vala" child_box.x2 = (float) 60; -#line 180 "panel-view.vala" +#line 209 "panel-view.vala" child_box.y1 = (float) 0; -#line 181 "panel-view.vala" +#line 210 "panel-view.vala" child_box.y2 = (float) UNITY_PANEL_PANEL_HEIGHT; -#line 182 "panel-view.vala" +#line 211 "panel-view.vala" clutter_actor_allocate ((ClutterActor*) self->priv->home, &child_box, flags); -#line 185 "panel-view.vala" +#line 214 "panel-view.vala" child_box.x1 = floorf (child_box.x2 + 12); -#line 186 "panel-view.vala" +#line 215 "panel-view.vala" child_box.x2 = floorf (child_box.x1 + 170); -#line 187 "panel-view.vala" +#line 216 "panel-view.vala" child_box.y1 = floorf ((float) 2); -#line 188 "panel-view.vala" +#line 217 "panel-view.vala" child_box.y2 = floorf ((float) UNITY_PANEL_PANEL_HEIGHT); -#line 190 "panel-view.vala" +#line 219 "panel-view.vala" if (self->priv->entry_background->Width != ((gint) (child_box.x2 - child_box.x1))) { -#line 190 "panel-view.vala" +#line 219 "panel-view.vala" _tmp1_ = clutter_actor_get_height ((ClutterActor*) self->priv->entry_background) != ((gint) ((child_box.y2 - child_box.y1) - 2)); -#line 565 "panel-view.c" +#line 649 "panel-view.c" } else { -#line 190 "panel-view.vala" +#line 219 "panel-view.vala" _tmp1_ = FALSE; -#line 569 "panel-view.c" +#line 653 "panel-view.c" } -#line 190 "panel-view.vala" +#line 219 "panel-view.vala" if (_tmp1_) { -#line 192 "panel-view.vala" +#line 221 "panel-view.vala" unity_places_cairo_drawing_entry_background_create_search_entry_background (self->priv->entry_background, (gint) (child_box.x2 - child_box.x1), (gint) ((child_box.y2 - child_box.y1) - 2)); -#line 575 "panel-view.c" +#line 659 "panel-view.c" } -#line 194 "panel-view.vala" +#line 223 "panel-view.vala" clutter_actor_allocate ((ClutterActor*) self->priv->entry_background, &child_box, flags); -#line 196 "panel-view.vala" +#line 225 "panel-view.vala" child_box.x1 = child_box.x1 + ((float) 6); -#line 197 "panel-view.vala" +#line 226 "panel-view.vala" child_box.x2 = child_box.x1 + 16; -#line 198 "panel-view.vala" +#line 227 "panel-view.vala" child_box.y1 = floorf ((UNITY_PANEL_PANEL_HEIGHT - 16) / 2.0f); -#line 199 "panel-view.vala" +#line 228 "panel-view.vala" child_box.y2 = child_box.y1 + 16; -#line 200 "panel-view.vala" +#line 229 "panel-view.vala" clutter_actor_allocate ((ClutterActor*) self->priv->entry_icon, &child_box, flags); -#line 202 "panel-view.vala" +#line 231 "panel-view.vala" child_box.x1 = child_box.x2 + 4; -#line 203 "panel-view.vala" +#line 232 "panel-view.vala" child_box.x2 = (child_box.x1 + 150) - 16; -#line 204 "panel-view.vala" +#line 233 "panel-view.vala" child_box.y1 = (float) 9; -#line 205 "panel-view.vala" +#line 234 "panel-view.vala" child_box.y2 = (float) 15; -#line 206 "panel-view.vala" +#line 235 "panel-view.vala" clutter_actor_allocate ((ClutterActor*) self->priv->entry, &child_box, flags); -#line 208 "panel-view.vala" +#line 237 "panel-view.vala" child_box.y1 = (float) 0; -#line 209 "panel-view.vala" +#line 238 "panel-view.vala" child_box.y2 = (float) UNITY_PANEL_PANEL_HEIGHT; -#line 212 "panel-view.vala" +#line 241 "panel-view.vala" clutter_actor_get_preferred_width ((ClutterActor*) self->priv->indicators, (float) UNITY_PANEL_PANEL_HEIGHT, &child_width, &child_width); -#line 215 "panel-view.vala" +#line 244 "panel-view.vala" child_box.x1 = width - child_width; -#line 216 "panel-view.vala" +#line 245 "panel-view.vala" child_box.x2 = width; -#line 217 "panel-view.vala" +#line 246 "panel-view.vala" clutter_actor_allocate ((ClutterActor*) self->priv->indicators, &child_box, flags); -#line 219 "panel-view.vala" +#line 248 "panel-view.vala" width = width - (child_width + 12); -#line 222 "panel-view.vala" +#line 251 "panel-view.vala" clutter_actor_get_preferred_width ((ClutterActor*) self->priv->tray, (float) UNITY_PANEL_PANEL_HEIGHT, &child_width, &child_width); -#line 225 "panel-view.vala" +#line 254 "panel-view.vala" child_box.x1 = width - child_width; -#line 226 "panel-view.vala" +#line 255 "panel-view.vala" child_box.x2 = width; -#line 227 "panel-view.vala" +#line 256 "panel-view.vala" clutter_actor_allocate ((ClutterActor*) self->priv->tray, &child_box, flags); -#line 229 "panel-view.vala" +#line 258 "panel-view.vala" width = width - (child_box.x2 - child_box.x1); -#line 230 "panel-view.vala" +#line 259 "panel-view.vala" i_width = ((*box).x2 - (*box).x1) - width; -#line 231 "panel-view.vala" +#line 260 "panel-view.vala" if (self->priv->indicators_width != ((gint) i_width)) { -#line 233 "panel-view.vala" +#line 262 "panel-view.vala" self->priv->indicators_width = (gint) i_width; -#line 234 "panel-view.vala" +#line 263 "panel-view.vala" g_signal_emit_by_name (self->priv->_shell, "indicators-changed", self->priv->indicators_width); -#line 631 "panel-view.c" +#line 715 "panel-view.c" } } -#line 238 "panel-view.vala" +#line 267 "panel-view.vala" static void unity_panel_view_real_paint (ClutterActor* base) { -#line 638 "panel-view.c" +#line 722 "panel-view.c" UnityPanelView * self; self = (UnityPanelView*) base; -#line 240 "panel-view.vala" +#line 269 "panel-view.vala" CLUTTER_ACTOR_CLASS (unity_panel_view_parent_class)->paint ((ClutterActor*) CTK_ACTOR (self)); -#line 241 "panel-view.vala" +#line 270 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->rect); -#line 242 "panel-view.vala" +#line 271 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->tray); -#line 243 "panel-view.vala" +#line 272 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->home); -#line 244 "panel-view.vala" +#line 273 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->indicators); -#line 245 "panel-view.vala" +#line 274 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->entry_background); -#line 246 "panel-view.vala" +#line 275 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->entry_icon); -#line 247 "panel-view.vala" +#line 276 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->entry); -#line 657 "panel-view.c" +#line 741 "panel-view.c" } -#line 250 "panel-view.vala" +#line 279 "panel-view.vala" static void unity_panel_view_real_pick (ClutterActor* base, const ClutterColor* color) { -#line 663 "panel-view.c" +#line 747 "panel-view.c" UnityPanelView * self; self = (UnityPanelView*) base; -#line 252 "panel-view.vala" +#line 281 "panel-view.vala" CLUTTER_ACTOR_CLASS (unity_panel_view_parent_class)->pick ((ClutterActor*) CTK_ACTOR (self), color); -#line 253 "panel-view.vala" +#line 282 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->tray); -#line 254 "panel-view.vala" +#line 283 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->home); -#line 255 "panel-view.vala" +#line 284 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->indicators); -#line 256 "panel-view.vala" +#line 285 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->entry_background); -#line 257 "panel-view.vala" +#line 286 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->entry_icon); -#line 258 "panel-view.vala" +#line 287 "panel-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->entry); -#line 680 "panel-view.c" +#line 764 "panel-view.c" } -#line 261 "panel-view.vala" +#line 290 "panel-view.vala" static void unity_panel_view_real_map (ClutterActor* base) { -#line 686 "panel-view.c" +#line 770 "panel-view.c" UnityPanelView * self; self = (UnityPanelView*) base; -#line 263 "panel-view.vala" +#line 292 "panel-view.vala" CLUTTER_ACTOR_CLASS (unity_panel_view_parent_class)->map ((ClutterActor*) CTK_ACTOR (self)); -#line 264 "panel-view.vala" +#line 293 "panel-view.vala" clutter_actor_map ((ClutterActor*) self->priv->rect); -#line 265 "panel-view.vala" +#line 294 "panel-view.vala" clutter_actor_map ((ClutterActor*) self->priv->tray); -#line 266 "panel-view.vala" +#line 295 "panel-view.vala" clutter_actor_map ((ClutterActor*) self->priv->home); -#line 267 "panel-view.vala" +#line 296 "panel-view.vala" clutter_actor_map ((ClutterActor*) self->priv->indicators); -#line 268 "panel-view.vala" +#line 297 "panel-view.vala" clutter_actor_map ((ClutterActor*) self->priv->entry_background); -#line 269 "panel-view.vala" +#line 298 "panel-view.vala" clutter_actor_map ((ClutterActor*) self->priv->entry_icon); -#line 270 "panel-view.vala" +#line 299 "panel-view.vala" clutter_actor_map ((ClutterActor*) self->priv->entry); -#line 705 "panel-view.c" +#line 789 "panel-view.c" } -#line 273 "panel-view.vala" +#line 302 "panel-view.vala" static void unity_panel_view_real_unmap (ClutterActor* base) { -#line 711 "panel-view.c" +#line 795 "panel-view.c" UnityPanelView * self; self = (UnityPanelView*) base; -#line 275 "panel-view.vala" +#line 304 "panel-view.vala" CLUTTER_ACTOR_CLASS (unity_panel_view_parent_class)->unmap ((ClutterActor*) CTK_ACTOR (self)); -#line 276 "panel-view.vala" +#line 305 "panel-view.vala" clutter_actor_unmap ((ClutterActor*) self->priv->rect); -#line 277 "panel-view.vala" +#line 306 "panel-view.vala" clutter_actor_unmap ((ClutterActor*) self->priv->tray); -#line 278 "panel-view.vala" +#line 307 "panel-view.vala" clutter_actor_unmap ((ClutterActor*) self->priv->home); -#line 279 "panel-view.vala" +#line 308 "panel-view.vala" clutter_actor_unmap ((ClutterActor*) self->priv->indicators); -#line 280 "panel-view.vala" +#line 309 "panel-view.vala" clutter_actor_unmap ((ClutterActor*) self->priv->entry_background); -#line 281 "panel-view.vala" +#line 310 "panel-view.vala" clutter_actor_unmap ((ClutterActor*) self->priv->entry_icon); -#line 282 "panel-view.vala" +#line 311 "panel-view.vala" clutter_actor_unmap ((ClutterActor*) self->priv->entry); -#line 730 "panel-view.c" +#line 814 "panel-view.c" } -#line 285 "panel-view.vala" +#line 314 "panel-view.vala" gint unity_panel_view_get_indicators_width (UnityPanelView* self) { -#line 736 "panel-view.c" +#line 820 "panel-view.c" gint result; -#line 285 "panel-view.vala" +#line 314 "panel-view.vala" g_return_val_if_fail (self != NULL, 0); -#line 740 "panel-view.c" +#line 824 "panel-view.c" result = (gint) self->priv->indicators_width; -#line 287 "panel-view.vala" +#line 316 "panel-view.vala" return result; -#line 744 "panel-view.c" +#line 828 "panel-view.c" } -#line 290 "panel-view.vala" +#line 319 "panel-view.vala" void unity_panel_view_set_indicator_mode (UnityPanelView* self, gboolean mode) { -#line 750 "panel-view.c" +#line 834 "panel-view.c" float x = 0.0F; float _tmp0_ = 0.0F; float _tmp1_ = 0.0F; gint _tmp2_ = 0; -#line 290 "panel-view.vala" +#line 319 "panel-view.vala" g_return_if_fail (self != NULL); -#line 294 "panel-view.vala" +#line 323 "panel-view.vala" if (mode) { -#line 294 "panel-view.vala" +#line 323 "panel-view.vala" _tmp0_ = clutter_actor_get_width ((ClutterActor*) self) - unity_panel_view_get_indicators_width (self); -#line 761 "panel-view.c" +#line 845 "panel-view.c" } else { -#line 294 "panel-view.vala" +#line 323 "panel-view.vala" _tmp0_ = (float) 0; -#line 765 "panel-view.c" +#line 849 "panel-view.c" } -#line 294 "panel-view.vala" +#line 323 "panel-view.vala" x = _tmp0_; -#line 298 "panel-view.vala" +#line 327 "panel-view.vala" if (mode) { -#line 298 "panel-view.vala" +#line 327 "panel-view.vala" _tmp1_ = (float) unity_panel_view_get_indicators_width (self); -#line 773 "panel-view.c" +#line 857 "panel-view.c" } else { -#line 298 "panel-view.vala" +#line 327 "panel-view.vala" _tmp1_ = clutter_actor_get_width ((ClutterActor*) self); -#line 777 "panel-view.c" +#line 861 "panel-view.c" } -#line 299 "panel-view.vala" +#line 328 "panel-view.vala" if (mode) { -#line 299 "panel-view.vala" +#line 328 "panel-view.vala" _tmp2_ = UNITY_PANEL_PANEL_HEIGHT - 1; -#line 783 "panel-view.c" +#line 867 "panel-view.c" } else { -#line 299 "panel-view.vala" +#line 328 "panel-view.vala" _tmp2_ = UNITY_PANEL_PANEL_HEIGHT; -#line 787 "panel-view.c" +#line 871 "panel-view.c" } -#line 296 "panel-view.vala" +#line 325 "panel-view.vala" clutter_actor_set_clip ((ClutterActor*) self->priv->rect, x, (float) 0, _tmp1_, (float) _tmp2_); -#line 791 "panel-view.c" +#line 875 "panel-view.c" } @@ -797,7 +881,7 @@ UnityShell* unity_panel_view_get_shell (UnityPanelView* self) { result = self->priv->_shell; #line 30 "panel-view.vala" return result; -#line 801 "panel-view.c" +#line 885 "panel-view.c" } @@ -809,30 +893,30 @@ static void unity_panel_view_set_shell (UnityPanelView* self, UnityShell* value) } -#line 92 "panel-view.vala" +#line 94 "panel-view.vala" static void _unity_panel_view_on_home_clicked_unity_panel_home_button_clicked (UnityPanelHomeButton* _sender, guint32 time_, gpointer self) { -#line 815 "panel-view.c" +#line 899 "panel-view.c" unity_panel_view_on_home_clicked (self); } -#line 127 "panel-view.vala" +#line 156 "panel-view.vala" static void _unity_panel_view_on_entry_activated_clutter_text_activate (ClutterText* _sender, gpointer self) { -#line 822 "panel-view.c" +#line 906 "panel-view.c" unity_panel_view_on_entry_activated (self); } -#line 97 "panel-view.vala" +#line 99 "panel-view.vala" static void _unity_panel_view_on_entry_focus_in_clutter_actor_key_focus_in (ClutterActor* _sender, gpointer self) { -#line 829 "panel-view.c" +#line 913 "panel-view.c" unity_panel_view_on_entry_focus_in (self); } -#line 102 "panel-view.vala" +#line 104 "panel-view.vala" static void _unity_panel_view_on_entry_focus_out_clutter_actor_key_focus_out (ClutterActor* _sender, gpointer self) { -#line 836 "panel-view.c" +#line 920 "panel-view.c" unity_panel_view_on_entry_focus_out (self); } @@ -855,69 +939,69 @@ static GObject * unity_panel_view_constructor (GType type, guint n_construct_pro char* _tmp7_; gboolean* _tmp9_; gboolean _tmp8_; -#line 51 "panel-view.vala" - START_FUNCTION (); #line 53 "panel-view.vala" + START_FUNCTION (); +#line 55 "panel-view.vala" self->priv->rect = (_tmp0_ = g_object_ref_sink (unity_theme_image_new ("panel_background")), _g_object_unref0 (self->priv->rect), _tmp0_); -#line 54 "panel-view.vala" +#line 56 "panel-view.vala" clutter_texture_set_repeat ((ClutterTexture*) self->priv->rect, TRUE, FALSE); -#line 55 "panel-view.vala" +#line 57 "panel-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->rect, (ClutterActor*) self); -#line 56 "panel-view.vala" - clutter_actor_show ((ClutterActor*) self->priv->rect); #line 58 "panel-view.vala" + clutter_actor_show ((ClutterActor*) self->priv->rect); +#line 60 "panel-view.vala" self->priv->indicators = (_tmp1_ = g_object_ref_sink (unity_panel_indicators_view_new ()), _g_object_unref0 (self->priv->indicators), _tmp1_); -#line 59 "panel-view.vala" +#line 61 "panel-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->indicators, (ClutterActor*) self); -#line 60 "panel-view.vala" - clutter_actor_show ((ClutterActor*) self->priv->indicators); #line 62 "panel-view.vala" + clutter_actor_show ((ClutterActor*) self->priv->indicators); +#line 64 "panel-view.vala" self->priv->tray = (_tmp2_ = g_object_ref_sink (unity_panel_tray_view_new ()), _g_object_unref0 (self->priv->tray), _tmp2_); -#line 63 "panel-view.vala" +#line 65 "panel-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->tray, (ClutterActor*) self); -#line 64 "panel-view.vala" - clutter_actor_show ((ClutterActor*) self->priv->tray); #line 66 "panel-view.vala" + clutter_actor_show ((ClutterActor*) self->priv->tray); +#line 68 "panel-view.vala" self->priv->home = (_tmp3_ = g_object_ref_sink (unity_panel_home_button_new (self->priv->_shell)), _g_object_unref0 (self->priv->home), _tmp3_); -#line 67 "panel-view.vala" +#line 69 "panel-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->home, (ClutterActor*) self); -#line 68 "panel-view.vala" +#line 70 "panel-view.vala" clutter_actor_show ((ClutterActor*) self->priv->home); -#line 69 "panel-view.vala" - g_signal_connect_object (self->priv->home, "clicked", (GCallback) _unity_panel_view_on_home_clicked_unity_panel_home_button_clicked, self, 0); #line 71 "panel-view.vala" + g_signal_connect_object (self->priv->home, "clicked", (GCallback) _unity_panel_view_on_home_clicked_unity_panel_home_button_clicked, self, 0); +#line 73 "panel-view.vala" self->priv->entry_background = (_tmp4_ = g_object_ref_sink (unity_places_cairo_drawing_entry_background_new ()), _g_object_unref0 (self->priv->entry_background), _tmp4_); -#line 72 "panel-view.vala" +#line 74 "panel-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->entry_background, (ClutterActor*) self); -#line 73 "panel-view.vala" - clutter_actor_show ((ClutterActor*) self->priv->entry_background); #line 75 "panel-view.vala" + clutter_actor_show ((ClutterActor*) self->priv->entry_background); +#line 77 "panel-view.vala" self->priv->entry_icon = (_tmp5_ = g_object_ref_sink (unity_theme_image_new ("search_field")), _g_object_unref0 (self->priv->entry_icon), _tmp5_); -#line 76 "panel-view.vala" +#line 78 "panel-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->entry_icon, (ClutterActor*) self); -#line 77 "panel-view.vala" - clutter_actor_show ((ClutterActor*) self->priv->entry_icon); #line 79 "panel-view.vala" + clutter_actor_show ((ClutterActor*) self->priv->entry_icon); +#line 81 "panel-view.vala" self->priv->entry = (_tmp6_ = g_object_ref_sink (unity_entry_new ("")), _g_object_unref0 (self->priv->entry), _tmp6_); -#line 80 "panel-view.vala" +#line 82 "panel-view.vala" unity_entry_set_static_text (self->priv->entry, _tmp7_ = unity_panel_view_get_search_hint (self)); -#line 905 "panel-view.c" +#line 989 "panel-view.c" _g_free0 (_tmp7_); -#line 81 "panel-view.vala" +#line 83 "panel-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->entry, (ClutterActor*) self); -#line 82 "panel-view.vala" +#line 84 "panel-view.vala" clutter_actor_show ((ClutterActor*) self->priv->entry); -#line 83 "panel-view.vala" - g_signal_connect_object ((ClutterText*) self->priv->entry, "activate", (GCallback) _unity_panel_view_on_entry_activated_clutter_text_activate, self, 0); #line 85 "panel-view.vala" + g_signal_connect_object ((ClutterText*) self->priv->entry, "activate", (GCallback) _unity_panel_view_on_entry_activated_clutter_text_activate, self, 0); +#line 87 "panel-view.vala" g_signal_connect_object ((ClutterActor*) self->priv->entry, "key-focus-in", (GCallback) _unity_panel_view_on_entry_focus_in_clutter_actor_key_focus_in, self, 0); -#line 86 "panel-view.vala" +#line 88 "panel-view.vala" g_signal_connect_object ((ClutterActor*) self->priv->entry, "key-focus-out", (GCallback) _unity_panel_view_on_entry_focus_out_clutter_actor_key_focus_out, self, 0); -#line 87 "panel-view.vala" - unity_panel_search_entry_has_focus = (_tmp9_ = __bool_dup0 ((_tmp8_ = FALSE, &_tmp8_)), _g_free0 (unity_panel_search_entry_has_focus), _tmp9_); #line 89 "panel-view.vala" + unity_panel_search_entry_has_focus = (_tmp9_ = __bool_dup0 ((_tmp8_ = FALSE, &_tmp8_)), _g_free0 (unity_panel_search_entry_has_focus), _tmp9_); +#line 91 "panel-view.vala" END_FUNCTION (); -#line 921 "panel-view.c" +#line 1005 "panel-view.c" } return obj; } @@ -956,6 +1040,7 @@ static void unity_panel_view_finalize (GObject* obj) { _g_object_unref0 (self->priv->entry_icon); _g_object_unref0 (self->priv->entry); _g_object_unref0 (self->priv->entry_background); + _g_object_unref0 (self->priv->client); G_OBJECT_CLASS (unity_panel_view_parent_class)->finalize (obj); } diff --git a/src/panel/panel-view.vala b/src/panel/panel-view.vala index 4b578278b..0702fd66b 100644 --- a/src/panel/panel-view.vala +++ b/src/panel/panel-view.vala @@ -40,6 +40,8 @@ namespace Unity.Panel private int indicators_width = 0; + private GConf.Client client; + public View (Shell shell) { Object (shell:shell, reactive:false); @@ -107,12 +109,25 @@ namespace Unity.Panel private string get_search_hint () { string hint = ""; - var client = GConf.Client.get_default (); + this.client = GConf.Client.get_default (); try { hint = client.get_string ("/desktop/unity/panel/search_hint"); + try + { + client.add_dir ("/desktop/unity/panel", + GConf.ClientPreloadType.NONE); + client.notify_add ("/desktop/unity/panel/search_hint", + this.on_search_hint_changed); + } + catch (Error e) + { + warning ("Unable to monitor gconf for search hint changes: %s", + e.message); + } + if (hint == "" || hint == null) hint = SEARCH_HINT; } @@ -124,6 +139,20 @@ namespace Unity.Panel return hint; } + private void on_search_hint_changed () + { + try + { + var hint = client.get_string ("/desktop/unity/panel/search_hint"); + + this.entry.static_text = hint; + } + catch (Error e) + { + warning ("Unable to get search hint: %s", e.message); + } + } + private void on_entry_activated () { string template = ""; diff --git a/src/places/bar-view.c b/src/places/bar-view.c index f89dc0aba..0f5368311 100644 --- a/src/places/bar-view.c +++ b/src/places/bar-view.c @@ -513,7 +513,7 @@ gboolean unity_places_bar_view_on_button_release (UnityPlacesBarView* self, Clut #line 514 "bar-view.c" if (_inner_error_ != NULL) { if (_inner_error_->domain == G_SPAWN_ERROR) { - goto __catch11_g_spawn_error; + goto __catch13_g_spawn_error; } _g_object_unref0 (icon); _g_object_unref0 (actor); @@ -522,8 +522,8 @@ gboolean unity_places_bar_view_on_button_release (UnityPlacesBarView* self, Clut return FALSE; } } - goto __finally11; - __catch11_g_spawn_error: + goto __finally13; + __catch13_g_spawn_error: { GError * e; e = _inner_error_; @@ -535,7 +535,7 @@ gboolean unity_places_bar_view_on_button_release (UnityPlacesBarView* self, Clut _g_error_free0 (e); } } - __finally11: + __finally13: if (_inner_error_ != NULL) { _g_object_unref0 (icon); _g_object_unref0 (actor); diff --git a/src/places/places-controller.c b/src/places/places-controller.c index 0b7fb1401..5c82c683f 100644 --- a/src/places/places-controller.c +++ b/src/places/places-controller.c @@ -344,7 +344,7 @@ void unity_places_controller_load_remote_places (UnityPlacesController* self) { enumerator = g_file_enumerate_children (dir, G_FILE_ATTRIBUTE_STANDARD_NAME, 0, NULL, &_inner_error_); #line 346 "places-controller.c" if (_inner_error_ != NULL) { - goto __catch12_g_error; + goto __catch14_g_error; } file_info = NULL; #line 73 "places-controller.vala" @@ -361,7 +361,7 @@ void unity_places_controller_load_remote_places (UnityPlacesController* self) { if (_inner_error_ != NULL) { _g_object_unref0 (enumerator); _g_object_unref0 (file_info); - goto __catch12_g_error; + goto __catch14_g_error; } #line 73 "places-controller.vala" if (!((file_info = (_tmp1_ = _tmp0_, _g_object_unref0 (file_info), _tmp1_)) != NULL)) { @@ -379,8 +379,8 @@ void unity_places_controller_load_remote_places (UnityPlacesController* self) { _g_object_unref0 (enumerator); _g_object_unref0 (file_info); } - goto __finally12; - __catch12_g_error: + goto __finally14; + __catch14_g_error: { GError * _error_; _error_ = _inner_error_; @@ -394,7 +394,7 @@ void unity_places_controller_load_remote_places (UnityPlacesController* self) { _g_error_free0 (_error_); } } - __finally12: + __finally14: if (_inner_error_ != NULL) { _g_free0 (placesdir); _g_object_unref0 (dir); @@ -435,20 +435,20 @@ static void unity_places_controller_load_place (UnityPlacesController* self, con g_key_file_load_from_file (file, filename, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &_inner_error_); #line 437 "places-controller.c" if (_inner_error_ != NULL) { - goto __catch13_g_error; + goto __catch15_g_error; } #line 97 "places-controller.vala" name = g_key_file_get_string (file, group, "Name", &_inner_error_); #line 443 "places-controller.c" if (_inner_error_ != NULL) { - goto __catch13_g_error; + goto __catch15_g_error; } #line 98 "places-controller.vala" comment = g_key_file_get_string (file, group, "Comment", &_inner_error_); #line 449 "places-controller.c" if (_inner_error_ != NULL) { _g_free0 (name); - goto __catch13_g_error; + goto __catch15_g_error; } #line 99 "places-controller.vala" icon_name = g_key_file_get_string (file, group, "Icon", &_inner_error_); @@ -456,7 +456,7 @@ static void unity_places_controller_load_place (UnityPlacesController* self, con if (_inner_error_ != NULL) { _g_free0 (name); _g_free0 (comment); - goto __catch13_g_error; + goto __catch15_g_error; } #line 100 "places-controller.vala" dbus_name = g_key_file_get_string (file, group, "DBusName", &_inner_error_); @@ -465,7 +465,7 @@ static void unity_places_controller_load_place (UnityPlacesController* self, con _g_free0 (name); _g_free0 (comment); _g_free0 (icon_name); - goto __catch13_g_error; + goto __catch15_g_error; } #line 101 "places-controller.vala" dbus_path = g_key_file_get_string (file, group, "DBusPath", &_inner_error_); @@ -475,7 +475,7 @@ static void unity_places_controller_load_place (UnityPlacesController* self, con _g_free0 (comment); _g_free0 (icon_name); _g_free0 (dbus_name); - goto __catch13_g_error; + goto __catch15_g_error; } #line 103 "places-controller.vala" place = (UnityPlacesPlace*) unity_places_place_proxy_new (name, icon_name, comment, dbus_name, dbus_path); @@ -494,8 +494,8 @@ static void unity_places_controller_load_place (UnityPlacesController* self, con _g_free0 (dbus_path); _g_object_unref0 (place); } - goto __finally13; - __catch13_g_error: + goto __finally15; + __catch15_g_error: { GError * e; e = _inner_error_; @@ -509,7 +509,7 @@ static void unity_places_controller_load_place (UnityPlacesController* self, con _g_error_free0 (e); } } - __finally13: + __finally15: if (_inner_error_ != NULL) { _g_free0 (group); _g_key_file_free0 (file); diff --git a/src/places/places-place-proxy.c b/src/places/places-place-proxy.c index d692ed482..22bcafee7 100644 --- a/src/places/places-place-proxy.c +++ b/src/places/places-place-proxy.c @@ -210,7 +210,7 @@ static void unity_places_place_proxy_setup_service (UnityPlacesPlaceProxy* self) _tmp0_ = dbus_g_bus_get (DBUS_BUS_SESSION, &_inner_error_); #line 212 "places-place-proxy.c" if (_inner_error_ != NULL) { - goto __catch14_g_error; + goto __catch16_g_error; } #line 59 "places-place-proxy.vala" self->priv->conn = (_tmp1_ = _tmp0_, _dbus_g_connection_unref0 (self->priv->conn), _tmp1_); @@ -222,11 +222,11 @@ static void unity_places_place_proxy_setup_service (UnityPlacesPlaceProxy* self) _dynamic_set_active0 (self->priv->service, FALSE, &_inner_error_); #line 224 "places-place-proxy.c" if (_inner_error_ != NULL) { - goto __catch14_g_error; + goto __catch16_g_error; } } - goto __finally14; - __catch14_g_error: + goto __finally16; + __catch16_g_error: { GError * e; e = _inner_error_; @@ -238,7 +238,7 @@ static void unity_places_place_proxy_setup_service (UnityPlacesPlaceProxy* self) _g_error_free0 (e); } } - __finally14: + __finally16: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); diff --git a/src/quicklauncher/application-model.c b/src/quicklauncher/application-model.c index 45ec3ed31..57bc4625d 100644 --- a/src/quicklauncher/application-model.c +++ b/src/quicklauncher/application-model.c @@ -343,7 +343,7 @@ static void unity_quicklauncher_models_application_shortcut_real_activated (Unit #line 344 "application-model.c" if (_inner_error_ != NULL) { _g_key_file_free0 (desktop_file); - goto __catch15_g_error; + goto __catch17_g_error; } #line 42 "application-model.vala" g_key_file_set_string (desktop_file, "Desktop Entry", "Exec", self->exec); @@ -355,7 +355,7 @@ static void unity_quicklauncher_models_application_shortcut_real_activated (Unit if (_inner_error_ != NULL) { _g_key_file_free0 (desktop_file); _g_object_unref0 (appinfo); - goto __catch15_g_error; + goto __catch17_g_error; } #line 45 "application-model.vala" gdk_app_launch_context_set_screen (context, gdk_display_get_default_screen (gdk_display_get_default ())); @@ -367,13 +367,13 @@ static void unity_quicklauncher_models_application_shortcut_real_activated (Unit if (_inner_error_ != NULL) { _g_key_file_free0 (desktop_file); _g_object_unref0 (appinfo); - goto __catch15_g_error; + goto __catch17_g_error; } _g_key_file_free0 (desktop_file); _g_object_unref0 (appinfo); } - goto __finally15; - __catch15_g_error: + goto __finally17; + __catch17_g_error: { GError * e; e = _inner_error_; @@ -385,7 +385,7 @@ static void unity_quicklauncher_models_application_shortcut_real_activated (Unit _g_error_free0 (e); } } - __finally15: + __finally17: if (_inner_error_ != NULL) { _g_object_unref0 (context); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); @@ -827,7 +827,7 @@ static void unity_quicklauncher_models_application_model_grab_priority (UnityQui #line 211 "application-model.vala" if (!unity_quicklauncher_models_launcher_model_get_is_sticky ((UnityQuicklauncherModelsLauncherModel*) self)) { #line 214 "application-model.vala" - self->priv->_priority = -1000000.0f; + self->priv->_priority = 1000000.0f; #line 215 "application-model.vala" return; #line 834 "application-model.c" @@ -971,11 +971,11 @@ static GeeArrayList* unity_quicklauncher_models_application_model_real_get_menu_ g_key_file_load_from_file (desktop_file, launcher_application_get_desktop_file (unity_quicklauncher_models_application_model_get_app (self)), 0, &_inner_error_); #line 973 "application-model.c" if (_inner_error_ != NULL) { - goto __catch16_g_error; + goto __catch18_g_error; } } - goto __finally16; - __catch16_g_error: + goto __finally18; + __catch18_g_error: { GError * e; e = _inner_error_; @@ -992,7 +992,7 @@ static GeeArrayList* unity_quicklauncher_models_application_model_real_get_menu_ #line 993 "application-model.c" } } - __finally16: + __finally18: if (_inner_error_ != NULL) { _g_object_unref0 (ret_list); _g_key_file_free0 (desktop_file); @@ -1049,7 +1049,7 @@ static GeeArrayList* unity_quicklauncher_models_application_model_real_get_menu_ _tmp3_ = g_key_file_get_value (desktop_file, groups[a], "Exec", &_inner_error_); #line 1051 "application-model.c" if (_inner_error_ != NULL) { - goto __catch17_g_error; + goto __catch19_g_error; } #line 364 "application-model.vala" exec = (_tmp4_ = _tmp3_, _g_free0 (exec), _tmp4_); @@ -1057,14 +1057,14 @@ static GeeArrayList* unity_quicklauncher_models_application_model_real_get_menu_ _tmp5_ = g_key_file_get_locale_string (desktop_file, groups[a], "Name", "", &_inner_error_); #line 1059 "application-model.c" if (_inner_error_ != NULL) { - goto __catch17_g_error; + goto __catch19_g_error; } #line 365 "application-model.vala" name = (_tmp6_ = _tmp5_, _g_free0 (name), _tmp6_); #line 1065 "application-model.c" } - goto __finally17; - __catch17_g_error: + goto __finally19; + __catch19_g_error: { GError * e; e = _inner_error_; @@ -1081,7 +1081,7 @@ static GeeArrayList* unity_quicklauncher_models_application_model_real_get_menu_ #line 1082 "application-model.c" } } - __finally17: + __finally19: if (_inner_error_ != NULL) { _g_free0 (exec); _g_free0 (name); @@ -1221,14 +1221,14 @@ static void unity_quicklauncher_models_application_model_real_activate (UnityQui launcher_application_launch (unity_quicklauncher_models_application_model_get_app (self), &_inner_error_); #line 1223 "application-model.c" if (_inner_error_ != NULL) { - goto __catch18_g_error; + goto __catch20_g_error; } #line 422 "application-model.vala" g_signal_emit_by_name ((UnityQuicklauncherModelsLauncherModel*) self, "activated"); #line 1229 "application-model.c" } - goto __finally18; - __catch18_g_error: + goto __finally20; + __catch20_g_error: { GError * e; e = _inner_error_; @@ -1240,7 +1240,7 @@ static void unity_quicklauncher_models_application_model_real_activate (UnityQui _g_error_free0 (e); } } - __finally18: + __finally20: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); @@ -1400,14 +1400,14 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _tmp0_ = gtk_icon_theme_load_icon (theme, GTK_STOCK_MISSING_IMAGE, 48, 0, &_inner_error_); #line 1402 "application-model.c" if (_inner_error_ != NULL) { - goto __catch19_g_error; + goto __catch21_g_error; } #line 497 "application-model.vala" pixbuf = (_tmp1_ = _g_object_ref0 (_tmp0_), _g_object_unref0 (pixbuf), _tmp1_); #line 1408 "application-model.c" } - goto __finally19; - __catch19_g_error: + goto __finally21; + __catch21_g_error: { GError * e; e = _inner_error_; @@ -1422,7 +1422,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally19: + __finally21: if (_inner_error_ != NULL) { _g_object_unref0 (pixbuf); _g_object_unref0 (theme); @@ -1455,7 +1455,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const #line 1456 "application-model.c" if (_inner_error_ != NULL) { if (_inner_error_->domain == G_CONVERT_ERROR) { - goto __catch20_g_convert_error; + goto __catch22_g_convert_error; } _g_free0 (filename); _g_object_unref0 (pixbuf); @@ -1470,8 +1470,8 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const filename = (_tmp4_ = _tmp3_, _g_free0 (filename), _tmp4_); #line 1472 "application-model.c" } - goto __finally20; - __catch20_g_convert_error: + goto __finally22; + __catch22_g_convert_error: { GError * e; e = _inner_error_; @@ -1480,7 +1480,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally20: + __finally22: if (_inner_error_ != NULL) { _g_free0 (filename); _g_object_unref0 (pixbuf); @@ -1501,14 +1501,14 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _tmp5_ = gdk_pixbuf_new_from_file_at_scale (icon_name, 48, 48, TRUE, &_inner_error_); #line 1503 "application-model.c" if (_inner_error_ != NULL) { - goto __catch21_g_error; + goto __catch23_g_error; } #line 525 "application-model.vala" pixbuf = (_tmp6_ = _tmp5_, _g_object_unref0 (pixbuf), _tmp6_); #line 1509 "application-model.c" } - goto __finally21; - __catch21_g_error: + goto __finally23; + __catch23_g_error: { GError * e; e = _inner_error_; @@ -1520,7 +1520,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally21: + __finally23: if (_inner_error_ != NULL) { _g_free0 (filename); _g_object_unref0 (pixbuf); @@ -1558,14 +1558,14 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _tmp7_ = gdk_pixbuf_new_from_file_at_scale (icon_name, 48, 48, TRUE, &_inner_error_); #line 1560 "application-model.c" if (_inner_error_ != NULL) { - goto __catch22_g_error; + goto __catch24_g_error; } #line 545 "application-model.vala" pixbuf = (_tmp8_ = _tmp7_, _g_object_unref0 (pixbuf), _tmp8_); #line 1566 "application-model.c" } - goto __finally22; - __catch22_g_error: + goto __finally24; + __catch24_g_error: { GError * e; e = _inner_error_; @@ -1577,7 +1577,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally22: + __finally24: if (_inner_error_ != NULL) { _g_object_unref0 (pixbuf); _g_object_unref0 (theme); @@ -1612,14 +1612,14 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _tmp13_ = (_tmp12_ = gdk_pixbuf_new_from_file_at_scale (_tmp11_ = g_strconcat ("/usr/share/pixmaps/", icon_name, NULL), 48, 48, TRUE, &_inner_error_), _g_free0 (_tmp11_), _tmp12_); #line 1614 "application-model.c" if (_inner_error_ != NULL) { - goto __catch23_g_error; + goto __catch25_g_error; } #line 565 "application-model.vala" pixbuf = (_tmp14_ = _tmp13_, _g_object_unref0 (pixbuf), _tmp14_); #line 1620 "application-model.c" } - goto __finally23; - __catch23_g_error: + goto __finally25; + __catch25_g_error: { GError * e; e = _inner_error_; @@ -1633,7 +1633,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally23: + __finally25: if (_inner_error_ != NULL) { _g_object_unref0 (pixbuf); _g_object_unref0 (theme); @@ -1673,14 +1673,14 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _tmp16_ = gdk_pixbuf_new_from_file_at_scale (filename, 48, 48, TRUE, &_inner_error_); #line 1675 "application-model.c" if (_inner_error_ != NULL) { - goto __catch24_g_error; + goto __catch26_g_error; } #line 588 "application-model.vala" pixbuf = (_tmp17_ = _tmp16_, _g_object_unref0 (pixbuf), _tmp17_); #line 1681 "application-model.c" } - goto __finally24; - __catch24_g_error: + goto __finally26; + __catch26_g_error: { GError * e; e = _inner_error_; @@ -1692,7 +1692,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally24: + __finally26: if (_inner_error_ != NULL) { _g_free0 (filename); _g_object_unref0 (pixbuf); @@ -1727,7 +1727,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _tmp18_ = gtk_icon_theme_load_icon (webtheme, icon_name, 48, 0, &_inner_error_); #line 1729 "application-model.c" if (_inner_error_ != NULL) { - goto __catch25_g_error; + goto __catch27_g_error; } #line 605 "application-model.vala" pixbuf = (_tmp19_ = _g_object_ref0 (_tmp18_), _g_object_unref0 (pixbuf), _tmp19_); @@ -1744,8 +1744,8 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const #line 1745 "application-model.c" } } - goto __finally25; - __catch25_g_error: + goto __finally27; + __catch27_g_error: { GError * e; e = _inner_error_; @@ -1754,7 +1754,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally25: + __finally27: if (_inner_error_ != NULL) { _g_object_unref0 (pixbuf); _g_object_unref0 (theme); @@ -1783,14 +1783,14 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _tmp21_ = gdk_pixbuf_new_from_file_at_scale (filename, 48, 48, TRUE, &_inner_error_); #line 1785 "application-model.c" if (_inner_error_ != NULL) { - goto __catch26_g_error; + goto __catch28_g_error; } #line 622 "application-model.vala" pixbuf = (_tmp22_ = _tmp21_, _g_object_unref0 (pixbuf), _tmp22_); #line 1791 "application-model.c" } - goto __finally26; - __catch26_g_error: + goto __finally28; + __catch28_g_error: { GError * e; e = _inner_error_; @@ -1802,7 +1802,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally26: + __finally28: if (_inner_error_ != NULL) { _g_free0 (filename); _g_object_unref0 (pixbuf); @@ -1837,7 +1837,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _tmp23_ = gtk_icon_theme_load_icon (theme, icon_name, 48, 0, &_inner_error_); #line 1839 "application-model.c" if (_inner_error_ != NULL) { - goto __catch27_g_error; + goto __catch29_g_error; } #line 639 "application-model.vala" pixbuf = (_tmp24_ = _g_object_ref0 (_tmp23_), _g_object_unref0 (pixbuf), _tmp24_); @@ -1854,8 +1854,8 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const #line 1855 "application-model.c" } } - goto __finally27; - __catch27_g_error: + goto __finally29; + __catch29_g_error: { GError * e; e = _inner_error_; @@ -1864,7 +1864,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally27: + __finally29: if (_inner_error_ != NULL) { _g_object_unref0 (pixbuf); _g_object_unref0 (theme); @@ -1893,14 +1893,14 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _tmp26_ = gdk_pixbuf_new_from_file_at_scale (filename, 48, 48, TRUE, &_inner_error_); #line 1895 "application-model.c" if (_inner_error_ != NULL) { - goto __catch28_g_error; + goto __catch30_g_error; } #line 655 "application-model.vala" pixbuf = (_tmp27_ = _tmp26_, _g_object_unref0 (pixbuf), _tmp27_); #line 1901 "application-model.c" } - goto __finally28; - __catch28_g_error: + goto __finally30; + __catch30_g_error: { GError * e; e = _inner_error_; @@ -1912,7 +1912,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally28: + __finally30: if (_inner_error_ != NULL) { _g_free0 (filename); _g_object_unref0 (pixbuf); @@ -1947,7 +1947,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _tmp28_ = gtk_icon_theme_load_icon (unitytheme, icon_name, 48, 0, &_inner_error_); #line 1949 "application-model.c" if (_inner_error_ != NULL) { - goto __catch29_g_error; + goto __catch31_g_error; } #line 672 "application-model.vala" pixbuf = (_tmp29_ = _g_object_ref0 (_tmp28_), _g_object_unref0 (pixbuf), _tmp29_); @@ -1964,8 +1964,8 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const #line 1965 "application-model.c" } } - goto __finally29; - __catch29_g_error: + goto __finally31; + __catch31_g_error: { GError * e; e = _inner_error_; @@ -1974,7 +1974,7 @@ static GdkPixbuf* unity_quicklauncher_models_application_model_make_icon (const _g_error_free0 (e); } } - __finally29: + __finally31: if (_inner_error_ != NULL) { _g_object_unref0 (pixbuf); _g_object_unref0 (theme); diff --git a/src/quicklauncher/application-model.vala b/src/quicklauncher/application-model.vala index d9f44fbde..a0f8929c5 100644 --- a/src/quicklauncher/application-model.vala +++ b/src/quicklauncher/application-model.vala @@ -211,7 +211,7 @@ namespace Unity.Quicklauncher.Models if (!this.is_sticky) { // we need something outside of this model to decide our priority - this._priority = -1000000.0f; + this._priority = 1000000.0f; return; } // grab the current priority from gconf diff --git a/src/quicklauncher/launcher-view.c b/src/quicklauncher/launcher-view.c index ae94af433..45a1f5754 100644 --- a/src/quicklauncher/launcher-view.c +++ b/src/quicklauncher/launcher-view.c @@ -34,7 +34,8 @@ #include <gdk/gdk.h> #include <clutter/clutter.h> #include <libwnck/libwnck.h> -#include <gtk/gtk.h> +#include <unity-utils.h> +#include <clutter-gtk/clutter-gtk.h> #define UNITY_QUICKLAUNCHER_TYPE_LAUNCHER_VIEW_MENU_STATE (unity_quicklauncher_launcher_view_menu_state_get_type ()) @@ -137,7 +138,7 @@ struct _UnityQuicklauncherLauncherViewClass { }; struct _UnityQuicklauncherLauncherViewPrivate { - CtkImage* icon; + CtkActor* icon; UnityThemeImage* focused_indicator; UnityThemeImage* running_indicator; GdkPixbuf* honeycomb_mask; @@ -179,8 +180,6 @@ extern gboolean* unity_panel_search_entry_has_focus; static gpointer unity_quicklauncher_launcher_view_parent_class = NULL; static UnityDragModelIface* unity_quicklauncher_launcher_view_unity_drag_model_parent_iface = NULL; -#define UNITY_QUICKLAUNCHER_FOCUSED_FILE PKGDATADIR "/quicklauncher_focused_indicator.png" -#define UNITY_QUICKLAUNCHER_RUNNING_FILE PKGDATADIR "/quicklauncher_running_indicator.png" #define UNITY_QUICKLAUNCHER_HONEYCOMB_MASK_FILE PKGDATADIR "/honeycomb-mask.png" #define UNITY_QUICKLAUNCHER_MENU_BG_FILE PKGDATADIR "/tight_check_4px.png" #define UNITY_QUICKLAUNCHER_WIGGLE_SIZE ((float) 5) @@ -221,7 +220,6 @@ static void _unity_quicklauncher_launcher_view_notify_on_icon_unity_quicklaunche const char* unity_quicklauncher_models_launcher_model_get_uid (UnityQuicklauncherModelsLauncherModel* self); static void unity_quicklauncher_launcher_view_on_request_remove (UnityQuicklauncherLauncherView* self); static void _unity_quicklauncher_launcher_view_on_request_remove_unity_quicklauncher_launcher_view_request_remove (UnityQuicklauncherLauncherView* _sender, gpointer self); -gboolean unity_quicklauncher_models_launcher_model_get_do_shadow (UnityQuicklauncherModelsLauncherModel* self); UnityQuicklauncherLauncherView* unity_quicklauncher_launcher_view_new (UnityQuicklauncherModelsLauncherModel* model); UnityQuicklauncherLauncherView* unity_quicklauncher_launcher_view_construct (GType object_type, UnityQuicklauncherModelsLauncherModel* model); static void unity_quicklauncher_launcher_view_real_get_preferred_width (ClutterActor* base, float for_height, float* minimum_width, float* natural_width); @@ -251,7 +249,11 @@ gboolean unity_quicklauncher_models_launcher_model_get_is_urgent (UnityQuicklaun static gboolean _unity_quicklauncher_launcher_view_wiggle_stop_gsource_func (gpointer self); gboolean unity_quicklauncher_models_launcher_model_get_is_active (UnityQuicklauncherModelsLauncherModel* self); static void unity_quicklauncher_launcher_view_set_is_starting (UnityQuicklauncherLauncherView* self, gboolean value); +static void unity_quicklauncher_launcher_view_rgb_to_hsv (float r, float g, float b, float* hue, float* sat, float* val); +static void unity_quicklauncher_launcher_view_hsv_to_rgb (float hue, float sat, float val, float* r, float* g, float* b); +static void unity_quicklauncher_launcher_view_get_average_color (GdkPixbuf* source, guint* red, guint* green, guint* blue); GdkPixbuf* unity_quicklauncher_models_launcher_model_get_icon (UnityQuicklauncherModelsLauncherModel* self); +gboolean unity_quicklauncher_models_launcher_model_get_do_shadow (UnityQuicklauncherModelsLauncherModel* self); gboolean unity_quicklauncher_models_launcher_model_get_is_sticky (UnityQuicklauncherModelsLauncherModel* self); gboolean unity_quicklauncher_models_launcher_model_get_is_focused (UnityQuicklauncherModelsLauncherModel* self); GType unity_quicklauncher_quicklist_controller_get_type (void); @@ -320,297 +322,286 @@ static gpointer _g_object_ref0 (gpointer self) { } -#line 528 "launcher-view.vala" +#line 710 "launcher-view.vala" static void _unity_quicklauncher_launcher_view_notify_on_is_running_unity_quicklauncher_models_launcher_model_notify_active (UnityQuicklauncherModelsLauncherModel* _sender, gpointer self) { -#line 326 "launcher-view.c" +#line 328 "launcher-view.c" unity_quicklauncher_launcher_view_notify_on_is_running (self); } -#line 551 "launcher-view.vala" +#line 733 "launcher-view.vala" static void _unity_quicklauncher_launcher_view_notify_on_is_focused_unity_quicklauncher_models_launcher_model_notify_focused (UnityQuicklauncherModelsLauncherModel* _sender, gpointer self) { -#line 333 "launcher-view.c" +#line 335 "launcher-view.c" unity_quicklauncher_launcher_view_notify_on_is_focused (self); } -#line 503 "launcher-view.vala" +#line 497 "launcher-view.vala" static void _unity_quicklauncher_launcher_view_on_activated_unity_quicklauncher_models_launcher_model_activated (UnityQuicklauncherModelsLauncherModel* _sender, gpointer self) { -#line 340 "launcher-view.c" +#line 342 "launcher-view.c" unity_quicklauncher_launcher_view_on_activated (self); } -#line 482 "launcher-view.vala" +#line 476 "launcher-view.vala" static void _unity_quicklauncher_launcher_view_on_urgent_changed_unity_quicklauncher_models_launcher_model_urgent_changed (UnityQuicklauncherModelsLauncherModel* _sender, gpointer self) { -#line 347 "launcher-view.c" +#line 349 "launcher-view.c" unity_quicklauncher_launcher_view_on_urgent_changed (self); } -#line 187 "launcher-view.vala" +#line 183 "launcher-view.vala" static void _lambda0_ (UnityQuicklauncherLauncherView* self) { -#line 187 "launcher-view.vala" +#line 183 "launcher-view.vala" unity_quicklauncher_launcher_view_update_window_struts (self, TRUE); -#line 356 "launcher-view.c" +#line 358 "launcher-view.c" } -#line 187 "launcher-view.vala" +#line 183 "launcher-view.vala" static void __lambda0__unity_quicklauncher_models_application_model_windows_changed (UnityQuicklauncherModelsApplicationModel* _sender, gpointer self) { -#line 362 "launcher-view.c" +#line 364 "launcher-view.c" _lambda0_ (self); } -#line 512 "launcher-view.vala" +#line 662 "launcher-view.vala" static void _unity_quicklauncher_launcher_view_notify_on_icon_unity_quicklauncher_models_launcher_model_notify_icon (UnityQuicklauncherModelsLauncherModel* _sender, gpointer self) { -#line 369 "launcher-view.c" +#line 371 "launcher-view.c" unity_quicklauncher_launcher_view_notify_on_icon (self); } -#line 749 "launcher-view.vala" +#line 940 "launcher-view.vala" static void _unity_quicklauncher_launcher_view_on_request_remove_unity_quicklauncher_launcher_view_request_remove (UnityQuicklauncherLauncherView* _sender, gpointer self) { -#line 376 "launcher-view.c" +#line 378 "launcher-view.c" unity_quicklauncher_launcher_view_on_request_remove (self); } -#line 175 "launcher-view.vala" +#line 171 "launcher-view.vala" UnityQuicklauncherLauncherView* unity_quicklauncher_launcher_view_construct (GType object_type, UnityQuicklauncherModelsLauncherModel* model) { -#line 383 "launcher-view.c" +#line 385 "launcher-view.c" UnityQuicklauncherLauncherView * self; UnityQuicklauncherModelsLauncherModel* _tmp0_; char* _tmp1_; -#line 175 "launcher-view.vala" +#line 171 "launcher-view.vala" g_return_val_if_fail (model != NULL, NULL); -#line 389 "launcher-view.c" +#line 391 "launcher-view.c" self = g_object_newv (object_type, 0, NULL); -#line 178 "launcher-view.vala" +#line 174 "launcher-view.vala" self->model = (_tmp0_ = _g_object_ref0 (model), _g_object_unref0 (self->model), _tmp0_); -#line 179 "launcher-view.vala" +#line 175 "launcher-view.vala" g_signal_connect_object (self->model, "notify-active", (GCallback) _unity_quicklauncher_launcher_view_notify_on_is_running_unity_quicklauncher_models_launcher_model_notify_active, self, 0); -#line 180 "launcher-view.vala" +#line 176 "launcher-view.vala" g_signal_connect_object (self->model, "notify-focused", (GCallback) _unity_quicklauncher_launcher_view_notify_on_is_focused_unity_quicklauncher_models_launcher_model_notify_focused, self, 0); -#line 181 "launcher-view.vala" +#line 177 "launcher-view.vala" g_signal_connect_object (self->model, "activated", (GCallback) _unity_quicklauncher_launcher_view_on_activated_unity_quicklauncher_models_launcher_model_activated, self, 0); -#line 182 "launcher-view.vala" +#line 178 "launcher-view.vala" g_signal_connect_object (self->model, "urgent-changed", (GCallback) _unity_quicklauncher_launcher_view_on_urgent_changed_unity_quicklauncher_models_launcher_model_urgent_changed, self, 0); -#line 183 "launcher-view.vala" +#line 179 "launcher-view.vala" clutter_actor_set_name ((ClutterActor*) self, _tmp1_ = g_strconcat ("Unity.Quicklauncher.LauncherView-", unity_quicklauncher_models_launcher_model_get_name (self->model), NULL)); -#line 403 "launcher-view.c" +#line 405 "launcher-view.c" _g_free0 (_tmp1_); -#line 185 "launcher-view.vala" +#line 181 "launcher-view.vala" if (UNITY_QUICKLAUNCHER_MODELS_IS_APPLICATION_MODEL (model)) { -#line 407 "launcher-view.c" +#line 409 "launcher-view.c" UnityQuicklauncherModelsLauncherModel* _tmp2_; -#line 187 "launcher-view.vala" +#line 183 "launcher-view.vala" g_signal_connect_object ((_tmp2_ = model, UNITY_QUICKLAUNCHER_MODELS_IS_APPLICATION_MODEL (_tmp2_) ? ((UnityQuicklauncherModelsApplicationModel*) _tmp2_) : NULL), "windows-changed", (GCallback) __lambda0__unity_quicklauncher_models_application_model_windows_changed, self, 0); -#line 411 "launcher-view.c" +#line 413 "launcher-view.c" } -#line 190 "launcher-view.vala" +#line 186 "launcher-view.vala" unity_quicklauncher_launcher_view_notify_on_is_running (self); -#line 191 "launcher-view.vala" +#line 187 "launcher-view.vala" unity_quicklauncher_launcher_view_notify_on_is_focused (self); -#line 194 "launcher-view.vala" +#line 190 "launcher-view.vala" g_signal_connect_object (self->model, "notify-icon", (GCallback) _unity_quicklauncher_launcher_view_notify_on_icon_unity_quicklauncher_models_launcher_model_notify_icon, self, 0); -#line 195 "launcher-view.vala" +#line 191 "launcher-view.vala" unity_quicklauncher_launcher_view_notify_on_icon (self); -#line 196 "launcher-view.vala" +#line 192 "launcher-view.vala" clutter_actor_set_name ((ClutterActor*) self, unity_quicklauncher_models_launcher_model_get_uid (model)); -#line 198 "launcher-view.vala" +#line 194 "launcher-view.vala" g_signal_connect_object (self, "request-remove", (GCallback) _unity_quicklauncher_launcher_view_on_request_remove_unity_quicklauncher_launcher_view_request_remove, self, 0); -#line 199 "launcher-view.vala" - if (unity_quicklauncher_models_launcher_model_get_do_shadow (self->model)) { #line 427 "launcher-view.c" - CtkEffectDropShadow* _tmp3_; -#line 201 "launcher-view.vala" - self->priv->effect_drop_shadow = (_tmp3_ = g_object_ref_sink (ctk_effect_drop_shadow_new (5.0f, 0, 2)), _g_object_unref0 (self->priv->effect_drop_shadow), _tmp3_); -#line 202 "launcher-view.vala" - ctk_effect_set_opacity ((CtkEffect*) self->priv->effect_drop_shadow, 0.4f); -#line 203 "launcher-view.vala" - ctk_effect_set_margin ((CtkEffect*) self->priv->effect_drop_shadow, 5); -#line 204 "launcher-view.vala" - ctk_actor_add_effect ((CtkActor*) self->priv->icon, (CtkEffect*) self->priv->effect_drop_shadow); -#line 437 "launcher-view.c" - } return self; } -#line 175 "launcher-view.vala" +#line 171 "launcher-view.vala" UnityQuicklauncherLauncherView* unity_quicklauncher_launcher_view_new (UnityQuicklauncherModelsLauncherModel* model) { -#line 175 "launcher-view.vala" +#line 171 "launcher-view.vala" return unity_quicklauncher_launcher_view_construct (UNITY_QUICKLAUNCHER_TYPE_LAUNCHER_VIEW, model); -#line 447 "launcher-view.c" +#line 436 "launcher-view.c" } -#line 236 "launcher-view.vala" +#line 225 "launcher-view.vala" static void unity_quicklauncher_launcher_view_real_get_preferred_width (ClutterActor* base, float for_height, float* minimum_width, float* natural_width) { -#line 453 "launcher-view.c" +#line 442 "launcher-view.c" UnityQuicklauncherLauncherView * self; self = (UnityQuicklauncherLauncherView*) base; -#line 240 "launcher-view.vala" +#line 229 "launcher-view.vala" *natural_width = (float) 58; -#line 241 "launcher-view.vala" +#line 230 "launcher-view.vala" *minimum_width = (float) 58; -#line 242 "launcher-view.vala" +#line 231 "launcher-view.vala" return; -#line 462 "launcher-view.c" +#line 451 "launcher-view.c" } -#line 245 "launcher-view.vala" +#line 234 "launcher-view.vala" static void unity_quicklauncher_launcher_view_real_get_preferred_height (ClutterActor* base, float for_width, float* minimum_height, float* natural_height) { -#line 468 "launcher-view.c" +#line 457 "launcher-view.c" UnityQuicklauncherLauncherView * self; CtkPadding _tmp0_ = {0}; CtkPadding _tmp1_ = {0}; CtkPadding _tmp2_ = {0}; CtkPadding _tmp3_ = {0}; self = (UnityQuicklauncherLauncherView*) base; -#line 249 "launcher-view.vala" +#line 238 "launcher-view.vala" *natural_height = (float) 0; -#line 250 "launcher-view.vala" +#line 239 "launcher-view.vala" *minimum_height = (float) 0; -#line 251 "launcher-view.vala" +#line 240 "launcher-view.vala" clutter_actor_get_preferred_height ((ClutterActor*) self->priv->icon, for_width, minimum_height, natural_height); -#line 252 "launcher-view.vala" +#line 241 "launcher-view.vala" *natural_height = (*natural_height) + ((ctk_actor_get_padding ((CtkActor*) self, &_tmp0_), _tmp0_).top + (ctk_actor_get_padding ((CtkActor*) self, &_tmp1_), _tmp1_).bottom); -#line 253 "launcher-view.vala" +#line 242 "launcher-view.vala" *minimum_height = (*minimum_height) + ((ctk_actor_get_padding ((CtkActor*) self, &_tmp2_), _tmp2_).top + (ctk_actor_get_padding ((CtkActor*) self, &_tmp3_), _tmp3_).bottom); -#line 485 "launcher-view.c" +#line 474 "launcher-view.c" } -#line 256 "launcher-view.vala" +#line 245 "launcher-view.vala" static void unity_quicklauncher_launcher_view_real_allocate (ClutterActor* base, const ClutterActorBox* box, ClutterAllocationFlags flags) { -#line 491 "launcher-view.c" +#line 480 "launcher-view.c" UnityQuicklauncherLauncherView * self; float x = 0.0F; float y = 0.0F; ClutterActorBox _tmp0_ = {0}; ClutterActorBox child_box; - float width; - float height; + float width = 0.0F; + float height = 0.0F; + float n_width = 0.0F; + float n_height = 0.0F; self = (UnityQuicklauncherLauncherView*) base; -#line 259 "launcher-view.vala" +#line 248 "launcher-view.vala" x = (float) 0; -#line 260 "launcher-view.vala" +#line 249 "launcher-view.vala" y = (float) 0; -#line 261 "launcher-view.vala" +#line 250 "launcher-view.vala" CLUTTER_ACTOR_CLASS (unity_quicklauncher_launcher_view_parent_class)->allocate ((ClutterActor*) CTK_ACTOR (self), box, flags); -#line 263 "launcher-view.vala" +#line 252 "launcher-view.vala" child_box = (memset (&_tmp0_, 0, sizeof (ClutterActorBox)), _tmp0_); +#line 256 "launcher-view.vala" + clutter_actor_get_preferred_width ((ClutterActor*) self->priv->running_indicator, (float) 48, &n_width, &width); +#line 257 "launcher-view.vala" + clutter_actor_get_preferred_height ((ClutterActor*) self->priv->running_indicator, (float) 48, &n_height, &height); +#line 258 "launcher-view.vala" + child_box.x1 = (float) 0; +#line 259 "launcher-view.vala" + child_box.y1 = (clutter_actor_box_get_height (box) - height) / 2.0f; +#line 260 "launcher-view.vala" + child_box.x2 = child_box.x1 + width; +#line 261 "launcher-view.vala" + child_box.y2 = child_box.y1 + height; +#line 262 "launcher-view.vala" + clutter_actor_allocate ((ClutterActor*) self->priv->running_indicator, &child_box, flags); +#line 263 "launcher-view.vala" + x = x + clutter_actor_box_get_width (&child_box); #line 266 "launcher-view.vala" - width = clutter_actor_get_width ((ClutterActor*) self->priv->running_indicator); + clutter_actor_get_preferred_width ((ClutterActor*) self->priv->icon, (float) 48, &width, &n_width); #line 267 "launcher-view.vala" - height = clutter_actor_get_height ((ClutterActor*) self->priv->running_indicator); + clutter_actor_get_preferred_height ((ClutterActor*) self->priv->icon, (float) 48, &height, &n_height); #line 268 "launcher-view.vala" - child_box.x1 = (float) 0; + child_box.x1 = (clutter_actor_box_get_width (box) - width) / 2.0f; #line 269 "launcher-view.vala" - child_box.y1 = (clutter_actor_box_get_height (box) - height) / 2.0f; + child_box.y1 = y; #line 270 "launcher-view.vala" - child_box.x2 = child_box.x1 + width; + child_box.x2 = child_box.x1 + 48; #line 271 "launcher-view.vala" child_box.y2 = child_box.y1 + height; #line 272 "launcher-view.vala" - clutter_actor_allocate ((ClutterActor*) self->priv->running_indicator, &child_box, flags); -#line 273 "launcher-view.vala" - x = x + clutter_actor_box_get_width (&child_box); + clutter_actor_allocate ((ClutterActor*) self->priv->icon, &child_box, flags); +#line 275 "launcher-view.vala" + clutter_actor_get_preferred_width ((ClutterActor*) self->priv->focused_indicator, (float) 48, &n_width, &width); #line 276 "launcher-view.vala" - width = clutter_actor_get_width ((ClutterActor*) self->priv->icon); + clutter_actor_get_preferred_height ((ClutterActor*) self->priv->focused_indicator, (float) 48, &n_height, &height); #line 277 "launcher-view.vala" - height = clutter_actor_get_height ((ClutterActor*) self->priv->icon); + child_box.x1 = clutter_actor_box_get_width (box) - width; #line 278 "launcher-view.vala" - child_box.x1 = (clutter_actor_box_get_width (box) - width) / 2.0f; + child_box.y1 = (clutter_actor_box_get_height (box) - height) / 2.0f; #line 279 "launcher-view.vala" - child_box.y1 = y; -#line 280 "launcher-view.vala" child_box.x2 = child_box.x1 + width; -#line 281 "launcher-view.vala" +#line 280 "launcher-view.vala" child_box.y2 = child_box.y1 + height; #line 282 "launcher-view.vala" - clutter_actor_allocate ((ClutterActor*) self->priv->icon, &child_box, flags); -#line 285 "launcher-view.vala" - width = clutter_actor_get_width ((ClutterActor*) self->priv->focused_indicator); -#line 286 "launcher-view.vala" - height = clutter_actor_get_height ((ClutterActor*) self->priv->focused_indicator); -#line 287 "launcher-view.vala" - child_box.x2 = clutter_actor_box_get_width (box); -#line 288 "launcher-view.vala" - child_box.y2 = (clutter_actor_box_get_height (box) / 2.0f) - (height / 2.0f); -#line 289 "launcher-view.vala" - child_box.x1 = child_box.x2 - width; -#line 290 "launcher-view.vala" - child_box.y1 = child_box.y2 + height; -#line 291 "launcher-view.vala" clutter_actor_allocate ((ClutterActor*) self->priv->focused_indicator, &child_box, flags); -#line 552 "launcher-view.c" +#line 543 "launcher-view.c" } -#line 294 "launcher-view.vala" +#line 286 "launcher-view.vala" static void unity_quicklauncher_launcher_view_real_pick (ClutterActor* base, const ClutterColor* color) { -#line 558 "launcher-view.c" +#line 549 "launcher-view.c" UnityQuicklauncherLauncherView * self; self = (UnityQuicklauncherLauncherView*) base; -#line 296 "launcher-view.vala" +#line 288 "launcher-view.vala" CLUTTER_ACTOR_CLASS (unity_quicklauncher_launcher_view_parent_class)->pick ((ClutterActor*) CTK_ACTOR (self), color); -#line 297 "launcher-view.vala" +#line 289 "launcher-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->icon); -#line 565 "launcher-view.c" +#line 556 "launcher-view.c" } -#line 300 "launcher-view.vala" +#line 292 "launcher-view.vala" static void unity_quicklauncher_launcher_view_real_paint (ClutterActor* base) { -#line 571 "launcher-view.c" +#line 562 "launcher-view.c" UnityQuicklauncherLauncherView * self; self = (UnityQuicklauncherLauncherView*) base; -#line 302 "launcher-view.vala" - clutter_actor_paint ((ClutterActor*) self->priv->running_indicator); -#line 303 "launcher-view.vala" +#line 294 "launcher-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->focused_indicator); -#line 304 "launcher-view.vala" +#line 295 "launcher-view.vala" + clutter_actor_paint ((ClutterActor*) self->priv->running_indicator); +#line 297 "launcher-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->icon); -#line 580 "launcher-view.c" +#line 571 "launcher-view.c" } -#line 307 "launcher-view.vala" +#line 300 "launcher-view.vala" static void unity_quicklauncher_launcher_view_real_map (ClutterActor* base) { -#line 586 "launcher-view.c" +#line 577 "launcher-view.c" UnityQuicklauncherLauncherView * self; self = (UnityQuicklauncherLauncherView*) base; -#line 309 "launcher-view.vala" +#line 302 "launcher-view.vala" CLUTTER_ACTOR_CLASS (unity_quicklauncher_launcher_view_parent_class)->map ((ClutterActor*) CTK_ACTOR (self)); -#line 310 "launcher-view.vala" +#line 303 "launcher-view.vala" clutter_actor_map ((ClutterActor*) self->priv->running_indicator); -#line 311 "launcher-view.vala" +#line 304 "launcher-view.vala" clutter_actor_map ((ClutterActor*) self->priv->focused_indicator); -#line 312 "launcher-view.vala" +#line 305 "launcher-view.vala" clutter_actor_map ((ClutterActor*) self->priv->icon); -#line 597 "launcher-view.c" +#line 588 "launcher-view.c" } -#line 315 "launcher-view.vala" +#line 308 "launcher-view.vala" static void unity_quicklauncher_launcher_view_real_unmap (ClutterActor* base) { -#line 603 "launcher-view.c" +#line 594 "launcher-view.c" UnityQuicklauncherLauncherView * self; self = (UnityQuicklauncherLauncherView*) base; -#line 317 "launcher-view.vala" +#line 310 "launcher-view.vala" CLUTTER_ACTOR_CLASS (unity_quicklauncher_launcher_view_parent_class)->unmap ((ClutterActor*) CTK_ACTOR (self)); -#line 318 "launcher-view.vala" +#line 311 "launcher-view.vala" clutter_actor_map ((ClutterActor*) self->priv->running_indicator); -#line 319 "launcher-view.vala" +#line 312 "launcher-view.vala" clutter_actor_map ((ClutterActor*) self->priv->focused_indicator); -#line 320 "launcher-view.vala" +#line 313 "launcher-view.vala" clutter_actor_map ((ClutterActor*) self->priv->icon); -#line 614 "launcher-view.c" +#line 605 "launcher-view.c" } @@ -640,491 +631,971 @@ static gboolean _gdk_rectangle_equal (const GdkRectangle* s1, const GdkRectangle } -#line 323 "launcher-view.vala" +#line 316 "launcher-view.vala" void unity_quicklauncher_launcher_view_update_window_struts (UnityQuicklauncherLauncherView* self, gboolean ignore_buffer) { -#line 646 "launcher-view.c" +#line 637 "launcher-view.c" GdkRectangle _tmp0_ = {0}; GdkRectangle strut; gboolean _tmp1_ = FALSE; -#line 323 "launcher-view.vala" +#line 316 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 325 "launcher-view.vala" +#line 318 "launcher-view.vala" strut = (_tmp0_.x = (gint) clutter_actor_get_x ((ClutterActor*) self), _tmp0_.y = (gint) clutter_actor_get_y ((ClutterActor*) self), _tmp0_.width = (gint) clutter_actor_get_width ((ClutterActor*) self), _tmp0_.height = (gint) clutter_actor_get_height ((ClutterActor*) self), _tmp0_); -#line 326 "launcher-view.vala" +#line 319 "launcher-view.vala" if (UNITY_QUICKLAUNCHER_MODELS_IS_APPLICATION_MODEL (self->model)) { -#line 656 "launcher-view.c" +#line 647 "launcher-view.c" gboolean _tmp2_ = FALSE; -#line 326 "launcher-view.vala" +#line 319 "launcher-view.vala" if (_gdk_rectangle_equal (&strut, &self->priv->last_strut) != TRUE) { -#line 326 "launcher-view.vala" +#line 319 "launcher-view.vala" _tmp2_ = TRUE; -#line 662 "launcher-view.c" +#line 653 "launcher-view.c" } else { -#line 326 "launcher-view.vala" +#line 319 "launcher-view.vala" _tmp2_ = ignore_buffer; -#line 666 "launcher-view.c" +#line 657 "launcher-view.c" } -#line 326 "launcher-view.vala" +#line 319 "launcher-view.vala" _tmp1_ = _tmp2_; -#line 670 "launcher-view.c" +#line 661 "launcher-view.c" } else { -#line 326 "launcher-view.vala" +#line 319 "launcher-view.vala" _tmp1_ = FALSE; -#line 674 "launcher-view.c" +#line 665 "launcher-view.c" } -#line 326 "launcher-view.vala" +#line 319 "launcher-view.vala" if (_tmp1_) { -#line 678 "launcher-view.c" +#line 669 "launcher-view.c" UnityQuicklauncherModelsLauncherModel* _tmp3_; UnityQuicklauncherModelsApplicationModel* app_model; -#line 328 "launcher-view.vala" +#line 321 "launcher-view.vala" app_model = _g_object_ref0 ((_tmp3_ = self->model, UNITY_QUICKLAUNCHER_MODELS_IS_APPLICATION_MODEL (_tmp3_) ? ((UnityQuicklauncherModelsApplicationModel*) _tmp3_) : NULL)); -#line 683 "launcher-view.c" +#line 674 "launcher-view.c" { GSList* window_collection; GSList* window_it; -#line 329 "launcher-view.vala" +#line 322 "launcher-view.vala" window_collection = unity_quicklauncher_models_application_model_get_windows (app_model); -#line 689 "launcher-view.c" +#line 680 "launcher-view.c" for (window_it = window_collection; window_it != NULL; window_it = window_it->next) { WnckWindow* window; -#line 329 "launcher-view.vala" +#line 322 "launcher-view.vala" window = _g_object_ref0 ((WnckWindow*) window_it->data); -#line 694 "launcher-view.c" +#line 685 "launcher-view.c" { -#line 331 "launcher-view.vala" +#line 324 "launcher-view.vala" wnck_window_set_icon_geometry (window, strut.x, strut.y, strut.width, strut.height); -#line 698 "launcher-view.c" +#line 689 "launcher-view.c" _g_object_unref0 (window); } } } -#line 333 "launcher-view.vala" +#line 326 "launcher-view.vala" self->priv->last_strut = strut; -#line 705 "launcher-view.c" +#line 696 "launcher-view.c" _g_object_unref0 (app_model); } } -#line 337 "launcher-view.vala" +#line 330 "launcher-view.vala" static void unity_quicklauncher_launcher_view_load_textures (UnityQuicklauncherLauncherView* self) { -#line 713 "launcher-view.c" +#line 704 "launcher-view.c" GError * _inner_error_; UnityThemeImage* _tmp0_; UnityThemeImage* _tmp1_; - CtkImage* _tmp4_; -#line 337 "launcher-view.vala" + CtkActor* _tmp4_; +#line 330 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 720 "launcher-view.c" +#line 711 "launcher-view.c" _inner_error_ = NULL; -#line 339 "launcher-view.vala" +#line 332 "launcher-view.vala" self->priv->focused_indicator = (_tmp0_ = g_object_ref_sink (unity_theme_image_new ("application-selected")), _g_object_unref0 (self->priv->focused_indicator), _tmp0_); -#line 340 "launcher-view.vala" +#line 333 "launcher-view.vala" self->priv->running_indicator = (_tmp1_ = g_object_ref_sink (unity_theme_image_new ("application-running")), _g_object_unref0 (self->priv->running_indicator), _tmp1_); -#line 342 "launcher-view.vala" +#line 335 "launcher-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->focused_indicator, (ClutterActor*) self); -#line 343 "launcher-view.vala" +#line 336 "launcher-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->running_indicator, (ClutterActor*) self); -#line 344 "launcher-view.vala" +#line 337 "launcher-view.vala" clutter_actor_set_opacity ((ClutterActor*) self->priv->focused_indicator, (guint8) 0); -#line 345 "launcher-view.vala" +#line 338 "launcher-view.vala" clutter_actor_set_opacity ((ClutterActor*) self->priv->running_indicator, (guint8) 0); -#line 734 "launcher-view.c" +#line 725 "launcher-view.c" { GdkPixbuf* _tmp2_; GdkPixbuf* _tmp3_; -#line 349 "launcher-view.vala" +#line 342 "launcher-view.vala" _tmp2_ = gdk_pixbuf_new_from_file (UNITY_QUICKLAUNCHER_HONEYCOMB_MASK_FILE, &_inner_error_); -#line 740 "launcher-view.c" +#line 731 "launcher-view.c" if (_inner_error_ != NULL) { - goto __catch30_g_error; + goto __catch32_g_error; } -#line 349 "launcher-view.vala" +#line 342 "launcher-view.vala" self->priv->honeycomb_mask = (_tmp3_ = _tmp2_, _g_object_unref0 (self->priv->honeycomb_mask), _tmp3_); -#line 746 "launcher-view.c" +#line 737 "launcher-view.c" } - goto __finally30; - __catch30_g_error: + goto __finally32; + __catch32_g_error: { GError * e; e = _inner_error_; _inner_error_ = NULL; { -#line 353 "launcher-view.vala" - g_warning ("launcher-view.vala:353: Unable to load asset %s: %s", UNITY_QUICKLAUNCHER_HONEYCOMB_MASK_FILE, e->message); -#line 757 "launcher-view.c" +#line 346 "launcher-view.vala" + g_warning ("launcher-view.vala:346: Unable to load asset %s: %s", UNITY_QUICKLAUNCHER_HONEYCOMB_MASK_FILE, e->message); +#line 748 "launcher-view.c" _g_error_free0 (e); } } - __finally30: + __finally32: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } -#line 358 "launcher-view.vala" - self->priv->icon = (_tmp4_ = g_object_ref_sink ((CtkImage*) ctk_image_new ((guint) 46)), _g_object_unref0 (self->priv->icon), _tmp4_); -#line 359 "launcher-view.vala" +#line 351 "launcher-view.vala" + self->priv->icon = (_tmp4_ = (CtkActor*) g_object_ref_sink ((CtkImage*) ctk_image_new ((guint) 48)), _g_object_unref0 (self->priv->icon), _tmp4_); +#line 352 "launcher-view.vala" + clutter_actor_set_size ((ClutterActor*) self->priv->icon, (float) 48, (float) 48); +#line 353 "launcher-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->icon, (ClutterActor*) self); -#line 771 "launcher-view.c" +#line 764 "launcher-view.c" } -#line 362 "launcher-view.vala" +#line 356 "launcher-view.vala" void unity_quicklauncher_launcher_view_notify_on_set_reactive (UnityQuicklauncherLauncherView* self) { -#line 362 "launcher-view.vala" +#line 356 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 364 "launcher-view.vala" +#line 358 "launcher-view.vala" self->priv->button_down = FALSE; -#line 781 "launcher-view.c" +#line 774 "launcher-view.c" } -#line 639 "launcher-view.vala" +#line 828 "launcher-view.vala" static gboolean _unity_quicklauncher_launcher_view_on_launch_timeout_gsource_func (gpointer self) { -#line 787 "launcher-view.c" +#line 780 "launcher-view.c" return unity_quicklauncher_launcher_view_on_launch_timeout (self); } -#line 368 "launcher-view.vala" +#line 362 "launcher-view.vala" static void unity_quicklauncher_launcher_view_throbber_start (UnityQuicklauncherLauncherView* self) { -#line 794 "launcher-view.c" +#line 787 "launcher-view.c" CtkEffectGlow* _tmp0_; ClutterColor _tmp1_ = {0}; ClutterColor c; ClutterAnimation* _tmp2_; -#line 368 "launcher-view.vala" +#line 362 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 370 "launcher-view.vala" - ctk_actor_remove_all_effects ((CtkActor*) self->priv->icon); -#line 371 "launcher-view.vala" +#line 364 "launcher-view.vala" + ctk_actor_remove_all_effects (self->priv->icon); +#line 365 "launcher-view.vala" self->priv->effect_icon_glow = (_tmp0_ = g_object_ref_sink ((CtkEffectGlow*) ctk_effect_glow_new ()), _g_object_unref0 (self->priv->effect_icon_glow), _tmp0_); -#line 372 "launcher-view.vala" +#line 366 "launcher-view.vala" c = (memset (&_tmp1_, 0, sizeof (ClutterColor)), _tmp1_.red = (guint8) 255, _tmp1_.green = (guint8) 255, _tmp1_.blue = (guint8) 255, _tmp1_.alpha = (guint8) 255, _tmp1_); -#line 378 "launcher-view.vala" +#line 372 "launcher-view.vala" ctk_effect_glow_set_background_texture (self->priv->effect_icon_glow, self->priv->honeycomb_mask); -#line 379 "launcher-view.vala" +#line 373 "launcher-view.vala" ctk_effect_glow_set_color (self->priv->effect_icon_glow, &c); -#line 380 "launcher-view.vala" +#line 374 "launcher-view.vala" ctk_effect_set_opacity ((CtkEffect*) self->priv->effect_icon_glow, 0.0f); -#line 381 "launcher-view.vala" - ctk_actor_add_effect ((CtkActor*) self->priv->icon, (CtkEffect*) self->priv->effect_icon_glow); -#line 382 "launcher-view.vala" +#line 375 "launcher-view.vala" + ctk_actor_add_effect (self->priv->icon, (CtkEffect*) self->priv->effect_icon_glow); +#line 376 "launcher-view.vala" clutter_actor_queue_redraw ((ClutterActor*) self->priv->icon); -#line 384 "launcher-view.vala" +#line 378 "launcher-view.vala" self->priv->anim_throbber = (_tmp2_ = _g_object_ref0 (ctk_effect_animate ((CtkEffect*) self->priv->effect_icon_glow, (gulong) CLUTTER_EASE_IN_OUT_SINE, UNITY_QUICKLAUNCHER_SHORT_DELAY, "opacity", 1.0f, NULL)), _g_object_unref0 (self->priv->anim_throbber), _tmp2_); -#line 387 "launcher-view.vala" +#line 381 "launcher-view.vala" ctk_effect_set_margin ((CtkEffect*) self->priv->effect_icon_glow, 6); -#line 389 "launcher-view.vala" +#line 383 "launcher-view.vala" g_signal_connect_after (self->priv->anim_throbber, "completed", (GCallback) unity_quicklauncher_launcher_view_do_anim_throbber_loop, self); -#line 392 "launcher-view.vala" +#line 386 "launcher-view.vala" g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) 8, _unity_quicklauncher_launcher_view_on_launch_timeout_gsource_func, g_object_ref (self), g_object_unref); -#line 825 "launcher-view.c" +#line 818 "launcher-view.c" } -#line 395 "launcher-view.vala" +#line 389 "launcher-view.vala" static void unity_quicklauncher_launcher_view_do_anim_throbber_loop (GObject* sender, UnityQuicklauncherLauncherView* _self_) { -#line 395 "launcher-view.vala" +#line 389 "launcher-view.vala" g_return_if_fail (sender != NULL); -#line 395 "launcher-view.vala" +#line 389 "launcher-view.vala" g_return_if_fail (_self_ != NULL); -#line 835 "launcher-view.c" +#line 828 "launcher-view.c" g_return_if_fail (UNITY_QUICKLAUNCHER_IS_LAUNCHER_VIEW (_self_)); -#line 398 "launcher-view.vala" +#line 392 "launcher-view.vala" if (unity_quicklauncher_launcher_view_get_is_starting (_self_)) { -#line 839 "launcher-view.c" +#line 832 "launcher-view.c" float factor; ClutterAnimation* _tmp0_; -#line 401 "launcher-view.vala" +#line 395 "launcher-view.vala" factor = 0.0f; -#line 402 "launcher-view.vala" +#line 396 "launcher-view.vala" if (ctk_effect_get_opacity ((CtkEffect*) _self_->priv->effect_icon_glow) < 0.5) { -#line 404 "launcher-view.vala" +#line 398 "launcher-view.vala" factor = 1.0f; -#line 848 "launcher-view.c" +#line 841 "launcher-view.c" } -#line 407 "launcher-view.vala" +#line 401 "launcher-view.vala" _self_->priv->anim_throbber = (_tmp0_ = _g_object_ref0 (ctk_effect_animate ((CtkEffect*) _self_->priv->effect_icon_glow, (gulong) CLUTTER_EASE_IN_OUT_SINE, UNITY_QUICKLAUNCHER_SHORT_DELAY, "opacity", factor, NULL)), _g_object_unref0 (_self_->priv->anim_throbber), _tmp0_); -#line 411 "launcher-view.vala" +#line 405 "launcher-view.vala" g_signal_connect_after (_self_->priv->anim_throbber, "completed", (GCallback) unity_quicklauncher_launcher_view_do_anim_throbber_loop, _self_); -#line 854 "launcher-view.c" +#line 847 "launcher-view.c" } else { -#line 417 "launcher-view.vala" +#line 411 "launcher-view.vala" if (ctk_effect_get_opacity ((CtkEffect*) _self_->priv->effect_icon_glow) >= 0.1) { -#line 858 "launcher-view.c" +#line 851 "launcher-view.c" ClutterAnimation* _tmp1_; -#line 419 "launcher-view.vala" +#line 413 "launcher-view.vala" _self_->priv->anim_throbber = (_tmp1_ = _g_object_ref0 (ctk_effect_animate ((CtkEffect*) _self_->priv->effect_icon_glow, (gulong) CLUTTER_EASE_IN_OUT_SINE, UNITY_QUICKLAUNCHER_SHORT_DELAY, "opacity", 0.0, NULL)), _g_object_unref0 (_self_->priv->anim_throbber), _tmp1_); -#line 862 "launcher-view.c" +#line 855 "launcher-view.c" } else { -#line 426 "launcher-view.vala" - ctk_actor_remove_effect ((CtkActor*) _self_->priv->icon, (CtkEffect*) _self_->priv->effect_icon_glow); -#line 866 "launcher-view.c" +#line 420 "launcher-view.vala" + ctk_actor_remove_effect (_self_->priv->icon, (CtkEffect*) _self_->priv->effect_icon_glow); +#line 859 "launcher-view.c" } } } -#line 431 "launcher-view.vala" +#line 425 "launcher-view.vala" static void unity_quicklauncher_launcher_view_throbber_fadeout (UnityQuicklauncherLauncherView* self) { -#line 431 "launcher-view.vala" +#line 425 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 433 "launcher-view.vala" +#line 427 "launcher-view.vala" return; -#line 878 "launcher-view.c" +#line 871 "launcher-view.c" } -#line 436 "launcher-view.vala" +#line 430 "launcher-view.vala" static void unity_quicklauncher_launcher_view_throbber_hide (UnityQuicklauncherLauncherView* self) { -#line 436 "launcher-view.vala" +#line 430 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 438 "launcher-view.vala" +#line 432 "launcher-view.vala" unity_quicklauncher_launcher_view_throbber_fadeout (self); -#line 888 "launcher-view.c" +#line 881 "launcher-view.c" } -#line 441 "launcher-view.vala" +#line 435 "launcher-view.vala" static void unity_quicklauncher_launcher_view_wiggle_start (UnityQuicklauncherLauncherView* self) { -#line 894 "launcher-view.c" +#line 887 "launcher-view.c" ClutterAnimation* anim; -#line 441 "launcher-view.vala" +#line 435 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 443 "launcher-view.vala" +#line 437 "launcher-view.vala" if (self->priv->wiggling) { -#line 444 "launcher-view.vala" +#line 438 "launcher-view.vala" return; -#line 902 "launcher-view.c" +#line 895 "launcher-view.c" } -#line 446 "launcher-view.vala" +#line 440 "launcher-view.vala" self->priv->wiggling = TRUE; -#line 447 "launcher-view.vala" +#line 441 "launcher-view.vala" self->priv->cease_wiggle = FALSE; -#line 449 "launcher-view.vala" +#line 443 "launcher-view.vala" g_object_set ((GObject*) self->priv->icon, "rotation-center-z-gravity", CLUTTER_GRAVITY_CENTER, NULL); -#line 450 "launcher-view.vala" +#line 444 "launcher-view.vala" anim = _g_object_ref0 (clutter_actor_animate ((ClutterActor*) self->priv->icon, (gulong) CLUTTER_EASE_IN_OUT_SINE, 1000 / UNITY_QUICKLAUNCHER_WIGGLE_FREQUENCY, "rotation-angle-z", UNITY_QUICKLAUNCHER_WIGGLE_SIZE, NULL)); -#line 453 "launcher-view.vala" +#line 447 "launcher-view.vala" g_signal_connect_after (anim, "completed", (GCallback) unity_quicklauncher_launcher_view_wiggle_do_next_step, self); -#line 914 "launcher-view.c" +#line 907 "launcher-view.c" _g_object_unref0 (anim); } -#line 456 "launcher-view.vala" +#line 450 "launcher-view.vala" static void unity_quicklauncher_launcher_view_wiggle_do_next_step (GObject* sender, UnityQuicklauncherLauncherView* _self_) { -#line 456 "launcher-view.vala" +#line 450 "launcher-view.vala" g_return_if_fail (sender != NULL); -#line 456 "launcher-view.vala" +#line 450 "launcher-view.vala" g_return_if_fail (_self_ != NULL); -#line 925 "launcher-view.c" +#line 918 "launcher-view.c" g_return_if_fail (UNITY_QUICKLAUNCHER_IS_LAUNCHER_VIEW (_self_)); -#line 459 "launcher-view.vala" +#line 453 "launcher-view.vala" if (_self_->priv->cease_wiggle) { -#line 461 "launcher-view.vala" +#line 455 "launcher-view.vala" clutter_actor_animate ((ClutterActor*) _self_->priv->icon, (gulong) CLUTTER_EASE_IN_OUT_SINE, 1000 / UNITY_QUICKLAUNCHER_WIGGLE_FREQUENCY, "rotation-angle-z", 0, NULL); -#line 463 "launcher-view.vala" +#line 457 "launcher-view.vala" _self_->priv->wiggling = FALSE; -#line 933 "launcher-view.c" +#line 926 "launcher-view.c" } else { float _tmp0_ = 0.0F; ClutterAnimation* anim; -#line 467 "launcher-view.vala" +#line 461 "launcher-view.vala" _self_->priv->anim_wiggle_state = !_self_->priv->anim_wiggle_state; -#line 469 "launcher-view.vala" +#line 463 "launcher-view.vala" if (_self_->priv->anim_wiggle_state) { -#line 469 "launcher-view.vala" +#line 463 "launcher-view.vala" _tmp0_ = UNITY_QUICKLAUNCHER_WIGGLE_SIZE; -#line 943 "launcher-view.c" +#line 936 "launcher-view.c" } else { -#line 469 "launcher-view.vala" +#line 463 "launcher-view.vala" _tmp0_ = -UNITY_QUICKLAUNCHER_WIGGLE_SIZE; -#line 947 "launcher-view.c" +#line 940 "launcher-view.c" } -#line 468 "launcher-view.vala" +#line 462 "launcher-view.vala" anim = _g_object_ref0 (clutter_actor_animate ((ClutterActor*) _self_->priv->icon, (gulong) CLUTTER_EASE_IN_OUT_SINE, 1000 / UNITY_QUICKLAUNCHER_WIGGLE_FREQUENCY, "rotation-angle-z", _tmp0_, NULL)); -#line 471 "launcher-view.vala" +#line 465 "launcher-view.vala" g_signal_connect_after (anim, "completed", (GCallback) unity_quicklauncher_launcher_view_wiggle_do_next_step, _self_); -#line 953 "launcher-view.c" +#line 946 "launcher-view.c" _g_object_unref0 (anim); } } -#line 475 "launcher-view.vala" +#line 469 "launcher-view.vala" static gboolean unity_quicklauncher_launcher_view_wiggle_stop (UnityQuicklauncherLauncherView* self) { -#line 961 "launcher-view.c" +#line 954 "launcher-view.c" gboolean result; -#line 475 "launcher-view.vala" +#line 469 "launcher-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 477 "launcher-view.vala" +#line 471 "launcher-view.vala" self->priv->cease_wiggle = TRUE; -#line 967 "launcher-view.c" +#line 960 "launcher-view.c" result = FALSE; -#line 478 "launcher-view.vala" +#line 472 "launcher-view.vala" return result; -#line 971 "launcher-view.c" +#line 964 "launcher-view.c" } -#line 488 "launcher-view.vala" +#line 482 "launcher-view.vala" static gboolean _unity_quicklauncher_launcher_view_wiggle_loop_gsource_func (gpointer self) { -#line 977 "launcher-view.c" +#line 970 "launcher-view.c" return unity_quicklauncher_launcher_view_wiggle_loop (self); } -#line 482 "launcher-view.vala" +#line 476 "launcher-view.vala" static void unity_quicklauncher_launcher_view_on_urgent_changed (UnityQuicklauncherLauncherView* self) { -#line 482 "launcher-view.vala" +#line 476 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 484 "launcher-view.vala" +#line 478 "launcher-view.vala" unity_quicklauncher_launcher_view_wiggle_loop (self); -#line 485 "launcher-view.vala" +#line 479 "launcher-view.vala" g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, UNITY_QUICKLAUNCHER_WIGGLE_RESTART, _unity_quicklauncher_launcher_view_wiggle_loop_gsource_func, g_object_ref (self), g_object_unref); -#line 990 "launcher-view.c" +#line 983 "launcher-view.c" } -#line 475 "launcher-view.vala" +#line 469 "launcher-view.vala" static gboolean _unity_quicklauncher_launcher_view_wiggle_stop_gsource_func (gpointer self) { -#line 996 "launcher-view.c" +#line 989 "launcher-view.c" return unity_quicklauncher_launcher_view_wiggle_stop (self); } -#line 488 "launcher-view.vala" +#line 482 "launcher-view.vala" static gboolean unity_quicklauncher_launcher_view_wiggle_loop (UnityQuicklauncherLauncherView* self) { -#line 1003 "launcher-view.c" +#line 996 "launcher-view.c" gboolean result; -#line 488 "launcher-view.vala" +#line 482 "launcher-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 490 "launcher-view.vala" +#line 484 "launcher-view.vala" if (unity_quicklauncher_models_launcher_model_get_is_urgent (self->model)) { -#line 492 "launcher-view.vala" +#line 486 "launcher-view.vala" unity_quicklauncher_launcher_view_wiggle_start (self); -#line 493 "launcher-view.vala" +#line 487 "launcher-view.vala" g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, UNITY_QUICKLAUNCHER_WIGGLE_LENGTH, _unity_quicklauncher_launcher_view_wiggle_stop_gsource_func, g_object_ref (self), g_object_unref); -#line 1013 "launcher-view.c" +#line 1006 "launcher-view.c" result = TRUE; -#line 494 "launcher-view.vala" +#line 488 "launcher-view.vala" return result; -#line 1017 "launcher-view.c" +#line 1010 "launcher-view.c" } else { -#line 498 "launcher-view.vala" +#line 492 "launcher-view.vala" unity_quicklauncher_launcher_view_wiggle_stop (self); -#line 1021 "launcher-view.c" +#line 1014 "launcher-view.c" result = FALSE; -#line 499 "launcher-view.vala" +#line 493 "launcher-view.vala" return result; -#line 1025 "launcher-view.c" +#line 1018 "launcher-view.c" } } -#line 503 "launcher-view.vala" +#line 497 "launcher-view.vala" static void unity_quicklauncher_launcher_view_on_activated (UnityQuicklauncherLauncherView* self) { -#line 503 "launcher-view.vala" +#line 497 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 506 "launcher-view.vala" +#line 500 "launcher-view.vala" if (!unity_quicklauncher_models_launcher_model_get_is_active (self->model)) { -#line 508 "launcher-view.vala" +#line 502 "launcher-view.vala" unity_quicklauncher_launcher_view_set_is_starting (self, TRUE); -#line 1038 "launcher-view.c" +#line 1031 "launcher-view.c" } } +#line 507 "launcher-view.vala" +static void unity_quicklauncher_launcher_view_rgb_to_hsv (float r, float g, float b, float* hue, float* sat, float* val) { +#line 1038 "launcher-view.c" + float min = 0.0F; + float max = 0.0F; + float delta; +#line 511 "launcher-view.vala" + if (r > g) { +#line 1044 "launcher-view.c" + float _tmp0_ = 0.0F; #line 512 "launcher-view.vala" -static void unity_quicklauncher_launcher_view_notify_on_icon (UnityQuicklauncherLauncherView* self) { + if (r > b) { #line 512 "launcher-view.vala" - g_return_if_fail (self != NULL); + _tmp0_ = r; +#line 1050 "launcher-view.c" + } else { +#line 512 "launcher-view.vala" + _tmp0_ = b; +#line 1054 "launcher-view.c" + } +#line 512 "launcher-view.vala" + max = _tmp0_; +#line 1058 "launcher-view.c" + } else { + float _tmp1_ = 0.0F; #line 514 "launcher-view.vala" - if (GDK_IS_PIXBUF (unity_quicklauncher_models_launcher_model_get_icon (self->model))) { + if (g > b) { +#line 514 "launcher-view.vala" + _tmp1_ = g; +#line 1065 "launcher-view.c" + } else { +#line 514 "launcher-view.vala" + _tmp1_ = b; +#line 1069 "launcher-view.c" + } +#line 514 "launcher-view.vala" + max = _tmp1_; +#line 1073 "launcher-view.c" + } +#line 515 "launcher-view.vala" + if (r < g) { +#line 1077 "launcher-view.c" + float _tmp2_ = 0.0F; +#line 516 "launcher-view.vala" + if (r < b) { +#line 516 "launcher-view.vala" + _tmp2_ = r; +#line 1083 "launcher-view.c" + } else { +#line 516 "launcher-view.vala" + _tmp2_ = b; +#line 1087 "launcher-view.c" + } #line 516 "launcher-view.vala" - ctk_image_set_from_pixbuf (self->priv->icon, unity_quicklauncher_models_launcher_model_get_icon (self->model)); -#line 1051 "launcher-view.c" + min = _tmp2_; +#line 1091 "launcher-view.c" } else { + float _tmp3_ = 0.0F; +#line 518 "launcher-view.vala" + if (g < b) { +#line 518 "launcher-view.vala" + _tmp3_ = g; +#line 1098 "launcher-view.c" + } else { +#line 518 "launcher-view.vala" + _tmp3_ = b; +#line 1102 "launcher-view.c" + } +#line 518 "launcher-view.vala" + min = _tmp3_; +#line 1106 "launcher-view.c" + } #line 520 "launcher-view.vala" - ctk_image_set_from_stock (self->priv->icon, GTK_STOCK_MISSING_IMAGE); -#line 1055 "launcher-view.c" + *val = max; +#line 522 "launcher-view.vala" + delta = max - min; +#line 523 "launcher-view.vala" + if (delta > 0.000001) { +#line 525 "launcher-view.vala" + *sat = delta / max; +#line 526 "launcher-view.vala" + *hue = 0.0f; +#line 527 "launcher-view.vala" + if (r == max) { +#line 529 "launcher-view.vala" + *hue = (g - b) / delta; +#line 530 "launcher-view.vala" + if ((*hue) < 0.0f) { +#line 531 "launcher-view.vala" + *hue = (*hue) + 6.0f; +#line 1126 "launcher-view.c" + } + } else { +#line 533 "launcher-view.vala" + if (g == max) { +#line 535 "launcher-view.vala" + *hue = 2.0f + ((b - r) / delta); +#line 1133 "launcher-view.c" + } else { +#line 537 "launcher-view.vala" + if (b == max) { +#line 539 "launcher-view.vala" + *hue = 4.0f + ((r - g) / delta); +#line 1139 "launcher-view.c" + } + } + } +#line 541 "launcher-view.vala" + *hue = (*hue) / 6.0f; +#line 1145 "launcher-view.c" + } else { +#line 545 "launcher-view.vala" + *sat = 0.0f; +#line 546 "launcher-view.vala" + *hue = 0.0f; +#line 1151 "launcher-view.c" } } -#line 528 "launcher-view.vala" +#line 550 "launcher-view.vala" +static void unity_quicklauncher_launcher_view_hsv_to_rgb (float hue, float sat, float val, float* r, float* g, float* b) { +#line 1158 "launcher-view.c" + gint i = 0; + float f = 0.0F; + float w = 0.0F; + float q = 0.0F; + float t = 0.0F; +#line 556 "launcher-view.vala" + if (sat == 0.0) { +#line 558 "launcher-view.vala" + *r = *g = *b = val; +#line 1168 "launcher-view.c" + } else { +#line 562 "launcher-view.vala" + if (hue == 1.0) { +#line 563 "launcher-view.vala" + hue = 0.0f; +#line 1174 "launcher-view.c" + } +#line 565 "launcher-view.vala" + hue = hue * 6.0f; +#line 567 "launcher-view.vala" + i = (gint) hue; +#line 568 "launcher-view.vala" + f = hue - i; +#line 569 "launcher-view.vala" + w = val * (1.0f - sat); +#line 570 "launcher-view.vala" + q = val * (1.0f - (sat * f)); +#line 571 "launcher-view.vala" + t = val * (1.0f - (sat * (1.0f - f))); +#line 573 "launcher-view.vala" + switch (i) { +#line 1190 "launcher-view.c" + case 0: + { +#line 576 "launcher-view.vala" + *r = val; +#line 577 "launcher-view.vala" + *g = t; +#line 578 "launcher-view.vala" + *b = w; +#line 579 "launcher-view.vala" + break; +#line 1201 "launcher-view.c" + } + case 1: + { +#line 581 "launcher-view.vala" + *r = q; +#line 582 "launcher-view.vala" + *g = val; +#line 583 "launcher-view.vala" + *b = w; +#line 584 "launcher-view.vala" + break; +#line 1213 "launcher-view.c" + } + case 2: + { +#line 586 "launcher-view.vala" + *r = w; +#line 587 "launcher-view.vala" + *g = val; +#line 588 "launcher-view.vala" + *b = t; +#line 589 "launcher-view.vala" + break; +#line 1225 "launcher-view.c" + } + case 3: + { +#line 591 "launcher-view.vala" + *r = w; +#line 592 "launcher-view.vala" + *g = q; +#line 593 "launcher-view.vala" + *b = val; +#line 594 "launcher-view.vala" + break; +#line 1237 "launcher-view.c" + } + case 4: + { +#line 596 "launcher-view.vala" + *r = t; +#line 597 "launcher-view.vala" + *g = w; +#line 598 "launcher-view.vala" + *b = val; +#line 599 "launcher-view.vala" + break; +#line 1249 "launcher-view.c" + } + case 5: + { +#line 601 "launcher-view.vala" + *r = val; +#line 602 "launcher-view.vala" + *g = w; +#line 603 "launcher-view.vala" + *b = q; +#line 604 "launcher-view.vala" + break; +#line 1261 "launcher-view.c" + } + } + } +} + + +#line 609 "launcher-view.vala" +static void unity_quicklauncher_launcher_view_get_average_color (GdkPixbuf* source, guint* red, guint* green, guint* blue) { +#line 1270 "launcher-view.c" + gint num_channels; + gint width; + gint height; + gint rowstride; + float r = 0.0F; + float g = 0.0F; + float b = 0.0F; + float a = 0.0F; + float hue = 0.0F; + float sat = 0.0F; + float val = 0.0F; + guchar* _tmp0_; + gint pixels_size; + gint pixels_length1; + guchar* pixels; + double r_total = 0.0; + double g_total = 0.0; + double b_total = 0.0; + gint i; +#line 609 "launcher-view.vala" + g_return_if_fail (source != NULL); +#line 611 "launcher-view.vala" + num_channels = gdk_pixbuf_get_n_channels (source); +#line 612 "launcher-view.vala" + width = gdk_pixbuf_get_width (source); +#line 613 "launcher-view.vala" + height = gdk_pixbuf_get_height (source); +#line 614 "launcher-view.vala" + rowstride = gdk_pixbuf_get_rowstride (source); +#line 1300 "launcher-view.c" + pixels = (_tmp0_ = gdk_pixbuf_get_pixels (source), pixels_length1 = -1, pixels_size = pixels_length1, _tmp0_); +#line 618 "launcher-view.vala" + g_assert (gdk_pixbuf_get_colorspace (source) == GDK_COLORSPACE_RGB); +#line 619 "launcher-view.vala" + g_assert (gdk_pixbuf_get_bits_per_sample (source) == 8); +#line 620 "launcher-view.vala" + g_assert (gdk_pixbuf_get_has_alpha (source)); +#line 621 "launcher-view.vala" + g_assert (num_channels == 4); +#line 624 "launcher-view.vala" + r_total = g_total = b_total = 0.0; +#line 626 "launcher-view.vala" + i = 0; +#line 1314 "launcher-view.c" + { + gint y; +#line 627 "launcher-view.vala" + y = 0; +#line 1319 "launcher-view.c" + { + gboolean _tmp1_; +#line 627 "launcher-view.vala" + _tmp1_ = TRUE; +#line 627 "launcher-view.vala" + while (TRUE) { +#line 627 "launcher-view.vala" + if (!_tmp1_) { +#line 627 "launcher-view.vala" + y++; +#line 1330 "launcher-view.c" + } +#line 627 "launcher-view.vala" + _tmp1_ = FALSE; +#line 627 "launcher-view.vala" + if (!(y < height)) { +#line 627 "launcher-view.vala" + break; +#line 1338 "launcher-view.c" + } + { + gint x; +#line 629 "launcher-view.vala" + x = 0; +#line 1344 "launcher-view.c" + { + gboolean _tmp2_; +#line 629 "launcher-view.vala" + _tmp2_ = TRUE; +#line 629 "launcher-view.vala" + while (TRUE) { +#line 1351 "launcher-view.c" + gint pix_index; +#line 629 "launcher-view.vala" + if (!_tmp2_) { +#line 629 "launcher-view.vala" + x++; +#line 1357 "launcher-view.c" + } +#line 629 "launcher-view.vala" + _tmp2_ = FALSE; +#line 629 "launcher-view.vala" + if (!(x < width)) { +#line 629 "launcher-view.vala" + break; +#line 1365 "launcher-view.c" + } +#line 631 "launcher-view.vala" + pix_index = i + (x * 4); +#line 632 "launcher-view.vala" + r = pixels[pix_index + 0] / 256.0f; +#line 633 "launcher-view.vala" + g = pixels[pix_index + 1] / 256.0f; +#line 634 "launcher-view.vala" + b = pixels[pix_index + 2] / 256.0f; +#line 635 "launcher-view.vala" + a = pixels[pix_index + 3] / 256.0f; +#line 637 "launcher-view.vala" + if (a < (1.0 / 256.0)) { +#line 638 "launcher-view.vala" + continue; +#line 1381 "launcher-view.c" + } +#line 640 "launcher-view.vala" + unity_quicklauncher_launcher_view_rgb_to_hsv (r, g, b, &hue, &sat, &val); +#line 642 "launcher-view.vala" + r_total = r_total + ((double) ((r * sat) * a)); +#line 643 "launcher-view.vala" + g_total = g_total + ((double) ((g * sat) * a)); +#line 644 "launcher-view.vala" + b_total = b_total + ((double) ((b * sat) * a)); +#line 1391 "launcher-view.c" + } + } + } +#line 646 "launcher-view.vala" + i = (y * (width * 4)) + rowstride; +#line 1397 "launcher-view.c" + } + } + } +#line 649 "launcher-view.vala" + r_total = r_total / (width * height); +#line 650 "launcher-view.vala" + g_total = g_total / (width * height); +#line 651 "launcher-view.vala" + b_total = b_total / (width * height); +#line 654 "launcher-view.vala" + unity_quicklauncher_launcher_view_rgb_to_hsv ((float) r_total, (float) g_total, (float) b_total, &hue, &sat, &val); +#line 655 "launcher-view.vala" + unity_quicklauncher_launcher_view_hsv_to_rgb (hue, fminf (sat + 0.6f, 1.0f), 0.5f, &r, &g, &b); +#line 657 "launcher-view.vala" + *red = (guint) (r * 255); +#line 658 "launcher-view.vala" + *green = (guint) (g * 255); +#line 659 "launcher-view.vala" + *blue = (guint) (b * 255); +#line 1417 "launcher-view.c" +} + + +#line 662 "launcher-view.vala" +static void unity_quicklauncher_launcher_view_notify_on_icon (UnityQuicklauncherLauncherView* self) { +#line 1423 "launcher-view.c" + char* process_name; +#line 662 "launcher-view.vala" + g_return_if_fail (self != NULL); +#line 664 "launcher-view.vala" + process_name = g_strconcat ("IconBuild-favorite", clutter_actor_get_name ((ClutterActor*) self), NULL); +#line 665 "launcher-view.vala" + if (GDK_IS_PIXBUF (unity_quicklauncher_models_launcher_model_get_icon (self->model))) { +#line 1431 "launcher-view.c" + GdkPixbuf* scaled_buf; + gboolean _tmp0_ = FALSE; + CtkEffectDropShadow* _tmp8_; +#line 667 "launcher-view.vala" + clutter_actor_destroy ((ClutterActor*) self->priv->icon); +#line 1437 "launcher-view.c" + scaled_buf = NULL; +#line 669 "launcher-view.vala" + LOGGER_START_PROCESS (process_name); +#line 670 "launcher-view.vala" + if (gdk_pixbuf_get_width (unity_quicklauncher_models_launcher_model_get_icon (self->model)) > 48) { +#line 670 "launcher-view.vala" + _tmp0_ = TRUE; +#line 1445 "launcher-view.c" + } else { +#line 670 "launcher-view.vala" + _tmp0_ = gdk_pixbuf_get_height (unity_quicklauncher_models_launcher_model_get_icon (self->model)) > 48; +#line 1449 "launcher-view.c" + } +#line 670 "launcher-view.vala" + if (_tmp0_) { +#line 1453 "launcher-view.c" + GdkPixbuf* _tmp1_; +#line 671 "launcher-view.vala" + scaled_buf = (_tmp1_ = gdk_pixbuf_scale_simple (unity_quicklauncher_models_launcher_model_get_icon (self->model), 48, 48, GDK_INTERP_HYPER), _g_object_unref0 (scaled_buf), _tmp1_); +#line 1457 "launcher-view.c" + } else { + GdkPixbuf* _tmp2_; +#line 673 "launcher-view.vala" + scaled_buf = (_tmp2_ = _g_object_ref0 (unity_quicklauncher_models_launcher_model_get_icon (self->model)), _g_object_unref0 (scaled_buf), _tmp2_); +#line 1462 "launcher-view.c" + } +#line 675 "launcher-view.vala" + if (unity_quicklauncher_models_launcher_model_get_do_shadow (self->model)) { +#line 1466 "launcher-view.c" + CtkActor* _tmp3_; +#line 677 "launcher-view.vala" + self->priv->icon = (_tmp3_ = (CtkActor*) g_object_ref_sink ((CtkImage*) ctk_image_new_from_pixbuf ((guint) 48, scaled_buf)), _g_object_unref0 (self->priv->icon), _tmp3_); +#line 1470 "launcher-view.c" + } else { + GdkPixbuf* color_buf; + guint red = 0U; + guint green = 0U; + guint blue = 0U; + guchar* _tmp4_; + gint pixels_size; + gint pixels_length1; + guchar* pixels; + ClutterActor* tex; + ClutterActor* color; + CtkActor* _tmp7_; + ClutterActor* _tmp5_; + ClutterActor* _tmp6_; +#line 681 "launcher-view.vala" + color_buf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, 1, 1); +#line 683 "launcher-view.vala" + unity_quicklauncher_launcher_view_get_average_color (scaled_buf, &red, &green, &blue); +#line 1489 "launcher-view.c" + pixels = (_tmp4_ = gdk_pixbuf_get_pixels (color_buf), pixels_length1 = -1, pixels_size = pixels_length1, _tmp4_); +#line 685 "launcher-view.vala" + pixels[0] = (guchar) red; +#line 686 "launcher-view.vala" + pixels[1] = (guchar) green; +#line 687 "launcher-view.vala" + pixels[2] = (guchar) blue; +#line 688 "launcher-view.vala" + pixels[3] = (guchar) 128; +#line 690 "launcher-view.vala" + tex = _g_object_ref0 (gtk_clutter_texture_new_from_pixbuf (scaled_buf)); +#line 691 "launcher-view.vala" + color = _g_object_ref0 (gtk_clutter_texture_new_from_pixbuf (color_buf)); +#line 693 "launcher-view.vala" + self->priv->icon = (_tmp7_ = (CtkActor*) g_object_ref_sink (unity_unity_icon_new ((_tmp5_ = tex, CLUTTER_IS_TEXTURE (_tmp5_) ? ((ClutterTexture*) _tmp5_) : NULL), (_tmp6_ = color, CLUTTER_IS_TEXTURE (_tmp6_) ? ((ClutterTexture*) _tmp6_) : NULL))), _g_object_unref0 (self->priv->icon), _tmp7_); +#line 1505 "launcher-view.c" + _g_object_unref0 (color_buf); + _g_object_unref0 (tex); + _g_object_unref0 (color); + } +#line 696 "launcher-view.vala" + clutter_actor_set_parent ((ClutterActor*) self->priv->icon, (ClutterActor*) self); +#line 697 "launcher-view.vala" + LOGGER_END_PROCESS (process_name); +#line 698 "launcher-view.vala" + self->priv->effect_drop_shadow = (_tmp8_ = g_object_ref_sink (ctk_effect_drop_shadow_new (5.0f, 0, 2)), _g_object_unref0 (self->priv->effect_drop_shadow), _tmp8_); +#line 699 "launcher-view.vala" + ctk_effect_set_opacity ((CtkEffect*) self->priv->effect_drop_shadow, 0.4f); +#line 700 "launcher-view.vala" + ctk_effect_set_margin ((CtkEffect*) self->priv->effect_drop_shadow, 5); +#line 701 "launcher-view.vala" + ctk_actor_add_effect (self->priv->icon, (CtkEffect*) self->priv->effect_drop_shadow); +#line 702 "launcher-view.vala" + clutter_actor_queue_redraw ((ClutterActor*) self); +#line 1524 "launcher-view.c" + _g_object_unref0 (scaled_buf); + } + _g_free0 (process_name); +} + + +#line 710 "launcher-view.vala" static void unity_quicklauncher_launcher_view_notify_on_is_running (UnityQuicklauncherLauncherView* self) { -#line 1062 "launcher-view.c" +#line 1533 "launcher-view.c" gboolean _tmp3_ = FALSE; -#line 528 "launcher-view.vala" +#line 710 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 530 "launcher-view.vala" +#line 712 "launcher-view.vala" unity_quicklauncher_launcher_view_set_is_starting (self, FALSE); -#line 532 "launcher-view.vala" +#line 714 "launcher-view.vala" if (unity_quicklauncher_models_launcher_model_get_is_active (self->model)) { -#line 1070 "launcher-view.c" +#line 1541 "launcher-view.c" ClutterAnimation* _tmp0_; -#line 534 "launcher-view.vala" +#line 716 "launcher-view.vala" self->priv->running_anim = (_tmp0_ = _g_object_ref0 (clutter_actor_animate ((ClutterActor*) self->priv->running_indicator, (gulong) CLUTTER_EASE_IN_OUT_SINE, UNITY_QUICKLAUNCHER_SHORT_DELAY, "opacity", 255, NULL)), _g_object_unref0 (self->priv->running_anim), _tmp0_); -#line 1074 "launcher-view.c" +#line 1545 "launcher-view.c" } else { ClutterAnimation* _tmp1_; ClutterAnimation* _tmp2_; -#line 539 "launcher-view.vala" +#line 721 "launcher-view.vala" self->priv->running_anim = (_tmp1_ = _g_object_ref0 (clutter_actor_animate ((ClutterActor*) self->priv->running_indicator, (gulong) CLUTTER_EASE_IN_OUT_SINE, UNITY_QUICKLAUNCHER_SHORT_DELAY, "opacity", 0, NULL)), _g_object_unref0 (self->priv->running_anim), _tmp1_); -#line 541 "launcher-view.vala" +#line 723 "launcher-view.vala" self->priv->focused_anim = (_tmp2_ = _g_object_ref0 (clutter_actor_animate ((ClutterActor*) self->priv->focused_indicator, (gulong) CLUTTER_EASE_IN_OUT_SINE, UNITY_QUICKLAUNCHER_SHORT_DELAY, "opacity", 0, NULL)), _g_object_unref0 (self->priv->focused_anim), _tmp2_); -#line 1082 "launcher-view.c" +#line 1553 "launcher-view.c" } -#line 545 "launcher-view.vala" +#line 727 "launcher-view.vala" if (!unity_quicklauncher_models_launcher_model_get_is_active (self->model)) { -#line 545 "launcher-view.vala" +#line 727 "launcher-view.vala" _tmp3_ = !unity_quicklauncher_models_launcher_model_get_is_sticky (self->model); -#line 1088 "launcher-view.c" +#line 1559 "launcher-view.c" } else { -#line 545 "launcher-view.vala" +#line 727 "launcher-view.vala" _tmp3_ = FALSE; -#line 1092 "launcher-view.c" +#line 1563 "launcher-view.c" } -#line 545 "launcher-view.vala" +#line 727 "launcher-view.vala" if (_tmp3_) { -#line 547 "launcher-view.vala" +#line 729 "launcher-view.vala" g_signal_emit_by_name (self, "request-remove"); -#line 1098 "launcher-view.c" +#line 1569 "launcher-view.c" } } -#line 551 "launcher-view.vala" +#line 733 "launcher-view.vala" static void unity_quicklauncher_launcher_view_notify_on_is_focused (UnityQuicklauncherLauncherView* self) { -#line 551 "launcher-view.vala" +#line 733 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 553 "launcher-view.vala" +#line 735 "launcher-view.vala" if (unity_quicklauncher_models_launcher_model_get_is_focused (self->model)) { -#line 1109 "launcher-view.c" +#line 1580 "launcher-view.c" ClutterAnimation* _tmp0_; -#line 555 "launcher-view.vala" +#line 737 "launcher-view.vala" self->priv->focused_anim = (_tmp0_ = _g_object_ref0 (clutter_actor_animate ((ClutterActor*) self->priv->focused_indicator, (gulong) CLUTTER_EASE_IN_OUT_SINE, UNITY_QUICKLAUNCHER_SHORT_DELAY, "opacity", 255, NULL)), _g_object_unref0 (self->priv->focused_anim), _tmp0_); -#line 1113 "launcher-view.c" +#line 1584 "launcher-view.c" } else { ClutterAnimation* _tmp1_; -#line 560 "launcher-view.vala" +#line 742 "launcher-view.vala" self->priv->focused_anim = (_tmp1_ = _g_object_ref0 (clutter_actor_animate ((ClutterActor*) self->priv->focused_indicator, (gulong) CLUTTER_EASE_IN_OUT_SINE, UNITY_QUICKLAUNCHER_SHORT_DELAY, "opacity", 0, NULL)), _g_object_unref0 (self->priv->focused_anim), _tmp1_); -#line 1118 "launcher-view.c" +#line 1589 "launcher-view.c" } -#line 564 "launcher-view.vala" +#line 746 "launcher-view.vala" unity_quicklauncher_launcher_view_set_is_starting (self, FALSE); -#line 1122 "launcher-view.c" +#line 1593 "launcher-view.c" } -#line 567 "launcher-view.vala" +#line 749 "launcher-view.vala" static void _unity_quicklauncher_launcher_view_ensure_menu_state_clutter_actor_destroy (ClutterActor* _sender, gpointer self) { -#line 1128 "launcher-view.c" +#line 1599 "launcher-view.c" unity_quicklauncher_launcher_view_ensure_menu_state (self); } @@ -1143,452 +1614,485 @@ static gboolean _bool_equal (const gboolean* s1, const gboolean* s2) { } -#line 567 "launcher-view.vala" +#line 749 "launcher-view.vala" static void unity_quicklauncher_launcher_view_ensure_menu_state (UnityQuicklauncherLauncherView* self) { -#line 1149 "launcher-view.c" +#line 1620 "launcher-view.c" UnityQuicklauncherQuicklistController* controller; -#line 567 "launcher-view.vala" +#line 749 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 569 "launcher-view.vala" +#line 751 "launcher-view.vala" controller = _g_object_ref0 (unity_quicklauncher_quicklist_controller_get_default ()); -#line 570 "launcher-view.vala" +#line 752 "launcher-view.vala" if (unity_quicklauncher_launcher_view_get_is_hovering (self)) { -#line 1157 "launcher-view.c" +#line 1628 "launcher-view.c" gboolean _tmp0_ = FALSE; -#line 572 "launcher-view.vala" +#line 754 "launcher-view.vala" if (unity_quicklauncher_quicklist_controller_menu_is_open (controller)) { -#line 1161 "launcher-view.c" +#line 1632 "launcher-view.c" CtkActor* _tmp1_; -#line 572 "launcher-view.vala" +#line 754 "launcher-view.vala" _tmp0_ = (_tmp1_ = unity_quicklauncher_quicklist_controller_get_attached_actor (controller)) != CTK_ACTOR (self); -#line 1165 "launcher-view.c" +#line 1636 "launcher-view.c" _g_object_unref0 (_tmp1_); } else { -#line 572 "launcher-view.vala" +#line 754 "launcher-view.vala" _tmp0_ = FALSE; -#line 1170 "launcher-view.c" +#line 1641 "launcher-view.c" } -#line 572 "launcher-view.vala" +#line 754 "launcher-view.vala" if (_tmp0_) { -#line 576 "launcher-view.vala" +#line 758 "launcher-view.vala" g_signal_connect_object ((ClutterActor*) controller->menu, "destroy", (GCallback) _unity_quicklauncher_launcher_view_ensure_menu_state_clutter_actor_destroy, self, 0); -#line 1176 "launcher-view.c" +#line 1647 "launcher-view.c" _g_object_unref0 (controller); -#line 577 "launcher-view.vala" +#line 759 "launcher-view.vala" return; -#line 1180 "launcher-view.c" +#line 1651 "launcher-view.c" } -#line 580 "launcher-view.vala" +#line 762 "launcher-view.vala" if (self->priv->menu_state == UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_NO_MENU) { -#line 1184 "launcher-view.c" +#line 1655 "launcher-view.c" gboolean _tmp2_ = FALSE; -#line 582 "launcher-view.vala" +#line 764 "launcher-view.vala" if (controller->is_in_label) { -#line 582 "launcher-view.vala" +#line 764 "launcher-view.vala" _tmp2_ = TRUE; -#line 1190 "launcher-view.c" +#line 1661 "launcher-view.c" } else { -#line 582 "launcher-view.vala" +#line 764 "launcher-view.vala" _tmp2_ = unity_quicklauncher_quicklist_controller_menu_is_open (controller); -#line 1194 "launcher-view.c" +#line 1665 "launcher-view.c" } -#line 582 "launcher-view.vala" +#line 764 "launcher-view.vala" if (_tmp2_) { -#line 584 "launcher-view.vala" +#line 766 "launcher-view.vala" unity_quicklauncher_quicklist_controller_close_menu (controller); -#line 585 "launcher-view.vala" +#line 767 "launcher-view.vala" g_signal_emit_by_name (self, "menu-closed", self); -#line 1202 "launcher-view.c" +#line 1673 "launcher-view.c" } } -#line 589 "launcher-view.vala" +#line 771 "launcher-view.vala" if (self->priv->menu_state == UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_LABEL) { -#line 591 "launcher-view.vala" +#line 773 "launcher-view.vala" if (!unity_quicklauncher_quicklist_controller_menu_is_open (controller)) { -#line 1209 "launcher-view.c" +#line 1680 "launcher-view.c" gboolean _tmp3_; -#line 593 "launcher-view.vala" +#line 775 "launcher-view.vala" if (_bool_equal (unity_panel_search_entry_has_focus, (_tmp3_ = FALSE, &_tmp3_)) == TRUE) { -#line 594 "launcher-view.vala" +#line 776 "launcher-view.vala" unity_quicklauncher_quicklist_controller_show_label (controller, unity_quicklauncher_models_launcher_model_get_name (self->model), (CtkActor*) self); -#line 1215 "launcher-view.c" +#line 1686 "launcher-view.c" } } } -#line 598 "launcher-view.vala" +#line 780 "launcher-view.vala" if (self->priv->menu_state == UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_MENU) { -#line 600 "launcher-view.vala" +#line 782 "launcher-view.vala" if (controller->is_in_label) { -#line 1223 "launcher-view.c" +#line 1694 "launcher-view.c" GeeArrayList* _tmp5_; GeeArrayList* _tmp4_; -#line 602 "launcher-view.vala" +#line 784 "launcher-view.vala" unity_quicklauncher_quicklist_controller_show_menu (controller, _tmp4_ = unity_quicklauncher_models_launcher_model_get_menu_shortcuts (self->model), _tmp5_ = unity_quicklauncher_models_launcher_model_get_menu_shortcut_actions (self->model), FALSE); -#line 1228 "launcher-view.c" +#line 1699 "launcher-view.c" _g_object_unref0 (_tmp5_); _g_object_unref0 (_tmp4_); -#line 605 "launcher-view.vala" +#line 787 "launcher-view.vala" g_signal_emit_by_name (self, "menu-opened", self); -#line 1233 "launcher-view.c" +#line 1704 "launcher-view.c" } } -#line 609 "launcher-view.vala" +#line 791 "launcher-view.vala" if (self->priv->menu_state == UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_MENU_CLOSE_WHEN_LEAVE) { -#line 611 "launcher-view.vala" +#line 793 "launcher-view.vala" if (controller->is_in_label) { -#line 1240 "launcher-view.c" +#line 1711 "launcher-view.c" GeeArrayList* _tmp7_; GeeArrayList* _tmp6_; -#line 613 "launcher-view.vala" +#line 795 "launcher-view.vala" unity_quicklauncher_quicklist_controller_show_menu (controller, _tmp6_ = unity_quicklauncher_models_launcher_model_get_menu_shortcuts (self->model), _tmp7_ = unity_quicklauncher_models_launcher_model_get_menu_shortcut_actions (self->model), TRUE); -#line 1245 "launcher-view.c" +#line 1716 "launcher-view.c" _g_object_unref0 (_tmp7_); _g_object_unref0 (_tmp6_); -#line 616 "launcher-view.vala" +#line 798 "launcher-view.vala" g_signal_emit_by_name (self, "menu-opened", self); -#line 1250 "launcher-view.c" +#line 1721 "launcher-view.c" } } } else { -#line 622 "launcher-view.vala" - if (controller->is_in_label) { -#line 623 "launcher-view.vala" + gboolean _tmp8_ = FALSE; +#line 804 "launcher-view.vala" + if (self->priv->menu_state == UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_NO_MENU) { +#line 805 "launcher-view.vala" + _tmp8_ = unity_quicklauncher_quicklist_controller_menu_is_open (controller); +#line 1730 "launcher-view.c" + } else { +#line 804 "launcher-view.vala" + _tmp8_ = FALSE; +#line 1734 "launcher-view.c" + } +#line 804 "launcher-view.vala" + if (_tmp8_) { +#line 807 "launcher-view.vala" unity_quicklauncher_quicklist_controller_close_menu (controller); -#line 1258 "launcher-view.c" +#line 1740 "launcher-view.c" + } else { +#line 809 "launcher-view.vala" + if (controller->is_in_label) { +#line 811 "launcher-view.vala" + unity_quicklauncher_quicklist_controller_close_menu (controller); +#line 1746 "launcher-view.c" + } } } _g_object_unref0 (controller); } -#line 627 "launcher-view.vala" +#line 816 "launcher-view.vala" static gboolean unity_quicklauncher_launcher_view_on_mouse_enter (UnityQuicklauncherLauncherView* self, ClutterEvent* event) { -#line 1267 "launcher-view.c" +#line 1756 "launcher-view.c" gboolean result; UnityDragController* drag_controller; -#line 627 "launcher-view.vala" +#line 816 "launcher-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 629 "launcher-view.vala" +#line 818 "launcher-view.vala" drag_controller = _g_object_ref0 (unity_drag_controller_get_default ()); -#line 630 "launcher-view.vala" +#line 819 "launcher-view.vala" if (unity_drag_controller_get_is_dragging (drag_controller)) { -#line 1276 "launcher-view.c" +#line 1765 "launcher-view.c" result = FALSE; _g_object_unref0 (drag_controller); -#line 630 "launcher-view.vala" +#line 819 "launcher-view.vala" return result; -#line 1281 "launcher-view.c" +#line 1770 "launcher-view.c" } -#line 632 "launcher-view.vala" +#line 821 "launcher-view.vala" unity_quicklauncher_launcher_view_set_is_hovering (self, TRUE); -#line 633 "launcher-view.vala" +#line 822 "launcher-view.vala" self->priv->menu_state = UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_LABEL; -#line 634 "launcher-view.vala" +#line 823 "launcher-view.vala" unity_quicklauncher_launcher_view_ensure_menu_state (self); -#line 1289 "launcher-view.c" +#line 1778 "launcher-view.c" result = FALSE; _g_object_unref0 (drag_controller); -#line 636 "launcher-view.vala" +#line 825 "launcher-view.vala" return result; -#line 1294 "launcher-view.c" +#line 1783 "launcher-view.c" } -#line 639 "launcher-view.vala" +#line 828 "launcher-view.vala" static gboolean unity_quicklauncher_launcher_view_on_launch_timeout (UnityQuicklauncherLauncherView* self) { -#line 1300 "launcher-view.c" +#line 1789 "launcher-view.c" gboolean result; -#line 639 "launcher-view.vala" +#line 828 "launcher-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 641 "launcher-view.vala" +#line 830 "launcher-view.vala" unity_quicklauncher_launcher_view_set_is_starting (self, FALSE); -#line 1306 "launcher-view.c" +#line 1795 "launcher-view.c" result = FALSE; -#line 642 "launcher-view.vala" +#line 831 "launcher-view.vala" return result; -#line 1310 "launcher-view.c" +#line 1799 "launcher-view.c" } -#line 645 "launcher-view.vala" +#line 834 "launcher-view.vala" static gboolean unity_quicklauncher_launcher_view_on_mouse_leave (UnityQuicklauncherLauncherView* self, ClutterEvent* src) { -#line 1316 "launcher-view.c" +#line 1805 "launcher-view.c" gboolean result; -#line 645 "launcher-view.vala" + gboolean _tmp0_ = FALSE; +#line 834 "launcher-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 647 "launcher-view.vala" +#line 836 "launcher-view.vala" unity_quicklauncher_launcher_view_set_is_hovering (self, FALSE); -#line 648 "launcher-view.vala" - self->priv->menu_state = UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_NO_MENU; -#line 649 "launcher-view.vala" +#line 837 "launcher-view.vala" + if (self->priv->menu_state != UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_MENU_CLOSE_WHEN_LEAVE) { +#line 838 "launcher-view.vala" + _tmp0_ = self->priv->menu_state != UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_MENU; +#line 1816 "launcher-view.c" + } else { +#line 837 "launcher-view.vala" + _tmp0_ = FALSE; +#line 1820 "launcher-view.c" + } +#line 837 "launcher-view.vala" + if (_tmp0_) { +#line 840 "launcher-view.vala" + self->priv->menu_state = UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_NO_MENU; +#line 1826 "launcher-view.c" + } +#line 842 "launcher-view.vala" unity_quicklauncher_launcher_view_ensure_menu_state (self); -#line 1326 "launcher-view.c" +#line 1830 "launcher-view.c" result = FALSE; -#line 650 "launcher-view.vala" +#line 843 "launcher-view.vala" return result; -#line 1330 "launcher-view.c" +#line 1834 "launcher-view.c" } -#line 653 "launcher-view.vala" +#line 846 "launcher-view.vala" static gboolean unity_quicklauncher_launcher_view_on_motion_event (UnityQuicklauncherLauncherView* self, ClutterEvent* event) { -#line 1336 "launcher-view.c" +#line 1840 "launcher-view.c" gboolean result; UnityDragController* drag_controller; gboolean _tmp0_ = FALSE; gboolean _tmp1_ = FALSE; gboolean _tmp2_ = FALSE; -#line 653 "launcher-view.vala" +#line 846 "launcher-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 655 "launcher-view.vala" +#line 848 "launcher-view.vala" drag_controller = _g_object_ref0 (unity_drag_controller_get_default ()); -#line 656 "launcher-view.vala" +#line 849 "launcher-view.vala" if (self->priv->button_down) { -#line 656 "launcher-view.vala" +#line 849 "launcher-view.vala" _tmp2_ = unity_drag_controller_get_is_dragging (drag_controller) == FALSE; -#line 1350 "launcher-view.c" +#line 1854 "launcher-view.c" } else { -#line 656 "launcher-view.vala" +#line 849 "launcher-view.vala" _tmp2_ = FALSE; -#line 1354 "launcher-view.c" +#line 1858 "launcher-view.c" } -#line 656 "launcher-view.vala" +#line 849 "launcher-view.vala" if (_tmp2_) { -#line 657 "launcher-view.vala" +#line 850 "launcher-view.vala" _tmp1_ = !unity_quicklauncher_models_launcher_model_get_readonly (self->model); -#line 1360 "launcher-view.c" +#line 1864 "launcher-view.c" } else { -#line 656 "launcher-view.vala" +#line 849 "launcher-view.vala" _tmp1_ = FALSE; -#line 1364 "launcher-view.c" +#line 1868 "launcher-view.c" } -#line 656 "launcher-view.vala" +#line 849 "launcher-view.vala" if (_tmp1_) { -#line 657 "launcher-view.vala" +#line 850 "launcher-view.vala" _tmp0_ = !unity_quicklauncher_models_launcher_model_get_is_fixed (self->model); -#line 1370 "launcher-view.c" +#line 1874 "launcher-view.c" } else { -#line 656 "launcher-view.vala" +#line 849 "launcher-view.vala" _tmp0_ = FALSE; -#line 1374 "launcher-view.c" +#line 1878 "launcher-view.c" } -#line 656 "launcher-view.vala" +#line 849 "launcher-view.vala" if (_tmp0_) { -#line 1378 "launcher-view.c" +#line 1882 "launcher-view.c" float diff; gboolean _tmp3_ = FALSE; -#line 659 "launcher-view.vala" +#line 852 "launcher-view.vala" diff = (*event).motion.x - self->priv->click_start_pos; -#line 660 "launcher-view.vala" +#line 853 "launcher-view.vala" if (diff > UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_drag_sensitivity) { -#line 660 "launcher-view.vala" +#line 853 "launcher-view.vala" _tmp3_ = TRUE; -#line 1387 "launcher-view.c" +#line 1891 "launcher-view.c" } else { -#line 660 "launcher-view.vala" +#line 853 "launcher-view.vala" _tmp3_ = (-diff) > UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_drag_sensitivity; -#line 1391 "launcher-view.c" +#line 1895 "launcher-view.c" } -#line 660 "launcher-view.vala" +#line 853 "launcher-view.vala" if (_tmp3_) { -#line 1395 "launcher-view.c" +#line 1899 "launcher-view.c" float x = 0.0F; float y = 0.0F; -#line 663 "launcher-view.vala" +#line 856 "launcher-view.vala" clutter_actor_get_transformed_position ((ClutterActor*) self->priv->icon, &x, &y); -#line 664 "launcher-view.vala" +#line 857 "launcher-view.vala" unity_drag_controller_start_drag (drag_controller, (UnityDragModel*) self, (*event).button.x - x, (*event).button.y - y); -#line 667 "launcher-view.vala" +#line 860 "launcher-view.vala" self->priv->button_down = FALSE; -#line 1404 "launcher-view.c" +#line 1908 "launcher-view.c" result = TRUE; _g_object_unref0 (drag_controller); -#line 668 "launcher-view.vala" +#line 861 "launcher-view.vala" return result; -#line 1409 "launcher-view.c" +#line 1913 "launcher-view.c" } } result = FALSE; _g_object_unref0 (drag_controller); -#line 671 "launcher-view.vala" +#line 864 "launcher-view.vala" return result; -#line 1416 "launcher-view.c" +#line 1920 "launcher-view.c" } -#line 674 "launcher-view.vala" +#line 867 "launcher-view.vala" static gboolean unity_quicklauncher_launcher_view_on_long_hover (UnityQuicklauncherLauncherView* self) { -#line 1422 "launcher-view.c" +#line 1926 "launcher-view.c" gboolean result; -#line 674 "launcher-view.vala" +#line 867 "launcher-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 676 "launcher-view.vala" +#line 869 "launcher-view.vala" if (unity_quicklauncher_quicklist_controller_get_default ()->is_in_label) { -#line 678 "launcher-view.vala" +#line 871 "launcher-view.vala" self->priv->hover_timeout = (guint) 0; -#line 679 "launcher-view.vala" +#line 872 "launcher-view.vala" self->priv->menu_state = UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_MENU_CLOSE_WHEN_LEAVE; -#line 680 "launcher-view.vala" +#line 873 "launcher-view.vala" unity_quicklauncher_launcher_view_ensure_menu_state (self); -#line 1434 "launcher-view.c" +#line 1938 "launcher-view.c" } result = FALSE; -#line 682 "launcher-view.vala" +#line 875 "launcher-view.vala" return result; -#line 1439 "launcher-view.c" +#line 1943 "launcher-view.c" } -#line 685 "launcher-view.vala" +#line 878 "launcher-view.vala" static gboolean unity_quicklauncher_launcher_view_on_pressed (UnityQuicklauncherLauncherView* self, ClutterEvent* src) { -#line 1445 "launcher-view.c" +#line 1949 "launcher-view.c" gboolean result; ClutterButtonEvent bevent; -#line 685 "launcher-view.vala" +#line 878 "launcher-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 688 "launcher-view.vala" +#line 880 "launcher-view.vala" bevent = (*src).button; -#line 689 "launcher-view.vala" +#line 881 "launcher-view.vala" switch (bevent.button) { -#line 1454 "launcher-view.c" +#line 1958 "launcher-view.c" case 1: { { -#line 693 "launcher-view.vala" +#line 885 "launcher-view.vala" self->priv->last_pressed_time = bevent.time; -#line 694 "launcher-view.vala" +#line 886 "launcher-view.vala" self->priv->click_start_pos = bevent.x; -#line 695 "launcher-view.vala" +#line 887 "launcher-view.vala" self->priv->button_down = TRUE; -#line 696 "launcher-view.vala" +#line 888 "launcher-view.vala" unity_quicklauncher_launcher_view_set_is_hovering (self, FALSE); -#line 1466 "launcher-view.c" +#line 1970 "launcher-view.c" } -#line 697 "launcher-view.vala" +#line 889 "launcher-view.vala" break; -#line 1470 "launcher-view.c" +#line 1974 "launcher-view.c" } case 3: { { -#line 700 "launcher-view.vala" +#line 892 "launcher-view.vala" self->priv->menu_state = UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_MENU; -#line 701 "launcher-view.vala" +#line 893 "launcher-view.vala" unity_quicklauncher_launcher_view_ensure_menu_state (self); -#line 1479 "launcher-view.c" +#line 1983 "launcher-view.c" } -#line 702 "launcher-view.vala" +#line 894 "launcher-view.vala" break; -#line 1483 "launcher-view.c" +#line 1987 "launcher-view.c" } default: { -#line 703 "launcher-view.vala" +#line 895 "launcher-view.vala" break; -#line 1489 "launcher-view.c" +#line 1993 "launcher-view.c" } } result = FALSE; -#line 705 "launcher-view.vala" +#line 897 "launcher-view.vala" return result; -#line 1495 "launcher-view.c" +#line 1999 "launcher-view.c" } -#line 709 "launcher-view.vala" +#line 901 "launcher-view.vala" static gboolean unity_quicklauncher_launcher_view_on_released (UnityQuicklauncherLauncherView* self, ClutterEvent* src) { -#line 1501 "launcher-view.c" +#line 2005 "launcher-view.c" gboolean result; ClutterButtonEvent bevent; gboolean _tmp0_ = FALSE; -#line 709 "launcher-view.vala" +#line 901 "launcher-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 711 "launcher-view.vala" +#line 903 "launcher-view.vala" bevent = (*src).button; -#line 712 "launcher-view.vala" +#line 904 "launcher-view.vala" self->priv->button_down = FALSE; -#line 713 "launcher-view.vala" +#line 905 "launcher-view.vala" if (bevent.button == 1) { -#line 714 "launcher-view.vala" +#line 906 "launcher-view.vala" _tmp0_ = (bevent.time - self->priv->last_pressed_time) < 500; -#line 1515 "launcher-view.c" +#line 2019 "launcher-view.c" } else { -#line 713 "launcher-view.vala" +#line 905 "launcher-view.vala" _tmp0_ = FALSE; -#line 1519 "launcher-view.c" +#line 2023 "launcher-view.c" } -#line 713 "launcher-view.vala" +#line 905 "launcher-view.vala" if (_tmp0_) { -#line 716 "launcher-view.vala" +#line 908 "launcher-view.vala" g_signal_emit_by_name (self, "clicked"); -#line 1525 "launcher-view.c" - result = TRUE; -#line 718 "launcher-view.vala" +#line 2029 "launcher-view.c" + result = FALSE; +#line 910 "launcher-view.vala" return result; -#line 1529 "launcher-view.c" +#line 2033 "launcher-view.c" } -#line 721 "launcher-view.vala" +#line 913 "launcher-view.vala" if (bevent.button == 1) { -#line 722 "launcher-view.vala" - g_debug ("launcher-view.vala:722: Event not handled: %d %d", (gint) bevent.time, (gint) self->priv->last_pressed_time); -#line 1535 "launcher-view.c" +#line 914 "launcher-view.vala" + g_debug ("launcher-view.vala:914: Event not handled: %d %d", (gint) bevent.time, (gint) self->priv->last_pressed_time); +#line 2039 "launcher-view.c" } result = FALSE; -#line 726 "launcher-view.vala" +#line 917 "launcher-view.vala" return result; -#line 1540 "launcher-view.c" +#line 2044 "launcher-view.c" } -#line 729 "launcher-view.vala" +#line 920 "launcher-view.vala" static ClutterActor* unity_quicklauncher_launcher_view_real_get_icon (UnityDragModel* base) { -#line 1546 "launcher-view.c" +#line 2050 "launcher-view.c" UnityQuicklauncherLauncherView * self; ClutterActor* result; self = (UnityQuicklauncherLauncherView*) base; result = _g_object_ref0 ((ClutterActor*) self->priv->icon); -#line 731 "launcher-view.vala" +#line 922 "launcher-view.vala" return result; -#line 1553 "launcher-view.c" +#line 2057 "launcher-view.c" } -#line 734 "launcher-view.vala" +#line 925 "launcher-view.vala" static char* unity_quicklauncher_launcher_view_real_get_drag_data (UnityDragModel* base) { -#line 1559 "launcher-view.c" +#line 2063 "launcher-view.c" UnityQuicklauncherLauncherView * self; char* result; self = (UnityQuicklauncherLauncherView*) base; result = g_strdup (clutter_actor_get_name ((ClutterActor*) self)); -#line 736 "launcher-view.vala" +#line 927 "launcher-view.vala" return result; -#line 1566 "launcher-view.c" +#line 2070 "launcher-view.c" } -#line 739 "launcher-view.vala" +#line 930 "launcher-view.vala" static void unity_quicklauncher_launcher_view_on_clicked (UnityQuicklauncherLauncherView* self) { -#line 739 "launcher-view.vala" +#line 930 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 742 "launcher-view.vala" +#line 933 "launcher-view.vala" if (unity_quicklauncher_launcher_view_get_is_starting (self)) { -#line 744 "launcher-view.vala" +#line 935 "launcher-view.vala" return; -#line 1578 "launcher-view.c" +#line 2082 "launcher-view.c" } -#line 746 "launcher-view.vala" +#line 937 "launcher-view.vala" unity_quicklauncher_models_launcher_model_activate (self->model); -#line 1582 "launcher-view.c" +#line 2086 "launcher-view.c" } -#line 749 "launcher-view.vala" +#line 940 "launcher-view.vala" static void unity_quicklauncher_launcher_view_on_request_remove (UnityQuicklauncherLauncherView* self) { -#line 749 "launcher-view.vala" +#line 940 "launcher-view.vala" g_return_if_fail (self != NULL); -#line 751 "launcher-view.vala" +#line 942 "launcher-view.vala" unity_quicklauncher_models_launcher_model_close (self->model); -#line 1592 "launcher-view.c" +#line 2096 "launcher-view.c" } @@ -1596,30 +2100,30 @@ static gboolean unity_quicklauncher_launcher_view_get_is_starting (UnityQuicklau gboolean result; g_return_val_if_fail (self != NULL, FALSE); result = self->priv->_busy; -#line 70 "launcher-view.vala" +#line 66 "launcher-view.vala" return result; -#line 1602 "launcher-view.c" +#line 2106 "launcher-view.c" } static void unity_quicklauncher_launcher_view_set_is_starting (UnityQuicklauncherLauncherView* self, gboolean value) { g_return_if_fail (self != NULL); -#line 72 "launcher-view.vala" +#line 68 "launcher-view.vala" if (value) { -#line 74 "launcher-view.vala" +#line 70 "launcher-view.vala" if (!self->priv->_busy) { -#line 75 "launcher-view.vala" +#line 71 "launcher-view.vala" unity_quicklauncher_launcher_view_throbber_start (self); -#line 1614 "launcher-view.c" +#line 2118 "launcher-view.c" } } else { -#line 77 "launcher-view.vala" +#line 73 "launcher-view.vala" unity_quicklauncher_launcher_view_throbber_hide (self); -#line 1619 "launcher-view.c" +#line 2123 "launcher-view.c" } -#line 79 "launcher-view.vala" +#line 75 "launcher-view.vala" self->priv->_busy = value; -#line 1623 "launcher-view.c" +#line 2127 "launcher-view.c" } @@ -1627,15 +2131,15 @@ gboolean unity_quicklauncher_launcher_view_get_is_hovering (UnityQuicklauncherLa gboolean result; g_return_val_if_fail (self != NULL, FALSE); result = self->priv->_is_hovering; -#line 85 "launcher-view.vala" +#line 81 "launcher-view.vala" return result; -#line 1633 "launcher-view.c" +#line 2137 "launcher-view.c" } -#line 674 "launcher-view.vala" +#line 867 "launcher-view.vala" static gboolean _unity_quicklauncher_launcher_view_on_long_hover_gsource_func (gpointer self) { -#line 1639 "launcher-view.c" +#line 2143 "launcher-view.c" return unity_quicklauncher_launcher_view_on_long_hover (self); } @@ -1643,51 +2147,51 @@ static gboolean _unity_quicklauncher_launcher_view_on_long_hover_gsource_func (g void unity_quicklauncher_launcher_view_set_is_hovering (UnityQuicklauncherLauncherView* self, gboolean value) { gboolean _tmp0_ = FALSE; g_return_if_fail (self != NULL); -#line 87 "launcher-view.vala" +#line 83 "launcher-view.vala" if (value) { -#line 87 "launcher-view.vala" +#line 83 "launcher-view.vala" _tmp0_ = !unity_quicklauncher_launcher_view_get_is_hovering (self); -#line 1651 "launcher-view.c" +#line 2155 "launcher-view.c" } else { -#line 87 "launcher-view.vala" +#line 83 "launcher-view.vala" _tmp0_ = FALSE; -#line 1655 "launcher-view.c" +#line 2159 "launcher-view.c" } -#line 87 "launcher-view.vala" +#line 83 "launcher-view.vala" if (_tmp0_) { -#line 89 "launcher-view.vala" +#line 85 "launcher-view.vala" if (self->priv->hover_timeout != 0) { -#line 90 "launcher-view.vala" +#line 86 "launcher-view.vala" g_source_remove (self->priv->hover_timeout); -#line 1663 "launcher-view.c" +#line 2167 "launcher-view.c" } -#line 91 "launcher-view.vala" +#line 87 "launcher-view.vala" self->priv->hover_timeout = g_timeout_add_full (G_PRIORITY_DEFAULT, UNITY_QUICKLAUNCHER_LONG_DELAY, _unity_quicklauncher_launcher_view_on_long_hover_gsource_func, g_object_ref (self), g_object_unref); -#line 1667 "launcher-view.c" +#line 2171 "launcher-view.c" } else { gboolean _tmp1_ = FALSE; -#line 93 "launcher-view.vala" +#line 89 "launcher-view.vala" if (!value) { -#line 93 "launcher-view.vala" +#line 89 "launcher-view.vala" _tmp1_ = self->priv->hover_timeout != 0; -#line 1674 "launcher-view.c" +#line 2178 "launcher-view.c" } else { -#line 93 "launcher-view.vala" +#line 89 "launcher-view.vala" _tmp1_ = FALSE; -#line 1678 "launcher-view.c" +#line 2182 "launcher-view.c" } -#line 93 "launcher-view.vala" +#line 89 "launcher-view.vala" if (_tmp1_) { -#line 95 "launcher-view.vala" +#line 91 "launcher-view.vala" g_source_remove (self->priv->hover_timeout); -#line 96 "launcher-view.vala" +#line 92 "launcher-view.vala" self->priv->hover_timeout = (guint) 0; -#line 1686 "launcher-view.c" +#line 2190 "launcher-view.c" } } -#line 98 "launcher-view.vala" +#line 94 "launcher-view.vala" self->priv->_is_hovering = value; -#line 1691 "launcher-view.c" +#line 2195 "launcher-view.c" g_object_notify ((GObject *) self, "is-hovering"); } @@ -1696,26 +2200,26 @@ ClutterAnimation* unity_quicklauncher_launcher_view_get_anim (UnityQuicklauncher ClutterAnimation* result; g_return_val_if_fail (self != NULL, NULL); result = self->priv->_anim; -#line 130 "launcher-view.vala" +#line 126 "launcher-view.vala" return result; -#line 1702 "launcher-view.c" +#line 2206 "launcher-view.c" } void unity_quicklauncher_launcher_view_set_anim (UnityQuicklauncherLauncherView* self, ClutterAnimation* value) { ClutterAnimation* _tmp0_; g_return_if_fail (self != NULL); -#line 132 "launcher-view.vala" +#line 128 "launcher-view.vala" if (self->priv->_anim != NULL) { -#line 133 "launcher-view.vala" +#line 129 "launcher-view.vala" g_assert (CLUTTER_IS_ANIMATION (self->priv->_anim)); -#line 134 "launcher-view.vala" +#line 130 "launcher-view.vala" clutter_animation_completed (self->priv->_anim); -#line 1715 "launcher-view.c" +#line 2219 "launcher-view.c" } -#line 136 "launcher-view.vala" +#line 132 "launcher-view.vala" self->priv->_anim = (_tmp0_ = _g_object_ref0 (value), _g_object_unref0 (self->priv->_anim), _tmp0_); -#line 1719 "launcher-view.c" +#line 2223 "launcher-view.c" g_object_notify ((GObject *) self, "anim"); } @@ -1724,19 +2228,19 @@ float unity_quicklauncher_launcher_view_get_anim_priority (UnityQuicklauncherLau float result; g_return_val_if_fail (self != NULL, 0.0F); result = self->priv->_anim_priority; -#line 145 "launcher-view.vala" +#line 141 "launcher-view.vala" return result; -#line 1730 "launcher-view.c" +#line 2234 "launcher-view.c" } void unity_quicklauncher_launcher_view_set_anim_priority (UnityQuicklauncherLauncherView* self, float value) { g_return_if_fail (self != NULL); -#line 146 "launcher-view.vala" +#line 142 "launcher-view.vala" self->priv->_anim_priority = value; -#line 146 "launcher-view.vala" +#line 142 "launcher-view.vala" clutter_actor_queue_relayout ((ClutterActor*) self); -#line 1740 "launcher-view.c" +#line 2244 "launcher-view.c" g_object_notify ((GObject *) self, "anim-priority"); } @@ -1745,102 +2249,102 @@ gint unity_quicklauncher_launcher_view_get_position (UnityQuicklauncherLauncherV gint result; g_return_val_if_fail (self != NULL, 0); result = self->priv->_position; -#line 152 "launcher-view.vala" +#line 148 "launcher-view.vala" return result; -#line 1751 "launcher-view.c" +#line 2255 "launcher-view.c" } void unity_quicklauncher_launcher_view_set_position (UnityQuicklauncherLauncherView* self, gint value) { g_return_if_fail (self != NULL); -#line 155 "launcher-view.vala" +#line 151 "launcher-view.vala" if (self->priv->_position == (-1)) { -#line 157 "launcher-view.vala" +#line 153 "launcher-view.vala" self->priv->_position = value; -#line 158 "launcher-view.vala" +#line 154 "launcher-view.vala" self->priv->_anim_priority = 0.0f; -#line 159 "launcher-view.vala" +#line 155 "launcher-view.vala" self->anim_priority_going_up = FALSE; -#line 160 "launcher-view.vala" +#line 156 "launcher-view.vala" return; -#line 1767 "launcher-view.c" +#line 2271 "launcher-view.c" } -#line 162 "launcher-view.vala" +#line 158 "launcher-view.vala" if (self->priv->_position != value) { -#line 164 "launcher-view.vala" +#line 160 "launcher-view.vala" self->anim_priority_going_up = self->priv->_position > value; -#line 165 "launcher-view.vala" +#line 161 "launcher-view.vala" self->priv->_position = value; -#line 167 "launcher-view.vala" +#line 163 "launcher-view.vala" unity_quicklauncher_launcher_view_set_anim_priority (self, clutter_actor_get_height ((ClutterActor*) self)); -#line 168 "launcher-view.vala" +#line 164 "launcher-view.vala" clutter_actor_animate ((ClutterActor*) self, (gulong) CLUTTER_EASE_IN_OUT_QUAD, (guint) 170, "anim-priority", 0.0f, NULL); -#line 1779 "launcher-view.c" +#line 2283 "launcher-view.c" } g_object_notify ((GObject *) self, "position"); } -#line 685 "launcher-view.vala" +#line 878 "launcher-view.vala" static gboolean _unity_quicklauncher_launcher_view_on_pressed_clutter_actor_button_press_event (ClutterActor* _sender, ClutterEvent* event, gpointer self) { -#line 1787 "launcher-view.c" +#line 2291 "launcher-view.c" return unity_quicklauncher_launcher_view_on_pressed (self, event); } -#line 709 "launcher-view.vala" +#line 901 "launcher-view.vala" static gboolean _unity_quicklauncher_launcher_view_on_released_clutter_actor_button_release_event (ClutterActor* _sender, ClutterEvent* event, gpointer self) { -#line 1794 "launcher-view.c" +#line 2298 "launcher-view.c" return unity_quicklauncher_launcher_view_on_released (self, event); } -#line 627 "launcher-view.vala" +#line 816 "launcher-view.vala" static gboolean _unity_quicklauncher_launcher_view_on_mouse_enter_clutter_actor_enter_event (ClutterActor* _sender, ClutterEvent* event, gpointer self) { -#line 1801 "launcher-view.c" +#line 2305 "launcher-view.c" return unity_quicklauncher_launcher_view_on_mouse_enter (self, event); } -#line 645 "launcher-view.vala" +#line 834 "launcher-view.vala" static gboolean _unity_quicklauncher_launcher_view_on_mouse_leave_clutter_actor_leave_event (ClutterActor* _sender, ClutterEvent* event, gpointer self) { -#line 1808 "launcher-view.c" +#line 2312 "launcher-view.c" return unity_quicklauncher_launcher_view_on_mouse_leave (self, event); } -#line 653 "launcher-view.vala" +#line 846 "launcher-view.vala" static gboolean _unity_quicklauncher_launcher_view_on_motion_event_clutter_actor_motion_event (ClutterActor* _sender, ClutterEvent* event, gpointer self) { -#line 1815 "launcher-view.c" +#line 2319 "launcher-view.c" return unity_quicklauncher_launcher_view_on_motion_event (self, event); } -#line 220 "launcher-view.vala" +#line 209 "launcher-view.vala" static void _lambda2_ (UnityQuicklauncherLauncherView* self) { -#line 220 "launcher-view.vala" +#line 209 "launcher-view.vala" unity_quicklauncher_launcher_view_update_window_struts (self, FALSE); -#line 1824 "launcher-view.c" +#line 2328 "launcher-view.c" } -#line 220 "launcher-view.vala" +#line 209 "launcher-view.vala" static void __lambda2__clutter_actor_allocation_changed (ClutterActor* _sender, const ClutterActorBox* box, ClutterAllocationFlags flags, gpointer self) { -#line 1830 "launcher-view.c" +#line 2334 "launcher-view.c" _lambda2_ (self); } -#line 362 "launcher-view.vala" +#line 356 "launcher-view.vala" static void _unity_quicklauncher_launcher_view_notify_on_set_reactive_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) { -#line 1837 "launcher-view.c" +#line 2341 "launcher-view.c" unity_quicklauncher_launcher_view_notify_on_set_reactive (self); } -#line 739 "launcher-view.vala" +#line 930 "launcher-view.vala" static void _unity_quicklauncher_launcher_view_on_clicked_unity_quicklauncher_launcher_view_clicked (UnityQuicklauncherLauncherView* _sender, gpointer self) { -#line 1844 "launcher-view.c" +#line 2348 "launcher-view.c" unity_quicklauncher_launcher_view_on_clicked (self); } @@ -1855,45 +2359,45 @@ static GObject * unity_quicklauncher_launcher_view_constructor (GType type, guin { CtkPadding _tmp0_ = {0}; CtkPadding padding; -#line 210 "launcher-view.vala" +#line 199 "launcher-view.vala" unity_quicklauncher_launcher_view_load_textures (self); -#line 212 "launcher-view.vala" +#line 201 "launcher-view.vala" self->priv->hover_timeout = (guint) 0; -#line 214 "launcher-view.vala" +#line 203 "launcher-view.vala" g_signal_connect_object ((ClutterActor*) self, "button-press-event", (GCallback) _unity_quicklauncher_launcher_view_on_pressed_clutter_actor_button_press_event, self, 0); -#line 215 "launcher-view.vala" +#line 204 "launcher-view.vala" g_signal_connect_object ((ClutterActor*) self, "button-release-event", (GCallback) _unity_quicklauncher_launcher_view_on_released_clutter_actor_button_release_event, self, 0); -#line 217 "launcher-view.vala" +#line 206 "launcher-view.vala" g_signal_connect_object ((ClutterActor*) self, "enter-event", (GCallback) _unity_quicklauncher_launcher_view_on_mouse_enter_clutter_actor_enter_event, self, 0); -#line 218 "launcher-view.vala" +#line 207 "launcher-view.vala" g_signal_connect_object ((ClutterActor*) self, "leave-event", (GCallback) _unity_quicklauncher_launcher_view_on_mouse_leave_clutter_actor_leave_event, self, 0); -#line 219 "launcher-view.vala" +#line 208 "launcher-view.vala" g_signal_connect_object ((ClutterActor*) self, "motion-event", (GCallback) _unity_quicklauncher_launcher_view_on_motion_event_clutter_actor_motion_event, self, 0); -#line 220 "launcher-view.vala" +#line 209 "launcher-view.vala" g_signal_connect_object ((ClutterActor*) self, "allocation-changed", (GCallback) __lambda2__clutter_actor_allocation_changed, self, 0); -#line 221 "launcher-view.vala" +#line 210 "launcher-view.vala" g_signal_connect_object ((GObject*) self, "notify::reactive", (GCallback) _unity_quicklauncher_launcher_view_notify_on_set_reactive_g_object_notify, self, 0); -#line 223 "launcher-view.vala" +#line 212 "launcher-view.vala" g_signal_connect_object (self, "clicked", (GCallback) _unity_quicklauncher_launcher_view_on_clicked_unity_quicklauncher_launcher_view_clicked, self, 0); -#line 224 "launcher-view.vala" +#line 213 "launcher-view.vala" clutter_actor_queue_redraw ((ClutterActor*) self); -#line 226 "launcher-view.vala" +#line 215 "launcher-view.vala" clutter_actor_set_reactive ((ClutterActor*) self, TRUE); -#line 227 "launcher-view.vala" +#line 216 "launcher-view.vala" padding = (ctk_actor_get_padding ((CtkActor*) self, &_tmp0_), _tmp0_); -#line 228 "launcher-view.vala" +#line 217 "launcher-view.vala" padding.left = (float) 2; -#line 229 "launcher-view.vala" +#line 218 "launcher-view.vala" padding.right = (float) 2; -#line 230 "launcher-view.vala" +#line 219 "launcher-view.vala" padding.top = 2.5f; -#line 231 "launcher-view.vala" +#line 220 "launcher-view.vala" padding.bottom = 2.5f; -#line 232 "launcher-view.vala" +#line 221 "launcher-view.vala" ctk_actor_set_padding ((CtkActor*) self, &padding); -#line 233 "launcher-view.vala" +#line 222 "launcher-view.vala" self->priv->menu_state = UNITY_QUICKLAUNCHER_LAUNCHER_VIEW_MENU_STATE_NO_MENU; -#line 1897 "launcher-view.c" +#line 2401 "launcher-view.c" } return obj; } diff --git a/src/quicklauncher/launcher-view.vala b/src/quicklauncher/launcher-view.vala index e2fd1e8e7..fd79d8d7f 100644 --- a/src/quicklauncher/launcher-view.vala +++ b/src/quicklauncher/launcher-view.vala @@ -21,10 +21,6 @@ using Unity.Quicklauncher.Models; namespace Unity.Quicklauncher { - const string FOCUSED_FILE = Unity.PKGDATADIR - + "/quicklauncher_focused_indicator.png"; - const string RUNNING_FILE = Unity.PKGDATADIR - + "/quicklauncher_running_indicator.png"; const string HONEYCOMB_MASK_FILE = Unity.PKGDATADIR + "/honeycomb-mask.png"; const string MENU_BG_FILE = Unity.PKGDATADIR @@ -53,7 +49,7 @@ namespace Unity.Quicklauncher public LauncherModel? model; /* the prettys */ - private Ctk.Image icon; + private Ctk.Actor icon; private ThemeImage focused_indicator; private ThemeImage running_indicator; private Gdk.Pixbuf honeycomb_mask; @@ -196,13 +192,6 @@ namespace Unity.Quicklauncher this.set_name (model.uid); this.request_remove.connect (this.on_request_remove); - if (this.model.do_shadow) - { - this.effect_drop_shadow = new Ctk.EffectDropShadow (5.0f, 0, 2); - effect_drop_shadow.set_opacity (0.4f); - this.effect_drop_shadow.set_margin (5); - this.icon.add_effect (effect_drop_shadow); - } } construct @@ -263,8 +252,9 @@ namespace Unity.Quicklauncher Clutter.ActorBox child_box = Clutter.ActorBox (); //allocate the running indicator first - float width = this.running_indicator.get_width (); - float height = this.running_indicator.get_height (); + float width, height, n_width, n_height; + this.running_indicator.get_preferred_width (48, out n_width, out width); + this.running_indicator.get_preferred_height (48, out n_height, out height); child_box.x1 = 0; child_box.y1 = (box.get_height () - height) / 2.0f; child_box.x2 = child_box.x1 + width; @@ -273,22 +263,24 @@ namespace Unity.Quicklauncher x += child_box.get_width (); //allocate the icon - width = this.icon.get_width (); - height = this.icon.get_height (); + this.icon.get_preferred_width (48, out width, out n_width); + this.icon.get_preferred_height (48, out height, out n_height); child_box.x1 = (box.get_width () - width) / 2.0f; child_box.y1 = y; - child_box.x2 = child_box.x1 + width; + child_box.x2 = child_box.x1 + 48; child_box.y2 = child_box.y1 + height; this.icon.allocate (child_box, flags); //allocate the focused indicator - width = this.focused_indicator.get_width (); - height = this.focused_indicator.get_height (); - child_box.x2 = box.get_width (); - child_box.y2 = (box.get_height () / 2.0f) - (height / 2.0f); - child_box.x1 = child_box.x2 - width; - child_box.y1 = child_box.y2 + height; + this.focused_indicator.get_preferred_width (48, out n_width, out width); + this.focused_indicator.get_preferred_height (48, out n_height, out height); + child_box.x1 = box.get_width () - width; + child_box.y1 = (box.get_height () - height) / 2.0f; + child_box.x2 = child_box.x1 + width; + child_box.y2 = child_box.y1 + height; + this.focused_indicator.allocate (child_box, flags); + } public override void pick (Clutter.Color color) @@ -299,8 +291,9 @@ namespace Unity.Quicklauncher public override void paint () { - this.running_indicator.paint (); this.focused_indicator.paint (); + this.running_indicator.paint (); + this.icon.paint (); } @@ -355,7 +348,8 @@ namespace Unity.Quicklauncher e.message); } - this.icon = new Ctk.Image (46); + this.icon = new Ctk.Image (48); + this.icon.set_size (48, 48); this.icon.set_parent (this); } @@ -509,15 +503,203 @@ namespace Unity.Quicklauncher } } + /* converts from rgb to hsv colour space */ + private static void rgb_to_hsv (float r, float g, float b, + out float hue, out float sat, out float val) + { + float min, max; + if (r > g) + max = (r > b) ? r : b; + else + max = (g > b) ? g : b; + if (r < g) + min = (r < b) ? r : b; + else + min = (g < b) ? g : b; + + val = max; + + float delta = max - min; + if (delta > 0.000001) + { + sat = delta / max; + hue = 0.0f; + if (r == max) + { + hue = (g - b) / delta; + if (hue < 0.0f) + hue += 6.0f; + } + else if (g == max) + { + hue = 2.0f + (b - r) / delta; + } + else if (b == max) + { + hue = 4.0f + (r - g) / delta; + } + hue /= 6.0f; + } + else + { + sat = 0.0f; + hue = 0.0f; + } + } + + private static void hsv_to_rgb (float hue, float sat, float val, + out float r, out float g, out float b) + { + int i; + float f, w, q, t; + + if (sat == 0.0) + { + r = g = b = val; + } + else + { + if (hue == 1.0) + hue = 0.0f; + + hue *= 6.0f; + + i = (int) hue; + f = hue - i; + w = val * (1.0f - sat); + q = val * (1.0f - (sat * f)); + t = val * (1.0f - (sat * (1.0f - f))); + + switch (i) + { + case 0: + r = val; + g = t; + b = w; + break; + case 1: + r = q; + g = val; + b = w; + break; + case 2: + r = w; + g = val; + b = t; + break; + case 3: + r = w; + g = q; + b = val; + break; + case 4: + r = t; + g = w; + b = val; + break; + case 5: + r = val; + g = w; + b = q; + break; + } + } + } + + private static void get_average_color (Gdk.Pixbuf source, out uint red, out uint green, out uint blue) + { + int num_channels = source.get_n_channels (); + int width = source.get_width (); + int height = source.get_height (); + int rowstride = source.get_rowstride (); + float r, g, b, a, hue, sat, val; + unowned uchar[] pixels = source.get_pixels (); + + assert (source.get_colorspace () == Gdk.Colorspace.RGB); + assert (source.get_bits_per_sample () == 8); + assert (source.get_has_alpha ()); + assert (num_channels == 4); + + double r_total, g_total, b_total; + r_total = g_total = b_total = 0.0; + + int i = 0; + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) + { + int pix_index = i + (x*4); + r = pixels[pix_index + 0] / 256.0f; + g = pixels[pix_index + 1] / 256.0f; + b = pixels[pix_index + 2] / 256.0f; + a = pixels[pix_index + 3] / 256.0f; + + if (a < 1.0 / 256.0) + continue; + + LauncherView.rgb_to_hsv (r, g, b, out hue, out sat, out val); + // we now have the saturation and value! wewt. + r_total += (r * sat) * a; + g_total += (g * sat) * a; + b_total += (b * sat) * a; + } + i = y * (width * 4) + rowstride; + } + // okay we should now have a large value in our totals + r_total = r_total / (width * height); + g_total = g_total / (width * height); + b_total = b_total / (width * height); + + // get a new super saturated value based on our totals + LauncherView.rgb_to_hsv ((float)r_total, (float)g_total, (float)b_total, out hue, out sat, out val); + LauncherView.hsv_to_rgb (hue, Math.fminf (sat + 0.6f, 1.0f), 0.5f, out r, out g, out b); + + red = (uint)(r * 255); + green = (uint)(g * 255); + blue = (uint)(b * 255); + } + private void notify_on_icon () { + string process_name = "IconBuild-favorite" + this.get_name (); if (this.model.icon is Gdk.Pixbuf) { - this.icon.set_from_pixbuf (this.model.icon); - } - else - { - this.icon.set_from_stock (Gtk.STOCK_MISSING_IMAGE); + this.icon.destroy (); + Gdk.Pixbuf scaled_buf; + LOGGER_START_PROCESS (process_name); + if ( this.model.icon.get_width () > 48 || this.model.icon.get_height () > 48) + scaled_buf = this.model.icon.scale_simple (48, 48, Gdk.InterpType.HYPER); + else + scaled_buf = this.model.icon; + + if (this.model.do_shadow) + { + this.icon = new Ctk.Image.from_pixbuf (48, scaled_buf); + } + else + { + Gdk.Pixbuf color_buf = new Gdk.Pixbuf (Gdk.Colorspace.RGB, true, 8, 1, 1); + uint red, green, blue; + this.get_average_color (scaled_buf, out red, out green, out blue); + unowned uchar[] pixels = color_buf.get_pixels (); + pixels[0] = (uchar)red; + pixels[1] = (uchar)green; + pixels[2] = (uchar)blue; + pixels[3] = 128; + + var tex = GtkClutter.texture_new_from_pixbuf (scaled_buf); + var color = GtkClutter.texture_new_from_pixbuf (color_buf); + + this.icon = new UnityIcon (tex as Clutter.Texture, color as Clutter.Texture); + + } + this.icon.set_parent (this); + LOGGER_END_PROCESS (process_name); + this.effect_drop_shadow = new Ctk.EffectDropShadow (5.0f, 0, 2); + effect_drop_shadow.set_opacity (0.4f); + this.effect_drop_shadow.set_margin (5); + this.icon.add_effect (effect_drop_shadow); + this.do_queue_redraw (); } } @@ -619,8 +801,15 @@ namespace Unity.Quicklauncher } else { - if (controller.is_in_label) - controller.close_menu (); + if (this.menu_state == LauncherViewMenuState.NO_MENU && + controller.menu_is_open ()) + { + controller.close_menu (); + } + else if (controller.is_in_label) + { + controller.close_menu (); + } } } @@ -645,7 +834,11 @@ namespace Unity.Quicklauncher private bool on_mouse_leave(Clutter.Event src) { this.is_hovering = false; - this.menu_state = LauncherViewMenuState.NO_MENU; + if (this.menu_state != LauncherViewMenuState.MENU_CLOSE_WHEN_LEAVE && + this.menu_state != LauncherViewMenuState.MENU) + { + this.menu_state = LauncherViewMenuState.NO_MENU; + } this.ensure_menu_state (); return false; } @@ -684,7 +877,6 @@ namespace Unity.Quicklauncher private bool on_pressed(Clutter.Event src) { - var bevent = src.button; switch (bevent.button) { @@ -715,14 +907,13 @@ namespace Unity.Quicklauncher { this.clicked (); - return true; + return false; } if (bevent.button ==1) debug ("Event not handled: %d %d", (int)bevent.time, (int)last_pressed_time); - return false; } diff --git a/src/quicklauncher/quicklauncher-manager.c b/src/quicklauncher/quicklauncher-manager.c index 9824a6bde..d5c190d7a 100644 --- a/src/quicklauncher/quicklauncher-manager.c +++ b/src/quicklauncher/quicklauncher-manager.c @@ -181,9 +181,6 @@ enum { UNITY_QUICKLAUNCHER_MANAGER_DUMMY_PROPERTY, UNITY_QUICKLAUNCHER_MANAGER_ACTIVE_LAUNCHER }; -static void unity_quicklauncher_manager_handle_session_application (UnityQuicklauncherManager* self, LauncherApplication* app); -static void _unity_quicklauncher_manager_handle_session_application_launcher_session_application_opened (LauncherSession* _sender, LauncherApplication* application, gpointer self); -static gboolean unity_quicklauncher_manager_ensure_model_windows (UnityQuicklauncherManager* self); static void unity_quicklauncher_manager_build_favorites (UnityQuicklauncherManager* self); static void unity_quicklauncher_manager_on_favorite_change (UnityQuicklauncherManager* self, GConfEngine* client, guint cnxn_id, GConfEntry* entry); static GConfClient* unity_quicklauncher_manager_get_gconf_client (UnityQuicklauncherManager* self); @@ -206,6 +203,7 @@ float unity_quicklauncher_models_launcher_model_get_priority (UnityQuicklauncher static float unity_quicklauncher_manager_get_last_priority (UnityQuicklauncherManager* self); gboolean unity_quicklauncher_models_launcher_model_get_is_sticky (UnityQuicklauncherModelsLauncherModel* self); void unity_quicklauncher_models_launcher_model_set_priority (UnityQuicklauncherModelsLauncherModel* self, float value); +static void unity_quicklauncher_manager_handle_session_application (UnityQuicklauncherManager* self, LauncherApplication* app); UnityQuicklauncherLauncherView* unity_quicklauncher_launcher_view_new (UnityQuicklauncherModelsLauncherModel* model); UnityQuicklauncherLauncherView* unity_quicklauncher_launcher_view_construct (GType object_type, UnityQuicklauncherModelsLauncherModel* model); gboolean unity_quicklauncher_models_launcher_model_get_is_fixed (UnityQuicklauncherModelsLauncherModel* self); @@ -224,12 +222,12 @@ UnityQuicklauncherManager* unity_quicklauncher_manager_new (void); UnityQuicklauncherManager* unity_quicklauncher_manager_construct (GType object_type); UnityWidgetsScroller* unity_widgets_scroller_new (CtkOrientation orientation, gint spacing); UnityWidgetsScroller* unity_widgets_scroller_construct (GType object_type, CtkOrientation orientation, gint spacing); +static void _unity_quicklauncher_manager_handle_session_application_launcher_session_application_opened (LauncherSession* _sender, LauncherApplication* application, gpointer self); static gboolean _unity_quicklauncher_manager_on_drag_motion_ctk_actor_drag_motion (CtkActor* _sender, GdkDragContext* context, gint x, gint y, guint time_, gpointer self); static gboolean _unity_quicklauncher_manager_on_drag_drop_ctk_actor_drag_drop (CtkActor* _sender, GdkDragContext* context, gint x, gint y, guint time_, gpointer self); static void _unity_quicklauncher_manager_on_drag_data_received_ctk_actor_drag_data_received (CtkActor* _sender, GdkDragContext* context, gint x, gint y, GtkSelectionData* data, guint info, guint time_, gpointer self); static void _unity_quicklauncher_manager_on_webicon_built_unity_shell_need_new_icon_cache (UnityShell* _sender, gpointer self); static void _unity_quicklauncher_manager_on_favorite_change_gconf_notify_func (GConfEngine* conf, guint cnxn_id, GConfEntry* entry, gpointer self); -static gboolean _unity_quicklauncher_manager_ensure_model_windows_gsource_func (gpointer self); static GObject * unity_quicklauncher_manager_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); static void unity_quicklauncher_manager_finalize (GObject* obj); static void unity_quicklauncher_manager_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); @@ -242,159 +240,61 @@ static int _vala_strcmp0 (const char * str1, const char * str2); static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); -static gpointer _g_object_ref0 (gpointer self) { - return self ? g_object_ref (self) : NULL; -} - - -#line 392 "quicklauncher-manager.vala" -static void _unity_quicklauncher_manager_handle_session_application_launcher_session_application_opened (LauncherSession* _sender, LauncherApplication* application, gpointer self) { -#line 253 "quicklauncher-manager.c" - unity_quicklauncher_manager_handle_session_application (self, application); -} - - -#line 106 "quicklauncher-manager.vala" -static gboolean unity_quicklauncher_manager_ensure_model_windows (UnityQuicklauncherManager* self) { -#line 260 "quicklauncher-manager.c" - gboolean result; - LauncherAppman* appman; - GSequence* applications; -#line 106 "quicklauncher-manager.vala" - g_return_val_if_fail (self != NULL, FALSE); -#line 266 "quicklauncher-manager.c" - { - GeeIterator* _app_it; - _app_it = gee_abstract_collection_iterator ((GeeAbstractCollection*) self->priv->launcher_apps); -#line 108 "quicklauncher-manager.vala" - while (TRUE) { -#line 272 "quicklauncher-manager.c" - LauncherApplication* app; -#line 108 "quicklauncher-manager.vala" - if (!gee_iterator_next (_app_it)) { -#line 108 "quicklauncher-manager.vala" - break; -#line 278 "quicklauncher-manager.c" - } -#line 108 "quicklauncher-manager.vala" - app = (LauncherApplication*) gee_iterator_get (_app_it); -#line 110 "quicklauncher-manager.vala" - launcher_application_update_windows (app); -#line 284 "quicklauncher-manager.c" - _g_object_unref0 (app); - } - _g_object_unref0 (_app_it); - } -#line 116 "quicklauncher-manager.vala" - appman = _g_object_ref0 (launcher_appman_get_default ()); -#line 117 "quicklauncher-manager.vala" - applications = launcher_appman_get_applications (appman); -#line 293 "quicklauncher-manager.c" - { - GSequenceIter* iter; -#line 118 "quicklauncher-manager.vala" - iter = g_sequence_get_begin_iter (applications); -#line 298 "quicklauncher-manager.c" - { - gboolean _tmp0_; -#line 118 "quicklauncher-manager.vala" - _tmp0_ = TRUE; -#line 118 "quicklauncher-manager.vala" - while (TRUE) { -#line 305 "quicklauncher-manager.c" - LauncherApplication* app; -#line 118 "quicklauncher-manager.vala" - if (!_tmp0_) { -#line 118 "quicklauncher-manager.vala" - iter = g_sequence_iter_next (iter); -#line 311 "quicklauncher-manager.c" - } -#line 118 "quicklauncher-manager.vala" - _tmp0_ = FALSE; -#line 118 "quicklauncher-manager.vala" - if (!(!g_sequence_iter_is_end (iter))) { -#line 118 "quicklauncher-manager.vala" - break; -#line 319 "quicklauncher-manager.c" - } -#line 120 "quicklauncher-manager.vala" - app = _g_object_ref0 ((LauncherApplication*) g_sequence_get (iter)); -#line 121 "quicklauncher-manager.vala" - if (!gee_abstract_collection_contains ((GeeAbstractCollection*) self->priv->launcher_apps, app)) { -#line 124 "quicklauncher-manager.vala" - unity_quicklauncher_manager_handle_session_application (self, app); -#line 327 "quicklauncher-manager.c" - } - _g_object_unref0 (app); - } - } - } -#line 128 "quicklauncher-manager.vala" - g_signal_connect_object (self->priv->session, "application-opened", (GCallback) _unity_quicklauncher_manager_handle_session_application_launcher_session_application_opened, self, 0); -#line 335 "quicklauncher-manager.c" - result = FALSE; - _g_object_unref0 (appman); -#line 129 "quicklauncher-manager.vala" - return result; -#line 340 "quicklauncher-manager.c" -} - - -#line 132 "quicklauncher-manager.vala" +#line 103 "quicklauncher-manager.vala" static void unity_quicklauncher_manager_on_favorite_change (UnityQuicklauncherManager* self, GConfEngine* client, guint cnxn_id, GConfEntry* entry) { -#line 132 "quicklauncher-manager.vala" +#line 103 "quicklauncher-manager.vala" g_return_if_fail (self != NULL); -#line 132 "quicklauncher-manager.vala" +#line 103 "quicklauncher-manager.vala" g_return_if_fail (client != NULL); -#line 132 "quicklauncher-manager.vala" +#line 103 "quicklauncher-manager.vala" g_return_if_fail (entry != NULL); -#line 134 "quicklauncher-manager.vala" +#line 105 "quicklauncher-manager.vala" unity_quicklauncher_manager_build_favorites (self); -#line 354 "quicklauncher-manager.c" +#line 254 "quicklauncher-manager.c" } -#line 138 "quicklauncher-manager.vala" +#line 109 "quicklauncher-manager.vala" static char* unity_quicklauncher_manager_get_webapp_device (UnityQuicklauncherManager* self) { -#line 360 "quicklauncher-manager.c" +#line 260 "quicklauncher-manager.c" char* result; GError * _inner_error_; -#line 138 "quicklauncher-manager.vala" +#line 109 "quicklauncher-manager.vala" g_return_val_if_fail (self != NULL, NULL); -#line 365 "quicklauncher-manager.c" +#line 265 "quicklauncher-manager.c" _inner_error_ = NULL; { gboolean dir_exists; -#line 142 "quicklauncher-manager.vala" +#line 113 "quicklauncher-manager.vala" dir_exists = gconf_client_dir_exists (unity_quicklauncher_manager_get_gconf_client (self), UNITY_UNITY_CONF_PATH, &_inner_error_); -#line 371 "quicklauncher-manager.c" +#line 271 "quicklauncher-manager.c" if (_inner_error_ != NULL) { - goto __catch31_g_error; + goto __catch33_g_error; } -#line 143 "quicklauncher-manager.vala" +#line 114 "quicklauncher-manager.vala" if (!dir_exists) { -#line 146 "quicklauncher-manager.vala" +#line 117 "quicklauncher-manager.vala" gconf_client_add_dir (unity_quicklauncher_manager_get_gconf_client (self), UNITY_UNITY_CONF_PATH, GCONF_CLIENT_PRELOAD_NONE, &_inner_error_); -#line 379 "quicklauncher-manager.c" +#line 279 "quicklauncher-manager.c" if (_inner_error_ != NULL) { - goto __catch31_g_error; + goto __catch33_g_error; } } } - goto __finally31; - __catch31_g_error: + goto __finally33; + __catch33_g_error: { GError * e; e = _inner_error_; _inner_error_ = NULL; { -#line 151 "quicklauncher-manager.vala" - g_warning ("quicklauncher-manager.vala:151: %s", e->message); -#line 394 "quicklauncher-manager.c" +#line 122 "quicklauncher-manager.vala" + g_warning ("quicklauncher-manager.vala:122: %s", e->message); +#line 294 "quicklauncher-manager.c" _g_error_free0 (e); } } - __finally31: + __finally33: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); @@ -402,23 +302,23 @@ static char* unity_quicklauncher_manager_get_webapp_device (UnityQuicklauncherMa } { gboolean value; -#line 155 "quicklauncher-manager.vala" +#line 126 "quicklauncher-manager.vala" value = gconf_client_get_bool (unity_quicklauncher_manager_get_gconf_client (self), UNITY_UNITY_CONF_PATH "/launcher/webapp_use_chromium", &_inner_error_); -#line 408 "quicklauncher-manager.c" +#line 308 "quicklauncher-manager.c" if (_inner_error_ != NULL) { - goto __catch32_g_error; + goto __catch34_g_error; } -#line 156 "quicklauncher-manager.vala" +#line 127 "quicklauncher-manager.vala" if (value) { -#line 414 "quicklauncher-manager.c" +#line 314 "quicklauncher-manager.c" result = g_strdup ("chromium"); -#line 158 "quicklauncher-manager.vala" +#line 129 "quicklauncher-manager.vala" return result; -#line 418 "quicklauncher-manager.c" +#line 318 "quicklauncher-manager.c" } } - goto __finally32; - __catch32_g_error: + goto __finally34; + __catch34_g_error: { GError * e; e = _inner_error_; @@ -426,55 +326,55 @@ static char* unity_quicklauncher_manager_get_webapp_device (UnityQuicklauncherMa { result = g_strdup ("prism"); _g_error_free0 (e); -#line 162 "quicklauncher-manager.vala" +#line 133 "quicklauncher-manager.vala" return result; -#line 432 "quicklauncher-manager.c" +#line 332 "quicklauncher-manager.c" } } - __finally32: + __finally34: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return NULL; } result = g_strdup ("prism"); -#line 164 "quicklauncher-manager.vala" +#line 135 "quicklauncher-manager.vala" return result; -#line 444 "quicklauncher-manager.c" +#line 344 "quicklauncher-manager.c" } -#line 167 "quicklauncher-manager.vala" +#line 138 "quicklauncher-manager.vala" static gboolean unity_quicklauncher_manager_on_drag_motion (UnityQuicklauncherManager* self, CtkActor* actor, GdkDragContext* context, gint x, gint y, guint time_) { -#line 450 "quicklauncher-manager.c" +#line 350 "quicklauncher-manager.c" gboolean result; -#line 167 "quicklauncher-manager.vala" +#line 138 "quicklauncher-manager.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 167 "quicklauncher-manager.vala" +#line 138 "quicklauncher-manager.vala" g_return_val_if_fail (actor != NULL, FALSE); -#line 167 "quicklauncher-manager.vala" +#line 138 "quicklauncher-manager.vala" g_return_val_if_fail (context != NULL, FALSE); -#line 458 "quicklauncher-manager.c" +#line 358 "quicklauncher-manager.c" result = TRUE; -#line 170 "quicklauncher-manager.vala" +#line 141 "quicklauncher-manager.vala" return result; -#line 462 "quicklauncher-manager.c" +#line 362 "quicklauncher-manager.c" } -#line 173 "quicklauncher-manager.vala" +#line 144 "quicklauncher-manager.vala" static gboolean unity_quicklauncher_manager_on_drag_drop (UnityQuicklauncherManager* self, CtkActor* actor, GdkDragContext* context, gint x, gint y, guint time_) { -#line 468 "quicklauncher-manager.c" +#line 368 "quicklauncher-manager.c" gboolean result; -#line 173 "quicklauncher-manager.vala" +#line 144 "quicklauncher-manager.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 173 "quicklauncher-manager.vala" +#line 144 "quicklauncher-manager.vala" g_return_val_if_fail (actor != NULL, FALSE); -#line 173 "quicklauncher-manager.vala" +#line 144 "quicklauncher-manager.vala" g_return_val_if_fail (context != NULL, FALSE); -#line 176 "quicklauncher-manager.vala" +#line 147 "quicklauncher-manager.vala" if (context->targets != NULL) { -#line 478 "quicklauncher-manager.c" +#line 378 "quicklauncher-manager.c" GtkTargetList* tl; GdkAtom target_type; GtkTargetEntry* _tmp0_; @@ -484,187 +384,187 @@ static gboolean unity_quicklauncher_manager_on_drag_drop (UnityQuicklauncherMana GtkTargetList* _tmp1_; tl = NULL; targets = (_tmp0_ = NULL, targets_length1 = 0, targets_size = targets_length1, _tmp0_); -#line 183 "quicklauncher-manager.vala" +#line 154 "quicklauncher-manager.vala" tl = (_tmp1_ = gtk_target_list_new (targets, targets_length1), _gtk_target_list_unref0 (tl), _tmp1_); -#line 184 "quicklauncher-manager.vala" +#line 155 "quicklauncher-manager.vala" gtk_target_list_add_uri_targets (tl, (guint) 0); -#line 186 "quicklauncher-manager.vala" +#line 157 "quicklauncher-manager.vala" target_type = ctk_drag_dest_find_target (context, tl); -#line 188 "quicklauncher-manager.vala" +#line 159 "quicklauncher-manager.vala" if (_vala_strcmp0 (gdk_atom_name (target_type), "") == 0) { -#line 496 "quicklauncher-manager.c" +#line 396 "quicklauncher-manager.c" result = FALSE; _gtk_target_list_unref0 (tl); targets = (g_free (targets), NULL); -#line 190 "quicklauncher-manager.vala" +#line 161 "quicklauncher-manager.vala" return result; -#line 502 "quicklauncher-manager.c" +#line 402 "quicklauncher-manager.c" } -#line 192 "quicklauncher-manager.vala" +#line 163 "quicklauncher-manager.vala" ctk_drag_get_data (actor, context, target_type, (guint32) time_); -#line 193 "quicklauncher-manager.vala" +#line 164 "quicklauncher-manager.vala" target_type = (GdkAtom) g_list_nth_data (context->targets, (guint) UNITY_DND_TARGETS_TARGET_STRING); -#line 194 "quicklauncher-manager.vala" +#line 165 "quicklauncher-manager.vala" if (_vala_strcmp0 (gdk_atom_name (target_type), "") == 0) { -#line 510 "quicklauncher-manager.c" +#line 410 "quicklauncher-manager.c" result = FALSE; _gtk_target_list_unref0 (tl); targets = (g_free (targets), NULL); -#line 196 "quicklauncher-manager.vala" +#line 167 "quicklauncher-manager.vala" return result; -#line 516 "quicklauncher-manager.c" +#line 416 "quicklauncher-manager.c" } -#line 198 "quicklauncher-manager.vala" +#line 169 "quicklauncher-manager.vala" ctk_drag_get_data (actor, context, target_type, (guint32) time_); -#line 520 "quicklauncher-manager.c" +#line 420 "quicklauncher-manager.c" _gtk_target_list_unref0 (tl); targets = (g_free (targets), NULL); } else { result = FALSE; -#line 201 "quicklauncher-manager.vala" +#line 172 "quicklauncher-manager.vala" return result; -#line 527 "quicklauncher-manager.c" +#line 427 "quicklauncher-manager.c" } result = TRUE; -#line 203 "quicklauncher-manager.vala" +#line 174 "quicklauncher-manager.vala" return result; -#line 532 "quicklauncher-manager.c" +#line 432 "quicklauncher-manager.c" } -#line 206 "quicklauncher-manager.vala" +#line 177 "quicklauncher-manager.vala" static void unity_quicklauncher_manager_on_drag_data_received (UnityQuicklauncherManager* self, CtkActor* actor, GdkDragContext* context, gint x, gint y, GtkSelectionData* data, guint target_type, guint time_) { -#line 538 "quicklauncher-manager.c" +#line 438 "quicklauncher-manager.c" gboolean dnd_success; gboolean delete_selection_data; gboolean _tmp0_ = FALSE; -#line 206 "quicklauncher-manager.vala" +#line 177 "quicklauncher-manager.vala" g_return_if_fail (self != NULL); -#line 206 "quicklauncher-manager.vala" +#line 177 "quicklauncher-manager.vala" g_return_if_fail (actor != NULL); -#line 206 "quicklauncher-manager.vala" +#line 177 "quicklauncher-manager.vala" g_return_if_fail (context != NULL); -#line 206 "quicklauncher-manager.vala" +#line 177 "quicklauncher-manager.vala" g_return_if_fail (data != NULL); -#line 211 "quicklauncher-manager.vala" +#line 182 "quicklauncher-manager.vala" dnd_success = FALSE; -#line 212 "quicklauncher-manager.vala" +#line 183 "quicklauncher-manager.vala" delete_selection_data = FALSE; -#line 214 "quicklauncher-manager.vala" +#line 185 "quicklauncher-manager.vala" if (data != NULL) { -#line 214 "quicklauncher-manager.vala" +#line 185 "quicklauncher-manager.vala" _tmp0_ = data->length >= 0; -#line 558 "quicklauncher-manager.c" +#line 458 "quicklauncher-manager.c" } else { -#line 214 "quicklauncher-manager.vala" +#line 185 "quicklauncher-manager.vala" _tmp0_ = FALSE; -#line 562 "quicklauncher-manager.c" +#line 462 "quicklauncher-manager.c" } -#line 214 "quicklauncher-manager.vala" +#line 185 "quicklauncher-manager.vala" if (_tmp0_) { -#line 215 "quicklauncher-manager.vala" +#line 186 "quicklauncher-manager.vala" if (context->action == GDK_ACTION_MOVE) { -#line 216 "quicklauncher-manager.vala" +#line 187 "quicklauncher-manager.vala" delete_selection_data = TRUE; -#line 570 "quicklauncher-manager.c" +#line 470 "quicklauncher-manager.c" } -#line 219 "quicklauncher-manager.vala" +#line 190 "quicklauncher-manager.vala" switch (target_type) { -#line 574 "quicklauncher-manager.c" +#line 474 "quicklauncher-manager.c" case UNITY_DND_TARGETS_TARGET_URL: { -#line 222 "quicklauncher-manager.vala" +#line 193 "quicklauncher-manager.vala" dnd_success = unity_quicklauncher_manager_handle_uri (self, (const char*) data->data); -#line 223 "quicklauncher-manager.vala" +#line 194 "quicklauncher-manager.vala" break; -#line 581 "quicklauncher-manager.c" +#line 481 "quicklauncher-manager.c" } default: { -#line 225 "quicklauncher-manager.vala" +#line 196 "quicklauncher-manager.vala" break; -#line 587 "quicklauncher-manager.c" +#line 487 "quicklauncher-manager.c" } } } -#line 229 "quicklauncher-manager.vala" +#line 200 "quicklauncher-manager.vala" if (dnd_success == FALSE) { -#line 593 "quicklauncher-manager.c" +#line 493 "quicklauncher-manager.c" } -#line 231 "quicklauncher-manager.vala" +#line 202 "quicklauncher-manager.vala" gtk_drag_finish (context, dnd_success, delete_selection_data, (guint32) time_); -#line 597 "quicklauncher-manager.c" +#line 497 "quicklauncher-manager.c" } -#line 234 "quicklauncher-manager.vala" +#line 205 "quicklauncher-manager.vala" static gboolean unity_quicklauncher_manager_test_url (UnityQuicklauncherManager* self, const char* url) { -#line 603 "quicklauncher-manager.c" +#line 503 "quicklauncher-manager.c" gboolean result; GError * _inner_error_; -#line 234 "quicklauncher-manager.vala" +#line 205 "quicklauncher-manager.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 234 "quicklauncher-manager.vala" +#line 205 "quicklauncher-manager.vala" g_return_val_if_fail (url != NULL, FALSE); -#line 610 "quicklauncher-manager.c" +#line 510 "quicklauncher-manager.c" _inner_error_ = NULL; { GRegex* match_url; -#line 238 "quicklauncher-manager.vala" +#line 209 "quicklauncher-manager.vala" match_url = g_regex_new ("((https?|s?ftp):((//)|(\\\\\\\\))+[\\w\\d:#@%/;$()~_?\\+-=\\\\\\.&]*)", 0, 0, &_inner_error_); -#line 616 "quicklauncher-manager.c" +#line 516 "quicklauncher-manager.c" if (_inner_error_ != NULL) { if (_inner_error_->domain == G_REGEX_ERROR) { - goto __catch33_g_regex_error; + goto __catch35_g_regex_error; } g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return FALSE; } -#line 241 "quicklauncher-manager.vala" +#line 212 "quicklauncher-manager.vala" if (g_regex_match (match_url, url, 0, NULL)) { -#line 627 "quicklauncher-manager.c" +#line 527 "quicklauncher-manager.c" result = TRUE; _g_regex_unref0 (match_url); -#line 243 "quicklauncher-manager.vala" +#line 214 "quicklauncher-manager.vala" return result; -#line 632 "quicklauncher-manager.c" +#line 532 "quicklauncher-manager.c" } _g_regex_unref0 (match_url); } - goto __finally33; - __catch33_g_regex_error: + goto __finally35; + __catch35_g_regex_error: { GError * e; e = _inner_error_; _inner_error_ = NULL; { -#line 247 "quicklauncher-manager.vala" - g_warning ("quicklauncher-manager.vala:247: %s", e->message); -#line 645 "quicklauncher-manager.c" +#line 218 "quicklauncher-manager.vala" + g_warning ("quicklauncher-manager.vala:218: %s", e->message); +#line 545 "quicklauncher-manager.c" result = FALSE; _g_error_free0 (e); -#line 248 "quicklauncher-manager.vala" +#line 219 "quicklauncher-manager.vala" return result; -#line 650 "quicklauncher-manager.c" +#line 550 "quicklauncher-manager.c" } } - __finally33: + __finally35: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return FALSE; } result = FALSE; -#line 250 "quicklauncher-manager.vala" +#line 221 "quicklauncher-manager.vala" return result; -#line 662 "quicklauncher-manager.c" +#line 562 "quicklauncher-manager.c" } #line 895 "glib-2.0.vapi" static char* string_strip (const char* self) { -#line 668 "quicklauncher-manager.c" +#line 568 "quicklauncher-manager.c" char* result; char* _result_; #line 895 "glib-2.0.vapi" @@ -673,33 +573,38 @@ static char* string_strip (const char* self) { _result_ = g_strdup (self); #line 897 "glib-2.0.vapi" g_strstrip (_result_); -#line 677 "quicklauncher-manager.c" +#line 577 "quicklauncher-manager.c" result = _result_; #line 898 "glib-2.0.vapi" return result; -#line 681 "quicklauncher-manager.c" +#line 581 "quicklauncher-manager.c" } #line 1021 "glib-2.0.vapi" static gboolean string_contains (const char* self, const char* needle) { -#line 687 "quicklauncher-manager.c" +#line 587 "quicklauncher-manager.c" gboolean result; #line 1021 "glib-2.0.vapi" g_return_val_if_fail (self != NULL, FALSE); #line 1021 "glib-2.0.vapi" g_return_val_if_fail (needle != NULL, FALSE); -#line 693 "quicklauncher-manager.c" +#line 593 "quicklauncher-manager.c" result = strstr (self, needle) != NULL; #line 1022 "glib-2.0.vapi" return result; -#line 697 "quicklauncher-manager.c" +#line 597 "quicklauncher-manager.c" } -#line 253 "quicklauncher-manager.vala" +static gpointer _g_object_ref0 (gpointer self) { + return self ? g_object_ref (self) : NULL; +} + + +#line 224 "quicklauncher-manager.vala" static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManager* self, const char* uri) { -#line 703 "quicklauncher-manager.c" +#line 608 "quicklauncher-manager.c" gboolean result; GError * _inner_error_; gint _tmp3__length1; @@ -716,38 +621,38 @@ static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManage gint split_uri_length1; char** _tmp8_; char** split_uri; -#line 253 "quicklauncher-manager.vala" +#line 224 "quicklauncher-manager.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 253 "quicklauncher-manager.vala" +#line 224 "quicklauncher-manager.vala" g_return_val_if_fail (uri != NULL, FALSE); -#line 724 "quicklauncher-manager.c" +#line 629 "quicklauncher-manager.c" _inner_error_ = NULL; -#line 255 "quicklauncher-manager.vala" +#line 226 "quicklauncher-manager.vala" clean_uri = (_tmp4_ = g_strdup ((_tmp3_ = _tmp2_ = g_strsplit ((_tmp1_ = _tmp0_ = g_strsplit (uri, "\n", 2), _tmp1__length1 = _vala_array_length (_tmp0_), _tmp1_)[0], "\r", 2), _tmp3__length1 = _vala_array_length (_tmp2_), _tmp3_)[0]), _tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL), _tmp1_ = (_vala_array_free (_tmp1_, _tmp1__length1, (GDestroyNotify) g_free), NULL), _tmp4_); -#line 728 "quicklauncher-manager.c" +#line 633 "quicklauncher-manager.c" { GRegex* regex; char* _tmp5_; char* _tmp6_; -#line 257 "quicklauncher-manager.vala" +#line 228 "quicklauncher-manager.vala" regex = g_regex_new ("\\s", 0, 0, &_inner_error_); -#line 735 "quicklauncher-manager.c" +#line 640 "quicklauncher-manager.c" if (_inner_error_ != NULL) { if (_inner_error_->domain == G_REGEX_ERROR) { - goto __catch34_g_regex_error; + goto __catch36_g_regex_error; } _g_free0 (clean_uri); g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return FALSE; } -#line 258 "quicklauncher-manager.vala" +#line 229 "quicklauncher-manager.vala" _tmp5_ = g_regex_replace (regex, clean_uri, (gssize) (-1), 0, "", 0, &_inner_error_); -#line 747 "quicklauncher-manager.c" +#line 652 "quicklauncher-manager.c" if (_inner_error_ != NULL) { _g_regex_unref0 (regex); if (_inner_error_->domain == G_REGEX_ERROR) { - goto __catch34_g_regex_error; + goto __catch36_g_regex_error; } _g_regex_unref0 (regex); _g_free0 (clean_uri); @@ -755,39 +660,39 @@ static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManage g_clear_error (&_inner_error_); return FALSE; } -#line 258 "quicklauncher-manager.vala" +#line 229 "quicklauncher-manager.vala" clean_uri = (_tmp6_ = _tmp5_, _g_free0 (clean_uri), _tmp6_); -#line 761 "quicklauncher-manager.c" +#line 666 "quicklauncher-manager.c" _g_regex_unref0 (regex); } - goto __finally34; - __catch34_g_regex_error: + goto __finally36; + __catch36_g_regex_error: { GError * e; e = _inner_error_; _inner_error_ = NULL; { -#line 260 "quicklauncher-manager.vala" - g_warning ("quicklauncher-manager.vala:260: %s", e->message); -#line 773 "quicklauncher-manager.c" +#line 231 "quicklauncher-manager.vala" + g_warning ("quicklauncher-manager.vala:231: %s", e->message); +#line 678 "quicklauncher-manager.c" _g_error_free0 (e); } } - __finally34: + __finally36: if (_inner_error_ != NULL) { _g_free0 (clean_uri); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return FALSE; } -#line 262 "quicklauncher-manager.vala" +#line 233 "quicklauncher-manager.vala" _tmp7_ = string_strip (clean_uri); -#line 786 "quicklauncher-manager.c" +#line 691 "quicklauncher-manager.c" _g_free0 (_tmp7_); split_uri = (_tmp9_ = _tmp8_ = g_strsplit (clean_uri, "://", 2), split_uri_length1 = _vala_array_length (_tmp8_), split_uri_size = split_uri_length1, _tmp9_); -#line 264 "quicklauncher-manager.vala" +#line 235 "quicklauncher-manager.vala" if (unity_quicklauncher_manager_test_url (self, clean_uri)) { -#line 791 "quicklauncher-manager.c" +#line 696 "quicklauncher-manager.c" char* icon_dirstring; GFile* icon_directory; char** _tmp11_; @@ -804,24 +709,24 @@ static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManage char* _tmp18_; char* _tmp17_; char* _tmp16_; -#line 267 "quicklauncher-manager.vala" +#line 238 "quicklauncher-manager.vala" icon_dirstring = g_strconcat (g_get_home_dir (), "/.local/share/icons/", NULL); -#line 268 "quicklauncher-manager.vala" +#line 239 "quicklauncher-manager.vala" icon_directory = g_file_new_for_path (icon_dirstring); -#line 812 "quicklauncher-manager.c" +#line 717 "quicklauncher-manager.c" { -#line 270 "quicklauncher-manager.vala" +#line 241 "quicklauncher-manager.vala" if (!g_file_query_exists (icon_directory, NULL)) { -#line 272 "quicklauncher-manager.vala" +#line 243 "quicklauncher-manager.vala" g_file_make_directory_with_parents (icon_directory, NULL, &_inner_error_); -#line 818 "quicklauncher-manager.c" +#line 723 "quicklauncher-manager.c" if (_inner_error_ != NULL) { - goto __catch35_g_error; + goto __catch37_g_error; } } } - goto __finally35; - __catch35_g_error: + goto __finally37; + __catch37_g_error: { GError * e; e = _inner_error_; @@ -830,7 +735,7 @@ static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManage _g_error_free0 (e); } } - __finally35: + __finally37: if (_inner_error_ != NULL) { _g_free0 (icon_dirstring); _g_object_unref0 (icon_directory); @@ -841,21 +746,21 @@ static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManage return FALSE; } split_url = (_tmp11_ = _tmp10_ = g_strsplit (clean_uri, "://", 2), split_url_length1 = _vala_array_length (_tmp10_), split_url_size = split_url_length1, _tmp11_); -#line 278 "quicklauncher-manager.vala" +#line 249 "quicklauncher-manager.vala" name = g_strdup (split_url[1]); -#line 279 "quicklauncher-manager.vala" +#line 250 "quicklauncher-manager.vala" hostname = unity_webapp_get_hostname (clean_uri); -#line 849 "quicklauncher-manager.c" +#line 754 "quicklauncher-manager.c" { GRegex* regex; char* _tmp12_; char* _tmp13_; -#line 282 "quicklauncher-manager.vala" +#line 253 "quicklauncher-manager.vala" regex = g_regex_new ("(/)", 0, 0, &_inner_error_); -#line 856 "quicklauncher-manager.c" +#line 761 "quicklauncher-manager.c" if (_inner_error_ != NULL) { if (_inner_error_->domain == G_REGEX_ERROR) { - goto __catch36_g_regex_error; + goto __catch38_g_regex_error; } _g_free0 (icon_dirstring); _g_object_unref0 (icon_directory); @@ -868,13 +773,13 @@ static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManage g_clear_error (&_inner_error_); return FALSE; } -#line 283 "quicklauncher-manager.vala" +#line 254 "quicklauncher-manager.vala" _tmp12_ = g_regex_replace (regex, name, (gssize) (-1), 0, "-", 0, &_inner_error_); -#line 874 "quicklauncher-manager.c" +#line 779 "quicklauncher-manager.c" if (_inner_error_ != NULL) { _g_regex_unref0 (regex); if (_inner_error_->domain == G_REGEX_ERROR) { - goto __catch36_g_regex_error; + goto __catch38_g_regex_error; } _g_regex_unref0 (regex); _g_free0 (icon_dirstring); @@ -888,25 +793,25 @@ static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManage g_clear_error (&_inner_error_); return FALSE; } -#line 283 "quicklauncher-manager.vala" +#line 254 "quicklauncher-manager.vala" name = (_tmp13_ = _tmp12_, _g_free0 (name), _tmp13_); -#line 894 "quicklauncher-manager.c" +#line 799 "quicklauncher-manager.c" _g_regex_unref0 (regex); } - goto __finally36; - __catch36_g_regex_error: + goto __finally38; + __catch38_g_regex_error: { GError * e; e = _inner_error_; _inner_error_ = NULL; { -#line 285 "quicklauncher-manager.vala" - g_warning ("quicklauncher-manager.vala:285: %s", e->message); -#line 906 "quicklauncher-manager.c" +#line 256 "quicklauncher-manager.vala" + g_warning ("quicklauncher-manager.vala:256: %s", e->message); +#line 811 "quicklauncher-manager.c" _g_error_free0 (e); } } - __finally36: + __finally38: if (_inner_error_ != NULL) { _g_free0 (icon_dirstring); _g_object_unref0 (icon_directory); @@ -919,19 +824,19 @@ static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManage g_clear_error (&_inner_error_); return FALSE; } -#line 288 "quicklauncher-manager.vala" +#line 259 "quicklauncher-manager.vala" webapp = (_tmp15_ = unity_webapp_chromium_web_app_new (clean_uri, _tmp14_ = g_strconcat (hostname, ".svg", NULL)), _g_free0 (_tmp14_), _tmp15_); -#line 289 "quicklauncher-manager.vala" +#line 260 "quicklauncher-manager.vala" self->priv->webicon_fetcher = (_tmp19_ = unity_webapp_webicon_fetcher_new (clean_uri, _tmp17_ = g_strconcat (_tmp16_ = g_strconcat (icon_dirstring, hostname, NULL), ".svg", NULL), _tmp18_ = unity_webapp_chromium_web_app_desktop_file_path (webapp)), _g_object_unref0 (self->priv->webicon_fetcher), _tmp19_); -#line 927 "quicklauncher-manager.c" +#line 832 "quicklauncher-manager.c" _g_free0 (_tmp18_); _g_free0 (_tmp17_); _g_free0 (_tmp16_); -#line 292 "quicklauncher-manager.vala" +#line 263 "quicklauncher-manager.vala" unity_webapp_webicon_fetcher_fetch_webapp_data (self->priv->webicon_fetcher); -#line 293 "quicklauncher-manager.vala" +#line 264 "quicklauncher-manager.vala" unity_webapp_chromium_web_app_add_to_favorites (webapp); -#line 935 "quicklauncher-manager.c" +#line 840 "quicklauncher-manager.c" _g_free0 (icon_dirstring); _g_object_unref0 (icon_directory); split_url = (_vala_array_free (split_url, split_url_length1, (GDestroyNotify) g_free), NULL); @@ -941,46 +846,46 @@ static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManage } else { char* _tmp20_; gboolean _tmp21_; -#line 296 "quicklauncher-manager.vala" +#line 267 "quicklauncher-manager.vala" if ((_tmp21_ = string_contains (_tmp20_ = g_path_get_basename (clean_uri), ".desktop"), _g_free0 (_tmp20_), _tmp21_)) { -#line 947 "quicklauncher-manager.c" +#line 852 "quicklauncher-manager.c" LauncherFavorites* favorites; char* _tmp22_; char* _tmp23_; char* uid; { GKeyFile* desktop_file; -#line 301 "quicklauncher-manager.vala" +#line 272 "quicklauncher-manager.vala" desktop_file = g_key_file_new (); -#line 302 "quicklauncher-manager.vala" +#line 273 "quicklauncher-manager.vala" g_key_file_load_from_file (desktop_file, split_uri[1], 0, &_inner_error_); -#line 958 "quicklauncher-manager.c" +#line 863 "quicklauncher-manager.c" if (_inner_error_ != NULL) { _g_key_file_free0 (desktop_file); - goto __catch37_g_error; + goto __catch39_g_error; } _g_key_file_free0 (desktop_file); } - goto __finally37; - __catch37_g_error: + goto __finally39; + __catch39_g_error: { GError * e; e = _inner_error_; _inner_error_ = NULL; { -#line 306 "quicklauncher-manager.vala" - g_error ("quicklauncher-manager.vala:306: %s", e->message); -#line 974 "quicklauncher-manager.c" +#line 277 "quicklauncher-manager.vala" + g_error ("quicklauncher-manager.vala:277: %s", e->message); +#line 879 "quicklauncher-manager.c" result = FALSE; _g_error_free0 (e); _g_free0 (clean_uri); split_uri = (_vala_array_free (split_uri, split_uri_length1, (GDestroyNotify) g_free), NULL); -#line 307 "quicklauncher-manager.vala" +#line 278 "quicklauncher-manager.vala" return result; -#line 981 "quicklauncher-manager.c" +#line 886 "quicklauncher-manager.c" } } - __finally37: + __finally39: if (_inner_error_ != NULL) { _g_free0 (clean_uri); split_uri = (_vala_array_free (split_uri, split_uri_length1, (GDestroyNotify) g_free), NULL); @@ -988,62 +893,62 @@ static gboolean unity_quicklauncher_manager_handle_uri (UnityQuicklauncherManage g_clear_error (&_inner_error_); return FALSE; } -#line 310 "quicklauncher-manager.vala" +#line 281 "quicklauncher-manager.vala" favorites = _g_object_ref0 (launcher_favorites_get_default ()); -#line 311 "quicklauncher-manager.vala" +#line 282 "quicklauncher-manager.vala" uid = (_tmp23_ = g_strconcat ("app-", _tmp22_ = g_path_get_basename (clean_uri), NULL), _g_free0 (_tmp22_), _tmp23_); -#line 312 "quicklauncher-manager.vala" +#line 283 "quicklauncher-manager.vala" launcher_favorites_set_string (favorites, uid, "type", "application"); -#line 313 "quicklauncher-manager.vala" +#line 284 "quicklauncher-manager.vala" launcher_favorites_set_string (favorites, uid, "desktop_file", split_uri[1]); -#line 314 "quicklauncher-manager.vala" +#line 285 "quicklauncher-manager.vala" launcher_favorites_add_favorite (favorites, uid); -#line 1002 "quicklauncher-manager.c" +#line 907 "quicklauncher-manager.c" _g_object_unref0 (favorites); _g_free0 (uid); } else { result = FALSE; _g_free0 (clean_uri); split_uri = (_vala_array_free (split_uri, split_uri_length1, (GDestroyNotify) g_free), NULL); -#line 318 "quicklauncher-manager.vala" +#line 289 "quicklauncher-manager.vala" return result; -#line 1011 "quicklauncher-manager.c" +#line 916 "quicklauncher-manager.c" } } result = TRUE; _g_free0 (clean_uri); split_uri = (_vala_array_free (split_uri, split_uri_length1, (GDestroyNotify) g_free), NULL); -#line 322 "quicklauncher-manager.vala" +#line 293 "quicklauncher-manager.vala" return result; -#line 1019 "quicklauncher-manager.c" +#line 924 "quicklauncher-manager.c" } -#line 325 "quicklauncher-manager.vala" +#line 296 "quicklauncher-manager.vala" static void unity_quicklauncher_manager_on_webicon_built (UnityQuicklauncherManager* self) { -#line 325 "quicklauncher-manager.vala" +#line 296 "quicklauncher-manager.vala" g_return_if_fail (self != NULL); -#line 1027 "quicklauncher-manager.c" +#line 932 "quicklauncher-manager.c" { GeeSet* _tmp0_; GeeIterator* _tmp1_; GeeIterator* _model_it; _model_it = (_tmp1_ = gee_iterable_iterator ((GeeIterable*) (_tmp0_ = gee_map_get_keys ((GeeMap*) self->priv->model_map))), _g_object_unref0 (_tmp0_), _tmp1_); -#line 327 "quicklauncher-manager.vala" +#line 298 "quicklauncher-manager.vala" while (TRUE) { -#line 1035 "quicklauncher-manager.c" +#line 940 "quicklauncher-manager.c" UnityQuicklauncherModelsLauncherModel* model; -#line 327 "quicklauncher-manager.vala" +#line 298 "quicklauncher-manager.vala" if (!gee_iterator_next (_model_it)) { -#line 327 "quicklauncher-manager.vala" +#line 298 "quicklauncher-manager.vala" break; -#line 1041 "quicklauncher-manager.c" +#line 946 "quicklauncher-manager.c" } -#line 327 "quicklauncher-manager.vala" +#line 298 "quicklauncher-manager.vala" model = (UnityQuicklauncherModelsLauncherModel*) gee_iterator_get (_model_it); -#line 329 "quicklauncher-manager.vala" +#line 300 "quicklauncher-manager.vala" unity_quicklauncher_models_launcher_model_regenerate_icon (model); -#line 1047 "quicklauncher-manager.c" +#line 952 "quicklauncher-manager.c" _g_object_unref0 (model); } _g_object_unref0 (_model_it); @@ -1051,205 +956,233 @@ static void unity_quicklauncher_manager_on_webicon_built (UnityQuicklauncherMana } -#line 333 "quicklauncher-manager.vala" +#line 304 "quicklauncher-manager.vala" static void unity_quicklauncher_manager_build_favorites (UnityQuicklauncherManager* self) { -#line 1057 "quicklauncher-manager.c" +#line 962 "quicklauncher-manager.c" LauncherFavorites* favorites; GSList* favorite_list; -#line 333 "quicklauncher-manager.vala" +#line 304 "quicklauncher-manager.vala" g_return_if_fail (self != NULL); -#line 335 "quicklauncher-manager.vala" +#line 306 "quicklauncher-manager.vala" START_FUNCTION (); -#line 336 "quicklauncher-manager.vala" +#line 307 "quicklauncher-manager.vala" favorites = _g_object_ref0 (launcher_favorites_get_default ()); -#line 338 "quicklauncher-manager.vala" +#line 309 "quicklauncher-manager.vala" favorite_list = launcher_favorites_get_favorites (favorites); -#line 1068 "quicklauncher-manager.c" +#line 973 "quicklauncher-manager.c" { GSList* uid_collection; GSList* uid_it; -#line 339 "quicklauncher-manager.vala" +#line 310 "quicklauncher-manager.vala" uid_collection = favorite_list; -#line 1074 "quicklauncher-manager.c" +#line 979 "quicklauncher-manager.c" for (uid_it = uid_collection; uid_it != NULL; uid_it = uid_it->next) { const char* uid; -#line 339 "quicklauncher-manager.vala" +#line 310 "quicklauncher-manager.vala" uid = (const char*) uid_it->data; -#line 1079 "quicklauncher-manager.c" +#line 984 "quicklauncher-manager.c" { char* process_name; char* type; char* desktop_file; -#line 341 "quicklauncher-manager.vala" +#line 312 "quicklauncher-manager.vala" process_name = g_strconcat ("favorite", uid, NULL); -#line 342 "quicklauncher-manager.vala" +#line 313 "quicklauncher-manager.vala" LOGGER_START_PROCESS (process_name); -#line 344 "quicklauncher-manager.vala" +#line 315 "quicklauncher-manager.vala" type = g_strdup (launcher_favorites_get_string (favorites, uid, "type")); -#line 345 "quicklauncher-manager.vala" +#line 316 "quicklauncher-manager.vala" if (_vala_strcmp0 (type, "application") != 0) { -#line 1092 "quicklauncher-manager.c" +#line 997 "quicklauncher-manager.c" _g_free0 (process_name); _g_free0 (type); -#line 346 "quicklauncher-manager.vala" +#line 317 "quicklauncher-manager.vala" continue; -#line 1097 "quicklauncher-manager.c" +#line 1002 "quicklauncher-manager.c" } -#line 348 "quicklauncher-manager.vala" +#line 319 "quicklauncher-manager.vala" desktop_file = g_strdup (launcher_favorites_get_string (favorites, uid, "desktop_file")); -#line 349 "quicklauncher-manager.vala" +#line 320 "quicklauncher-manager.vala" g_assert (_vala_strcmp0 (desktop_file, "") != 0); -#line 350 "quicklauncher-manager.vala" +#line 321 "quicklauncher-manager.vala" if (!g_file_test (desktop_file, G_FILE_TEST_EXISTS)) { -#line 354 "quicklauncher-manager.vala" +#line 325 "quicklauncher-manager.vala" launcher_favorites_remove_favorite (favorites, uid); -#line 1107 "quicklauncher-manager.c" +#line 1012 "quicklauncher-manager.c" } else { + char* _tmp0_; LauncherApplication* application; + char* _tmp1_; + char* _tmp2_; UnityQuicklauncherModelsApplicationModel* model; + char* _tmp3_; + char* _tmp4_; UnityQuicklauncherLauncherView* view; -#line 358 "quicklauncher-manager.vala" + char* _tmp5_; +#line 329 "quicklauncher-manager.vala" + LOGGER_START_PROCESS (_tmp0_ = g_strconcat ("Launcher-", process_name, NULL)); +#line 1025 "quicklauncher-manager.c" + _g_free0 (_tmp0_); +#line 330 "quicklauncher-manager.vala" application = _g_object_ref0 (launcher_appman_get_application_for_desktop_file (self->priv->appman, desktop_file)); -#line 360 "quicklauncher-manager.vala" +#line 332 "quicklauncher-manager.vala" if (gee_abstract_collection_contains ((GeeAbstractCollection*) self->priv->launcher_apps, application)) { -#line 1116 "quicklauncher-manager.c" +#line 1031 "quicklauncher-manager.c" _g_object_unref0 (application); _g_free0 (process_name); _g_free0 (type); _g_free0 (desktop_file); -#line 361 "quicklauncher-manager.vala" +#line 333 "quicklauncher-manager.vala" continue; -#line 1123 "quicklauncher-manager.c" +#line 1038 "quicklauncher-manager.c" } -#line 362 "quicklauncher-manager.vala" +#line 334 "quicklauncher-manager.vala" gee_abstract_collection_add ((GeeAbstractCollection*) self->priv->launcher_apps, application); -#line 364 "quicklauncher-manager.vala" +#line 335 "quicklauncher-manager.vala" + LOGGER_END_PROCESS (_tmp1_ = g_strconcat ("Launcher-", process_name, NULL)); +#line 1044 "quicklauncher-manager.c" + _g_free0 (_tmp1_); +#line 337 "quicklauncher-manager.vala" + LOGGER_START_PROCESS (_tmp2_ = g_strconcat ("Model-", process_name, NULL)); +#line 1048 "quicklauncher-manager.c" + _g_free0 (_tmp2_); +#line 338 "quicklauncher-manager.vala" model = unity_quicklauncher_models_application_model_new (application); -#line 365 "quicklauncher-manager.vala" +#line 339 "quicklauncher-manager.vala" unity_quicklauncher_models_launcher_model_set_is_sticky ((UnityQuicklauncherModelsLauncherModel*) model, TRUE); -#line 366 "quicklauncher-manager.vala" +#line 340 "quicklauncher-manager.vala" + LOGGER_END_PROCESS (_tmp3_ = g_strconcat ("Model-", process_name, NULL)); +#line 1056 "quicklauncher-manager.c" + _g_free0 (_tmp3_); +#line 341 "quicklauncher-manager.vala" + LOGGER_START_PROCESS (_tmp4_ = g_strconcat ("View-", process_name, NULL)); +#line 1060 "quicklauncher-manager.c" + _g_free0 (_tmp4_); +#line 342 "quicklauncher-manager.vala" view = unity_quicklauncher_manager_get_view_for_model (self, (UnityQuicklauncherModelsLauncherModel*) model); -#line 368 "quicklauncher-manager.vala" +#line 343 "quicklauncher-manager.vala" + LOGGER_END_PROCESS (_tmp5_ = g_strconcat ("View-", process_name, NULL)); +#line 1066 "quicklauncher-manager.c" + _g_free0 (_tmp5_); +#line 345 "quicklauncher-manager.vala" unity_quicklauncher_manager_add_view (self, view); -#line 1135 "quicklauncher-manager.c" +#line 1070 "quicklauncher-manager.c" _g_object_unref0 (application); _g_object_unref0 (model); _g_object_unref0 (view); } -#line 371 "quicklauncher-manager.vala" +#line 348 "quicklauncher-manager.vala" LOGGER_END_PROCESS (process_name); -#line 1142 "quicklauncher-manager.c" +#line 1077 "quicklauncher-manager.c" _g_free0 (process_name); _g_free0 (type); _g_free0 (desktop_file); } } } -#line 375 "quicklauncher-manager.vala" - launcher_appman_set_enable_window_checking (launcher_appman_get_default (), TRUE); -#line 377 "quicklauncher-manager.vala" +#line 351 "quicklauncher-manager.vala" END_FUNCTION (); -#line 1153 "quicklauncher-manager.c" +#line 1086 "quicklauncher-manager.c" _g_object_unref0 (favorites); } -#line 380 "quicklauncher-manager.vala" +#line 354 "quicklauncher-manager.vala" static float unity_quicklauncher_manager_get_last_priority (UnityQuicklauncherManager* self) { -#line 1160 "quicklauncher-manager.c" +#line 1093 "quicklauncher-manager.c" float result; float max_priority; -#line 380 "quicklauncher-manager.vala" +#line 354 "quicklauncher-manager.vala" g_return_val_if_fail (self != NULL, 0.0F); -#line 382 "quicklauncher-manager.vala" +#line 356 "quicklauncher-manager.vala" max_priority = 0.0f; -#line 1167 "quicklauncher-manager.c" +#line 1100 "quicklauncher-manager.c" { GeeSet* _tmp0_; GeeIterator* _tmp1_; GeeIterator* _model_it; _model_it = (_tmp1_ = gee_iterable_iterator ((GeeIterable*) (_tmp0_ = gee_map_get_keys ((GeeMap*) self->priv->model_map))), _g_object_unref0 (_tmp0_), _tmp1_); -#line 383 "quicklauncher-manager.vala" +#line 357 "quicklauncher-manager.vala" while (TRUE) { -#line 1175 "quicklauncher-manager.c" +#line 1108 "quicklauncher-manager.c" UnityQuicklauncherModelsLauncherModel* model; UnityQuicklauncherModelsLauncherModel* _tmp2_; -#line 383 "quicklauncher-manager.vala" +#line 357 "quicklauncher-manager.vala" if (!gee_iterator_next (_model_it)) { -#line 383 "quicklauncher-manager.vala" +#line 357 "quicklauncher-manager.vala" break; -#line 1182 "quicklauncher-manager.c" +#line 1115 "quicklauncher-manager.c" } -#line 383 "quicklauncher-manager.vala" +#line 357 "quicklauncher-manager.vala" model = (UnityQuicklauncherModelsLauncherModel*) gee_iterator_get (_model_it); -#line 385 "quicklauncher-manager.vala" +#line 359 "quicklauncher-manager.vala" if (!UNITY_QUICKLAUNCHER_MODELS_IS_APPLICATION_MODEL (model)) { -#line 1188 "quicklauncher-manager.c" +#line 1121 "quicklauncher-manager.c" _g_object_unref0 (model); -#line 386 "quicklauncher-manager.vala" +#line 360 "quicklauncher-manager.vala" continue; -#line 1192 "quicklauncher-manager.c" +#line 1125 "quicklauncher-manager.c" } -#line 387 "quicklauncher-manager.vala" +#line 361 "quicklauncher-manager.vala" max_priority = fmaxf (unity_quicklauncher_models_launcher_model_get_priority ((UnityQuicklauncherModelsLauncherModel*) (_tmp2_ = model, UNITY_QUICKLAUNCHER_MODELS_IS_APPLICATION_MODEL (_tmp2_) ? ((UnityQuicklauncherModelsApplicationModel*) _tmp2_) : NULL)), max_priority); -#line 1196 "quicklauncher-manager.c" +#line 1129 "quicklauncher-manager.c" _g_object_unref0 (model); } _g_object_unref0 (_model_it); } result = max_priority; -#line 389 "quicklauncher-manager.vala" +#line 363 "quicklauncher-manager.vala" return result; -#line 1204 "quicklauncher-manager.c" +#line 1137 "quicklauncher-manager.c" } -#line 392 "quicklauncher-manager.vala" +#line 366 "quicklauncher-manager.vala" static void unity_quicklauncher_manager_handle_session_application (UnityQuicklauncherManager* self, LauncherApplication* app) { -#line 1210 "quicklauncher-manager.c" +#line 1143 "quicklauncher-manager.c" UnityQuicklauncherModelsApplicationModel* model; char* desktop_file; gboolean _tmp0_ = FALSE; UnityQuicklauncherLauncherView* view; -#line 392 "quicklauncher-manager.vala" +#line 366 "quicklauncher-manager.vala" g_return_if_fail (self != NULL); -#line 392 "quicklauncher-manager.vala" +#line 366 "quicklauncher-manager.vala" g_return_if_fail (app != NULL); -#line 394 "quicklauncher-manager.vala" +#line 368 "quicklauncher-manager.vala" if (gee_abstract_collection_contains ((GeeAbstractCollection*) self->priv->launcher_apps, app)) { -#line 395 "quicklauncher-manager.vala" +#line 369 "quicklauncher-manager.vala" return; -#line 1223 "quicklauncher-manager.c" +#line 1156 "quicklauncher-manager.c" } -#line 396 "quicklauncher-manager.vala" +#line 370 "quicklauncher-manager.vala" gee_abstract_collection_add ((GeeAbstractCollection*) self->priv->launcher_apps, app); -#line 397 "quicklauncher-manager.vala" +#line 371 "quicklauncher-manager.vala" model = unity_quicklauncher_models_application_model_new (app); -#line 399 "quicklauncher-manager.vala" +#line 373 "quicklauncher-manager.vala" desktop_file = g_strdup (launcher_application_get_desktop_file (app)); -#line 400 "quicklauncher-manager.vala" +#line 374 "quicklauncher-manager.vala" if (desktop_file != NULL) { -#line 400 "quicklauncher-manager.vala" +#line 374 "quicklauncher-manager.vala" _tmp0_ = !unity_quicklauncher_models_launcher_model_get_is_sticky ((UnityQuicklauncherModelsLauncherModel*) model); -#line 1235 "quicklauncher-manager.c" +#line 1168 "quicklauncher-manager.c" } else { -#line 400 "quicklauncher-manager.vala" +#line 374 "quicklauncher-manager.vala" _tmp0_ = FALSE; -#line 1239 "quicklauncher-manager.c" +#line 1172 "quicklauncher-manager.c" } -#line 400 "quicklauncher-manager.vala" +#line 374 "quicklauncher-manager.vala" if (_tmp0_) { -#line 402 "quicklauncher-manager.vala" +#line 376 "quicklauncher-manager.vala" unity_quicklauncher_models_launcher_model_set_priority ((UnityQuicklauncherModelsLauncherModel*) model, unity_quicklauncher_manager_get_last_priority (self)); -#line 1245 "quicklauncher-manager.c" +#line 1178 "quicklauncher-manager.c" } -#line 405 "quicklauncher-manager.vala" +#line 379 "quicklauncher-manager.vala" view = unity_quicklauncher_manager_get_view_for_model (self, (UnityQuicklauncherModelsLauncherModel*) model); -#line 406 "quicklauncher-manager.vala" +#line 380 "quicklauncher-manager.vala" if (clutter_actor_get_parent ((ClutterActor*) view) == NULL) { -#line 408 "quicklauncher-manager.vala" +#line 382 "quicklauncher-manager.vala" unity_quicklauncher_manager_add_view (self, view); -#line 1253 "quicklauncher-manager.c" +#line 1186 "quicklauncher-manager.c" } _g_object_unref0 (model); _g_free0 (desktop_file); @@ -1257,156 +1190,156 @@ static void unity_quicklauncher_manager_handle_session_application (UnityQuickla } -#line 412 "quicklauncher-manager.vala" +#line 386 "quicklauncher-manager.vala" static UnityQuicklauncherLauncherView* unity_quicklauncher_manager_get_view_for_model (UnityQuicklauncherManager* self, UnityQuicklauncherModelsLauncherModel* model) { -#line 1263 "quicklauncher-manager.c" +#line 1196 "quicklauncher-manager.c" UnityQuicklauncherLauncherView* result; GeeSet* _tmp0_; gboolean _tmp1_; UnityQuicklauncherLauncherView* view; -#line 412 "quicklauncher-manager.vala" +#line 386 "quicklauncher-manager.vala" g_return_val_if_fail (self != NULL, NULL); -#line 412 "quicklauncher-manager.vala" +#line 386 "quicklauncher-manager.vala" g_return_val_if_fail (model != NULL, NULL); -#line 414 "quicklauncher-manager.vala" +#line 388 "quicklauncher-manager.vala" if ((_tmp1_ = gee_collection_contains ((GeeCollection*) (_tmp0_ = gee_map_get_keys ((GeeMap*) self->priv->model_map)), model), _g_object_unref0 (_tmp0_), _tmp1_)) { -#line 1274 "quicklauncher-manager.c" +#line 1207 "quicklauncher-manager.c" result = (UnityQuicklauncherLauncherView*) gee_abstract_map_get ((GeeAbstractMap*) self->priv->model_map, model); -#line 416 "quicklauncher-manager.vala" +#line 390 "quicklauncher-manager.vala" return result; -#line 1278 "quicklauncher-manager.c" +#line 1211 "quicklauncher-manager.c" } -#line 419 "quicklauncher-manager.vala" +#line 393 "quicklauncher-manager.vala" view = g_object_ref_sink (unity_quicklauncher_launcher_view_new (model)); -#line 420 "quicklauncher-manager.vala" +#line 394 "quicklauncher-manager.vala" gee_abstract_map_set ((GeeAbstractMap*) self->priv->model_map, model, view); -#line 1284 "quicklauncher-manager.c" +#line 1217 "quicklauncher-manager.c" result = view; -#line 421 "quicklauncher-manager.vala" +#line 395 "quicklauncher-manager.vala" return result; -#line 1288 "quicklauncher-manager.c" +#line 1221 "quicklauncher-manager.c" } -#line 447 "quicklauncher-manager.vala" +#line 421 "quicklauncher-manager.vala" static void _unity_quicklauncher_manager_remove_view_unity_quicklauncher_launcher_view_request_remove (UnityQuicklauncherLauncherView* _sender, gpointer self) { -#line 1294 "quicklauncher-manager.c" +#line 1227 "quicklauncher-manager.c" unity_quicklauncher_manager_remove_view (self, _sender); } -#line 461 "quicklauncher-manager.vala" +#line 435 "quicklauncher-manager.vala" static gboolean _unity_quicklauncher_manager_on_launcher_enter_event_clutter_actor_enter_event (ClutterActor* _sender, ClutterEvent* event, gpointer self) { -#line 1301 "quicklauncher-manager.c" +#line 1234 "quicklauncher-manager.c" return unity_quicklauncher_manager_on_launcher_enter_event (self, event); } -#line 467 "quicklauncher-manager.vala" +#line 441 "quicklauncher-manager.vala" static gboolean _unity_quicklauncher_manager_on_launcher_leave_event_clutter_actor_leave_event (ClutterActor* _sender, ClutterEvent* event, gpointer self) { -#line 1308 "quicklauncher-manager.c" +#line 1241 "quicklauncher-manager.c" return unity_quicklauncher_manager_on_launcher_leave_event (self, event); } -#line 428 "quicklauncher-manager.vala" +#line 402 "quicklauncher-manager.vala" static void unity_quicklauncher_manager_add_view (UnityQuicklauncherManager* self, UnityQuicklauncherLauncherView* view) { -#line 428 "quicklauncher-manager.vala" +#line 402 "quicklauncher-manager.vala" g_return_if_fail (self != NULL); -#line 428 "quicklauncher-manager.vala" +#line 402 "quicklauncher-manager.vala" g_return_if_fail (view != NULL); -#line 430 "quicklauncher-manager.vala" +#line 404 "quicklauncher-manager.vala" if (view == NULL) { -#line 432 "quicklauncher-manager.vala" +#line 406 "quicklauncher-manager.vala" return; -#line 1323 "quicklauncher-manager.c" +#line 1256 "quicklauncher-manager.c" } -#line 434 "quicklauncher-manager.vala" +#line 408 "quicklauncher-manager.vala" if (unity_quicklauncher_models_launcher_model_get_is_fixed (view->model)) { -#line 436 "quicklauncher-manager.vala" +#line 410 "quicklauncher-manager.vala" unity_widgets_scroller_add_actor (self->priv->container, (ClutterActor*) view, TRUE); -#line 1329 "quicklauncher-manager.c" +#line 1262 "quicklauncher-manager.c" } else { -#line 440 "quicklauncher-manager.vala" +#line 414 "quicklauncher-manager.vala" unity_widgets_scroller_add_actor (self->priv->container, (ClutterActor*) view, FALSE); -#line 1333 "quicklauncher-manager.c" +#line 1266 "quicklauncher-manager.c" } -#line 442 "quicklauncher-manager.vala" +#line 416 "quicklauncher-manager.vala" g_signal_connect_object (view, "request-remove", (GCallback) _unity_quicklauncher_manager_remove_view_unity_quicklauncher_launcher_view_request_remove, self, 0); -#line 443 "quicklauncher-manager.vala" +#line 417 "quicklauncher-manager.vala" g_signal_connect_object ((ClutterActor*) view, "enter-event", (GCallback) _unity_quicklauncher_manager_on_launcher_enter_event_clutter_actor_enter_event, self, 0); -#line 444 "quicklauncher-manager.vala" +#line 418 "quicklauncher-manager.vala" g_signal_connect_object ((ClutterActor*) view, "leave-event", (GCallback) _unity_quicklauncher_manager_on_launcher_leave_event_clutter_actor_leave_event, self, 0); -#line 1341 "quicklauncher-manager.c" +#line 1274 "quicklauncher-manager.c" } -#line 447 "quicklauncher-manager.vala" +#line 421 "quicklauncher-manager.vala" static void unity_quicklauncher_manager_remove_view (UnityQuicklauncherManager* self, UnityQuicklauncherLauncherView* view) { -#line 1347 "quicklauncher-manager.c" +#line 1280 "quicklauncher-manager.c" guint _tmp0_; guint _tmp1_; -#line 447 "quicklauncher-manager.vala" +#line 421 "quicklauncher-manager.vala" g_return_if_fail (self != NULL); -#line 447 "quicklauncher-manager.vala" +#line 421 "quicklauncher-manager.vala" g_return_if_fail (view != NULL); -#line 451 "quicklauncher-manager.vala" +#line 425 "quicklauncher-manager.vala" unity_widgets_scroller_remove_actor (self->priv->container, (ClutterActor*) view); -#line 452 "quicklauncher-manager.vala" +#line 426 "quicklauncher-manager.vala" g_signal_handlers_disconnect_matched ((ClutterActor*) view, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("enter-event", CLUTTER_TYPE_ACTOR, &_tmp0_, NULL, FALSE), _tmp0_), 0, NULL, (GCallback) _unity_quicklauncher_manager_on_launcher_enter_event_clutter_actor_enter_event, self); -#line 453 "quicklauncher-manager.vala" +#line 427 "quicklauncher-manager.vala" g_signal_handlers_disconnect_matched ((ClutterActor*) view, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("leave-event", CLUTTER_TYPE_ACTOR, &_tmp1_, NULL, FALSE), _tmp1_), 0, NULL, (GCallback) _unity_quicklauncher_manager_on_launcher_leave_event_clutter_actor_leave_event, self); -#line 455 "quicklauncher-manager.vala" +#line 429 "quicklauncher-manager.vala" if (UNITY_QUICKLAUNCHER_MODELS_IS_APPLICATION_MODEL (view->model)) { -#line 1362 "quicklauncher-manager.c" +#line 1295 "quicklauncher-manager.c" UnityQuicklauncherModelsLauncherModel* _tmp2_; -#line 457 "quicklauncher-manager.vala" +#line 431 "quicklauncher-manager.vala" gee_abstract_collection_remove ((GeeAbstractCollection*) self->priv->launcher_apps, unity_quicklauncher_models_application_model_get_app ((_tmp2_ = view->model, UNITY_QUICKLAUNCHER_MODELS_IS_APPLICATION_MODEL (_tmp2_) ? ((UnityQuicklauncherModelsApplicationModel*) _tmp2_) : NULL))); -#line 1366 "quicklauncher-manager.c" +#line 1299 "quicklauncher-manager.c" } } -#line 461 "quicklauncher-manager.vala" +#line 435 "quicklauncher-manager.vala" static gboolean unity_quicklauncher_manager_on_launcher_enter_event (UnityQuicklauncherManager* self, ClutterEvent* event) { -#line 1373 "quicklauncher-manager.c" +#line 1306 "quicklauncher-manager.c" gboolean result; ClutterActor* _tmp0_; -#line 461 "quicklauncher-manager.vala" +#line 435 "quicklauncher-manager.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 463 "quicklauncher-manager.vala" +#line 437 "quicklauncher-manager.vala" unity_quicklauncher_manager_set_active_launcher (self, (_tmp0_ = clutter_event_get_source (event), UNITY_QUICKLAUNCHER_IS_LAUNCHER_VIEW (_tmp0_) ? ((UnityQuicklauncherLauncherView*) _tmp0_) : NULL)); -#line 1380 "quicklauncher-manager.c" +#line 1313 "quicklauncher-manager.c" result = FALSE; -#line 464 "quicklauncher-manager.vala" +#line 438 "quicklauncher-manager.vala" return result; -#line 1384 "quicklauncher-manager.c" +#line 1317 "quicklauncher-manager.c" } -#line 467 "quicklauncher-manager.vala" +#line 441 "quicklauncher-manager.vala" static gboolean unity_quicklauncher_manager_on_launcher_leave_event (UnityQuicklauncherManager* self, ClutterEvent* event) { -#line 1390 "quicklauncher-manager.c" +#line 1323 "quicklauncher-manager.c" gboolean result; ClutterActor* _tmp0_; -#line 467 "quicklauncher-manager.vala" +#line 441 "quicklauncher-manager.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 469 "quicklauncher-manager.vala" +#line 443 "quicklauncher-manager.vala" if (unity_quicklauncher_manager_get_active_launcher (self) == (_tmp0_ = clutter_event_get_source (event), UNITY_QUICKLAUNCHER_IS_LAUNCHER_VIEW (_tmp0_) ? ((UnityQuicklauncherLauncherView*) _tmp0_) : NULL)) { -#line 470 "quicklauncher-manager.vala" +#line 444 "quicklauncher-manager.vala" unity_quicklauncher_manager_set_active_launcher (self, NULL); -#line 1399 "quicklauncher-manager.c" +#line 1332 "quicklauncher-manager.c" } result = FALSE; -#line 471 "quicklauncher-manager.vala" +#line 445 "quicklauncher-manager.vala" return result; -#line 1404 "quicklauncher-manager.c" +#line 1337 "quicklauncher-manager.c" } #line 26 "quicklauncher-manager.vala" UnityQuicklauncherManager* unity_quicklauncher_manager_construct (GType object_type) { -#line 1410 "quicklauncher-manager.c" +#line 1343 "quicklauncher-manager.c" UnityQuicklauncherManager * self; self = g_object_newv (object_type, 0, NULL); return self; @@ -1417,7 +1350,7 @@ UnityQuicklauncherManager* unity_quicklauncher_manager_construct (GType object_t UnityQuicklauncherManager* unity_quicklauncher_manager_new (void) { #line 26 "quicklauncher-manager.vala" return unity_quicklauncher_manager_construct (UNITY_QUICKLAUNCHER_TYPE_MANAGER); -#line 1421 "quicklauncher-manager.c" +#line 1354 "quicklauncher-manager.c" } @@ -1426,17 +1359,17 @@ static GConfClient* unity_quicklauncher_manager_get_gconf_client (UnityQuicklaun g_return_val_if_fail (self != NULL, NULL); #line 44 "quicklauncher-manager.vala" if (GCONF_IS_CLIENT (self->priv->gconf_client_)) { -#line 1430 "quicklauncher-manager.c" +#line 1363 "quicklauncher-manager.c" result = self->priv->gconf_client_; #line 46 "quicklauncher-manager.vala" return result; -#line 1434 "quicklauncher-manager.c" +#line 1367 "quicklauncher-manager.c" } else { GConfClient* _tmp0_; result = self->priv->gconf_client_ = (_tmp0_ = _g_object_ref0 (gconf_client_get_default ()), _g_object_unref0 (self->priv->gconf_client_), _tmp0_); #line 50 "quicklauncher-manager.vala" return result; -#line 1440 "quicklauncher-manager.c" +#line 1373 "quicklauncher-manager.c" } } @@ -1447,7 +1380,7 @@ UnityQuicklauncherLauncherView* unity_quicklauncher_manager_get_active_launcher result = self->priv->_active_launcher; #line 57 "quicklauncher-manager.vala" return result; -#line 1451 "quicklauncher-manager.c" +#line 1384 "quicklauncher-manager.c" } @@ -1461,54 +1394,54 @@ static void unity_quicklauncher_manager_set_active_launcher (UnityQuicklauncherM self->priv->_active_launcher = (_tmp0_ = _g_object_ref0 (value), _g_object_unref0 (self->priv->_active_launcher), _tmp0_); #line 61 "quicklauncher-manager.vala" g_signal_emit_by_name (self, "active-launcher-changed", prev, self->priv->_active_launcher); -#line 1465 "quicklauncher-manager.c" +#line 1398 "quicklauncher-manager.c" _g_object_unref0 (prev); g_object_notify ((GObject *) self, "active-launcher"); } -#line 167 "quicklauncher-manager.vala" +#line 366 "quicklauncher-manager.vala" +static void _unity_quicklauncher_manager_handle_session_application_launcher_session_application_opened (LauncherSession* _sender, LauncherApplication* application, gpointer self) { +#line 1406 "quicklauncher-manager.c" + unity_quicklauncher_manager_handle_session_application (self, application); +} + + +#line 138 "quicklauncher-manager.vala" static gboolean _unity_quicklauncher_manager_on_drag_motion_ctk_actor_drag_motion (CtkActor* _sender, GdkDragContext* context, gint x, gint y, guint time_, gpointer self) { -#line 1473 "quicklauncher-manager.c" +#line 1413 "quicklauncher-manager.c" return unity_quicklauncher_manager_on_drag_motion (self, _sender, context, x, y, time_); } -#line 173 "quicklauncher-manager.vala" +#line 144 "quicklauncher-manager.vala" static gboolean _unity_quicklauncher_manager_on_drag_drop_ctk_actor_drag_drop (CtkActor* _sender, GdkDragContext* context, gint x, gint y, guint time_, gpointer self) { -#line 1480 "quicklauncher-manager.c" +#line 1420 "quicklauncher-manager.c" return unity_quicklauncher_manager_on_drag_drop (self, _sender, context, x, y, time_); } -#line 206 "quicklauncher-manager.vala" +#line 177 "quicklauncher-manager.vala" static void _unity_quicklauncher_manager_on_drag_data_received_ctk_actor_drag_data_received (CtkActor* _sender, GdkDragContext* context, gint x, gint y, GtkSelectionData* data, guint info, guint time_, gpointer self) { -#line 1487 "quicklauncher-manager.c" +#line 1427 "quicklauncher-manager.c" unity_quicklauncher_manager_on_drag_data_received (self, _sender, context, x, y, data, info, time_); } -#line 325 "quicklauncher-manager.vala" +#line 296 "quicklauncher-manager.vala" static void _unity_quicklauncher_manager_on_webicon_built_unity_shell_need_new_icon_cache (UnityShell* _sender, gpointer self) { -#line 1494 "quicklauncher-manager.c" +#line 1434 "quicklauncher-manager.c" unity_quicklauncher_manager_on_webicon_built (self); } -#line 132 "quicklauncher-manager.vala" +#line 103 "quicklauncher-manager.vala" static void _unity_quicklauncher_manager_on_favorite_change_gconf_notify_func (GConfEngine* conf, guint cnxn_id, GConfEntry* entry, gpointer self) { -#line 1501 "quicklauncher-manager.c" +#line 1441 "quicklauncher-manager.c" unity_quicklauncher_manager_on_favorite_change (self, conf, cnxn_id, entry); } -#line 106 "quicklauncher-manager.vala" -static gboolean _unity_quicklauncher_manager_ensure_model_windows_gsource_func (gpointer self) { -#line 1508 "quicklauncher-manager.c" - return unity_quicklauncher_manager_ensure_model_windows (self); -} - - static GObject * unity_quicklauncher_manager_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { GObject * obj; GObjectClass * parent_class; @@ -1532,40 +1465,44 @@ static GObject * unity_quicklauncher_manager_constructor (GType type, guint n_co #line 70 "quicklauncher-manager.vala" self->priv->appman = (_tmp0_ = _g_object_ref0 (launcher_appman_get_default ()), _g_object_unref0 (self->priv->appman), _tmp0_); #line 71 "quicklauncher-manager.vala" + launcher_appman_set_enable_window_checking (launcher_appman_get_default (), TRUE); +#line 72 "quicklauncher-manager.vala" self->priv->session = (_tmp1_ = _g_object_ref0 (launcher_session_get_default ()), _g_object_unref0 (self->priv->session), _tmp1_); -#line 73 "quicklauncher-manager.vala" - self->priv->launcher_apps = (_tmp2_ = gee_array_list_new (LAUNCHER_TYPE_APPLICATION, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL), _g_object_unref0 (self->priv->launcher_apps), _tmp2_); #line 74 "quicklauncher-manager.vala" + self->priv->launcher_apps = (_tmp2_ = gee_array_list_new (LAUNCHER_TYPE_APPLICATION, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL), _g_object_unref0 (self->priv->launcher_apps), _tmp2_); +#line 75 "quicklauncher-manager.vala" self->priv->model_map = (_tmp3_ = gee_hash_map_new (UNITY_QUICKLAUNCHER_MODELS_TYPE_LAUNCHER_MODEL, (GBoxedCopyFunc) g_object_ref, g_object_unref, UNITY_QUICKLAUNCHER_TYPE_LAUNCHER_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL), _g_object_unref0 (self->priv->model_map), _tmp3_); -#line 76 "quicklauncher-manager.vala" +#line 77 "quicklauncher-manager.vala" self->priv->container = (_tmp4_ = g_object_ref_sink (unity_widgets_scroller_new (CTK_ORIENTATION_VERTICAL, 0)), _g_object_unref0 (self->priv->container), _tmp4_); -#line 78 "quicklauncher-manager.vala" - clutter_container_add_actor ((ClutterContainer*) self, (ClutterActor*) self->priv->container); #line 79 "quicklauncher-manager.vala" + clutter_container_add_actor ((ClutterContainer*) self, (ClutterActor*) self->priv->container); +#line 80 "quicklauncher-manager.vala" unity_quicklauncher_manager_build_favorites (self); -#line 82 "quicklauncher-manager.vala" +#line 81 "quicklauncher-manager.vala" + g_signal_connect_object (self->priv->session, "application-opened", (GCallback) _unity_quicklauncher_manager_handle_session_application_launcher_session_application_opened, self, 0); +#line 84 "quicklauncher-manager.vala" ctk_drag_dest_start ((CtkActor*) self->priv->container); -#line 83 "quicklauncher-manager.vala" +#line 85 "quicklauncher-manager.vala" g_signal_connect_object ((CtkActor*) self->priv->container, "drag-motion", (GCallback) _unity_quicklauncher_manager_on_drag_motion_ctk_actor_drag_motion, self, 0); -#line 84 "quicklauncher-manager.vala" +#line 86 "quicklauncher-manager.vala" g_signal_connect_object ((CtkActor*) self->priv->container, "drag-drop", (GCallback) _unity_quicklauncher_manager_on_drag_drop_ctk_actor_drag_drop, self, 0); -#line 85 "quicklauncher-manager.vala" +#line 87 "quicklauncher-manager.vala" g_signal_connect_object ((CtkActor*) self->priv->container, "drag-data-received", (GCallback) _unity_quicklauncher_manager_on_drag_data_received_ctk_actor_drag_data_received, self, 0); -#line 88 "quicklauncher-manager.vala" +#line 90 "quicklauncher-manager.vala" g_signal_connect_object (unity_global_shell, "need-new-icon-cache", (GCallback) _unity_quicklauncher_manager_on_webicon_built_unity_shell_need_new_icon_cache, self, 0); -#line 91 "quicklauncher-manager.vala" +#line 93 "quicklauncher-manager.vala" self->priv->gclient = (_tmp6_ = (_tmp5_ = gconf_engine_get_default (), (_tmp5_ == NULL) ? NULL : gconf_engine_ref (_tmp5_), _tmp5_), _gconf_engine_unref0 (self->priv->gclient), _tmp6_); -#line 1559 "quicklauncher-manager.c" +#line 1496 "quicklauncher-manager.c" { -#line 93 "quicklauncher-manager.vala" +#line 95 "quicklauncher-manager.vala" gconf_engine_notify_add (self->priv->gclient, "/desktop/unity/launcher/favorites/favorites_list", _unity_quicklauncher_manager_on_favorite_change_gconf_notify_func, self, &_inner_error_); -#line 1563 "quicklauncher-manager.c" +#line 1500 "quicklauncher-manager.c" if (_inner_error_ != NULL) { - goto __catch38_g_error; + goto __catch40_g_error; } } - goto __finally38; - __catch38_g_error: + goto __finally40; + __catch40_g_error: { GError * e; e = _inner_error_; @@ -1574,18 +1511,16 @@ static GObject * unity_quicklauncher_manager_constructor (GType type, guint n_co _g_error_free0 (e); } } - __finally38: + __finally40: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); } -#line 96 "quicklauncher-manager.vala" - self->priv->webapp_device = (_tmp7_ = unity_quicklauncher_manager_get_webapp_device (self), _g_free0 (self->priv->webapp_device), _tmp7_); #line 98 "quicklauncher-manager.vala" - g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _unity_quicklauncher_manager_ensure_model_windows_gsource_func, g_object_ref (self), g_object_unref); + self->priv->webapp_device = (_tmp7_ = unity_quicklauncher_manager_get_webapp_device (self), _g_free0 (self->priv->webapp_device), _tmp7_); #line 100 "quicklauncher-manager.vala" END_FUNCTION (); -#line 1589 "quicklauncher-manager.c" +#line 1524 "quicklauncher-manager.c" } return obj; } diff --git a/src/quicklauncher/quicklauncher-manager.vala b/src/quicklauncher/quicklauncher-manager.vala index 190ba20f8..37dc1ce74 100644 --- a/src/quicklauncher/quicklauncher-manager.vala +++ b/src/quicklauncher/quicklauncher-manager.vala @@ -68,6 +68,7 @@ namespace Unity.Quicklauncher { START_FUNCTION (); this.appman = Launcher.Appman.get_default (); + this.appman.get_default ().enable_window_checking = true; this.session = Launcher.Session.get_default (); launcher_apps = new Gee.ArrayList<Launcher.Application> (); @@ -77,6 +78,7 @@ namespace Unity.Quicklauncher 0); add_actor (container); build_favorites (); + this.session.application_opened.connect (handle_session_application); Ctk.drag_dest_start (this.container); @@ -95,40 +97,9 @@ namespace Unity.Quicklauncher } this.webapp_device = get_webapp_device (); - Idle.add (this.ensure_model_windows); - END_FUNCTION (); } - /* goes through and makes sure all the current models have accurate window - * lists - */ - private bool ensure_model_windows () - { - foreach (Launcher.Application app in this.launcher_apps) - { - app.update_windows (); - } - - /* go through all the running applications in the appmananager - * make sure that any that aren't already in the launcher get added - */ - var appman = Launcher.Appman.get_default (); - unowned Sequence<Launcher.Application> applications = appman.get_applications (); - for (SequenceIter<Launcher.Application> iter = applications.get_begin_iter (); !iter.is_end (); iter = iter.next ()) - { - Launcher.Application app = iter.get (); - if (!this.launcher_apps.contains (app)) - { - // not in the launcher. add it - this.handle_session_application (app); - } - } - - this.session.application_opened.connect (handle_session_application); - return false; - } - private void on_favorite_change (GConf.Engine client, uint cnxn_id, GConf.Entry entry) { this.build_favorites (); @@ -355,15 +326,21 @@ namespace Unity.Quicklauncher } else { + LOGGER_START_PROCESS ("Launcher-" + process_name); Launcher.Application application = appman.get_application_for_desktop_file (desktop_file); if (launcher_apps.contains (application)) continue; launcher_apps.add (application); + LOGGER_END_PROCESS ("Launcher-" + process_name); + LOGGER_START_PROCESS ("Model-" + process_name); ApplicationModel model = new ApplicationModel (application); model.is_sticky = true; + LOGGER_END_PROCESS ("Model-" + process_name); + LOGGER_START_PROCESS ("View-" + process_name); LauncherView view = get_view_for_model (model); + LOGGER_END_PROCESS ("View-" + process_name); add_view (view); } @@ -371,9 +348,6 @@ namespace Unity.Quicklauncher LOGGER_END_PROCESS (process_name); } - // done building favorites, turn on window checking - Launcher.Appman.get_default ().enable_window_checking = true; - END_FUNCTION (); } diff --git a/src/quicklauncher/quicklist-controller.c b/src/quicklauncher/quicklist-controller.c index 3bfdd2398..2425dabb8 100644 --- a/src/quicklauncher/quicklist-controller.c +++ b/src/quicklauncher/quicklist-controller.c @@ -74,6 +74,16 @@ typedef struct _UnityQuicklauncherQuicklistMenuItem UnityQuicklauncherQuicklistM typedef struct _UnityQuicklauncherQuicklistMenuItemClass UnityQuicklauncherQuicklistMenuItemClass; #define _g_free0(var) (var = (g_free (var), NULL)) +#define UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR (unity_quicklauncher_quicklist_menu_seperator_get_type ()) +#define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR, UnityQuicklauncherQuicklistMenuSeperator)) +#define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR, UnityQuicklauncherQuicklistMenuSeperatorClass)) +#define UNITY_QUICKLAUNCHER_IS_QUICKLIST_MENU_SEPERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR)) +#define UNITY_QUICKLAUNCHER_IS_QUICKLIST_MENU_SEPERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR)) +#define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR, UnityQuicklauncherQuicklistMenuSeperatorClass)) + +typedef struct _UnityQuicklauncherQuicklistMenuSeperator UnityQuicklauncherQuicklistMenuSeperator; +typedef struct _UnityQuicklauncherQuicklistMenuSeperatorClass UnityQuicklauncherQuicklistMenuSeperatorClass; + struct _UnityQuicklauncherQuicklistController { GObject parent_instance; UnityQuicklauncherQuicklistControllerPrivate * priv; @@ -127,6 +137,9 @@ void unity_quicklauncher_quicklist_controller_show_label (UnityQuicklauncherQuic char* unity_quicklauncher_models_shortcut_item_get_name (UnityQuicklauncherModelsShortcutItem* self); void unity_quicklauncher_models_shortcut_item_activated (UnityQuicklauncherModelsShortcutItem* self); static void _unity_quicklauncher_models_shortcut_item_activated_unity_quicklauncher_quicklist_menu_item_activated (UnityQuicklauncherQuicklistMenuItem* _sender, gpointer self); +UnityQuicklauncherQuicklistMenuSeperator* unity_quicklauncher_quicklist_menu_seperator_new (void); +UnityQuicklauncherQuicklistMenuSeperator* unity_quicklauncher_quicklist_menu_seperator_construct (GType object_type); +GType unity_quicklauncher_quicklist_menu_seperator_get_type (void); void unity_quicklauncher_quicklist_controller_show_menu (UnityQuicklauncherQuicklistController* self, GeeArrayList* prefix_shortcuts, GeeArrayList* affix_shortcuts, gboolean hide_on_leave); CtkActor* unity_quicklauncher_quicklist_controller_get_attached_actor (UnityQuicklauncherQuicklistController* self); static void _unity_quicklauncher_quicklist_controller_on_unity_drag_start_unity_drag_controller_drag_start (UnityDragController* _sender, UnityDragModel* model, gpointer self); @@ -137,26 +150,26 @@ static void unity_quicklauncher_quicklist_controller_finalize (GObject* obj); #line 29 "quicklist-controller.vala" UnityQuicklauncherQuicklistController* unity_quicklauncher_quicklist_controller_get_default (void) { -#line 141 "quicklist-controller.c" +#line 154 "quicklist-controller.c" UnityQuicklauncherQuicklistController* result; #line 31 "quicklist-controller.vala" if (unity_quicklauncher_ql_controler_singleton == NULL) { -#line 145 "quicklist-controller.c" +#line 158 "quicklist-controller.c" UnityQuicklauncherQuicklistController* _tmp0_; #line 32 "quicklist-controller.vala" unity_quicklauncher_ql_controler_singleton = (_tmp0_ = unity_quicklauncher_quicklist_controller_new (), _g_object_unref0 (unity_quicklauncher_ql_controler_singleton), _tmp0_); -#line 149 "quicklist-controller.c" +#line 162 "quicklist-controller.c" } result = unity_quicklauncher_ql_controler_singleton; #line 34 "quicklist-controller.vala" return result; -#line 154 "quicklist-controller.c" +#line 167 "quicklist-controller.c" } #line 41 "quicklist-controller.vala" UnityQuicklauncherQuicklistController* unity_quicklauncher_quicklist_controller_construct (GType object_type) { -#line 160 "quicklist-controller.c" +#line 173 "quicklist-controller.c" UnityQuicklauncherQuicklistController * self; self = g_object_newv (object_type, 0, NULL); return self; @@ -167,7 +180,7 @@ UnityQuicklauncherQuicklistController* unity_quicklauncher_quicklist_controller_ UnityQuicklauncherQuicklistController* unity_quicklauncher_quicklist_controller_new (void) { #line 41 "quicklist-controller.vala" return unity_quicklauncher_quicklist_controller_construct (UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_CONTROLLER); -#line 171 "quicklist-controller.c" +#line 184 "quicklist-controller.c" } @@ -181,7 +194,7 @@ static void unity_quicklauncher_quicklist_controller_on_unity_drag_start (UnityQ if (unity_quicklauncher_quicklist_controller_menu_is_open (self)) { #line 54 "quicklist-controller.vala" clutter_actor_destroy ((ClutterActor*) self->menu); -#line 185 "quicklist-controller.c" +#line 198 "quicklist-controller.c" } } @@ -190,27 +203,27 @@ static void unity_quicklauncher_quicklist_controller_on_unity_drag_start (UnityQ static void _lambda1_ (UnityQuicklauncherQuicklistController* self) { #line 65 "quicklist-controller.vala" unity_shell_remove_fullscreen_request (unity_global_shell, (GObject*) self); -#line 194 "quicklist-controller.c" +#line 207 "quicklist-controller.c" } #line 64 "quicklist-controller.vala" static void __lambda1__clutter_actor_destroy (ClutterActor* _sender, gpointer self) { -#line 200 "quicklist-controller.c" +#line 213 "quicklist-controller.c" _lambda1_ (self); } -#line 117 "quicklist-controller.vala" +#line 120 "quicklist-controller.vala" static void _unity_quicklauncher_quicklist_controller_close_menu_unity_quicklauncher_quicklist_menu_item_activated (UnityQuicklauncherQuicklistMenuItem* _sender, gpointer self) { -#line 207 "quicklist-controller.c" +#line 220 "quicklist-controller.c" unity_quicklauncher_quicklist_controller_close_menu (self); } #line 57 "quicklist-controller.vala" void unity_quicklauncher_quicklist_controller_show_label (UnityQuicklauncherQuicklistController* self, const char* label, CtkActor* attached_widget) { -#line 214 "quicklist-controller.c" +#line 227 "quicklist-controller.c" UnityQuicklauncherQuicklistMenu* _tmp0_; CtkMenu* menu; UnityQuicklauncherQuicklistMenuItem* menuitem; @@ -227,7 +240,7 @@ void unity_quicklauncher_quicklist_controller_show_label (UnityQuicklauncherQuic if (unity_quicklauncher_quicklist_controller_menu_is_open (self)) { #line 60 "quicklist-controller.vala" clutter_actor_destroy ((ClutterActor*) self->menu); -#line 231 "quicklist-controller.c" +#line 244 "quicklist-controller.c" } #line 62 "quicklist-controller.vala" menu = (_tmp0_ = g_object_ref_sink (unity_quicklauncher_quicklist_menu_new ()), CTK_IS_MENU (_tmp0_) ? ((CtkMenu*) _tmp0_) : NULL); @@ -252,10 +265,10 @@ void unity_quicklauncher_quicklist_controller_show_label (UnityQuicklauncherQuic #line 79 "quicklist-controller.vala" clutter_actor_get_position ((ClutterActor*) self->menu, &x, &y); #line 80 "quicklist-controller.vala" - clutter_actor_set_position ((ClutterActor*) self->menu, x - ((float) ctk_em_to_pixel ((double) 1.5f)), y); + clutter_actor_set_position ((ClutterActor*) self->menu, x - ((float) ctk_em_to_pixel ((double) 1.5f)), y - 3); #line 81 "quicklist-controller.vala" self->is_in_label = TRUE; -#line 259 "quicklist-controller.c" +#line 272 "quicklist-controller.c" _g_object_unref0 (menu); _g_object_unref0 (menuitem); } @@ -268,16 +281,17 @@ static gpointer _g_object_ref0 (gpointer self) { #line 58 "launcher-model.vala" static void _unity_quicklauncher_models_shortcut_item_activated_unity_quicklauncher_quicklist_menu_item_activated (UnityQuicklauncherQuicklistMenuItem* _sender, gpointer self) { -#line 272 "quicklist-controller.c" +#line 285 "quicklist-controller.c" unity_quicklauncher_models_shortcut_item_activated (self); } #line 87 "quicklist-controller.vala" void unity_quicklauncher_quicklist_controller_show_menu (UnityQuicklauncherQuicklistController* self, GeeArrayList* prefix_shortcuts, GeeArrayList* affix_shortcuts, gboolean hide_on_leave) { -#line 279 "quicklist-controller.c" +#line 292 "quicklist-controller.c" GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; + UnityQuicklauncherQuicklistMenuSeperator* separator; #line 87 "quicklist-controller.vala" g_return_if_fail (self != NULL); #line 87 "quicklist-controller.vala" @@ -294,13 +308,13 @@ void unity_quicklauncher_quicklist_controller_show_menu (UnityQuicklauncherQuick unity_shell_add_fullscreen_request (unity_global_shell, (GObject*) self); #line 96 "quicklist-controller.vala" ctk_menu_set_close_on_leave (self->menu, hide_on_leave); -#line 298 "quicklist-controller.c" +#line 312 "quicklist-controller.c" { GeeIterator* _shortcut_it; _shortcut_it = gee_abstract_collection_iterator ((GeeAbstractCollection*) prefix_shortcuts); #line 97 "quicklist-controller.vala" while (TRUE) { -#line 304 "quicklist-controller.c" +#line 318 "quicklist-controller.c" UnityQuicklauncherModelsShortcutItem* shortcut; char* label; UnityQuicklauncherQuicklistMenuItem* menuitem; @@ -308,7 +322,7 @@ void unity_quicklauncher_quicklist_controller_show_menu (UnityQuicklauncherQuick if (!gee_iterator_next (_shortcut_it)) { #line 97 "quicklist-controller.vala" break; -#line 312 "quicklist-controller.c" +#line 326 "quicklist-controller.c" } #line 97 "quicklist-controller.vala" shortcut = (UnityQuicklauncherModelsShortcutItem*) gee_iterator_get (_shortcut_it); @@ -322,101 +336,107 @@ void unity_quicklauncher_quicklist_controller_show_menu (UnityQuicklauncherQuick g_signal_connect_object (menuitem, "activated", (GCallback) _unity_quicklauncher_models_shortcut_item_activated_unity_quicklauncher_quicklist_menu_item_activated, shortcut, 0); #line 103 "quicklist-controller.vala" g_signal_connect_object (menuitem, "activated", (GCallback) _unity_quicklauncher_quicklist_controller_close_menu_unity_quicklauncher_quicklist_menu_item_activated, self, 0); -#line 326 "quicklist-controller.c" +#line 340 "quicklist-controller.c" _g_object_unref0 (shortcut); _g_free0 (label); _g_object_unref0 (menuitem); } _g_object_unref0 (_shortcut_it); } +#line 106 "quicklist-controller.vala" + separator = g_object_ref_sink (unity_quicklauncher_quicklist_menu_seperator_new ()); +#line 107 "quicklist-controller.vala" + ctk_menu_append (self->menu, (ClutterActor*) separator, FALSE); +#line 351 "quicklist-controller.c" { GeeIterator* _shortcut_it; _shortcut_it = gee_abstract_collection_iterator ((GeeAbstractCollection*) affix_shortcuts); -#line 106 "quicklist-controller.vala" +#line 109 "quicklist-controller.vala" while (TRUE) { -#line 338 "quicklist-controller.c" +#line 357 "quicklist-controller.c" UnityQuicklauncherModelsShortcutItem* shortcut; char* label; UnityQuicklauncherQuicklistMenuItem* menuitem; -#line 106 "quicklist-controller.vala" +#line 109 "quicklist-controller.vala" if (!gee_iterator_next (_shortcut_it)) { -#line 106 "quicklist-controller.vala" +#line 109 "quicklist-controller.vala" break; -#line 346 "quicklist-controller.c" +#line 365 "quicklist-controller.c" } -#line 106 "quicklist-controller.vala" +#line 109 "quicklist-controller.vala" shortcut = (UnityQuicklauncherModelsShortcutItem*) gee_iterator_get (_shortcut_it); -#line 108 "quicklist-controller.vala" +#line 111 "quicklist-controller.vala" label = unity_quicklauncher_models_shortcut_item_get_name (shortcut); -#line 109 "quicklist-controller.vala" +#line 112 "quicklist-controller.vala" menuitem = g_object_ref_sink (unity_quicklauncher_quicklist_menu_item_new (label)); -#line 110 "quicklist-controller.vala" +#line 113 "quicklist-controller.vala" ctk_menu_append (self->menu, (ClutterActor*) menuitem, FALSE); -#line 111 "quicklist-controller.vala" +#line 114 "quicklist-controller.vala" g_signal_connect_object (menuitem, "activated", (GCallback) _unity_quicklauncher_models_shortcut_item_activated_unity_quicklauncher_quicklist_menu_item_activated, shortcut, 0); -#line 112 "quicklist-controller.vala" +#line 115 "quicklist-controller.vala" g_signal_connect_object (menuitem, "activated", (GCallback) _unity_quicklauncher_quicklist_controller_close_menu_unity_quicklauncher_quicklist_menu_item_activated, self, 0); -#line 360 "quicklist-controller.c" +#line 379 "quicklist-controller.c" _g_object_unref0 (shortcut); _g_free0 (label); _g_object_unref0 (menuitem); } _g_object_unref0 (_shortcut_it); } -#line 114 "quicklist-controller.vala" +#line 117 "quicklist-controller.vala" ctk_menu_set_detect_clicks (self->menu, TRUE); -#line 369 "quicklist-controller.c" +#line 388 "quicklist-controller.c" + _g_object_unref0 (separator); } -#line 117 "quicklist-controller.vala" +#line 120 "quicklist-controller.vala" void unity_quicklauncher_quicklist_controller_close_menu (UnityQuicklauncherQuicklistController* self) { -#line 117 "quicklist-controller.vala" +#line 120 "quicklist-controller.vala" g_return_if_fail (self != NULL); -#line 119 "quicklist-controller.vala" +#line 122 "quicklist-controller.vala" self->is_in_label = FALSE; -#line 120 "quicklist-controller.vala" +#line 123 "quicklist-controller.vala" self->is_in_menu = FALSE; -#line 121 "quicklist-controller.vala" +#line 124 "quicklist-controller.vala" if (CTK_IS_MENU (self->menu)) { -#line 123 "quicklist-controller.vala" +#line 126 "quicklist-controller.vala" clutter_actor_destroy ((ClutterActor*) self->menu); -#line 385 "quicklist-controller.c" +#line 405 "quicklist-controller.c" } } -#line 127 "quicklist-controller.vala" +#line 130 "quicklist-controller.vala" gboolean unity_quicklauncher_quicklist_controller_menu_is_open (UnityQuicklauncherQuicklistController* self) { -#line 392 "quicklist-controller.c" +#line 412 "quicklist-controller.c" gboolean result; -#line 127 "quicklist-controller.vala" +#line 130 "quicklist-controller.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 396 "quicklist-controller.c" +#line 416 "quicklist-controller.c" result = CTK_IS_MENU (self->menu); -#line 129 "quicklist-controller.vala" +#line 132 "quicklist-controller.vala" return result; -#line 400 "quicklist-controller.c" +#line 420 "quicklist-controller.c" } -#line 132 "quicklist-controller.vala" +#line 135 "quicklist-controller.vala" CtkActor* unity_quicklauncher_quicklist_controller_get_attached_actor (UnityQuicklauncherQuicklistController* self) { -#line 406 "quicklist-controller.c" +#line 426 "quicklist-controller.c" CtkActor* result; -#line 132 "quicklist-controller.vala" +#line 135 "quicklist-controller.vala" g_return_val_if_fail (self != NULL, NULL); -#line 410 "quicklist-controller.c" +#line 430 "quicklist-controller.c" result = _g_object_ref0 (ctk_menu_get_attached_actor (self->menu)); -#line 134 "quicklist-controller.vala" +#line 137 "quicklist-controller.vala" return result; -#line 414 "quicklist-controller.c" +#line 434 "quicklist-controller.c" } #line 51 "quicklist-controller.vala" static void _unity_quicklauncher_quicklist_controller_on_unity_drag_start_unity_drag_controller_drag_start (UnityDragController* _sender, UnityDragModel* model, gpointer self) { -#line 420 "quicklist-controller.c" +#line 440 "quicklist-controller.c" unity_quicklauncher_quicklist_controller_on_unity_drag_start (self, model); } @@ -434,7 +454,7 @@ static GObject * unity_quicklauncher_quicklist_controller_constructor (GType typ drag_controller = _g_object_ref0 (unity_drag_controller_get_default ()); #line 48 "quicklist-controller.vala" g_signal_connect_object (drag_controller, "drag-start", (GCallback) _unity_quicklauncher_quicklist_controller_on_unity_drag_start_unity_drag_controller_drag_start, self, 0); -#line 438 "quicklist-controller.c" +#line 458 "quicklist-controller.c" _g_object_unref0 (drag_controller); } return obj; diff --git a/src/quicklauncher/quicklist-controller.vala b/src/quicklauncher/quicklist-controller.vala index 63e279999..ea2282859 100644 --- a/src/quicklauncher/quicklist-controller.vala +++ b/src/quicklauncher/quicklist-controller.vala @@ -77,7 +77,7 @@ namespace Unity.Quicklauncher float x; float y; this.menu.get_position (out x, out y); - this.menu.set_position (x - (float) Ctk.em_to_pixel (1.5f), y); + this.menu.set_position (x - (float) Ctk.em_to_pixel (1.5f), y - 3); this.is_in_label = true; } @@ -103,6 +103,9 @@ namespace Unity.Quicklauncher menuitem.activated.connect (this.close_menu); } + Unity.Quicklauncher.QuicklistMenuSeperator separator = new Unity.Quicklauncher.QuicklistMenuSeperator (); + this.menu.append (separator, false); + foreach (ShortcutItem shortcut in affix_shortcuts) { var label = shortcut.get_name (); diff --git a/src/quicklauncher/quicklist-view.c b/src/quicklauncher/quicklist-view.c index fa7200351..7d49a3ddc 100644 --- a/src/quicklauncher/quicklist-view.c +++ b/src/quicklauncher/quicklist-view.c @@ -27,16 +27,30 @@ #include <float.h> #include <math.h> #include <clutk/clutk.h> -#include <stdlib.h> -#include <string.h> #include <cairo.h> +#include <clutter/clutter.h> +#include <string.h> +#include <stdlib.h> #include <pango/pangocairo.h> #include <pango/pango.h> #include <gtk/gtk.h> #include <gdk/gdk.h> -#include <clutter/clutter.h> +#define UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR (unity_quicklauncher_quicklist_menu_seperator_get_type ()) +#define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR, UnityQuicklauncherQuicklistMenuSeperator)) +#define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR, UnityQuicklauncherQuicklistMenuSeperatorClass)) +#define UNITY_QUICKLAUNCHER_IS_QUICKLIST_MENU_SEPERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR)) +#define UNITY_QUICKLAUNCHER_IS_QUICKLIST_MENU_SEPERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR)) +#define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR, UnityQuicklauncherQuicklistMenuSeperatorClass)) + +typedef struct _UnityQuicklauncherQuicklistMenuSeperator UnityQuicklauncherQuicklistMenuSeperator; +typedef struct _UnityQuicklauncherQuicklistMenuSeperatorClass UnityQuicklauncherQuicklistMenuSeperatorClass; +typedef struct _UnityQuicklauncherQuicklistMenuSeperatorPrivate UnityQuicklauncherQuicklistMenuSeperatorPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL))) +#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) + #define UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_ITEM (unity_quicklauncher_quicklist_menu_item_get_type ()) #define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_ITEM, UnityQuicklauncherQuicklistMenuItem)) #define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_ITEM, UnityQuicklauncherQuicklistMenuItemClass)) @@ -47,10 +61,7 @@ typedef struct _UnityQuicklauncherQuicklistMenuItem UnityQuicklauncherQuicklistMenuItem; typedef struct _UnityQuicklauncherQuicklistMenuItemClass UnityQuicklauncherQuicklistMenuItemClass; typedef struct _UnityQuicklauncherQuicklistMenuItemPrivate UnityQuicklauncherQuicklistMenuItemPrivate; -#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) -#define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL))) -#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) #define _pango_font_description_free0(var) ((var == NULL) ? NULL : (var = (pango_font_description_free (var), NULL))) #define UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU (unity_quicklauncher_quicklist_menu_get_type ()) @@ -65,6 +76,21 @@ typedef struct _UnityQuicklauncherQuicklistMenuClass UnityQuicklauncherQuicklist typedef struct _UnityQuicklauncherQuicklistMenuPrivate UnityQuicklauncherQuicklistMenuPrivate; #define _cairo_pattern_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_pattern_destroy (var), NULL))) +struct _UnityQuicklauncherQuicklistMenuSeperator { + CtkMenuSeperator parent_instance; + UnityQuicklauncherQuicklistMenuSeperatorPrivate * priv; +}; + +struct _UnityQuicklauncherQuicklistMenuSeperatorClass { + CtkMenuSeperatorClass parent_class; +}; + +struct _UnityQuicklauncherQuicklistMenuSeperatorPrivate { + CtkLayerActor* seperator_background; + gint old_width; + gint old_height; +}; + struct _UnityQuicklauncherQuicklistMenuItem { CtkActor parent_instance; UnityQuicklauncherQuicklistMenuItemPrivate * priv; @@ -96,9 +122,11 @@ struct _UnityQuicklauncherQuicklistMenuPrivate { gint old_width; gint old_height; float cached_x; + float cached_y; }; +static gpointer unity_quicklauncher_quicklist_menu_seperator_parent_class = NULL; static gpointer unity_quicklauncher_quicklist_menu_item_parent_class = NULL; static gpointer unity_quicklauncher_quicklist_menu_parent_class = NULL; @@ -114,6 +142,21 @@ static gpointer unity_quicklauncher_quicklist_menu_parent_class = NULL; #define UNITY_QUICKLAUNCHER_ITEM_CORNER_RADIUS 0.3f #define UNITY_QUICKLAUNCHER_ANCHOR_HEIGHT 1.5f #define UNITY_QUICKLAUNCHER_ANCHOR_WIDTH 0.75f +GType unity_quicklauncher_quicklist_menu_seperator_get_type (void); +#define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR, UnityQuicklauncherQuicklistMenuSeperatorPrivate)) +enum { + UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR_DUMMY_PROPERTY +}; +static void _unity_quicklauncher_quicklist_menu_seperator_fill_mask (UnityQuicklauncherQuicklistMenuSeperator* self, cairo_t* cr, gint w, gint h); +static void _unity_quicklauncher_quicklist_menu_seperator_image_bg (UnityQuicklauncherQuicklistMenuSeperator* self, cairo_t* cr, gint w, gint h); +static void unity_quicklauncher_quicklist_menu_seperator_real_paint (ClutterActor* base); +static void unity_quicklauncher_quicklist_menu_seperator_real_get_preferred_height (ClutterActor* base, float for_width, float* min_height_p, float* natural_height_p); +static void unity_quicklauncher_quicklist_menu_seperator_real_get_preferred_width (ClutterActor* base, float for_height, float* min_width_p, float* natural_width_p); +static void unity_quicklauncher_quicklist_menu_seperator_real_allocate (ClutterActor* base, const ClutterActorBox* box, ClutterAllocationFlags flags); +UnityQuicklauncherQuicklistMenuSeperator* unity_quicklauncher_quicklist_menu_seperator_new (void); +UnityQuicklauncherQuicklistMenuSeperator* unity_quicklauncher_quicklist_menu_seperator_construct (GType object_type); +static GObject * unity_quicklauncher_quicklist_menu_seperator_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); +static void unity_quicklauncher_quicklist_menu_seperator_finalize (GObject* obj); GType unity_quicklauncher_quicklist_menu_item_get_type (void); #define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_ITEM, UnityQuicklauncherQuicklistMenuItemPrivate)) enum { @@ -149,7 +192,7 @@ GType unity_quicklauncher_quicklist_menu_get_type (void); enum { UNITY_QUICKLAUNCHER_QUICKLIST_MENU_DUMMY_PROPERTY }; -static void _unity_quicklauncher_quicklist_menu_round_rect_anchor (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, double aspect, double x, double y, double corner_radius, double width, double height, double anchor_width, double anchor_height, double anchor_x, double anchor_y, gboolean is_label); +static void _unity_quicklauncher_quicklist_menu_round_rect_anchor (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, double aspect, double x, double y, double corner_radius, double width, double height, double anchor_width, double anchor_height, double anchor_x, double anchor_y); static void _unity_quicklauncher_quicklist_menu_draw_mask (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, gint w, gint h, float anchor_y); static void _unity_quicklauncher_quicklist_menu_full_mask (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, gint w, gint h, float anchor_y); static void _unity_quicklauncher_quicklist_menu_fill_mask (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, gint w, gint h, float anchor_y); @@ -164,33 +207,294 @@ static int _vala_strcmp0 (const char * str1, const char * str2); -#line 45 "quicklist-view.vala" +#line 44 "quicklist-view.vala" +static void _unity_quicklauncher_quicklist_menu_seperator_fill_mask (UnityQuicklauncherQuicklistMenuSeperator* self, cairo_t* cr, gint w, gint h) { +#line 44 "quicklist-view.vala" + g_return_if_fail (self != NULL); +#line 44 "quicklist-view.vala" + g_return_if_fail (cr != NULL); +#line 50 "quicklist-view.vala" + cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); +#line 51 "quicklist-view.vala" + cairo_paint (cr); +#line 54 "quicklist-view.vala" + cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); +#line 55 "quicklist-view.vala" + cairo_scale (cr, (double) 1.0f, (double) 1.0f); +#line 56 "quicklist-view.vala" + cairo_set_source_rgba (cr, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 1.0f); +#line 57 "quicklist-view.vala" + cairo_paint (cr); +#line 229 "quicklist-view.c" +} + + +#line 60 "quicklist-view.vala" +static void _unity_quicklauncher_quicklist_menu_seperator_image_bg (UnityQuicklauncherQuicklistMenuSeperator* self, cairo_t* cr, gint w, gint h) { +#line 235 "quicklist-view.c" + float half_height; + float fract; +#line 60 "quicklist-view.vala" + g_return_if_fail (self != NULL); +#line 60 "quicklist-view.vala" + g_return_if_fail (cr != NULL); +#line 66 "quicklist-view.vala" + cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); +#line 67 "quicklist-view.vala" + cairo_paint (cr); +#line 70 "quicklist-view.vala" + cairo_scale (cr, (double) 1.0f, (double) 1.0f); +#line 71 "quicklist-view.vala" + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); +#line 74 "quicklist-view.vala" + cairo_set_line_width (cr, (double) 1.0f); +#line 76 "quicklist-view.vala" + cairo_set_source_rgba (cr, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 1.0f); +#line 77 "quicklist-view.vala" + cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); +#line 80 "quicklist-view.vala" + half_height = ((float) h) / 2.0f; +#line 81 "quicklist-view.vala" + fract = half_height - ((gint) half_height); +#line 82 "quicklist-view.vala" + if (fract == 0.0f) { +#line 83 "quicklist-view.vala" + half_height = half_height + 0.5f; +#line 264 "quicklist-view.c" + } +#line 84 "quicklist-view.vala" + cairo_move_to (cr, (double) 0.0f, (double) half_height); +#line 85 "quicklist-view.vala" + cairo_line_to (cr, (double) ((float) w), (double) half_height); +#line 87 "quicklist-view.vala" + cairo_stroke (cr); +#line 272 "quicklist-view.c" +} + + +#line 90 "quicklist-view.vala" +static void unity_quicklauncher_quicklist_menu_seperator_real_paint (ClutterActor* base) { +#line 278 "quicklist-view.c" + UnityQuicklauncherQuicklistMenuSeperator * self; + self = (UnityQuicklauncherQuicklistMenuSeperator*) base; +#line 93 "quicklist-view.vala" + clutter_actor_paint ((ClutterActor*) self->priv->seperator_background); +#line 283 "quicklist-view.c" +} + + +#line 96 "quicklist-view.vala" +static void unity_quicklauncher_quicklist_menu_seperator_real_get_preferred_height (ClutterActor* base, float for_width, float* min_height_p, float* natural_height_p) { +#line 289 "quicklist-view.c" + UnityQuicklauncherQuicklistMenuSeperator * self; + self = (UnityQuicklauncherQuicklistMenuSeperator*) base; +#line 101 "quicklist-view.vala" + *min_height_p = (float) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_GAP); +#line 102 "quicklist-view.vala" + *natural_height_p = *min_height_p; +#line 296 "quicklist-view.c" +} + + +#line 105 "quicklist-view.vala" +static void unity_quicklauncher_quicklist_menu_seperator_real_get_preferred_width (ClutterActor* base, float for_height, float* min_width_p, float* natural_width_p) { +#line 302 "quicklist-view.c" + UnityQuicklauncherQuicklistMenuSeperator * self; + self = (UnityQuicklauncherQuicklistMenuSeperator*) base; +#line 110 "quicklist-view.vala" + *min_width_p = (float) ctk_em_to_pixel ((double) (2 * UNITY_QUICKLAUNCHER_MARGIN)); +#line 111 "quicklist-view.vala" + *natural_width_p = *min_width_p; +#line 309 "quicklist-view.c" +} + + +#line 114 "quicklist-view.vala" +static void unity_quicklauncher_quicklist_menu_seperator_real_allocate (ClutterActor* base, const ClutterActorBox* box, ClutterAllocationFlags flags) { +#line 315 "quicklist-view.c" + UnityQuicklauncherQuicklistMenuSeperator * self; + gint w = 0; + gint h = 0; + gboolean _tmp0_ = FALSE; + CtkLayerActor* _tmp1_; + CtkLayer* layer; + cairo_surface_t* fill_surf; + cairo_surface_t* image_surf; + cairo_t* fill_cr; + cairo_t* image_cr; + self = (UnityQuicklauncherQuicklistMenuSeperator*) base; +#line 121 "quicklist-view.vala" + CLUTTER_ACTOR_CLASS (unity_quicklauncher_quicklist_menu_seperator_parent_class)->allocate ((ClutterActor*) CTK_MENU_SEPERATOR (self), box, flags); +#line 122 "quicklist-view.vala" + w = (gint) ((*box).x2 - (*box).x1); +#line 123 "quicklist-view.vala" + h = (gint) ((*box).y2 - (*box).y1); +#line 127 "quicklist-view.vala" + if (self->priv->old_width == w) { +#line 127 "quicklist-view.vala" + _tmp0_ = self->priv->old_height == h; +#line 337 "quicklist-view.c" + } else { +#line 127 "quicklist-view.vala" + _tmp0_ = FALSE; +#line 341 "quicklist-view.c" + } +#line 127 "quicklist-view.vala" + if (_tmp0_) { +#line 128 "quicklist-view.vala" + return; +#line 347 "quicklist-view.c" + } +#line 131 "quicklist-view.vala" + if (CTK_IS_LAYER_ACTOR (self->priv->seperator_background)) { +#line 132 "quicklist-view.vala" + clutter_actor_destroy ((ClutterActor*) self->priv->seperator_background); +#line 353 "quicklist-view.c" + } +#line 134 "quicklist-view.vala" + self->priv->seperator_background = (_tmp1_ = g_object_ref_sink ((CtkLayerActor*) ctk_layer_actor_new ((guint) w, (guint) h)), _g_object_unref0 (self->priv->seperator_background), _tmp1_); +#line 136 "quicklist-view.vala" + layer = ctk_layer_new ((guint) w, (guint) h, CTK_LAYER_REPEAT_NONE, CTK_LAYER_REPEAT_NONE); +#line 140 "quicklist-view.vala" + fill_surf = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, w, h); +#line 143 "quicklist-view.vala" + image_surf = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, w, h); +#line 146 "quicklist-view.vala" + fill_cr = cairo_create (fill_surf); +#line 147 "quicklist-view.vala" + image_cr = cairo_create (image_surf); +#line 149 "quicklist-view.vala" + _unity_quicklauncher_quicklist_menu_seperator_fill_mask (self, fill_cr, w, h); +#line 150 "quicklist-view.vala" + _unity_quicklauncher_quicklist_menu_seperator_image_bg (self, image_cr, w, h); +#line 152 "quicklist-view.vala" + ctk_layer_set_mask_from_surface (layer, fill_surf); +#line 153 "quicklist-view.vala" + ctk_layer_set_image_from_surface (layer, image_surf); +#line 154 "quicklist-view.vala" + ctk_layer_set_opacity (layer, (guchar) 255); +#line 156 "quicklist-view.vala" + ctk_layer_actor_add_layer (self->priv->seperator_background, layer); +#line 159 "quicklist-view.vala" + clutter_actor_set_opacity ((ClutterActor*) self->priv->seperator_background, (guint8) 255); +#line 161 "quicklist-view.vala" + clutter_actor_set_parent ((ClutterActor*) self->priv->seperator_background, (ClutterActor*) self); +#line 162 "quicklist-view.vala" + clutter_actor_map ((ClutterActor*) self->priv->seperator_background); +#line 163 "quicklist-view.vala" + clutter_actor_show ((ClutterActor*) self->priv->seperator_background); +#line 387 "quicklist-view.c" + _g_object_unref0 (layer); + _cairo_surface_destroy0 (fill_surf); + _cairo_surface_destroy0 (image_surf); + _cairo_destroy0 (fill_cr); + _cairo_destroy0 (image_cr); +} + + +#line 38 "quicklist-view.vala" +UnityQuicklauncherQuicklistMenuSeperator* unity_quicklauncher_quicklist_menu_seperator_construct (GType object_type) { +#line 398 "quicklist-view.c" + UnityQuicklauncherQuicklistMenuSeperator * self; + self = g_object_newv (object_type, 0, NULL); + return self; +} + + +#line 38 "quicklist-view.vala" +UnityQuicklauncherQuicklistMenuSeperator* unity_quicklauncher_quicklist_menu_seperator_new (void) { +#line 38 "quicklist-view.vala" + return unity_quicklauncher_quicklist_menu_seperator_construct (UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR); +#line 409 "quicklist-view.c" +} + + +static GObject * unity_quicklauncher_quicklist_menu_seperator_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GObjectClass * parent_class; + UnityQuicklauncherQuicklistMenuSeperator * self; + parent_class = G_OBJECT_CLASS (unity_quicklauncher_quicklist_menu_seperator_parent_class); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR (obj); + { + CtkPadding _tmp0_ = {0}; + CtkPadding padding; +#line 168 "quicklist-view.vala" + padding = (memset (&_tmp0_, 0, sizeof (CtkPadding)), _tmp0_.left = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp0_.right = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp0_.top = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp0_.bottom = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp0_); +#line 174 "quicklist-view.vala" + ctk_actor_set_padding ((CtkActor*) self, &padding); +#line 176 "quicklist-view.vala" + self->priv->old_width = 0; +#line 177 "quicklist-view.vala" + self->priv->old_height = 0; +#line 431 "quicklist-view.c" + } + return obj; +} + + +static void unity_quicklauncher_quicklist_menu_seperator_class_init (UnityQuicklauncherQuicklistMenuSeperatorClass * klass) { + unity_quicklauncher_quicklist_menu_seperator_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (UnityQuicklauncherQuicklistMenuSeperatorPrivate)); + CLUTTER_ACTOR_CLASS (klass)->paint = unity_quicklauncher_quicklist_menu_seperator_real_paint; + CLUTTER_ACTOR_CLASS (klass)->get_preferred_height = unity_quicklauncher_quicklist_menu_seperator_real_get_preferred_height; + CLUTTER_ACTOR_CLASS (klass)->get_preferred_width = unity_quicklauncher_quicklist_menu_seperator_real_get_preferred_width; + CLUTTER_ACTOR_CLASS (klass)->allocate = unity_quicklauncher_quicklist_menu_seperator_real_allocate; + G_OBJECT_CLASS (klass)->constructor = unity_quicklauncher_quicklist_menu_seperator_constructor; + G_OBJECT_CLASS (klass)->finalize = unity_quicklauncher_quicklist_menu_seperator_finalize; +} + + +static void unity_quicklauncher_quicklist_menu_seperator_instance_init (UnityQuicklauncherQuicklistMenuSeperator * self) { + self->priv = UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR_GET_PRIVATE (self); +} + + +static void unity_quicklauncher_quicklist_menu_seperator_finalize (GObject* obj) { + UnityQuicklauncherQuicklistMenuSeperator * self; + self = UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR (obj); + _g_object_unref0 (self->priv->seperator_background); + G_OBJECT_CLASS (unity_quicklauncher_quicklist_menu_seperator_parent_class)->finalize (obj); +} + + +GType unity_quicklauncher_quicklist_menu_seperator_get_type (void) { + static GType unity_quicklauncher_quicklist_menu_seperator_type_id = 0; + if (unity_quicklauncher_quicklist_menu_seperator_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (UnityQuicklauncherQuicklistMenuSeperatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) unity_quicklauncher_quicklist_menu_seperator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (UnityQuicklauncherQuicklistMenuSeperator), 0, (GInstanceInitFunc) unity_quicklauncher_quicklist_menu_seperator_instance_init, NULL }; + unity_quicklauncher_quicklist_menu_seperator_type_id = g_type_register_static (CTK_TYPE_MENU_SEPERATOR, "UnityQuicklauncherQuicklistMenuSeperator", &g_define_type_info, 0); + } + return unity_quicklauncher_quicklist_menu_seperator_type_id; +} + + +#line 189 "quicklist-view.vala" static void _unity_quicklauncher_quicklist_menu_item_round_rect (UnityQuicklauncherQuicklistMenuItem* self, cairo_t* cr, double aspect, double x, double y, double corner_radius, double width, double height) { -#line 170 "quicklist-view.c" +#line 474 "quicklist-view.c" double radius; -#line 45 "quicklist-view.vala" +#line 189 "quicklist-view.vala" g_return_if_fail (self != NULL); -#line 45 "quicklist-view.vala" +#line 189 "quicklist-view.vala" g_return_if_fail (cr != NULL); -#line 54 "quicklist-view.vala" +#line 198 "quicklist-view.vala" radius = corner_radius / aspect; -#line 57 "quicklist-view.vala" +#line 201 "quicklist-view.vala" cairo_move_to (cr, x + radius, y); -#line 60 "quicklist-view.vala" +#line 204 "quicklist-view.vala" cairo_line_to (cr, (x + width) - radius, y); -#line 63 "quicklist-view.vala" +#line 207 "quicklist-view.vala" cairo_arc (cr, (x + width) - radius, y + radius, radius, ((-90.0f) * G_PI) / 180.0f, (0.0f * G_PI) / 180.0f); -#line 70 "quicklist-view.vala" +#line 214 "quicklist-view.vala" cairo_line_to (cr, x + width, (y + height) - radius); -#line 73 "quicklist-view.vala" +#line 217 "quicklist-view.vala" cairo_arc (cr, (x + width) - radius, (y + height) - radius, radius, (0.0f * G_PI) / 180.0f, (90.0f * G_PI) / 180.0f); -#line 80 "quicklist-view.vala" +#line 224 "quicklist-view.vala" cairo_line_to (cr, x + radius, y + height); -#line 83 "quicklist-view.vala" +#line 227 "quicklist-view.vala" cairo_arc (cr, x + radius, (y + height) - radius, radius, (90.0f * G_PI) / 180.0f, (180.0f * G_PI) / 180.0f); -#line 90 "quicklist-view.vala" +#line 234 "quicklist-view.vala" cairo_arc (cr, x + radius, y + radius, radius, (180.0f * G_PI) / 180.0f, (270.0f * G_PI) / 180.0f); -#line 194 "quicklist-view.c" +#line 498 "quicklist-view.c" } @@ -199,9 +503,9 @@ static gpointer _g_object_ref0 (gpointer self) { } -#line 97 "quicklist-view.vala" +#line 241 "quicklist-view.vala" static void _unity_quicklauncher_quicklist_menu_item_get_text_extents (UnityQuicklauncherQuicklistMenuItem* self, gint* width, gint* height) { -#line 205 "quicklist-view.c" +#line 509 "quicklist-view.c" cairo_surface_t* dummy_surf; cairo_t* dummy_cr; PangoLayout* layout; @@ -213,47 +517,47 @@ static void _unity_quicklauncher_quicklist_menu_item_get_text_extents (UnityQuic GdkScreen* screen; gint _tmp1_; PangoRectangle log_rect = {0}; -#line 97 "quicklist-view.vala" +#line 241 "quicklist-view.vala" g_return_if_fail (self != NULL); -#line 101 "quicklist-view.vala" +#line 245 "quicklist-view.vala" dummy_surf = cairo_image_surface_create (CAIRO_FORMAT_A1, 1, 1); -#line 102 "quicklist-view.vala" +#line 246 "quicklist-view.vala" dummy_cr = cairo_create (dummy_surf); -#line 103 "quicklist-view.vala" +#line 247 "quicklist-view.vala" layout = pango_cairo_create_layout (dummy_cr); -#line 104 "quicklist-view.vala" +#line 248 "quicklist-view.vala" settings = _g_object_ref0 (gtk_settings_get_default ()); -#line 105 "quicklist-view.vala" +#line 249 "quicklist-view.vala" face = (g_object_get (settings, "gtk-font-name", &_tmp0_, NULL), _tmp0_); -#line 106 "quicklist-view.vala" +#line 250 "quicklist-view.vala" desc = pango_font_description_from_string (face); -#line 108 "quicklist-view.vala" +#line 252 "quicklist-view.vala" pango_font_description_set_weight (desc, PANGO_WEIGHT_NORMAL); -#line 109 "quicklist-view.vala" +#line 253 "quicklist-view.vala" pango_layout_set_font_description (layout, desc); -#line 110 "quicklist-view.vala" +#line 254 "quicklist-view.vala" pango_layout_set_wrap (layout, PANGO_WRAP_WORD_CHAR); -#line 111 "quicklist-view.vala" +#line 255 "quicklist-view.vala" pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_END); -#line 112 "quicklist-view.vala" +#line 256 "quicklist-view.vala" pango_layout_set_text (layout, self->priv->_label, -1); -#line 113 "quicklist-view.vala" +#line 257 "quicklist-view.vala" pango_context = _g_object_ref0 (pango_layout_get_context (layout)); -#line 114 "quicklist-view.vala" +#line 258 "quicklist-view.vala" screen = _g_object_ref0 (gdk_screen_get_default ()); -#line 115 "quicklist-view.vala" +#line 259 "quicklist-view.vala" pango_cairo_context_set_font_options (pango_context, gdk_screen_get_font_options (screen)); -#line 117 "quicklist-view.vala" +#line 261 "quicklist-view.vala" pango_cairo_context_set_resolution (pango_context, (double) (((float) (g_object_get (settings, "gtk-xft-dpi", &_tmp1_, NULL), _tmp1_)) / ((float) PANGO_SCALE))); -#line 120 "quicklist-view.vala" +#line 264 "quicklist-view.vala" pango_layout_context_changed (layout); -#line 122 "quicklist-view.vala" +#line 266 "quicklist-view.vala" pango_layout_get_extents (layout, NULL, &log_rect); -#line 123 "quicklist-view.vala" +#line 267 "quicklist-view.vala" *width = log_rect.width / PANGO_SCALE; -#line 124 "quicklist-view.vala" +#line 268 "quicklist-view.vala" *height = log_rect.height / PANGO_SCALE; -#line 257 "quicklist-view.c" +#line 561 "quicklist-view.c" _cairo_surface_destroy0 (dummy_surf); _cairo_destroy0 (dummy_cr); _g_object_unref0 (layout); @@ -265,9 +569,9 @@ static void _unity_quicklauncher_quicklist_menu_item_get_text_extents (UnityQuic } -#line 127 "quicklist-view.vala" +#line 271 "quicklist-view.vala" static void _unity_quicklauncher_quicklist_menu_item_normal_mask (UnityQuicklauncherQuicklistMenuItem* self, cairo_t* cr, gint w, gint h, const char* label) { -#line 271 "quicklist-view.c" +#line 575 "quicklist-view.c" PangoLayout* layout; GtkSettings* settings; char* _tmp0_ = NULL; @@ -278,57 +582,57 @@ static void _unity_quicklauncher_quicklist_menu_item_normal_mask (UnityQuicklaun gint _tmp1_; gint text_width = 0; gint text_height = 0; -#line 127 "quicklist-view.vala" +#line 271 "quicklist-view.vala" g_return_if_fail (self != NULL); -#line 127 "quicklist-view.vala" +#line 271 "quicklist-view.vala" g_return_if_fail (cr != NULL); -#line 127 "quicklist-view.vala" +#line 271 "quicklist-view.vala" g_return_if_fail (label != NULL); -#line 133 "quicklist-view.vala" +#line 277 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); -#line 134 "quicklist-view.vala" +#line 278 "quicklist-view.vala" cairo_paint (cr); -#line 137 "quicklist-view.vala" +#line 281 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); -#line 138 "quicklist-view.vala" +#line 282 "quicklist-view.vala" cairo_scale (cr, (double) 1.0f, (double) 1.0f); -#line 139 "quicklist-view.vala" +#line 283 "quicklist-view.vala" cairo_set_source_rgba (cr, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 1.0f); -#line 141 "quicklist-view.vala" +#line 285 "quicklist-view.vala" layout = pango_cairo_create_layout (cr); -#line 142 "quicklist-view.vala" +#line 286 "quicklist-view.vala" settings = _g_object_ref0 (gtk_settings_get_default ()); -#line 143 "quicklist-view.vala" +#line 287 "quicklist-view.vala" font_face = (g_object_get (settings, "gtk-font-name", &_tmp0_, NULL), _tmp0_); -#line 144 "quicklist-view.vala" +#line 288 "quicklist-view.vala" desc = pango_font_description_from_string (font_face); -#line 145 "quicklist-view.vala" +#line 289 "quicklist-view.vala" pango_font_description_set_weight (desc, PANGO_WEIGHT_NORMAL); -#line 146 "quicklist-view.vala" +#line 290 "quicklist-view.vala" pango_layout_set_font_description (layout, desc); -#line 147 "quicklist-view.vala" +#line 291 "quicklist-view.vala" pango_layout_set_wrap (layout, PANGO_WRAP_WORD_CHAR); -#line 148 "quicklist-view.vala" +#line 292 "quicklist-view.vala" pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_END); -#line 149 "quicklist-view.vala" +#line 293 "quicklist-view.vala" pango_layout_set_text (layout, label, -1); -#line 150 "quicklist-view.vala" +#line 294 "quicklist-view.vala" pango_context = _g_object_ref0 (pango_layout_get_context (layout)); -#line 151 "quicklist-view.vala" +#line 295 "quicklist-view.vala" screen = _g_object_ref0 (gdk_screen_get_default ()); -#line 152 "quicklist-view.vala" +#line 296 "quicklist-view.vala" pango_cairo_context_set_font_options (pango_context, gdk_screen_get_font_options (screen)); -#line 154 "quicklist-view.vala" +#line 298 "quicklist-view.vala" pango_cairo_context_set_resolution (pango_context, (double) (((float) (g_object_get (settings, "gtk-xft-dpi", &_tmp1_, NULL), _tmp1_)) / ((float) PANGO_SCALE))); -#line 157 "quicklist-view.vala" +#line 301 "quicklist-view.vala" pango_layout_context_changed (layout); -#line 161 "quicklist-view.vala" +#line 305 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_item_get_text_extents (self, &text_width, &text_height); -#line 162 "quicklist-view.vala" +#line 306 "quicklist-view.vala" cairo_move_to (cr, ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN), (double) (((float) (h - text_height)) / 2.0f)); -#line 165 "quicklist-view.vala" +#line 309 "quicklist-view.vala" pango_cairo_show_layout (cr, layout); -#line 332 "quicklist-view.c" +#line 636 "quicklist-view.c" _g_object_unref0 (layout); _g_object_unref0 (settings); _g_free0 (font_face); @@ -338,9 +642,9 @@ static void _unity_quicklauncher_quicklist_menu_item_normal_mask (UnityQuicklaun } -#line 168 "quicklist-view.vala" +#line 312 "quicklist-view.vala" static void _unity_quicklauncher_quicklist_menu_item_selected_mask (UnityQuicklauncherQuicklistMenuItem* self, cairo_t* cr, gint w, gint h, const char* label) { -#line 344 "quicklist-view.c" +#line 648 "quicklist-view.c" PangoLayout* layout; GtkSettings* settings; char* _tmp0_ = NULL; @@ -351,63 +655,63 @@ static void _unity_quicklauncher_quicklist_menu_item_selected_mask (UnityQuickla gint _tmp1_; gint text_width = 0; gint text_height = 0; -#line 168 "quicklist-view.vala" +#line 312 "quicklist-view.vala" g_return_if_fail (self != NULL); -#line 168 "quicklist-view.vala" +#line 312 "quicklist-view.vala" g_return_if_fail (cr != NULL); -#line 168 "quicklist-view.vala" +#line 312 "quicklist-view.vala" g_return_if_fail (label != NULL); -#line 174 "quicklist-view.vala" +#line 318 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); -#line 175 "quicklist-view.vala" +#line 319 "quicklist-view.vala" cairo_paint (cr); -#line 178 "quicklist-view.vala" +#line 322 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); -#line 179 "quicklist-view.vala" +#line 323 "quicklist-view.vala" cairo_scale (cr, (double) 1.0f, (double) 1.0f); -#line 180 "quicklist-view.vala" +#line 324 "quicklist-view.vala" cairo_set_source_rgba (cr, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 1.0f); -#line 183 "quicklist-view.vala" +#line 327 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_item_round_rect (self, cr, (double) 1.0f, (double) 0.5f, (double) 0.5f, ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_ITEM_CORNER_RADIUS), (double) (w - 1.0f), (double) (h - 1.0f)); -#line 190 "quicklist-view.vala" +#line 334 "quicklist-view.vala" cairo_fill (cr); -#line 193 "quicklist-view.vala" +#line 337 "quicklist-view.vala" layout = pango_cairo_create_layout (cr); -#line 194 "quicklist-view.vala" +#line 338 "quicklist-view.vala" settings = _g_object_ref0 (gtk_settings_get_default ()); -#line 195 "quicklist-view.vala" +#line 339 "quicklist-view.vala" font_face = (g_object_get (settings, "gtk-font-name", &_tmp0_, NULL), _tmp0_); -#line 196 "quicklist-view.vala" +#line 340 "quicklist-view.vala" desc = pango_font_description_from_string (font_face); -#line 197 "quicklist-view.vala" +#line 341 "quicklist-view.vala" pango_font_description_set_weight (desc, PANGO_WEIGHT_NORMAL); -#line 198 "quicklist-view.vala" +#line 342 "quicklist-view.vala" pango_layout_set_font_description (layout, desc); -#line 199 "quicklist-view.vala" +#line 343 "quicklist-view.vala" pango_layout_set_wrap (layout, PANGO_WRAP_WORD_CHAR); -#line 200 "quicklist-view.vala" +#line 344 "quicklist-view.vala" pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_END); -#line 201 "quicklist-view.vala" +#line 345 "quicklist-view.vala" pango_layout_set_text (layout, label, -1); -#line 202 "quicklist-view.vala" +#line 346 "quicklist-view.vala" pango_context = _g_object_ref0 (pango_layout_get_context (layout)); -#line 203 "quicklist-view.vala" +#line 347 "quicklist-view.vala" screen = _g_object_ref0 (gdk_screen_get_default ()); -#line 204 "quicklist-view.vala" +#line 348 "quicklist-view.vala" pango_cairo_context_set_font_options (pango_context, gdk_screen_get_font_options (screen)); -#line 206 "quicklist-view.vala" +#line 350 "quicklist-view.vala" pango_cairo_context_set_resolution (pango_context, (double) (((float) (g_object_get (settings, "gtk-xft-dpi", &_tmp1_, NULL), _tmp1_)) / ((float) PANGO_SCALE))); -#line 209 "quicklist-view.vala" +#line 353 "quicklist-view.vala" pango_layout_context_changed (layout); -#line 213 "quicklist-view.vala" +#line 357 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_item_get_text_extents (self, &text_width, &text_height); -#line 214 "quicklist-view.vala" +#line 358 "quicklist-view.vala" cairo_move_to (cr, ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN), (double) (((float) (h - text_height)) / 2.0f)); -#line 217 "quicklist-view.vala" +#line 361 "quicklist-view.vala" cairo_set_source_rgba (cr, (double) 0.0f, (double) 0.0f, (double) 0.0f, (double) 0.0f); -#line 218 "quicklist-view.vala" +#line 362 "quicklist-view.vala" pango_cairo_show_layout (cr, layout); -#line 411 "quicklist-view.c" +#line 715 "quicklist-view.c" _g_object_unref0 (layout); _g_object_unref0 (settings); _g_free0 (font_face); @@ -417,50 +721,50 @@ static void _unity_quicklauncher_quicklist_menu_item_selected_mask (UnityQuickla } -#line 221 "quicklist-view.vala" +#line 365 "quicklist-view.vala" static void unity_quicklauncher_quicklist_menu_item_real_paint (ClutterActor* base) { -#line 423 "quicklist-view.c" +#line 727 "quicklist-view.c" UnityQuicklauncherQuicklistMenuItem * self; self = (UnityQuicklauncherQuicklistMenuItem*) base; -#line 224 "quicklist-view.vala" +#line 368 "quicklist-view.vala" clutter_actor_paint ((ClutterActor*) self->priv->item_background); -#line 428 "quicklist-view.c" +#line 732 "quicklist-view.c" } -#line 227 "quicklist-view.vala" +#line 371 "quicklist-view.vala" static void unity_quicklauncher_quicklist_menu_item_real_get_preferred_height (ClutterActor* base, float for_width, float* min_height_p, float* natural_height_p) { -#line 434 "quicklist-view.c" +#line 738 "quicklist-view.c" UnityQuicklauncherQuicklistMenuItem * self; self = (UnityQuicklauncherQuicklistMenuItem*) base; -#line 232 "quicklist-view.vala" +#line 376 "quicklist-view.vala" *min_height_p = (float) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_ITEM_HEIGHT); -#line 233 "quicklist-view.vala" +#line 377 "quicklist-view.vala" *natural_height_p = *min_height_p; -#line 441 "quicklist-view.c" +#line 745 "quicklist-view.c" } -#line 236 "quicklist-view.vala" +#line 380 "quicklist-view.vala" static void unity_quicklauncher_quicklist_menu_item_real_get_preferred_width (ClutterActor* base, float for_height, float* min_width_p, float* natural_width_p) { -#line 447 "quicklist-view.c" +#line 751 "quicklist-view.c" UnityQuicklauncherQuicklistMenuItem * self; gint width = 0; gint height = 0; self = (UnityQuicklauncherQuicklistMenuItem*) base; -#line 243 "quicklist-view.vala" +#line 387 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_item_get_text_extents (self, &width, &height); -#line 244 "quicklist-view.vala" +#line 388 "quicklist-view.vala" *min_width_p = ((float) width) + ((float) ctk_em_to_pixel ((double) (2 * UNITY_QUICKLAUNCHER_MARGIN))); -#line 245 "quicklist-view.vala" +#line 389 "quicklist-view.vala" *natural_width_p = *min_width_p; -#line 458 "quicklist-view.c" +#line 762 "quicklist-view.c" } -#line 248 "quicklist-view.vala" +#line 392 "quicklist-view.vala" static void unity_quicklauncher_quicklist_menu_item_real_allocate (ClutterActor* base, const ClutterActorBox* box, ClutterAllocationFlags flags) { -#line 464 "quicklist-view.c" +#line 768 "quicklist-view.c" UnityQuicklauncherQuicklistMenuItem * self; gint w = 0; gint h = 0; @@ -475,83 +779,83 @@ static void unity_quicklauncher_quicklist_menu_item_real_allocate (ClutterActor* cairo_t* normal_cr; cairo_t* selected_cr; self = (UnityQuicklauncherQuicklistMenuItem*) base; -#line 254 "quicklist-view.vala" +#line 398 "quicklist-view.vala" white_color = (memset (&_tmp0_, 0, sizeof (ClutterColor)), _tmp0_.red = (guint8) 255, _tmp0_.green = (guint8) 255, _tmp0_.blue = (guint8) 255, _tmp0_.alpha = (guint8) 255, _tmp0_); -#line 261 "quicklist-view.vala" +#line 405 "quicklist-view.vala" CLUTTER_ACTOR_CLASS (unity_quicklauncher_quicklist_menu_item_parent_class)->allocate ((ClutterActor*) CTK_ACTOR (self), box, flags); -#line 263 "quicklist-view.vala" +#line 407 "quicklist-view.vala" w = (gint) ((*box).x2 - (*box).x1); -#line 264 "quicklist-view.vala" +#line 408 "quicklist-view.vala" h = (gint) ((*box).y2 - (*box).y1); -#line 268 "quicklist-view.vala" +#line 412 "quicklist-view.vala" if (self->priv->old_width == w) { -#line 268 "quicklist-view.vala" +#line 412 "quicklist-view.vala" _tmp1_ = self->priv->old_height == h; -#line 491 "quicklist-view.c" +#line 795 "quicklist-view.c" } else { -#line 268 "quicklist-view.vala" +#line 412 "quicklist-view.vala" _tmp1_ = FALSE; -#line 495 "quicklist-view.c" +#line 799 "quicklist-view.c" } -#line 268 "quicklist-view.vala" +#line 412 "quicklist-view.vala" if (_tmp1_) { -#line 269 "quicklist-view.vala" +#line 413 "quicklist-view.vala" return; -#line 501 "quicklist-view.c" +#line 805 "quicklist-view.c" } -#line 272 "quicklist-view.vala" +#line 416 "quicklist-view.vala" self->priv->old_width = w; -#line 273 "quicklist-view.vala" +#line 417 "quicklist-view.vala" self->priv->old_height = h; -#line 276 "quicklist-view.vala" +#line 420 "quicklist-view.vala" if (CTK_IS_LAYER_ACTOR (self->priv->item_background)) { -#line 277 "quicklist-view.vala" +#line 421 "quicklist-view.vala" clutter_actor_unparent ((ClutterActor*) self->priv->item_background); -#line 511 "quicklist-view.c" +#line 815 "quicklist-view.c" } -#line 278 "quicklist-view.vala" +#line 422 "quicklist-view.vala" self->priv->item_background = (_tmp2_ = g_object_ref_sink ((CtkLayerActor*) ctk_layer_actor_new ((guint) w, (guint) h)), _g_object_unref0 (self->priv->item_background), _tmp2_); -#line 280 "quicklist-view.vala" +#line 424 "quicklist-view.vala" normal_layer = ctk_layer_new ((guint) w, (guint) h, CTK_LAYER_REPEAT_NONE, CTK_LAYER_REPEAT_NONE); -#line 284 "quicklist-view.vala" +#line 428 "quicklist-view.vala" selected_layer = ctk_layer_new ((guint) w, (guint) h, CTK_LAYER_REPEAT_NONE, CTK_LAYER_REPEAT_NONE); -#line 289 "quicklist-view.vala" +#line 433 "quicklist-view.vala" normal_surf = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, w, h); -#line 292 "quicklist-view.vala" +#line 436 "quicklist-view.vala" selected_surf = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, w, h); -#line 296 "quicklist-view.vala" +#line 440 "quicklist-view.vala" normal_cr = cairo_create (normal_surf); -#line 297 "quicklist-view.vala" +#line 441 "quicklist-view.vala" selected_cr = cairo_create (selected_surf); -#line 299 "quicklist-view.vala" +#line 443 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_item_normal_mask (self, normal_cr, w, h, self->priv->_label); -#line 300 "quicklist-view.vala" +#line 444 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_item_selected_mask (self, selected_cr, w, h, self->priv->_label); -#line 302 "quicklist-view.vala" +#line 446 "quicklist-view.vala" ctk_layer_set_mask_from_surface (normal_layer, normal_surf); -#line 303 "quicklist-view.vala" +#line 447 "quicklist-view.vala" ctk_layer_set_color (normal_layer, &white_color); -#line 305 "quicklist-view.vala" +#line 449 "quicklist-view.vala" ctk_layer_set_mask_from_surface (selected_layer, selected_surf); -#line 306 "quicklist-view.vala" +#line 450 "quicklist-view.vala" ctk_layer_set_color (selected_layer, &white_color); -#line 308 "quicklist-view.vala" +#line 452 "quicklist-view.vala" ctk_layer_actor_add_layer (self->priv->item_background, normal_layer); -#line 309 "quicklist-view.vala" +#line 453 "quicklist-view.vala" ctk_layer_actor_add_layer (self->priv->item_background, selected_layer); -#line 311 "quicklist-view.vala" +#line 455 "quicklist-view.vala" ctk_layer_set_enabled (ctk_layer_actor_get_layer (self->priv->item_background, (guint) 0), TRUE); -#line 312 "quicklist-view.vala" +#line 456 "quicklist-view.vala" ctk_layer_set_enabled (ctk_layer_actor_get_layer (self->priv->item_background, (guint) 1), FALSE); -#line 313 "quicklist-view.vala" +#line 457 "quicklist-view.vala" clutter_actor_queue_redraw ((ClutterActor*) self->priv->item_background); -#line 315 "quicklist-view.vala" +#line 459 "quicklist-view.vala" clutter_actor_set_parent ((ClutterActor*) self->priv->item_background, (ClutterActor*) self); -#line 316 "quicklist-view.vala" +#line 460 "quicklist-view.vala" clutter_actor_map ((ClutterActor*) self->priv->item_background); -#line 317 "quicklist-view.vala" +#line 461 "quicklist-view.vala" clutter_actor_show ((ClutterActor*) self->priv->item_background); -#line 555 "quicklist-view.c" +#line 859 "quicklist-view.c" _g_object_unref0 (normal_layer); _g_object_unref0 (selected_layer); _cairo_surface_destroy0 (normal_surf); @@ -561,143 +865,143 @@ static void unity_quicklauncher_quicklist_menu_item_real_allocate (ClutterActor* } -#line 320 "quicklist-view.vala" +#line 464 "quicklist-view.vala" static gboolean _unity_quicklauncher_quicklist_menu_item_on_enter (UnityQuicklauncherQuicklistMenuItem* self, ClutterEvent* event) { -#line 567 "quicklist-view.c" +#line 871 "quicklist-view.c" gboolean result; -#line 320 "quicklist-view.vala" +#line 464 "quicklist-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 571 "quicklist-view.c" +#line 875 "quicklist-view.c" g_return_val_if_fail (UNITY_QUICKLAUNCHER_IS_QUICKLIST_MENU_ITEM (self), FALSE); -#line 323 "quicklist-view.vala" +#line 467 "quicklist-view.vala" ctk_layer_set_enabled (ctk_layer_actor_get_layer (self->priv->item_background, (guint) 0), FALSE); -#line 324 "quicklist-view.vala" +#line 468 "quicklist-view.vala" ctk_layer_set_enabled (ctk_layer_actor_get_layer (self->priv->item_background, (guint) 1), TRUE); -#line 325 "quicklist-view.vala" +#line 469 "quicklist-view.vala" clutter_actor_queue_redraw ((ClutterActor*) self->priv->item_background); -#line 579 "quicklist-view.c" +#line 883 "quicklist-view.c" result = FALSE; -#line 326 "quicklist-view.vala" +#line 470 "quicklist-view.vala" return result; -#line 583 "quicklist-view.c" +#line 887 "quicklist-view.c" } -#line 329 "quicklist-view.vala" +#line 473 "quicklist-view.vala" static gboolean _unity_quicklauncher_quicklist_menu_item_on_leave (UnityQuicklauncherQuicklistMenuItem* self, ClutterEvent* event) { -#line 589 "quicklist-view.c" +#line 893 "quicklist-view.c" gboolean result; -#line 329 "quicklist-view.vala" +#line 473 "quicklist-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 593 "quicklist-view.c" +#line 897 "quicklist-view.c" g_return_val_if_fail (UNITY_QUICKLAUNCHER_IS_QUICKLIST_MENU_ITEM (self), FALSE); -#line 332 "quicklist-view.vala" +#line 476 "quicklist-view.vala" ctk_layer_set_enabled (ctk_layer_actor_get_layer (self->priv->item_background, (guint) 0), TRUE); -#line 333 "quicklist-view.vala" +#line 477 "quicklist-view.vala" ctk_layer_set_enabled (ctk_layer_actor_get_layer (self->priv->item_background, (guint) 1), FALSE); -#line 334 "quicklist-view.vala" +#line 478 "quicklist-view.vala" clutter_actor_queue_redraw ((ClutterActor*) self->priv->item_background); -#line 601 "quicklist-view.c" +#line 905 "quicklist-view.c" result = FALSE; -#line 335 "quicklist-view.vala" +#line 479 "quicklist-view.vala" return result; -#line 605 "quicklist-view.c" +#line 909 "quicklist-view.c" } -#line 338 "quicklist-view.vala" +#line 482 "quicklist-view.vala" static void _unity_quicklauncher_quicklist_menu_item_on_label_changed (UnityQuicklauncherQuicklistMenuItem* self) { -#line 611 "quicklist-view.c" +#line 915 "quicklist-view.c" char* _tmp0_; -#line 338 "quicklist-view.vala" +#line 482 "quicklist-view.vala" g_return_if_fail (self != NULL); -#line 341 "quicklist-view.vala" +#line 485 "quicklist-view.vala" if (_vala_strcmp0 (self->priv->old_label, self->priv->_label) == 0) { -#line 342 "quicklist-view.vala" +#line 486 "quicklist-view.vala" return; -#line 619 "quicklist-view.c" +#line 923 "quicklist-view.c" } -#line 344 "quicklist-view.vala" +#line 488 "quicklist-view.vala" self->priv->old_label = (_tmp0_ = g_strdup (self->priv->_label), _g_free0 (self->priv->old_label), _tmp0_); -#line 623 "quicklist-view.c" +#line 927 "quicklist-view.c" } -#line 338 "quicklist-view.vala" +#line 482 "quicklist-view.vala" static void __unity_quicklauncher_quicklist_menu_item_on_label_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) { -#line 629 "quicklist-view.c" +#line 933 "quicklist-view.c" _unity_quicklauncher_quicklist_menu_item_on_label_changed (self); } -#line 320 "quicklist-view.vala" +#line 464 "quicklist-view.vala" static gboolean __unity_quicklauncher_quicklist_menu_item_on_enter_clutter_actor_enter_event (ClutterActor* _sender, ClutterEvent* event, gpointer self) { -#line 636 "quicklist-view.c" +#line 940 "quicklist-view.c" return _unity_quicklauncher_quicklist_menu_item_on_enter (self, event); } -#line 329 "quicklist-view.vala" +#line 473 "quicklist-view.vala" static gboolean __unity_quicklauncher_quicklist_menu_item_on_leave_clutter_actor_leave_event (ClutterActor* _sender, ClutterEvent* event, gpointer self) { -#line 643 "quicklist-view.c" +#line 947 "quicklist-view.c" return _unity_quicklauncher_quicklist_menu_item_on_leave (self, event); } -#line 350 "quicklist-view.vala" +#line 494 "quicklist-view.vala" static gboolean __unity_quicklauncher_quicklist_menu_item_on_mouse_down_clutter_actor_button_press_event (ClutterActor* _sender, ClutterEvent* event, gpointer self) { -#line 650 "quicklist-view.c" +#line 954 "quicklist-view.c" return _unity_quicklauncher_quicklist_menu_item_on_mouse_down (self, event); } -#line 350 "quicklist-view.vala" +#line 494 "quicklist-view.vala" static gboolean _unity_quicklauncher_quicklist_menu_item_on_mouse_down (UnityQuicklauncherQuicklistMenuItem* self, ClutterEvent* event) { -#line 657 "quicklist-view.c" +#line 961 "quicklist-view.c" gboolean result; GQuark _tmp1_; guint _tmp0_; guint _tmp2_; guint _tmp3_; guint _tmp4_; -#line 350 "quicklist-view.vala" +#line 494 "quicklist-view.vala" g_return_val_if_fail (self != NULL, FALSE); -#line 352 "quicklist-view.vala" +#line 496 "quicklist-view.vala" g_signal_handlers_disconnect_matched ((GObject*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_DETAIL | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("notify::label", G_TYPE_OBJECT, &_tmp0_, &_tmp1_, FALSE), _tmp0_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_label_changed_g_object_notify, self); -#line 353 "quicklist-view.vala" +#line 497 "quicklist-view.vala" g_signal_handlers_disconnect_matched ((ClutterActor*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("enter-event", CLUTTER_TYPE_ACTOR, &_tmp2_, NULL, FALSE), _tmp2_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_enter_clutter_actor_enter_event, self); -#line 354 "quicklist-view.vala" +#line 498 "quicklist-view.vala" g_signal_handlers_disconnect_matched ((ClutterActor*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("leave-event", CLUTTER_TYPE_ACTOR, &_tmp3_, NULL, FALSE), _tmp3_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_leave_clutter_actor_leave_event, self); -#line 355 "quicklist-view.vala" +#line 499 "quicklist-view.vala" g_signal_handlers_disconnect_matched ((ClutterActor*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("button-press-event", CLUTTER_TYPE_ACTOR, &_tmp4_, NULL, FALSE), _tmp4_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_mouse_down_clutter_actor_button_press_event, self); -#line 356 "quicklist-view.vala" +#line 500 "quicklist-view.vala" g_signal_emit_by_name (self, "activated"); -#line 676 "quicklist-view.c" +#line 980 "quicklist-view.c" result = TRUE; -#line 357 "quicklist-view.vala" +#line 501 "quicklist-view.vala" return result; -#line 680 "quicklist-view.c" +#line 984 "quicklist-view.c" } -#line 360 "quicklist-view.vala" +#line 504 "quicklist-view.vala" UnityQuicklauncherQuicklistMenuItem* unity_quicklauncher_quicklist_menu_item_construct (GType object_type, const char* label) { -#line 686 "quicklist-view.c" +#line 990 "quicklist-view.c" UnityQuicklauncherQuicklistMenuItem * self; -#line 360 "quicklist-view.vala" +#line 504 "quicklist-view.vala" g_return_val_if_fail (label != NULL, NULL); -#line 362 "quicklist-view.vala" +#line 506 "quicklist-view.vala" self = (UnityQuicklauncherQuicklistMenuItem*) g_object_new (object_type, "label", label, NULL); -#line 692 "quicklist-view.c" +#line 996 "quicklist-view.c" return self; } -#line 360 "quicklist-view.vala" +#line 504 "quicklist-view.vala" UnityQuicklauncherQuicklistMenuItem* unity_quicklauncher_quicklist_menu_item_new (const char* label) { -#line 360 "quicklist-view.vala" +#line 504 "quicklist-view.vala" return unity_quicklauncher_quicklist_menu_item_construct (UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_ITEM, label); -#line 701 "quicklist-view.c" +#line 1005 "quicklist-view.c" } @@ -705,9 +1009,9 @@ const char* unity_quicklauncher_quicklist_menu_item_get_label (UnityQuicklaunche const char* result; g_return_val_if_fail (self != NULL, NULL); result = self->priv->_label; -#line 348 "quicklist-view.vala" +#line 492 "quicklist-view.vala" return result; -#line 711 "quicklist-view.c" +#line 1015 "quicklist-view.c" } @@ -727,30 +1031,30 @@ static GObject * unity_quicklauncher_quicklist_menu_item_constructor (GType type obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = UNITY_QUICKLAUNCHER_QUICKLIST_MENU_ITEM (obj); { - CtkPadding _tmp0_ = {0}; + CtkPadding _tmp1_ = {0}; CtkPadding padding; - char* _tmp1_; -#line 375 "quicklist-view.vala" - padding = (memset (&_tmp0_, 0, sizeof (CtkPadding)), _tmp0_.left = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp0_.right = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp0_.top = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp0_.bottom = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp0_); -#line 381 "quicklist-view.vala" + char* _tmp2_; +#line 519 "quicklist-view.vala" + padding = (memset (&_tmp1_, 0, sizeof (CtkPadding)), _tmp1_.left = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp1_.right = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp1_.top = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp1_.bottom = (float) ((gint) ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_MARGIN)), _tmp1_); +#line 525 "quicklist-view.vala" ctk_actor_set_padding ((CtkActor*) self, &padding); -#line 383 "quicklist-view.vala" +#line 527 "quicklist-view.vala" g_signal_connect_object ((GObject*) self, "notify::label", (GCallback) __unity_quicklauncher_quicklist_menu_item_on_label_changed_g_object_notify, self, 0); -#line 384 "quicklist-view.vala" +#line 528 "quicklist-view.vala" g_signal_connect_object ((ClutterActor*) self, "enter-event", (GCallback) __unity_quicklauncher_quicklist_menu_item_on_enter_clutter_actor_enter_event, self, 0); -#line 385 "quicklist-view.vala" +#line 529 "quicklist-view.vala" g_signal_connect_object ((ClutterActor*) self, "leave-event", (GCallback) __unity_quicklauncher_quicklist_menu_item_on_leave_clutter_actor_leave_event, self, 0); -#line 386 "quicklist-view.vala" +#line 530 "quicklist-view.vala" g_signal_connect_object ((ClutterActor*) self, "button-press-event", (GCallback) __unity_quicklauncher_quicklist_menu_item_on_mouse_down_clutter_actor_button_press_event, self, 0); -#line 388 "quicklist-view.vala" +#line 532 "quicklist-view.vala" clutter_actor_set_reactive ((ClutterActor*) self, TRUE); -#line 390 "quicklist-view.vala" +#line 534 "quicklist-view.vala" self->priv->old_width = 0; -#line 391 "quicklist-view.vala" +#line 535 "quicklist-view.vala" self->priv->old_height = 0; -#line 392 "quicklist-view.vala" - self->priv->old_label = (_tmp1_ = g_strdup (""), _g_free0 (self->priv->old_label), _tmp1_); -#line 754 "quicklist-view.c" +#line 536 "quicklist-view.vala" + self->priv->old_label = (_tmp2_ = g_strdup (""), _g_free0 (self->priv->old_label), _tmp2_); +#line 1058 "quicklist-view.c" } return obj; } @@ -781,20 +1085,20 @@ static void unity_quicklauncher_quicklist_menu_item_finalize (GObject* obj) { UnityQuicklauncherQuicklistMenuItem * self; self = UNITY_QUICKLAUNCHER_QUICKLIST_MENU_ITEM (obj); { - GQuark _tmp3_; - guint _tmp2_; - guint _tmp4_; + GQuark _tmp4_; + guint _tmp3_; guint _tmp5_; guint _tmp6_; -#line 367 "quicklist-view.vala" - g_signal_handlers_disconnect_matched ((GObject*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_DETAIL | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("notify::label", G_TYPE_OBJECT, &_tmp2_, &_tmp3_, FALSE), _tmp2_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_label_changed_g_object_notify, self); -#line 368 "quicklist-view.vala" - g_signal_handlers_disconnect_matched ((ClutterActor*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("enter-event", CLUTTER_TYPE_ACTOR, &_tmp4_, NULL, FALSE), _tmp4_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_enter_clutter_actor_enter_event, self); -#line 369 "quicklist-view.vala" - g_signal_handlers_disconnect_matched ((ClutterActor*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("leave-event", CLUTTER_TYPE_ACTOR, &_tmp5_, NULL, FALSE), _tmp5_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_leave_clutter_actor_leave_event, self); -#line 370 "quicklist-view.vala" - g_signal_handlers_disconnect_matched ((ClutterActor*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("button-press-event", CLUTTER_TYPE_ACTOR, &_tmp6_, NULL, FALSE), _tmp6_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_mouse_down_clutter_actor_button_press_event, self); -#line 798 "quicklist-view.c" + guint _tmp7_; +#line 511 "quicklist-view.vala" + g_signal_handlers_disconnect_matched ((GObject*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_DETAIL | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("notify::label", G_TYPE_OBJECT, &_tmp3_, &_tmp4_, FALSE), _tmp3_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_label_changed_g_object_notify, self); +#line 512 "quicklist-view.vala" + g_signal_handlers_disconnect_matched ((ClutterActor*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("enter-event", CLUTTER_TYPE_ACTOR, &_tmp5_, NULL, FALSE), _tmp5_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_enter_clutter_actor_enter_event, self); +#line 513 "quicklist-view.vala" + g_signal_handlers_disconnect_matched ((ClutterActor*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("leave-event", CLUTTER_TYPE_ACTOR, &_tmp6_, NULL, FALSE), _tmp6_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_leave_clutter_actor_leave_event, self); +#line 514 "quicklist-view.vala" + g_signal_handlers_disconnect_matched ((ClutterActor*) self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, (g_signal_parse_name ("button-press-event", CLUTTER_TYPE_ACTOR, &_tmp7_, NULL, FALSE), _tmp7_), 0, NULL, (GCallback) __unity_quicklauncher_quicklist_menu_item_on_mouse_down_clutter_actor_button_press_event, self); +#line 1102 "quicklist-view.c" } _g_object_unref0 (self->priv->item_background); _g_free0 (self->priv->old_label); @@ -841,240 +1145,205 @@ static void unity_quicklauncher_quicklist_menu_item_set_property (GObject * obje } -#line 404 "quicklist-view.vala" -static void _unity_quicklauncher_quicklist_menu_round_rect_anchor (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, double aspect, double x, double y, double corner_radius, double width, double height, double anchor_width, double anchor_height, double anchor_x, double anchor_y, gboolean is_label) { -#line 847 "quicklist-view.c" +#line 549 "quicklist-view.vala" +static void _unity_quicklauncher_quicklist_menu_round_rect_anchor (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, double aspect, double x, double y, double corner_radius, double width, double height, double anchor_width, double anchor_height, double anchor_x, double anchor_y) { +#line 1151 "quicklist-view.c" double radius; -#line 404 "quicklist-view.vala" +#line 549 "quicklist-view.vala" g_return_if_fail (self != NULL); -#line 404 "quicklist-view.vala" +#line 549 "quicklist-view.vala" g_return_if_fail (cr != NULL); -#line 418 "quicklist-view.vala" +#line 562 "quicklist-view.vala" radius = corner_radius / aspect; -#line 421 "quicklist-view.vala" +#line 565 "quicklist-view.vala" cairo_move_to (cr, x + radius, y); -#line 424 "quicklist-view.vala" +#line 568 "quicklist-view.vala" cairo_line_to (cr, (x + width) - radius, y); -#line 427 "quicklist-view.vala" +#line 571 "quicklist-view.vala" cairo_arc (cr, (x + width) - radius, y + radius, radius, ((-90.0f) * G_PI) / 180.0f, (0.0f * G_PI) / 180.0f); -#line 434 "quicklist-view.vala" +#line 578 "quicklist-view.vala" cairo_line_to (cr, x + width, (y + height) - radius); -#line 437 "quicklist-view.vala" +#line 581 "quicklist-view.vala" cairo_arc (cr, (x + width) - radius, (y + height) - radius, radius, (0.0f * G_PI) / 180.0f, (90.0f * G_PI) / 180.0f); -#line 444 "quicklist-view.vala" +#line 588 "quicklist-view.vala" cairo_line_to (cr, x + radius, y + height); -#line 447 "quicklist-view.vala" +#line 591 "quicklist-view.vala" cairo_arc (cr, x + radius, (y + height) - radius, radius, (90.0f * G_PI) / 180.0f, (180.0f * G_PI) / 180.0f); -#line 454 "quicklist-view.vala" - if (is_label) { -#line 456 "quicklist-view.vala" - cairo_line_to (cr, anchor_x + anchor_width, anchor_y + (anchor_height / 2.0f)); -#line 457 "quicklist-view.vala" - cairo_line_to (cr, anchor_x, anchor_y); -#line 458 "quicklist-view.vala" - cairo_line_to (cr, anchor_x + anchor_width, anchor_y - (anchor_height / 2.0f)); -#line 877 "quicklist-view.c" - } else { -#line 462 "quicklist-view.vala" - cairo_line_to (cr, anchor_x + anchor_width, (y + radius) + anchor_height); -#line 463 "quicklist-view.vala" - cairo_line_to (cr, anchor_x, (y + radius) + (anchor_height / 2.0f)); -#line 464 "quicklist-view.vala" - cairo_line_to (cr, anchor_x + anchor_width, y + radius); -#line 885 "quicklist-view.c" - } -#line 468 "quicklist-view.vala" +#line 598 "quicklist-view.vala" + cairo_line_to (cr, anchor_x + anchor_width, anchor_y + (anchor_height / 2.0f)); +#line 599 "quicklist-view.vala" + cairo_line_to (cr, anchor_x, anchor_y); +#line 600 "quicklist-view.vala" + cairo_line_to (cr, anchor_x + anchor_width, anchor_y - (anchor_height / 2.0f)); +#line 603 "quicklist-view.vala" cairo_arc (cr, x + radius, y + radius, radius, (180.0f * G_PI) / 180.0f, (270.0f * G_PI) / 180.0f); -#line 889 "quicklist-view.c" +#line 1181 "quicklist-view.c" } -#line 475 "quicklist-view.vala" +#line 610 "quicklist-view.vala" static void _unity_quicklauncher_quicklist_menu_draw_mask (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, gint w, gint h, float anchor_y) { -#line 895 "quicklist-view.c" - double _tmp0_ = 0.0; - gboolean _tmp1_ = FALSE; -#line 475 "quicklist-view.vala" +#line 610 "quicklist-view.vala" g_return_if_fail (self != NULL); -#line 475 "quicklist-view.vala" +#line 610 "quicklist-view.vala" g_return_if_fail (cr != NULL); -#line 491 "quicklist-view.vala" - if (anchor_y != 0.0f) { -#line 491 "quicklist-view.vala" - _tmp0_ = anchor_y + ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_SHADOW_SIZE / 2)); -#line 906 "quicklist-view.c" - } else { -#line 491 "quicklist-view.vala" - _tmp0_ = (double) (((float) h) / 2.0f); -#line 910 "quicklist-view.c" - } -#line 492 "quicklist-view.vala" - if (anchor_y != 0.0f) { -#line 492 "quicklist-view.vala" - _tmp1_ = FALSE; -#line 916 "quicklist-view.c" - } else { -#line 492 "quicklist-view.vala" - _tmp1_ = TRUE; -#line 920 "quicklist-view.c" - } -#line 481 "quicklist-view.vala" - _unity_quicklauncher_quicklist_menu_round_rect_anchor (self, cr, (double) 1.0f, 0.5f + ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_ANCHOR_WIDTH + UNITY_QUICKLAUNCHER_SHADOW_SIZE)), 0.5f + ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_SHADOW_SIZE), ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_CORNER_RADIUS), (((double) w) - 1.0f) - ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_ANCHOR_WIDTH + (2 * UNITY_QUICKLAUNCHER_SHADOW_SIZE))), (((double) h) - 1.0f) - ctk_em_to_pixel ((double) (2 * UNITY_QUICKLAUNCHER_SHADOW_SIZE)), ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_ANCHOR_WIDTH), ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_ANCHOR_HEIGHT), ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_SHADOW_SIZE), _tmp0_, _tmp1_); -#line 924 "quicklist-view.c" +#line 616 "quicklist-view.vala" + _unity_quicklauncher_quicklist_menu_round_rect_anchor (self, cr, (double) 1.0f, 0.5f + ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_ANCHOR_WIDTH + UNITY_QUICKLAUNCHER_SHADOW_SIZE)), 0.5f + ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_SHADOW_SIZE), ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_CORNER_RADIUS), (((double) w) - 1.0f) - ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_ANCHOR_WIDTH + (2 * UNITY_QUICKLAUNCHER_SHADOW_SIZE))), (((double) h) - 1.0f) - ctk_em_to_pixel ((double) (2 * UNITY_QUICKLAUNCHER_SHADOW_SIZE)), ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_ANCHOR_WIDTH), ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_ANCHOR_HEIGHT), ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_SHADOW_SIZE), (double) anchor_y); +#line 1193 "quicklist-view.c" } -#line 495 "quicklist-view.vala" +#line 629 "quicklist-view.vala" static void _unity_quicklauncher_quicklist_menu_full_mask (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, gint w, gint h, float anchor_y) { -#line 495 "quicklist-view.vala" +#line 629 "quicklist-view.vala" g_return_if_fail (self != NULL); -#line 495 "quicklist-view.vala" +#line 629 "quicklist-view.vala" g_return_if_fail (cr != NULL); -#line 502 "quicklist-view.vala" +#line 636 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); -#line 503 "quicklist-view.vala" +#line 637 "quicklist-view.vala" cairo_paint (cr); -#line 504 "quicklist-view.vala" +#line 638 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); -#line 505 "quicklist-view.vala" +#line 639 "quicklist-view.vala" cairo_set_source_rgba (cr, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 1.0f); -#line 506 "quicklist-view.vala" +#line 640 "quicklist-view.vala" cairo_paint (cr); -#line 944 "quicklist-view.c" +#line 1213 "quicklist-view.c" } -#line 509 "quicklist-view.vala" +#line 643 "quicklist-view.vala" static void _unity_quicklauncher_quicklist_menu_fill_mask (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, gint w, gint h, float anchor_y) { -#line 509 "quicklist-view.vala" +#line 643 "quicklist-view.vala" g_return_if_fail (self != NULL); -#line 509 "quicklist-view.vala" +#line 643 "quicklist-view.vala" g_return_if_fail (cr != NULL); -#line 516 "quicklist-view.vala" +#line 650 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); -#line 517 "quicklist-view.vala" +#line 651 "quicklist-view.vala" cairo_paint (cr); -#line 520 "quicklist-view.vala" +#line 654 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); -#line 521 "quicklist-view.vala" +#line 655 "quicklist-view.vala" cairo_scale (cr, (double) 1.0f, (double) 1.0f); -#line 522 "quicklist-view.vala" +#line 656 "quicklist-view.vala" cairo_set_source_rgba (cr, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 1.0f); -#line 525 "quicklist-view.vala" +#line 659 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_draw_mask (self, cr, w, h, anchor_y); -#line 526 "quicklist-view.vala" +#line 660 "quicklist-view.vala" cairo_fill (cr); -#line 968 "quicklist-view.c" +#line 1237 "quicklist-view.c" } -#line 529 "quicklist-view.vala" +#line 663 "quicklist-view.vala" static void _unity_quicklauncher_quicklist_menu_main_bg (UnityQuicklauncherQuicklistMenu* self, cairo_t* cr, gint w, gint h, float anchor_y) { -#line 974 "quicklist-view.c" +#line 1243 "quicklist-view.c" cairo_surface_t* dots; cairo_t* cr_dots; cairo_pattern_t* dot_pattern; cairo_pattern_t* hl_pattern; cairo_pattern_t* _tmp0_; cairo_pattern_t* _tmp1_; -#line 529 "quicklist-view.vala" +#line 663 "quicklist-view.vala" g_return_if_fail (self != NULL); -#line 529 "quicklist-view.vala" +#line 663 "quicklist-view.vala" g_return_if_fail (cr != NULL); -#line 535 "quicklist-view.vala" +#line 669 "quicklist-view.vala" dots = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 4, 4); -#line 536 "quicklist-view.vala" +#line 670 "quicklist-view.vala" cr_dots = cairo_create (dots); -#line 989 "quicklist-view.c" +#line 1258 "quicklist-view.c" dot_pattern = NULL; hl_pattern = NULL; -#line 541 "quicklist-view.vala" +#line 675 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); -#line 542 "quicklist-view.vala" +#line 676 "quicklist-view.vala" cairo_paint (cr); -#line 545 "quicklist-view.vala" +#line 679 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_OVER); -#line 546 "quicklist-view.vala" +#line 680 "quicklist-view.vala" cairo_scale (cr, (double) 1.0f, (double) 1.0f); -#line 547 "quicklist-view.vala" +#line 681 "quicklist-view.vala" cairo_set_source_rgba (cr, (double) 0.0f, (double) 0.0f, (double) 0.0f, (double) 0.48f); -#line 550 "quicklist-view.vala" +#line 684 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_draw_mask (self, cr, w, h, anchor_y); -#line 551 "quicklist-view.vala" +#line 685 "quicklist-view.vala" cairo_fill (cr); -#line 552 "quicklist-view.vala" +#line 686 "quicklist-view.vala" ctk_surface_blur (cairo_get_target (cr), (guint) ((gint) ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_SHADOW_SIZE / 2)))); -#line 555 "quicklist-view.vala" +#line 689 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); -#line 556 "quicklist-view.vala" +#line 690 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_draw_mask (self, cr, w, h, anchor_y); -#line 557 "quicklist-view.vala" +#line 691 "quicklist-view.vala" cairo_fill (cr); -#line 560 "quicklist-view.vala" +#line 694 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_OVER); -#line 561 "quicklist-view.vala" +#line 695 "quicklist-view.vala" cairo_scale (cr, (double) 1.0f, (double) 1.0f); -#line 562 "quicklist-view.vala" +#line 696 "quicklist-view.vala" cairo_set_source_rgba (cr, (double) 0.0f, (double) 0.0f, (double) 0.0f, (double) 0.3f); -#line 563 "quicklist-view.vala" +#line 697 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_draw_mask (self, cr, w, h, anchor_y); -#line 564 "quicklist-view.vala" +#line 698 "quicklist-view.vala" cairo_fill (cr); -#line 567 "quicklist-view.vala" +#line 701 "quicklist-view.vala" cairo_set_operator (cr_dots, CAIRO_OPERATOR_CLEAR); -#line 568 "quicklist-view.vala" +#line 702 "quicklist-view.vala" cairo_paint (cr_dots); -#line 569 "quicklist-view.vala" +#line 703 "quicklist-view.vala" cairo_scale (cr_dots, (double) 1.0f, (double) 1.0f); -#line 570 "quicklist-view.vala" +#line 704 "quicklist-view.vala" cairo_set_operator (cr_dots, CAIRO_OPERATOR_OVER); -#line 571 "quicklist-view.vala" +#line 705 "quicklist-view.vala" cairo_set_source_rgba (cr_dots, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 0.15f); -#line 572 "quicklist-view.vala" +#line 706 "quicklist-view.vala" cairo_rectangle (cr_dots, (double) 0.0f, (double) 0.0f, (double) 1.0f, (double) 1.0f); -#line 573 "quicklist-view.vala" +#line 707 "quicklist-view.vala" cairo_fill (cr_dots); -#line 574 "quicklist-view.vala" +#line 708 "quicklist-view.vala" cairo_rectangle (cr_dots, (double) 2.0f, (double) 2.0f, (double) 1.0f, (double) 1.0f); -#line 575 "quicklist-view.vala" +#line 709 "quicklist-view.vala" cairo_fill (cr_dots); -#line 576 "quicklist-view.vala" +#line 710 "quicklist-view.vala" dot_pattern = (_tmp0_ = cairo_pattern_create_for_surface (dots), _cairo_pattern_destroy0 (dot_pattern), _tmp0_); -#line 577 "quicklist-view.vala" +#line 711 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_OVER); -#line 578 "quicklist-view.vala" +#line 712 "quicklist-view.vala" cairo_set_source (cr, dot_pattern); -#line 579 "quicklist-view.vala" +#line 713 "quicklist-view.vala" cairo_pattern_set_extend (dot_pattern, CAIRO_EXTEND_REPEAT); -#line 580 "quicklist-view.vala" +#line 714 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_draw_mask (self, cr, w, h, anchor_y); -#line 581 "quicklist-view.vala" +#line 715 "quicklist-view.vala" cairo_fill (cr); -#line 584 "quicklist-view.vala" +#line 718 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_OVER); -#line 585 "quicklist-view.vala" +#line 719 "quicklist-view.vala" hl_pattern = (_tmp1_ = cairo_pattern_create_radial (((double) w) / 2.0f, ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_BORDER), (double) 0.0f, ((double) w) / 2.0f, ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_BORDER), ((double) w) / 2.0f), _cairo_pattern_destroy0 (hl_pattern), _tmp1_); -#line 591 "quicklist-view.vala" +#line 725 "quicklist-view.vala" cairo_pattern_add_color_stop_rgba (hl_pattern, (double) 0.0f, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 1.0f); -#line 592 "quicklist-view.vala" +#line 726 "quicklist-view.vala" cairo_pattern_add_color_stop_rgba (hl_pattern, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 0.0f); -#line 593 "quicklist-view.vala" +#line 727 "quicklist-view.vala" cairo_set_source (cr, hl_pattern); -#line 594 "quicklist-view.vala" +#line 728 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_draw_mask (self, cr, w, h, anchor_y); -#line 595 "quicklist-view.vala" +#line 729 "quicklist-view.vala" cairo_fill (cr); -#line 598 "quicklist-view.vala" +#line 732 "quicklist-view.vala" cairo_set_operator (cr, CAIRO_OPERATOR_OVER); -#line 599 "quicklist-view.vala" +#line 733 "quicklist-view.vala" cairo_set_line_width (cr, ctk_em_to_pixel ((double) UNITY_QUICKLAUNCHER_LINE_WIDTH)); -#line 600 "quicklist-view.vala" +#line 734 "quicklist-view.vala" cairo_set_source_rgba (cr, (double) 1.0f, (double) 1.0f, (double) 1.0f, (double) 1.0f); -#line 601 "quicklist-view.vala" +#line 735 "quicklist-view.vala" _unity_quicklauncher_quicklist_menu_draw_mask (self, cr, w, h, anchor_y); -#line 602 "quicklist-view.vala" +#line 736 "quicklist-view.vala" cairo_stroke (cr); -#line 1078 "quicklist-view.c" +#line 1347 "quicklist-view.c" _cairo_surface_destroy0 (dots); _cairo_destroy0 (cr_dots); _cairo_pattern_destroy0 (dot_pattern); @@ -1082,57 +1351,49 @@ static void _unity_quicklauncher_quicklist_menu_main_bg (UnityQuicklauncherQuick } -#line 605 "quicklist-view.vala" +#line 739 "quicklist-view.vala" static void unity_quicklauncher_quicklist_menu_real_paint (ClutterActor* base) { -#line 1088 "quicklist-view.c" +#line 1357 "quicklist-view.c" UnityQuicklauncherQuicklistMenu * self; float x = 0.0F; float y = 0.0F; self = (UnityQuicklauncherQuicklistMenu*) base; -#line 614 "quicklist-view.vala" +#line 748 "quicklist-view.vala" ctk_menu_refresh_background_texture (CTK_MENU (self)); -#line 619 "quicklist-view.vala" +#line 753 "quicklist-view.vala" clutter_actor_get_position ((ClutterActor*) self, &x, &y); -#line 620 "quicklist-view.vala" +#line 754 "quicklist-view.vala" if (self->priv->cached_x == 0.0f) { -#line 621 "quicklist-view.vala" +#line 755 "quicklist-view.vala" self->priv->cached_x = x; -#line 1101 "quicklist-view.c" +#line 1370 "quicklist-view.c" } -#line 622 "quicklist-view.vala" +#line 756 "quicklist-view.vala" if (self->priv->cached_x != x) { -#line 623 "quicklist-view.vala" +#line 757 "quicklist-view.vala" clutter_actor_set_position ((ClutterActor*) self, self->priv->cached_x, y); -#line 1107 "quicklist-view.c" +#line 1376 "quicklist-view.c" } -#line 626 "quicklist-view.vala" +#line 760 "quicklist-view.vala" if (!ctk_layer_actor_is_flattened (self->priv->ql_background)) { -#line 627 "quicklist-view.vala" +#line 761 "quicklist-view.vala" ctk_layer_actor_flatten (self->priv->ql_background); -#line 1113 "quicklist-view.c" +#line 1382 "quicklist-view.c" } -#line 629 "quicklist-view.vala" +#line 763 "quicklist-view.vala" CLUTTER_ACTOR_CLASS (unity_quicklauncher_quicklist_menu_parent_class)->paint ((ClutterActor*) CTK_MENU (self)); -#line 1117 "quicklist-view.c" +#line 1386 "quicklist-view.c" } -#line 632 "quicklist-view.vala" +#line 766 "quicklist-view.vala" static void unity_quicklauncher_quicklist_menu_real_allocate (ClutterActor* base, const ClutterActorBox* box, ClutterAllocationFlags flags) { -#line 1123 "quicklist-view.c" +#line 1392 "quicklist-view.c" UnityQuicklauncherQuicklistMenu * self; gint w = 0; gint h = 0; - float x = 0.0F; - float y = 0.0F; - float ax = 0.0F; - float ay = 0.0F; - float aw = 0.0F; - float ah = 0.0F; - float new_y = 0.0F; guint blurred_id; gboolean _tmp0_ = FALSE; - CtkActor* actor; CtkLayerActor* _tmp1_; CtkLayer* main_layer; CtkLayer* blurred_layer; @@ -1143,106 +1404,93 @@ static void unity_quicklauncher_quicklist_menu_real_allocate (ClutterActor* base cairo_t* fill_cr; cairo_t* main_cr; self = (UnityQuicklauncherQuicklistMenu*) base; -#line 645 "quicklist-view.vala" +#line 772 "quicklist-view.vala" blurred_id = (guint) 0; -#line 647 "quicklist-view.vala" +#line 774 "quicklist-view.vala" CLUTTER_ACTOR_CLASS (unity_quicklauncher_quicklist_menu_parent_class)->allocate ((ClutterActor*) CTK_MENU (self), box, flags); -#line 648 "quicklist-view.vala" +#line 775 "quicklist-view.vala" w = (gint) ((*box).x2 - (*box).x1); -#line 649 "quicklist-view.vala" +#line 776 "quicklist-view.vala" h = (gint) ((*box).y2 - (*box).y1); -#line 653 "quicklist-view.vala" +#line 780 "quicklist-view.vala" if (self->priv->old_width == w) { -#line 653 "quicklist-view.vala" +#line 780 "quicklist-view.vala" _tmp0_ = self->priv->old_height == h; -#line 1159 "quicklist-view.c" +#line 1420 "quicklist-view.c" } else { -#line 653 "quicklist-view.vala" +#line 780 "quicklist-view.vala" _tmp0_ = FALSE; -#line 1163 "quicklist-view.c" +#line 1424 "quicklist-view.c" } -#line 653 "quicklist-view.vala" +#line 780 "quicklist-view.vala" if (_tmp0_) { -#line 654 "quicklist-view.vala" +#line 781 "quicklist-view.vala" return; -#line 1169 "quicklist-view.c" +#line 1430 "quicklist-view.c" } -#line 664 "quicklist-view.vala" - actor = _g_object_ref0 (ctk_menu_get_attached_actor ((CtkMenu*) self)); -#line 665 "quicklist-view.vala" - clutter_actor_get_position ((ClutterActor*) actor, &ax, &ay); -#line 666 "quicklist-view.vala" - clutter_actor_get_size ((ClutterActor*) actor, &aw, &ah); -#line 667 "quicklist-view.vala" - clutter_actor_get_position ((ClutterActor*) self, &x, &y); -#line 668 "quicklist-view.vala" - if (ctk_menu_get_num_items ((CtkMenu*) self) != 1) { -#line 669 "quicklist-view.vala" - new_y = ah / 2.0f; -#line 1183 "quicklist-view.c" - } else { -#line 671 "quicklist-view.vala" - new_y = 0.0f; -#line 1187 "quicklist-view.c" +#line 791 "quicklist-view.vala" + if (ctk_menu_get_num_items ((CtkMenu*) self) == 1) { +#line 792 "quicklist-view.vala" + self->priv->cached_y = ((float) h) / 2.0f; +#line 1436 "quicklist-view.c" } -#line 675 "quicklist-view.vala" +#line 796 "quicklist-view.vala" blurred_id = ctk_menu_get_framebuffer_background (CTK_MENU (self)); -#line 678 "quicklist-view.vala" +#line 799 "quicklist-view.vala" self->priv->old_width = w; -#line 679 "quicklist-view.vala" +#line 800 "quicklist-view.vala" self->priv->old_height = h; -#line 682 "quicklist-view.vala" +#line 803 "quicklist-view.vala" if (CTK_IS_LAYER_ACTOR (self->priv->ql_background)) { -#line 683 "quicklist-view.vala" +#line 804 "quicklist-view.vala" clutter_actor_destroy ((ClutterActor*) self->priv->ql_background); -#line 1199 "quicklist-view.c" +#line 1448 "quicklist-view.c" } -#line 684 "quicklist-view.vala" +#line 805 "quicklist-view.vala" self->priv->ql_background = (_tmp1_ = g_object_ref_sink ((CtkLayerActor*) ctk_layer_actor_new ((guint) w, (guint) h)), _g_object_unref0 (self->priv->ql_background), _tmp1_); -#line 686 "quicklist-view.vala" +#line 807 "quicklist-view.vala" main_layer = ctk_layer_new ((guint) w, (guint) h, CTK_LAYER_REPEAT_NONE, CTK_LAYER_REPEAT_NONE); -#line 690 "quicklist-view.vala" +#line 811 "quicklist-view.vala" blurred_layer = ctk_layer_new ((guint) w, (guint) h, CTK_LAYER_REPEAT_NONE, CTK_LAYER_REPEAT_NONE); -#line 695 "quicklist-view.vala" +#line 816 "quicklist-view.vala" full_surf = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, w, h); -#line 698 "quicklist-view.vala" +#line 819 "quicklist-view.vala" fill_surf = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, w, h); -#line 701 "quicklist-view.vala" +#line 822 "quicklist-view.vala" main_surf = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, w, h); -#line 705 "quicklist-view.vala" +#line 826 "quicklist-view.vala" full_cr = cairo_create (full_surf); -#line 706 "quicklist-view.vala" +#line 827 "quicklist-view.vala" fill_cr = cairo_create (fill_surf); -#line 707 "quicklist-view.vala" +#line 828 "quicklist-view.vala" main_cr = cairo_create (main_surf); -#line 709 "quicklist-view.vala" - _unity_quicklauncher_quicklist_menu_full_mask (self, full_cr, w, h, new_y); -#line 710 "quicklist-view.vala" - _unity_quicklauncher_quicklist_menu_fill_mask (self, fill_cr, w, h, new_y); -#line 711 "quicklist-view.vala" - _unity_quicklauncher_quicklist_menu_main_bg (self, main_cr, w, h, new_y); -#line 714 "quicklist-view.vala" +#line 830 "quicklist-view.vala" + _unity_quicklauncher_quicklist_menu_full_mask (self, full_cr, w, h, self->priv->cached_y); +#line 831 "quicklist-view.vala" + _unity_quicklauncher_quicklist_menu_fill_mask (self, fill_cr, w, h, self->priv->cached_y); +#line 832 "quicklist-view.vala" + _unity_quicklauncher_quicklist_menu_main_bg (self, main_cr, w, h, self->priv->cached_y); +#line 835 "quicklist-view.vala" ctk_layer_set_mask_from_surface (main_layer, full_surf); -#line 715 "quicklist-view.vala" +#line 836 "quicklist-view.vala" ctk_layer_set_image_from_surface (main_layer, main_surf); -#line 716 "quicklist-view.vala" +#line 837 "quicklist-view.vala" ctk_layer_set_opacity (main_layer, (guchar) 255); -#line 718 "quicklist-view.vala" +#line 839 "quicklist-view.vala" ctk_layer_set_mask_from_surface (blurred_layer, fill_surf); -#line 719 "quicklist-view.vala" +#line 840 "quicklist-view.vala" ctk_layer_set_image_from_id (blurred_layer, blurred_id); -#line 720 "quicklist-view.vala" +#line 841 "quicklist-view.vala" ctk_layer_set_opacity (blurred_layer, (guchar) 255); -#line 723 "quicklist-view.vala" +#line 844 "quicklist-view.vala" ctk_layer_actor_add_layer (self->priv->ql_background, blurred_layer); -#line 724 "quicklist-view.vala" +#line 845 "quicklist-view.vala" ctk_layer_actor_add_layer (self->priv->ql_background, main_layer); -#line 726 "quicklist-view.vala" +#line 847 "quicklist-view.vala" ctk_menu_set_background ((CtkMenu*) self, (ClutterActor*) self->priv->ql_background); -#line 727 "quicklist-view.vala" +#line 848 "quicklist-view.vala" clutter_actor_set_opacity ((ClutterActor*) self->priv->ql_background, (guint8) 255); -#line 1245 "quicklist-view.c" - _g_object_unref0 (actor); +#line 1494 "quicklist-view.c" _g_object_unref0 (main_layer); _g_object_unref0 (blurred_layer); _cairo_surface_destroy0 (full_surf); @@ -1254,20 +1502,20 @@ static void unity_quicklauncher_quicklist_menu_real_allocate (ClutterActor* base } -#line 397 "quicklist-view.vala" +#line 541 "quicklist-view.vala" UnityQuicklauncherQuicklistMenu* unity_quicklauncher_quicklist_menu_construct (GType object_type) { -#line 1260 "quicklist-view.c" +#line 1508 "quicklist-view.c" UnityQuicklauncherQuicklistMenu * self; self = g_object_newv (object_type, 0, NULL); return self; } -#line 397 "quicklist-view.vala" +#line 541 "quicklist-view.vala" UnityQuicklauncherQuicklistMenu* unity_quicklauncher_quicklist_menu_new (void) { -#line 397 "quicklist-view.vala" +#line 541 "quicklist-view.vala" return unity_quicklauncher_quicklist_menu_construct (UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU); -#line 1271 "quicklist-view.c" +#line 1519 "quicklist-view.c" } @@ -1279,19 +1527,21 @@ static GObject * unity_quicklauncher_quicklist_menu_constructor (GType type, gui obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = UNITY_QUICKLAUNCHER_QUICKLIST_MENU (obj); { - CtkPadding _tmp7_ = {0}; + CtkPadding _tmp8_ = {0}; CtkPadding padding; -#line 732 "quicklist-view.vala" - padding = (memset (&_tmp7_, 0, sizeof (CtkPadding)), _tmp7_.left = (float) ((gint) ctk_em_to_pixel ((double) ((UNITY_QUICKLAUNCHER_ANCHOR_WIDTH + UNITY_QUICKLAUNCHER_BORDER) + UNITY_QUICKLAUNCHER_SHADOW_SIZE))), _tmp7_.right = (float) ((gint) ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_BORDER + UNITY_QUICKLAUNCHER_SHADOW_SIZE))), _tmp7_.top = (float) ((gint) ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_BORDER + UNITY_QUICKLAUNCHER_SHADOW_SIZE))), _tmp7_.bottom = (float) ((gint) ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_BORDER + UNITY_QUICKLAUNCHER_SHADOW_SIZE))), _tmp7_); -#line 738 "quicklist-view.vala" +#line 853 "quicklist-view.vala" + padding = (memset (&_tmp8_, 0, sizeof (CtkPadding)), _tmp8_.left = (float) ((gint) ctk_em_to_pixel ((double) ((UNITY_QUICKLAUNCHER_ANCHOR_WIDTH + UNITY_QUICKLAUNCHER_BORDER) + UNITY_QUICKLAUNCHER_SHADOW_SIZE))), _tmp8_.right = (float) ((gint) ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_BORDER + UNITY_QUICKLAUNCHER_SHADOW_SIZE))), _tmp8_.top = (float) ((gint) ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_BORDER + UNITY_QUICKLAUNCHER_SHADOW_SIZE))), _tmp8_.bottom = (float) ((gint) ctk_em_to_pixel ((double) (UNITY_QUICKLAUNCHER_BORDER + UNITY_QUICKLAUNCHER_SHADOW_SIZE))), _tmp8_); +#line 859 "quicklist-view.vala" ctk_actor_set_padding ((CtkActor*) self, &padding); -#line 741 "quicklist-view.vala" +#line 862 "quicklist-view.vala" self->priv->old_width = 0; -#line 742 "quicklist-view.vala" +#line 863 "quicklist-view.vala" self->priv->old_height = 0; -#line 743 "quicklist-view.vala" +#line 864 "quicklist-view.vala" self->priv->cached_x = 0.0f; -#line 1295 "quicklist-view.c" +#line 865 "quicklist-view.vala" + self->priv->cached_y = 0.0f; +#line 1545 "quicklist-view.c" } return obj; } diff --git a/src/quicklauncher/quicklist-view.vala b/src/quicklauncher/quicklist-view.vala index 266ff29b5..b432ef76a 100644 --- a/src/quicklauncher/quicklist-view.vala +++ b/src/quicklauncher/quicklist-view.vala @@ -34,6 +34,150 @@ namespace Unity.Quicklauncher const float ANCHOR_HEIGHT = 1.5f; const float ANCHOR_WIDTH = 0.75f; + // we subclass Ctk.MenuSeperator here because we need to adapt it's appearance + public class QuicklistMenuSeperator : Ctk.MenuSeperator + { + Ctk.LayerActor seperator_background; + int old_width; + int old_height; + + private void + _fill_mask (Cairo.Context cr, + int w, + int h) + { + // clear context + cr.set_operator (Cairo.Operator.CLEAR); + cr.paint (); + + // fill whole context with opaque white + cr.set_operator (Cairo.Operator.SOURCE); + cr.scale (1.0f, 1.0f); + cr.set_source_rgba (1.0f, 1.0f, 1.0f, 1.0f); + cr.paint (); + } + + private void + _image_bg (Cairo.Context cr, + int w, + int h) + { + // clear context + cr.set_operator (Cairo.Operator.CLEAR); + cr.paint (); + + // draw separator-line + cr.scale (1.0f, 1.0f); + cr.set_operator (Cairo.Operator.OVER); + + // force the separator line to be 1-pixel thick + cr.set_line_width (1.0f); + + cr.set_source_rgba (1.0f, 1.0f, 1.0f, 1.0f); + cr.set_line_cap (Cairo.LineCap.ROUND); + + // align to the pixel-grid + float half_height = (float) h / 2.0f; + float fract = half_height - (int) half_height; + if (fract == 0.0f) + half_height += 0.5f; + cr.move_to (0.0f, half_height); + cr.line_to ((float) w, half_height); + + cr.stroke (); + } + + private override void + paint () + { + this.seperator_background.paint (); + } + + public override void + get_preferred_height (float for_width, + out float min_height_p, + out float natural_height_p) + { + min_height_p = (float) Ctk.em_to_pixel (GAP); + natural_height_p = min_height_p; + } + + public override void + get_preferred_width (float for_height, + out float min_width_p, + out float natural_width_p) + { + min_width_p = (float) Ctk.em_to_pixel (2 * MARGIN); + natural_width_p = min_width_p; + } + + private override void + allocate (Clutter.ActorBox box, + Clutter.AllocationFlags flags) + { + int w; + int h; + + base.allocate (box, flags); + w = (int) (box.x2 - box.x1); + h = (int) (box.y2 - box.y1); + + // exit early if the allocation-width/height didn't change, this is needed + // because clutter triggers calling allocate even if nothing changed + if ((old_width == w) && (old_height == h)) + return; + + // before creating a new CtkLayerActor make sure we don't leak any memory + if (this.seperator_background is Ctk.LayerActor) + this.seperator_background.destroy (); + + this.seperator_background = new Ctk.LayerActor (w, h); + + Ctk.Layer layer = new Ctk.Layer (w, + h, + Ctk.LayerRepeatMode.NONE, + Ctk.LayerRepeatMode.NONE); + Cairo.Surface fill_surf = new Cairo.ImageSurface (Cairo.Format.ARGB32, + w, + h); + Cairo.Surface image_surf = new Cairo.ImageSurface (Cairo.Format.ARGB32, + w, + h); + Cairo.Context fill_cr = new Cairo.Context (fill_surf); + Cairo.Context image_cr = new Cairo.Context (image_surf); + + _fill_mask (fill_cr, w, h); + _image_bg (image_cr, w, h); + + layer.set_mask_from_surface (fill_surf); + layer.set_image_from_surface (image_surf); + layer.set_opacity (255); + + this.seperator_background.add_layer (layer); + + //this.set_background (this.seperator_background); + this.seperator_background.set_opacity (255); + + this.seperator_background.set_parent (this); + this.seperator_background.map (); + this.seperator_background.show (); + } + + construct + { + Ctk.Padding padding = Ctk.Padding () { + left = (int) Ctk.em_to_pixel (MARGIN), + right = (int) Ctk.em_to_pixel (MARGIN), + top = (int) Ctk.em_to_pixel (MARGIN), + bottom = (int) Ctk.em_to_pixel (MARGIN) + }; + this.set_padding (padding); + + old_width = 0; + old_height = 0; + } + } + // we subclass Ctk.MenuItem here because we need to adapt it's appearance public class QuicklistMenuItem : Ctk.Actor { @@ -400,6 +544,7 @@ namespace Unity.Quicklauncher int old_width; int old_height; float cached_x; // needed to fix LP: #525905 + float cached_y; // needed to fix LP: #526335 private void _round_rect_anchor (Cairo.Context cr, @@ -412,8 +557,7 @@ namespace Unity.Quicklauncher double anchor_width, // width of anchor double anchor_height, // height of anchor double anchor_x, // x of anchor - double anchor_y, // y of anchor - bool is_label) // flag for anchor-arrow + double anchor_y) // y of anchor { double radius = corner_radius / aspect; @@ -451,18 +595,9 @@ namespace Unity.Quicklauncher 180.0f * GLib.Math.PI / 180.0f); // draw anchor-arrow - if (is_label) - { - cr.line_to (anchor_x + anchor_width, anchor_y + anchor_height / 2.0f); - cr.line_to (anchor_x, anchor_y); - cr.line_to (anchor_x + anchor_width, anchor_y - anchor_height / 2.0f); - } - else - { - cr.line_to (anchor_x + anchor_width, y + radius + anchor_height); - cr.line_to (anchor_x, y + radius + anchor_height / 2.0f); - cr.line_to (anchor_x + anchor_width, y + radius); - } + cr.line_to (anchor_x + anchor_width, anchor_y + anchor_height / 2.0f); + cr.line_to (anchor_x, anchor_y); + cr.line_to (anchor_x + anchor_width, anchor_y - anchor_height / 2.0f); // top-left, right of the corner cr.arc (x + radius, @@ -488,8 +623,7 @@ namespace Unity.Quicklauncher Ctk.em_to_pixel (ANCHOR_WIDTH), Ctk.em_to_pixel (ANCHOR_HEIGHT), Ctk.em_to_pixel (SHADOW_SIZE), - anchor_y != 0.0f ? anchor_y + Ctk.em_to_pixel (SHADOW_SIZE/2) : (float) h / 2.0f, - anchor_y != 0.0f ? false : true); + anchor_y); } private void @@ -633,16 +767,9 @@ namespace Unity.Quicklauncher allocate (Clutter.ActorBox box, Clutter.AllocationFlags flags) { - int w; - int h; - float x; - float y; - float ax; - float ay; - float aw; - float ah; - float new_y; - uint blurred_id = 0; + int w; + int h; + uint blurred_id = 0; base.allocate (box, flags); w = (int) (box.x2 - box.x1); @@ -661,14 +788,8 @@ namespace Unity.Quicklauncher // animations, e.g. its expose) //base.refresh_background_texture (); - Ctk.Actor actor = this.get_attached_actor (); - actor.get_position (out ax, out ay); - actor.get_size (out aw, out ah); - this.get_position (out x, out y); - if (get_num_items() != 1) - new_y = ah / 2.0f; - else - new_y = 0.0f; + if (get_num_items () == 1) + cached_y = (float) h / 2.0f; // do the texture-update/glReadPixels() thing here ... call it whatever // you feel fits best here ctk_menu_get_framebuffer_background() @@ -706,9 +827,9 @@ namespace Unity.Quicklauncher Cairo.Context fill_cr = new Cairo.Context (fill_surf); Cairo.Context main_cr = new Cairo.Context (main_surf); - _full_mask (full_cr, w, h, new_y); - _fill_mask (fill_cr, w, h, new_y); - _main_bg (main_cr, w, h, new_y); + _full_mask (full_cr, w, h, cached_y); + _fill_mask (fill_cr, w, h, cached_y); + _main_bg (main_cr, w, h, cached_y); //main_surf.write_to_png ("/tmp/main-surf.png"); main_layer.set_mask_from_surface (full_surf); @@ -741,6 +862,7 @@ namespace Unity.Quicklauncher old_width = 0; old_height = 0; cached_x = 0.0f; // needed to fix LP: #525905 + cached_y = 0.0f; // needed to fix LP: #526335 } } } diff --git a/src/unity-static.h b/src/unity-static.h index eddc9148e..d417b0cca 100644 --- a/src/unity-static.h +++ b/src/unity-static.h @@ -510,6 +510,17 @@ typedef struct _UnityQuicklauncherQuicklistController UnityQuicklauncherQuicklis typedef struct _UnityQuicklauncherQuicklistControllerClass UnityQuicklauncherQuicklistControllerClass; typedef struct _UnityQuicklauncherQuicklistControllerPrivate UnityQuicklauncherQuicklistControllerPrivate; +#define UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR (unity_quicklauncher_quicklist_menu_seperator_get_type ()) +#define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR, UnityQuicklauncherQuicklistMenuSeperator)) +#define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR, UnityQuicklauncherQuicklistMenuSeperatorClass)) +#define UNITY_QUICKLAUNCHER_IS_QUICKLIST_MENU_SEPERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR)) +#define UNITY_QUICKLAUNCHER_IS_QUICKLIST_MENU_SEPERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR)) +#define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_SEPERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_SEPERATOR, UnityQuicklauncherQuicklistMenuSeperatorClass)) + +typedef struct _UnityQuicklauncherQuicklistMenuSeperator UnityQuicklauncherQuicklistMenuSeperator; +typedef struct _UnityQuicklauncherQuicklistMenuSeperatorClass UnityQuicklauncherQuicklistMenuSeperatorClass; +typedef struct _UnityQuicklauncherQuicklistMenuSeperatorPrivate UnityQuicklauncherQuicklistMenuSeperatorPrivate; + #define UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_ITEM (unity_quicklauncher_quicklist_menu_item_get_type ()) #define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_ITEM, UnityQuicklauncherQuicklistMenuItem)) #define UNITY_QUICKLAUNCHER_QUICKLIST_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_QUICKLAUNCHER_TYPE_QUICKLIST_MENU_ITEM, UnityQuicklauncherQuicklistMenuItemClass)) @@ -1021,6 +1032,15 @@ struct _UnityQuicklauncherQuicklistControllerClass { GObjectClass parent_class; }; +struct _UnityQuicklauncherQuicklistMenuSeperator { + CtkMenuSeperator parent_instance; + UnityQuicklauncherQuicklistMenuSeperatorPrivate * priv; +}; + +struct _UnityQuicklauncherQuicklistMenuSeperatorClass { + CtkMenuSeperatorClass parent_class; +}; + struct _UnityQuicklauncherQuicklistMenuItem { CtkActor parent_instance; UnityQuicklauncherQuicklistMenuItemPrivate * priv; @@ -1322,6 +1342,9 @@ void unity_quicklauncher_quicklist_controller_show_menu (UnityQuicklauncherQuick void unity_quicklauncher_quicklist_controller_close_menu (UnityQuicklauncherQuicklistController* self); gboolean unity_quicklauncher_quicklist_controller_menu_is_open (UnityQuicklauncherQuicklistController* self); CtkActor* unity_quicklauncher_quicklist_controller_get_attached_actor (UnityQuicklauncherQuicklistController* self); +GType unity_quicklauncher_quicklist_menu_seperator_get_type (void); +UnityQuicklauncherQuicklistMenuSeperator* unity_quicklauncher_quicklist_menu_seperator_new (void); +UnityQuicklauncherQuicklistMenuSeperator* unity_quicklauncher_quicklist_menu_seperator_construct (GType object_type); GType unity_quicklauncher_quicklist_menu_item_get_type (void); UnityQuicklauncherQuicklistMenuItem* unity_quicklauncher_quicklist_menu_item_new (const char* label); UnityQuicklauncherQuicklistMenuItem* unity_quicklauncher_quicklist_menu_item_construct (GType object_type, const char* label); diff --git a/src/unity-static.vapi b/src/unity-static.vapi index a30ab04f2..0c477d701 100644 --- a/src/unity-static.vapi +++ b/src/unity-static.vapi @@ -396,6 +396,12 @@ namespace Unity { public signal void activated (); } [CCode (cheader_filename = "unity-static.h")] + public class QuicklistMenuSeperator : Ctk.MenuSeperator { + public QuicklistMenuSeperator (); + public override void get_preferred_height (float for_width, out float min_height_p, out float natural_height_p); + public override void get_preferred_width (float for_height, out float min_width_p, out float natural_width_p); + } + [CCode (cheader_filename = "unity-static.h")] public class View : Ctk.Bin { public Unity.Quicklauncher.Manager manager; public View (Unity.Shell shell); |
