static void
move_selected_input_down (GtkButton *button, gpointer data)
{
  GtkBuilder *builder = data;
  GtkTreeModel *model;
  GtkTreeIter iter, next;
  GtkTreePath *path;

  g_debug ("move selected input source down");

  if (!get_selected_iter (builder, &model, &iter))
    return;

  next = iter;
  if (!gtk_tree_model_iter_next (model, &next))
    return;

  path = gtk_tree_model_get_path (model, &next);

  gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &next);

  set_selected_path (builder, path);
  gtk_tree_path_free (path);

  update_button_sensitivity (builder);
  update_configuration (model);
}
static void
remove_selected_input (GtkButton *button, gpointer data)
{
  GtkBuilder *builder = data;
  GtkTreeModel *model;
  GtkTreeIter iter;
  GtkTreePath *path;

  g_debug ("remove selected input source");

  if (get_selected_iter (builder, &model, &iter) == FALSE)
    return;

  path = gtk_tree_model_get_path (model, &iter);

  gtk_list_store_remove (GTK_LIST_STORE (model), &iter);

  if (!gtk_tree_model_get_iter (model, &iter, path))
    gtk_tree_path_prev (path);

  set_selected_path (builder, path);

  gtk_tree_path_free (path);

  update_button_sensitivity (builder);
  update_configuration (model);
}
Ejemplo n.º 3
0
 void NotebookNoteAddin::on_note_tag_added(const Note & note, const Tag::Ptr & tag)
 {
   Note::Ptr taggedNote = const_cast<Note&>(note).shared_from_this();
   if(taggedNote == get_note() && tag == get_template_tag()) {
     update_button_sensitivity(true);
   }
 }
static void
chooser_response (GtkWidget *chooser, gint response_id, gpointer data)
{
  GtkBuilder *builder = data;

  if (response_id == GTK_RESPONSE_OK)
    {
      GtkTreeModel *model;
      GtkTreeIter iter;

      if (input_chooser_get_selected (chooser, &model, &iter))
        {
          GtkTreeView *tv;
          GtkListStore *my_model;
          GtkTreeIter child_iter;
          gchar *name;
          gchar *type;
          gchar *id;
          GDesktopAppInfo *app_info = NULL;

          gtk_tree_model_get (model, &iter,
                              NAME_COLUMN, &name,
                              TYPE_COLUMN, &type,
                              ID_COLUMN, &id,
                              -1);

#ifdef HAVE_IBUS
          if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS))
            app_info = setup_app_info_for_id (id);
#endif

          tv = GTK_TREE_VIEW (WID ("active_input_sources"));
          my_model = GTK_LIST_STORE (gtk_tree_view_get_model (tv));

          gtk_list_store_insert_with_values (my_model, &child_iter, -1,
                                             NAME_COLUMN, name,
                                             TYPE_COLUMN, type,
                                             ID_COLUMN, id,
                                             SETUP_COLUMN, app_info,
                                             -1);
          g_free (name);
          g_free (type);
          g_free (id);
          if (app_info)
            g_object_unref (app_info);

          gtk_tree_selection_select_iter (gtk_tree_view_get_selection (tv), &child_iter);

          update_button_sensitivity (builder);
          update_configuration (GTK_TREE_MODEL (my_model));
        }
      else
        {
          g_debug ("nothing selected, nothing added");
        }
    }

  gtk_widget_destroy (GTK_WIDGET (chooser));
}
Ejemplo n.º 5
0
 void NotebookNoteAddin::on_note_opened ()
 {
   if(!m_menu) {
     m_menu = manage(new Gtk::Menu());
     m_menu->show_all();
   }
   if(!m_toolButton) {
     initialize_tool_button();
     update_button_sensitivity(get_note()->contains_tag(get_template_tag()));
   }
 }
Ejemplo n.º 6
0
 void NotebookNoteAddin::on_note_tag_removed(const Note::Ptr & taggedNote, const std::string & tag)
 {
   if(taggedNote == get_note() && tag == get_template_tag()->normalized_name()) {
     update_button_sensitivity(false);
   }
 }