IMDb SQLite database: reuse prepared statements for common operations
[cinaest] / src / main.vala
index a833fc3..752997c 100644 (file)
 using Hildon;
 
 public class CinaestProgram : Hildon.Program {
-       MovieListWindow window;
+       SourceListWindow window;
        public static List<Plugin> plugins;
+       public static Orientation orientation;
 
        construct {
                Environment.set_application_name ("Cinæst");
 
-               window = new MovieListWindow ();
+               window = new SourceListWindow ();
                window.destroy.connect (Gtk.main_quit);
 
+               orientation = new Orientation ();
+               orientation.changed.connect (on_orientation_changed);
+
                add_window (window);
        }
 
+       private void on_orientation_changed () {
+               if (orientation.portrait) {
+                       Hildon.gtk_window_set_portrait_flags (window, PortraitFlags.REQUEST);
+               } else {
+                       Hildon.gtk_window_set_portrait_flags (window, PortraitFlags.SUPPORT);
+               }
+       }
+
        public void register_plugins (Osso.Context context) {
                string plugin_path = Config.PKGLIBDIR;
                try {
@@ -60,11 +72,8 @@ public class CinaestProgram : Hildon.Program {
        }
 
        public void run () {
-               // FIXME - always start with the first plugin's first source for now
-               if (plugins != null) {
-                       var plugin = plugins.first ().data;
-                       if (plugin != null)
-                               window.source = plugin.get_sources ().first ().data;
+               foreach (Plugin plugin in plugins) {
+                       window.add_sources (plugin.get_sources ());
                }
                Gtk.main ();
        }