Adds a menu to the lift list window.
using Hildon;
public class LiftDetailWindow : StackableWindow {
using Hildon;
public class LiftDetailWindow : StackableWindow {
- private const string BROWSER_SERVICE = "com.nokia.osso_browser";
- private const string BROWSER_PATH = "/com/nokia/osso_browser";
- private const string BROWSER_IF = "com.nokia.osso_browser";
-
private const string CALENDAR_SERVICE = "com.nokia.calendar";
private const string CALENDAR_PATH = "/com/nokia/calendar";
private const string CALENDAR_IF = "com.nokia.calendar";
private const string CALENDAR_SERVICE = "com.nokia.calendar";
private const string CALENDAR_PATH = "/com/nokia/calendar";
private const string CALENDAR_IF = "com.nokia.calendar";
}
void on_goto_website_clicked () {
}
void on_goto_website_clicked () {
- var url = "http://mitfahrclub.adac.de" + lift.href;
-
- try {
- var conn = DBus.Bus.get (DBus.BusType.SESSION);
-
- dynamic DBus.Object browser = conn.get_object (BROWSER_SERVICE, BROWSER_PATH, BROWSER_IF);
- browser.open_new_window (url, false);
- } catch (Error e) {
- stderr.printf ("Error: %s\n", e.message);
- Banner.show_information (this, null, _("Failed to open browser."));
- }
+ BeifahrerProgram.open_browser (this, adac.get_lift_details_url (lift));
}
bool on_image_eventbox_button_pressed (Gdk.EventButton event) {
}
bool on_image_eventbox_button_pressed (Gdk.EventButton event) {
Label no_lifts;
GConf.Client gconf;
bool preload = false;
Label no_lifts;
GConf.Client gconf;
bool preload = false;
+ string url;
+
+ Gtk.Button goto_website;
public LiftListWindow (AdacMitfahrclub _adac) {
adac = _adac;
public LiftListWindow (AdacMitfahrclub _adac) {
adac = _adac;
construct {
set_title ("Beifahrer");
construct {
set_title ("Beifahrer");
+ var menu = new AppMenu ();
+ goto_website = new Gtk.Button.with_label (_("Show website"));
+ menu.append (goto_website);
+ set_main_menu (menu);
+
gconf = GConf.Client.get_default ();
store = new ListStore (6, typeof (string), typeof (string), typeof (string), typeof (string), typeof (string), typeof (Lift));
gconf = GConf.Client.get_default ();
store = new ListStore (6, typeof (string), typeof (string), typeof (string), typeof (string), typeof (string), typeof (Lift));
tree.row_activated.connect (this.on_row_activated);
Gdk.Screen.get_default ().size_changed.connect (this.on_orientation_changed);
tree.row_activated.connect (this.on_row_activated);
Gdk.Screen.get_default ().size_changed.connect (this.on_orientation_changed);
+ goto_website.clicked.connect (on_goto_website_clicked);
}
public async void find_lifts (string city_from, int radius_from, string city_to, int radius_to, Date date, int tolerance = 0) {
}
public async void find_lifts (string city_from, int radius_from, string city_to, int radius_to, Date date, int tolerance = 0) {
set_title ("%s - %s".printf (city_from, city_to));
Hildon.gtk_window_set_progress_indicator (this, 1);
set_title ("%s - %s".printf (city_from, city_to));
Hildon.gtk_window_set_progress_indicator (this, 1);
+ url = adac.get_lift_list_url (city_from, radius_from, city_to, radius_to, date, tolerance);
+ if (url == null)
+ return;
+ goto_website.show ();
var lift_list = yield adac.get_lift_list (city_from, radius_from, city_to, radius_to, date, tolerance);
foreach (Lift lift in lift_list) {
string icon_name = null;
var lift_list = yield adac.get_lift_list (city_from, radius_from, city_to, radius_to, date, tolerance);
foreach (Lift lift in lift_list) {
string icon_name = null;
Hildon.gtk_window_set_progress_indicator (this, 0);
}
Hildon.gtk_window_set_progress_indicator (this, 0);
}
+ void on_goto_website_clicked () {
+ BeifahrerProgram.open_browser (this, url);
+ }
+
private void on_row_activated (TreeView tree, TreePath /*_*/path, TreeViewColumn column) {
TreeModel model = tree.model;
TreeIter iter;
private void on_row_activated (TreeView tree, TreePath /*_*/path, TreeViewColumn column) {
TreeModel model = tree.model;
TreeIter iter;