~midori/midori/win32theme

« back to all changes in this revision

Viewing changes to extensions/external-download-manager.vala

  • Committer: Transifex
  • Author(s): Yarema aka Knedlyk
  • Date: 2012-09-22 13:44:56 UTC
  • Revision ID: git-v1:2354a7ed0f7e0dd6f8ecaf49e62a5513b76192a4
l10n: Updated Ukrainian (uk) translation to 100%

New status: 622 messages complete with 0 fuzzies and 0 untranslated.

Transmitted-via: Transifex (translations.xfce.org).

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
using WebKit;
17
17
 
18
18
namespace EDM {
19
 
#if !HAVE_WIN32
20
19
    [DBus (name = "net.launchpad.steadyflow.App")]
21
20
    interface SteadyflowInterface : GLib.Object {
22
21
        public abstract void AddFile (string url) throws IOError;
23
22
    }
24
 
#endif
25
23
 
26
24
    private class DownloadRequest : GLib.Object {
27
25
        public string uri;
134
132
        public abstract bool download (DownloadRequest dlReq);
135
133
    }
136
134
 
137
 
#if !HAVE_WIN32
138
135
    private class Aria2 : ExternalDownloadManager {
139
136
        public override bool download (DownloadRequest dlReq) {
140
137
            var url = value_array_new ();
147
144
 
148
145
            var headers = value_array_new ();
149
146
            if (dlReq.cookie_header != null) {
150
 
                value_array_insert (headers, 0, typeof (string), "Cookie: " + dlReq.cookie_header);
 
147
                value_array_insert (headers, 0, typeof (string), "Cookie: %s".printf(dlReq.cookie_header));
151
148
            }
152
149
 
153
150
            if (headers.n_values > 0)
209
206
            this.deactivate.connect (deactivated);
210
207
        }
211
208
    }
212
 
#endif
213
209
 
214
 
    private class CommandLinePreferences : Gtk.Dialog {
 
210
    private class CommandLinePreferences : Dialog {
215
211
        protected Entry input;
216
212
        protected CommandLine commandline;
217
213
 
232
228
            this.response.connect (response_cb);
233
229
        }
234
230
 
235
 
        private void response_cb (Gtk.Dialog source, int response_id) {
 
231
        private void response_cb (Dialog source, int response_id) {
236
232
            switch (response_id) {
237
233
                case ResponseType.APPLY:
238
234
                    this.commandline.set_string ("commandline", this.input.get_text ());
273
269
            dialog.show ();
274
270
        }
275
271
 
276
 
        private string replace_quoted (string context, string replace, string? with) {
277
 
            return context.replace(replace, with != null ? GLib.Shell.quote(with) : "\'\'");
278
 
        }
279
 
 
280
272
        public override bool download (DownloadRequest dlReq) {
281
273
            try {
282
274
                string cmd = this.get_string ("commandline");
283
 
                cmd = replace_quoted(cmd, "{REFERER}", dlReq.referer);
284
 
                cmd = replace_quoted(cmd, "{COOKIES}", dlReq.cookie_header != null ? "Cookie: " + dlReq.cookie_header : null);
 
275
                cmd = cmd.replace("{REFERER}", GLib.Shell.quote (dlReq.referer));
 
276
                if (dlReq.cookie_header != null) {
 
277
                    cmd = cmd.replace("{COOKIES}", GLib.Shell.quote ("Cookie: " + dlReq.cookie_header));
 
278
                } else {
 
279
                    cmd = cmd.replace("{COOKIES}", "\'\'");
 
280
                }
285
281
                cmd = cmd.replace("{URL}", GLib.Shell.quote (dlReq.uri));
286
282
                GLib.Process.spawn_command_line_async (cmd);
287
283
                return true;
291
287
            return false;
292
288
        }
293
289
 
 
290
        #if HAVE_WIN32
 
291
        string default_commandline = "\"%s\\FlashGet\\flashget.exe\" {URL}".printf (Environment.get_variable ("ProgramFiles"));
 
292
        #else
 
293
        const string default_commandline = "wget --no-check-certificate --referer={REFERER} --header={COOKIES} {URL}";
 
294
        #endif
 
295
 
294
296
        static string description_with_command (string commandline) {
295
297
            string command;
296
298
            try {
309
311
        }
310
312
 
311
313
        internal CommandLine () {
312
 
#if HAVE_WIN32
313
 
            string default_commandline = "\"%s\\FlashGet\\flashget.exe\" {URL}".printf (Environment.get_variable ("ProgramFiles"));
314
 
#elif HAVE_FREEBSD
315
 
            string default_commandline = "fetch HTTP_REFERER={REFERER} {URL}";
316
 
#else
317
 
            string default_commandline = "wget --no-check-certificate --referer={REFERER} --header={COOKIES} {URL}";
318
 
#endif
319
 
 
320
314
            GLib.Object (name: _("External Download Manager - CommandLine"),
321
315
                         description: description_with_command (default_commandline),
322
316
                         version: "0.1" + Midori.VERSION_SUFFIX,
337
331
    EDM.manager = new EDM.Manager();
338
332
 
339
333
    var extensions = new Katze.Array( typeof (Midori.Extension));
340
 
    #if !HAVE_WIN32
341
334
    extensions.add_item (new EDM.Aria2 ());
342
335
    extensions.add_item (new EDM.SteadyFlow ());
343
 
    #endif
344
336
    extensions.add_item (new EDM.CommandLine ());
345
337
    return extensions;
346
338
}