diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2011-04-22 13:36:25 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2011-04-22 13:36:25 +0000 |
commit | f9a48fb5e46c387e87c190fc62046e732e776b94 (patch) | |
tree | ac839b4f89d7cb09e2193190251684b904eabcac /src/main.c | |
parent | 935c6cc0529ae5bd284d3f4e9030c04e3ecddd6a (diff) |
handle multiple files via libunique, also use the more reliable get_uris() in libunique
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -50,7 +50,7 @@ message_received_cb(UniqueApp * app G_GNUC_UNUSED, { TrgMainWindow *win; UniqueResponse res; - gchar *fileName; + gchar **uris; win = TRG_MAIN_WINDOW(user_data); @@ -62,10 +62,10 @@ message_received_cb(UniqueApp * app G_GNUC_UNUSED, res = UNIQUE_RESPONSE_OK; break; case COMMAND_ADD: - fileName = unique_message_data_get_filename(message); + uris = unique_message_data_get_uris(message); res = trg_add_from_filename(win, - fileName) ? UNIQUE_RESPONSE_OK : + uris) ? UNIQUE_RESPONSE_OK : UNIQUE_RESPONSE_FAIL; break; default: @@ -104,9 +104,15 @@ int main(int argc, char *argv[]) UniqueMessageData *message; if (argc > 1) { + gchar **files = g_new0(gchar *, argc); + int i; + for (i = 1; i < argc; i++) + files[i - 1] = g_strdup(argv[i]); + command = COMMAND_ADD; message = unique_message_data_new(); - unique_message_data_set_filename(message, argv[1]); + unique_message_data_set_uris(message, files); + g_strfreev(files); } else { command = UNIQUE_ACTIVATE; message = NULL; |