[banshee] [WebBrowser] Add option to add more shortcut links
- From: Gabriel Burt <gburt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [banshee] [WebBrowser] Add option to add more shortcut links
- Date: Thu, 26 Aug 2010 18:01:41 +0000 (UTC)
commit 1029d3ba8fb4ccfc4585c882b7e08c517113c2de
Author: Gabriel Burt <gabriel burt gmail com>
Date: Thu Aug 26 12:53:38 2010 -0500
[WebBrowser] Add option to add more shortcut links
If there are any added, the Home button becomes a MenuButton, with the
arrow next to it opening a menu with all the links available.
.../Banshee.WebBrowser/NavigationControl.cs | 33 ++++++++++++++++++-
.../Banshee.WebSource/WebBrowserShell.cs | 10 +++--
src/Hyena | 2 +-
3 files changed, 38 insertions(+), 7 deletions(-)
---
diff --git a/src/Core/Banshee.WebBrowser/Banshee.WebBrowser/NavigationControl.cs b/src/Core/Banshee.WebBrowser/Banshee.WebBrowser/NavigationControl.cs
index e8787cc..9ad7e03 100644
--- a/src/Core/Banshee.WebBrowser/Banshee.WebBrowser/NavigationControl.cs
+++ b/src/Core/Banshee.WebBrowser/Banshee.WebBrowser/NavigationControl.cs
@@ -1,8 +1,9 @@
//
// NavigationControl.cs
//
-// Author:
+// Authors:
// Aaron Bockover <abockover novell com>
+// Gabriel Burt <gburt novell com>
//
// Copyright 2010 Novell, Inc.
//
@@ -28,6 +29,7 @@ using System;
using Gtk;
using Hyena.Gui;
+using Hyena.Widgets;
namespace Banshee.WebBrowser
{
@@ -37,6 +39,8 @@ namespace Banshee.WebBrowser
private Button forward_button = new Button (new Image (Stock.GoForward, IconSize.Button)) { Relief = ReliefStyle.None };
private Button reload_button = new Button (new Image (Stock.Refresh, IconSize.Button)) { Relief = ReliefStyle.None };
private Button home_button = new Button (new Image (Stock.Home, IconSize.Button)) { Relief = ReliefStyle.None };
+ private Menu shortcut_menu = new Menu ();
+ private MenuButton shortcut_menu_button;
public event EventHandler GoHomeEvent;
@@ -67,14 +71,39 @@ namespace Banshee.WebBrowser
}
};
+ shortcut_menu_button = new MenuButton (home_button, shortcut_menu, true);
+
UpdateNavigation ();
PackStart (back_button, false, false, 0);
PackStart (forward_button, false, false, 0);
PackStart (reload_button, false, false, 5);
- PackStart (home_button, false, false, 0);
+ PackStart (shortcut_menu_button, false, false, 0);
ShowAll ();
+ ClearLinks ();
+ }
+
+ public void ClearLinks ()
+ {
+ while (shortcut_menu.Children.Length > 0) {
+ shortcut_menu.Remove (shortcut_menu.Children[0]);
+ }
+
+ shortcut_menu_button.ArrowVisible = false;
+ }
+
+ public MenuItem AddLink (string name, string url)
+ {
+ var link = new MenuItem (name) { Visible = true };
+
+ if (url != null) {
+ link.Activated += (o, a) => WebView.LoadUri (url);
+ }
+
+ shortcut_menu.Append (link);
+ shortcut_menu_button.ArrowVisible = true;
+ return link;
}
private OssiferWebView web_view;
diff --git a/src/Core/Banshee.WebBrowser/Banshee.WebSource/WebBrowserShell.cs b/src/Core/Banshee.WebBrowser/Banshee.WebSource/WebBrowserShell.cs
index 59fdddc..b7c5bed 100644
--- a/src/Core/Banshee.WebBrowser/Banshee.WebSource/WebBrowserShell.cs
+++ b/src/Core/Banshee.WebBrowser/Banshee.WebSource/WebBrowserShell.cs
@@ -49,7 +49,9 @@ namespace Banshee.WebSource
public WebView View { get { return view; } }
- public WebBrowserShell (string name, WebView view) : base (2, 4, false)
+ protected NavigationControl NavigationControl { get { return navigation_control; } }
+
+ public WebBrowserShell (string name, WebView view) : base (2, 3, false)
{
this.name = name;
this.view = view;
@@ -82,7 +84,7 @@ namespace Banshee.WebSource
0, 0);
title.Xalign = 0.0f;
- title.Xpad = 20;
+ title.Xpad = 6;
title.Ellipsize = Pango.EllipsizeMode.End;
Attach (title, 1, 2, 0, 1,
@@ -103,7 +105,7 @@ namespace Banshee.WebSource
view.HasFocus = true;
search_clear_on_navigate_state = 1;
};
- Attach (search_entry, 3, 4, 0, 1,
+ Attach (search_entry, 2, 3, 0, 1,
AttachOptions.Fill,
AttachOptions.Shrink,
0, 0);
@@ -111,7 +113,7 @@ namespace Banshee.WebSource
view_scroll.Add (view);
view_scroll.ShadowType = ShadowType.In;
- Attach (view_scroll, 0, 4, 1, 2,
+ Attach (view_scroll, 0, 3, 1, 2,
AttachOptions.Expand | AttachOptions.Fill,
AttachOptions.Expand | AttachOptions.Fill,
0, 0);
diff --git a/src/Hyena b/src/Hyena
index d56839c..ff259e5 160000
--- a/src/Hyena
+++ b/src/Hyena
@@ -1 +1 @@
-Subproject commit d56839c38ff03c9b043867edc4a7c239c27ada26
+Subproject commit ff259e5ad515b0edefc98c13283dee6ac2c06a50
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]