Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
ggreeter
ggreeter-bnc327414.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ggreeter-bnc327414.patch of Package ggreeter
diff --git a/src/Greeter.cs b/src/Greeter.cs index 0492a13..81ac8d1 100644 --- a/src/Greeter.cs +++ b/src/Greeter.cs @@ -21,8 +21,10 @@ namespace Greeter { public class Presenter : Window { private static GConf.Client client; private HTML html; + private ScrolledWindow scroll; private const string FirstRun = "/apps/ggreeter/firstrun/10.3"; - + private static Gdk.Rectangle MaxGeom = new Gdk.Rectangle (0, 0, 800, 600); + private int zoom_steps = 6; public static void Main (string [] args) { @@ -51,6 +53,25 @@ namespace Greeter { } } + protected override void OnRealized () + { + base.OnRealized (); + + int monitor = GdkWindow.Screen.GetMonitorAtWindow (GdkWindow); + Gdk.Rectangle geom = GdkWindow.Screen.GetMonitorGeometry (monitor); + + if (geom.Width < MaxGeom.Width || geom.Height < MaxGeom.Height) + SetSizeRequest (geom.Width - 50, geom.Height - 50); + } + + protected override bool OnExposeEvent (Gdk.EventExpose args) + { + if (scroll.HScrollbar.Visible || scroll.VScrollbar.Visible && zoom_steps-- > 0) + html.ZoomOut (); + + return base.OnExposeEvent (args); + } + public Presenter () : base ("") { Decorated = false; @@ -62,8 +83,11 @@ namespace Greeter { html = new Gtk.HTML (); html.LinkClicked += HandleLinkClicked; html.UrlRequested += HandleUrlRequested; - html.SetUsize (800,600); + + SetSizeRequest (MaxGeom.Width, MaxGeom.Height); + html.ZoomIn (); + Gtk.HTMLStream hstream = html.Begin (null, "text/html; charset=utf-8", Gtk.HTMLBeginFlags.Scroll); using (Stream header = Open ("greet_header.html")) @@ -78,7 +102,9 @@ namespace Greeter { hstream.Close (Gtk.HTMLStreamStatus.Ok); - this.Add (html); + scroll = new ScrolledWindow (); + scroll.Add (html); + this.Add (scroll); ShowAll (); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor