本文整理汇总了C++中GNT_TREE函数的典型用法代码示例。如果您正苦于以下问题:C++ GNT_TREE函数的具体用法?C++ GNT_TREE怎么用?C++ GNT_TREE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GNT_TREE函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: plugin_toggled_cb
static void
plugin_toggled_cb(GntWidget *tree, PurplePlugin *plugin, gpointer null)
{
GError *error = NULL;
if (gnt_tree_get_choice(GNT_TREE(tree), plugin))
{
if (!purple_plugin_load(plugin, &error)) {
purple_notify_error(NULL, _("ERROR"), _("loading plugin failed"), error->message, NULL);
gnt_tree_set_choice(GNT_TREE(tree), plugin, FALSE);
g_error_free(error);
}
}
else
{
if (!purple_plugin_unload(plugin, &error)) {
purple_notify_error(NULL, _("ERROR"), _("unloading plugin failed"), error->message, NULL);
purple_plugin_disable(plugin);
gnt_tree_set_choice(GNT_TREE(tree), plugin, TRUE);
g_error_free(error);
}
finch_plugin_pref_close(plugin);
}
decide_conf_button(plugin);
finch_plugins_save_loaded();
}
开发者ID:N8Fear,项目名称:purple-facebook,代码行数:27,代码来源:gntplugin.c
示例2: toggle_tag_selection
static gboolean
toggle_tag_selection(GntBindable *bind, GList *null)
{
GntFileSel *sel = GNT_FILE_SEL(bind);
char *str;
GList *find;
char *file;
GntWidget *tree;
if (!sel->multiselect)
return FALSE;
tree = sel->dirsonly ? sel->dirs : sel->files;
if (!gnt_widget_has_focus(tree) ||
gnt_tree_is_searching(GNT_TREE(tree)))
return FALSE;
file = gnt_tree_get_selection_data(GNT_TREE(tree));
str = gnt_file_sel_get_selected_file(sel);
if ((find = g_list_find_custom(sel->tags, str, (GCompareFunc)g_utf8_collate)) != NULL) {
g_free(find->data);
sel->tags = g_list_delete_link(sel->tags, find);
gnt_tree_set_row_flags(GNT_TREE(tree), file, GNT_TEXT_FLAG_NORMAL);
g_free(str);
} else {
sel->tags = g_list_prepend(sel->tags, str);
gnt_tree_set_row_flags(GNT_TREE(tree), file, GNT_TEXT_FLAG_BOLD);
}
gnt_bindable_perform_action_named(GNT_BINDABLE(tree), "move-down", NULL);
return TRUE;
}
开发者ID:bf4,项目名称:pidgin-mac,代码行数:33,代码来源:gntfilesel.c
示例3: save_savedstatus_cb
static void
save_savedstatus_cb(GntWidget *button, EditStatus *edit)
{
const char *title, *message;
PurpleStatusPrimitive prim;
PurpleSavedStatus *find;
title = gnt_entry_get_text(GNT_ENTRY(edit->title));
message = gnt_entry_get_text(GNT_ENTRY(edit->message));
if (!message || !*message)
message = NULL;
prim = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(edit->type)));
if (!title || !*title)
{
purple_notify_error(edit, _("Error"), _("Invalid title"),
_("Please enter a non-empty title for the status."));
gnt_box_give_focus_to_child(GNT_BOX(edit->window), edit->title);
return;
}
find = purple_savedstatus_find(title);
if (find && find != edit->saved)
{
purple_notify_error(edit, _("Error"), _("Duplicate title"),
_("Please enter a different title for the status."));
gnt_box_give_focus_to_child(GNT_BOX(edit->window), edit->title);
return;
}
if (edit->saved == NULL)
{
edit->saved = purple_savedstatus_new(title, prim);
purple_savedstatus_set_message(edit->saved, message);
set_substatuses(edit);
if (statuses.tree)
gnt_tree_add_row_last(GNT_TREE(statuses.tree), edit->saved,
gnt_tree_create_row(GNT_TREE(statuses.tree), title,
purple_primitive_get_name_from_type(prim), message), NULL);
}
else
{
purple_savedstatus_set_title(edit->saved, title);
purple_savedstatus_set_type(edit->saved, prim);
purple_savedstatus_set_message(edit->saved, message);
if (statuses.tree)
{
gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 0, title);
gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 1,
purple_primitive_get_name_from_type(prim));
gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 2, message);
}
}
if (g_object_get_data(G_OBJECT(button), "use"))
purple_savedstatus_activate(edit->saved);
gnt_widget_destroy(edit->window);
}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:60,代码来源:gntstatus.c
示例4: add_substatus
static void
add_substatus(EditStatus *edit, PurpleAccount *account)
{
char *name;
const char *type = NULL, *message = NULL;
PurpleSavedStatusSub *sub = NULL;
RowInfo *key;
if (!edit || !edit->tree)
return;
if (edit->saved)
sub = purple_savedstatus_get_substatus(edit->saved, account);
key = g_new0(RowInfo, 1);
key->account = account;
if (sub)
{
key->type = purple_savedstatus_substatus_get_type(sub);
type = purple_status_type_get_name(key->type);
message = purple_savedstatus_substatus_get_message(sub);
key->message = g_strdup(message);
}
name = g_strdup_printf("%s (%s)", purple_account_get_username(account),
purple_account_get_protocol_name(account));
gnt_tree_add_choice(GNT_TREE(edit->tree), key,
gnt_tree_create_row(GNT_TREE(edit->tree),
name, type ? type : "", message ? message : ""), NULL, NULL);
if (sub)
gnt_tree_set_choice(GNT_TREE(edit->tree), key, TRUE);
g_free(name);
}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:35,代码来源:gntstatus.c
示例5: finch_savedstatus_show_all
void finch_savedstatus_show_all()
{
GntWidget *window, *tree, *box, *button;
int widths[] = {25, 12, 35};
if (statuses.window) {
gnt_window_present(statuses.window);
return;
}
statuses.window = window = gnt_vbox_new(FALSE);
gnt_box_set_toplevel(GNT_BOX(window), TRUE);
gnt_box_set_title(GNT_BOX(window), _("Saved Statuses"));
gnt_box_set_fill(GNT_BOX(window), FALSE);
gnt_box_set_alignment(GNT_BOX(window), GNT_ALIGN_MID);
gnt_box_set_pad(GNT_BOX(window), 0);
/* XXX: Add some sorting function to sort alphabetically, perhaps */
statuses.tree = tree = gnt_tree_new_with_columns(3);
gnt_tree_set_column_titles(GNT_TREE(tree), _("Title"), _("Type"), _("Message"));
gnt_tree_set_show_title(GNT_TREE(tree), TRUE);
gnt_tree_set_column_width_ratio(GNT_TREE(tree), widths);
gnt_widget_set_size(tree, 72, 0);
gnt_box_add_widget(GNT_BOX(window), tree);
populate_statuses(GNT_TREE(tree));
box = gnt_hbox_new(FALSE);
gnt_box_add_widget(GNT_BOX(window), box);
button = gnt_button_new(_("Use"));
gnt_box_add_widget(GNT_BOX(box), button);
g_signal_connect(G_OBJECT(button), "activate",
G_CALLBACK(use_savedstatus_cb), NULL);
button = gnt_button_new(_("Add"));
gnt_box_add_widget(GNT_BOX(box), button);
gnt_util_set_trigger_widget(tree, GNT_KEY_INS, button);
g_signal_connect_swapped(G_OBJECT(button), "activate",
G_CALLBACK(finch_savedstatus_edit), NULL);
button = gnt_button_new(_("Edit"));
gnt_box_add_widget(GNT_BOX(box), button);
g_signal_connect(G_OBJECT(button), "activate",
G_CALLBACK(edit_savedstatus_cb), NULL);
button = gnt_button_new(_("Delete"));
gnt_box_add_widget(GNT_BOX(box), button);
gnt_util_set_trigger_widget(tree, GNT_KEY_DEL, button);
g_signal_connect(G_OBJECT(button), "activate",
G_CALLBACK(ask_before_delete), NULL);
button = gnt_button_new(_("Close"));
gnt_box_add_widget(GNT_BOX(box), button);
g_signal_connect_swapped(G_OBJECT(button), "activate",
G_CALLBACK(gnt_widget_destroy), window);
g_signal_connect(G_OBJECT(window), "destroy",
G_CALLBACK(reset_status_window), NULL);
gnt_widget_show(window);
}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:60,代码来源:gntstatus.c
示例6: check_for_trigger
static gboolean
check_for_trigger(GntMenu *menu, char trigger)
{
/* check for a trigger key */
GList *iter;
GList *find;
GList *nth = g_list_find(menu->list, gnt_tree_get_selection_data(GNT_TREE(menu)));
if (nth == NULL)
return FALSE;
find = find_item_with_trigger(nth->next, NULL, trigger);
if (!find)
find = find_item_with_trigger(menu->list, nth->next, trigger);
if (!find)
return FALSE;
if (find != nth) {
gnt_tree_set_selected(GNT_TREE(menu), find->data);
iter = find_item_with_trigger(find->next, NULL, trigger);
if (iter != NULL && iter != find)
return TRUE;
iter = find_item_with_trigger(menu->list, nth, trigger);
if (iter != NULL && iter != find)
return TRUE;
}
gnt_widget_activate(GNT_WIDGET(menu));
return TRUE;
}
开发者ID:ArmoredPidgin,项目名称:pidgin-hardened,代码行数:28,代码来源:gntmenu.c
示例7: setup_email_dialog
static void
setup_email_dialog(void)
{
GntWidget *box, *tree, *button;
if (emaildialog.window)
return;
emaildialog.window = box = gnt_vbox_new(FALSE);
gnt_box_set_toplevel(GNT_BOX(box), TRUE);
gnt_box_set_title(GNT_BOX(box), _("Emails"));
gnt_box_set_fill(GNT_BOX(box), FALSE);
gnt_box_set_alignment(GNT_BOX(box), GNT_ALIGN_MID);
gnt_box_set_pad(GNT_BOX(box), 0);
gnt_box_add_widget(GNT_BOX(box),
gnt_label_new_with_format(_("You have mail!"), GNT_TEXT_FLAG_BOLD));
emaildialog.tree = tree = gnt_tree_new_with_columns(3);
gnt_tree_set_column_titles(GNT_TREE(tree), _("Account"), _("Sender"), _("Subject"));
gnt_tree_set_show_title(GNT_TREE(tree), TRUE);
gnt_tree_set_col_width(GNT_TREE(tree), 0, 15);
gnt_tree_set_col_width(GNT_TREE(tree), 1, 25);
gnt_tree_set_col_width(GNT_TREE(tree), 2, 25);
gnt_box_add_widget(GNT_BOX(box), tree);
button = gnt_button_new(_("Close"));
gnt_box_add_widget(GNT_BOX(box), button);
g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gnt_widget_destroy), box);
g_signal_connect(G_OBJECT(box), "destroy", G_CALLBACK(reset_email_dialog), NULL);
}
开发者ID:Draghtnod,项目名称:pidgin,代码行数:32,代码来源:gntnotify.c
示例8: plugin_toggled_cb
static void
plugin_toggled_cb(GntWidget *tree, PurplePlugin *plugin, gpointer null)
{
if (gnt_tree_get_choice(GNT_TREE(tree), plugin))
{
if (!purple_plugin_load(plugin)) {
purple_notify_error(NULL, _("ERROR"), _("loading plugin failed"), NULL);
gnt_tree_set_choice(GNT_TREE(tree), plugin, FALSE);
}
}
else
{
GntWidget *win;
if (!purple_plugin_unload(plugin)) {
purple_notify_error(NULL, _("ERROR"), _("unloading plugin failed"), NULL);
purple_plugin_disable(plugin);
gnt_tree_set_choice(GNT_TREE(tree), plugin, TRUE);
}
if (confwins && (win = g_hash_table_lookup(confwins, plugin)) != NULL)
{
gnt_widget_destroy(win);
}
}
decide_conf_button(plugin);
finch_plugins_save_loaded();
}
开发者ID:wosigh,项目名称:messaging-plugins,代码行数:28,代码来源:gntplugin.c
示例9: update_location
static void
update_location(GntFileSel *sel)
{
char *old;
const char *tmp;
tmp = sel->suggest ? sel->suggest :
(const char*)gnt_tree_get_selection_data(sel->dirsonly ? GNT_TREE(sel->dirs) : GNT_TREE(sel->files));
old = g_strdup_printf("%s%s%s", SAFE(sel->current), SAFE(sel->current)[1] ? G_DIR_SEPARATOR_S : "", tmp ? tmp : "");
gnt_entry_set_text(GNT_ENTRY(sel->location), old);
g_free(old);
}
开发者ID:bf4,项目名称:pidgin-mac,代码行数:11,代码来源:gntfilesel.c
示例10: set_substatuses
static void
set_substatuses(EditStatus *edit)
{
GList *iter;
for (iter = gnt_tree_get_rows(GNT_TREE(edit->tree)); iter; iter = iter->next) {
RowInfo *key = iter->data;
if (gnt_tree_get_choice(GNT_TREE(edit->tree), key)) {
purple_savedstatus_set_substatus(edit->saved, key->account, key->type, key->message);
}
}
}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:11,代码来源:gntstatus.c
示例11: hide_popup
static void
hide_popup(GntComboBox *box, gboolean set)
{
gnt_widget_set_size(box->dropdown,
box->dropdown->priv.width - 1, box->dropdown->priv.height);
if (set)
set_selection(box, gnt_tree_get_selection_data(GNT_TREE(box->dropdown)));
else
gnt_tree_set_selected(GNT_TREE(box->dropdown), box->selected);
gnt_widget_hide(box->dropdown->parent);
}
开发者ID:Distrotech,项目名称:pidgin,代码行数:11,代码来源:gntcombobox.c
示例12: reset_cb
static void
reset_cb(GntWidget *button, gpointer null)
{
/* Don't dereference this pointer ! */
gpointer key = gnt_tree_get_selection_data(GNT_TREE(pref_dialog->events));
FinchSoundEvent * event = &sounds[GPOINTER_TO_INT(key)];
g_free(event->file);
event->file = NULL;
gnt_tree_change_text(GNT_TREE(pref_dialog->events), key, 1, _("(default)"));
}
开发者ID:Herrie82,项目名称:pidgin-2.10.12,代码行数:11,代码来源:gntsound.c
示例13: populate_pounces_list
static void
populate_pounces_list(PouncesManager *dialog)
{
GList *pounces;
gnt_tree_remove_all(GNT_TREE(dialog->tree));
for (pounces = purple_pounces_get_all_for_ui(FINCH_UI); pounces != NULL;
pounces = g_list_delete_link(pounces, pounces))
{
add_pounce_to_treeview(GNT_TREE(dialog->tree), pounces->data);
}
}
开发者ID:CkNoSFeRaTU,项目名称:pidgin,代码行数:13,代码来源:gntpounce.c
示例14: file_cb
static void
file_cb(GntFileSel *w, const char *path, const char *file, gpointer data)
{
FinchSoundEvent *event = data;
g_free(event->file);
event->file = g_strdup(path);
gnt_tree_change_text(GNT_TREE(pref_dialog->events), GINT_TO_POINTER(event->id), 1, file);
gnt_tree_set_choice(GNT_TREE(pref_dialog->events), GINT_TO_POINTER(event->id), TRUE);
gnt_widget_destroy(GNT_WIDGET(w));
}
开发者ID:Herrie82,项目名称:pidgin-2.10.12,代码行数:13,代码来源:gntsound.c
示例15: finch_notify_emails
static void *
finch_notify_emails(PurpleConnection *gc, size_t count, gboolean detailed,
const char **subjects, const char **froms, const char **tos,
const char **urls)
{
PurpleAccount *account = purple_connection_get_account(gc);
GString *message = g_string_new(NULL);
void *ret;
static int key = 0;
if (count == 0)
return NULL;
if (!detailed)
{
g_string_append_printf(message,
ngettext("%s (%s) has %d new message.",
"%s (%s) has %d new messages.",
(int)count),
tos ? *tos : purple_account_get_username(account),
purple_account_get_protocol_name(account), (int)count);
}
else
{
char *to;
gboolean newwin = (emaildialog.window == NULL);
if (newwin)
setup_email_dialog();
to = g_strdup_printf("%s (%s)", tos ? *tos : purple_account_get_username(account),
purple_account_get_protocol_name(account));
gnt_tree_add_row_after(GNT_TREE(emaildialog.tree), GINT_TO_POINTER(++key),
gnt_tree_create_row(GNT_TREE(emaildialog.tree), to,
froms ? *froms : "[Unknown sender]",
*subjects),
NULL, NULL);
g_free(to);
if (newwin)
gnt_widget_show(emaildialog.window);
else
gnt_window_present(emaildialog.window);
return NULL;
}
ret = finch_notify_common(PURPLE_NOTIFY_EMAIL, PURPLE_NOTIFY_MSG_INFO,
_("New Mail"), _("You have mail!"), message->str);
g_string_free(message, TRUE);
return ret;
}
开发者ID:Draghtnod,项目名称:pidgin,代码行数:50,代码来源:gntnotify.c
示例16: location_changed
static gboolean
location_changed(GntFileSel *sel, GError **err)
{
GList *files, *iter;
gboolean success;
if (!sel->dirs)
return TRUE;
gnt_tree_remove_all(GNT_TREE(sel->dirs));
if (sel->files)
gnt_tree_remove_all(GNT_TREE(sel->files));
gnt_entry_set_text(GNT_ENTRY(sel->location), NULL);
if (sel->current == NULL) {
if (GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(sel), GNT_WIDGET_MAPPED))
gnt_widget_draw(GNT_WIDGET(sel));
return TRUE;
}
/* XXX:\
* XXX: This is blocking.
* XXX:/
*/
files = NULL;
if (sel->read_fn)
success = sel->read_fn(sel->current, &files, err);
else
success = local_read_fn(sel->current, &files, err);
if (!success || *err) {
gnt_warning("error opening location %s (%s)",
sel->current, *err ? (*err)->message : "reason unknown");
return FALSE;
}
for (iter = files; iter; iter = iter->next) {
GntFile *file = iter->data;
char *str = file->basename;
if (file->type == GNT_FILE_DIR) {
gnt_tree_add_row_after(GNT_TREE(sel->dirs), g_strdup(str),
gnt_tree_create_row(GNT_TREE(sel->dirs), str), NULL, NULL);
if (sel->multiselect && sel->dirsonly && is_tagged(sel, str))
gnt_tree_set_row_flags(GNT_TREE(sel->dirs), (gpointer)str, GNT_TEXT_FLAG_BOLD);
} else if (!sel->dirsonly) {
char size[128];
snprintf(size, sizeof(size), "%ld", file->size);
gnt_tree_add_row_after(GNT_TREE(sel->files), g_strdup(str),
gnt_tree_create_row(GNT_TREE(sel->files), str, size, ""), NULL, NULL);
if (sel->multiselect && is_tagged(sel, str))
gnt_tree_set_row_flags(GNT_TREE(sel->files), (gpointer)str, GNT_TEXT_FLAG_BOLD);
}
}
g_list_foreach(files, (GFunc)gnt_file_free, NULL);
g_list_free(files);
if (GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(sel), GNT_WIDGET_MAPPED))
gnt_widget_draw(GNT_WIDGET(sel));
return TRUE;
}
开发者ID:bf4,项目名称:pidgin-mac,代码行数:59,代码来源:gntfilesel.c
示例17: load_pref_window
static void
load_pref_window(const char * profile)
{
gint i;
finch_sound_set_active_profile(profile);
gnt_combo_box_set_selected(GNT_COMBO_BOX(pref_dialog->method), (gchar *)purple_prefs_get_string(make_pref("/method")));
gnt_entry_set_text(GNT_ENTRY(pref_dialog->command), purple_prefs_get_path(make_pref("/command")));
gnt_check_box_set_checked(GNT_CHECK_BOX(pref_dialog->conv_focus), purple_prefs_get_bool(make_pref("/conv_focus")));
gnt_combo_box_set_selected(GNT_COMBO_BOX(pref_dialog->while_status), GINT_TO_POINTER(purple_prefs_get_int("/purple" "/sound/while_status")));
gnt_slider_set_value(GNT_SLIDER(pref_dialog->volume), CLAMP(purple_prefs_get_int(make_pref("/volume")), 0, 100));
for (i = 0; i < PURPLE_NUM_SOUNDS; i++) {
FinchSoundEvent * event = &sounds[i];
gchar *boolpref;
gchar *filepref, *basename = NULL;
const char * profile = finch_sound_get_active_profile();
filepref = g_strdup_printf(FINCH_PREFS_ROOT "/sound/profiles/%s/file/%s", profile, event->pref);
g_free(event->file);
event->file = g_strdup(purple_prefs_get_path(filepref));
g_free(filepref);
if (event->label == NULL) {
continue;
}
boolpref = g_strdup_printf(FINCH_PREFS_ROOT "/sound/profiles/%s/enabled/%s", profile, event->pref);
gnt_tree_change_text(GNT_TREE(pref_dialog->events), GINT_TO_POINTER(i), 0, event->label);
gnt_tree_change_text(GNT_TREE(pref_dialog->events), GINT_TO_POINTER(i), 1,
event->file[0] ? (basename = g_path_get_basename(event->file)) : _("(default)"));
g_free(basename);
gnt_tree_set_choice(GNT_TREE(pref_dialog->events), GINT_TO_POINTER(i), purple_prefs_get_bool(boolpref));
g_free(boolpref);
}
gnt_tree_set_selected(GNT_TREE(pref_dialog->profiles), (gchar *)finch_sound_get_active_profile());
gnt_widget_draw(pref_dialog->window);
}
开发者ID:Herrie82,项目名称:pidgin-2.10.12,代码行数:49,代码来源:gntsound.c
示例18: gnt_combo_box_draw
static void
gnt_combo_box_draw(GntWidget *widget)
{
GntComboBox *box = GNT_COMBO_BOX(widget);
char *text = NULL, *s;
GntColorType type;
int len;
if (box->dropdown && box->selected)
text = gnt_tree_get_selection_text(GNT_TREE(box->dropdown));
if (text == NULL)
text = g_strdup("");
if (gnt_widget_has_focus(widget))
type = GNT_COLOR_HIGHLIGHT;
else
type = GNT_COLOR_NORMAL;
wbkgdset(widget->window, '\0' | gnt_color_pair(type));
s = (char*)gnt_util_onscreen_width_to_pointer(text, widget->priv.width - 4, &len);
*s = '\0';
mvwaddstr(widget->window, 1, 1, C_(text));
whline(widget->window, ' ' | gnt_color_pair(type), widget->priv.width - 4 - len);
mvwaddch(widget->window, 1, widget->priv.width - 3, ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL));
mvwaddch(widget->window, 1, widget->priv.width - 2, ACS_DARROW | gnt_color_pair(GNT_COLOR_NORMAL));
wmove(widget->window, 1, 1);
g_free(text);
GNTDEBUG;
}
开发者ID:Distrotech,项目名称:pidgin,代码行数:33,代码来源:gntcombobox.c
示例19: finch_xfer_dialog_cancel_xfer
void
finch_xfer_dialog_cancel_xfer(PurpleXfer *xfer)
{
PurpleGntXferUiData *data;
const gchar *status;
g_return_if_fail(xfer_dialog != NULL);
g_return_if_fail(xfer != NULL);
data = FINCHXFER(xfer);
if (data == NULL)
return;
if (!data->in_list)
return;
if ((purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_CANCEL_LOCAL) && (xfer_dialog->auto_clear)) {
finch_xfer_dialog_remove_xfer(xfer);
return;
}
update_title_progress();
if (purple_xfer_is_canceled(xfer))
status = _("Cancelled");
else
status = _("Failed");
gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_STATUS, status);
}
开发者ID:CkNoSFeRaTU,项目名称:pidgin,代码行数:31,代码来源:gntft.c
示例20: readjust_columns
static void
readjust_columns(GntTree *tree)
{
int i, col, total;
int width;
#define WIDTH(i) (tree->columns[i].width_ratio ? tree->columns[i].width_ratio : tree->columns[i].width)
gnt_widget_get_size(GNT_WIDGET(tree), &width, NULL);
if (!GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(tree), GNT_WIDGET_NO_BORDER))
width -= 2;
width -= 1; /* Exclude the scrollbar from the calculation */
for (i = 0, total = 0; i < tree->ncol ; i++) {
if (tree->columns[i].flags & GNT_TREE_COLUMN_INVISIBLE)
continue;
if (tree->columns[i].flags & GNT_TREE_COLUMN_FIXED_SIZE)
width -= WIDTH(i) + (tree->priv->lastvisible != i);
else
total += WIDTH(i) + (tree->priv->lastvisible != i);
}
if (total == 0)
return;
for (i = 0; i < tree->ncol; i++) {
if (tree->columns[i].flags & GNT_TREE_COLUMN_INVISIBLE)
continue;
if (tree->columns[i].flags & GNT_TREE_COLUMN_FIXED_SIZE)
col = WIDTH(i);
else
col = (WIDTH(i) * width) / total;
gnt_tree_set_col_width(GNT_TREE(tree), i, col);
}
}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:32,代码来源:gnttree.c
注:本文中的GNT_TREE函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论