Add movie list menu
authorPhilipp Zabel <philipp.zabel@gmail.com>
Thu, 24 Sep 2009 09:52:13 +0000 (11:52 +0200)
committerPhilipp Zabel <philipp.zabel@gmail.com>
Fri, 30 Oct 2009 20:06:17 +0000 (21:06 +0100)
A view menu for the movie list window. Will be used to set up sorting and
filters for the movie list view and select data sources.

Makefile
src/movie-list-menu.vala [new file with mode: 0644]
src/movie-list-window.vala

index 6c009c3..c4fb16b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,6 @@
 cinaest_SOURCES = \
        src/main.vala \
+       src/movie-list-menu.vala \
        src/movie-list-view.vala \
        src/movie-list-window.vala
 
diff --git a/src/movie-list-menu.vala b/src/movie-list-menu.vala
new file mode 100644 (file)
index 0000000..903d2be
--- /dev/null
@@ -0,0 +1,47 @@
+/* This file is part of Cinaest.
+ *
+ * Copyright (C) 2009 Philipp Zabel
+ *
+ * Cinaest is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Cinaest is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Cinaest. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+using Gtk;
+using Hildon;
+
+public class MovieListMenu : AppMenu {
+       public TreeSortable sortable;
+
+       construct {
+               // Add sort buttons as view menu filters
+               var sort_by_title = new RadioButton.with_label (null, "ABC");
+               var sort_by_year = new RadioButton.with_label_from_widget (sort_by_title, "Year");
+               var sort_by_rating = new RadioButton.with_label_from_widget (sort_by_title, "Rating");
+
+               // Draw them as toggle buttons, not as radio buttons
+               sort_by_title.set_mode (false);
+               sort_by_year.set_mode (false);
+               sort_by_rating.set_mode (false);
+
+               // TODO - get this from GConf
+               sort_by_title.set_active (true);
+
+               // TODO - connect signals
+
+               add_filter (sort_by_title);
+               add_filter (sort_by_year);
+               add_filter (sort_by_rating);
+
+               show_all ();
+       }
+}
index c6b39cb..3b377a9 100644 (file)
@@ -24,6 +24,11 @@ public class MovieListWindow : StackableWindow {
        private Toolbar search_bar;
 
        construct {
+               // View menu
+               var menu = new MovieListMenu ();
+
+               set_main_menu (menu);
+
                // Search bar
                search_field = new Hildon.Entry (SizeType.FINGER_HEIGHT);