Mercurial > audlegacy-plugins
annotate src/scrobbler/configure.c @ 2678:59af999361d8
oops
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Sun, 01 Jun 2008 17:01:47 +0200 |
parents | 19fb7d7dcf4e |
children | d3e42ee17c93 |
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> |
2599
19fb7d7dcf4e
Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents:
2576
diff
changeset
|
12 #include <audacious/plugin.h> |
19fb7d7dcf4e
Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents:
2576
diff
changeset
|
13 #include <audacious/audutil.h> |
527
d124034ebea3
[svn] - glib/gi18n.h -> audacious/i18n.h for automatic dgettext support
nenolod
parents:
364
diff
changeset
|
14 #include <audacious/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 |
990
238055a6cb8f
[svn] - remove support for hatena music as hatena ceased their musical profile service.
yaz
parents:
527
diff
changeset
|
22 GtkWidget *entry1, *entry2, *ge_entry1, *ge_entry2, *cfgdlg; |
2318
d7c321957be8
apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents:
2124
diff
changeset
|
23 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
|
24 gboolean running = TRUE; /* if plugin threads are running */ |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
25 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
26 static char *hexify(char *pass, int len) |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
27 { |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
28 static char buf[33]; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
29 char *bp = buf; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
30 char hexchars[] = "0123456789abcdef"; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
31 int i; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
32 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
33 memset(buf, 0, sizeof(buf)); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
34 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
35 for(i = 0; i < len; i++) { |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
36 *(bp++) = hexchars[(pass[i] >> 4) & 0x0f]; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
37 *(bp++) = hexchars[pass[i] & 0x0f]; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
38 } |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
39 *bp = 0; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
40 return buf; |
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 |
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
|
43 static void saveconfig(void) |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
44 { |
2523
769e17da93dd
Replaced s/ConfigDb/mcs_handle_t/g, as per changes in the core.
Matti Hamalainen <ccr@tnsp.org>
parents:
2496
diff
changeset
|
45 mcs_handle_t *cfgfile; |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
46 |
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
|
47 const char *uid = gtk_entry_get_text(GTK_ENTRY(entry1)); |
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
|
48 const char *pwd = gtk_entry_get_text(GTK_ENTRY(entry2)); |
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 const char *ge_uid = gtk_entry_get_text(GTK_ENTRY(ge_entry1)); |
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
|
50 const char *ge_pwd = gtk_entry_get_text(GTK_ENTRY(ge_entry2)); |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
51 |
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
|
52 if ((cfgfile = aud_cfg_db_open())) { |
2599
19fb7d7dcf4e
Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents:
2576
diff
changeset
|
53 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
|
54 unsigned char md5pword[16], ge_md5pword[16]; |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
55 |
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
|
56 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
|
57 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
|
58 { |
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 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
|
60 aud_md5_init(&md5state); |
19fb7d7dcf4e
Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents:
2576
diff
changeset
|
61 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
|
62 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
|
63 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
|
64 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
|
65 } 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
|
66 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
|
67 aud_cfg_db_set_string(cfgfile, "audioscrobbler", "password", ""); |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
68 } |
2318
d7c321957be8
apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents:
2124
diff
changeset
|
69 |
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
|
70 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
|
71 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
|
72 { |
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
|
73 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
|
74 aud_md5_init(&md5state); |
19fb7d7dcf4e
Use the md5 routines in libaudutil.
Matti Hamalainen <ccr@tnsp.org>
parents:
2576
diff
changeset
|
75 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
|
76 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
|
77 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
|
78 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
|
79 } 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
|
80 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
|
81 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
|
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 |
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
|
84 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
|
85 } |
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
|
86 } |
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 |
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 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
|
89 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
|
90 saveconfig(); |
2318
d7c321957be8
apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents:
2124
diff
changeset
|
91 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
|
92 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
|
93 return FALSE; |
d7c321957be8
apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents:
2124
diff
changeset
|
94 } |
d7c321957be8
apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents:
2124
diff
changeset
|
95 |
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
|
96 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
|
97 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
|
98 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
|
99 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
|
100 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
|
101 } |
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
|
102 } |
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
|
103 |
2318
d7c321957be8
apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents:
2124
diff
changeset
|
104 static void |
d7c321957be8
apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents:
2124
diff
changeset
|
105 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
|
106 { |
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
|
107 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
|
108 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
|
109 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
|
110 } |
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
|
111 |
2318
d7c321957be8
apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents:
2124
diff
changeset
|
112 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
|
113 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
|
114 |
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
|
115 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
|
116 } |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
117 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
118 /* Generated by glade, sorta. */ |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
119 GtkWidget * |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
120 create_cfgdlg(void) |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
121 { |
2523
769e17da93dd
Replaced s/ConfigDb/mcs_handle_t/g, as per changes in the core.
Matti Hamalainen <ccr@tnsp.org>
parents:
2496
diff
changeset
|
122 mcs_handle_t *db; |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
123 GtkWidget *vbox2; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
124 GtkWidget *table1; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
125 GtkWidget *label3; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
126 GtkWidget *label1; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
127 GtkWidget *label2; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
128 GtkWidget *himage1; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
129 GtkWidget *align1; |
344
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
130 GtkWidget *notebook1; |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
131 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
132 vbox2 = gtk_vbox_new (FALSE, 0); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
133 |
344
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
134 label1 = gtk_label_new (_("<b>Services</b>")); |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
135 gtk_widget_show (label1); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
136 gtk_label_set_use_markup (GTK_LABEL (label1), TRUE); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
137 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
|
138 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
139 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
|
140 |
344
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
141 notebook1 = gtk_notebook_new(); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
142 gtk_widget_show (notebook1); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
143 |
354 | 144 |
145 // last fm | |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
146 align1 = gtk_alignment_new(0, 0, 0, 0); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
147 gtk_widget_show (align1); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
148 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
|
149 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
150 table1 = gtk_table_new (2, 2, FALSE); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
151 gtk_widget_show (table1); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
152 gtk_container_add(GTK_CONTAINER(align1), table1); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
153 gtk_table_set_row_spacings (GTK_TABLE(table1), 6); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
154 gtk_table_set_col_spacings (GTK_TABLE(table1), 6); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
155 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
156 label2 = gtk_label_new (_("Username:")); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
157 gtk_widget_show (label2); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
158 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
|
159 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
|
160 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
|
161 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
162 label3 = gtk_label_new (_("Password:")); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
163 gtk_widget_show (label3); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
164 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
|
165 (GtkAttachOptions) (GTK_FILL), |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
166 (GtkAttachOptions) (0), 0, 0); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
167 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
|
168 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
|
169 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
170 entry1 = gtk_entry_new (); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
171 gtk_widget_show (entry1); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
172 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
|
173 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
174 entry2 = gtk_entry_new (); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
175 gtk_entry_set_visibility(GTK_ENTRY(entry2), FALSE); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
176 gtk_widget_show (entry2); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
177 gtk_table_attach_defaults (GTK_TABLE (table1), entry2, 1, 2, 3, 4); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
178 |
344
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
179 label1 = gtk_label_new (_("<b>Last.FM</b>")); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
180 gtk_label_set_use_markup (GTK_LABEL (label1), TRUE); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
181 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
|
182 |
354 | 183 |
184 // gerpok | |
344
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
185 align1 = gtk_alignment_new(0, 0, 0, 0); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
186 gtk_widget_show (align1); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
187 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
|
188 |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
189 table1 = gtk_table_new (2, 2, FALSE); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
190 gtk_widget_show (table1); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
191 gtk_container_add(GTK_CONTAINER(align1), table1); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
192 gtk_table_set_row_spacings (GTK_TABLE(table1), 6); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
193 gtk_table_set_col_spacings (GTK_TABLE(table1), 6); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
194 |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
195 label2 = gtk_label_new (_("Username:")); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
196 gtk_widget_show (label2); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
197 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
|
198 gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_RIGHT); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
199 gtk_misc_set_alignment (GTK_MISC (label2), 1, 0.5); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
200 |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
201 label3 = gtk_label_new (_("Password:")); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
202 gtk_widget_show (label3); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
203 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
|
204 (GtkAttachOptions) (GTK_FILL), |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
205 (GtkAttachOptions) (0), 0, 0); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
206 gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_RIGHT); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
207 gtk_misc_set_alignment (GTK_MISC (label3), 1, 0.5); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
208 |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
209 ge_entry1 = gtk_entry_new (); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
210 gtk_widget_show (ge_entry1); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
211 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
|
212 |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
213 ge_entry2 = gtk_entry_new (); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
214 gtk_entry_set_visibility(GTK_ENTRY(ge_entry2), FALSE); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
215 gtk_widget_show (ge_entry2); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
216 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
|
217 |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
218 label1 = gtk_label_new (_("<b>Gerpok</b>")); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
219 gtk_label_set_use_markup (GTK_LABEL (label1), TRUE); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
220 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
|
221 |
354 | 222 // common |
344
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
223 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
|
224 |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
225 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
|
226 gtk_widget_show (himage1); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
227 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
|
228 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
|
229 |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
230 gtk_entry_set_text(GTK_ENTRY(entry1), ""); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
231 gtk_entry_set_text(GTK_ENTRY(entry2), ""); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
232 |
2124 | 233 if ((db = aud_cfg_db_open())) { |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
234 gchar *username = NULL; |
354 | 235 // last fm |
2124 | 236 aud_cfg_db_get_string(db, "audioscrobbler", "username", |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
237 &username); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
238 if (username) { |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
239 gtk_entry_set_text(GTK_ENTRY(entry1), username); |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
240 g_free(username); |
347 | 241 username = NULL; |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
242 } |
354 | 243 // gerpok |
2124 | 244 aud_cfg_db_get_string(db, "audioscrobbler", "ge_username", |
344
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
245 &username); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
246 if (username) { |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
247 gtk_entry_set_text(GTK_ENTRY(ge_entry1), username); |
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
248 g_free(username); |
364 | 249 username = NULL; |
344
03c1ae10bc8d
[svn] - Merge audacious-scrobbler III, new features include:
nenolod
parents:
12
diff
changeset
|
250 } |
990
238055a6cb8f
[svn] - remove support for hatena music as hatena ceased their musical profile service.
yaz
parents:
527
diff
changeset
|
251 |
2124 | 252 aud_cfg_db_close(db); |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
253 } |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
254 |
2318
d7c321957be8
apply username/password changes 10 seconds after last keystroke in config editboxes
Tomasz Mon <desowin@gmail.com>
parents:
2124
diff
changeset
|
255 g_signal_connect(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
|
256 g_signal_connect(entry2, "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
|
257 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
|
258 g_signal_connect(ge_entry2, "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
|
259 |
0
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
260 return vbox2; |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
261 } |
13389e613d67
[svn] - initial import of audacious-plugins tree (lots to do)
nenolod
parents:
diff
changeset
|
262 |