From 24d4da879643d84d5773b24b672f9b37e3f174b6 Mon Sep 17 00:00:00 2001 From: Alexander Kojevnikov Date: Mon, 17 May 2010 17:39:22 +1000 Subject: [PATCH] Open the file passed as an argument --- src/spek-window.vala | 7 ++++++- src/spek.vala | 14 +++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/spek-window.vala b/src/spek-window.vala index 7a7ae78..6d026e6 100644 --- a/src/spek-window.vala +++ b/src/spek-window.vala @@ -28,7 +28,7 @@ namespace Spek { private FileFilter filter_audio; private FileFilter filter_png; - public Window () { + public Window (string file_name) { title = _("Spek - Acoustic Spectrum Analyser"); set_default_icon_name ("spek"); set_default_size (640, 480); @@ -95,6 +95,11 @@ namespace Spek { vbox.pack_start (spectrogram, true, true, 0); add (vbox); show_all (); + + if (file_name != null) { + cur_dir = Path.get_dirname (file_name); + spectrogram.open (file_name); + } } private void on_open_clicked () { diff --git a/src/spek.vala b/src/spek.vala index f426691..9c8f6e7 100644 --- a/src/spek.vala +++ b/src/spek.vala @@ -19,9 +19,12 @@ using Spek; bool version = false; -// TODO: move into main() when bgo#530623 is fixed. +[CCode (array_length = false, array_null_terminated = true)] +string[] files = null; + const OptionEntry[] options = { - { "version", 'V', 0, OptionArg.NONE, &version, N_("Display the version and exit"), null }, + { "version", 'V', 0, OptionArg.NONE, ref version, N_("Display the version and exit"), null }, + { "", 0, 0, OptionArg.FILENAME_ARRAY, ref files, null, null }, { null } }; @@ -44,8 +47,13 @@ int main (string[] args) { return 0; } + if (files != null && files.length != 1) { + print (_("Specify a single file\n")); + return 1; + } + Gst.init (ref args); - var window = new Window (); + var window = new Window (files == null ? null : files[0]); Gtk.main (); window.destroy (); return 0;