コード例 #1
0
static gboolean
idle_update_entry (gpointer entry)
{
    NmtNewtEntryPrivate *priv = NMT_NEWT_ENTRY_GET_PRIVATE (entry);
    newtComponent co = nmt_newt_component_get_component (entry);
    char *text;

    priv->idle_update = 0;
    if (!co)
        return FALSE;

    priv->last_cursor_pos = newtEntryGetCursorPosition (co);

    text = nmt_newt_locale_to_utf8 (newtEntryGetValue (co));
    nmt_newt_entry_set_text_internal (entry, text, NULL);
    g_free (text);

    return FALSE;
}
コード例 #2
0
ファイル: nmt-newt-form.c プロジェクト: BtbN/NetworkManager
static void
nmt_newt_form_get_property (GObject    *object,
                            guint       prop_id,
                            GValue     *value,
                            GParamSpec *pspec)
{
	NmtNewtFormPrivate *priv = NMT_NEWT_FORM_GET_PRIVATE (object);

	switch (prop_id) {
	case PROP_TITLE:
		if (priv->title_lc) {
			g_value_take_string (value, nmt_newt_locale_to_utf8 (priv->title_lc));
		} else
			g_value_set_string (value, NULL);
		break;
	case PROP_X:
		g_value_set_uint (value, priv->x);
		break;
	case PROP_Y:
		g_value_set_uint (value, priv->y);
		break;
	case PROP_WIDTH:
		g_value_set_uint (value, priv->width);
		break;
	case PROP_HEIGHT:
		g_value_set_uint (value, priv->height);
		break;
	case PROP_PADDING:
		g_value_set_uint (value, priv->padding);
		break;
	case PROP_ESCAPE_EXITS:
		g_value_set_boolean (value, priv->escape_exits);
		break;
	default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
		break;
	}
}
コード例 #3
0
static int
entry_filter (newtComponent  entry,
              void          *self,
              int            ch,
              int            cursor)
{
    NmtNewtEntryPrivate *priv = NMT_NEWT_ENTRY_GET_PRIVATE (self);

    if (g_ascii_isprint (ch)) {
        if (priv->filter) {
            char *text = nmt_newt_locale_to_utf8 (newtEntryGetValue (entry));

            if (!priv->filter (self, text, ch, cursor, priv->filter_data)) {
                g_free (text);
                return 0;
            }
            g_free (text);
        }
    }

    if (!priv->idle_update)
        priv->idle_update = g_idle_add (idle_update_entry, self);
    return ch;
}