static void
fill_store (EmpathyIrcNetworkChooserDialog *self)
{
  EmpathyIrcNetworkChooserDialogPriv *priv = GET_PRIV (self);
  GSList *networks, *l;

  networks = empathy_irc_network_manager_get_networks (
      priv->network_manager);

  for (l = networks; l != NULL; l = g_slist_next (l))
    {
      EmpathyIrcNetwork *network = l->data;
      GtkTreeIter iter;

      gtk_list_store_insert_with_values (priv->store, &iter, -1,
          COL_NETWORK_OBJ, network,
          COL_NETWORK_NAME, empathy_irc_network_get_name (network),
          -1);

      if (network == priv->network)
        {
          GtkTreeIter filter_iter = iter_to_filter_iter (self, &iter);

          select_iter (self, &filter_iter, FALSE);
        }

      g_object_unref (network);
    }

  g_slist_free (networks);
}
static void
remove_network (EmpathyIrcNetworkChooserDialog *self)
{
  EmpathyIrcNetworkChooserDialogPriv *priv = GET_PRIV (self);
  EmpathyIrcNetwork *network;
  GtkTreeIter iter;

  network = dup_selected_network (self, &iter);
  if (network == NULL)
    return;

  /* Hide the search after picking the network to get the right one */
  gtk_widget_hide (priv->search);

  DEBUG ("Remove network %s", empathy_irc_network_get_name (network));

  /* Delete network and select next network */
  if (gtk_list_store_remove (priv->store, &iter))
    {
      GtkTreeIter filter_iter = iter_to_filter_iter (self, &iter);

      select_iter (self, &filter_iter, TRUE);
    }
  else
    {
      /* this should only happen if the last network was deleted */
      GtkTreeIter last, filter_iter;
      gint n_elements;

      n_elements = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (priv->store),
          NULL);

      if (n_elements > 0)
        {
          gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (priv->store), &last,
              NULL, (n_elements-1));
          filter_iter = iter_to_filter_iter (self, &last);

          select_iter (self, &filter_iter, TRUE);
        }
    }

  empathy_irc_network_manager_remove (priv->network_manager, network);
  gtk_widget_grab_focus (priv->treeview);

  g_object_unref (network);
}
/**
 * gucharmap_chapter_view_set_selected:
 * @view: a #GucharmapChapters
 * @name: 
 *
 * Sets the selection to the row specified by @name
 * Return value: %TRUE on success, %FALSE on failure
 **/
gboolean
gucharmap_chapters_view_set_selected (GucharmapChaptersView *view,
                                      const char        *name)
{
  GucharmapChaptersViewPrivate *priv = view->priv;
  GtkTreeIter iter;

  if (!gucharmap_chapters_model_id_to_iter (priv->model, name, &iter))
    return FALSE;

  select_iter (view, &iter);
  return TRUE;
}
Exemplo n.º 4
0
static void
refresh_notebook (GeditDocumentsPanel *panel,
		  GeditNotebook       *notebook,
		  GtkTreeIter         *parent)
{
	GList *tabs;
	GList *l;
	GtkTreeStore *tree_store;
	GeditTab *active_tab;

	gedit_debug (DEBUG_PANEL);

	tree_store = GTK_TREE_STORE (panel->priv->model);

	active_tab = gedit_window_get_active_tab (panel->priv->window);

	tabs = gtk_container_get_children (GTK_CONTAINER (notebook));

	for (l = tabs; l != NULL; l = g_list_next (l))
	{
		GdkPixbuf *pixbuf;
		gchar *name;
		GtkTreeIter iter;

		name = tab_get_name (GEDIT_TAB (l->data));
		pixbuf = _gedit_tab_get_icon (GEDIT_TAB (l->data));

		/* Add a new row to the model */
		gtk_tree_store_append (tree_store, &iter, parent);
		gtk_tree_store_set (tree_store,
				    &iter,
				    PIXBUF_COLUMN, pixbuf,
				    NAME_COLUMN, name,
				    NOTEBOOK_COLUMN, notebook,
				    TAB_COLUMN, l->data,
				    -1);

		g_free (name);
		if (pixbuf != NULL)
		{
			g_object_unref (pixbuf);
		}

		if (l->data == active_tab)
		{
			select_iter (panel, &iter);
		}
	}

	g_list_free (tabs);
}
Exemplo n.º 5
0
RowsPtr
EngineBase::select(const Expression &what,
        const Expression &from, const Expression &where,
        const Expression &group_by, const Expression &having,
        const Expression &order_by, int max_rows, bool for_update)
{
    SqlResultSet rs = select_iter(SelectExpr(what).from_(from).
            where_(where).group_by_(group_by).having_(having).
            order_by_(order_by).for_update(for_update));
    RowsPtr rows(new Rows);
    copy_no_more_than_n(rs.begin(), rs.end(), max_rows,
            back_inserter(*rows));
    return rows;
}
/**
 * gucharmap_chapters_view_select_character:
 * @view: a #GucharmapChaptersView
 * @wc: a character
 *
 * Return value: %TRUE on success, %FALSE on failure.
 **/
gboolean
gucharmap_chapters_view_select_character (GucharmapChaptersView *view,
                                          gunichar           wc)
{
  GucharmapChaptersViewPrivate *priv = view->priv;
  GtkTreeIter iter;

  g_return_val_if_fail (GUCHARMAP_IS_CHAPTERS_VIEW (view), FALSE);

  if (wc > UNICHAR_MAX)
    return FALSE;

  if (!gucharmap_chapters_model_character_to_iter (priv->model, wc, &iter))
    return FALSE;

  select_iter (view, &iter);
  return TRUE;
}
Exemplo n.º 7
0
static void
select_active_tab (GeditDocumentsPanel *panel)
{
	GeditNotebook *notebook;
	GeditTab *tab;
	gboolean have_tabs;

	notebook = gedit_multi_notebook_get_active_notebook (panel->priv->mnb);
	have_tabs = gtk_notebook_get_n_pages (GTK_NOTEBOOK (notebook)) > 0;
	tab = gedit_multi_notebook_get_active_tab (panel->priv->mnb);

	if (notebook != NULL && tab != NULL && have_tabs)
	{
		GtkTreeIter iter;

		if (get_iter_from_tab (panel, notebook, tab, &iter))
			select_iter (panel, &iter);
	}
}
static void
search_text_notify_cb (TpawLiveSearch *search,
    GParamSpec *pspec,
    TpawIrcNetworkChooserDialog *self)
{
  GtkTreeIter filter_iter;
  gboolean sensitive = FALSE;

  gtk_tree_model_filter_refilter (self->priv->filter);

  /* Is there at least one network in the view ? */
  if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (self->priv->filter),
        &filter_iter))
    {
      const gchar *text;

      text = tpaw_live_search_get_text (
          TPAW_LIVE_SEARCH (self->priv->search));
      if (!TPAW_STR_EMPTY (text))
        {
          /* We are doing a search, select the first matching network */
          select_iter (self, &filter_iter, TRUE);
        }
      else
        {
          /* Search has been cancelled. Scroll to the selected network */
          GtkTreeSelection *selection;

          selection = gtk_tree_view_get_selection (
              GTK_TREE_VIEW (self->priv->treeview));

          if (gtk_tree_selection_get_selected (selection, NULL,
                &filter_iter))
            scroll_to_iter (self, &filter_iter);
        }

      sensitive = TRUE;
    }

  gtk_widget_set_sensitive (self->priv->select_button, sensitive);
}
Exemplo n.º 9
0
static void
multi_notebook_tab_switched (GeditMultiNotebook  *mnb,
			     GeditNotebook       *old_notebook,
			     GeditTab            *old_tab,
			     GeditNotebook       *new_notebook,
			     GeditTab            *new_tab,
			     GeditDocumentsPanel *panel)
{
	gedit_debug (DEBUG_PANEL);

	if (!panel->priv->setting_active_notebook &&
	    !_gedit_window_is_removing_tabs (panel->priv->window))
	{
		GtkTreeIter iter;

		if (get_iter_from_tab (panel, new_notebook, new_tab, &iter) &&
		    gtk_tree_store_iter_is_valid (GTK_TREE_STORE (panel->priv->model), &iter))
		{
			select_iter (panel, &iter);
		}
	}
}
static void
add_network (TpawIrcNetworkChooserDialog *self)
{
  TpawIrcNetwork *network;
  GtkTreeIter iter, filter_iter;

  gtk_widget_hide (self->priv->search);

  network = tpaw_irc_network_new (_("New Network"));
  tpaw_irc_network_manager_add (self->priv->network_manager, network);

  gtk_list_store_insert_with_values (self->priv->store, &iter, -1,
      COL_NETWORK_OBJ, network,
      COL_NETWORK_NAME, tpaw_irc_network_get_name (network),
      -1);

  filter_iter = iter_to_filter_iter (self, &iter);
  select_iter (self, &filter_iter, TRUE);

  display_irc_network_dialog (self, network);

  g_object_unref (network);
}