From 9ead139fb1c196dc8082be6968f21a6749de883f Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Mon, 9 Nov 2009 10:46:55 +0100 Subject: [PATCH] IMDb plugin: add settings dialog --- Makefile.am | 3 ++- src/plugin-interface.vala | 2 ++ src/plugins/imdb-plugin.vala | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index a0ed6bc..ff47cbe 100644 --- a/Makefile.am +++ b/Makefile.am @@ -75,7 +75,8 @@ libimdb_plugin_la_VALASOURCES = \ src/plugin-interface.vala \ src/plugins/imdb-download-dialog.vala -libimdb_plugin_la_VALAFLAGS = --vapidir ./vapi --pkg dbus-glib-1 --pkg hildon-1 --pkg sqlite3 +libimdb_plugin_la_VALAFLAGS = --vapidir ./vapi --pkg config \ + --pkg dbus-glib-1 --pkg hildon-1 --pkg sqlite3 libimdb_plugin_la_CFLAGS = ${DBUS_CFLAGS} ${HILDON_CFLAGS} ${SQLITE3_CFLAGS} libimdb_plugin_la_LIBADD = ${DBUS_LIBS} ${HILDON_LIBS} ${SQLITE3_LIBS} libimdb_plugin_la_LDFLAGS = -module diff --git a/src/plugin-interface.vala b/src/plugin-interface.vala index 0203fdd..df453b0 100644 --- a/src/plugin-interface.vala +++ b/src/plugin-interface.vala @@ -21,6 +21,8 @@ public abstract class Plugin : Object { public abstract unowned List get_sources (); + public abstract void settings_dialog (Gtk.Window window); + public abstract unowned string get_name (); } diff --git a/src/plugins/imdb-plugin.vala b/src/plugins/imdb-plugin.vala index f91f3cd..972d89f 100644 --- a/src/plugins/imdb-plugin.vala +++ b/src/plugins/imdb-plugin.vala @@ -43,6 +43,9 @@ class IMDbPlugin : Plugin { sources = new List (); sources.append (source); + + // FIXME - this forces the inclusion of config.h + (void) Config.GETTEXT_PACKAGE; } private void download_imdb (Gtk.Window window) { @@ -84,6 +87,37 @@ class IMDbPlugin : Plugin { return sources; } + public override void settings_dialog (Gtk.Window window) { + var dialog = new Gtk.Dialog (); + dialog.set_transient_for (window); + dialog.set_title (_("IMDb plugin settings")); + + string filename = Path.build_filename (Environment.get_user_cache_dir(), + "cinaest", "imdb.db", null); + var file = File.new_for_path (filename); + var info = file.query_info (FILE_ATTRIBUTE_TIME_MODIFIED, FileQueryInfoFlags.NONE, null); + TimeVal tv; + info.get_modification_time (out tv); + + var date = Date (); + date.set_time_val (tv); + char[] s = new char[64]; + date.strftime (s, "%x"); + + var download = new Hildon.Button.with_text (SizeType.FINGER_HEIGHT, ButtonArrangement.VERTICAL, _("Download"), "Last update: " + (string) s); + + VBox content = (VBox) dialog.get_content_area (); + content.pack_start (download, true, true, 0); + + download.clicked.connect (() => { + download_imdb (window); + }); + + dialog.show_all (); + dialog.run (); + dialog.destroy (); + } + public override unowned string get_name () { return "IMDb"; } -- 1.7.9.5