コード例 #1
0
static void
row_activated (GtkListBox  *box,
               GtkListBoxRow *row,
               GtkDialog   *chooser)
{
        CcFormatChooserPrivate *priv = GET_PRIVATE (chooser);
        gchar *new_locale_id;

        if (priv->adding)
                return;

        if (row == NULL)
                return;

        if (row == priv->more_item) {
                show_more (chooser);
                return;
        }
        new_locale_id = g_object_get_data (G_OBJECT (row), "locale-id");
        if (g_strcmp0 (new_locale_id, priv->region) == 0) {
                gtk_dialog_response (GTK_DIALOG (chooser),
                                     gtk_dialog_get_response_for_widget (GTK_DIALOG (chooser),
                                                                         priv->done_button));
        } else {
                set_locale_id (chooser, new_locale_id);
        }
}
コード例 #2
0
void
cc_language_chooser_clear_filter (GtkWidget *chooser)
{
        CcLanguageChooserPrivate *priv = GET_PRIVATE (chooser);

        gtk_entry_set_text (GTK_ENTRY (priv->filter_entry), "");
        show_more (GTK_DIALOG (chooser), FALSE);
}
コード例 #3
0
static void
row_activated (GtkListBox        *box,
               GtkListBoxRow     *row,
               GtkDialog *chooser)
{
        CcLanguageChooserPrivate *priv = GET_PRIVATE (chooser);
        gchar *new_locale_id;

        if (row == NULL)
                return;

        if (row == priv->more_item) {
                show_more (chooser);
                return;
        }
        new_locale_id = g_object_get_data (G_OBJECT (row), "locale-id");
        set_locale_id (chooser, new_locale_id);
}
コード例 #4
0
static void
row_activated (GtkListBox *box,
               GtkListBoxRow *row,
               GtkWidget  *chooser)
{
  CcInputChooserPrivate *priv = GET_PRIVATE (chooser);
  gpointer data;

  if (!row)
    return;

  if (row == priv->more_row)
    {
      show_more (chooser);
      return;
    }

  data = g_object_get_data (G_OBJECT (row), "back");
  if (data)
    {
      show_locale_rows (chooser);
      return;
    }

  data = g_object_get_data (G_OBJECT (row), "name");
  if (data)
    {
      if (gtk_widget_is_sensitive (priv->add_button))
        gtk_dialog_response (GTK_DIALOG (chooser),
                             gtk_dialog_get_response_for_widget (GTK_DIALOG (chooser),
                                                                 priv->add_button));
      return;
    }

  data = g_object_get_data (G_OBJECT (row), "locale-info");
  if (data)
    {
      show_input_sources_for_locale (chooser, (LocaleInfo *) data);
      return;
    }
}
コード例 #5
0
static void
row_activated (GtkListBox *box,
               GtkListBoxRow *row,
               GtkWidget  *chooser)
{
  CcInputChooserPrivate *priv = GET_PRIVATE (chooser);
  gpointer data;
  GtkWidget *child;

  if (!row)
    return;

  child = gtk_bin_get_child (GTK_BIN (row));

  if (child == priv->more_item)
    {
      show_more (chooser);
      return;
    }

  data = g_object_get_data (G_OBJECT (child), "back");
  if (data)
    {
      show_locale_widgets (chooser);
      return;
    }

  data = g_object_get_data (G_OBJECT (child), "name");
  if (data)
    {
      /* It's an input source, we just want to select it */
      return;
    }

  data = g_object_get_data (G_OBJECT (child), "locale-info");
  if (data)
    {
      show_input_sources_for_locale (chooser, (LocaleInfo *) data);
      return;
    }
}
コード例 #6
0
static void
row_activated (GtkListBox        *box,
               GtkListBoxRow     *row,
               CcLanguageChooser *chooser)
{
        GtkWidget *child;
        CcLanguageChooserPrivate *priv = chooser->priv;
        LanguageWidget *widget;

        if (row == NULL)
                return;

        child = gtk_bin_get_child (GTK_BIN (row));
        if (child == priv->more_item) {
                show_more (chooser);
        } else {
                widget = get_language_widget (child);
                if (widget == NULL)
                        return;
                set_locale_id (chooser, widget->locale_id);
        }
}