コード例 #1
0
static gboolean
_labels_update_tooltip_idle_cb (PengeInterestingTile *tile)
{
    PengeInterestingTilePrivate *priv = GET_PRIVATE (tile);
    ClutterActor *tmp_text;
    PangoLayout *layout;

    tmp_text = mx_label_get_clutter_text (MX_LABEL (priv->primary_text));
    layout = clutter_text_get_layout (CLUTTER_TEXT (tmp_text));
    if (pango_layout_is_ellipsized (layout))
        mx_widget_set_tooltip_text (MX_WIDGET (priv->primary_text),
                                    mx_label_get_text (MX_LABEL (priv->primary_text)));
    else
        mx_widget_set_tooltip_text (MX_WIDGET (priv->primary_text),
                                    NULL);

    tmp_text = mx_label_get_clutter_text (MX_LABEL (priv->secondary_text));
    layout = clutter_text_get_layout (CLUTTER_TEXT (tmp_text));
    if (pango_layout_is_ellipsized (layout))
        mx_widget_set_tooltip_text (MX_WIDGET (priv->secondary_text),
                                    mx_label_get_text (MX_LABEL (priv->secondary_text)));
    else
        mx_widget_set_tooltip_text (MX_WIDGET (priv->secondary_text),
                                    NULL);

    priv->tooltip_idle_id = 0;


    return FALSE;
}
コード例 #2
0
static void
penge_count_tile_get_property (GObject    *gobject,
                               guint       prop_id,
                               GValue     *value,
                               GParamSpec *pspec)
{
  PengeCountTilePrivate *priv = PENGE_COUNT_TILE (gobject)->priv;

  switch (prop_id)
  {
    case PROP_MESSAGE:
      g_value_set_string (value,
                          mx_label_get_text (MX_LABEL (priv->message_label)));
      break;

    case PROP_ACCOUNT:
      g_value_set_string (value,
                          mx_label_get_text (MX_LABEL (priv->account_label)));
      break;

    case PROP_COUNT:
      g_value_set_uint (value, priv->count);
      break;

    case PROP_COMPACT:
      g_value_set_boolean (value, priv->compact);
      break;

    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
      break;
  }
}
コード例 #3
0
static void
mpl_application_view_get_property (GObject    *object,
                                   guint       property_id,
                                   GValue     *value,
                                   GParamSpec *pspec)
{
  MplApplicationViewPrivate *priv = APPLICATION_VIEW_PRIVATE (object);

  switch (property_id)
    {
    case PROP_ICON:
      g_value_set_object (value, priv->icon);
      break;

    case PROP_TITLE:
      g_value_set_string (value, mx_label_get_text (MX_LABEL (priv->title)));
      break;

    case PROP_SUBTITLE:
      g_value_set_string (value, mx_label_get_text (MX_LABEL (priv->subtitle)));
      break;

    case PROP_CAN_CLOSE:
      g_value_set_boolean (value, CLUTTER_ACTOR_IS_VISIBLE (priv->close_button));
      break;

    case PROP_THUMBNAIL:
      g_value_set_object (value, priv->thumbnail);
      break;

    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
    }
}
コード例 #4
0
gint
mnb_launcher_button_compare (MnbLauncherButton *self,
                             MnbLauncherButton *other)
{
  g_return_val_if_fail (self, 0);
  g_return_val_if_fail (other, 0);

  return g_utf8_collate (mx_label_get_text (MX_LABEL (self->priv->title)),
                         mx_label_get_text (MX_LABEL (other->priv->title)));
}
コード例 #5
0
static void
penge_count_tile_update_tooltip (PengeCountTile *self)
{
  PengeCountTilePrivate *priv = self->priv;
  gchar *tooltip_str;
  tooltip_str = g_strdup_printf ("%s\n%s",
                                 mx_label_get_text (MX_LABEL (priv->message_label)),
                                 mx_label_get_text (MX_LABEL (priv->account_label)));
  mx_widget_set_tooltip_text (MX_WIDGET (self), tooltip_str);
  g_free (tooltip_str);
}
コード例 #6
0
static char const *
mpd_folder_button_get_label (MpdFolderButton *self)
{
  MpdFolderButtonPrivate *priv = GET_PRIVATE (self);

  g_return_val_if_fail (MPD_IS_FOLDER_BUTTON (self), NULL);

  return mx_label_get_text (MX_LABEL (priv->label));
}
コード例 #7
0
void
mpl_application_view_set_subtitle (MplApplicationView *view,
                                   const gchar        *text)
{
  MplApplicationViewPrivate *priv;

  g_return_if_fail (MPL_IS_APPLICATION_VIEW (view));

  priv = view->priv;

  mx_label_set_text (MX_LABEL (priv->subtitle), text);

  if (!strcmp (mx_label_get_text (MX_LABEL (priv->title)),
               mx_label_get_text (MX_LABEL (priv->subtitle))))
    clutter_actor_hide (priv->subtitle);
  else
    clutter_actor_show (priv->subtitle);
}
コード例 #8
0
/**
 * mpl_content_pane_get_title:
 * @self: #MplContentPane
 *
 * Returns the current title of the pane.
 *
 * Return value: pane title
 */
char const *
mpl_content_pane_get_title (MplContentPane *self)
{
  MplContentPanePrivate *priv = GET_PRIVATE (self);

  g_return_val_if_fail (MPL_IS_CONTENT_PANE (self), NULL);

  return mx_label_get_text (priv->title);
}
コード例 #9
0
const char *
mnb_launcher_button_get_title (MnbLauncherButton *self)
{
  g_return_val_if_fail (self, NULL);

  if (self->priv->title)
    return mx_label_get_text (self->priv->title);
  else
    return NULL;
}
コード例 #10
0
gboolean
mnb_launcher_button_match (MnbLauncherButton *self,
                           const gchar       *lcase_needle)
{
  g_return_val_if_fail (self, 0);

  /* Empty key matches. */
  if (g_utf8_strlen (lcase_needle, -1) == 0)
    return TRUE;

  /* Category */
  if (!self->priv->category_key)
    self->priv->category_key = g_utf8_strdown (self->priv->category, -1);

  if (self->priv->category_key &&
      NULL != strstr (self->priv->category_key, lcase_needle))
    {
      return TRUE;
    }

  /* Title. */
  if (!self->priv->title_key)
    self->priv->title_key =
      g_utf8_strdown (mx_label_get_text (MX_LABEL (self->priv->title)),
                      -1);

  if (self->priv->title_key &&
      NULL != strstr (self->priv->title_key, lcase_needle))
    {
      return TRUE;
    }

  /* Description. */
  if (self->priv->description && !self->priv->description_key)
    self->priv->description_key = g_utf8_strdown (self->priv->description, -1);

  if (self->priv->description_key &&
      NULL != strstr (self->priv->description_key, lcase_needle))
    {
      return TRUE;
    }

  /* Executable. */
  if (self->priv->executable && !self->priv->executable_key)
    self->priv->executable_key = g_utf8_strdown (self->priv->executable, -1);

  if (self->priv->executable_key &&
      NULL != strstr (self->priv->executable_key, lcase_needle))
    {
      return TRUE;
    }

  return FALSE;
}
コード例 #11
0
static void
mpd_folder_button_set_label (MpdFolderButton  *self,
                             char const       *text)
{
  MpdFolderButtonPrivate *priv = GET_PRIVATE (self);

  g_return_if_fail (MPD_IS_FOLDER_BUTTON (self));

  if (0 != g_strcmp0 (text,
                      mx_label_get_text (MX_LABEL (priv->label))))
  {
    mx_label_set_text (MX_LABEL (priv->label), text);
    g_object_notify (G_OBJECT (self), "label");
  }
}
コード例 #12
0
/**
 * mpl_content_pane_set_title:
 * @self: #MplContentPane
 * @title: title
 *
 * Sets the title of the pane to the given string.
 */
void
mpl_content_pane_set_title (MplContentPane  *self,
                            char const      *title)
{
  MplContentPanePrivate *priv = GET_PRIVATE (self);
  bool do_notify;

  g_return_if_fail (MPL_IS_CONTENT_PANE (self));

  do_notify = g_strcmp0 (title, mx_label_get_text (priv->title));

  mx_label_set_text (priv->title, title);

  if (do_notify)
    g_object_notify ((GObject *) self, "title");
}
コード例 #13
0
static void
dawati_bt_request_get_property (GObject *object, guint property_id,
                              GValue *value, GParamSpec *pspec)
{
  DawatiBtRequestPrivate *priv = GET_PRIVATE (object);

  switch (property_id) {
    case PROP_NAME:
      g_value_set_string (value, mx_label_get_text (MX_LABEL (priv->title)));
      break;
    case PROP_DEVICE_PATH:
      g_value_set_string (value, priv->device_path);
      break;
    case PROP_REQUEST_TYPE:
      g_value_set_uint (value, priv->request);
      break;
    case PROP_REQUEST_DATA:
      g_value_set_string (value, priv->request_data);
      break;
  default:
    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
  }
}
コード例 #14
0
const gchar *
mex_column_view_get_label (MexColumnView *column)
{
  g_return_val_if_fail (MEX_IS_COLUMN_VIEW (column), NULL);
  return mx_label_get_text (MX_LABEL (column->priv->label));
}
コード例 #15
0
ファイル: mex-menu.c プロジェクト: ocrete/media-explorer
static const gchar *
mex_menu_item_get_detail (ClutterActor *item)
{
  MxLabel *label = g_object_get_data (G_OBJECT (item), "detail-label");
  return mx_label_get_text (label);
}
コード例 #16
0
/*
 * Volume is a value from 0.0 to 1.0
 */
static void
update_volume_label (MpdVolumeTile  *self,
                     double          volume)
{
  MpdVolumeTilePrivate *priv = GET_PRIVATE (self);
  char  *old_level;
  float  label_width;
  float  slider_width;
  float  x;

  g_return_if_fail (0.0 <= volume && volume <= 1.0);

  old_level = g_strdup (mx_label_get_text (MX_LABEL (priv->volume_label)));

  /* Label text */
  if (volume == 1.0)
    mx_label_set_text (MX_LABEL (priv->volume_label), _("Turned up to 11"));
  else if (volume >= 0.90)
    mx_label_set_text (MX_LABEL (priv->volume_label), _("Very loud"));
  else if (volume >= 0.75)
    mx_label_set_text (MX_LABEL (priv->volume_label), _("Loud"));
  else if (volume > 0.50)
    mx_label_set_text (MX_LABEL (priv->volume_label), _("Fairly loud"));
  else if (volume == 0.50)
    mx_label_set_text (MX_LABEL (priv->volume_label), _("Middle of the road"));
  else if (volume >= 0.25)
    mx_label_set_text (MX_LABEL (priv->volume_label), _("Fairly quiet"));
  else if (volume >= 0.10)
    mx_label_set_text (MX_LABEL (priv->volume_label), _("Quiet"));
  else if (volume > 0.0)
    mx_label_set_text (MX_LABEL (priv->volume_label), _("Very quiet"));
  else
    mx_label_set_text (MX_LABEL (priv->volume_label), _("Silent"));

  /* Label position */
  label_width = clutter_actor_get_width (priv->volume_label);
  slider_width = clutter_actor_get_width (priv->volume_slider);
  x = slider_width * volume - label_width / 2;
  x = CLAMP (x, 0.0, slider_width - label_width);
  clutter_actor_set_x (priv->volume_label, x);

  /* Notification */
  if (0 != g_strcmp0 (old_level,
                      mx_label_get_text (MX_LABEL (priv->volume_label))))
  {
    gint res;
    ca_proplist *proplist;
    ca_context *context;

    if (g_atomic_int_get (&priv->playing_event_sound) > 0)
      return;

    context = ca_gtk_context_get ();

    ca_proplist_create (&proplist);
    ca_proplist_sets (proplist,
                      CA_PROP_EVENT_ID,
                      VOLUME_CHANGED_EVENT);

    res = ca_context_play_full (context,
                                1,
                                proplist,
                                (ca_finish_callback_t )_play_sound_completed_cb,
                                self);
    ca_proplist_destroy (proplist);

    if (res != CA_SUCCESS)
    {
      g_warning ("%s: Error playing test sound: %s",
                 G_STRLOC,
                 ca_strerror (res));
    } else {
      g_atomic_int_inc (&priv->playing_event_sound);
    }
  }
  g_free (old_level);
}