Update to latest working version.

This commit is contained in:
Lorenz Cuno Klopfenstein 2009-11-04 16:18:46 +00:00
parent b091e7973c
commit 958d3891d7
26 changed files with 1438 additions and 746 deletions

View file

@ -1,6 +1,6 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C# Express 2008
# Visual Studio 10
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}"
EndProject
Global

View file

@ -23,187 +23,209 @@
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent() {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel();
this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel();
this.panel1 = new System.Windows.Forms.Panel();
this.button3 = new System.Windows.Forms.Button();
this.progressBar1 = new VistaControls.ProgressBar();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.linkLabel2 = new System.Windows.Forms.LinkLabel();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.label2 = new System.Windows.Forms.Label();
this.webBrowser1 = new System.Windows.Forms.WebBrowser();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// themedLabel1
//
this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.themedLabel1.Location = new System.Drawing.Point(0, 0);
this.themedLabel1.Name = "themedLabel1";
this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
this.themedLabel1.Size = new System.Drawing.Size(200, 40);
this.themedLabel1.TabIndex = 0;
this.themedLabel1.Text = Strings.ApplicationName;
//
// themedLabel2
//
this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.themedLabel2.GlowSize = 11;
this.themedLabel2.Location = new System.Drawing.Point(200, 0);
this.themedLabel2.Name = "themedLabel2";
this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.themedLabel2.Size = new System.Drawing.Size(177, 40);
this.themedLabel2.TabIndex = 1;
this.themedLabel2.Text = "v2";
//
// panel1
//
this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back;
this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.panel1.Controls.Add(this.button3);
this.panel1.Controls.Add(this.progressBar1);
this.panel1.Controls.Add(this.button2);
this.panel1.Controls.Add(this.button1);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.linkLabel2);
this.panel1.Controls.Add(this.linkLabel1);
this.panel1.Controls.Add(this.label2);
this.panel1.Location = new System.Drawing.Point(0, 40);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(377, 105);
this.panel1.TabIndex = 10;
//
// button3
//
this.button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.button3.Image = ((System.Drawing.Image)(resources.GetObject("button3.Image")));
this.button3.Location = new System.Drawing.Point(313, 79);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(23, 23);
this.button3.TabIndex = 3;
this.button3.UseVisualStyleBackColor = true;
this.button3.Visible = false;
this.button3.Click += new System.EventHandler(this.Abort_click);
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(205, 79);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(102, 23);
this.progressBar1.TabIndex = 3;
this.progressBar1.Visible = false;
//
// button2
//
this.button2.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button2.Image = global::OnTopReplica.Properties.Resources.component;
this.button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.button2.Location = new System.Drawing.Point(205, 79);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(102, 23);
this.button2.TabIndex = 2;
this.button2.Text = Strings.UpdateNow;
this.button2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.Update_click);
//
// button1
//
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.button1.Image = global::OnTopReplica.Properties.Resources.xiao_down;
this.button1.Location = new System.Drawing.Point(351, 79);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(23, 23);
this.button1.TabIndex = 4;
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Toggle_click);
//
// label1
//
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(6, 75);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(199, 31);
this.label1.TabIndex = 13;
this.label1.Text = Strings.UpdateDisclaimer;
//
// linkLabel2
//
this.linkLabel2.AutoSize = true;
this.linkLabel2.BackColor = System.Drawing.Color.Transparent;
this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
this.linkLabel2.Location = new System.Drawing.Point(7, 58);
this.linkLabel2.Name = "linkLabel2";
this.linkLabel2.Size = new System.Drawing.Size(252, 21);
this.linkLabel2.TabIndex = 1;
this.linkLabel2.TabStop = true;
this.linkLabel2.Text = Strings.Homepage;
this.linkLabel2.UseCompatibleTextRendering = true;
this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue;
//
// linkLabel1
//
this.linkLabel1.AutoSize = true;
this.linkLabel1.BackColor = System.Drawing.Color.Transparent;
this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
this.linkLabel1.LinkColor = System.Drawing.Color.Blue;
this.linkLabel1.Location = new System.Drawing.Point(7, 37);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(212, 21);
this.linkLabel1.TabIndex = 0;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = Strings.CreatedBy;
this.linkLabel1.UseCompatibleTextRendering = true;
this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue;
//
// label2
//
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(7, 4);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(287, 33);
this.label2.TabIndex = 10;
this.label2.Text = Strings.Slogan;
//
// webBrowser1
//
this.webBrowser1.AllowWebBrowserDrop = false;
this.webBrowser1.Location = new System.Drawing.Point(0, 146);
this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
this.webBrowser1.Name = "webBrowser1";
this.webBrowser1.ScriptErrorsSuppressed = true;
this.webBrowser1.Size = new System.Drawing.Size(377, 200);
this.webBrowser1.TabIndex = 14;
//
// AboutForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.ClientSize = new System.Drawing.Size(377, 145);
this.Controls.Add(this.webBrowser1);
this.Controls.Add(this.themedLabel2);
this.Controls.Add(this.themedLabel1);
this.Controls.Add(this.panel1);
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "AboutForm";
this.Text = Strings.ApplicationName;
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel();
this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel();
this.panel1 = new System.Windows.Forms.Panel();
this.buttonReset = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button();
this.buttonUpdate = new System.Windows.Forms.Button();
this.buttonExpander = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.linkLabel2 = new System.Windows.Forms.LinkLabel();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.label2 = new System.Windows.Forms.Label();
this.webBrowser = new System.Windows.Forms.WebBrowser();
this.progressBar1 = new VistaControls.ProgressBar();
this.toolTip = new System.Windows.Forms.ToolTip(this.components);
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// themedLabel1
//
this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.themedLabel1.Location = new System.Drawing.Point(0, 0);
this.themedLabel1.Name = "themedLabel1";
this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
this.themedLabel1.Size = new System.Drawing.Size(200, 40);
this.themedLabel1.TabIndex = 0;
this.themedLabel1.Text = "OnTopReplica";
//
// themedLabel2
//
this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.themedLabel2.GlowSize = 11;
this.themedLabel2.Location = new System.Drawing.Point(200, 0);
this.themedLabel2.Name = "themedLabel2";
this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.themedLabel2.Size = new System.Drawing.Size(189, 40);
this.themedLabel2.TabIndex = 1;
this.themedLabel2.Text = "v2";
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back;
this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.panel1.Controls.Add(this.buttonReset);
this.panel1.Controls.Add(this.buttonCancel);
this.panel1.Controls.Add(this.progressBar1);
this.panel1.Controls.Add(this.buttonUpdate);
this.panel1.Controls.Add(this.buttonExpander);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.linkLabel2);
this.panel1.Controls.Add(this.linkLabel1);
this.panel1.Controls.Add(this.label2);
this.panel1.Location = new System.Drawing.Point(0, 40);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(388, 105);
this.panel1.TabIndex = 10;
//
// buttonReset
//
this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonReset.Image = global::OnTopReplica.Properties.Resources.refresh;
this.buttonReset.Location = new System.Drawing.Point(338, 79);
this.buttonReset.Name = "buttonReset";
this.buttonReset.Size = new System.Drawing.Size(23, 23);
this.buttonReset.TabIndex = 14;
this.buttonReset.UseVisualStyleBackColor = true;
this.buttonReset.Click += new System.EventHandler(this.ResetClick);
//
// buttonCancel
//
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.buttonCancel.Image = ((System.Drawing.Image)(resources.GetObject("buttonCancel.Image")));
this.buttonCancel.Location = new System.Drawing.Point(211, 79);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(23, 23);
this.buttonCancel.TabIndex = 3;
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Visible = false;
this.buttonCancel.Click += new System.EventHandler(this.Abort_click);
//
// buttonUpdate
//
this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.buttonUpdate.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonUpdate.Image = global::OnTopReplica.Properties.Resources.component;
this.buttonUpdate.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.buttonUpdate.Location = new System.Drawing.Point(235, 79);
this.buttonUpdate.Name = "buttonUpdate";
this.buttonUpdate.Size = new System.Drawing.Size(102, 23);
this.buttonUpdate.TabIndex = 2;
this.buttonUpdate.Text = global::OnTopReplica.Strings.UpdateNow;
this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonUpdate.UseVisualStyleBackColor = true;
this.buttonUpdate.Click += new System.EventHandler(this.Update_click);
//
// buttonExpander
//
this.buttonExpander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonExpander.Image = global::OnTopReplica.Properties.Resources.xiao_down;
this.buttonExpander.Location = new System.Drawing.Point(362, 79);
this.buttonExpander.Name = "buttonExpander";
this.buttonExpander.Size = new System.Drawing.Size(23, 23);
this.buttonExpander.TabIndex = 4;
this.buttonExpander.UseVisualStyleBackColor = true;
this.buttonExpander.Click += new System.EventHandler(this.Toggle_click);
//
// label1
//
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(6, 75);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(199, 31);
this.label1.TabIndex = 13;
this.label1.Text = Strings.UpdateDisclaimer;
//
// linkLabel2
//
this.linkLabel2.AutoSize = true;
this.linkLabel2.BackColor = System.Drawing.Color.Transparent;
this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
this.linkLabel2.Location = new System.Drawing.Point(7, 58);
this.linkLabel2.Name = "linkLabel2";
this.linkLabel2.Size = new System.Drawing.Size(252, 21);
this.linkLabel2.TabIndex = 1;
this.linkLabel2.TabStop = true;
this.linkLabel2.Text = Strings.Homepage;
this.linkLabel2.UseCompatibleTextRendering = true;
this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue;
//
// linkLabel1
//
this.linkLabel1.AutoSize = true;
this.linkLabel1.BackColor = System.Drawing.Color.Transparent;
this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
this.linkLabel1.LinkColor = System.Drawing.Color.Blue;
this.linkLabel1.Location = new System.Drawing.Point(7, 37);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(212, 21);
this.linkLabel1.TabIndex = 0;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = Strings.CreatedBy;
this.linkLabel1.UseCompatibleTextRendering = true;
this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue;
//
// label2
//
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(7, 4);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(287, 33);
this.label2.TabIndex = 10;
this.label2.Text = Strings.Slogan;
//
// webBrowser
//
this.webBrowser.AllowWebBrowserDrop = false;
this.webBrowser.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.webBrowser.Location = new System.Drawing.Point(0, 146);
this.webBrowser.MinimumSize = new System.Drawing.Size(20, 20);
this.webBrowser.Name = "webBrowser";
this.webBrowser.ScriptErrorsSuppressed = true;
this.webBrowser.Size = new System.Drawing.Size(389, 200);
this.webBrowser.TabIndex = 14;
//
// progressBar1
//
this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.progressBar1.Location = new System.Drawing.Point(235, 79);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(102, 23);
this.progressBar1.TabIndex = 3;
this.progressBar1.Visible = false;
//
// AboutForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.ClientSize = new System.Drawing.Size(389, 145);
this.Controls.Add(this.webBrowser);
this.Controls.Add(this.themedLabel2);
this.Controls.Add(this.themedLabel1);
this.Controls.Add(this.panel1);
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "AboutForm";
this.Text = "OnTopReplica";
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
}
@ -212,14 +234,16 @@
private VistaControls.ThemeText.ThemedLabel themedLabel1;
private VistaControls.ThemeText.ThemedLabel themedLabel2;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button buttonExpander;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.LinkLabel linkLabel2;
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button2;
private VistaControls.ProgressBar progressBar1;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.WebBrowser webBrowser1;
private System.Windows.Forms.Button buttonUpdate;
private System.Windows.Forms.Button buttonCancel;
private System.Windows.Forms.WebBrowser webBrowser;
private System.Windows.Forms.Button buttonReset;
private VistaControls.ProgressBar progressBar1;
private System.Windows.Forms.ToolTip toolTip;
}
}

View file

@ -15,6 +15,12 @@ namespace OnTopReplica {
public AboutForm() {
InitializeComponent();
//Tooltips
toolTip.SetToolTip(buttonCancel, Strings.AboutButtonCancelTT);
toolTip.SetToolTip(buttonExpander, Strings.AboutButtonExpanderTT);
toolTip.SetToolTip(buttonReset, Strings.AboutButtonResetTT);
toolTip.SetToolTip(buttonUpdate, Strings.AboutButtonUpdateTT);
//Add link areas (localized text)
linkLabel1.LinkArea = new LinkArea(linkLabel1.Text.IndexOf("Lorenz Cuno Klopfenstein"), "Lorenz Cuno Klopfenstein".Length);
int linkStart = linkLabel2.Text.IndexOf("www");
@ -70,7 +76,7 @@ namespace OnTopReplica {
IsExpanded = !IsExpanded;
//Update icon
button1.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down;
buttonExpander.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down;
}
bool _isExpanded = false;
@ -79,16 +85,16 @@ namespace OnTopReplica {
get { return _isExpanded; }
set {
if(_isExpanded != value)
Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser1.Size.Height : -webBrowser1.Size.Height));
Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser.Size.Height : -webBrowser.Size.Height));
_isExpanded = value;
if (value && _isFirstExpansion) {
//Load text from resources
webBrowser1.DocumentText = Resources.about;
webBrowser.DocumentText = Strings.AboutDetails;
//Register navigation events
webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
webBrowser.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
_isFirstExpansion = false;
}
@ -149,10 +155,10 @@ namespace OnTopReplica {
deployment.CheckForUpdateCompleted += handlerProgressComplete;
//Update GUI
button2.Visible = false;
buttonUpdate.Visible = false;
progressBar1.Visible = true;
progressBar1.Value = 0;
button3.Visible = true;
buttonCancel.Visible = true;
_isChecking = true;
@ -172,10 +178,10 @@ namespace OnTopReplica {
deployment.UpdateCompleted += handlerUpdateComplete;
//Update GUI
button2.Visible = false;
buttonUpdate.Visible = false;
progressBar1.Visible = true;
progressBar1.Value = 0;
button3.Visible = true;
buttonCancel.Visible = true;
_isUpdating = true;
@ -192,8 +198,8 @@ namespace OnTopReplica {
void StopUpdate() {
//Reset UI
progressBar1.Visible = false;
button3.Visible = false;
button2.Visible = true;
buttonCancel.Visible = false;
buttonUpdate.Visible = true;
try {
ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment;
@ -311,5 +317,15 @@ namespace OnTopReplica {
#endregion
private void ResetClick(object sender, EventArgs e) {
var dlg = new TaskDialog(Strings.AskSettingReset, Strings.AskSettingResetTitle,
Strings.AskSettingResetContent);
dlg.CommonButtons = TaskDialogButton.OK | TaskDialogButton.Cancel;
if (dlg.Show(this).CommonButton == Result.OK) {
Settings.Default.Reset();
}
}
}
}

View file

@ -118,24 +118,27 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="button3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="buttonCancel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA
Cw4BQL7hQQAAApBJREFUOE91kl1Ik1EYx62IIrwoojLwoiLLZAu6rBsLmRmV05uimB9NarMLv1bhykbN
NrXQmMpyYrNlNe2LZR+aHyRZDLGL3EpCYUquOWy8xJZhvuv997zvlm6mB/6873Oe8/ufc57nLItZMIbP
7m6gqdoko2OYT1EcS58rJD/NaReuj4pdOil8z3RBgsZJIh4m9Xmbi+E2ZIP+7y5p4NIeButoA77YwLSV
8ou/kga9xjxg4A5gb4K7MnNxE1d5GB4wAb0VwKAZTEsRvHXZQL8ReKQCHqrA9dTArUuPNhlVH3CyY70E
3Q7Br7XACw3QXQl0XCOwBGhRgjPLwVkU4OwWjGjSPL2yHVnCdeiYXd7mAmDICvSQAQ/b1MDjc0Br4Txs
koF7ehFMowIOpdhdlRK/h/AVQpWFQlECdrpCe1kItpLpv515uLUEjDEXHxUiz4V9m6UEr50rKBlsIv0I
WAnkDVqjYbZBhmmTHJ/zxcHGI1sLCdwQCYdOYJQDbwxAW1HUzr/rj2H6phQz5jP4bjgJp1I8wbc40qDL
a1IC7xpC1Y449mz9cQH2Xz8ERi/BT7MCU4YsvgvjA/KkbYLJaGmyk3XagFflUfAfSz5mm/IQqE4X4Kmr
yZjSp4HtrMbIJYmn40RCDuHLBROXJhVsdw04vtd8wZ6owdTJMKk/ipkHxfDpUwXYbynA2GUJ3p9KshEW
R1ozdxVXWQrYlzpwnVVgbskxpBBNfjgt+uSpyMAv63kE7qsE+G3urucEiUkJ/z1rl+YgfBZVcEgh/qba
G5eZsXPdFqHAtbmY0GfycHsY5g0WH/05ife0++MllF0ffmixVLC6vuzEGxRvJ813YEmXmJhVkTkq2EqK
V5M2LmT+Ah3C3fcuAveKAAAAAElFTkSuQmCC
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDAAA
CwwBP0AiyAAAAolJREFUOE91k11IU2EcxkcRRXhRRGXgRUWWjS3osm4sZGZUftwUxfxoUptd+LUKLRuk
bWqlsSZrE5stq219Me1D84MkCxG7aK4iFKbkmsPkEC7DPHae/uds6jb1hQfO/7zv73nf9/mfIxJFja/n
9phI4rnX9BxDuknSRK9dVHu0aZho1s7S4hGSJAR3+xuL4NVnger7y5p4yo+AHXAA35xgHCX84u+kfr8x
F+i7B/Q2wFuVsbSJpyIE95mBrkqg3wKmqRB+QxbQYwSeqIHHanCdtfBqUyNNhkoPutnhLoLuBuE35cBL
DdBRBbReI7AYaFKBsyjAWZXgeq0Y1KT4uuQ7M4Xr0DHb/Y35gMsGdJIBDztLgafnAXvBAmyWg3t+CUy9
EgMqqbc6KW4v4St5Az7lbj9NoJeu0FIWhG1kOrczD9uLwRhz8Ekp8V3cvyWN4HXzgZLBZtKvgI1A3sAe
CbMmOabMCnzJk87WH91WQODGcDh4AqMCeKsHHIURO/+tO46pW2mYtpzFT/0puFXSUb7F4QbtfrMKeG8K
ph127Jm6EwI8ef0wGJ0Mvy1KjOsz+S6M9CnE2wWToZJEN+t2Aq8rIuB/1jzMNOQiUJMqwONXEzGuSwHb
VoPByzJf68n4bMJXCCYeTTLYjlpwfK/5wJ6VgjHIMaY7hulHRZjQJQvwpDUfw1dk+HBa7CQslrR2/iqe
siSwr7Tg2qrB3FHApZSMfTwj+eyrTMcf2wUEHqoF+F3O7hcESUnxi/8FzSFMWNWzLqX0h3pfbEb6rvVb
hYBv52BUl8HDLSGYN1h69GQnPCg/ECej2Q2hDy2GAjN0ZyXcoHoHaaEDy7qIRKvD5yiwVVSvIW2KZv4D
L3Lc9EIqZDQAAAAASUVORK5CYII=
</value>
</data>
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAMDAAAAEAGACoHAAAFgAAACgAAAAwAAAAYAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

BIN
OnTopReplica/Assets/25.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

View file

@ -4,7 +4,8 @@
body {
font-family: Segoe UI, Arial, sans-serif;
font-size: 0.8em;
margin: 0; padding: 0;
margin: 0;
padding: 0.75em;
}
h1 {
font-size: 1.4em;

View file

@ -23,90 +23,90 @@
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components);
this.windowsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.quitFullscreenModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components);
this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this._thumbnail = new OnTopReplica.ThumbnailPanel();
this.menuContext.SuspendLayout();
this.menuWindows.SuspendLayout();
this.SuspendLayout();
//
// menuContext
//
this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FullscreenForm));
this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components);
this.windowsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components);
this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.quitFullscreenModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this._thumbnail = new OnTopReplica.ThumbnailPanel();
this.menuContext.SuspendLayout();
this.menuWindows.SuspendLayout();
this.SuspendLayout();
//
// menuContext
//
this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.windowsToolStripMenuItem,
this.quitFullscreenModeToolStripMenuItem});
this.menuContext.Name = "contextMenuStrip1";
this.menuContext.Size = new System.Drawing.Size(186, 70);
//
// windowsToolStripMenuItem
//
this.windowsToolStripMenuItem.DropDown = this.menuWindows;
this.windowsToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_multiple16;
this.windowsToolStripMenuItem.Name = "windowsToolStripMenuItem";
this.windowsToolStripMenuItem.Size = new System.Drawing.Size(185, 22);
this.windowsToolStripMenuItem.Text = Strings.MenuWindows;
this.windowsToolStripMenuItem.ToolTipText = Strings.MenuWindowsTT;
this.windowsToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening);
//
// quitFullscreenModeToolStripMenuItem
//
this.quitFullscreenModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new;
this.quitFullscreenModeToolStripMenuItem.Name = "quitFullscreenModeToolStripMenuItem";
this.quitFullscreenModeToolStripMenuItem.Size = new System.Drawing.Size(185, 22);
this.quitFullscreenModeToolStripMenuItem.Text = Strings.MenuQuitFullscreen;
this.quitFullscreenModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Quit_click);
//
// menuWindows
//
this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuContext.Name = "contextMenuStrip1";
this.menuContext.Size = new System.Drawing.Size(186, 48);
//
// windowsToolStripMenuItem
//
this.windowsToolStripMenuItem.DropDown = this.menuWindows;
this.windowsToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_multiple16;
this.windowsToolStripMenuItem.Name = "windowsToolStripMenuItem";
this.windowsToolStripMenuItem.Size = new System.Drawing.Size(185, 22);
this.windowsToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows;
this.windowsToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT;
this.windowsToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening);
//
// menuWindows
//
this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.noneToolStripMenuItem});
this.menuWindows.Name = "menuWindows";
this.menuWindows.OwnerItem = this.windowsToolStripMenuItem;
this.menuWindows.Size = new System.Drawing.Size(153, 48);
//
// noneToolStripMenuItem
//
this.noneToolStripMenuItem.Name = "noneToolStripMenuItem";
this.noneToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.noneToolStripMenuItem.Text = Strings.MenuWindowsNone;
//
// _thumbnail
//
this._thumbnail.BackColor = System.Drawing.SystemColors.Control;
this._thumbnail.ClickThrough = true;
this._thumbnail.Cursor = System.Windows.Forms.Cursors.Default;
this._thumbnail.Dock = System.Windows.Forms.DockStyle.Fill;
this._thumbnail.DrawMouseRegions = false;
this._thumbnail.FullscreenMode = false;
this._thumbnail.GlassMode = false;
this._thumbnail.Location = new System.Drawing.Point(0, 0);
this._thumbnail.Name = "_thumbnail";
this._thumbnail.ShownRegion = new System.Drawing.Rectangle(0, 0, 0, 0);
this._thumbnail.ShowRegion = false;
this._thumbnail.Size = new System.Drawing.Size(284, 264);
this._thumbnail.TabIndex = 0;
//
// FullscreenForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.Black;
this.ClientSize = new System.Drawing.Size(284, 264);
this.ContextMenuStrip = this.menuContext;
this.Controls.Add(this._thumbnail);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "FullscreenForm";
this.ShowInTaskbar = false;
this.Text = "OnTopReplica Fullscreen";
this.TopMost = true;
this.TransparencyKey = System.Drawing.Color.Black;
this.menuContext.ResumeLayout(false);
this.menuWindows.ResumeLayout(false);
this.ResumeLayout(false);
this.menuWindows.Name = "menuWindows";
this.menuWindows.OwnerItem = this.windowsToolStripMenuItem;
this.menuWindows.Size = new System.Drawing.Size(118, 26);
//
// noneToolStripMenuItem
//
this.noneToolStripMenuItem.Name = "noneToolStripMenuItem";
this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22);
this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone;
//
// quitFullscreenModeToolStripMenuItem
//
this.quitFullscreenModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new;
this.quitFullscreenModeToolStripMenuItem.Name = "quitFullscreenModeToolStripMenuItem";
this.quitFullscreenModeToolStripMenuItem.Size = new System.Drawing.Size(185, 22);
this.quitFullscreenModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen;
this.quitFullscreenModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Quit_click);
//
// _thumbnail
//
this._thumbnail.BackColor = System.Drawing.SystemColors.Control;
this._thumbnail.ClickThrough = true;
this._thumbnail.Cursor = System.Windows.Forms.Cursors.Default;
this._thumbnail.Dock = System.Windows.Forms.DockStyle.Fill;
this._thumbnail.DrawMouseRegions = false;
this._thumbnail.FullscreenMode = false;
this._thumbnail.GlassMode = false;
this._thumbnail.Location = new System.Drawing.Point(0, 0);
this._thumbnail.Name = "_thumbnail";
this._thumbnail.ShownRegion = new System.Drawing.Rectangle(0, 0, 0, 0);
this._thumbnail.ShowRegion = false;
this._thumbnail.Size = new System.Drawing.Size(284, 264);
this._thumbnail.TabIndex = 0;
//
// FullscreenForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.Black;
this.ClientSize = new System.Drawing.Size(284, 264);
this.ContextMenuStrip = this.menuContext;
this.Controls.Add(this._thumbnail);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FullscreenForm";
this.Text = "OnTopReplica Fullscreen";
this.TransparencyKey = System.Drawing.Color.Black;
this.menuContext.ResumeLayout(false);
this.menuWindows.ResumeLayout(false);
this.ResumeLayout(false);
}

View file

@ -19,8 +19,14 @@ namespace OnTopReplica {
Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] {
menuContext, menuWindows
});
_cursorTimer = new Timer();
_cursorTimer.Interval = 1000;
_cursorTimer.Tick += new EventHandler(_cursorTimer_Tick);
}
Timer _cursorTimer;
WindowHandle _lastHandle;
WindowManager _manager = new WindowManager(WindowManager.EnumerationMode.TaskWindows);
@ -66,6 +72,43 @@ namespace OnTopReplica {
CloseRequest(this, new CloseRequestEventArgs(_lastHandle));
}
protected override void OnActivated(EventArgs e) {
_cursorTimer.Start();
base.OnActivated(e);
}
protected override void OnDeactivate(EventArgs e) {
Cursor.Show();
_cursorTimer.Stop();
base.OnDeactivate(e);
}
Point? _lastPos = null;
protected override void OnMouseMove(MouseEventArgs e) {
if (_lastPos.HasValue) {
int distance = 0;
distance += Math.Abs(_lastPos.Value.X - e.X);
distance += Math.Abs(_lastPos.Value.Y - e.Y);
if (distance > 8) {
Cursor.Show();
_cursorTimer.Start();
}
}
_lastPos = e.Location;
base.OnMouseMove(e);
}
void _cursorTimer_Tick(object sender, EventArgs e) {
Cursor.Hide();
_cursorTimer.Stop();
}
protected override void OnDoubleClick(EventArgs e) {
OnCloseRequest();
@ -75,9 +118,12 @@ namespace OnTopReplica {
protected override void OnKeyUp(KeyEventArgs e) {
if (e.KeyCode == Keys.Escape) {
e.Handled = true;
OnCloseRequest();
}
else if (e.KeyCode == Keys.Enter && e.Modifiers == Keys.Alt) {
e.Handled = true;
OnCloseRequest();
}
base.OnKeyUp(e);
}

View file

@ -123,4 +123,132 @@
<metadata name="menuWindows.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>142, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAMDAAAAEAGACoHAAAFgAAACgAAAAwAAAAYAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABBdztCdjhDeDpCdzlCdjpDdzpFfD5EeTpGfDtFfDtFfjpJgjtHfjlHgTpIgjtNiDxKgzlKhDlKiDhO
iztNijpMjDpPjTtSkz1Vlz1YnD1bpD5dpz1hqT9lrEFkrT5oskJnsD1prT1orD1mqTlmpjlkpDdmozpj
nDVhmDRekzJekTJekDNjkjNeijFbiC1ahSxDeDlDdztDdztEdzpFejpEeDhEdzlEeDpGezhGfThGfDhH
fThHfjlIgjhIgzpKgzhJhDhKhjhLhzlNiTlLiDlPjTlVlz1VmDxYnTxdoT5gqD1iqj9jrkBlr0BnsEBp
rz1nrT1orTtmqzhlpzhopjpjoDVgmzNgmDNflTJejy9cjy5gkS9bii5ciC1chyxbhytCdjpDdzlDeDlG
eztDdjhDdzhDdzdEeDhHfDdFejZFezdGfTdJgzlIgDdIgTlKgzdLhDhKhjlLhjhMiTlQkDpSlDtXmDtY
nTtcozxepz1hqz1jrT1oskBorztpsDxnrjxorTtmqzplqTppqjxioDVfnDRfmDNflTJdkjBekjFcji9c
iy9biS1ciCxciCtgjS1DdjhEezpDeDhCdTdEdTZEdjVFeDVFeDVHdzREezZGfjdIfTZHfTdIgDdJgjdK
hDZKhDZKhDZMhzdTkztSlDpWmjtanjtcozxepz1gqD1kqzxorz1nsD5psDxorztlrTtmqzpmqDxkpTli
oDZgnTVelzNclTJdkjFilTNaji5biy5bii1bii1ciSxfjSxdiypGejpCdTZDdThFdTdGeDdFeDZEdzdG
eDZIejhLgTpIeztLfjdKgDlLgjlMhDpMhTlOhTpPjDtTkTtWlTxZmj5coT5gpT9ipz9kqD9prUForj5p
sEBpsEBpsT9prz9nrD9qrEJkozlloDlinThhmjdgmDZhlzRflDJbjzBcjTFejTBdjDBejC9eiyxejStf
kC1DdTdEdzhFdzlIeDpIeTtKejpKez5NfT1QgD9QgUBPgUBShD9RhUBSh0BTiEFVi0BdlUVak0JdmUNi
n0VlokVnpkZoqUVprERusEVusUVts0ZutEdvs0VvskZusEVvrkZrqEJppENnokJmnz9mnT1qnzxkmDpi
lDhikjZhkjVjkDVmlTZgjzFhjy9jki5ili1DdjdGeDpIeDtMeT1Pe0BRfkRWhkdWg0ZahklbiUtaiUxd
i0tcjExej0tglE1kmU5mnE9nn05ro05up09wq1Bzr1F2s1F1s053tFB2tlF3tlF4tlB2tlB4tlF2sU9z
rU5yqk1yqExwpUxwpUlypkluoUhsnEZsm0VrmkJql0Jtmz5pljtolzhplzZomjNspTJGeDpKeTpMej5S
e0FVgUdahkteiE5jjFNokFdpkllqk1tslltsmVxyoV5xol52pF12p196rWB7sGB+smGAtmCEumKCuWCD
umGCul+Du1+Du2CEvF+FvWGDuF+Dt16As11/sFyAsFyAr1t+rVp9qVt8qFp7pVd6plV5pVN2oU9zn0px
oUZunj9wojxwqThwrjZIdzpOeD5SfkJbhEpehU5ljFZskV1zl2R5nGp8oWx9oXCBpXCDq3KErXKGr3KJ
tHSLtnSLuHSNvXWPvnSRwHSRw3WSwnWSwXOSwXSSw3OSw3STw3ORwHKQv3KQvXGPu3GPunGQunKNt3GN
tXCMtG+NtG+MsmyMs2uGrWWErWGArFp+qlR7rEt5sEV3tj91vzxMdjtRfUFZgUlhhlFqjFp0lWR8nG+G
o3iPqoCUr4SWtYmZuImau4ubvoudwYyfw4ufxYyhx42jyo6jyoykyoylzI2lzI2ky4ukyo2kzYyjyouj
yoqjyYqjyIuixouixomix4uhxIqhwomhwoihwYeiwYeiwYedvoGZvH2UunSQuWyOumKGuleDv1CAykl6
2UFSfEFWfkVghE9qjVuIhYP89e3z9e/n9PDn9fDn9PHn9fHo9fHp9vLq9fHq9fHp9fDq9PDr9O/r9O/s
9O7s9O3s8+3s8+vs8urs8unr8efr8Obs8Obt8OXu8eXv8OTw8eTz9OX4+Of8+ez9+ez++e3++en9+ej9
+OX89+L89t/69OT57uKUzGaN01yF4lGB+EtQeT5bgUpliVZzkmONiIPk6efS8vSj6vCl6++n6++o7O6q
7O6t7e6v7u6x7u6y7ey27uy47uy88Oy/8OvC8OrE8OjG8ObK8OTL8eDO8d7T8d7a8eDg8uLk8uTm8+Po
9N/s+Nny+9L4/Nb7/NL8/M/8/Mr8/Mf8+8H8+bb89rD699f68eGe33aS62SL/Fp/+1BTe0Neg01ri1t6
lWqWkYzc6+qj6u441d861t091ts/19lD2NhJ2dhO2tdR29VU29Jb3tFh4NFq5dJx6NF66tGK69WW69in
7Nmu7dS27c+57ci07cOr7b6n7cC07rzH8bPO9KfV9pva85jp74vt64Hv6Hbx5nDy5Gbz4FT120r466r6
79qm9IGY/HGM+2R2qUtWe0NihFBvjV9/mG+dmZTd7Ouj6e031Nw61Ns91dlA1tdC19VG2dRL29NX4NZe
5Nhl6Nlm69Vt8NJ289KB9tGR9tOd9dKr9NGy8sy78cnB9MS7872x8reu8bq187jF97XC76LD55LF33nS
2mna1Vze0F3iz1jnzVLsy0bwxj/346b57tuo/YmZ/XmDoFt4lUpXfENkhFFyj2GFnnSjnpre7euh6Ooz
09Y21tc52dc62NI81sxA1shE2MVQ3chZ5cth68tg7MRk67ts67d17bSI8LeT7rWh67Oj4qqo3KOo3Jmd
2ouP2YCL2YGV24Cn34Kp13Wx1Hm0y2bCx1vKwUfUw0fbwUTgvkHluj7suzv236X57tyq75CUrXOHol95
l05ZekRmhVJ4lWWIoHamop7e7eug5uYxzcw00M040sw50cc+1chC1sRI2MFS2L1b375k5r5l57Ro5Khs
3aBx2pd63JN/24mD14CCzXSGym2Lzm+OymuPxGeVu2CWul6avF6dtFOptFizsky3ska+sDvItT3Stz/Z
tjvftDrntzr03qX479ynvIyYsXaHomB6mE9bfkRpiFN5lmSLo3mopKDe7Oqh4+E3y8U70Mc/0sY+zrxF
0rtM1rlT2rVW1qte2qdo36Jz459z2ZFwzIJsv3F1wnJ3w3J+wmx8uV2Cs1CDsVGErE2EpUqGm0GKlz6R
ljualTekmz+snT2unjq0oDDAqDHJqzXPqjXTpjTaqjXu2KP37dyrwJCXrniJpGJ7mVBcgUVrjFR6mGaK
p3iopKDf7Oml49s+yblFz71J0LtIzLFO0K5T0KhZz6JbyZVix4xryYh1y4NzxHtwuW1sr150sFl0rVZ3
qk92okN9njl+nzx+mTt8kTl8hS9/gSqFfyeLfyWRgSWZhSWehySmjiarkSm1li68ly7GmS7NnDDo0qH2
7NypvI6Xr3eKo2N7mFBehEVrj1V6nGaMp3mopKDf7Oen4NVDw6tJyK5Nx6pLwJ1OvJFRuYlWt4Fct31l
uXhsunR0uG5xsGNuplVsnkVxnT9wmj1wlDZuiy10hyN2gyF4fx95ex55dx17dR1/dR2Fdx6LeR+SfCCa
giKjiiKokCiwlCq0lS++ly/FmDHm0KD17NypvY6Yr3iKpGR7l09fiEVsk1R7nGWMqXiopKDf6uWn2s1C
spJItJNLso9MsIhMqHtNoW9PmWNVmV5enVpln1ZomktmlENljjdrjzFxjyhyiyJwhB5ufht0gBp6gRp8
fhl7eRl4dBl5cRl8cRqBchuHdByOeR6XgB+fhyKjjSerkSqtlS60ljC5lzThz6T07N2pvY6Yr3iJo2N8
l05hi0VulFR8n2SOrXmopKDf5+Km0ME9mnVAmnJClmxEk2VGjV1Ki1VQi05ZkUtlmEdsmkFtlTdsjS1q
hiNwhx5zhxp1hhlzghd0gBZ7gxV/gxaAfxV9eRV5chZ4bxZ6bhd+bxiEchmMdxuUfx2dhR+jiSKrkiWv
mCq0mi+2lzPezqP07N6pvo+Yr3iJo2J8l09ijkVul1N8omSMqneopKDf5uClyLY8il9Bjl5FjVpIjlZM
jE9RjUhZjEFijjltlDNzlCx0jyRxhh1wgRh1hRZ5hxV6iBR5hRN7hBKBhxKDhRKDgRJ+ehJ6cxN5bxN5
bRR8bhWCcReLeBmUfxychB2hhh+oiyKvkiS0lim1li7czqL17d+pvY6Yr3aKo2N8l09ikEVtmFR8oGSM
qneopKDf5d6mxa8+g09EiU9LjUtQjEVXlT5bkzhklTJsjip3lCR9kx58jhl4hhV3gxJ8iRJ+ixKAjBF/
iRGCiRCGihCGhg+EgQ+Aeg99dA97cRB6bhF9bxODcxWNexeVgRqbgxyegh2jhx+wliO7nSW/nSjgzp71
7d+qvYyYrnaJo2N7lk5ikEVtl1N7n2SMqXenpKDg5N2nwqlCgEJKikFUkj9YkDlflzNikixqkyVyix5+
kRuDkhiDjRR9hhB9hw+DjQ+HkA+HkA+GjQ6IjQ2Kiw2HhgyDgAyAegx/dg19cg59bw9/cRCGdhOPfhaW
gRiZgRmafhqdfhymix+ylCK6mSTfzpz27t+qvYyZr3WKo2N8lk1ij0VtllN7nmOMqXenpKDg49upwqRG
fzZRkTdamDRelC9hkCdkiiBtjRx4iheFkhmJkxaHjhOAhg2DiQyLkg2Plg2PlQyKjwuNjwuNiwqJhQmE
fwmBegqAdgp/cwt+cQ2BdA6JexGRgBOVgBWVfReVehiXehmghh2rkiG3myTf0Jz47+CqvYyZr3WJomJ8
lk9hj0RsllJ7nmOLqHenpKDg5NqrwqBLjS9UnS9boSxdjiVegB5kfhlvgxV8ihKJkxiMkhWJjROChgmH
jAmPlAqUmAqTlwqPkQmRkAmOigiKhQiEfgeAeQd/dgh9cwl9cgqCdgyKfQ+PfxGQfBKOdxSPdRWSdheX
eRmeiCCqkyPa0p338N+pvIyYrnaJomJ8lk1gjkNslFN6nGSMqXinpKDh5NmrwZ1LiChTlihZmCVciB5e
fBhlfBRwghF9iQ6JkRSMkBKIixCEhgaLjQeTlQeXmAiVlgeTkQeTkAeQigaKhAaEfQWBeQV+dQZ7cgd8
cgiCeAuJfQ2LfA+KdxCIchGJcBOMchWSdheZhR+jjyLW0J328N+pvIuYrnWJomB8l01fjEJsk1F5m2OK
pHanpKDh49mrv5tJgiNQiSFXjx9agBlfehRmeRBxfw19hwuHjA6JjAyFhwqFhgWNjgWTkwWXlQaUkgWU
kQaUjwWQiAWJggWEfAR/eAR7cwV4cAV6cgeAeAmFeguFdw2CcQ6BbA+CaxGGbhSMchaUfxuahx/Sy5v0
7t+pvIuYrnWJo2B8l01hjEJpkVF4l2KKonWnpKDg4tiqvJlHbh1OeBxVfxpbfhZfeBJldg5wfQt8hAmE
iAmGhweCgwaFhQSPjgWVkwWYlAWTjgSUjgSSiwSOhgSIfwSCegR+dgR4cQR1bwR4cgV+dweAdwl9cQp6
agx6Zw18Zw+AahKGbxSNdBeVfxzQx5n07+CpvIuZrnSKomB8l01diEJqjlB4lWGIoHSnpKDg4tiquphG
ahpOdRlVfRdbfRRedhBkdAxvegl7ggeDhQaEhASAgAOFhQSQjwWXkwWYkwWTjASTiwSQhwSMggSFfQSA
eAR7cwR1bwNzbgN2cgR5dAZ4cQh1aglyZApzYgx2Yw56ZxGBaxOIcRWRfBnOxZjz7uCqvIuZrnSJoV59
lkxchEFpjFB3k2CIn3WnpKDf4tipuZdFaBdNcRVUehNaehFddA1icQpteAh5fwaAgwWBgQN+fgOFhASP
jQSVkQWUjgWQiQWQhwSOhASJfwSDegR9dQR4cANzbQNybQNzcAN0cAVxawZsYwhrXglsXQtwXw11Yw97
aBKCbRSLdxjLwpfz7t+qvIuYrXOJoV58lkxcgj9oik93k2GInnSnpKDg49mpuJVFZRRMbRJUdhBZdw5c
cQtgbghsdQZ3fAV8fgR8fQN7ewOEgwSNigSSjQSPiASNhQSMggSKgASFewSAdwR7cgR2bgNxawNxbANw
bgNuawRpZAVlXQdkWQhmWQpqWwxvXg51ZBB8ahKEcBXIvpbx7uKqvIqYrXOLoV58lkxagkFoiE91kGCG
nXOnop7f4tipt5REYhFLaQ9Scg1XcwxbbwlfbAdpcgV0eQR3eQN3eAN3dwODgQOJhgSMhwSHgQSIgASH
fgOFfAOBdwN8cwN3bwNzbANvagNvawJsagJoZQNhXQRfVwVeVQdhVQhkVwppWwxvYA92ZhF+bBPGvZXw
7eGqu4qarXOKoV58lUxYfD5oh010j12EmnCkoJvf4deptpNEYA9JZg1QbgtVcAlZbQddaQZocARxdgNz
dgNydAN0dQOCgQOIhQSJhASDfASDewOEfAOBeAN9dAN4bwN0bANvagNuaQNsaQJpZgJiXwNbVwNZUgRZ
UQVbUQdfUwlkVwtqXA1xYw94aRHDvJTw7OCnuYaYrHCJoFx8lUpcgD5kg0lyjFqBl2yfm5bd39WptZFD
Xg1IYgtPaglTbAhXagZcZwVmbgNucwJwcwJvcQJzcwKBfwOGgwSEfwR/eAR/dwOBeAN9dQN6cQN0bQNw
agNtaANraANpZgNkYQNcWQNXUgNUTwRVTgVWTgZaUAdfVAplWQxrXw5yZRDAupPw696ktYCWqWuInlh7
lEdWeTlhgUduilZ8lGaZlZDc3dOntZFBXgxGYQpLZwlQaQdUaAVZZwRibQRqcwVrcgVqcAVvdAN7fgSA
gAR8ewR5dgR5dgR6dgR3cwRzbwRvbANraQNoZwNnZwNjZQNeXwNWVwNRUQNOTgNOTQRQTQVTTwdYUgle
VgtkXAxrYg69uJLv6t2dr3ePpGSDmlJ4kUJVeThef0Nqh1B3kV+RjIfk493U28qotZGptpCsuZCvuo+x
uY6zuY63vI26v4+7v4+6vo+9v43Bw47DxI7BwY7AwI7BwI7BwI6/vo69vY68u427uo25uo24uY23uI20
tY2xso2vr42tro2tro6uro6vr4+ysI+0spC2s5G5tpHd28v38umVqWyJnlt9lUt0jT9TeDVbfj5lhEpw
jVaHgn308evo5uDe4dbh4tfj5Njj5djk5djk5djl5djm5tnm5tnm5tnm5tjn59fn59fn5tfn5dfn5djn
5djm5dfm5Nfm5Nfl5Nfl5Nfl5Njl5Njk5Njk49jj49jj4tjj4tjj4tjj4tjk49nk4tnk4tfk4dbr6OH9
9u+KoF+AmFB3kENvijhReDJWezljhkRnh0rV1NSLhX+Qi4eYk4+emZWinpmloZymop2mop2mop2mop2m
op2mop2lop2lop2lop2loZ2loZ2loZ2loZ2loZ2loZ2loZ2loZ2lop2lop2mop2mop2mop2mop2mop2m
op2mop2mop2loJyhnZicmJOVkYyPioWSj4t/lU53kERxiTlqhTBOdi5WfTVXfzlehUJmi0lvklJ1m1h9
p2GBrmaGuWqJxm6K1nCK6XKL6XOHyG+EnGmFnWqGnmiIoGqGn2mHoGqHoGmIommIo2qJpGqKpWmKpmqK
p2qMqGqMqWqMqWqNqWqNqWuMqGqOqGqOqGqOp2mNpmiMpGeLomSIoF+DnFh+l1B7k0l0jkBuijhrhTBm
gypLeCxPei9VfzVZhTheij1lkkNtn0tup05yslN1xVV411l27Fp47F9xplVyjVFxjlFzkFJzklN0klN1
klJ2lFN2lVF2llJ2llJ3mVN4mlJ5m1J5nVF6nlN6n1N9nVN9n1R8n1R9nlN9n1J9nVJ9nFF8m1B8mU97
l014lUd2kkRzj0BwjDpqhzRohS9mgChifiRKeClNfC1RgC5VhjBYjTVfmTphoT5jsEBnxURn2kVr70pn
70tijUBhgT5igj5ihT5lhz5jhz9miEBmiD9oiz9ojD5njD9njD9pkEBqkT9rkz9slT9slkBul0BvlT9u
l0Bul0Bvlj9vlj9vlT5vkz5vkT1vkDtujjptjThrijVpiDFnhi5kgytkgidifyNefR9KeidNfihQhCtS
jCxWmTBYojNcsTVcxzZb5Tle8z1e8z9VeTBVeTBWeTBYejFYfTBafzFYgDFagDJbgDBchDBagzFchTJd
hzFeiTFgizFhjDBhjjFikDJkkTJkkDJkkTJlkjFlkDFkjzBljzBjji5miy5lii1miC5khyxjhCphgydh
giVffyRffx9gfR9dexxJfiZLgyZOiyhRlipSpCtStC5Wyy9V6TFW9zVU9TdMciZOcCVNciZOdSZQdyZR
eCZReSdReydTfCdUfCdVfydUfiZWgSZVgyZXhiZZhyZaiSdbiydcjSdejihgjihejihejihfjSdfjShf
jCdfiiVgiCVfhyRfhCNegyJdgSJcgCBdfx9bfh5bfhxcexpaeRlKhCVLjCVQliZRpSdPuCpR0CtS8SxV
+jBQ+jBGbR9JcB9JbyBJcR5KcSBMdSBNdiBOeSFOeiJPeiBQeiBRfSBRfh9TgCBTgiFVhSBWhiBYiCBX
iR9YjSBbjiFbjCFajSJajSFbjSBaiiBaiiBaiB9ahh5bhh1agx1bgx1bgRxagBtbfxpafhlafBhcehha
eBhNjyZNlyRRqChSuyhR1ytS+C1V/jFP/i5Gbh5Hbh9Jbx9KciBJcR9KdCBMdiBNdyBOeSBPeh9Peh9Q
eyBRfh9RfiBSgR9UgyFVhR9ViCBYiSFYjCBZjSFcjyBcjyBdjyJbkCFcjiBejCBbjCBbih9diB9bhh1a
hRxcgx1bghpbgRxbgBpafxlafBhbehdbehdOmiVPqSdQvilR2SxR/S1V/jFL1yxGbB9Hbh9Gbh9Mch9I
cB9JcB9Kcx9MdSBMdyBOeCBNeSBPeR9QeyBQfR9RfiBSgR5SgyBVhSBWiCBYiCBXix9ZjB5cjx9cjx9d
jyFajyBcjR9bjB5bjCBbih9chx5chh1bhRxchBtbgxtZgBtbgBpbfhlcexhaexhbehdPqidRwClR2ylR
/S5U/zFLwyhGbR9FbB9GbR9JcB9Jbh5LcR9KcR9Mcx5MdSBNdyBOeCBOeiFPeh9QfB9RfSBRfiBSgR5S
gyBUgx5Whx9YiR9Xix9ZjR5bjx9cjx9dkCFajyBbjh9cjR9bjCBbih9diB9dhh1chRxbhBtbgxxbgBpb
gBpbfRlcexhcexhcexgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
</value>
</data>
</root>

View file

@ -26,6 +26,17 @@ namespace OnTopReplica
WindowManager _windowManager;
WindowHandle _lastWindowHandle = null;
//Override position and size on startup
bool _startOverride = false;
Point _startLocation;
Size _startSize;
public MainForm(Point location, Size size)
: this() {
_startOverride = true;
_startLocation = location;
_startSize = size;
}
public MainForm() {
//Wheel handler
@ -128,8 +139,6 @@ namespace OnTopReplica
#region Side Panels
/*const int cRegionBoxWidth = 190;
const int cRegionWithPadding = cRegionBoxWidth + 5;*/
const int cWindowBoundary = 10;
bool _regionBoxShowing = false;
@ -209,6 +218,7 @@ namespace OnTopReplica
if (taskIcon != null) {
taskIcon.Visible = false;
taskIcon.Dispose();
taskIcon = null;
}
//Store settings
@ -254,15 +264,17 @@ namespace OnTopReplica
}
protected override void OnShown(EventArgs e) {
base.OnShown(e);
//Do some checks in order to verify the presence of desktop composition
if (!VistaControls.OsSupport.IsVistaOrBetter) {
MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
base.OnShown(e);
this.Close();
return;
}
if (!VistaControls.OsSupport.IsCompositionEnabled) {
VistaControls.TaskDialog.TaskDialog dlg = new VistaControls.TaskDialog.TaskDialog(Strings.ErrorDwmOff, Strings.ErrorGenericTitle, Strings.ErrorDwmOffContent);
dlg.ExpandedControlText = Strings.ErrorDetailsAero;
@ -271,7 +283,6 @@ namespace OnTopReplica
dlg.CommonIcon = VistaControls.TaskDialog.TaskDialogIcon.Stop;
dlg.Show();
base.OnShown(e);
this.Close();
return;
@ -283,13 +294,17 @@ namespace OnTopReplica
//Install NotifyIcon
taskIcon = new NotifyIcon();
taskIcon.Text = Strings.ApplicationName;
taskIcon.Icon = Properties.Resources.window_multiple161;
taskIcon.Icon = Properties.Resources.main_icon;
taskIcon.Visible = true;
taskIcon.ContextMenuStrip = menuIconContext;
taskIcon.DoubleClick += new EventHandler(Icon_doubleclick);
//Reload settings
if (Settings.Default.WindowPositionStored) {
//Reload position settings
if (_startOverride) {
Location = _startLocation;
Size = _startSize;
}
else if (Settings.Default.WindowPositionStored) {
Location = Settings.Default.LastLocation;
ClientSize = Settings.Default.LastSize;
}
@ -297,13 +312,16 @@ namespace OnTopReplica
//Glassify window
this.GlassMargins = new VistaControls.Dwm.Margins(-1);
SetGlass(Settings.Default.UseGlass);
base.OnShown(e);
}
/*protected override void OnMouseDown(MouseEventArgs e) {
base.OnMouseDown(e);
}*/
protected override void OnKeyUp(KeyEventArgs e) {
if (e.KeyCode == Keys.Enter && e.Modifiers == Keys.Alt) {
e.Handled = true;
ToggleFullscreen();
}
base.OnKeyUp(e);
}
#endregion
@ -562,8 +580,8 @@ namespace OnTopReplica
var screen = Screen.FromControl(this);
Location = new Point(
screen.WorkingArea.Left - SystemInformation.FrameBorderSize.Width,
screen.WorkingArea.Top - SystemInformation.FrameBorderSize.Height
screen.WorkingArea.Left - ChromeBorderHorizontal,
screen.WorkingArea.Top - ChromeBorderVertical
);
}
@ -571,8 +589,8 @@ namespace OnTopReplica
var screen = Screen.FromControl(this);
Location = new Point(
screen.WorkingArea.Width - Size.Width + SystemInformation.FrameBorderSize.Width,
screen.WorkingArea.Top - SystemInformation.FrameBorderSize.Height
screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal,
screen.WorkingArea.Top - ChromeBorderVertical
);
}
@ -580,8 +598,8 @@ namespace OnTopReplica
var screen = Screen.FromControl(this);
Location = new Point(
screen.WorkingArea.Left - SystemInformation.FrameBorderSize.Width,
screen.WorkingArea.Height - Size.Height + SystemInformation.FrameBorderSize.Height
screen.WorkingArea.Left - ChromeBorderHorizontal,
screen.WorkingArea.Height - Size.Height + ChromeBorderVertical
);
}
@ -589,11 +607,29 @@ namespace OnTopReplica
var screen = Screen.FromControl(this);
Location = new Point(
screen.WorkingArea.Width - Size.Width + SystemInformation.FrameBorderSize.Width,
screen.WorkingArea.Height - Size.Height + SystemInformation.FrameBorderSize.Height
screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal,
screen.WorkingArea.Height - Size.Height + ChromeBorderVertical
);
}
private int ChromeBorderVertical {
get {
if (FormBorderStyle == FormBorderStyle.SizableToolWindow)
return SystemInformation.FrameBorderSize.Height;
else
return 0;
}
}
private int ChromeBorderHorizontal {
get {
if (FormBorderStyle == FormBorderStyle.SizableToolWindow)
return SystemInformation.FrameBorderSize.Width;
else
return 0;
}
}
private void Menu_Reduce_click(object sender, EventArgs e) {
//Hide form
this.Hide();
@ -607,10 +643,21 @@ namespace OnTopReplica
}
private void Menu_Chrome_click(object sender, EventArgs e) {
if (FormBorderStyle == FormBorderStyle.SizableToolWindow)
FormBorderStyle = FormBorderStyle.None;
else
FormBorderStyle = FormBorderStyle.SizableToolWindow;
if (FormBorderStyle == FormBorderStyle.SizableToolWindow) {
FormBorderStyle = FormBorderStyle.None;
Location = new Point {
X = Location.X + SystemInformation.FrameBorderSize.Width,
Y = Location.Y + SystemInformation.FrameBorderSize.Height
};
}
else {
FormBorderStyle = FormBorderStyle.SizableToolWindow;
Location = new Point {
X = Location.X - SystemInformation.FrameBorderSize.Width,
Y = Location.Y - SystemInformation.FrameBorderSize.Height
};
}
Invalidate();
}

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@ -21,11 +21,15 @@
</ExcludedPermissions>
<ApplicationManifest>Properties\OnTopReplica.exe.manifest</ApplicationManifest>
<SignAssembly>false</SignAssembly>
<ManifestCertificateThumbprint>EF37CC602CF25CE1023AEAAF8B200801D77452D5</ManifestCertificateThumbprint>
<ManifestCertificateThumbprint>DB79D77572EF10838D6A2CECDDE738C6570E7995</ManifestCertificateThumbprint>
<ManifestKeyFile>OnTopReplica_TemporaryKey.pfx</ManifestKeyFile>
<SignManifests>true</SignManifests>
<TargetFrameworkSubset>
</TargetFrameworkSubset>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Web</InstallFrom>
@ -45,8 +49,8 @@
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<ApplicationRevision>3</ApplicationRevision>
<ApplicationVersion>2.6.0.%2a</ApplicationVersion>
<ApplicationRevision>2</ApplicationRevision>
<ApplicationVersion>2.7.2.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted>
<BootstrapperEnabled>true</BootstrapperEnabled>
@ -250,6 +254,8 @@
<None Include="Assets\flag_usa.png" />
<None Include="Assets\flag_ita.png" />
<Content Include="Assets\icon.ico" />
<None Include="OnTopReplica_TemporaryKey.pfx" />
<None Include="Resources\25.png" />
<None Include="Assets\x-oblique.png" />
<None Include="Assets\xiao_up.png" />
<None Include="Assets\xiao_down.png" />
@ -262,8 +268,18 @@
<None Include="Assets\pos_bottomleft.png" />
<None Include="Assets\window_switch.png" />
<None Include="Assets\icon.png" />
<None Include="OnTopReplica_TemporaryKey.pfx" />
<None Include="OnTopReplica_TemporaryKey_old.pfx" />
</ItemGroup>
<ItemGroup>
<PublishFile Include="it\OnTopReplica.resources">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Satellite</FileType>
</PublishFile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View file

@ -1,9 +1,9 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishUrlHistory>publish\</PublishUrlHistory>
<InstallUrlHistory>http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/</InstallUrlHistory>
<InstallUrlHistory>http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/</InstallUrlHistory>
<SupportUrlHistory>http://www.klopfenstein.net/lorenz.aspx/ontopreplica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&amp;page=on_top_replica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&amp;page=programming_on_top_replica</SupportUrlHistory>
<UpdateUrlHistory>http://www.klopfenstein.net/lorenz/programming/ontopreplica/</UpdateUrlHistory>
<UpdateUrlHistory>http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/</UpdateUrlHistory>
<BootstrapperUrlHistory>
</BootstrapperUrlHistory>
<FallbackCulture>en-US</FallbackCulture>

View file

@ -4,6 +4,7 @@ using System.Windows.Forms;
using OnTopReplica.Properties;
using System.Threading;
using System.Globalization;
using System.Drawing;
namespace OnTopReplica
{
@ -22,13 +23,27 @@ namespace OnTopReplica
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
bool reloadSettings = false;
Point reloadLocation = new Point();
Size reloadSize = new Size();
do {
//Update language settings
Thread.CurrentThread.CurrentUICulture = _languageChangeCode;
Settings.Default.Language = _languageChangeCode;
_languageChangeCode = null;
Application.Run(new MainForm());
Form form;
if (reloadSettings)
form = new MainForm(reloadLocation, reloadSize);
else
form = new MainForm();
Application.Run(form);
reloadSettings = true;
reloadLocation = form.Location;
reloadSize = form.Size;
}
while(_languageChangeCode != null);

View file

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.6.0.1")]
[assembly: AssemblyFileVersion("2.6.0.1")]
[assembly: AssemblyVersion("2.7.2.0")]
[assembly: AssemblyFileVersion("2.7.2.0")]

View file

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3053
// Runtime Version:2.0.50727.4927
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@ -67,7 +67,8 @@ namespace OnTopReplica.Properties {
///body {
/// font-family: Segoe UI, Arial, sans-serif;
/// font-size: 0.8em;
/// margin: 0; padding: 0;
/// margin: 0;
/// padding: 0.75em;
///}
///h1 {
/// font-size: 1.4em;
@ -94,7 +95,7 @@ namespace OnTopReplica.Properties {
///
/// &lt;h1&gt;License&lt;/h1&gt;
///
/// &lt;p&gt;&lt;b&gt;OnTopReplica&lt;/b&gt; is licensed under the &lt;a href=&quot;http://opensource.org/licenses/ms-rl.htm [rest of string was truncated]&quot;;.
/// &lt;p&gt;&lt;b&gt;OnTopReplica&lt;/b&gt; is licensed under the &lt;a href=&quot;http://opensource.org/licenses/m [rest of string was truncated]&quot;;.
/// </summary>
internal static string about {
get {
@ -144,6 +145,13 @@ namespace OnTopReplica.Properties {
}
}
internal static System.Drawing.Icon main_icon {
get {
object obj = ResourceManager.GetObject("main_icon", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
internal static System.Drawing.Bitmap ok {
get {
object obj = ResourceManager.GetObject("ok", resourceCulture);
@ -193,6 +201,13 @@ namespace OnTopReplica.Properties {
}
}
internal static System.Drawing.Bitmap refresh {
get {
object obj = ResourceManager.GetObject("refresh", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap thumbs_up {
get {
object obj = ResourceManager.GetObject("thumbs_up", resourceCulture);

View file

@ -118,14 +118,20 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ok" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\icon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="component" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pos_bottomleft" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="flag_ita" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="flag_usa" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="thumbs_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\thumbs_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -139,6 +145,9 @@
<data name="reduce" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pos_bottomleft" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="window_opacity16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\window_opacity16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -157,20 +166,14 @@
<data name="close_new" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="flag_usa" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="window_border16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pos_topright" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="about" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\about.html;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ok" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="window_border16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pos_null" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -184,7 +187,10 @@
<data name="pos_bottomright" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="flag_ita" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="refresh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="main_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\icon.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View file

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3053
// Runtime Version:2.0.50727.4927
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@ -48,7 +48,7 @@ namespace OnTopReplica.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool AutoFitOnResize {
get {
return ((bool)(this["AutoFitOnResize"]));

View file

@ -9,7 +9,7 @@
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AutoFitOnResize" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="Opacity" Type="System.Byte" Scope="User">
<Value Profile="(Default)">255</Value>

View file

@ -85,7 +85,7 @@
this.groupBox1.Size = new System.Drawing.Size(223, 282);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Regions";
this.groupBox1.Text = Strings.RegionsTitle;
//
// numH
//
@ -200,7 +200,7 @@
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(49, 17);
this.label6.TabIndex = 9;
this.label6.Text = "Height";
this.label6.Text = Strings.RegionsHeight;
//
// label7
//
@ -211,7 +211,7 @@
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(44, 17);
this.label7.TabIndex = 8;
this.label7.Text = "Width";
this.label7.Text = Strings.RegionsWidth;
//
// label3
//
@ -244,7 +244,7 @@
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(103, 17);
this.label1.TabIndex = 3;
this.label1.Text = "Current region:";
this.label1.Text = Strings.RegionsCurrentRegion;
//
// buttonDelete
//

View file

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3074
// Runtime Version:2.0.50727.4918
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@ -60,6 +60,85 @@ namespace OnTopReplica {
}
}
/// <summary>
/// Looks up a localized string similar to Abort update process..
/// </summary>
internal static string AboutButtonCancelTT {
get {
return ResourceManager.GetString("AboutButtonCancelTT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Show details about OnTopReplica..
/// </summary>
internal static string AboutButtonExpanderTT {
get {
return ResourceManager.GetString("AboutButtonExpanderTT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Reset all OnTopReplica settings..
/// </summary>
internal static string AboutButtonResetTT {
get {
return ResourceManager.GetString("AboutButtonResetTT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Update OnTopReplica now..
/// </summary>
internal static string AboutButtonUpdateTT {
get {
return ResourceManager.GetString("AboutButtonUpdateTT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &lt;html&gt;
/// &lt;head&gt;
/// &lt;style type=&quot;text/css&quot;&gt;
///body {
/// font-family: Segoe UI, Arial, sans-serif;
/// font-size: 0.8em;
/// margin: 0;
///padding: 0.75em;
///}
///h1 {
/// font-size: 1.4em;
/// font-weight: bold;
///
/// margin: 0 0 1em 0;
/// padding: 0;
///}
///p {
/// margin: 0.5em 0 0.5em 1em;
/// padding: 0;
///}
///a {
/// font-weight: bold;
/// color: blue;
///}
///a:hover {
/// color: red;
///}
/// &lt;/style&gt;
/// &lt;/head&gt;
///
/// &lt;body&gt;
///
/// &lt;h1&gt;License&lt;/h1&gt;
///
/// &lt;p&gt;&lt;b&gt;OnTopReplica&lt;/b&gt; is licensed under the &lt;a href=&quot;http://opensource.org/licenses/ms- [rest of string was truncated]&quot;;.
/// </summary>
internal static string AboutDetails {
get {
return ResourceManager.GetString("AboutDetails", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to OnTopReplica.
/// </summary>
@ -106,6 +185,33 @@ namespace OnTopReplica {
}
}
/// <summary>
/// Looks up a localized string similar to Reset settings?.
/// </summary>
internal static string AskSettingReset {
get {
return ResourceManager.GetString("AskSettingReset", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost)..
/// </summary>
internal static string AskSettingResetContent {
get {
return ResourceManager.GetString("AskSettingResetContent", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Reset settings.
/// </summary>
internal static string AskSettingResetTitle {
get {
return ResourceManager.GetString("AskSettingResetTitle", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Install OnTopReplica {0}?.
/// </summary>
@ -357,7 +463,7 @@ namespace OnTopReplica {
}
/// <summary>
/// Looks up a localized string similar to In this mode OnTopReplica will forward all left mouse clicks on it to the window that is being clones (this will allow you to do basic operations on the window without having to activate it).
/// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it).
///
///To exit this mode, right-click on OnTopReplica and disable &quot;Click forwarding&quot; from the menu..
/// </summary>

View file

@ -1,352 +1,531 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
</data>
<data name="AskReset" xml:space="preserve">
<value>Ripristinare completamente la finestra?</value>
</data>
<data name="AskResetButtonOk" xml:space="preserve">
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
</data>
<data name="AskReset" xml:space="preserve">
<value>Ripristinare completamente la finestra?</value>
</data>
<data name="AskResetButtonOk" xml:space="preserve">
<value>&amp;Ripristina
Tutte le impostazioni saranno perse.</value>
</data>
<data name="AskResetContent" xml:space="preserve">
<value>Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo.</value>
</data>
<data name="AskResetTitle" xml:space="preserve">
<value>Ripristino</value>
</data>
<data name="ButtonCancel" xml:space="preserve">
<value>&amp;Annulla</value>
</data>
<data name="CreatedBy" xml:space="preserve">
<value>Creato da: Lorenz Cuno Klopfenstein.</value>
</data>
<data name="DrawRegions" xml:space="preserve">
<value>Disegna una regione usando il mouse.</value>
</data>
<data name="ErrorDetailsAero" xml:space="preserve">
<value>Dettagli su Windows Aero</value>
</data>
<data name="ErrorDetailsAeroInfo" xml:space="preserve">
<value>Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore.</value>
</data>
<data name="ErrorDwmOff" xml:space="preserve">
<value>Il servizio DWM non è attivo.</value>
</data>
<data name="ErrorDwmOffContent" xml:space="preserve">
Tutte le impostazioni saranno perse.</value>
</data>
<data name="AskResetContent" xml:space="preserve">
<value>Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo.</value>
</data>
<data name="AskResetTitle" xml:space="preserve">
<value>Ripristino</value>
</data>
<data name="ButtonCancel" xml:space="preserve">
<value>&amp;Annulla</value>
</data>
<data name="CreatedBy" xml:space="preserve">
<value>Creato da: Lorenz Cuno Klopfenstein.</value>
</data>
<data name="DrawRegions" xml:space="preserve">
<value>Disegna una regione usando il mouse.</value>
</data>
<data name="ErrorDetailsAero" xml:space="preserve">
<value>Dettagli su Windows Aero</value>
</data>
<data name="ErrorDetailsAeroInfo" xml:space="preserve">
<value>Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore.</value>
</data>
<data name="ErrorDwmOff" xml:space="preserve">
<value>Il servizio DWM non è attivo.</value>
</data>
<data name="ErrorDwmOffContent" xml:space="preserve">
<value>È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows.
Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza.</value>
</data>
<data name="ErrorGenericInfoButton" xml:space="preserve">
<value>Dettagli errore</value>
</data>
<data name="ErrorGenericInfoText" xml:space="preserve">
<value>Errore: </value>
</data>
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
<value>Sembra che la finestra selezionata sia stata chiusa o che non sia più valida.</value>
</data>
<data name="ErrorGenericTitle" xml:space="preserve">
<value>Errore</value>
</data>
<data name="ErrorNoDwm" xml:space="preserve">
Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza.</value>
</data>
<data name="ErrorGenericInfoButton" xml:space="preserve">
<value>Dettagli errore</value>
</data>
<data name="ErrorGenericInfoText" xml:space="preserve">
<value>Errore: </value>
</data>
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
<value>Sembra che la finestra selezionata sia stata chiusa o che non sia più valida.</value>
</data>
<data name="ErrorGenericTitle" xml:space="preserve">
<value>Errore</value>
</data>
<data name="ErrorNoDwm" xml:space="preserve">
<value>La "composzione del desktop" non è supportata dal tuo sistema operativo.
È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica.</value>
</data>
<data name="ErrorNoDwmTitle" xml:space="preserve">
<value>DWM non supportato</value>
</data>
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
<value>Impossibile clonare la finestra.</value>
</data>
<data name="ErrorUnableToFit" xml:space="preserve">
<value>Impossibile adattare la finestra.</value>
</data>
<data name="Homepage" xml:space="preserve">
<value>Homepage: www.codeplex.com/ontopreplica.</value>
</data>
<data name="MenuAbout" xml:space="preserve">
<value>A proposito di...</value>
</data>
<data name="MenuAboutTT" xml:space="preserve">
<value>Nasconde la finestra principale e mostra una schermata di informazioni.</value>
</data>
<data name="MenuAutofit" xml:space="preserve">
<value>Adatta automaticamente</value>
</data>
<data name="MenuAutofitTT" xml:space="preserve">
<value>Adatta automaticamente la finestra al clone quando viene ridimensionata.</value>
</data>
<data name="MenuClose" xml:space="preserve">
<value>Chiudi</value>
</data>
<data name="MenuCloseTT" xml:space="preserve">
<value>Chiude OnTopReplica.</value>
</data>
<data name="MenuFitDouble" xml:space="preserve">
<value>2:1 Doppio</value>
</data>
<data name="MenuFitFullscreen" xml:space="preserve">
<value>Tutto schermo</value>
</data>
<data name="MenuFitHalf" xml:space="preserve">
<value>1:2 Metà</value>
</data>
<data name="MenuFitOriginal" xml:space="preserve">
<value>1:1 Clone esatto</value>
</data>
<data name="MenuFitQuarter" xml:space="preserve">
<value>1:4 Quarto</value>
</data>
<data name="MenuGlass" xml:space="preserve">
<value>Effetto vetro</value>
</data>
<data name="MenuGlassTT" xml:space="preserve">
<value>Abilita o disabilita l'effetto vetro.</value>
</data>
<data name="MenuOp100" xml:space="preserve">
<value>100% (opaco)</value>
</data>
<data name="MenuOp100TT" xml:space="preserve">
<value>Imposta OnTopReplica come finestra completamente opaca.</value>
</data>
<data name="MenuOp25" xml:space="preserve">
<value>25%</value>
</data>
<data name="MenuOp25TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 25%.</value>
</data>
<data name="MenuOp50" xml:space="preserve">
<value>50%</value>
</data>
<data name="MenuOp50TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 50%.</value>
</data>
<data name="MenuOp75" xml:space="preserve">
<value>75%</value>
</data>
<data name="MenuOp75TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 75%.</value>
</data>
<data name="MenuOpacity" xml:space="preserve">
<value>Opacità</value>
</data>
<data name="MenuOpen" xml:space="preserve">
<value>Apri</value>
</data>
<data name="MenuOpenTT" xml:space="preserve">
<value>Mostra OnTopReplica.</value>
</data>
<data name="MenuPosBottomLeft" xml:space="preserve">
<value>In basso a sinistra</value>
</data>
<data name="MenuPosBottomRight" xml:space="preserve">
<value>In basso a destra</value>
</data>
<data name="MenuPosition" xml:space="preserve">
<value>Posizione</value>
</data>
<data name="MenuPositionTT" xml:space="preserve">
<value>Posiziona automaticamente OnTopReplica sul monitor corrente.</value>
</data>
<data name="MenuPosTopLeft" xml:space="preserve">
<value>In alto a sinistra</value>
</data>
<data name="MenuPosTopRight" xml:space="preserve">
<value>In alto a destra</value>
</data>
<data name="MenuRecall" xml:space="preserve">
<value>Ripristina posizione e grandezza</value>
</data>
<data name="MenuRecallTT" xml:space="preserve">
<value>Imposta se OnTopReplica debba ripristinare posizione e grandezza in cui si trovava durante l'ultimo uso.</value>
</data>
<data name="MenuReduce" xml:space="preserve">
<value>Riduci ad icona</value>
</data>
<data name="MenuReduceTT" xml:space="preserve">
<value>Riduce OnTopReplica ad un'icona nella barra delle applicazioni.</value>
</data>
<data name="MenuRegion" xml:space="preserve">
<value>Seleziona regione...</value>
</data>
<data name="MenuRegionTT" xml:space="preserve">
<value>Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata.</value>
</data>
<data name="MenuReset" xml:space="preserve">
<value>Reimposta finestra</value>
</data>
<data name="MenuResetTT" xml:space="preserve">
<value>Reimposta OnTopReplica e la sua finestra principale.</value>
</data>
<data name="MenuResize" xml:space="preserve">
<value>Ridimensionamento</value>
</data>
<data name="MenuSwitch" xml:space="preserve">
<value>Alla finestra originale</value>
</data>
<data name="MenuSwitchTT" xml:space="preserve">
<value>Mostra la finestra originale e nasconde OnTopReplica.</value>
</data>
<data name="MenuWindows" xml:space="preserve">
<value>Seleziona finestra</value>
</data>
<data name="MenuWindowsNone" xml:space="preserve">
<value>- nessuna -</value>
</data>
<data name="MenuWindowsTT" xml:space="preserve">
<value>Mostra una lista di finestre che è possibile clonare.</value>
</data>
<data name="RightClick" xml:space="preserve">
<value>Clic destro qui per iniziare...</value>
</data>
<data name="Slogan" xml:space="preserve">
<value>Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta.</value>
</data>
<data name="UpdateDisclaimer" xml:space="preserve">
<value>OnTopReplica controlla automaticamente se sono presenti aggiornamenti.</value>
</data>
<data name="UpdateNow" xml:space="preserve">
<value>Aggiorna!</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Installare OnTopReplica {0}?</value>
</data>
<data name="AskUpdateButtonCancel" xml:space="preserve">
È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica.</value>
</data>
<data name="ErrorNoDwmTitle" xml:space="preserve">
<value>DWM non supportato</value>
</data>
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
<value>Impossibile clonare la finestra.</value>
</data>
<data name="ErrorUnableToFit" xml:space="preserve">
<value>Impossibile adattare la finestra.</value>
</data>
<data name="Homepage" xml:space="preserve">
<value>Homepage: www.codeplex.com/ontopreplica.</value>
</data>
<data name="MenuAbout" xml:space="preserve">
<value>A proposito di...</value>
</data>
<data name="MenuAboutTT" xml:space="preserve">
<value>Nasconde la finestra principale e mostra una schermata di informazioni.</value>
</data>
<data name="MenuAutofit" xml:space="preserve">
<value>Adatta automaticamente</value>
</data>
<data name="MenuAutofitTT" xml:space="preserve">
<value>Adatta automaticamente la finestra al clone quando viene ridimensionata.</value>
</data>
<data name="MenuClose" xml:space="preserve">
<value>Chiudi</value>
</data>
<data name="MenuCloseTT" xml:space="preserve">
<value>Chiude OnTopReplica.</value>
</data>
<data name="MenuFitDouble" xml:space="preserve">
<value>2:1 Doppio</value>
</data>
<data name="MenuFitFullscreen" xml:space="preserve">
<value>Tutto schermo</value>
</data>
<data name="MenuFitHalf" xml:space="preserve">
<value>1:2 Metà</value>
</data>
<data name="MenuFitOriginal" xml:space="preserve">
<value>1:1 Clone esatto</value>
</data>
<data name="MenuFitQuarter" xml:space="preserve">
<value>1:4 Quarto</value>
</data>
<data name="MenuGlass" xml:space="preserve">
<value>Effetto vetro</value>
</data>
<data name="MenuGlassTT" xml:space="preserve">
<value>Abilita o disabilita l'effetto vetro.</value>
</data>
<data name="MenuOp100" xml:space="preserve">
<value>100% (opaco)</value>
</data>
<data name="MenuOp100TT" xml:space="preserve">
<value>Imposta OnTopReplica come finestra completamente opaca.</value>
</data>
<data name="MenuOp25" xml:space="preserve">
<value>25%</value>
</data>
<data name="MenuOp25TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 25%.</value>
</data>
<data name="MenuOp50" xml:space="preserve">
<value>50%</value>
</data>
<data name="MenuOp50TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 50%.</value>
</data>
<data name="MenuOp75" xml:space="preserve">
<value>75%</value>
</data>
<data name="MenuOp75TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 75%.</value>
</data>
<data name="MenuOpacity" xml:space="preserve">
<value>Opacità</value>
</data>
<data name="MenuOpen" xml:space="preserve">
<value>Apri</value>
</data>
<data name="MenuOpenTT" xml:space="preserve">
<value>Mostra OnTopReplica.</value>
</data>
<data name="MenuPosBottomLeft" xml:space="preserve">
<value>In basso a sinistra</value>
</data>
<data name="MenuPosBottomRight" xml:space="preserve">
<value>In basso a destra</value>
</data>
<data name="MenuPosition" xml:space="preserve">
<value>Posizione</value>
</data>
<data name="MenuPositionTT" xml:space="preserve">
<value>Posiziona automaticamente OnTopReplica sul monitor corrente.</value>
</data>
<data name="MenuPosTopLeft" xml:space="preserve">
<value>In alto a sinistra</value>
</data>
<data name="MenuPosTopRight" xml:space="preserve">
<value>In alto a destra</value>
</data>
<data name="MenuRecall" xml:space="preserve">
<value>Ripristina posizione e grandezza</value>
</data>
<data name="MenuRecallTT" xml:space="preserve">
<value>Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinate i valori di grandezza e posizione della finestra alla chiusura.</value>
</data>
<data name="MenuReduce" xml:space="preserve">
<value>Riduci ad icona</value>
</data>
<data name="MenuReduceTT" xml:space="preserve">
<value>Riduce OnTopReplica ad un'icona nella barra delle applicazioni.</value>
</data>
<data name="MenuRegion" xml:space="preserve">
<value>Seleziona regione...</value>
</data>
<data name="MenuRegionTT" xml:space="preserve">
<value>Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata.</value>
</data>
<data name="MenuReset" xml:space="preserve">
<value>Reimposta finestra</value>
</data>
<data name="MenuResetTT" xml:space="preserve">
<value>Reimposta OnTopReplica e la sua finestra principale.</value>
</data>
<data name="MenuResize" xml:space="preserve">
<value>Ridimensionamento</value>
</data>
<data name="MenuSwitch" xml:space="preserve">
<value>Alla finestra originale</value>
</data>
<data name="MenuSwitchTT" xml:space="preserve">
<value>Mostra la finestra originale e nasconde OnTopReplica.</value>
</data>
<data name="MenuWindows" xml:space="preserve">
<value>Seleziona finestra</value>
</data>
<data name="MenuWindowsNone" xml:space="preserve">
<value>- nessuna -</value>
</data>
<data name="MenuWindowsTT" xml:space="preserve">
<value>Mostra una lista di finestre che è possibile clonare.</value>
</data>
<data name="RightClick" xml:space="preserve">
<value>Clic destro qui per iniziare...</value>
</data>
<data name="Slogan" xml:space="preserve">
<value>Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta.</value>
</data>
<data name="UpdateDisclaimer" xml:space="preserve">
<value>OnTopReplica controlla automaticamente se sono presenti aggiornamenti.</value>
</data>
<data name="UpdateNow" xml:space="preserve">
<value>Aggiorna!</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Installare OnTopReplica {0}?</value>
</data>
<data name="AskUpdateButtonCancel" xml:space="preserve">
<value>Annulla aggiornamento
OnTopReplica si aggiornerà in un secondo momento.</value>
</data>
<data name="AskUpdateButtonOk" xml:space="preserve">
OnTopReplica si aggiornerà in un secondo momento.</value>
</data>
<data name="AskUpdateButtonOk" xml:space="preserve">
<value>Continua
Installa OnTopReplica {0}.</value>
</data>
<data name="AskUpdateContent" xml:space="preserve">
<value>La nuova versione sarà scaricata ed installata automaticamente.</value>
</data>
<data name="AskUpdateExpanded" xml:space="preserve">
Installa OnTopReplica {0}.</value>
</data>
<data name="AskUpdateContent" xml:space="preserve">
<value>La nuova versione sarà scaricata ed installata automaticamente.</value>
</data>
<data name="AskUpdateExpanded" xml:space="preserve">
<value>Versione installata: {0}
Versione disponibile: {1}
Grandezza: {2} bytes</value>
</data>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Aggiornamento disponibile</value>
</data>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Dettagli</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>Nessuna finestra clonata al momento.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Impossibile controllare gli aggiornamenti.</value>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando &lt;a href="http://www.codeplex.com/ontopreplica"&gt;la homepage del progetto&lt;/a&gt;.</value>
</data>
<data name="InfoUpdated" xml:space="preserve">
<value>OnTopReplica è stato aggiornato.</value>
</data>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione.</value>
</data>
<data name="InfoUpdatedTitle" xml:space="preserve">
<value>Aggiornamento completato</value>
</data>
<data name="InfoUpToDate" xml:space="preserve">
<value>OnTopReplica è aggiornato.</value>
</data>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>Nessun aggiornamento disponibile</value>
</data>
<data name="InfoClickThrough" xml:space="preserve">
<value>Attivare la modalità Click-Through?</value>
</data>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente.</value>
</data>
<data name="InfoClickThroughInformation" xml:space="preserve">
Grandezza: {2} bytes</value>
</data>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Aggiornamento disponibile</value>
</data>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Dettagli</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>Nessuna finestra clonata al momento.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Impossibile controllare gli aggiornamenti.</value>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando &lt;a href="http://www.codeplex.com/ontopreplica"&gt;la homepage del progetto&lt;/a&gt;.</value>
</data>
<data name="InfoUpdated" xml:space="preserve">
<value>OnTopReplica è stato aggiornato.</value>
</data>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione.</value>
</data>
<data name="InfoUpdatedTitle" xml:space="preserve">
<value>Aggiornamento completato</value>
</data>
<data name="InfoUpToDate" xml:space="preserve">
<value>OnTopReplica è aggiornato.</value>
</data>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>Nessun aggiornamento disponibile</value>
</data>
<data name="InfoClickThrough" xml:space="preserve">
<value>Attivare la modalità Click-Through?</value>
</data>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente.</value>
</data>
<data name="InfoClickThroughInformation" xml:space="preserve">
<value>In questa modalità la finestra a tutto schermo si comporterà come una maschera semitrasparente che ti permette di cliccarle attraverso, sulle finestre sullo sfondo.
Per tornare alla modalità normale in qualsiasi momento, fai doppio clic sull'icona nella barra delle applicazioni.</value>
</data>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Modalità Click-Through</value>
</data>
<data name="MenuResizeClickThrough" xml:space="preserve">
<value>Click-Through</value>
</data>
<data name="MenuResizeClickThroughTT" xml:space="preserve">
<value>Se la finestra non è completamente opaca quando passa a tutto schermo, farà in modo che tutti i clic le passano attraverso (come una maschera semitrasparente).</value>
</data>
<data name="InfoClickThroughNo" xml:space="preserve">
Per tornare alla modalità normale in qualsiasi momento, fai doppio clic sull'icona nella barra delle applicazioni.</value>
</data>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Modalità Click-Through</value>
</data>
<data name="MenuResizeClickThrough" xml:space="preserve">
<value>Click-Through</value>
</data>
<data name="MenuResizeClickThroughTT" xml:space="preserve">
<value>Se la finestra non è completamente opaca quando passa a tutto schermo, farà in modo che tutti i clic le passano attraverso (come una maschera semitrasparente).</value>
</data>
<data name="InfoClickThroughNo" xml:space="preserve">
<value>No, tutto schermo normale
Puoi abilitare il Click-Through in futuro</value>
</data>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Usa Click-Through</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Inoltro dei clic</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Attiva la modalità di "inoltro dei clic" alla finestra clonata.</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Esci da tutto schermo</value>
</data>
<data name="Language" xml:space="preserve">
<value>Lingua</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Regioni</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Salva</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Cancella</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Regione corrente:</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Largh.</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Altezz.</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Reset</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Chiudi</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Regioni memorizzate</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Attivare l'inoltro dei clic?</value>
</data>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Inoltro dei clic</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
Puoi abilitare il Click-Through in futuro</value>
</data>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Usa Click-Through</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Inoltro dei clic</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Attiva la modalità di "inoltro dei clic" alla finestra clonata.</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Esci da tutto schermo</value>
</data>
<data name="Language" xml:space="preserve">
<value>Lingua</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Regioni</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Salva</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Cancella</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Regione corrente:</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Largh.</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Altezz.</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Reset</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Chiudi</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Regioni memorizzate</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Attivare l'inoltro dei clic?</value>
</data>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Inoltro dei clic</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
<value>In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano).
Per uscire da questa modalità, fai clic col destro su OnTopReplica e disabilita "Inoltro dei clic" dal menu.</value>
</data>
Per uscire da questa modalità, fai clic col destro su OnTopReplica e disabilita "Inoltro dei clic" dal menu.</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Resettare impostazioni?</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate).</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Reimposta</value>
</data>
<data name="AboutButtonCancelTT" xml:space="preserve">
<value>Annulla il processo di aggiornamento.</value>
</data>
<data name="AboutButtonExpanderTT" xml:space="preserve">
<value>Mostra dettagli su OnTopReplica.</value>
</data>
<data name="AboutButtonResetTT" xml:space="preserve">
<value>Resetta tutte le impostazioni di OnTopReplica.</value>
</data>
<data name="AboutButtonUpdateTT" xml:space="preserve">
<value>Aggiorna OnTopReplica ora.</value>
</data>
<data name="AboutDetails" xml:space="preserve">
<value>&lt;html&gt;
&lt;head&gt;
&lt;style type="text/css"&gt;
body {
font-family: Segoe UI, Arial, sans-serif;
font-size: 0.8em;
margin: 0;
padding: 0.75em;
}
h1 {
font-size: 1.4em;
font-weight: bold;
margin: 0 0 1em 0;
padding: 0;
}
p {
margin: 0.5em 0 0.5em 1em;
padding: 0;
}
a {
font-weight: bold;
color: blue;
}
a:hover {
color: red;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Licenza d'utilizzo&lt;/h1&gt;
&lt;p&gt;&lt;b&gt;OnTopReplica&lt;/b&gt; è rilasciato sotto la licenza &lt;a href="http://opensource.org/licenses/ms-rl.html"&gt;Microsoft Reciprocal License (Ms-RL)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Il codice sorgente originale del programma è disponibile sulla &lt;a href="http://www.codeplex.com/ontopreplica"&gt;homepage del progetto su CodePlex&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Credits&lt;/h1&gt;
&lt;p&gt;OnTopReplica è stato inspirato da &lt;a href="http://insentient.net"&gt;Switcher&lt;/a&gt; ed altre applicazioni basate su DWM.&lt;/p&gt;
&lt;p&gt;I controlli utente specifici per Windows Vista sono parte della libreria &lt;a href="http://www.codeplex.com/windowsformsaero"&gt;WindowsFormsAero&lt;/a&gt; per .NET.&lt;/p&gt;
&lt;p&gt;Qualche riga di codice d'esempio presa da &lt;a href="http://www.ookii.org"&gt;Ookii&lt;/a&gt; su Channel9.&lt;/p&gt;
&lt;p&gt;La classe NativeToolstripRenderer è stata presa da &lt;a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/"&gt;asztal.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Alcune delle icone sono state prese da &lt;a href="http://www.vistaico.com"&gt;VistaICO.com&lt;/a&gt; e dal set di icone Xiao.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</value>
</data>
</root>

View file

@ -450,8 +450,82 @@ You can enable click-through later</value>
<value>Click forwarding</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
<value>In this mode OnTopReplica will forward all left mouse clicks on it to the window that is being clones (this will allow you to do basic operations on the window without having to activate it).
<value>If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it).
To exit this mode, right-click on OnTopReplica and disable "Click forwarding" from the menu.</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Reset settings?</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost).</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Reset settings</value>
</data>
<data name="AboutButtonCancelTT" xml:space="preserve">
<value>Abort update process.</value>
</data>
<data name="AboutButtonExpanderTT" xml:space="preserve">
<value>Show details about OnTopReplica.</value>
</data>
<data name="AboutButtonResetTT" xml:space="preserve">
<value>Reset all OnTopReplica settings.</value>
</data>
<data name="AboutButtonUpdateTT" xml:space="preserve">
<value>Update OnTopReplica now.</value>
</data>
<data name="AboutDetails" xml:space="preserve">
<value>&lt;html&gt;
&lt;head&gt;
&lt;style type="text/css"&gt;
body {
font-family: Segoe UI, Arial, sans-serif;
font-size: 0.8em;
margin: 0;
padding: 0.75em;
}
h1 {
font-size: 1.4em;
font-weight: bold;
margin: 0 0 1em 0;
padding: 0;
}
p {
margin: 0.5em 0 0.5em 1em;
padding: 0;
}
a {
font-weight: bold;
color: blue;
}
a:hover {
color: red;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;License&lt;/h1&gt;
&lt;p&gt;&lt;b&gt;OnTopReplica&lt;/b&gt; is licensed under the &lt;a href="http://opensource.org/licenses/ms-rl.html"&gt;Microsoft Reciprocal License (Ms-RL)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The original source code can be found on the &lt;a href="http://www.codeplex.com/ontopreplica"&gt;project's homepage on CodePlex&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Credits&lt;/h1&gt;
&lt;p&gt;OnTopReplica was inspired by &lt;a href="http://insentient.net"&gt;Switcher&lt;/a&gt; and other DWM based applications.&lt;/p&gt;
&lt;p&gt;All Vista controls are part of the &lt;a href="http://www.codeplex.com/windowsformsaero"&gt;WindowsFormsAero library&lt;/a&gt; for .NET.&lt;/p&gt;
&lt;p&gt;Some example code taken from &lt;a href="http://www.ookii.org"&gt;Ookii&lt;/a&gt; on Channel9.&lt;/p&gt;
&lt;p&gt;NativeToolstripRenderer class taken from &lt;a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/"&gt;asztal.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Some icons from &lt;a href="http://www.vistaico.com"&gt;VistaICO.com&lt;/a&gt; and the Xiao icon set.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</value>
</data>
</root>

View file

@ -202,17 +202,24 @@ namespace OnTopReplica {
/// <summary>Updates the thumbnail options and the right-click labels.</summary>
private void UpdateThubmnail() {
if (_thumbnail != null && !_thumbnail.IsInvalid){
Size sourceSize = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize;
try {
Size sourceSize = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize;
thumbnailSize = ComputeIdealSize(sourceSize, Size);
thumbnailSize = ComputeIdealSize(sourceSize, Size);
padWidth = (Size.Width - thumbnailSize.Width) / 2;
padHeight = (Size.Height - thumbnailSize.Height) / 2;
padWidth = (Size.Width - thumbnailSize.Width) / 2;
padHeight = (Size.Height - thumbnailSize.Height) / 2;
Rectangle target = new Rectangle(padWidth, padHeight, thumbnailSize.Width, thumbnailSize.Height);
Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize);
Rectangle target = new Rectangle(padWidth, padHeight, thumbnailSize.Width, thumbnailSize.Height);
Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize);
_thumbnail.Update(target, source, ThumbnailOpacity, true, true);
_thumbnail.Update(target, source, ThumbnailOpacity, true, true);
}
catch {
//Any error updating the thumbnail forces to unset (handle may be not valid)
UnsetThumbnail();
return;
}
}
UpdateRightClickLabels();
@ -325,6 +332,11 @@ namespace OnTopReplica {
this.Invalidate();
}
else if(_drawMouseRegions && !_drawingRegion){
_regionLastPoint = e.Location;
this.Invalidate();
}
base.OnMouseMove(e);
}
@ -340,6 +352,10 @@ namespace OnTopReplica {
e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top);
}
else if (_drawMouseRegions) {
e.Graphics.DrawLine(penRed, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y));
e.Graphics.DrawLine(penRed, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height));
}
base.OnPaint(e);
}

View file

@ -1,48 +1,48 @@
<?xml version="1.0"?>
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="OnTopReplica.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
</configSections>
<userSettings>
<OnTopReplica.Properties.Settings>
<setting name="UseGlass" serializeAs="String">
<value>True</value>
</setting>
<setting name="AutoFitOnResize" serializeAs="String">
<value>False</value>
</setting>
<setting name="Opacity" serializeAs="String">
<value>255</value>
</setting>
<setting name="LastLocation" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="LastSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="WindowPositionStored" serializeAs="String">
<value>False</value>
</setting>
<setting name="StoreWindowPosition" serializeAs="String">
<value>False</value>
</setting>
<setting name="Language" serializeAs="String">
<value>(Default)</value>
</setting>
<setting name="MustUpdate" serializeAs="String">
<value>True</value>
</setting>
<setting name="ClickThrough" serializeAs="String">
<value>True</value>
</setting>
<setting name="FirstTimeClickThrough" serializeAs="String">
<value>True</value>
</setting>
<setting name="FirstTimeClickForwarding" serializeAs="String">
<value>True</value>
</setting>
</OnTopReplica.Properties.Settings>
</userSettings>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="OnTopReplica.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
</configSections>
<userSettings>
<OnTopReplica.Properties.Settings>
<setting name="UseGlass" serializeAs="String">
<value>True</value>
</setting>
<setting name="AutoFitOnResize" serializeAs="String">
<value>True</value>
</setting>
<setting name="Opacity" serializeAs="String">
<value>255</value>
</setting>
<setting name="LastLocation" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="LastSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="WindowPositionStored" serializeAs="String">
<value>False</value>
</setting>
<setting name="StoreWindowPosition" serializeAs="String">
<value>False</value>
</setting>
<setting name="Language" serializeAs="String">
<value>(Default)</value>
</setting>
<setting name="MustUpdate" serializeAs="String">
<value>True</value>
</setting>
<setting name="ClickThrough" serializeAs="String">
<value>True</value>
</setting>
<setting name="FirstTimeClickThrough" serializeAs="String">
<value>True</value>
</setting>
<setting name="FirstTimeClickForwarding" serializeAs="String">
<value>True</value>
</setting>
</OnTopReplica.Properties.Settings>
</userSettings>
<startup/></configuration>