[tracker] tracker-needle: Support command line arguments -V and search criteria
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] tracker-needle: Support command line arguments -V and search criteria
- Date: Thu, 20 Jan 2011 11:56:25 +0000 (UTC)
commit 0dfb0240cc0235b5de614fdb2702d8a89df1fafa
Author: Dominique Leuenberger <dimstar opensuse org>
Date: Thu Jan 20 11:54:17 2011 +0000
tracker-needle: Support command line arguments -V and search criteria
Fixes GB#639542, tracker-needle doesn't support any argument
src/tracker-needle/config.vapi | 4 +-
src/tracker-needle/tracker-needle.vala | 70 ++++++++++++++++++++++++++++++++
src/tracker-needle/tracker-stats.vala | 2 +-
3 files changed, 73 insertions(+), 3 deletions(-)
---
diff --git a/src/tracker-needle/config.vapi b/src/tracker-needle/config.vapi
index 981d93d..e9b856c 100644
--- a/src/tracker-needle/config.vapi
+++ b/src/tracker-needle/config.vapi
@@ -22,10 +22,10 @@
namespace Config
{
public const string GETTEXT_PACKAGE;
- public const string APPNAME;
+ public const string PACKAGE_NAME;
+ public const string PACKAGE_VERSION;
public const string APP_PATH;
public const string LOCALEDIR;
- public const string APP_VERSION;
}
diff --git a/src/tracker-needle/tracker-needle.vala b/src/tracker-needle/tracker-needle.vala
index 6b6f917..8366069 100644
--- a/src/tracker-needle/tracker-needle.vala
+++ b/src/tracker-needle/tracker-needle.vala
@@ -66,6 +66,22 @@ public class Tracker.Needle {
window.show ();
}
+ public void set_search (string[]? args) {
+ if (args != null) {
+ string text = "";
+
+ foreach (string s in args) {
+ if (text.length > 1)
+ text += " ";
+
+ text += s;
+ }
+
+ debug ("Setting search criteria to: '%s'\n", text);
+ search.set_text (text);
+ }
+ }
+
private void setup_ui () {
var builder = new Gtk.Builder ();
@@ -707,7 +723,58 @@ public class Tracker.Needle {
}
}
+static bool print_version = false;
+[CCode (array_length = false, array_null_terminated = true)]
+static string[] search_criteria = null;
+
+const OptionEntry[] options = {
+ { "version",
+ 'V',
+ 0,
+ OptionArg.NONE,
+ ref print_version,
+ N_("Print version"),
+ null },
+ { "", // G_OPTION_REMAINING
+ 0,
+ 0,
+ OptionArg.STRING_ARRAY,
+ ref search_criteria,
+ N_("[SEARCH-CRITERIA]"),
+ N_("[SEARCH-CRITERIA]") },
+ { null }
+};
+
static int main (string[] args) {
+ OptionContext context = new OptionContext (_("Desktop Search user interface using Tracker"));
+
+ try {
+ context.set_help_enabled (true);
+ context.add_main_entries (options, null);
+ context.add_group (Gtk.get_option_group (true));
+ context.parse (ref args);
+ } catch (Error e) {
+ printerr (e.message + "\n\n");
+ printerr (context.get_help (true, null));
+ return 1;
+ }
+
+ if (print_version) {
+ string about = "";
+ string license = "";
+
+ about += "Tracker " + Config.PACKAGE_VERSION + "\n";
+
+ license += "This program is free software and comes without any warranty.\n";
+ license += "It is licensed under version 2 or later of the General Public ";
+ license += "License which can be viewed at:\n";
+ license += "\n";
+ license += " http://www.gnu.org/licenses/gpl.txt\n";;
+
+ print ("\n" + about + "\n" + license + "\n");
+ return 0;
+ }
+
Gtk.init (ref args);
Intl.bindtextdomain (Config.GETTEXT_PACKAGE, Config.LOCALEDIR);
@@ -716,6 +783,9 @@ static int main (string[] args) {
Tracker.Needle n = new Tracker.Needle ();
n.show();
+
+ n.set_search (search_criteria);
+
Gtk.main ();
return 0;
diff --git a/src/tracker-needle/tracker-stats.vala b/src/tracker-needle/tracker-stats.vala
index 7323785..32db1dc 100644
--- a/src/tracker-needle/tracker-stats.vala
+++ b/src/tracker-needle/tracker-stats.vala
@@ -20,7 +20,7 @@
using Gtk;
// Added to fix #error for GETTEXT_PACKAGE
-private const string b = Config.APPNAME;
+private const string b = Config.PACKAGE_NAME;
[DBus (name = "org.freedesktop.Tracker1.Statistics")]
interface Statistics : DBusProxy {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]