windows: Finish up about dialog style

This commit is contained in:
Hylke Bons 2012-03-04 14:09:31 +00:00
parent 2e61c7e7bf
commit bdb317a845
2 changed files with 85 additions and 65 deletions

View file

@ -23,6 +23,9 @@ using System.Linq;
using System.Net; using System.Net;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;
namespace SparkleShare { namespace SparkleShare {
@ -30,8 +33,6 @@ namespace SparkleShare {
public SparkleAboutController Controller = new SparkleAboutController (); public SparkleAboutController Controller = new SparkleAboutController ();
private Label version;
private Label copyright;
private Label updates; private Label updates;
@ -44,24 +45,20 @@ namespace SparkleShare {
public SparkleAbout () public SparkleAbout ()
{ {
Title = "About SparkleShare"; Title = "About SparkleShare";
// Icon = Icons.sparkleshare;
ResizeMode = ResizeMode.NoResize; ResizeMode = ResizeMode.NoResize;
Height = 288;
Width = 640;
Closing += Close;
//BackgroundImage = Icons.about;
Height = 300;
Width = 600;
//Closing
// += Close;
CreateAbout (); CreateAbout ();
Controller.ShowWindowEvent += delegate { Controller.ShowWindowEvent += delegate {
Dispatcher.Invoke ((Action) delegate { Dispatcher.Invoke ((Action) delegate {
Show (); Show ();
Activate ();
BringIntoView (); BringIntoView ();
}); });
}; };
@ -97,63 +94,72 @@ namespace SparkleShare {
private void CreateAbout () private void CreateAbout ()
{ {
this.version = new Label () { Image image = new Image () {
Width = 640,
Height = 260
Content = "version " + Controller.RunningVersion };
};
BitmapImage bitmap_image = new BitmapImage();
bitmap_image.BeginInit();
// TODO: get relative reference to the image
bitmap_image.UriSource = new Uri(@"C:\Users\Hylke\Code\SparkleShare\data\about.png");
bitmap_image.DecodePixelWidth = 640;
bitmap_image.EndInit();
image.Source = bitmap_image;
Label version = new Label () {
Content = "version " + Controller.RunningVersion,
FontSize = 11,
Foreground = new SolidColorBrush (Colors.White)
};
this.updates = new Label () { this.updates = new Label () {
Content = "Checking for updates..." Content = "Checking for updates...",
FontSize = 11,
Foreground = new SolidColorBrush (Color.FromRgb(45, 62, 81))
}; };
TextBlock credits = new TextBlock () {
FontSize = 11,
this.copyright = new Label () { Foreground = new SolidColorBrush (Colors.White),
Content = "Copyright © 2010" + DateTime.Now.Year + " Hylke Bons and others.\n" + Text = "Copyright © 2010" + DateTime.Now.Year + " Hylke Bons and others.\n" +
"\n" +
"SparkleShare is Free and Open Source Software. You are free to use, modify, " + "SparkleShare is Free and Open Source Software. You are free to use, modify, " +
"and redistribute it under the GNU General Public License version 3 or later." "and redistribute it under the GNU General Public License version 3 or later.",
}; TextWrapping = TextWrapping.Wrap,
Width = 318
Button b = new Button (); };
b.Content = "FFF";
Canvas canvas = new Canvas (); Canvas canvas = new Canvas ();
canvas.Children.Add(this.version);
Canvas.SetLeft(this.version, 302);
Canvas.SetTop(this.version, 102);
canvas.Children.Add (image);
Canvas.SetLeft (image, 0);
Canvas.SetTop (image, 0);
canvas.Children.Add (version);
Canvas.SetLeft (version, 289);
Canvas.SetTop (version, 92);
canvas.Children.Add(this.updates); canvas.Children.Add (this.updates);
Canvas.SetLeft(this.updates, 302); Canvas.SetLeft (this.updates, 289);
Canvas.SetTop(this.updates, 122); Canvas.SetTop (this.updates, 109);
canvas.Children.Add(this.copyright);
Canvas.SetLeft(this.copyright, 302);
Canvas.SetTop(this.copyright, 142);
canvas.Children.Add (credits);
Canvas.SetLeft (credits, 294);
Canvas.SetTop (credits, 142);
Content = canvas; Content = canvas;
//AddChild(this.version);
//AddChild(this.updates);
//AddChild(this.copyright);
Show ();
} }
private void Close (object sender, CancelEventArgs args)
/*
private void Close (object sender, Clos)
{ {
if (args.CloseReason != CloseReason.ApplicationExitCall &&
args.CloseReason != CloseReason.TaskManagerClosing &&
args.CloseReason != CloseReason.WindowsShutDown) {
Controller.WindowClosed (); Controller.WindowClosed ();
args.Cancel = true; args.Cancel = true;
} }
}*/
} }
} }

View file

@ -48,20 +48,34 @@ namespace SparkleShare {
void notifier_MouseDown(object sender, WinForms.MouseEventArgs e) void notifier_MouseDown(object o, EventArgs e)
{ {
ContextMenu menu = new ContextMenu (); ContextMenu menu = new ContextMenu ();
MenuItem item0 = new MenuItem () {Header = " Files up to date"};
item0.IsEnabled = false;
MenuItem item = new MenuItem () {Header = " SparkleShare"}; MenuItem item = new MenuItem () {Header = " SparkleShare"};
MenuItem item2 = new MenuItem () {Header = " Add Hosted Project..."}; // item.Icon = ;
MenuItem item3 = new MenuItem () {Header = " View Recent Changes..."}; MenuItem item2 = new MenuItem () {Header = " Add Hosted Project…"};
MenuItem item3 = new MenuItem () {Header = " View Recent Changes…"};
MenuItem item4 = new MenuItem () {Header = " Turn Notifications Off"}; MenuItem item4 = new MenuItem () {Header = " Turn Notifications Off"};
MenuItem item5 = new MenuItem () {Header = " About SparkleShare"}; MenuItem item5 = new MenuItem () {Header = " About SparkleShare"};
item5.Click += delegate {
Controller.AboutClicked ();
};
MenuItem item6 = new MenuItem () {Header = " Exit"};
item6.Click += delegate {
this.status_icon.Dispose ();
Program.Controller.Quit ();
};
MenuItem item6 = new MenuItem () {Header = " Quit"};
menu.Items.Add (item0);
menu.Items.Add (new Separator ());
menu.Items.Add (item); menu.Items.Add (item);
menu.Items.Add (new Separator ());menu.Items.Add (item2); menu.Items.Add (new Separator ());menu.Items.Add (item2);
menu.Items.Add (new Separator ()); menu.Items.Add (new Separator ());
@ -72,11 +86,11 @@ namespace SparkleShare {
menu.Items.Add (new Separator ()); menu.Items.Add (new Separator ());
menu.Items.Add (item6); menu.Items.Add (item6);
menu.Placement = System.Windows.Controls.Primitives.PlacementMode.MousePoint; menu.Placement = System.Windows.Controls.Primitives.PlacementMode.Mouse;
menu.IsOpen = true; menu.IsOpen = true;
menu.IsHitTestVisible=true; menu.IsHitTestVisible=true;
Window w = new Window (); /* Window w = new Window ();
w.Title = "test"; w.Title = "test";
w.Show (); w.Show ();
@ -85,7 +99,7 @@ namespace SparkleShare {
w.BringIntoView (); w.BringIntoView ();
*/
} }
@ -100,7 +114,7 @@ namespace SparkleShare {
status_icon.Icon = Icons.sparkleshare; status_icon.Icon = Icons.sparkleshare;
status_icon.Visible = true; status_icon.Visible = true;
this.status_icon.MouseDown += new WinForms.MouseEventHandler(notifier_MouseDown); this.status_icon.Click += notifier_MouseDown;