// Copyright 2005 by Omar Al Zabir. All rights are reserved.
//
// If you like this code then feel free to go ahead and use it.
// The only thing I ask is that you don't remove or alter my copyright notice.
//
// Your use of this software is entirely at your own risk. I make no claims or
// warrantees about the reliability or fitness of this code for any particular purpose.
// If you make changes or additions to this code please mark your code as being yours.
//
// website http://www.oazabir.com, email OmarAlZabir@gmail.com, msn oazabir@hotmail.com
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Reflection;
namespace RSSFeeder.Helpers{
using RSSBlogAPI;
using RSSCommon;
/// <summary>
/// Summary description for UIHelper.
/// </summary>
public class UIHelper
{
public static void PositionForm( Form f, Configuration.PopupWindowPositionEnum pos )
{
Rectangle rScreen = Screen.GetWorkingArea (Screen.PrimaryScreen.WorkingArea);
if( Configuration.PopupWindowPositionEnum.BottomRight == pos )
{
f.Top = rScreen.Bottom - f.Height;
f.Left = rScreen.Width - f.Width - 11;
}
else if( Configuration.PopupWindowPositionEnum.BottomLeft == pos )
{
f.Top = rScreen.Bottom - f.Height;
f.Left = rScreen.Left;
}
else if( Configuration.PopupWindowPositionEnum.TopLeft == pos )
{
f.Top = rScreen.Top;
f.Left = rScreen.Left;
}
else if( Configuration.PopupWindowPositionEnum.TopRight == pos )
{
f.Top = rScreen.Top;
f.Left = rScreen.Width - f.Width - 11;
}
}
}
/*
public class WebLogMenuHelper
{
private MenuItem _WebLogMenu;
private Form _Form;
public WebLogMenuHelper( MenuItem menu, Form form )
{
this._WebLogMenu = menu;
this._Form = form;
}
#region Web Log Methods
/// <summary>
/// Clear all web log menu items and add them again
/// </summary>
public void RefreshWebLogMenu()
{
// Clear all weblog menu items
int i = 0;
while( i < this._WebLogMenu.MenuItems.Count )
{
if( this._WebLogMenu.MenuItems[i] is WebLogMenuItem )
this._WebLogMenu.MenuItems.RemoveAt( i );
else
i ++;
}
// Add them again
foreach( WebLog log in WebLogProvider.Instance.WebLogs )
{
WebLogMenuItem item = new WebLogMenuItem( log,
new EventHandler( NewBlog ), new EventHandler( EditWebLog ),
new EventHandler( DeleteWebLog ) );
this._WebLogMenu.MenuItems.Add( 0, item );
}
}
private void NewBlog( object source, EventArgs e )
{
WebLogMenuItem item = (WebLogMenuItem)(source as MenuItem).Parent;
WebLogProvider.Instance.NewPost( item.Log, this._Form );
}
private void EditWebLog( object source, EventArgs e )
{
WebLogMenuItem item = (WebLogMenuItem)(source as MenuItem).Parent;
if( WebLogProvider.Instance.EditWebLog( item.Log, this._Form ) )
{
this.RefreshWebLogMenu();
ConfigurationHelper.SaveGlobalSettings();
}
}
private void DeleteWebLog( object source, EventArgs e )
{
// Get confirmation
if( DialogResult.No == MessageBox.Show( this._Form, "Are you sure you want to delete this weblog?",
"Delete Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question ) ) return;
// Delete web log
WebLogMenuItem item = (WebLogMenuItem)(source as MenuItem).Parent;
WebLogProvider.Instance.DeleteWebLog( item.Log );
this.RefreshWebLogMenu();
ConfigurationHelper.SaveGlobalSettings();
}
public void NewWebLog()
{
WebLog newBlog = WebLogProvider.Instance.AddNewWeblog( this._Form );
if( null != newBlog )
{
this.RefreshWebLogMenu();
ConfigurationHelper.SaveGlobalSettings();
}
}
#endregion
#region Inner classes
class WebLogMenuItem : MenuItem
{
public WebLog Log;
public WebLogMenuItem( WebLog log, EventHandler newBlogHandler, EventHandler editHandler, EventHandler deleteHandler )
{
this.Log = log;
// Submenu: New Blog
MenuItem newBlog = new MenuItem("Post...");
newBlog.Click += newBlogHandler;
this.MenuItems.Add( newBlog );
// Submenu: New Blog
MenuItem edit = new MenuItem("Edit...");
edit.Click += editHandler;
this.MenuItems.Add( edit );
// Submenu: New Blog
MenuItem deleteItem = new MenuItem("Delete");
deleteItem.Click += deleteHandler;
this.MenuItems.Add( deleteItem );
base.Text = this.ToString();
}
public override string ToString()
{
return this.Log.ToString();
}
}
#endregion
}
*/
}
|