Added Czech translation.

Some code refactoring.
This commit is contained in:
Lorenz Cuno Klopfenstein 2010-03-31 20:17:08 +02:00
parent a649deb174
commit ee7f86b704
10 changed files with 638 additions and 17 deletions

View file

@ -2,3 +2,4 @@ glob:OnTopReplica.suo
glob:bin/*
glob:obj/*
glob:publish/*
glob:OnTopReplica/Assets/Thumbs.db

View file

@ -60,8 +60,14 @@ namespace OnTopReplica {
/// Forces the form to update its height based on the current aspect ratio setting.
/// </summary>
public void RefreshAspectRatio() {
ClientSize = new Size(ClientSize.Width,
(int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical);
int newWidth = ClientSize.Width;
int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical;
if (newHeight < FromSizeToClientSize(MinimumSize).Height) {
newHeight = FromSizeToClientSize(MinimumSize).Height;
newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal;
}
ClientSize = new Size(newWidth, newHeight);
}
/// <summary>
@ -127,6 +133,35 @@ namespace OnTopReplica {
base.WndProc(ref m);
}
#region ClientSize/Size conversion
//bool clientSizeConversionSet = false;
int clientSizeConversionWidth, clientSizeConversionHeight;
public Size FromClientSizeToSize(Size clientSize) {
return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight);
}
public Size FromSizeToClientSize(Size size) {
return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight);
}
/*private void ClientSizeInit() {
if (clientSizeConversionSet)
return;
clientSizeConversionWidth = this.Size.Width - this.ClientSize.Width;
clientSizeConversionHeight = this.ClientSize.Width - this.ClientSize.Height;
}*/
protected override void OnShown(EventArgs e) {
base.OnShown(e);
clientSizeConversionWidth = this.Size.Width - this.ClientSize.Width;
clientSizeConversionHeight = this.Size.Height - this.ClientSize.Height;
}
#endregion
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

View file

@ -64,6 +64,7 @@
this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components);
this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.cestinaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem();
this.menuIconContext = new System.Windows.Forms.ContextMenuStrip(this.components);
@ -381,7 +382,8 @@
//
this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.englishToolStripMenuItem,
this.italianoToolStripMenuItem});
this.italianoToolStripMenuItem,
this.cestinaToolStripMenuItem});
this.menuLanguages.Name = "menuLanguages";
this.menuLanguages.OwnerItem = this.languageToolStripMenuItem;
this.menuLanguages.Size = new System.Drawing.Size(114, 48);
@ -404,6 +406,15 @@
this.italianoToolStripMenuItem.Text = "Italiano";
this.italianoToolStripMenuItem.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(113, 22);
this.cestinaToolStripMenuItem.Tag = "cs-CZ";
this.cestinaToolStripMenuItem.Text = "Čeština";
this.cestinaToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click);
//
// aboutToolStripMenuItem
//
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
@ -525,6 +536,7 @@
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 chromeToolStripMenuItem;
}
}

View file

@ -398,7 +398,7 @@ namespace OnTopReplica
}
void Menu_Windows_itemclick(object sender, EventArgs e) {
//Insure the menu is closed
//Ensure the menu is closed
menuContext.Close();
//Get clicked item and window index from tag
@ -411,7 +411,6 @@ namespace OnTopReplica
}
var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag;
if (_windowManager != null) {
ThumbnailSet(selectionData.Handle, selectionData.Region);
}

View file

@ -135,6 +135,7 @@
<DependentUpon>AboutForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Strings.cs.resx" />
<EmbeddedResource Include="Strings.it.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Strings.it.Designer.cs</LastGenOutput>
@ -256,6 +257,7 @@
<None Include="Assets\component.png" />
<None Include="Assets\flag_usa.png" />
<None Include="Assets\flag_ita.png" />
<None Include="Assets\flag_czech.png" />
<Content Include="Assets\icon.ico" />
<None Include="Assets\regions.png" />
<None Include="OnTopReplica_TemporaryKey.pfx" />

View file

@ -81,6 +81,13 @@ namespace OnTopReplica.Properties {
}
}
internal static System.Drawing.Bitmap flag_czech {
get {
object obj = ResourceManager.GetObject("flag_czech", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap flag_ita {
get {
object obj = ResourceManager.GetObject("flag_ita", resourceCulture);

View file

@ -193,4 +193,7 @@
<data name="regions" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\regions.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="flag_czech" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View file

@ -0,0 +1,571 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- author: René Mihula, rene.mihula@gmail.com -->
<!-- email: rene.mihula@gmail.com -->
<!-- date: 2010-03-31 -->
<!-- language: czech -->
<!-- locale: cs Czech -->
<!-- locale: cs-CZ Czech (Czech Republic) -->
<!-- menu caption: Čeština -->
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
</data>
<data name="AskReset" xml:space="preserve">
<value>Resetovat nastavení okna?</value>
</data>
<data name="AskResetButtonOk" xml:space="preserve">
<value>&amp;Resetovat
Všechna nastavení budou ztracena.</value>
</data>
<data name="AskResetContent" xml:space="preserve">
<value>Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky.</value>
</data>
<data name="AskResetTitle" xml:space="preserve">
<value>Resetovat</value>
</data>
<data name="ButtonCancel" xml:space="preserve">
<value>&amp;Storno</value>
</data>
<data name="CreatedBy" xml:space="preserve">
<value>Autor: Lorenz Cuno Klopfenstein.</value>
</data>
<data name="DrawRegions" xml:space="preserve">
<value>Označte výřez pomocí myši.</value>
</data>
<data name="ErrorDetailsAero" xml:space="preserve">
<value>Podrobnosti k Windows Aero</value>
</data>
<data name="ErrorDetailsAeroInfo" xml:space="preserve">
<value>Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších.</value>
</data>
<data name="ErrorDwmOff" xml:space="preserve">
<value>Funkce 'Desktop Composition' není povolena.</value>
</data>
<data name="ErrorDwmOffContent" xml:space="preserve">
<value>Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows.
Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit".</value>
</data>
<data name="ErrorGenericInfoButton" xml:space="preserve">
<value>Podrobnosti k chybě</value>
</data>
<data name="ErrorGenericInfoText" xml:space="preserve">
<value>Chyba: </value>
</data>
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
<value>Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů.</value>
</data>
<data name="ErrorGenericTitle" xml:space="preserve">
<value>Chyba</value>
</data>
<data name="ErrorNoDwm" xml:space="preserve">
<value>Funkce 'Desktop Composition' není ve vašem systému podporována.
Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších.</value>
</data>
<data name="ErrorNoDwmTitle" xml:space="preserve">
<value>Funkce Desktop Composition není podporována</value>
</data>
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
<value>Nelze vytvořit náhled.</value>
</data>
<data name="ErrorUnableToFit" xml:space="preserve">
<value>Nelze vložit okno.</value>
</data>
<data name="Homepage" xml:space="preserve">
<value>Domácí stránka: www.codeplex.com/ontopreplica.</value>
</data>
<data name="MenuAbout" xml:space="preserve">
<value>O aplikaci...</value>
</data>
<data name="MenuAboutTT" xml:space="preserve">
<value>Skryje hlavní okno a zobrazí informace "O aplikaci".</value>
</data>
<data name="MenuAutofit" xml:space="preserve">
<value>Přizpůsobit po změně velikosti</value>
</data>
<data name="MenuAutofitTT" xml:space="preserve">
<value>Automaticky přizpůsobuje rozměr okna velikosti náhledu při změně velikosti okna.</value>
</data>
<data name="MenuClose" xml:space="preserve">
<value>Zavřít</value>
</data>
<data name="MenuCloseTT" xml:space="preserve">
<value>Ukončí aplikaci OnTopReplica.</value>
</data>
<data name="MenuFitDouble" xml:space="preserve">
<value>2:1 Dvojnásobná</value>
</data>
<data name="MenuFitFullscreen" xml:space="preserve">
<value>Celá obrazovka</value>
</data>
<data name="MenuFitHalf" xml:space="preserve">
<value>1:2 Poloviční</value>
</data>
<data name="MenuFitOriginal" xml:space="preserve">
<value>1:1 Jako zdroj</value>
</data>
<data name="MenuFitQuarter" xml:space="preserve">
<value>1:4 Čtvrtinová</value>
</data>
<data name="MenuGlass" xml:space="preserve">
<value>Glass efekt</value>
</data>
<data name="MenuGlassTT" xml:space="preserve">
<value>Přepíná "glass efekt" okna.</value>
</data>
<data name="MenuOp100" xml:space="preserve">
<value>100% (neprůhledné)</value>
</data>
<data name="MenuOp100TT" xml:space="preserve">
<value>Nastaví aplikaci OnTopReplica jako neprůhlednou.</value>
</data>
<data name="MenuOp25" xml:space="preserve">
<value>25%</value>
</data>
<data name="MenuOp25TT" xml:space="preserve">
<value>Nastaví průhlednost na 25%.</value>
</data>
<data name="MenuOp50" xml:space="preserve">
<value>50%</value>
</data>
<data name="MenuOp50TT" xml:space="preserve">
<value>Nastaví průhlednost na 50%.</value>
</data>
<data name="MenuOp75" xml:space="preserve">
<value>75%</value>
</data>
<data name="MenuOp75TT" xml:space="preserve">
<value>Nastaví průhlednost na 75%.</value>
</data>
<data name="MenuOpacity" xml:space="preserve">
<value>Průhlednost</value>
</data>
<data name="MenuOpen" xml:space="preserve">
<value>Otevřít</value>
</data>
<data name="MenuOpenTT" xml:space="preserve">
<value>Zobrazí aplikaci OnTopReplica.</value>
</data>
<data name="MenuPosBottomLeft" xml:space="preserve">
<value>Dolní levý roh</value>
</data>
<data name="MenuPosBottomRight" xml:space="preserve">
<value>Dolní pravý roh</value>
</data>
<data name="MenuPosition" xml:space="preserve">
<value>Umístění</value>
</data>
<data name="MenuPositionTT" xml:space="preserve">
<value>Automatická pozice aplikace OnTopReplica vzhledem k obrazovce.</value>
</data>
<data name="MenuPosTopLeft" xml:space="preserve">
<value>Horní levý roh</value>
</data>
<data name="MenuPosTopRight" xml:space="preserve">
<value>Horní pravý rok</value>
</data>
<data name="MenuRecall" xml:space="preserve">
<value>Ukládat pozici a velikost okna</value>
</data>
<data name="MenuRecallTT" xml:space="preserve">
<value>Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace.</value>
</data>
<data name="MenuReduce" xml:space="preserve">
<value>Minimalizovat do traye</value>
</data>
<data name="MenuReduceTT" xml:space="preserve">
<value>Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti.</value>
</data>
<data name="MenuRegion" xml:space="preserve">
<value>Vybrat výřez...</value>
</data>
<data name="MenuRegionTT" xml:space="preserve">
<value>Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled.</value>
</data>
<data name="MenuReset" xml:space="preserve">
<value>Resetovat nastavení okna</value>
</data>
<data name="MenuResetTT" xml:space="preserve">
<value>Resetuje nastavení a pozici okna aplikace OnTopReplica.</value>
</data>
<data name="MenuResize" xml:space="preserve">
<value>Velikost</value>
</data>
<data name="MenuSwitch" xml:space="preserve">
<value>Přepnout do okna</value>
</data>
<data name="MenuSwitchTT" xml:space="preserve">
<value>Přepne do zdrojového okna a skryje aplikaci OnTopReplica.</value>
</data>
<data name="MenuWindows" xml:space="preserve">
<value>Vybrat okno</value>
</data>
<data name="MenuWindowsNone" xml:space="preserve">
<value>- žádné -</value>
</data>
<data name="MenuWindowsTT" xml:space="preserve">
<value>Zobrazí seznam oken, které je možné použít jako zdroj.</value>
</data>
<data name="RightClick" xml:space="preserve">
<value>Začněte klepnutím sem pravým tlačítkem myši...</value>
</data>
<data name="Slogan" xml:space="preserve">
<value>Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému.</value>
</data>
<data name="UpdateDisclaimer" xml:space="preserve">
<value>Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. Během této operace nedochází k žádnému přenosu či ukládání uživatelských informací.</value>
</data>
<data name="UpdateNow" xml:space="preserve">
<value>Zkontroluj aktualizace</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Instalovat OnTopReplica {0}?</value>
</data>
<data name="AskUpdateButtonCancel" xml:space="preserve">
<value>Zrušit aktualizaci
Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu.</value>
</data>
<data name="AskUpdateButtonOk" xml:space="preserve">
<value>Pokračovat
Instalovat OnTopReplica {0}.</value>
</data>
<data name="AskUpdateContent" xml:space="preserve">
<value>Nová verze bude automaticky stažena a nainstalována.</value>
</data>
<data name="AskUpdateExpanded" xml:space="preserve">
<value>Nainstalovaná verze: {0}
Dostupná verze: {1}
Velikost pro stažení: {2} bajtů</value>
</data>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Nové aktualizace jsou k dispozici</value>
</data>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Podrobnosti</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>Náhled nebyl nahrán.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Kontrola aktualizací se nezdařila.</value>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte &lt;a href="http://www.codeplex.com/ontopreplica"&gt;domácí stránku aplikace OnTopReplica&lt;/a&gt;).</value>
</data>
<data name="InfoUpdated" xml:space="preserve">
<value>Aplikace OnTopReplica byla aktualizována.</value>
</data>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat.</value>
</data>
<data name="InfoUpdatedTitle" xml:space="preserve">
<value>Aktualizace proběhla úspěšně</value>
</data>
<data name="InfoUpToDate" xml:space="preserve">
<value>OnTopReplica je aktuální.</value>
</data>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>Žádná aktualizace není k dispozici.</value>
</data>
<data name="InfoClickThrough" xml:space="preserve">
<value>Povolit "Proklikávání" v celoobrazovkovém režimu?</value>
</data>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>"Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost.</value>
</data>
<data name="InfoClickThroughInformation" xml:space="preserve">
<value>V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna.
K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye).</value>
</data>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Režim "Proklikávání"</value>
</data>
<data name="MenuResizeClickThrough" xml:space="preserve">
<value>Proklikávání</value>
</data>
<data name="MenuResizeClickThroughTT" xml:space="preserve">
<value>Pokud je v celoobrazovkovém režimu oknu nastavena průhlednost, budou jednotlivá kliknutí myší "propadat" do oken za ním.</value>
</data>
<data name="InfoClickThroughNo" xml:space="preserve">
<value>Ne, použij standardní celoobrazovkový režim
Režim "Proklikávání" je možné zvolit později v menu</value>
</data>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Používat "Proklikávání"</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Přeposílání kliknutí</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Zapne "přeposílání kliknutí" do zdrojového okna.</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Opustit celoobrazovkový režim</value>
</data>
<data name="Language" xml:space="preserve">
<value>Jazyk</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Výřezy</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Uložit</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Smazat</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Aktuální výřez:</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Šířka</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Výška</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Reset</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Hotovo</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Uložené výřezy</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Přejete si povolit "přeposílání kliknutí"?</value>
</data>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Přeposílání kliknutí</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
<value>V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat).
Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu.</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Resetovat nastavení?</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny).</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Resetovat nastavení</value>
</data>
<data name="AboutButtonCancelTT" xml:space="preserve">
<value>Přerušit aktualizaci.</value>
</data>
<data name="AboutButtonExpanderTT" xml:space="preserve">
<value>Zobrazit podrobnosti o aplikaci OnTopReplica.</value>
</data>
<data name="AboutButtonResetTT" xml:space="preserve">
<value>Resetovat nastavení OnTopReplica.</value>
</data>
<data name="AboutButtonUpdateTT" xml:space="preserve">
<value>Aktualizovat OnTopReplica.</value>
</data>
<data name="AboutDetails" xml:space="preserve">
<value>&lt;html&gt;
&lt;head&gt;
&lt;style type="text/css"&gt;
body {
font-family: Segoe UI, Arial, sans-serif;
font-size: 0.8em;
margin: 0;
padding: 0.75em;
}
h1 {
font-size: 1.4em;
font-weight: bold;
margin: 1em 0 0.4em 0;
padding: 0;
}
p {
margin: 0.5em 0 0.5em 1em;
padding: 0;
}
a {
font-weight: bold;
color: blue;
}
a:hover {
color: red;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Licence&lt;/h1&gt;
&lt;p&gt;&lt;b&gt;OnTopReplica&lt;/b&gt; je šířena pod &lt;a href="http://opensource.org/licenses/ms-rl.html"&gt;Microsoft Reciprocal License (Ms-RL)&lt;/a&gt; licencí.&lt;/p&gt;
&lt;p&gt;Původní zdrojový kód je možné nalézt na &lt;a href="http://www.codeplex.com/ontopreplica"&gt;domovské stránce projektu na serveru CodePlex&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Autoři a zásluhy&lt;/h1&gt;
&lt;p&gt;Původní inspirací pro OnTopReplica byla aplikace &lt;a href="http://insentient.net"&gt;Switcher&lt;/a&gt; a další aplikace založeny na DWM.&lt;/p&gt;
&lt;p&gt;Všechny Vista ovládací prvky jsou součástí &lt;a href="http://www.codeplex.com/windowsformsaero"&gt;knihovny WindowsFormsAero&lt;/a&gt; pro .NET.&lt;/p&gt;
&lt;p&gt;Některé ukázkové kódy byly převzaty z &lt;a href="http://www.ookii.org"&gt;Ookii&lt;/a&gt; ze serveru Channel9.&lt;/p&gt;
&lt;p&gt;Třída NativeToolstripRenderer byla převzata z &lt;a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/"&gt;asztal.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Některé ikony pocházejí z &lt;a href="http://www.vistaico.com"&gt;VistaICO.com&lt;/a&gt; a balíčku ikon Xiao.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</value>
</data>
<data name="MenuWindowsWholeRegion" xml:space="preserve">
<value>- celé okno -</value>
</data>
<data name="FullscreenTitle" xml:space="preserve">
<value>Aplikace OnTopReplica přes celou obrazovku</value>
</data>
<data name="FullscreenMode" xml:space="preserve">
<value>Režim</value>
</data>
<data name="FullscreenModeAlwaysOnTop" xml:space="preserve">
<value>Vždy na vrchu</value>
</data>
<data name="FullscreenModeAlwaysOnTopTT" xml:space="preserve">
<value>Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu.</value>
</data>
<data name="FullscreenModeClickThrough" xml:space="preserve">
<value>Proklikávání</value>
</data>
<data name="FullscreenModeClickThroughTT" xml:space="preserve">
<value>Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken.</value>
</data>
<data name="FullscreenModeNormal" xml:space="preserve">
<value>Standardní</value>
</data>
<data name="FullscreenModeNormalTT" xml:space="preserve">
<value>Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace.</value>
</data>
<data name="MenuChrome" xml:space="preserve">
<value>Okraj</value>
</data>
<data name="MenuChromeTT" xml:space="preserve">
<value>Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna.</value>
</data>
</root>

View file

@ -131,6 +131,7 @@ namespace OnTopReplica {
Cursor = (value) ? Cursors.Cross : Cursors.Default;
UpdateThubmnail();
this.Invalidate();
}
}
@ -207,15 +208,9 @@ namespace OnTopReplica {
thumbnailSize = ComputeIdealSize(sourceSize, Size);
padHeight = (Size.Height - thumbnailSize.Height) / 2;
/*padWidth = (Size.Width - thumbnailSize.Width) / 2;
padHeight = (Size.Height - thumbnailSize.Height) / 2;
Rectangle target = new Rectangle(padWidth, padHeight, thumbnailSize.Width, thumbnailSize.Height);*/
var target = new Rectangle(0, padHeight, thumbnailSize.Width, thumbnailSize.Height);
Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize);
//Console.WriteLine("Source " + sourceSize.ToString() + ", Target " + Size.ToString() + ", Fit " + thumbnailSize.ToString() + ", Padding " + padWidth + "," + padHeight);
_thumbnail.Update(target, source, ThumbnailOpacity, true, true);
}
catch {
@ -235,11 +230,7 @@ namespace OnTopReplica {
double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height;
double clientRatio = (double)clientSize.Width / (double)clientSize.Height;
Size ret;
//if(sourceRatio >= clientRatio)
ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio));
/*else
ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height);*/
Size ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio));
return ret;
}
@ -247,7 +238,7 @@ namespace OnTopReplica {
/// <summary>Updates the right-click labels.</summary>
/// <remarks>If a thumbnail is shown no label will be visible. If no thumbnail is active, the correct label will be visible.</remarks>
private void UpdateRightClickLabels(){
if (_thumbnail != null && !_thumbnail.IsInvalid /*&& !_drawMouseRegions*/) {
if (_thumbnail != null && !_thumbnail.IsInvalid) {
//Thumbnail active and no region drawing
_labelGlass.Visible = false;
_labelNoGlass.Visible = false;