Esempio n. 1
0
/* ------------------
 * preferences dialog function
 * ------------------ */
static PurplePluginPrefFrame *
get_plugin_pref_frame(PurplePlugin *plugin) {
	PurplePluginPrefFrame *frame;
	PurplePluginPref *ppref;
	gpgme_error_t error;
	gpgme_ctx_t ctx;
	gpgme_key_t key;

	// create preferences frame
	frame = purple_plugin_pref_frame_new();
	
	// connect to gpgme
	gpgme_check_version (NULL);
	error = gpgme_new(&ctx);
	if (error)
	{
		purple_debug_error(PLUGIN_ID,"gpgme_new failed: %s %s\n",gpgme_strsource (error), gpgme_strerror (error));
		return NULL;
	}

	// create key chooser preference
	ppref = purple_plugin_pref_new_with_name_and_label(PREF_MY_KEY,"My key");
	purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE);
	purple_plugin_pref_add_choice(ppref, "None", "");

	// list keys (secret keys)
	error = gpgme_op_keylist_start (ctx,NULL,1);
	if (error == GPG_ERR_NO_ERROR)
	{
		while (!error)
		{
			error = gpgme_op_keylist_next (ctx, &key);
			if (error) break;
			// add key to preference chooser
			//TODO: find something better for g_strdup, or some possibility to free memory after preferences dialog closed
			purple_plugin_pref_add_choice(ppref, g_strdup(key->uids->uid), g_strdup(key->subkeys->fpr));
			purple_debug_info(PLUGIN_ID,"Found secret key for: %s has fpr %s\n",key->uids->uid,key->subkeys->fpr);
			gpgme_key_release (key);
		}
	}else
	{
		purple_debug_error(PLUGIN_ID,"gpgme_op_keylist_start failed: %s %s\n",gpgme_strsource (error), gpgme_strerror (error));
	}
	// close gpgme connection
	gpgme_release (ctx);

	purple_plugin_pref_frame_add(frame, ppref);

	return frame;
}
Esempio n. 2
0
static PurplePluginPrefFrame*
get_plugin_pref_frame(PurplePlugin* plugin) {
    PurplePluginPrefFrame* frame = purple_plugin_pref_frame_new();
    PurplePluginPref* pref = NULL;

    pref = purple_plugin_pref_new_with_label("Prefix preferences");
    purple_plugin_pref_frame_add(frame, pref);

    pref = purple_plugin_pref_new_with_name_and_label(USERCAST_CONF_PREFIX, "Nick prefix");
    purple_plugin_pref_frame_add(frame, pref);

    pref = purple_plugin_pref_new_with_name_and_label(USERCAST_CONF_PREFIX_POLICY, "Prefix use policy");
    purple_plugin_pref_set_type(pref, PURPLE_PLUGIN_PREF_CHOICE);
    purple_plugin_pref_add_choice(pref, "Always", GINT_TO_POINTER(POLICY_ALWAYS));
    purple_plugin_pref_add_choice(pref, "First word", GINT_TO_POINTER(POLICY_FIRST_WORD));
    purple_plugin_pref_add_choice(pref, "Last word", GINT_TO_POINTER(POLICY_LAST_WORD));
    purple_plugin_pref_add_choice(pref, "Never", GINT_TO_POINTER(POLICY_NEVER));
    purple_plugin_pref_frame_add(frame, pref);

    pref = purple_plugin_pref_new_with_label("Postfix preferences");
    purple_plugin_pref_frame_add(frame, pref);

    pref = purple_plugin_pref_new_with_name_and_label(USERCAST_CONF_POSTFIX, "Nick postfix");
    purple_plugin_pref_frame_add(frame, pref);

    pref = purple_plugin_pref_new_with_name_and_label(USERCAST_CONF_POSTFIX_POLICY, "Postfix use policy");
    purple_plugin_pref_set_type(pref, PURPLE_PLUGIN_PREF_CHOICE);
    purple_plugin_pref_add_choice(pref, "Always", GINT_TO_POINTER(POLICY_ALWAYS));
    purple_plugin_pref_add_choice(pref, "First word", GINT_TO_POINTER(POLICY_FIRST_WORD));
    purple_plugin_pref_add_choice(pref, "Last word", GINT_TO_POINTER(POLICY_LAST_WORD));
    purple_plugin_pref_add_choice(pref, "Never", GINT_TO_POINTER(POLICY_NEVER));
    purple_plugin_pref_frame_add(frame, pref);

    return frame;
}
/////////////////////////////////////////////////////////////////////////////
// Builds the plugin configuration frame.
/////////////////////////////////////////////////////////////////////////////
static PurplePluginPrefFrame* get_config_frame(PurplePlugin *plugin)
{
    PurplePluginPrefFrame *frame;
    PurplePluginPref *pref;

    frame = purple_plugin_pref_frame_new();
    pref = purple_plugin_pref_new_with_name_and_label(LNR_PREF_MESSAGE, "Raise this message when the computer is locked:");
    purple_plugin_pref_frame_add(frame, pref);

	pref = purple_plugin_pref_new_with_name_and_label(LNR_PREF_STATUS, "Which status should be set?");
	purple_plugin_pref_set_type(pref, PURPLE_PLUGIN_PREF_CHOICE);
	purple_plugin_pref_add_choice(pref, "Away", GINT_TO_POINTER(PURPLE_STATUS_AWAY));
	purple_plugin_pref_add_choice(pref, "Extended Away", GINT_TO_POINTER(PURPLE_STATUS_EXTENDED_AWAY));
	purple_plugin_pref_add_choice(pref, "Unavailable/DND", GINT_TO_POINTER(PURPLE_STATUS_UNAVAILABLE));
	purple_plugin_pref_add_choice(pref, "Invisible", GINT_TO_POINTER(PURPLE_STATUS_INVISIBLE));
	purple_plugin_pref_add_choice(pref, "Offline", GINT_TO_POINTER(PURPLE_STATUS_OFFLINE));
	purple_plugin_pref_frame_add(frame, pref);
	
    return frame;
}
Esempio n. 4
0
static PurplePluginPrefFrame *
get_plugin_pref_frame(PurplePlugin *plugin)
{
	PurplePluginPrefFrame *frame;
	PurplePluginPref *pref;

	frame = purple_plugin_pref_frame_new();

	/* XXX: Is there a better way than this? There really should be. */
	pref = purple_plugin_pref_new_with_name_and_label(PREF_PATH, _("Path to save the files in\n"
								"(Please provide the full path)"));
	purple_plugin_pref_frame_add(frame, pref);

	pref = purple_plugin_pref_new_with_name_and_label(PREF_STRANGER,
					_("When a file-transfer request arrives from a user who is\n"
                      "*not* on your buddy list:"));
	purple_plugin_pref_set_type(pref, PURPLE_PLUGIN_PREF_CHOICE);
	purple_plugin_pref_add_choice(pref, _("Ask"), GINT_TO_POINTER(FT_ASK));
	purple_plugin_pref_add_choice(pref, _("Auto Accept"), GINT_TO_POINTER(FT_ACCEPT));
	purple_plugin_pref_add_choice(pref, _("Auto Reject"), GINT_TO_POINTER(FT_REJECT));
	purple_plugin_pref_frame_add(frame, pref);

	pref = purple_plugin_pref_new_with_name_and_label(PREF_NOTIFY,
					_("Notify with a popup when an autoaccepted file transfer is complete\n"
					  "(only when there's no conversation with the sender)"));
	purple_plugin_pref_frame_add(frame, pref);

	pref = purple_plugin_pref_new_with_name_and_label(PREF_NEWDIR,
			_("Create a new directory for each user"));
	purple_plugin_pref_frame_add(frame, pref);

	pref = purple_plugin_pref_new_with_name_and_label(PREF_ESCAPE,
			_("Escape the filenames"));
	purple_plugin_pref_frame_add(frame, pref);

	return frame;
}
Esempio n. 5
0
static PurplePluginPrefFrame *
plugin_config_frame(PurplePlugin *plugin)
{
	PurplePluginPrefFrame *frame;
	PurplePluginPref *ppref;
	GList *l = NULL;
	PurpleKeyValuePair *pair;
	
	frame = purple_plugin_pref_frame_new();
	
	ppref = purple_plugin_pref_new_with_name_and_label(
		LOCALE_PREF,
		_("My language:"));
	purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE);
	
	for(l = supported_languages; l; l = l->next)
	{
		pair = (PurpleKeyValuePair *) l->data;
		purple_plugin_pref_add_choice(ppref, pair->value, pair->key);
	}
	
	purple_plugin_pref_frame_add(frame, ppref);
	
	
	ppref = purple_plugin_pref_new_with_name_and_label(
		SERVICE_PREF,
		_("Use service:"));
	purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE);
	
	purple_plugin_pref_add_choice(ppref, _("Google Translate"), "google");
	purple_plugin_pref_add_choice(ppref, _("Microsoft Translator"), "bing");
	
	purple_plugin_pref_frame_add(frame, ppref);
	
	return frame;
}
Esempio n. 6
0
/**
 * Create the plugin's preferences window
 *
 * @param[in] plugin     Unused
 * @return               Pointer to the newly created preferences window
**/
static PurplePluginPrefFrame *get_plugin_pref_frame(U PurplePlugin *plugin)
{
	PurplePluginPrefFrame *frame; /*< The plugin preferences window frame */
	PurplePluginPref *ppref; /*< A plugin preference option               */

	frame = purple_plugin_pref_frame_new();

	/* TRANSLATORS: This is the name of the plugin preference for deciding
	   the
	   orientation of the panes created for the Buddy List and
	   conversations. */
	ppref = purple_plugin_pref_new_with_name_and_label(
	    PREF_SIDE, _(""
			 "Conversation pane location"));
	purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE);

	/* TRANSLATORS: This value means: Buddy List left, conversations right.
	 */
	purple_plugin_pref_add_choice(ppref, _("Right of Buddy List"), "right");

	/* TRANSLATORS: This value means: conversations left, Buddy List right.
	 */
	purple_plugin_pref_add_choice(ppref, _("Left of Buddy List"), "left");

	/* TRANSLATORS: This value means: conversations top, Buddy List bottom.
	 */
	purple_plugin_pref_add_choice(ppref, _("Above Buddy List"), "top");

	/* TRANSLATORS: This value means: Buddy List top, conversations bottom.
	 */
	purple_plugin_pref_add_choice(ppref, _("Below Buddy List"), "bottom");

	purple_plugin_pref_frame_add(frame, ppref);

	return frame;
}
Esempio n. 7
0
static PurplePluginPrefFrame *
get_plugin_pref_frame(PurplePlugin *plugin)
{
	PurplePluginPrefFrame *frame;
	PurplePluginPref *ppref;
	char *tmp;

	frame = purple_plugin_pref_frame_new();

	ppref = purple_plugin_pref_new_with_label(_("Timestamp Format Options"));
	purple_plugin_pref_frame_add(frame, ppref);

	tmp = g_strdup_printf(_("_Force 24-hour time format"));
	ppref = purple_plugin_pref_new_with_name_and_label(
			"/plugins/gtk/timestamp_format/force_24hr",
			tmp);
	purple_plugin_pref_frame_add(frame, ppref);
	g_free(tmp);

	ppref = purple_plugin_pref_new_with_label(_("Show dates in..."));
	purple_plugin_pref_frame_add(frame, ppref);

	ppref = purple_plugin_pref_new_with_name_and_label(
			"/plugins/gtk/timestamp_format/use_dates/conversation",
			_("Co_nversations:"));
        purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE);
        purple_plugin_pref_add_choice(ppref, _("For delayed messages"), "automatic");
        purple_plugin_pref_add_choice(ppref, _("For delayed messages and in chats"), "chats");
        purple_plugin_pref_add_choice(ppref, _("Always"), "always");
	purple_plugin_pref_frame_add(frame, ppref);

	ppref = purple_plugin_pref_new_with_name_and_label(
			"/plugins/gtk/timestamp_format/use_dates/log",
			_("_Message Logs:"));
        purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE);
        purple_plugin_pref_add_choice(ppref, _("For delayed messages"), "automatic");
        purple_plugin_pref_add_choice(ppref, _("For delayed messages and in chats"), "chats");
        purple_plugin_pref_add_choice(ppref, _("Always"), "always");
	purple_plugin_pref_frame_add(frame, ppref);

	return frame;
}