Пример #1
0
void nsgtk_history_parent_update(gchar *path, const struct url_data *data)
{	
	GtkTreeIter iter;
	gint num_visits, last_visit;
	
	gtk_tree_model_get_iter_from_string(
			GTK_TREE_MODEL(history->domain_list), &iter, path);		
	gtk_tree_model_get(GTK_TREE_MODEL(history->domain_list), &iter, 
			DOM_TOTALVISITS, &num_visits,
			DOM_LASTVISIT, &last_visit,
			-1);
			
	gtk_list_store_set(history->domain_list, &iter,
			DOM_TOTALVISITS, num_visits + data->visits,
			DOM_LASTVISIT, max(last_visit,data->last_visit),
			-1);

	/* Handle "All" */
	gtk_tree_model_get_iter_from_string(
			GTK_TREE_MODEL(history->domain_list), &iter, "0");
	gtk_tree_model_get(GTK_TREE_MODEL(history->domain_list), &iter, 
			DOM_TOTALVISITS, &num_visits,
			DOM_LASTVISIT, &last_visit,
			-1);
					
	gtk_list_store_set(history->domain_list, &iter,
			DOM_TOTALVISITS, num_visits + data->visits,
			DOM_LASTVISIT, max(last_visit,data->last_visit),
			-1);
}
Пример #2
0
static char*
set_row_data (GtkTreeStore *store, char *path, char *parent, const char *attribute, const char *value)
{
	GtkTreeIter iter;
	gchar *utf_attribute = NULL;
	gchar *utf_value = NULL;
	gboolean iter_valid = FALSE;

	if (!attribute) return NULL;

	if (path != NULL) {
		iter_valid = gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path);
	}

	if (!iter_valid) {
		GtkTreePath *tree_path;
		GtkTreeIter parent_iter;
		gboolean parent_valid = FALSE;

		if (parent != NULL) {
			parent_valid = gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store),
									    &parent_iter,
									    parent);
		}

		gtk_tree_store_append (store, &iter, parent_valid ? &parent_iter : NULL);

		if (path == NULL) {
			tree_path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter);

			if (tree_path != NULL) {
				path = gtk_tree_path_to_string (tree_path);
				gtk_tree_path_free (tree_path);
			}
		}
	}

	utf_attribute = eog_util_make_valid_utf8 (attribute);

	gtk_tree_store_set (store, &iter, MODEL_COLUMN_ATTRIBUTE, utf_attribute, -1);
	g_free (utf_attribute);

	if (value != NULL) {
		utf_value = eog_util_make_valid_utf8 (value);
		gtk_tree_store_set (store, &iter, MODEL_COLUMN_VALUE, utf_value, -1);
		g_free (utf_value);
	}

	return path;
}
Пример #3
0
static void
on_selected_renderer_toggled (GtkCellRendererToggle *renderer, gchar *tree_path,
                              GitStatusPane *self)
{
	GtkTreeModel *status_model;
	GtkTreeIter iter;
	gboolean selected;
	AnjutaVcsStatus status;
	gchar *path;
	StatusType type;
	
	status_model = GTK_TREE_MODEL (gtk_builder_get_object (self->priv->builder,
	                                                       "status_model"));

	gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (status_model), &iter,
	                                     tree_path);
	gtk_tree_model_get (status_model, &iter, 
	                    COL_SELECTED, &selected,
	                    COL_STATUS, &status,
	                    COL_PATH, &path,
	                    COL_TYPE, &type,
	                    -1);

	selected = !selected;

	gtk_tree_store_set (GTK_TREE_STORE (status_model), &iter,
	                    COL_SELECTED, selected,
	                    -1);

	git_status_pane_set_path_selection_state (self, path, status, type, 
	                                          selected);

	g_free (path);
}
Пример #4
0
static void
extension_state_toggled (GtkCellRendererToggle *cell, gchar *path_str, gpointer data)
{
	GtkTreeIter iter;
	GtkTreePath *path;
	GtkTreeModel *model;
    gboolean new_state;
    Extension *ext;
    
	path = gtk_tree_path_new_from_string (path_str);
	model = gtk_tree_view_get_model (GTK_TREE_VIEW (data));
    
    g_object_get (G_OBJECT (cell), "active", &new_state, NULL);
    gtk_tree_model_get_iter_from_string (model, &iter, path_str);
    
    new_state ^= 1;

	if (&iter != NULL)
    {
        gtk_tree_model_get (model, &iter, EXT_STRUCT_COLUMN, &ext, -1);
        
        if (caja_extension_set_state (ext, new_state))
        {
            gtk_list_store_set (GTK_LIST_STORE (model), &iter, 
                                EXT_STATE_COLUMN, new_state, -1);
        }
    }
    gtk_tree_path_free (path);
}
Пример #5
0
static void
value_combo_spin_edited (GtkCellRendererText *cell,
                         const gchar *path,
                         const gchar *new_text,
                         GladeEPropAttrs *eprop_attrs)
{
  GtkTreeIter iter;
  PangoAttrType type;

  if (!gtk_tree_model_get_iter_from_string (eprop_attrs->model, &iter, path))
    return;

  gtk_tree_model_get (eprop_attrs->model, &iter, COLUMN_TYPE, &type, -1);

  /* Reset the column */
  if (new_text && (*new_text == '\0' || strcmp (new_text, _("None")) == 0))
    {
      gtk_list_store_set (GTK_LIST_STORE (eprop_attrs->model), &iter,
                          COLUMN_TEXT, _("<Enter Value>"),
                          COLUMN_NAME_WEIGHT, PANGO_WEIGHT_NORMAL,
                          COLUMN_TEXT_STYLE, PANGO_STYLE_ITALIC,
                          COLUMN_TEXT_FG, "Grey", -1);
    }
  else
    gtk_list_store_set (GTK_LIST_STORE (eprop_attrs->model), &iter,
                        COLUMN_TEXT, new_text,
                        COLUMN_NAME_WEIGHT, PANGO_WEIGHT_BOLD,
                        COLUMN_TEXT_STYLE, PANGO_STYLE_NORMAL,
                        COLUMN_TEXT_FG, "Black", -1);

  sync_object (eprop_attrs, FALSE);

}
Пример #6
0
void cgraphics_treeview_item_to_iter( widget_t *widget, list_item_t *item, GtkTreeIter *iter )
{
	GtkTreeStore *store;
	char path[256], tmp[256];
	GtkTreeIter parent;
	list_item_t *curr;
	
	store = (GtkTreeStore *)gtk_tree_view_get_model( GTK_TREE_VIEW(widget->container) );
	
	if ( item->parent_item == NULL )
	{
		gtk_tree_model_iter_nth_child( GTK_TREE_MODEL(store), iter, NULL, item->row );
		return;
	}
	
	curr = item->parent_item;
	
	strcpy( tmp, "" );
	strcpy( path, "" );
	
	for ( ; curr != 0; curr = curr->parent_item )
	{
		sprintf( tmp, "%d:%s", curr->row, path );
		strcpy( path, tmp );
	}
	
	path[strlen(path)-1] = 0;
	
	gtk_tree_model_get_iter_from_string( GTK_TREE_MODEL(store), &parent, path );
	gtk_tree_model_iter_nth_child( GTK_TREE_MODEL(store), iter, &parent, item->row );
}
Пример #7
0
Файл: mapedit2.c Проект: rj76/kq
void change_entity_model (GtkListStore * store, int entity, char *valuepath,
                          char *value)
{
   if (!value || !value[0])
      return;
   char *p;
   long int ivalue = strtol (value, &p, 10);
   if (*p)
      return;
   GtkTreeIter iter;
   gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter,
                                        valuepath);
   int offset;
   unsigned int size;
   gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, ENTITY_REF_COLUMN,
                       &offset, ENTITY_SIZEOF_COLUMN, &size, -1);
   switch (size) {
   case 1:
      *(((char *) &gent[entity]) + offset) = ivalue;
      break;
   case 2:
      *(int16_t *) (((char *) &gent[entity]) + offset) = ivalue;
      break;
   case 4:
      *(int32_t *) (((char *) &gent[entity]) + offset) = ivalue;
      break;
   default:
      break;
   }
//   make_entity_sane(entity);
   gtk_list_store_set (store, &iter, ENTITY_VALUE_COLUMN, ivalue, -1);
}
static void 
hd_select_plugins_dialog_plugin_toggled
                                (GtkCellRendererToggle *cell_renderer,
                                 gchar *path,
                                 gpointer user_data)
{
  GtkTreeIter iter;
  gboolean active;

  /* Get the GtkTreeModel iter */
  GtkTreeModel *model = GTK_TREE_MODEL (user_data);

  if (!gtk_tree_model_get_iter_from_string (model, &iter, path)) return;

  /* Get boolean value */
  gtk_tree_model_get (model,
                      &iter,
                      HD_SPD_COLUMN_ACTIVE, &active,
                      -1);

  /* Change the iter value on the TreeModel */
  gtk_list_store_set (GTK_LIST_STORE (model),
                      &iter,
                      HD_SPD_COLUMN_ACTIVE, !active,
                      -1);
}
Пример #9
0
/**
 * @brief 	Callback called when a cell has been edited in the configuration 
 * 			dialog
 * @param 	renderer	field object
 * @param	path		
 * @param	text		the new text
 * @param	data		column where event is called
 * 
 * @return	void
 * 
 */
static void
on_configure_cell_edited(GtkCellRendererText* renderer, gchar* path, gchar* text, gpointer data)
{
	GtkTreeIter iter;
	gchar character;
	gint i;
	Column col = (Column)(GPOINTER_TO_INT(data));
	
	log_func();

	character=text[0];
	i=1;
	while (character != '\0') {
		if ( ! g_ascii_isalpha(character) && character != ',' ) {
			log_debug("Not-valid char");
			return;	// invalid extension
		}
		character=text[i++];
	}

	/* Replace old text with new */
	gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(list_store), &iter, path);
	gtk_list_store_set(list_store, &iter, col, text, -1);

}
Пример #10
0
static void
contact_list_start_voip_call (EmpathyCellRendererActivatable *cell,
    const gchar                    *path_string,
    EmpathyContactListView         *view,
    gboolean with_video)
{
	EmpathyContactListViewPriv *priv = GET_PRIV (view);
	GtkTreeModel               *model;
	GtkTreeIter                 iter;
	EmpathyContact             *contact;

	if (!(priv->contact_features & EMPATHY_CONTACT_FEATURE_CALL)) {
		return;
	}

	model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
	if (!gtk_tree_model_get_iter_from_string (model, &iter, path_string)) {
		return;
	}

	gtk_tree_model_get (model, &iter,
			    EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact,
			    -1);

	if (contact) {
		EmpathyCallFactory *factory;
		factory = empathy_call_factory_get ();
		empathy_call_factory_new_call_with_streams (factory, contact,
			TRUE, with_video);
		g_object_unref (contact);
	}
}
Пример #11
0
static void
dialog_pref_add_item (PrefState *state, char const *page_name,
		      char const *icon_name,
		      int page, char const* parent_path)
{
	GtkTreeIter iter, parent;
	GdkPixbuf * icon = NULL;

	if (icon_name != NULL)
		icon = gtk_widget_render_icon_pixbuf (state->dialog, icon_name,
					       GTK_ICON_SIZE_MENU);
	if ((parent_path != NULL) && gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (state->store),
									  &parent, parent_path))
		gtk_tree_store_append (state->store, &iter, &parent);
	else
		gtk_tree_store_append (state->store, &iter, NULL);

	gtk_tree_store_set (state->store, &iter,
			    ITEM_ICON, icon,
			    ITEM_NAME, _(page_name),
			    PAGE_NUMBER, page,
			    -1);
	if (icon != NULL)
		g_object_unref (icon);
}
Пример #12
0
gboolean nsgtk_history_filter_search(GtkTreeModel *model, GtkTreeIter *iter,
		GtkWidget *search_entry)
{
	gchar *title, *address, *domain, *path;
	gint result;
	GtkTreeIter new_iter;
	const gchar *search = gtk_entry_get_text(GTK_ENTRY(search_entry));
	
	gtk_tree_model_get(model, iter, SITE_TITLE, &title,
			 		SITE_ADDRESS, &address,
			 		SITE_DOMAIN, &domain,
			 		-1);
			 
	if (title)
		result = (strstr(title, search) || strstr(address, search));
	else
		result = FALSE;
		
	if (result) {	
		path = g_hash_table_lookup(history->domain_hash, domain);
		gtk_tree_model_get_iter_from_string(
				GTK_TREE_MODEL(history->domain_list),&new_iter,
				path);
				
		nsgtk_history_domain_set_visible(
				GTK_TREE_MODEL(history->domain_list), NULL,
				&new_iter, result);
	}
	
	g_free(title);
	g_free(address);
	g_free(domain);
		
	return result;
}
static void refresh_combo_box_icons(GtkIconTheme* theme, GtkComboBox* combo_box, GList* app_list)
{
    GList *entry;
    MateDAItem *item;
    GtkTreeModel *model;
    GtkTreeIter iter;
    GdkPixbuf *pixbuf;

    for (entry = app_list; entry != NULL; entry = g_list_next (entry)) {
	item = (MateDAItem *) entry->data;

	model = gtk_combo_box_get_model (combo_box);

	if (item->icon_path && gtk_tree_model_get_iter_from_string (model, &iter, item->icon_path)) {
	    pixbuf = gtk_icon_theme_load_icon (theme, item->icon_name, 22, 0, NULL);

	    gtk_list_store_set (GTK_LIST_STORE (model), &iter,
				PIXBUF_COL, pixbuf,
				-1);

	    if (pixbuf)
		g_object_unref (pixbuf);
	}
    }
}
Пример #14
0
static void
_gtk_user_list_dialog_tree_checkbox_toggled(GtkCellRendererToggle *renderer, gchar *path, GtkTreeView *widget)
{
	GtkUserListDialogPrivate *priv;
	GtkTreeModel *model;
	GtkTreeIter iter;
	GtkTreeIter child;

	g_assert(GTK_IS_DELETABLE_DIALOG(widget));

	priv = GTK_USER_LIST_DIALOG(widget)->priv;

	if(priv->checkbox_column_activatable)
	{
		model = gtk_tree_view_get_model(GTK_TREE_VIEW(priv->tree));

		if(gtk_tree_model_get_iter_from_string(model, &iter, path))
		{
			gtk_tree_model_sort_convert_iter_to_child_iter(GTK_TREE_MODEL_SORT(model), &child, &iter);
			model = gtk_tree_model_sort_get_model(GTK_TREE_MODEL_SORT(model));
			gtk_list_store_set(GTK_LIST_STORE(model),
							  &child,
							  GTK_USER_LIST_TREEVIEW_COLUMN_CHECKBOX,
							  gtk_cell_renderer_toggle_get_active(renderer) ? FALSE : TRUE,
							  -1);
		}
	}
}
Пример #15
0
static
void cb_custom_toggled(GtkCellRendererToggle *cell, char *path, gpointer data)
{
	GtkTreeIter iter;
	GtkTreeModel *model = (GtkTreeModel*) data;
	if (gtk_tree_model_get_iter_from_string(model, &iter, path)) {
                PurpleAccount *account;
                GValue value;
                memset(&value, 0, sizeof(value));
                gtk_tree_model_get_value(model, &iter, 5, &value);
                assert(G_VALUE_HOLDS_POINTER(&value));
                account = g_value_get_pointer(&value);
                g_value_unset(&value);

		gboolean flag;
		char pref[STRLEN];

		build_pref(pref, PREF_CUSTOM_DISABLED, purple_account_get_username(account), purple_account_get_protocol_name(account));

		memset(&value, 0, sizeof(value));
		gtk_tree_model_get_value(model, &iter, 3, &value);
		assert(G_VALUE_HOLDS_BOOLEAN(&value));
		flag = !g_value_get_boolean(&value);
		g_value_unset(&value);

		gtk_list_store_set(GTK_LIST_STORE(model), &iter, 3, flag, -1);
		purple_prefs_set_bool(pref, flag);
		if (flag) {
			set_status(account, "", 0);
		}
	}
}
static void
gnc_gen_trans_update_toggled_cb (GtkCellRendererToggle *cell_renderer,
                                 gchar                 *path,
                                 GNCImportMainMatcher  *gui)
{
    GtkTreeModel *model;
    GtkTreeIter iter;
    GNCImportTransInfo *trans_info;

    model = gtk_tree_view_get_model(gui->view);
    if (!gtk_tree_model_get_iter_from_string(model, &iter, path))
        return;
    gtk_tree_model_get(model, &iter, DOWNLOADED_COL_DATA, &trans_info, -1);

    if ( gnc_import_TransInfo_get_action(trans_info) == GNCImport_UPDATE
            && gnc_import_Settings_get_action_skip_enabled (gui->user_settings) == TRUE)
    {
        gnc_import_TransInfo_set_action(trans_info, GNCImport_SKIP);
    }
    else
    {
        gnc_import_TransInfo_set_action(trans_info, GNCImport_UPDATE);
    }
    refresh_model_row(gui, model, &iter, trans_info);
}
Пример #17
0
static void
shortcuts_accel_cleared_cb (GtkCellRenderer* renderer,
                            const gchar*     tree_path,
                            GtkTreeModel*    model)
{
    GtkTreeIter iter;

    if (gtk_tree_model_get_iter_from_string (model, &iter, tree_path))
    {
        GtkAction* action;
        const gchar* accel_path;
        GtkTreeIter child_iter;
        GtkTreeModel* liststore;

        gtk_tree_model_get (model, &iter, 6, &action, -1);
        accel_path = gtk_action_get_accel_path (action);
        gtk_accel_map_change_entry (accel_path, 0, 0, FALSE);

        gtk_tree_model_sort_convert_iter_to_child_iter (GTK_TREE_MODEL_SORT (model),
                                                        &child_iter, &iter);
        liststore = gtk_tree_model_sort_get_model (GTK_TREE_MODEL_SORT (model));
        gtk_list_store_set (GTK_LIST_STORE (liststore),
            &child_iter, 1, 0, 2, 0, -1);

        g_object_unref (action);
    }
}
Пример #18
0
static void prop_edited(GtkCellRendererText *cel, gchar *path, gchar *text,
			GtkListStore *props)
{
	(void)cel;

	struct sr_dev *dev = g_object_get_data(G_OBJECT(props), "dev");
	GtkTreeIter iter;
	int type, cap;
	guint64 tmp_u64;
	int ret = SR_ERR;

	gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(props), &iter, path);
	gtk_tree_model_get(GTK_TREE_MODEL(props), &iter,
					DEV_PROP_HWCAP, &cap, 
					DEV_PROP_TYPE, &type, -1);

	switch (type) {
	case SR_T_UINT64:
		if (sr_parse_sizestring(text, &tmp_u64) != SR_OK)
			return;

		ret = dev->driver->dev_config_set(dev->driver_index,
						  cap, &tmp_u64);
		break;
	case SR_T_CHAR:
		ret = dev->driver->dev_config_set(dev->driver_index, cap, text);
		break;
	/* SR_T_BOOL will be handled by prop_toggled */
	}

	if (!ret)
		gtk_list_store_set(props, &iter, DEV_PROP_TEXTVALUE, text, -1);
}
static void
on_control_name_edited (GtkCellRendererText * cellrenderertext,
    gchar * path_string, gchar * new_text, gpointer user_data)
{
  BtSettingsPageInteractionController *self =
      BT_SETTINGS_PAGE_INTERACTION_CONTROLLER (user_data);
  GtkTreeModel *store;

  if ((store = gtk_tree_view_get_model (self->priv->controller_list))) {
    GtkTreeIter iter;

    if (gtk_tree_model_get_iter_from_string (store, &iter, path_string)) {
      GObject *control;

      if ((control =
              bt_object_list_model_get_object ((BtObjectListModel *) store,
                  &iter))) {
        GtkTreePath *path;
        gint pos;

        g_object_set (control, "name", new_text, NULL);
        // resort the list
        on_device_menu_changed (self->priv->device_menu, self);
        // select control again
        pos = get_control_pos (self->priv->device, (BtIcControl *) control);
        path = gtk_tree_path_new_from_indices (pos, -1);
        gtk_widget_grab_focus (GTK_WIDGET (self->priv->controller_list));
        gtk_tree_view_set_cursor (self->priv->controller_list, path,
            gtk_tree_view_get_column (self->priv->controller_list,
                CONTROLLER_LIST_LABEL), TRUE);
        gtk_tree_path_free (path);
      }
    }
  }
}
Пример #20
0
static void
on_search_cell_toggled(GtkCellRendererToggle *renderer,
      gchar *path,
      GtkTreeView *p_treeview) {

   GtkTreeModel *model;
   GtkTreeIter iter;
   gboolean value;
   gchar *item_id;
   gchar *module_name;

   GdkPixbuf *gd;
   gchar *name;

   /* Toggle the cell renderer's current state to the logical not. */
   model = gtk_tree_view_get_model(p_treeview);
   if (gtk_tree_model_get_iter_from_string(model, &iter, path)) {
      gtk_tree_model_get(model, &iter, 0, &value, 1, &gd, 2, &name, 3, &item_id,
            4, &module_name, -1);
      BREAKPOINT;

      gtk_tree_store_set(GTK_TREE_STORE(model), &iter, 0, !value, 1, gd, 2, name,
            3, item_id, 4, module_name, -1);
   }
}
Пример #21
0
/********************************
* Meg_MapSection_Close
*
*/
gboolean Meg_MapSection_Close( GtkWidget *widget, GdkEvent *event, gpointer user_data )
{
	gint result = 0;
	GtkWidget * dialog = gtk_message_dialog_new( Meg_Misc_ParentWindow( widget ), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "Save '%s'", gtk_window_get_title( GTK_WINDOW(widget) ) );
	gtk_dialog_add_buttons( GTK_DIALOG(dialog), GTK_STOCK_YES, 1, GTK_STOCK_NO, 2, GTK_STOCK_CANCEL, 0, NULL );
	result = gtk_dialog_run( GTK_DIALOG(dialog) );
	gtk_widget_destroy( dialog );

	if ( result == 0 )
	{
		return TRUE;
	}
	else
	{
		GtkTreeIter iter;
		if ( gtk_tree_model_get_iter_from_string( GTK_TREE_MODEL(sectionFileStore), &iter,(gchar*)g_object_get_data( G_OBJECT(widget), "alchera-list-path") ) )
		{
			gtk_list_store_set( sectionFileStore, &iter, 1, "", 3, NULL, -1);
		}
		if ( result == 1 )
		{
			guint32 section_id = GPOINTER_TO_UINT( g_object_get_data( G_OBJECT(widget), "alchera-section-id" ) );
			AL_MapSection_Save( section_id, Meg_Misc_ParentWindow( widget ) );
		}
	}
	return FALSE;
}
Пример #22
0
/********************************
* Meg_MapSection_CloseTab
*
*/
gboolean Meg_MapSection_CloseTab( GtkWidget *event_box, GdkEventButton *event, GtkWidget * overview )
{
	gint result = 0;
	GtkWidget * dialog = gtk_message_dialog_new( Meg_Misc_ParentWindow( overview ), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "Save '%s'", (gchar*)g_object_get_data( G_OBJECT(overview), "alchera-section-name" ) );
	gtk_dialog_add_buttons( GTK_DIALOG(dialog), GTK_STOCK_YES, 1, GTK_STOCK_NO, 2, GTK_STOCK_CANCEL, 0, NULL );
	result = gtk_dialog_run( GTK_DIALOG(dialog) );
	gtk_widget_destroy( dialog );

	if ( result == 0 )
	{
		return TRUE;
	}
	else
	{
		GtkTreeIter iter;
		if ( gtk_tree_model_get_iter_from_string( GTK_TREE_MODEL(sectionFileStore), &iter,(gchar*)g_object_get_data( G_OBJECT(overview), "alchera-list-path") ) )
		{
			gtk_list_store_set( sectionFileStore, &iter, 1, "", 3, NULL, -1);
		}
		if ( result == 1 )
		{

				guint32 section_id = GPOINTER_TO_UINT( g_object_get_data( G_OBJECT(overview), "alchera-section-id" ) );
				AL_MapSection_Save( section_id, Meg_Misc_ParentWindow( overview ) );

		}
		gint page = gtk_notebook_page_num( GTK_NOTEBOOK(sectionNotebook), overview);
		if ( page != -1 )
		{
			gtk_notebook_remove_page( GTK_NOTEBOOK(sectionNotebook), page );
		}

	}
	return FALSE;
}
Пример #23
0
static void
contact_list_view_voip_activated_cb (EmpathyCellRendererActivatable *cell,
				     const gchar                    *path_string,
				     EmpathyContactListView         *view)
{
	EmpathyContactListViewPriv *priv = GET_PRIV (view);
	GtkTreeModel               *model;
	GtkTreeIter                 iter;
	EmpathyContact             *contact;

	if (!(priv->contact_features & EMPATHY_CONTACT_FEATURE_CALL)) {
		return;
	}

	model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
	if (!gtk_tree_model_get_iter_from_string (model, &iter, path_string)) {
		return;
	}

	gtk_tree_model_get (model, &iter,
			    EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact,
			    -1);

	if (contact) {
		empathy_dispatcher_call_with_contact (contact);
		g_object_unref (contact);
	}
}
Пример #24
0
static void
close_button_clicked (GtkCellRenderer     *cell,
                      const gchar         *path,
                      GeditDocumentsPanel *panel)
{
	GtkTreeIter iter;
	GeditTab *tab;
	GeditNotebook *notebook;

	if (!gtk_tree_model_get_iter_from_string (panel->priv->model,
	                                          &iter, path))
	{
	        return;
	}

	gtk_tree_model_get (panel->priv->model,
		            &iter,
		            NOTEBOOK_COLUMN, &notebook,
		            TAB_COLUMN, &tab,
		            -1);

	if (tab == NULL)
	{
		gedit_notebook_remove_all_tabs (notebook);
	}
	else
	{
		gtk_container_remove (GTK_CONTAINER (notebook),
		                      GTK_WIDGET (tab));
		g_object_unref (tab);
	}

	g_object_unref (notebook);
}
Пример #25
0
static void
on_debug_tree_value_changed (GtkCellRendererText *cell,
						  gchar *path_string,
                          gchar *text,
                          gpointer user_data)
{
	DebugTree *tree = (DebugTree *)user_data;
	GtkTreeIter iter;
	GtkTreeModel * model;
	
    model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree->view));

	if (gtk_tree_model_get_iter_from_string (model, &iter, path_string))
	{
		DmaVariableData *item;
		DmaVariablePacket *tran;

		gtk_tree_model_get (model, &iter, DTREE_ENTRY_COLUMN, &item, -1);
		if ((item != NULL) && (item->name != NULL) && (tree->debugger != NULL))
		{
			/* Variable is valid */
			dma_queue_assign_variable (tree->debugger, item->name, text);
			tran = dma_variable_packet_new(model, &iter, tree, item);
			dma_queue_evaluate_variable (
					tree->debugger,
					item->name,
					(IAnjutaDebuggerCallback) gdb_var_evaluate_expression,
					tran);
		}
	}
}
Пример #26
0
/**
 * rb_display_page_menu_get_page:
 * @model: the #RBDisplayPageModel
 * @parameters: action parameters
 *
 * Retrieves the page instance for an action invocation
 * given the action parameters.
 *
 * Return value: (transfer full): page instance
 */
RBDisplayPage *
rb_display_page_menu_get_page (RBDisplayPageModel *model, GVariant *parameters)
{
	GtkTreeIter iter;
	RBDisplayPage *page;

	if (g_variant_is_of_type (parameters, G_VARIANT_TYPE_STRING) == FALSE) {
		rb_debug ("can't find page, variant type is %s", g_variant_get_type_string (parameters));
		return NULL;
	}

	rb_debug ("trying to find page for %s", g_variant_get_string (parameters, NULL));

	if (gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (model),
						 &iter,
						 g_variant_get_string (parameters, NULL)) == FALSE) {
		return NULL;
	}

	gtk_tree_model_get (GTK_TREE_MODEL (model),
			    &iter,
			    RB_DISPLAY_PAGE_MODEL_COLUMN_PAGE, &page,
			    -1);
	return page;
}
Пример #27
0
static void
value_attribute_toggled (GtkCellRendererToggle * cell_renderer,
                         gchar * path, GladeEditorProperty * eprop)
{
  GladeEPropIconSources *eprop_sources = GLADE_EPROP_ICON_SOURCES (eprop);
  GladeProperty *property = glade_editor_property_get_property (eprop);
  GtkTreeIter iter;
  GladeIconSources *icon_sources = NULL;
  GtkIconSource *source;
  gchar *icon_name;
  gint index, edit_column;
  gboolean edit_column_active = FALSE;

  if (!gtk_tree_model_get_iter_from_string
      (GTK_TREE_MODEL (eprop_sources->store), &iter, path))
    return;

  edit_column =
      GPOINTER_TO_INT (g_object_get_data
                       (G_OBJECT (cell_renderer), "attribute-column"));
  gtk_tree_model_get (GTK_TREE_MODEL (eprop_sources->store), &iter,
                      COLUMN_ICON_NAME, &icon_name, COLUMN_LIST_INDEX, &index,
                      edit_column, &edit_column_active, -1);

  glade_property_get (property, &icon_sources);

  if (icon_sources)
    icon_sources = glade_icon_sources_copy (icon_sources);

  if (icon_sources &&
      (source = get_icon_source (icon_sources, icon_name, index)) != NULL)
    {
      /* Note the reverse meaning of active toggles vs. wildcarded sources... */
      switch (edit_column)
        {
          case COLUMN_DIRECTION_ACTIVE:
            gtk_icon_source_set_direction_wildcarded (source,
                                                      edit_column_active);
            break;
          case COLUMN_SIZE_ACTIVE:
            gtk_icon_source_set_size_wildcarded (source, edit_column_active);
            break;
          case COLUMN_STATE_ACTIVE:
            gtk_icon_source_set_state_wildcarded (source, edit_column_active);
            break;
          default:
            break;
        }

      update_icon_sources (eprop, icon_sources);
      g_free (icon_name);
      return;
    }

  if (icon_sources)
    glade_icon_sources_free (icon_sources);
  g_free (icon_name);
  return;
}
Пример #28
0
void enclose_chars_changed (GtkCellRendererText *renderer, gchar *path, gchar *new_char_str,
	gpointer column_num)
{
	GtkTreeIter chars_iter;
	gchar new_chars [2] = {0, 0};
	new_chars [0] = new_char_str [0];
	gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (chars_list), &chars_iter, path);
	gtk_list_store_set (chars_list, &chars_iter, GPOINTER_TO_INT (column_num), new_chars, -1);
}
Пример #29
0
static void
user_toggled_cb (GtkCellRendererToggle *renderer,
		 gchar                 *path,
		 gpointer               user_data)
{
	GstSharesTool *tool;
	GtkWidget *table;
	GtkTreeModel *model;
	GtkTreeIter iter;
	OobsUser *user;
	gboolean active;

	tool = GST_SHARES_TOOL (user_data);
	table = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "users_table");
	model = gtk_tree_view_get_model (GTK_TREE_VIEW (table));

	if (! gtk_tree_model_get_iter_from_string (model, &iter, path))
		return;

	gtk_tree_model_get (model, &iter,
			    COL_ACTIVE, &active,
			    COL_USER, &user,
			    -1);

	/* we want to invert the state */
	active ^= 1;

	if (!active) {
		oobs_smb_config_delete_user_password (OOBS_SMB_CONFIG (tool->smb_config), user);
	} else {
		GtkWidget *dialog;
		gint response;

		dialog = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "smb_password_dialog");
		gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (GST_TOOL (tool)->main_dialog));
		response = gtk_dialog_run (GTK_DIALOG (dialog));
		gtk_widget_hide (dialog);

		if (response == GTK_RESPONSE_OK) {
			GtkWidget *entry;
			const gchar *password;

			entry = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "smb_password_entry");
			password = gtk_entry_get_text (GTK_ENTRY (entry));

			oobs_smb_config_set_user_password (OOBS_SMB_CONFIG (tool->smb_config), user, password);
		}
	}

	active = oobs_smb_config_user_has_password (OOBS_SMB_CONFIG (tool->smb_config), user);
	gtk_list_store_set (GTK_LIST_STORE (model), &iter,
			    COL_ACTIVE, active,
			    -1);
	g_object_unref (user);

	gst_tool_commit_async (GST_TOOL (tool), tool->smb_config, NULL, NULL, NULL);
}
Пример #30
0
void gw_flashcardstore_trim (GwFlashCardStore *store, gint max)
{
    //Sanity Checks
    if (store == NULL) return;
    if (max < 1) return;

    //Declarations
    GtkTreeModel *model;
    GtkTreePath *path;
    GtkTreeIter iter;
    gboolean valid;
    gint children;
    gchar *path_string;
    GRand *random;
    gint position;

    gtk_tree_sortable_set_sort_column_id (
        GTK_TREE_SORTABLE (store), 
        GW_FLASHCARDSTORE_COLUMN_WEIGHT, 
        GTK_SORT_DESCENDING);

    model = GTK_TREE_MODEL (store);
    random = g_rand_new ();
    children = gtk_tree_model_iter_n_children (model, NULL);

    if (random != NULL)
    {
      while (children > max && children > 0)
      {
        position = g_rand_int_range (random, 0, children);
        path_string = g_strdup_printf ("%d", position);
        if (path_string != NULL)
        {
          valid = gtk_tree_model_get_iter_from_string (model, &iter, path_string);
          if (valid)
          {
            gtk_tree_model_get (model, &iter, GW_FLASHCARDSTORE_COLUMN_TREE_PATH, &path, -1);
            if (path != NULL) gtk_tree_path_free (path); path = NULL;
            gtk_list_store_remove (GTK_LIST_STORE (store), &iter);
          }
          g_free (path_string); path_string = NULL;
        }
        children--;
      }
      g_rand_free (random); random = NULL;
    } 

    gtk_tree_sortable_set_sort_column_id (
        GTK_TREE_SORTABLE (store), 
        GW_FLASHCARDSTORE_COLUMN_ORDER, 
        GTK_SORT_ASCENDING);
    gtk_tree_sortable_set_sort_column_id (
        GTK_TREE_SORTABLE (store), 
        GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, 
        GTK_SORT_ASCENDING);
}