mirror of
https://github.com/LorenzCK/OnTopReplica.git
synced 2024-06-03 11:04:32 +12:00
SidePanel code rewritten (now opens in external container window).
Several changes to UI event handling (better performance on resize) and removed other SidePanel left-overs. Added a "Settings" sidepanel.
This commit is contained in:
parent
6cf04359d2
commit
6a71f22cc7
7
Docs/Settings List.txt
Normal file
7
Docs/Settings List.txt
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
OPTIONS
|
||||||
|
|
||||||
|
+ Language
|
||||||
|
Drop down list with icons
|
||||||
|
Restart notice
|
||||||
|
|
||||||
|
+ Shortcuts
|
|
@ -2,6 +2,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace OnTopReplica {
|
namespace OnTopReplica {
|
||||||
|
|
||||||
|
@ -17,6 +18,38 @@ namespace OnTopReplica {
|
||||||
return new Point(a.X - b.X, a.Y - b.Y);
|
return new Point(a.X - b.X, a.Y - b.Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Expands a size value by a padding distance.
|
||||||
|
/// </summary>
|
||||||
|
public static Size Expand(this Size size, Padding padding) {
|
||||||
|
return new Size(size.Width + padding.Horizontal, size.Height + padding.Vertical);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Expands a size value by a size distance.
|
||||||
|
/// </summary>
|
||||||
|
public static Size Expand(this Size size, Size expandSize) {
|
||||||
|
return new Size(size.Width + expandSize.Width, size.Height + expandSize.Height);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Computes the difference between two size values.
|
||||||
|
/// </summary>
|
||||||
|
public static Size Difference(this Size a, Size b) {
|
||||||
|
return new Size(a.Width - b.Width, a.Height - b.Height);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Ensures that the minimum size of a control respects a minimum
|
||||||
|
/// client size area.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ctrl">Control whose MinimumSize should be altered.</param>
|
||||||
|
/// <param name="minimumClientSize">Minimum client size value to ensure.</param>
|
||||||
|
public static void EnsureMinimumClientSize(this Control ctrl, Size minimumClientSize) {
|
||||||
|
Size offset = ctrl.Size.Difference(ctrl.ClientSize);
|
||||||
|
ctrl.MinimumSize = minimumClientSize.Expand(offset);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
121
OnTopReplica/MainForm.Designer.cs
generated
121
OnTopReplica/MainForm.Designer.cs
generated
|
@ -65,13 +65,7 @@
|
||||||
this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components);
|
|
||||||
this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.cestinaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.danskToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.espanolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
@ -83,7 +77,6 @@
|
||||||
this.menuWindows.SuspendLayout();
|
this.menuWindows.SuspendLayout();
|
||||||
this.menuOpacity.SuspendLayout();
|
this.menuOpacity.SuspendLayout();
|
||||||
this.menuResize.SuspendLayout();
|
this.menuResize.SuspendLayout();
|
||||||
this.menuLanguages.SuspendLayout();
|
|
||||||
this.menuFullscreenContext.SuspendLayout();
|
this.menuFullscreenContext.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
|
@ -100,11 +93,11 @@
|
||||||
this.chromeToolStripMenuItem,
|
this.chromeToolStripMenuItem,
|
||||||
this.reduceToIconToolStripMenuItem,
|
this.reduceToIconToolStripMenuItem,
|
||||||
this.toolStripSeparator1,
|
this.toolStripSeparator1,
|
||||||
this.languageToolStripMenuItem,
|
this.settingsToolStripMenuItem,
|
||||||
this.aboutToolStripMenuItem,
|
this.aboutToolStripMenuItem,
|
||||||
this.menuContextClose});
|
this.menuContextClose});
|
||||||
this.menuContext.Name = "menuContext";
|
this.menuContext.Name = "menuContext";
|
||||||
this.menuContext.Size = new System.Drawing.Size(169, 296);
|
this.menuContext.Size = new System.Drawing.Size(187, 296);
|
||||||
this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening);
|
this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening);
|
||||||
//
|
//
|
||||||
// menuContextWindows
|
// menuContextWindows
|
||||||
|
@ -112,7 +105,7 @@
|
||||||
this.menuContextWindows.DropDown = this.menuWindows;
|
this.menuContextWindows.DropDown = this.menuWindows;
|
||||||
this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list;
|
this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list;
|
||||||
this.menuContextWindows.Name = "menuContextWindows";
|
this.menuContextWindows.Name = "menuContextWindows";
|
||||||
this.menuContextWindows.Size = new System.Drawing.Size(168, 22);
|
this.menuContextWindows.Size = new System.Drawing.Size(186, 22);
|
||||||
this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows;
|
this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows;
|
||||||
this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT;
|
this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT;
|
||||||
//
|
//
|
||||||
|
@ -135,7 +128,7 @@
|
||||||
//
|
//
|
||||||
this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow;
|
this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow;
|
||||||
this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem";
|
this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem";
|
||||||
this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
|
||||||
this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch;
|
this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch;
|
||||||
this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT;
|
this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT;
|
||||||
this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click);
|
this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click);
|
||||||
|
@ -145,7 +138,7 @@
|
||||||
this.selectRegionToolStripMenuItem.Enabled = false;
|
this.selectRegionToolStripMenuItem.Enabled = false;
|
||||||
this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions;
|
this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions;
|
||||||
this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem";
|
this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem";
|
||||||
this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
|
||||||
this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion;
|
this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion;
|
||||||
this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT;
|
this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT;
|
||||||
this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click);
|
this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click);
|
||||||
|
@ -159,7 +152,7 @@
|
||||||
this.restoreLastClonedWindowToolStripMenuItem});
|
this.restoreLastClonedWindowToolStripMenuItem});
|
||||||
this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench;
|
this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench;
|
||||||
this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem";
|
this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem";
|
||||||
this.advancedToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
this.advancedToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
|
||||||
this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced;
|
this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced;
|
||||||
this.advancedToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Advanced_opening);
|
this.advancedToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Advanced_opening);
|
||||||
//
|
//
|
||||||
|
@ -194,7 +187,8 @@
|
||||||
//
|
//
|
||||||
this.restoreLastClonedWindowToolStripMenuItem.Name = "restoreLastClonedWindowToolStripMenuItem";
|
this.restoreLastClonedWindowToolStripMenuItem.Name = "restoreLastClonedWindowToolStripMenuItem";
|
||||||
this.restoreLastClonedWindowToolStripMenuItem.Size = new System.Drawing.Size(218, 22);
|
this.restoreLastClonedWindowToolStripMenuItem.Size = new System.Drawing.Size(218, 22);
|
||||||
this.restoreLastClonedWindowToolStripMenuItem.Text = "Restore last cloned window";
|
this.restoreLastClonedWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRestoreLast;
|
||||||
|
this.restoreLastClonedWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRestoreLastTT;
|
||||||
this.restoreLastClonedWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_RestoreLastWindow_click);
|
this.restoreLastClonedWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_RestoreLastWindow_click);
|
||||||
//
|
//
|
||||||
// menuContextOpacity
|
// menuContextOpacity
|
||||||
|
@ -202,7 +196,7 @@
|
||||||
this.menuContextOpacity.DropDown = this.menuOpacity;
|
this.menuContextOpacity.DropDown = this.menuOpacity;
|
||||||
this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity;
|
this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity;
|
||||||
this.menuContextOpacity.Name = "menuContextOpacity";
|
this.menuContextOpacity.Name = "menuContextOpacity";
|
||||||
this.menuContextOpacity.Size = new System.Drawing.Size(168, 22);
|
this.menuContextOpacity.Size = new System.Drawing.Size(186, 22);
|
||||||
this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity;
|
this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity;
|
||||||
//
|
//
|
||||||
// menuOpacity
|
// menuOpacity
|
||||||
|
@ -270,7 +264,7 @@
|
||||||
this.resizeToolStripMenuItem.DropDown = this.menuResize;
|
this.resizeToolStripMenuItem.DropDown = this.menuResize;
|
||||||
this.resizeToolStripMenuItem.Enabled = false;
|
this.resizeToolStripMenuItem.Enabled = false;
|
||||||
this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem";
|
this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem";
|
||||||
this.resizeToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
this.resizeToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
|
||||||
this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize;
|
this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize;
|
||||||
//
|
//
|
||||||
// menuResize
|
// menuResize
|
||||||
|
@ -354,7 +348,7 @@
|
||||||
this.bottomRightToolStripMenuItem});
|
this.bottomRightToolStripMenuItem});
|
||||||
this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null;
|
this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null;
|
||||||
this.dockToolStripMenuItem.Name = "dockToolStripMenuItem";
|
this.dockToolStripMenuItem.Name = "dockToolStripMenuItem";
|
||||||
this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
this.dockToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
|
||||||
this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition;
|
this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition;
|
||||||
this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT;
|
this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT;
|
||||||
this.dockToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Position_Opening);
|
this.dockToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Position_Opening);
|
||||||
|
@ -411,7 +405,7 @@
|
||||||
// chromeToolStripMenuItem
|
// chromeToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem";
|
this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem";
|
||||||
this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
this.chromeToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
|
||||||
this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome;
|
this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome;
|
||||||
this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT;
|
this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT;
|
||||||
this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click);
|
this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click);
|
||||||
|
@ -420,7 +414,7 @@
|
||||||
//
|
//
|
||||||
this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce;
|
this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce;
|
||||||
this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem";
|
this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem";
|
||||||
this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
|
||||||
this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce;
|
this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce;
|
||||||
this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT;
|
this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT;
|
||||||
this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click);
|
this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click);
|
||||||
|
@ -428,78 +422,21 @@
|
||||||
// toolStripSeparator1
|
// toolStripSeparator1
|
||||||
//
|
//
|
||||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||||
this.toolStripSeparator1.Size = new System.Drawing.Size(165, 6);
|
this.toolStripSeparator1.Size = new System.Drawing.Size(183, 6);
|
||||||
//
|
//
|
||||||
// languageToolStripMenuItem
|
// settingsToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.languageToolStripMenuItem.DropDown = this.menuLanguages;
|
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
||||||
this.languageToolStripMenuItem.Name = "languageToolStripMenuItem";
|
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
|
||||||
this.languageToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
this.settingsToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSettings;
|
||||||
this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language;
|
this.settingsToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSettingsTT;
|
||||||
//
|
this.settingsToolStripMenuItem.Click += new System.EventHandler(this.Menu_Settings_click);
|
||||||
// menuLanguages
|
|
||||||
//
|
|
||||||
this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
|
||||||
this.englishToolStripMenuItem,
|
|
||||||
this.cestinaToolStripMenuItem,
|
|
||||||
this.danskToolStripMenuItem1,
|
|
||||||
this.espanolToolStripMenuItem,
|
|
||||||
this.italianoToolStripMenuItem});
|
|
||||||
this.menuLanguages.Name = "menuLanguages";
|
|
||||||
this.menuLanguages.OwnerItem = this.languageToolStripMenuItem;
|
|
||||||
this.menuLanguages.Size = new System.Drawing.Size(153, 136);
|
|
||||||
this.menuLanguages.Text = "Dansk";
|
|
||||||
//
|
|
||||||
// englishToolStripMenuItem
|
|
||||||
//
|
|
||||||
this.englishToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_usa;
|
|
||||||
this.englishToolStripMenuItem.Name = "englishToolStripMenuItem";
|
|
||||||
this.englishToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
|
||||||
this.englishToolStripMenuItem.Tag = "en-US";
|
|
||||||
this.englishToolStripMenuItem.Text = "English";
|
|
||||||
this.englishToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click);
|
|
||||||
//
|
|
||||||
// cestinaToolStripMenuItem
|
|
||||||
//
|
|
||||||
this.cestinaToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_czech;
|
|
||||||
this.cestinaToolStripMenuItem.Name = "cestinaToolStripMenuItem";
|
|
||||||
this.cestinaToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
|
||||||
this.cestinaToolStripMenuItem.Tag = "cs-CZ";
|
|
||||||
this.cestinaToolStripMenuItem.Text = "Čeština";
|
|
||||||
this.cestinaToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click);
|
|
||||||
//
|
|
||||||
// danskToolStripMenuItem1
|
|
||||||
//
|
|
||||||
this.danskToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.flag_danish;
|
|
||||||
this.danskToolStripMenuItem1.Name = "danskToolStripMenuItem1";
|
|
||||||
this.danskToolStripMenuItem1.Size = new System.Drawing.Size(152, 22);
|
|
||||||
this.danskToolStripMenuItem1.Tag = "da-DK";
|
|
||||||
this.danskToolStripMenuItem1.Text = "Dansk";
|
|
||||||
this.danskToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Language_click);
|
|
||||||
//
|
|
||||||
// espanolToolStripMenuItem
|
|
||||||
//
|
|
||||||
this.espanolToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_spanish;
|
|
||||||
this.espanolToolStripMenuItem.Name = "espanolToolStripMenuItem";
|
|
||||||
this.espanolToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
|
||||||
this.espanolToolStripMenuItem.Tag = "es-ES";
|
|
||||||
this.espanolToolStripMenuItem.Text = "Español";
|
|
||||||
this.espanolToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click);
|
|
||||||
//
|
|
||||||
// italianoToolStripMenuItem
|
|
||||||
//
|
|
||||||
this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita;
|
|
||||||
this.italianoToolStripMenuItem.Name = "italianoToolStripMenuItem";
|
|
||||||
this.italianoToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
|
||||||
this.italianoToolStripMenuItem.Tag = "it-IT";
|
|
||||||
this.italianoToolStripMenuItem.Text = "Italiano";
|
|
||||||
this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click);
|
|
||||||
//
|
//
|
||||||
// aboutToolStripMenuItem
|
// aboutToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_help;
|
this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_help;
|
||||||
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
|
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
|
||||||
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(168, 22);
|
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
|
||||||
this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout;
|
this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout;
|
||||||
this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT;
|
this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT;
|
||||||
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click);
|
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click);
|
||||||
|
@ -508,7 +445,7 @@
|
||||||
//
|
//
|
||||||
this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new;
|
this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new;
|
||||||
this.menuContextClose.Name = "menuContextClose";
|
this.menuContextClose.Name = "menuContextClose";
|
||||||
this.menuContextClose.Size = new System.Drawing.Size(168, 22);
|
this.menuContextClose.Size = new System.Drawing.Size(186, 22);
|
||||||
this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose;
|
this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose;
|
||||||
this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click);
|
this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click);
|
||||||
//
|
//
|
||||||
|
@ -564,10 +501,11 @@
|
||||||
this.BackColor = System.Drawing.SystemColors.Control;
|
this.BackColor = System.Drawing.SystemColors.Control;
|
||||||
this.ClientSize = new System.Drawing.Size(264, 204);
|
this.ClientSize = new System.Drawing.Size(264, 204);
|
||||||
this.ControlBox = false;
|
this.ControlBox = false;
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
this.MaximizeBox = false;
|
this.MaximizeBox = false;
|
||||||
this.MinimizeBox = false;
|
this.MinimizeBox = false;
|
||||||
this.MinimumSize = new System.Drawing.Size(20, 38);
|
this.MinimumSize = new System.Drawing.Size(40, 40);
|
||||||
this.Name = "MainForm";
|
this.Name = "MainForm";
|
||||||
this.Text = "OnTopReplica";
|
this.Text = "OnTopReplica";
|
||||||
this.TopMost = true;
|
this.TopMost = true;
|
||||||
|
@ -575,7 +513,6 @@
|
||||||
this.menuWindows.ResumeLayout(false);
|
this.menuWindows.ResumeLayout(false);
|
||||||
this.menuOpacity.ResumeLayout(false);
|
this.menuOpacity.ResumeLayout(false);
|
||||||
this.menuResize.ResumeLayout(false);
|
this.menuResize.ResumeLayout(false);
|
||||||
this.menuLanguages.ResumeLayout(false);
|
|
||||||
this.menuFullscreenContext.ResumeLayout(false);
|
this.menuFullscreenContext.ResumeLayout(false);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
@ -612,14 +549,8 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1;
|
private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1;
|
||||||
private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1;
|
private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
|
||||||
private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem;
|
|
||||||
private System.Windows.Forms.ContextMenuStrip menuLanguages;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem italianoToolStripMenuItem;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem cestinaToolStripMenuItem;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem1;
|
|
||||||
private System.Windows.Forms.ContextMenuStrip menuFullscreenContext;
|
private System.Windows.Forms.ContextMenuStrip menuFullscreenContext;
|
||||||
private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem;
|
||||||
|
@ -633,8 +564,8 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem disabledToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem disabledToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
||||||
private System.Windows.Forms.ToolStripMenuItem restorePositionAndSizeToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem restorePositionAndSizeToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem espanolToolStripMenuItem;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem restoreLastClonedWindowToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem restoreLastClonedWindowToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@ namespace OnTopReplica {
|
||||||
|
|
||||||
//GUI elements
|
//GUI elements
|
||||||
ThumbnailPanel _thumbnailPanel;
|
ThumbnailPanel _thumbnailPanel;
|
||||||
SidePanel _currentSidePanel = null;
|
|
||||||
Panel _sidePanelContainer;
|
|
||||||
|
|
||||||
//Managers
|
//Managers
|
||||||
BaseWindowSeeker _windowSeeker = new TaskWindowSeeker {
|
BaseWindowSeeker _windowSeeker = new TaskWindowSeeker {
|
||||||
|
@ -37,6 +35,7 @@ namespace OnTopReplica {
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
KeepAspectRatio = false;
|
KeepAspectRatio = false;
|
||||||
GlassEnabled = true;
|
GlassEnabled = true;
|
||||||
|
GlassMargins = new Margins(-1);
|
||||||
|
|
||||||
//Store default values
|
//Store default values
|
||||||
_nonClickThroughKey = TransparencyKey;
|
_nonClickThroughKey = TransparencyKey;
|
||||||
|
@ -44,26 +43,14 @@ namespace OnTopReplica {
|
||||||
//Thumbnail panel
|
//Thumbnail panel
|
||||||
_thumbnailPanel = new ThumbnailPanel {
|
_thumbnailPanel = new ThumbnailPanel {
|
||||||
Location = Point.Empty,
|
Location = Point.Empty,
|
||||||
Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right,
|
Dock = DockStyle.Fill
|
||||||
Size = ClientSize
|
|
||||||
};
|
};
|
||||||
_thumbnailPanel.CloneClick += new EventHandler<CloneClickEventArgs>(Thumbnail_CloneClick);
|
_thumbnailPanel.CloneClick += new EventHandler<CloneClickEventArgs>(Thumbnail_CloneClick);
|
||||||
Controls.Add(_thumbnailPanel);
|
Controls.Add(_thumbnailPanel);
|
||||||
|
|
||||||
//Side panel
|
|
||||||
_sidePanelContainer = new Panel {
|
|
||||||
Location = new Point(ClientSize.Width + 5, 0),
|
|
||||||
Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom,
|
|
||||||
Enabled = false,
|
|
||||||
Visible = false,
|
|
||||||
Size = new Size(100, ClientSize.Height),
|
|
||||||
Padding = new Padding(4)
|
|
||||||
};
|
|
||||||
Controls.Add(_sidePanelContainer);
|
|
||||||
|
|
||||||
//Set native renderer on context menus
|
//Set native renderer on context menus
|
||||||
Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(
|
Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(
|
||||||
menuContext, menuWindows, menuOpacity, menuResize, menuLanguages, menuFullscreenContext
|
menuContext, menuWindows, menuOpacity, menuResize, menuFullscreenContext
|
||||||
);
|
);
|
||||||
|
|
||||||
//Init message pump extensions
|
//Init message pump extensions
|
||||||
|
@ -80,10 +67,8 @@ namespace OnTopReplica {
|
||||||
this.KeyPreview = true;
|
this.KeyPreview = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
delegate void GuiAction();
|
|
||||||
|
|
||||||
void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) {
|
void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) {
|
||||||
this.Invoke(new GuiAction(() => {
|
this.Invoke(new Action(() => {
|
||||||
if (e.Success) {
|
if (e.Success) {
|
||||||
_updateManager.HandleUpdateCheck(this, e.Information, false);
|
_updateManager.HandleUpdateCheck(this, e.Information, false);
|
||||||
}
|
}
|
||||||
|
@ -139,14 +124,10 @@ namespace OnTopReplica {
|
||||||
base.OnClosing(e);
|
base.OnClosing(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
Margins fullMargins = new Margins(-1);
|
protected override void OnMove(EventArgs e) {
|
||||||
|
base.OnMove(e);
|
||||||
|
|
||||||
protected override void OnResize(EventArgs e) {
|
AdjustSidePanelLocation();
|
||||||
base.OnResize(e);
|
|
||||||
|
|
||||||
this.GlassMargins = (_currentSidePanel != null) ?
|
|
||||||
new Margins(ClientSize.Width - _sidePanelContainer.Width, 0, 0, 0) :
|
|
||||||
fullMargins;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnResizeEnd(EventArgs e) {
|
protected override void OnResizeEnd(EventArgs e) {
|
||||||
|
@ -247,8 +228,6 @@ namespace OnTopReplica {
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
const string Title = "OnTopReplica";
|
|
||||||
|
|
||||||
#region Keyboard event handling
|
#region Keyboard event handling
|
||||||
|
|
||||||
protected override void OnKeyUp(KeyEventArgs e) {
|
protected override void OnKeyUp(KeyEventArgs e) {
|
||||||
|
@ -328,7 +307,6 @@ namespace OnTopReplica {
|
||||||
bool _isFullscreen = false;
|
bool _isFullscreen = false;
|
||||||
Point _preFullscreenLocation;
|
Point _preFullscreenLocation;
|
||||||
Size _preFullscreenSize;
|
Size _preFullscreenSize;
|
||||||
FormBorderStyle _preFullscreenBorderStyle;
|
|
||||||
|
|
||||||
public bool IsFullscreen {
|
public bool IsFullscreen {
|
||||||
get {
|
get {
|
||||||
|
@ -346,7 +324,6 @@ namespace OnTopReplica {
|
||||||
if (value) {
|
if (value) {
|
||||||
_preFullscreenLocation = Location;
|
_preFullscreenLocation = Location;
|
||||||
_preFullscreenSize = ClientSize;
|
_preFullscreenSize = ClientSize;
|
||||||
_preFullscreenBorderStyle = FormBorderStyle;
|
|
||||||
|
|
||||||
FormBorderStyle = FormBorderStyle.None;
|
FormBorderStyle = FormBorderStyle.None;
|
||||||
var currentScreen = Screen.FromControl(this);
|
var currentScreen = Screen.FromControl(this);
|
||||||
|
@ -354,7 +331,7 @@ namespace OnTopReplica {
|
||||||
Location = currentScreen.WorkingArea.Location;
|
Location = currentScreen.WorkingArea.Location;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
FormBorderStyle = _preFullscreenBorderStyle;
|
FormBorderStyle = DefaultBorderStyle;
|
||||||
Location = _preFullscreenLocation;
|
Location = _preFullscreenLocation;
|
||||||
ClientSize = _preFullscreenSize;
|
ClientSize = _preFullscreenSize;
|
||||||
RefreshAspectRatio();
|
RefreshAspectRatio();
|
||||||
|
|
|
@ -129,9 +129,6 @@
|
||||||
<metadata name="menuResize.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="menuResize.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>578, 17</value>
|
<value>578, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="menuLanguages.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<value>695, 17</value>
|
|
||||||
</metadata>
|
|
||||||
<metadata name="menuFullscreenContext.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="menuFullscreenContext.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>399, 17</value>
|
<value>399, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
|
|
@ -8,98 +8,68 @@ namespace OnTopReplica {
|
||||||
|
|
||||||
partial class MainForm {
|
partial class MainForm {
|
||||||
|
|
||||||
EventHandler RequestClosingHandler;
|
//SidePanel _currentSidePanel = null;
|
||||||
|
SidePanelContainer _sidePanelContainer = null;
|
||||||
const int SidePanelMargin = 1;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Opens a new side panel.
|
/// Opens a new side panel.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="panel">The side panel to embed.</param>
|
/// <param name="panel">The side panel to embed.</param>
|
||||||
public void SetSidePanel(SidePanel panel) {
|
public void SetSidePanel(SidePanel panel) {
|
||||||
if (_currentSidePanel != null) {
|
if (IsSidePanelOpen) {
|
||||||
CloseSidePanel();
|
CloseSidePanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
_currentSidePanel = panel;
|
_sidePanelContainer = new SidePanelContainer(this);
|
||||||
_currentSidePanel.OnFirstShown(this);
|
_sidePanelContainer.SetSidePanel(panel);
|
||||||
|
_sidePanelContainer.Show(this);
|
||||||
//Add and show
|
AdjustSidePanelLocation();
|
||||||
_sidePanelContainer.Controls.Add(panel);
|
|
||||||
_sidePanelContainer.Enabled = true;
|
|
||||||
_sidePanelContainer.Show();
|
|
||||||
panel.Show();
|
|
||||||
|
|
||||||
int intHorzMargin = panel.Margin.Horizontal + _sidePanelContainer.Padding.Horizontal; //internal margins for sidepanel
|
|
||||||
int intVertMargin = panel.Margin.Vertical + _sidePanelContainer.Padding.Vertical;
|
|
||||||
|
|
||||||
//Resize container
|
|
||||||
_sidePanelContainer.ClientSize = new Size(
|
|
||||||
panel.MinimumSize.Width + intHorzMargin,
|
|
||||||
ClientSize.Height
|
|
||||||
);
|
|
||||||
|
|
||||||
int rightHorzMargin = _sidePanelContainer.Width + SidePanelMargin; //horz margin between the two controls
|
|
||||||
|
|
||||||
//Resize rest
|
|
||||||
MinimumSize = new Size(
|
|
||||||
20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin,
|
|
||||||
panel.MinimumSize.Height + intVertMargin
|
|
||||||
);
|
|
||||||
ClientSize = new Size(
|
|
||||||
ClientSize.Width + rightHorzMargin,
|
|
||||||
ClientSize.Height
|
|
||||||
);
|
|
||||||
ExtraPadding = new Padding(0, 0, rightHorzMargin, 0);
|
|
||||||
_thumbnailPanel.Size = new Size(
|
|
||||||
ClientSize.Width - rightHorzMargin,
|
|
||||||
ClientSize.Height
|
|
||||||
);
|
|
||||||
_sidePanelContainer.Location = new Point(
|
|
||||||
ClientSize.Width - rightHorzMargin,
|
|
||||||
0
|
|
||||||
);
|
|
||||||
|
|
||||||
//Move window if needed
|
|
||||||
FixPositionAndSize();
|
|
||||||
|
|
||||||
//Hook event listener
|
|
||||||
if (RequestClosingHandler == null)
|
|
||||||
RequestClosingHandler = new EventHandler(SidePanel_RequestClosing);
|
|
||||||
panel.RequestClosing += RequestClosingHandler;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Closes the current side panel.
|
/// Closes the current side panel.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void CloseSidePanel() {
|
public void CloseSidePanel() {
|
||||||
if (_currentSidePanel == null)
|
if (_sidePanelContainer == null || _sidePanelContainer.IsDisposed) {
|
||||||
|
_sidePanelContainer = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_sidePanelContainer.Hide();
|
||||||
|
_sidePanelContainer.FreeSidePanel();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets whether a side panel is currently shown.
|
||||||
|
/// </summary>
|
||||||
|
public bool IsSidePanelOpen {
|
||||||
|
get {
|
||||||
|
if (_sidePanelContainer == null)
|
||||||
|
return false;
|
||||||
|
if (_sidePanelContainer.IsDisposed) {
|
||||||
|
_sidePanelContainer = null;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return _sidePanelContainer.Visible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Moves the side panel based on the main form's current location.
|
||||||
|
/// </summary>
|
||||||
|
protected void AdjustSidePanelLocation() {
|
||||||
|
if (!IsSidePanelOpen)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//Unhook listener to make panel freeable
|
//Check if moving the panel on the form's right would put it off-screen
|
||||||
_currentSidePanel.RequestClosing -= RequestClosingHandler;
|
var screen = Screen.FromControl(this);
|
||||||
|
if (Location.X + Width + _sidePanelContainer.Width > screen.WorkingArea.Right) {
|
||||||
//Remove side panel and container
|
_sidePanelContainer.Location = new Point(Location.X - _sidePanelContainer.Width, Location.Y);
|
||||||
_currentSidePanel.OnClosing(this);
|
}
|
||||||
_currentSidePanel.Hide();
|
else {
|
||||||
_sidePanelContainer.Controls.Clear();
|
_sidePanelContainer.Location = new Point(Location.X + Width, Location.Y);
|
||||||
_sidePanelContainer.Visible = _sidePanelContainer.Enabled = false;
|
}
|
||||||
|
|
||||||
//Free panel
|
|
||||||
_currentSidePanel.Dispose();
|
|
||||||
_currentSidePanel = null;
|
|
||||||
|
|
||||||
//Resize
|
|
||||||
MinimumSize = new Size(20, 20);
|
|
||||||
ClientSize = new Size(
|
|
||||||
ClientSize.Width - _sidePanelContainer.Width - SidePanelMargin,
|
|
||||||
ClientSize.Height
|
|
||||||
);
|
|
||||||
ExtraPadding = new Padding(0);
|
|
||||||
_thumbnailPanel.Size = ClientSize;
|
|
||||||
|
|
||||||
//Put focus back to main form
|
|
||||||
this.Focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SidePanel_RequestClosing(object sender, EventArgs e) {
|
void SidePanel_RequestClosing(object sender, EventArgs e) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace OnTopReplica {
|
||||||
|
|
||||||
private void Menu_opening(object sender, CancelEventArgs e) {
|
private void Menu_opening(object sender, CancelEventArgs e) {
|
||||||
//Cancel if currently in "fullscreen" mode or a side panel is open
|
//Cancel if currently in "fullscreen" mode or a side panel is open
|
||||||
if (IsFullscreen || _currentSidePanel != null) {
|
if (IsFullscreen || IsSidePanelOpen) {
|
||||||
e.Cancel = true;
|
e.Cancel = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -189,6 +189,7 @@ namespace OnTopReplica {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Menu_Language_click(object sender, EventArgs e) {
|
private void Menu_Language_click(object sender, EventArgs e) {
|
||||||
|
//TODO: strip this stuff
|
||||||
ToolStripItem tsi = (ToolStripItem)sender;
|
ToolStripItem tsi = (ToolStripItem)sender;
|
||||||
|
|
||||||
string langCode = tsi.Tag as string;
|
string langCode = tsi.Tag as string;
|
||||||
|
@ -202,6 +203,10 @@ namespace OnTopReplica {
|
||||||
MessageBox.Show("Error");*/
|
MessageBox.Show("Error");*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Menu_Settings_click(object sender, EventArgs e) {
|
||||||
|
this.SetSidePanel(new OnTopReplica.SidePanels.OptionsPanel());
|
||||||
|
}
|
||||||
|
|
||||||
private void Menu_About_click(object sender, EventArgs e) {
|
private void Menu_About_click(object sender, EventArgs e) {
|
||||||
this.Hide();
|
this.Hide();
|
||||||
|
|
||||||
|
|
|
@ -139,6 +139,12 @@
|
||||||
<Compile Include="Native\HT.cs" />
|
<Compile Include="Native\HT.cs" />
|
||||||
<Compile Include="Pair.cs" />
|
<Compile Include="Pair.cs" />
|
||||||
<Compile Include="Platforms\DebugPlatform.cs" />
|
<Compile Include="Platforms\DebugPlatform.cs" />
|
||||||
|
<Compile Include="SidePanelContainer.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="SidePanelContainer.Designer.cs">
|
||||||
|
<DependentUpon>SidePanelContainer.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="SidePanels\OptionsPanel.cs">
|
<Compile Include="SidePanels\OptionsPanel.cs">
|
||||||
<SubType>UserControl</SubType>
|
<SubType>UserControl</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
@ -161,6 +167,9 @@
|
||||||
<Compile Include="WindowSeekers\ByTitleWindowSeeker.cs" />
|
<Compile Include="WindowSeekers\ByTitleWindowSeeker.cs" />
|
||||||
<Compile Include="WindowSeekers\RestoreWindowSeeker.cs" />
|
<Compile Include="WindowSeekers\RestoreWindowSeeker.cs" />
|
||||||
<Compile Include="WindowSeekers\TaskWindowSeeker.cs" />
|
<Compile Include="WindowSeekers\TaskWindowSeeker.cs" />
|
||||||
|
<EmbeddedResource Include="SidePanelContainer.resx">
|
||||||
|
<DependentUpon>SidePanelContainer.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Strings.ru.resx" />
|
<EmbeddedResource Include="Strings.ru.resx" />
|
||||||
<None Include="Native\ITaskBarList.cs" />
|
<None Include="Native\ITaskBarList.cs" />
|
||||||
<Compile Include="Native\InputMethods.cs" />
|
<Compile Include="Native\InputMethods.cs" />
|
||||||
|
|
|
@ -49,5 +49,14 @@ namespace OnTopReplica {
|
||||||
public virtual void OnClosing(MainForm form) {
|
public virtual void OnClosing(MainForm form) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the side panel's title.
|
||||||
|
/// </summary>
|
||||||
|
public virtual string Title {
|
||||||
|
get {
|
||||||
|
return "Side panel";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
46
OnTopReplica/SidePanelContainer.Designer.cs
generated
Normal file
46
OnTopReplica/SidePanelContainer.Designer.cs
generated
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
namespace OnTopReplica {
|
||||||
|
partial class SidePanelContainer {
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing) {
|
||||||
|
if (disposing && (components != null)) {
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent() {
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// SidePanelContainer
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(246, 300);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "SidePanelContainer";
|
||||||
|
this.Padding = new System.Windows.Forms.Padding(6);
|
||||||
|
this.ShowInTaskbar = false;
|
||||||
|
this.Text = "Side Panel container";
|
||||||
|
this.TopMost = true;
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
98
OnTopReplica/SidePanelContainer.cs
Normal file
98
OnTopReplica/SidePanelContainer.cs
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace OnTopReplica {
|
||||||
|
/// <summary>
|
||||||
|
/// Acts as a form that can contain a SidePanel instance.
|
||||||
|
/// </summary>
|
||||||
|
partial class SidePanelContainer : Form {
|
||||||
|
|
||||||
|
EventHandler RequestClosingHandler;
|
||||||
|
|
||||||
|
MainForm _parent;
|
||||||
|
|
||||||
|
public SidePanelContainer(MainForm mainForm) {
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
_parent = mainForm;
|
||||||
|
RequestClosingHandler = new EventHandler(Panel_RequestClosing);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Panel_RequestClosing(object sender, EventArgs e) {
|
||||||
|
FreeSidePanel();
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnClosing(CancelEventArgs e) {
|
||||||
|
base.OnClosing(e);
|
||||||
|
|
||||||
|
//Ensure side panel closing code is run
|
||||||
|
FreeSidePanel();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets a new side panel and refreshes the window. The panel is
|
||||||
|
/// managed by the SidePanelContainer from now on.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="panel">SidePanel to embed and to manage.</param>
|
||||||
|
public void SetSidePanel(SidePanel panel) {
|
||||||
|
panel.OnFirstShown(_parent);
|
||||||
|
|
||||||
|
//Set panel
|
||||||
|
this.SuspendLayout();
|
||||||
|
|
||||||
|
this.Text = panel.Title;
|
||||||
|
|
||||||
|
CurrentSidePanel = panel;
|
||||||
|
panel.RequestClosing += RequestClosingHandler;
|
||||||
|
this.Controls.Add(panel);
|
||||||
|
|
||||||
|
var minSize = panel.MinimumSize.Expand(this.Padding);
|
||||||
|
this.ClientSize = minSize;
|
||||||
|
this.EnsureMinimumClientSize(minSize);
|
||||||
|
|
||||||
|
this.ResumeLayout();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Removes the current side panel and disposes it.
|
||||||
|
/// </summary>
|
||||||
|
public void FreeSidePanel() {
|
||||||
|
if (CurrentSidePanel == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this.SuspendLayout();
|
||||||
|
|
||||||
|
FreeSidePanelCore();
|
||||||
|
|
||||||
|
this.ResumeLayout();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Removes the current side panel and disposes it (doesn't suspend layout).
|
||||||
|
/// </summary>
|
||||||
|
private void FreeSidePanelCore() {
|
||||||
|
CurrentSidePanel.OnClosing(_parent);
|
||||||
|
|
||||||
|
//Free hook
|
||||||
|
CurrentSidePanel.RequestClosing -= RequestClosingHandler;
|
||||||
|
|
||||||
|
//Remove
|
||||||
|
this.Controls.Remove(CurrentSidePanel);
|
||||||
|
|
||||||
|
//Free
|
||||||
|
CurrentSidePanel.Dispose();
|
||||||
|
CurrentSidePanel = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SidePanel CurrentSidePanel {
|
||||||
|
get;
|
||||||
|
private set;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
120
OnTopReplica/SidePanelContainer.resx
Normal file
120
OnTopReplica/SidePanelContainer.resx
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
<?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>
|
||||||
|
</root>
|
|
@ -10,6 +10,12 @@ namespace OnTopReplica.SidePanels {
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string Title {
|
||||||
|
get {
|
||||||
|
return Strings.MenuGroupSwitch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnFirstShown(MainForm form) {
|
public override void OnFirstShown(MainForm form) {
|
||||||
base.OnFirstShown(form);
|
base.OnFirstShown(form);
|
||||||
|
|
||||||
|
|
120
OnTopReplica/SidePanels/OptionsPanel.Designer.cs
generated
Normal file
120
OnTopReplica/SidePanels/OptionsPanel.Designer.cs
generated
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
namespace OnTopReplica.SidePanels {
|
||||||
|
partial class OptionsPanel {
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing) {
|
||||||
|
if (disposing && (components != null)) {
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Component Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent() {
|
||||||
|
this.btnClose = new System.Windows.Forms.Button();
|
||||||
|
this.panelMain = new System.Windows.Forms.Panel();
|
||||||
|
this.groupLanguage = new System.Windows.Forms.GroupBox();
|
||||||
|
this.lblLanguage = new System.Windows.Forms.Label();
|
||||||
|
this.comboLanguage = new System.Windows.Forms.ComboBox();
|
||||||
|
this.panelMain.SuspendLayout();
|
||||||
|
this.groupLanguage.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// btnClose
|
||||||
|
//
|
||||||
|
this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.btnClose.Location = new System.Drawing.Point(185, 217);
|
||||||
|
this.btnClose.Name = "btnClose";
|
||||||
|
this.btnClose.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.btnClose.TabIndex = 0;
|
||||||
|
this.btnClose.Text = "Close";
|
||||||
|
this.btnClose.UseVisualStyleBackColor = true;
|
||||||
|
this.btnClose.Click += new System.EventHandler(this.Close_click);
|
||||||
|
//
|
||||||
|
// panelMain
|
||||||
|
//
|
||||||
|
this.panelMain.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.panelMain.AutoScroll = true;
|
||||||
|
this.panelMain.Controls.Add(this.groupLanguage);
|
||||||
|
this.panelMain.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.panelMain.Name = "panelMain";
|
||||||
|
this.panelMain.Size = new System.Drawing.Size(260, 211);
|
||||||
|
this.panelMain.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// groupLanguage
|
||||||
|
//
|
||||||
|
this.groupLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.groupLanguage.Controls.Add(this.lblLanguage);
|
||||||
|
this.groupLanguage.Controls.Add(this.comboLanguage);
|
||||||
|
this.groupLanguage.Location = new System.Drawing.Point(3, 3);
|
||||||
|
this.groupLanguage.Name = "groupLanguage";
|
||||||
|
this.groupLanguage.Size = new System.Drawing.Size(254, 68);
|
||||||
|
this.groupLanguage.TabIndex = 0;
|
||||||
|
this.groupLanguage.TabStop = false;
|
||||||
|
this.groupLanguage.Text = "Language:";
|
||||||
|
//
|
||||||
|
// lblLanguage
|
||||||
|
//
|
||||||
|
this.lblLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.lblLanguage.Location = new System.Drawing.Point(6, 43);
|
||||||
|
this.lblLanguage.Name = "lblLanguage";
|
||||||
|
this.lblLanguage.Size = new System.Drawing.Size(242, 23);
|
||||||
|
this.lblLanguage.TabIndex = 1;
|
||||||
|
this.lblLanguage.Text = "Requires a restart.";
|
||||||
|
//
|
||||||
|
// comboLanguage
|
||||||
|
//
|
||||||
|
this.comboLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.comboLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.comboLanguage.FormattingEnabled = true;
|
||||||
|
this.comboLanguage.Items.AddRange(new object[] {
|
||||||
|
"English",
|
||||||
|
"Dansk",
|
||||||
|
"Italiano"});
|
||||||
|
this.comboLanguage.Location = new System.Drawing.Point(6, 19);
|
||||||
|
this.comboLanguage.Name = "comboLanguage";
|
||||||
|
this.comboLanguage.Size = new System.Drawing.Size(242, 21);
|
||||||
|
this.comboLanguage.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// OptionsPanel
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.AutoScroll = true;
|
||||||
|
this.Controls.Add(this.panelMain);
|
||||||
|
this.Controls.Add(this.btnClose);
|
||||||
|
this.MinimumSize = new System.Drawing.Size(260, 240);
|
||||||
|
this.Name = "OptionsPanel";
|
||||||
|
this.Size = new System.Drawing.Size(260, 240);
|
||||||
|
this.panelMain.ResumeLayout(false);
|
||||||
|
this.groupLanguage.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Button btnClose;
|
||||||
|
private System.Windows.Forms.Panel panelMain;
|
||||||
|
private System.Windows.Forms.GroupBox groupLanguage;
|
||||||
|
private System.Windows.Forms.ComboBox comboLanguage;
|
||||||
|
private System.Windows.Forms.Label lblLanguage;
|
||||||
|
}
|
||||||
|
}
|
25
OnTopReplica/SidePanels/OptionsPanel.cs
Normal file
25
OnTopReplica/SidePanels/OptionsPanel.cs
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Data;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace OnTopReplica.SidePanels {
|
||||||
|
partial class OptionsPanel : SidePanel {
|
||||||
|
public OptionsPanel() {
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Close_click(object sender, EventArgs e) {
|
||||||
|
OnRequestClosing();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string Title {
|
||||||
|
get {
|
||||||
|
return Strings.MenuSettings;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
120
OnTopReplica/SidePanels/OptionsPanel.resx
Normal file
120
OnTopReplica/SidePanels/OptionsPanel.resx
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
<?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>
|
||||||
|
</root>
|
|
@ -19,6 +19,12 @@ namespace OnTopReplica.SidePanels {
|
||||||
_regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn);
|
_regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string Title {
|
||||||
|
get {
|
||||||
|
return Strings.MenuRegion;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler;
|
ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler;
|
||||||
|
|
||||||
public override void OnFirstShown(MainForm form) {
|
public override void OnFirstShown(MainForm form) {
|
||||||
|
|
36
OnTopReplica/Strings.Designer.cs
generated
36
OnTopReplica/Strings.Designer.cs
generated
|
@ -1168,6 +1168,42 @@ namespace OnTopReplica {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Restore last cloned window.
|
||||||
|
/// </summary>
|
||||||
|
internal static string MenuRestoreLast {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MenuRestoreLast", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to When enabled, OnTopReplica will attempt to restore the last cloned window on start up..
|
||||||
|
/// </summary>
|
||||||
|
internal static string MenuRestoreLastTT {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MenuRestoreLastTT", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Settings....
|
||||||
|
/// </summary>
|
||||||
|
internal static string MenuSettings {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MenuSettings", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Displays the settings panel..
|
||||||
|
/// </summary>
|
||||||
|
internal static string MenuSettingsTT {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MenuSettingsTT", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Switch to window.
|
/// Looks up a localized string similar to Switch to window.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -1,30 +1,135 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<root>
|
<root>
|
||||||
<resheader name="resmimetype">
|
<!--
|
||||||
<value>text/microsoft-resx</value>
|
Microsoft ResX Schema
|
||||||
</resheader>
|
|
||||||
<resheader name="version">
|
Version 2.0
|
||||||
<value>2.0</value>
|
|
||||||
</resheader>
|
The primary goals of this format is to allow a simple XML format
|
||||||
<resheader name="reader">
|
that is mostly human readable. The generation and parsing of the
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
various data types are done through the TypeConverter classes
|
||||||
</resheader>
|
associated with the data types.
|
||||||
<resheader name="writer">
|
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
Example:
|
||||||
</resheader>
|
|
||||||
<data name="AboutButtonCancelTT" xml:space="preserve">
|
... ado.net/XML headers & schema ...
|
||||||
<value>Abort update process.</value>
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
</data>
|
<resheader name="version">2.0</resheader>
|
||||||
<data name="AboutButtonExpanderTT" xml:space="preserve">
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
<value>Show details about OnTopReplica.</value>
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
</data>
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
<data name="AboutButtonResetTT" xml:space="preserve">
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
<value>Reset all OnTopReplica settings.</value>
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
</data>
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
<data name="AboutButtonUpdateTT" xml:space="preserve">
|
</data>
|
||||||
<value>Update OnTopReplica now.</value>
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
</data>
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
<data name="AboutDetails" xml:space="preserve">
|
<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="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><html>
|
<value><html>
|
||||||
<head>
|
<head>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
|
@ -75,419 +180,431 @@ a:hover {
|
||||||
<p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p>
|
<p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html></value>
|
</html></value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplicationName" xml:space="preserve">
|
<data name="ApplicationName" xml:space="preserve">
|
||||||
<value>OnTopReplica</value>
|
<value>OnTopReplica</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskReset" xml:space="preserve">
|
<data name="AskReset" xml:space="preserve">
|
||||||
<value>Reset window completely?</value>
|
<value>Reset window completely?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskResetButtonOk" xml:space="preserve">
|
<data name="AskResetButtonOk" xml:space="preserve">
|
||||||
<value>&Reset
|
<value>&Reset
|
||||||
All settings will be lost.</value>
|
All settings will be lost.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskResetContent" xml:space="preserve">
|
<data name="AskResetContent" xml:space="preserve">
|
||||||
<value>Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.</value>
|
<value>Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskResetTitle" xml:space="preserve">
|
<data name="AskResetTitle" xml:space="preserve">
|
||||||
<value>Reset</value>
|
<value>Reset</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskSettingReset" xml:space="preserve">
|
<data name="AskSettingReset" xml:space="preserve">
|
||||||
<value>Reset settings?</value>
|
<value>Reset settings?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskSettingResetContent" xml:space="preserve">
|
<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>
|
<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>
|
||||||
<data name="AskSettingResetTitle" xml:space="preserve">
|
<data name="AskSettingResetTitle" xml:space="preserve">
|
||||||
<value>Reset settings</value>
|
<value>Reset settings</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskUpdate" xml:space="preserve">
|
<data name="AskUpdate" xml:space="preserve">
|
||||||
<value>Download OnTopReplica {0}?</value>
|
<value>Download OnTopReplica {0}?</value>
|
||||||
<comment>{0} update version</comment>
|
<comment>{0} update version</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskUpdateButtonCancel" xml:space="preserve">
|
<data name="AskUpdateButtonCancel" xml:space="preserve">
|
||||||
<value>Cancel update
|
<value>Cancel update
|
||||||
OnTopReplica will prompt you the next time it is started.</value>
|
OnTopReplica will prompt you the next time it is started.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskUpdateButtonOk" xml:space="preserve">
|
<data name="AskUpdateButtonOk" xml:space="preserve">
|
||||||
<value>Download
|
<value>Download
|
||||||
Install OnTopReplica {0}.</value>
|
Install OnTopReplica {0}.</value>
|
||||||
<comment>{0} update version</comment>
|
<comment>{0} update version</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskUpdateContent" xml:space="preserve">
|
<data name="AskUpdateContent" xml:space="preserve">
|
||||||
<value>The new version can be downloaded and installed from the official website.</value>
|
<value>The new version can be downloaded and installed from the official website.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskUpdateExpanded" xml:space="preserve">
|
<data name="AskUpdateExpanded" xml:space="preserve">
|
||||||
<value>Installed version: {0}
|
<value>Installed version: {0}
|
||||||
Available version: {1}</value>
|
Available version: {1}</value>
|
||||||
<comment>{0} installed version number
|
<comment>{0} installed version number
|
||||||
{1} online available version number</comment>
|
{1} online available version number</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="AskUpdateTitle" xml:space="preserve">
|
<data name="AskUpdateTitle" xml:space="preserve">
|
||||||
<value>Update available</value>
|
<value>Update available</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ButtonCancel" xml:space="preserve">
|
<data name="ButtonCancel" xml:space="preserve">
|
||||||
<value>&Cancel</value>
|
<value>&Cancel</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CreatedBy" xml:space="preserve">
|
<data name="CreatedBy" xml:space="preserve">
|
||||||
<value>Created by: Lorenz Cuno Klopfenstein.</value>
|
<value>Created by: Lorenz Cuno Klopfenstein.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DrawRegions" xml:space="preserve">
|
<data name="DrawRegions" xml:space="preserve">
|
||||||
<value>Draw regions using mouse.</value>
|
<value>Draw regions using mouse.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorDetailButton" xml:space="preserve">
|
<data name="ErrorDetailButton" xml:space="preserve">
|
||||||
<value>Details</value>
|
<value>Details</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorDetailsAero" xml:space="preserve">
|
<data name="ErrorDetailsAero" xml:space="preserve">
|
||||||
<value>Details on Windows Aero</value>
|
<value>Details on Windows Aero</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorDetailsAeroInfo" xml:space="preserve">
|
<data name="ErrorDetailsAeroInfo" xml:space="preserve">
|
||||||
<value>Windows Aero is only available on Windows Vista Home Premium or higher.</value>
|
<value>Windows Aero is only available on Windows Vista Home Premium or higher.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorDwmOff" xml:space="preserve">
|
<data name="ErrorDwmOff" xml:space="preserve">
|
||||||
<value>Desktop Composition' is not enabled.</value>
|
<value>Desktop Composition' is not enabled.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorDwmOffContent" xml:space="preserve">
|
<data name="ErrorDwmOffContent" xml:space="preserve">
|
||||||
<value>You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows.
|
<value>You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows.
|
||||||
|
|
||||||
To do so, right-click on the desktop and click on Personalize.</value>
|
To do so, right-click on the desktop and click on Personalize.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorGenericInfoButton" xml:space="preserve">
|
<data name="ErrorGenericInfoButton" xml:space="preserve">
|
||||||
<value>Error details</value>
|
<value>Error details</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorGenericInfoText" xml:space="preserve">
|
<data name="ErrorGenericInfoText" xml:space="preserve">
|
||||||
<value>Error: </value>
|
<value>Error: </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
|
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
|
||||||
<value>It appears that the selected window has been closed or is not valid anymore.</value>
|
<value>It appears that the selected window has been closed or is not valid anymore.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorGenericTitle" xml:space="preserve">
|
<data name="ErrorGenericTitle" xml:space="preserve">
|
||||||
<value>Error</value>
|
<value>Error</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorNoDwm" xml:space="preserve">
|
<data name="ErrorNoDwm" xml:space="preserve">
|
||||||
<value>Desktop Composition' is not supported on your Operating System.
|
<value>Desktop Composition' is not supported on your Operating System.
|
||||||
You must run this application on Windows Vista Home Premium or better.</value>
|
You must run this application on Windows Vista Home Premium or better.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorNoDwmTitle" xml:space="preserve">
|
<data name="ErrorNoDwmTitle" xml:space="preserve">
|
||||||
<value>Desktop Composition unsupported</value>
|
<value>Desktop Composition unsupported</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorNoThumbnail" xml:space="preserve">
|
<data name="ErrorNoThumbnail" xml:space="preserve">
|
||||||
<value>No thumbnail loaded.</value>
|
<value>No thumbnail loaded.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
|
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
|
||||||
<value>Unable to create thumbnail</value>
|
<value>Unable to create thumbnail</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorUnableToFit" xml:space="preserve">
|
<data name="ErrorUnableToFit" xml:space="preserve">
|
||||||
<value>Unable to fit window.</value>
|
<value>Unable to fit window.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorUpdate" xml:space="preserve">
|
<data name="ErrorUpdate" xml:space="preserve">
|
||||||
<value>Unable to check for updates.</value>
|
<value>Unable to check for updates.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorUpdateContent" xml:space="preserve">
|
<data name="ErrorUpdateContent" xml:space="preserve">
|
||||||
<value>It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>).</value>
|
<value>It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>).</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ErrorUpdateContentGeneric" xml:space="preserve">
|
<data name="ErrorUpdateContentGeneric" xml:space="preserve">
|
||||||
<value>OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.</value>
|
<value>OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FullscreenMode" xml:space="preserve">
|
<data name="FullscreenMode" xml:space="preserve">
|
||||||
<value>Mode</value>
|
<value>Mode</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FullscreenModeAlwaysOnTop" xml:space="preserve">
|
<data name="FullscreenModeAlwaysOnTop" xml:space="preserve">
|
||||||
<value>Always on top</value>
|
<value>Always on top</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FullscreenModeAlwaysOnTopTT" xml:space="preserve">
|
<data name="FullscreenModeAlwaysOnTopTT" xml:space="preserve">
|
||||||
<value>Forces OnTopReplica to stay always on top.</value>
|
<value>Forces OnTopReplica to stay always on top.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FullscreenModeClickThrough" xml:space="preserve">
|
<data name="FullscreenModeClickThrough" xml:space="preserve">
|
||||||
<value>Click through</value>
|
<value>Click through</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FullscreenModeClickThroughTT" xml:space="preserve">
|
<data name="FullscreenModeClickThroughTT" xml:space="preserve">
|
||||||
<value>OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.</value>
|
<value>OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FullscreenModeNormal" xml:space="preserve">
|
<data name="FullscreenModeNormal" xml:space="preserve">
|
||||||
<value>Standard</value>
|
<value>Standard</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FullscreenModeNormalTT" xml:space="preserve">
|
<data name="FullscreenModeNormalTT" xml:space="preserve">
|
||||||
<value>Behaves like an ordinary window. You can bring other windows above OnTopReplica.</value>
|
<value>Behaves like an ordinary window. You can bring other windows above OnTopReplica.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FullscreenTitle" xml:space="preserve">
|
<data name="FullscreenTitle" xml:space="preserve">
|
||||||
<value>OnTopReplica fullscreen</value>
|
<value>OnTopReplica fullscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GroupSwitchModeDisableButton" xml:space="preserve">
|
<data name="GroupSwitchModeDisableButton" xml:space="preserve">
|
||||||
<value>Disable</value>
|
<value>Disable</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GroupSwitchModeEnableButton" xml:space="preserve">
|
<data name="GroupSwitchModeEnableButton" xml:space="preserve">
|
||||||
<value>Enable Group mode</value>
|
<value>Enable Group mode</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GroupSwitchModeStatusDisabled" xml:space="preserve">
|
<data name="GroupSwitchModeStatusDisabled" xml:space="preserve">
|
||||||
<value>Select multiple windows to enable.</value>
|
<value>Select multiple windows to enable.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GroupSwitchModeStatusEnabled" xml:space="preserve">
|
<data name="GroupSwitchModeStatusEnabled" xml:space="preserve">
|
||||||
<value>Group switch mode is enabled.</value>
|
<value>Group switch mode is enabled.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GroupSwitchModeTitle" xml:space="preserve">
|
<data name="GroupSwitchModeTitle" xml:space="preserve">
|
||||||
<value>Group switch mode:</value>
|
<value>Group switch mode:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GroupSwitchModeWindows" xml:space="preserve">
|
<data name="GroupSwitchModeWindows" xml:space="preserve">
|
||||||
<value>Windows</value>
|
<value>Windows</value>
|
||||||
<comment>Column Header of list, simply refers to available windows to be cloned</comment>
|
<comment>Column Header of list, simply refers to available windows to be cloned</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Homepage" xml:space="preserve">
|
<data name="Homepage" xml:space="preserve">
|
||||||
<value>Homepage: www.codeplex.com/ontopreplica.</value>
|
<value>Homepage: www.codeplex.com/ontopreplica.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoClickForwarding" xml:space="preserve">
|
<data name="InfoClickForwarding" xml:space="preserve">
|
||||||
<value>Do you want to enable "click forwarding"?</value>
|
<value>Do you want to enable "click forwarding"?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoClickForwardingContent" xml:space="preserve">
|
<data name="InfoClickForwardingContent" xml:space="preserve">
|
||||||
<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).
|
<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, push ESC.</value>
|
To exit this mode, push ESC.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoClickForwardingTitle" xml:space="preserve">
|
<data name="InfoClickForwardingTitle" xml:space="preserve">
|
||||||
<value>Click forwarding</value>
|
<value>Click forwarding</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoClickThrough" xml:space="preserve">
|
<data name="InfoClickThrough" xml:space="preserve">
|
||||||
<value>Enable Click-Through mode?</value>
|
<value>Enable Click-Through mode?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoClickThroughDetails" xml:space="preserve">
|
<data name="InfoClickThroughDetails" xml:space="preserve">
|
||||||
<value>Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.</value>
|
<value>Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoClickThroughInformation" xml:space="preserve">
|
<data name="InfoClickThroughInformation" xml:space="preserve">
|
||||||
<value>In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it.
|
<value>In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it.
|
||||||
|
|
||||||
To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).</value>
|
To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoClickThroughNo" xml:space="preserve">
|
<data name="InfoClickThroughNo" xml:space="preserve">
|
||||||
<value>No, thank you.
|
<value>No, thank you.
|
||||||
You can enable click-through later</value>
|
You can enable click-through later</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoClickThroughOk" xml:space="preserve">
|
<data name="InfoClickThroughOk" xml:space="preserve">
|
||||||
<value>Use Click-Through</value>
|
<value>Use Click-Through</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoClickThroughTitle" xml:space="preserve">
|
<data name="InfoClickThroughTitle" xml:space="preserve">
|
||||||
<value>Click-Through mode</value>
|
<value>Click-Through mode</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoUpdated" xml:space="preserve">
|
<data name="InfoUpdated" xml:space="preserve">
|
||||||
<value>OnTopReplica has been updated.</value>
|
<value>OnTopReplica has been updated.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoUpdatedContent" xml:space="preserve">
|
<data name="InfoUpdatedContent" xml:space="preserve">
|
||||||
<value>In order to use the updated version of OnTopReplica you'll have to restart the application.</value>
|
<value>In order to use the updated version of OnTopReplica you'll have to restart the application.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoUpdatedTitle" xml:space="preserve">
|
<data name="InfoUpdatedTitle" xml:space="preserve">
|
||||||
<value>Update successful</value>
|
<value>Update successful</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoUpToDate" xml:space="preserve">
|
<data name="InfoUpToDate" xml:space="preserve">
|
||||||
<value>OnTopReplica is up to date.</value>
|
<value>OnTopReplica is up to date.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InfoUpToDateTitle" xml:space="preserve">
|
<data name="InfoUpToDateTitle" xml:space="preserve">
|
||||||
<value>No update available</value>
|
<value>No update available</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Language" xml:space="preserve">
|
<data name="Language" xml:space="preserve">
|
||||||
<value>Language</value>
|
<value>Language</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuAbout" xml:space="preserve">
|
<data name="MenuAbout" xml:space="preserve">
|
||||||
<value>About...</value>
|
<value>About...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuAboutTT" xml:space="preserve">
|
<data name="MenuAboutTT" xml:space="preserve">
|
||||||
<value>Hides the main window and displays the "about" box.</value>
|
<value>Hides the main window and displays the "about" box.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuAdvanced" xml:space="preserve">
|
<data name="MenuAdvanced" xml:space="preserve">
|
||||||
<value>Advanced</value>
|
<value>Advanced</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuChrome" xml:space="preserve">
|
<data name="MenuChrome" xml:space="preserve">
|
||||||
<value>Show window border</value>
|
<value>Show window border</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuChromeTT" xml:space="preserve">
|
<data name="MenuChromeTT" xml:space="preserve">
|
||||||
<value>Toggles the display of the window border.</value>
|
<value>Toggles the display of the window border.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuClickForwarding" xml:space="preserve">
|
<data name="MenuClickForwarding" xml:space="preserve">
|
||||||
<value>Enable Click forwarding</value>
|
<value>Enable Click forwarding</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuClickForwardingTT" xml:space="preserve">
|
<data name="MenuClickForwardingTT" xml:space="preserve">
|
||||||
<value>Enable "click forwarding" to the cloned window.</value>
|
<value>Enable "click forwarding" to the cloned window.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuClickThrough" xml:space="preserve">
|
<data name="MenuClickThrough" xml:space="preserve">
|
||||||
<value>Enable Click-Through</value>
|
<value>Enable Click-Through</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuClickThroughTT" xml:space="preserve">
|
<data name="MenuClickThroughTT" xml:space="preserve">
|
||||||
<value>OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.</value>
|
<value>OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuClose" xml:space="preserve">
|
<data name="MenuClose" xml:space="preserve">
|
||||||
<value>Close</value>
|
<value>Close</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuCloseTT" xml:space="preserve">
|
<data name="MenuCloseTT" xml:space="preserve">
|
||||||
<value>Closes OnTopReplica.</value>
|
<value>Closes OnTopReplica.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuFitDouble" xml:space="preserve">
|
<data name="MenuFitDouble" xml:space="preserve">
|
||||||
<value>2:1 Double</value>
|
<value>2:1 Double</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuFitFullscreen" xml:space="preserve">
|
<data name="MenuFitFullscreen" xml:space="preserve">
|
||||||
<value>Fullscreen</value>
|
<value>Fullscreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuFitHalf" xml:space="preserve">
|
<data name="MenuFitHalf" xml:space="preserve">
|
||||||
<value>1:2 Half</value>
|
<value>1:2 Half</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuFitOriginal" xml:space="preserve">
|
<data name="MenuFitOriginal" xml:space="preserve">
|
||||||
<value>1:1 Fit to window</value>
|
<value>1:1 Fit to window</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuFitQuarter" xml:space="preserve">
|
<data name="MenuFitQuarter" xml:space="preserve">
|
||||||
<value>1:4 Quarter</value>
|
<value>1:4 Quarter</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuGlass" xml:space="preserve">
|
<data name="MenuGlass" xml:space="preserve">
|
||||||
<value>Glass</value>
|
<value>Glass</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuGlassTT" xml:space="preserve">
|
<data name="MenuGlassTT" xml:space="preserve">
|
||||||
<value>Toggles "glass mode" on and off.</value>
|
<value>Toggles "glass mode" on and off.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuGroupSwitch" xml:space="preserve">
|
<data name="MenuGroupSwitch" xml:space="preserve">
|
||||||
<value>Group Switch mode</value>
|
<value>Group Switch mode</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuGroupSwitchTT" xml:space="preserve">
|
<data name="MenuGroupSwitchTT" xml:space="preserve">
|
||||||
<value>OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.</value>
|
<value>OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOp100" xml:space="preserve">
|
<data name="MenuOp100" xml:space="preserve">
|
||||||
<value>100% (opaque)</value>
|
<value>100% (opaque)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOp100TT" xml:space="preserve">
|
<data name="MenuOp100TT" xml:space="preserve">
|
||||||
<value>Sets OnTopReplica to be completely opaque.</value>
|
<value>Sets OnTopReplica to be completely opaque.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOp25" xml:space="preserve">
|
<data name="MenuOp25" xml:space="preserve">
|
||||||
<value>25%</value>
|
<value>25%</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOp25TT" xml:space="preserve">
|
<data name="MenuOp25TT" xml:space="preserve">
|
||||||
<value>Sets OnTopReplica to 25% opacity.</value>
|
<value>Sets OnTopReplica to 25% opacity.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOp50" xml:space="preserve">
|
<data name="MenuOp50" xml:space="preserve">
|
||||||
<value>50%</value>
|
<value>50%</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOp50TT" xml:space="preserve">
|
<data name="MenuOp50TT" xml:space="preserve">
|
||||||
<value>Sets OnTopReplica to 50% opacity.</value>
|
<value>Sets OnTopReplica to 50% opacity.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOp75" xml:space="preserve">
|
<data name="MenuOp75" xml:space="preserve">
|
||||||
<value>75%</value>
|
<value>75%</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOp75TT" xml:space="preserve">
|
<data name="MenuOp75TT" xml:space="preserve">
|
||||||
<value>Sets OnTopReplica to 75% opacity.</value>
|
<value>Sets OnTopReplica to 75% opacity.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOpacity" xml:space="preserve">
|
<data name="MenuOpacity" xml:space="preserve">
|
||||||
<value>Opacity</value>
|
<value>Opacity</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOpen" xml:space="preserve">
|
<data name="MenuOpen" xml:space="preserve">
|
||||||
<value>Open</value>
|
<value>Open</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuOpenTT" xml:space="preserve">
|
<data name="MenuOpenTT" xml:space="preserve">
|
||||||
<value>Displays OnTopReplica.</value>
|
<value>Displays OnTopReplica.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuPosBottomLeft" xml:space="preserve">
|
<data name="MenuPosBottomLeft" xml:space="preserve">
|
||||||
<value>Bottom Left</value>
|
<value>Bottom Left</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuPosBottomRight" xml:space="preserve">
|
<data name="MenuPosBottomRight" xml:space="preserve">
|
||||||
<value>Bottom Right</value>
|
<value>Bottom Right</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuPosCenter" xml:space="preserve">
|
<data name="MenuPosCenter" xml:space="preserve">
|
||||||
<value>Center</value>
|
<value>Center</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuPosDisabled" xml:space="preserve">
|
<data name="MenuPosDisabled" xml:space="preserve">
|
||||||
<value>Disabled</value>
|
<value>Disabled</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuPosition" xml:space="preserve">
|
<data name="MenuPosition" xml:space="preserve">
|
||||||
<value>Position lock</value>
|
<value>Position lock</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuPositionTT" xml:space="preserve">
|
<data name="MenuPositionTT" xml:space="preserve">
|
||||||
<value>Automatically position OnTopReplica on the current screen.</value>
|
<value>Automatically position OnTopReplica on the current screen.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuPosTopLeft" xml:space="preserve">
|
<data name="MenuPosTopLeft" xml:space="preserve">
|
||||||
<value>Top Left</value>
|
<value>Top Left</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuPosTopRight" xml:space="preserve">
|
<data name="MenuPosTopRight" xml:space="preserve">
|
||||||
<value>Top Right</value>
|
<value>Top Right</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuQuitFullscreen" xml:space="preserve">
|
<data name="MenuQuitFullscreen" xml:space="preserve">
|
||||||
<value>Quit fullscreen mode</value>
|
<value>Quit fullscreen mode</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuRecall" xml:space="preserve">
|
<data name="MenuRecall" xml:space="preserve">
|
||||||
<value>Recall last position and size</value>
|
<value>Recall last position and size</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuRecallTT" xml:space="preserve">
|
<data name="MenuRecallTT" xml:space="preserve">
|
||||||
<value>Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.</value>
|
<value>Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuReduce" xml:space="preserve">
|
<data name="MenuReduce" xml:space="preserve">
|
||||||
<value>Minimize</value>
|
<value>Minimize</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuReduceTT" xml:space="preserve">
|
<data name="MenuReduceTT" xml:space="preserve">
|
||||||
<value>Minimizes OnTopReplica to the task bar (or the tray).</value>
|
<value>Minimizes OnTopReplica to the task bar (or the tray).</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuRegion" xml:space="preserve">
|
<data name="MenuRegion" xml:space="preserve">
|
||||||
<value>Select region...</value>
|
<value>Select region...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuRegionTT" xml:space="preserve">
|
<data name="MenuRegionTT" xml:space="preserve">
|
||||||
<value>Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.</value>
|
<value>Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuReset" xml:space="preserve">
|
<data name="MenuReset" xml:space="preserve">
|
||||||
<value>Reset window</value>
|
<value>Reset window</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuResetTT" xml:space="preserve">
|
<data name="MenuResetTT" xml:space="preserve">
|
||||||
<value>Resets OnTopReplica settings and its main window.</value>
|
<value>Resets OnTopReplica settings and its main window.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuResize" xml:space="preserve">
|
<data name="MenuResize" xml:space="preserve">
|
||||||
<value>Resize</value>
|
<value>Resize</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuSwitch" xml:space="preserve">
|
<data name="MenuSwitch" xml:space="preserve">
|
||||||
<value>Switch to window</value>
|
<value>Switch to window</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuSwitchTT" xml:space="preserve">
|
<data name="MenuSwitchTT" xml:space="preserve">
|
||||||
<value>Switches to the source window and hides OnTopReplica.</value>
|
<value>Switches to the source window and hides OnTopReplica.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuWindows" xml:space="preserve">
|
<data name="MenuWindows" xml:space="preserve">
|
||||||
<value>Select window</value>
|
<value>Select window</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuWindowsNone" xml:space="preserve">
|
<data name="MenuWindowsNone" xml:space="preserve">
|
||||||
<value>- none -</value>
|
<value>- none -</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuWindowsTT" xml:space="preserve">
|
<data name="MenuWindowsTT" xml:space="preserve">
|
||||||
<value>Displays a list of window you can select as thumbnail source.</value>
|
<value>Displays a list of window you can select as thumbnail source.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MenuWindowsWholeRegion" xml:space="preserve">
|
<data name="MenuWindowsWholeRegion" xml:space="preserve">
|
||||||
<value>- whole -</value>
|
<value>- whole -</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RegionsCurrentRegion" xml:space="preserve">
|
<data name="RegionsCurrentRegion" xml:space="preserve">
|
||||||
<value>Current region:</value>
|
<value>Current region:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RegionsDeleteButton" xml:space="preserve">
|
<data name="RegionsDeleteButton" xml:space="preserve">
|
||||||
<value>Delete</value>
|
<value>Delete</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RegionsDoneButton" xml:space="preserve">
|
<data name="RegionsDoneButton" xml:space="preserve">
|
||||||
<value>Done</value>
|
<value>Done</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RegionsHeight" xml:space="preserve">
|
<data name="RegionsHeight" xml:space="preserve">
|
||||||
<value>Height</value>
|
<value>Height</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RegionsResetButton" xml:space="preserve">
|
<data name="RegionsResetButton" xml:space="preserve">
|
||||||
<value>Reset</value>
|
<value>Reset</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RegionsSaveButton" xml:space="preserve">
|
<data name="RegionsSaveButton" xml:space="preserve">
|
||||||
<value>Save</value>
|
<value>Save</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RegionsStoredRegions" xml:space="preserve">
|
<data name="RegionsStoredRegions" xml:space="preserve">
|
||||||
<value>Stored regions</value>
|
<value>Stored regions</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RegionsTitle" xml:space="preserve">
|
<data name="RegionsTitle" xml:space="preserve">
|
||||||
<value>Regions:</value>
|
<value>Regions:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RegionsWidth" xml:space="preserve">
|
<data name="RegionsWidth" xml:space="preserve">
|
||||||
<value>Width</value>
|
<value>Width</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RightClick" xml:space="preserve">
|
<data name="RightClick" xml:space="preserve">
|
||||||
<value>Right-click here to start...</value>
|
<value>Right-click here to start...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Slogan" xml:space="preserve">
|
<data name="Slogan" xml:space="preserve">
|
||||||
<value>A lightweight, real-time, always on top thumbnail of a window of your choice.</value>
|
<value>A lightweight, real-time, always on top thumbnail of a window of your choice.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UpdateDisclaimer" xml:space="preserve">
|
<data name="UpdateDisclaimer" xml:space="preserve">
|
||||||
<value>OnTopReplica automatically checks for updates. No information is logged at any point.</value>
|
<value>OnTopReplica automatically checks for updates. No information is logged at any point.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UpdateNow" xml:space="preserve">
|
<data name="UpdateNow" xml:space="preserve">
|
||||||
<value>Update now!</value>
|
<value>Update now!</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="MenuSettings" xml:space="preserve">
|
||||||
|
<value>Settings...</value>
|
||||||
|
</data>
|
||||||
|
<data name="MenuSettingsTT" xml:space="preserve">
|
||||||
|
<value>Displays the settings panel.</value>
|
||||||
|
</data>
|
||||||
|
<data name="MenuRestoreLast" xml:space="preserve">
|
||||||
|
<value>Restore last cloned window</value>
|
||||||
|
</data>
|
||||||
|
<data name="MenuRestoreLastTT" xml:space="preserve">
|
||||||
|
<value>When enabled, OnTopReplica will attempt to restore the last cloned window on start up.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
Loading…
Reference in a new issue