annotate src/scrobbler/configure.c @ 3109:5a11abf0075c

scrobbler: add support for custom audioscrobbler servers. (closes #23)
author William Pitcock <nenolod@atheme.org>
date Fri, 01 May 2009 12:28:48 -0500
parents 3134a0987162
children 062f42c3737e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
344
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
1 #include "settings.h"
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
2
2599
19fb7d7dcf4e Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents: 2576
diff changeset
3 #include "config.h"
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
4
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
5 #include <sys/types.h>
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
6 #include <sys/stat.h>
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
7 #include <unistd.h>
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
8 #include <string.h>
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
9 #include <stdio.h>
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
10
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
11 #include <glib.h>
2971
3134a0987162 - changed include path from audacious to audlegacy.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 2946
diff changeset
12 #include <audlegacy/plugin.h>
3134a0987162 - changed include path from audacious to audlegacy.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 2946
diff changeset
13 #include <audlegacy/audutil.h>
3134a0987162 - changed include path from audacious to audlegacy.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 2946
diff changeset
14 #include <audlegacy/i18n.h>
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
15
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
16 #include <gdk/gdkkeysyms.h>
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
17 #include <gtk/gtk.h>
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
18
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
19 #include "configure.h"
2318
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
20 #include "plugin.h"
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
21
3109
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
22 #define LASTFM_HS_URL "http://post.audioscrobbler.com"
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
23
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
24 GtkWidget *entry1, *entry2, *entry3, *ge_entry1, *ge_entry2, *cfgdlg;
2943
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
25 static GdkColor disabled_color;
2318
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
26 guint apply_timeout = 0; /* ID of timeout to save new config */
2319
146381a317df stop plugin when user starts to type new details into configuration window, and start it when he finishes
Tomasz Mon <desowin@gmail.com>
parents: 2318
diff changeset
27 gboolean running = TRUE; /* if plugin threads are running */
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
28
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
29 static char *hexify(char *pass, int len)
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
30 {
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
31 static char buf[33];
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
32 char *bp = buf;
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
33 char hexchars[] = "0123456789abcdef";
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
34 int i;
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
35
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
36 memset(buf, 0, sizeof(buf));
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
37
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
38 for(i = 0; i < len; i++) {
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
39 *(bp++) = hexchars[(pass[i] >> 4) & 0x0f];
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
40 *(bp++) = hexchars[pass[i] & 0x0f];
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
41 }
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
42 *bp = 0;
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
43 return buf;
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
44 }
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
45
2943
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
46 static char *pwd = NULL;
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
47 static char *ge_pwd = NULL;
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
48
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
49 static void saveconfig(void)
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
50 {
2523
769e17da93dd Replaced s/ConfigDb/mcs_handle_t/g, as per changes in the core.
Matti Hamalainen <ccr@tnsp.org>
parents: 2496
diff changeset
51 mcs_handle_t *cfgfile;
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
52
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
53 const char *uid = gtk_entry_get_text(GTK_ENTRY(entry1));
3109
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
54 const char *url = gtk_entry_get_text(GTK_ENTRY(entry3));
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
55 const char *ge_uid = gtk_entry_get_text(GTK_ENTRY(ge_entry1));
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
56
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
57 if ((cfgfile = aud_cfg_db_open())) {
2599
19fb7d7dcf4e Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents: 2576
diff changeset
58 aud_md5state_t md5state;
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
59 unsigned char md5pword[16], ge_md5pword[16];
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
60
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
61 if (uid != NULL && uid[0] != '\0' && strlen(uid) &&
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
62 pwd != NULL && pwd[0] != '\0' && strlen(pwd))
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
63 {
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
64 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "username", (char *)uid);
2599
19fb7d7dcf4e Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents: 2576
diff changeset
65 aud_md5_init(&md5state);
19fb7d7dcf4e Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents: 2576
diff changeset
66 aud_md5_append(&md5state, (unsigned const char *)pwd, strlen(pwd));
19fb7d7dcf4e Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents: 2576
diff changeset
67 aud_md5_finish(&md5state, md5pword);
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
68 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "password",
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
69 hexify((char*)md5pword, sizeof(md5pword)));
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
70 } else if (!uid || uid[0] == '\0') {
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
71 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "username", "");
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
72 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "password", "");
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
73 }
3109
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
74
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
75 if (url != NULL && url[0] != '\0' && strlen(url))
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
76 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "sc_url", (char *)url);
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
77 else if (!url || url[0] == '\0')
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
78 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "sc_url", LASTFM_HS_URL);
2318
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
79
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
80 if (ge_uid != NULL && ge_uid[0] != '\0' && strlen(ge_uid) &&
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
81 ge_pwd != NULL && ge_pwd[0] != '\0' && strlen(ge_pwd))
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
82 {
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
83 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "ge_username", (char *)ge_uid);
2599
19fb7d7dcf4e Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents: 2576
diff changeset
84 aud_md5_init(&md5state);
19fb7d7dcf4e Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents: 2576
diff changeset
85 aud_md5_append(&md5state, (unsigned const char *)ge_pwd, strlen(ge_pwd));
19fb7d7dcf4e Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents: 2576
diff changeset
86 aud_md5_finish(&md5state, ge_md5pword);
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
87 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "ge_password",
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
88 hexify((char*)ge_md5pword, sizeof(ge_md5pword)));
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
89 } else if (!ge_uid || ge_uid[0] == '\0') {
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
90 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "ge_username", "");
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
91 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "ge_password", "");
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
92 }
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
93
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
94 aud_cfg_db_close(cfgfile);
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
95 }
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
96 }
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
97
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
98 static gboolean apply_config_changes(gpointer data) {
2318
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
99 apply_timeout = 0;
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
100 saveconfig();
2318
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
101 start();
2319
146381a317df stop plugin when user starts to type new details into configuration window, and start it when he finishes
Tomasz Mon <desowin@gmail.com>
parents: 2318
diff changeset
102 running = TRUE;
2318
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
103 return FALSE;
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
104 }
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
105
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
106 void configure_cleanup(void) {
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
107 if (apply_timeout) { /* config has been changed, but wasn't saved yet */
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
108 g_source_remove(apply_timeout);
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
109 apply_timeout = 0;
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
110 saveconfig();
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
111 }
2943
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
112 g_free(pwd);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
113 g_free(ge_pwd);
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
114 }
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
115
2318
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
116 static void
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
117 entry_changed(GtkWidget *widget, gpointer data)
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
118 {
2319
146381a317df stop plugin when user starts to type new details into configuration window, and start it when he finishes
Tomasz Mon <desowin@gmail.com>
parents: 2318
diff changeset
119 if (running) {
146381a317df stop plugin when user starts to type new details into configuration window, and start it when he finishes
Tomasz Mon <desowin@gmail.com>
parents: 2318
diff changeset
120 stop();
146381a317df stop plugin when user starts to type new details into configuration window, and start it when he finishes
Tomasz Mon <desowin@gmail.com>
parents: 2318
diff changeset
121 running = FALSE;
146381a317df stop plugin when user starts to type new details into configuration window, and start it when he finishes
Tomasz Mon <desowin@gmail.com>
parents: 2318
diff changeset
122 }
146381a317df stop plugin when user starts to type new details into configuration window, and start it when he finishes
Tomasz Mon <desowin@gmail.com>
parents: 2318
diff changeset
123
2318
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
124 if (apply_timeout)
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
125 g_source_remove(apply_timeout);
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
126
2328
224727e6c73d if apply_timeout hasn't passed before cleanup, save password during cleanup; minor changes to saveconfig()
Tomasz Mon <desowin@gmail.com>
parents: 2319
diff changeset
127 apply_timeout = g_timeout_add_seconds(10, (GSourceFunc) apply_config_changes, NULL);
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
128 }
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
129
2943
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
130 static void entry_focus_in(GtkWidget *widget, gpointer data)
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
131 {
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
132 gtk_entry_set_text(GTK_ENTRY(widget), "");
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
133 gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
134 gtk_widget_modify_text(widget, GTK_STATE_NORMAL, NULL);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
135 }
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
136
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
137 static void entry_focus_out(GtkWidget *widget, gpointer data)
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
138 {
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
139 if (widget == entry2)
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
140 {
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
141 g_free(pwd);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
142 pwd = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry2)));
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
143 }
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
144 if (widget == ge_entry2)
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
145 {
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
146 g_free(ge_pwd);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
147 ge_pwd = g_strdup(gtk_entry_get_text(GTK_ENTRY(ge_entry2)));
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
148 }
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
149 entry_changed(widget, data);
2946
a8fce81bcd40 make prompt translatable
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2944
diff changeset
150 gtk_entry_set_text(GTK_ENTRY(widget), _("Change password"));
2943
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
151 gtk_widget_modify_text(widget, GTK_STATE_NORMAL, &disabled_color);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
152 gtk_entry_set_visibility(GTK_ENTRY(widget), TRUE);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
153 }
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
154
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
155 /* Generated by glade, sorta. */
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
156 GtkWidget *
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
157 create_cfgdlg(void)
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
158 {
2523
769e17da93dd Replaced s/ConfigDb/mcs_handle_t/g, as per changes in the core.
Matti Hamalainen <ccr@tnsp.org>
parents: 2496
diff changeset
159 mcs_handle_t *db;
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
160 GtkWidget *vbox2;
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
161 GtkWidget *table1;
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
162 GtkWidget *label3;
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
163 GtkWidget *label1;
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
164 GtkWidget *label2;
3109
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
165 GtkWidget *label4;
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
166 GtkWidget *himage1;
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
167 GtkWidget *align1;
344
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
168 GtkWidget *notebook1;
2943
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
169 GtkStyle *style;
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
170
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
171 vbox2 = gtk_vbox_new (FALSE, 0);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
172
344
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
173 label1 = gtk_label_new (_("<b>Services</b>"));
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
174 gtk_widget_show (label1);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
175 gtk_label_set_use_markup (GTK_LABEL (label1), TRUE);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
176 gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
177
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
178 gtk_box_pack_start (GTK_BOX (vbox2), label1, FALSE, FALSE, 0);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
179
344
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
180 notebook1 = gtk_notebook_new();
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
181 gtk_widget_show (notebook1);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
182
354
6f97100467cf [svn] - add missing code
yaz
parents: 350
diff changeset
183
6f97100467cf [svn] - add missing code
yaz
parents: 350
diff changeset
184 // last fm
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
185 align1 = gtk_alignment_new(0, 0, 0, 0);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
186 gtk_widget_show (align1);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
187 gtk_alignment_set_padding(GTK_ALIGNMENT(align1), 0, 0, 12, 0);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
188
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
189 table1 = gtk_table_new (2, 2, FALSE);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
190 gtk_widget_show (table1);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
191 gtk_container_add(GTK_CONTAINER(align1), table1);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
192 gtk_table_set_row_spacings (GTK_TABLE(table1), 6);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
193 gtk_table_set_col_spacings (GTK_TABLE(table1), 6);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
194
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
195 label2 = gtk_label_new (_("Username:"));
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
196 gtk_widget_show (label2);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
197 gtk_table_attach_defaults (GTK_TABLE (table1), label2, 0, 1, 2, 3);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
198 gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_RIGHT);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
199 gtk_misc_set_alignment (GTK_MISC (label2), 1, 0.5);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
200
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
201 label3 = gtk_label_new (_("Password:"));
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
202 gtk_widget_show (label3);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
203 gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 3, 4,
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
204 (GtkAttachOptions) (GTK_FILL),
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
205 (GtkAttachOptions) (0), 0, 0);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
206 gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_RIGHT);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
207 gtk_misc_set_alignment (GTK_MISC (label3), 1, 0.5);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
208
3109
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
209 label4 = gtk_label_new (_("Scrobbler URL:"));
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
210 gtk_widget_show (label4);
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
211 gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 4, 5,
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
212 (GtkAttachOptions) (GTK_FILL),
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
213 (GtkAttachOptions) (0), 0, 0);
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
214 gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_RIGHT);
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
215 gtk_misc_set_alignment (GTK_MISC (label4), 1, 0.5);
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
216
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
217 entry1 = gtk_entry_new ();
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
218 gtk_widget_show (entry1);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
219 gtk_table_attach_defaults (GTK_TABLE (table1), entry1, 1, 2, 2, 3);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
220
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
221 entry2 = gtk_entry_new ();
2943
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
222
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
223 style = gtk_widget_get_style(entry2);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
224 memcpy(&disabled_color, &(style->text[GTK_STATE_INSENSITIVE]), sizeof(GdkColor));
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
225 gtk_widget_modify_text(entry2, GTK_STATE_NORMAL, &disabled_color);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
226
2946
a8fce81bcd40 make prompt translatable
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2944
diff changeset
227 gtk_entry_set_text(GTK_ENTRY(entry2), _("Change password"));
2943
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
228 g_signal_connect(G_OBJECT(entry2), "focus-in-event",
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
229 G_CALLBACK(entry_focus_in),
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
230 NULL);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
231 g_signal_connect(G_OBJECT(entry2), "focus-out-event",
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
232 G_CALLBACK(entry_focus_out),
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
233 NULL);
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
234 gtk_widget_show (entry2);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
235 gtk_table_attach_defaults (GTK_TABLE (table1), entry2, 1, 2, 3, 4);
3109
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
236
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
237 entry3 = gtk_entry_new ();
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
238 gtk_widget_show (entry3);
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
239 gtk_table_attach_defaults (GTK_TABLE (table1), entry3, 1, 2, 4, 5);
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
240
344
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
241 label1 = gtk_label_new (_("<b>Last.FM</b>"));
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
242 gtk_label_set_use_markup (GTK_LABEL (label1), TRUE);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
243 gtk_notebook_append_page(GTK_NOTEBOOK(notebook1), GTK_WIDGET(align1), label1);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
244
354
6f97100467cf [svn] - add missing code
yaz
parents: 350
diff changeset
245
6f97100467cf [svn] - add missing code
yaz
parents: 350
diff changeset
246 // gerpok
344
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
247 align1 = gtk_alignment_new(0, 0, 0, 0);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
248 gtk_widget_show (align1);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
249 gtk_alignment_set_padding(GTK_ALIGNMENT(align1), 0, 0, 12, 0);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
250
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
251 table1 = gtk_table_new (2, 2, FALSE);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
252 gtk_widget_show (table1);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
253 gtk_container_add(GTK_CONTAINER(align1), table1);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
254 gtk_table_set_row_spacings (GTK_TABLE(table1), 6);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
255 gtk_table_set_col_spacings (GTK_TABLE(table1), 6);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
256
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
257 label2 = gtk_label_new (_("Username:"));
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
258 gtk_widget_show (label2);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
259 gtk_table_attach_defaults (GTK_TABLE (table1), label2, 0, 1, 2, 3);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
260 gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_RIGHT);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
261 gtk_misc_set_alignment (GTK_MISC (label2), 1, 0.5);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
262
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
263 label3 = gtk_label_new (_("Password:"));
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
264 gtk_widget_show (label3);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
265 gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 3, 4,
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
266 (GtkAttachOptions) (GTK_FILL),
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
267 (GtkAttachOptions) (0), 0, 0);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
268 gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_RIGHT);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
269 gtk_misc_set_alignment (GTK_MISC (label3), 1, 0.5);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
270
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
271 ge_entry1 = gtk_entry_new ();
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
272 gtk_widget_show (ge_entry1);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
273 gtk_table_attach_defaults (GTK_TABLE (table1), ge_entry1, 1, 2, 2, 3);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
274
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
275 ge_entry2 = gtk_entry_new ();
2943
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
276 gtk_widget_modify_text(ge_entry2, GTK_STATE_NORMAL, &disabled_color);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
277
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
278 gtk_entry_set_text(GTK_ENTRY(ge_entry2), "Change password");
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
279 g_signal_connect(G_OBJECT(ge_entry2), "focus-in-event",
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
280 G_CALLBACK(entry_focus_in),
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
281 NULL);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
282 g_signal_connect(G_OBJECT(ge_entry2), "focus-out-event",
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
283 G_CALLBACK(entry_focus_out),
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
284 NULL);
d3e42ee17c93 added password prompt
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2599
diff changeset
285
344
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
286 gtk_widget_show (ge_entry2);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
287 gtk_table_attach_defaults (GTK_TABLE (table1), ge_entry2, 1, 2, 3, 4);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
288
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
289 label1 = gtk_label_new (_("<b>Gerpok</b>"));
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
290 gtk_label_set_use_markup (GTK_LABEL (label1), TRUE);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
291 gtk_notebook_append_page(GTK_NOTEBOOK(notebook1), GTK_WIDGET(align1), label1);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
292
354
6f97100467cf [svn] - add missing code
yaz
parents: 350
diff changeset
293 // common
344
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
294 gtk_box_pack_start (GTK_BOX (vbox2), notebook1, TRUE, TRUE, 6);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
295
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
296 himage1 = gtk_image_new_from_file (DATA_DIR "/images/audioscrobbler_badge.png");
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
297 gtk_widget_show (himage1);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
298 gtk_box_pack_start (GTK_BOX (vbox2), himage1, FALSE, FALSE, 0);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
299 gtk_misc_set_alignment (GTK_MISC (himage1), 1, 0.5);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
300
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
301 gtk_entry_set_text(GTK_ENTRY(entry1), "");
2944
d93a97ce253d fix identifier
Andrew O. Shadoura <bugzilla@tut.by>
parents: 2943
diff changeset
302 gtk_entry_set_text(GTK_ENTRY(ge_entry1), "");
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
303
2124
b8da6a0b0da2 s/bmp_cfg_/aud_cfg_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1975
diff changeset
304 if ((db = aud_cfg_db_open())) {
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
305 gchar *username = NULL;
3109
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
306 gchar *sc_url = NULL;
354
6f97100467cf [svn] - add missing code
yaz
parents: 350
diff changeset
307 // last fm
2124
b8da6a0b0da2 s/bmp_cfg_/aud_cfg_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1975
diff changeset
308 aud_cfg_db_get_string(db, "audioscrobbler", "username",
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
309 &username);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
310 if (username) {
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
311 gtk_entry_set_text(GTK_ENTRY(entry1), username);
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
312 g_free(username);
347
f1b620b679b1 [svn] - make sure username is NULL
nenolod
parents: 344
diff changeset
313 username = NULL;
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
314 }
3109
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
315
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
316 aud_cfg_db_get_string(db, "audioscrobbler", "sc_url", &sc_url);
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
317 if (sc_url) {
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
318 gtk_entry_set_text(GTK_ENTRY(entry3), sc_url);
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
319 g_free(sc_url);
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
320 sc_url = NULL;
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
321 }
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
322
354
6f97100467cf [svn] - add missing code
yaz
parents: 350
diff changeset
323 // gerpok
2124
b8da6a0b0da2 s/bmp_cfg_/aud_cfg_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1975
diff changeset
324 aud_cfg_db_get_string(db, "audioscrobbler", "ge_username",
344
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
325 &username);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
326 if (username) {
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
327 gtk_entry_set_text(GTK_ENTRY(ge_entry1), username);
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
328 g_free(username);
364
50347c06ec68 [svn] - make scrobbler behave better
nenolod
parents: 354
diff changeset
329 username = NULL;
344
03c1ae10bc8d [svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents: 12
diff changeset
330 }
990
238055a6cb8f [svn] - remove support for hatena music as hatena ceased their musical profile service.
yaz
parents: 527
diff changeset
331
2124
b8da6a0b0da2 s/bmp_cfg_/aud_cfg_/g
Matti Hamalainen <ccr@tnsp.org>
parents: 1975
diff changeset
332 aud_cfg_db_close(db);
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
333 }
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
334
2318
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
335 g_signal_connect(entry1, "changed", G_CALLBACK(entry_changed), NULL);
3109
5a11abf0075c scrobbler: add support for custom audioscrobbler servers. (closes #23)
William Pitcock <nenolod@atheme.org>
parents: 2971
diff changeset
336 g_signal_connect(entry3, "changed", G_CALLBACK(entry_changed), NULL);
2318
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
337 g_signal_connect(ge_entry1, "changed", G_CALLBACK(entry_changed), NULL);
d7c321957be8 apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents: 2124
diff changeset
338
0
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
339 return vbox2;
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
340 }
13389e613d67 [svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff changeset
341