|
From: <nic...@us...> - 2014-05-12 14:52:45
|
Revision: 4804
http://sourceforge.net/p/mp-plugins/code/4804
Author: nicsergio
Date: 2014-05-12 14:52:42 +0000 (Mon, 12 May 2014)
Log Message:
-----------
Modified Paths:
--------------
trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs
Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs 2014-05-12 08:46:12 UTC (rev 4803)
+++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs 2014-05-12 14:52:42 UTC (rev 4804)
@@ -81,7 +81,7 @@
#endregion
#region Metodi Pubblici
- public bool Go() { return Go(null); } //Visualizzazione finestra del collegamento (senza log)
+ public bool Go() { return Go(null); } //Visualizzazione finestra del collegamento (senza delegato per log)
public bool Go(LogEventHandler Log) //Visualizzazione finestra del collegamento
{
if (_caption.Length > 0 && Log != null)
@@ -138,7 +138,7 @@
return false; //--> comando non completato
}
}
- public bool GoPrevious() { return GoPrevious(null); } //Ritorno alla finestra precedente (senza log)
+ public bool GoPrevious() { return GoPrevious(null); } //Ritorno alla finestra precedente (senza delegato per log)
public bool GoPrevious(LogEventHandler Log) //Ritorno alla finestra precedente
{
if (_caption.Length > 0 && Log != null)
@@ -304,7 +304,7 @@
#endregion
#region Metodi Pubblici
- public bool Go() { return Go(null); } //Visualizzazione finestra del collegamento (senza log)
+ public bool Go() { return Go(null); } //Visualizzazione finestra del collegamento (senza delegato per log)
public bool Go(LogEventHandler Log) //Visualizzazione finestra del collegamento
{
if (_caption.Length > 0 && Log != null)
@@ -313,7 +313,7 @@
Play(); //--> eventuale effetto sonoro
return _destination.Go(Log); //--> visualizzazione finestra di destinazione
}
- public bool GoPrevious() { return GoPrevious(null); } //Ritorno alla finestra precedente (senza log)
+ public bool GoPrevious() { return GoPrevious(null); } //Ritorno alla finestra precedente (senza delegato per log)
public bool GoPrevious(LogEventHandler Log) //Ritorno alla finestra precedente
{
if (_caption.Length > 0 && Log != null)
@@ -387,6 +387,35 @@
public class SkinNavigator //Sotto-classe di gestione Skin Navigator
{
#region Classi
+ public class GeneralSettings //Sotto-classe di gestione impostazioni generali Skin Navigator
+ {
+ #region Dati
+ private string _menuHeader; //Titolo menu di navigazione
+ private bool _showSeparator; //Visualizzazione separatore gruppi di destinazioni
+ private string _separator; //Eventuale separatore da visualizzare
+ private bool _showNumbers; //Visualizzazione numeri cossispondenti a voci menu (per accesso da telecomando)
+ private bool _removeDuplicates; //Rimozione destinazioni duplicate
+ #endregion
+
+ #region Costruttore
+ public GeneralSettings() //Costruttore classe GeneralSettings
+ {
+ _menuHeader = "Skin Navigator"; //--> titolo menu di navigazione
+ _showSeparator = true; //--> visualizzazione separatore attiva
+ _separator = "-- -- -- -- -- --"; //--> separatore da visualizzare
+ _showNumbers = true; //--> visualizzazione numeri cossispondenti a voci menu
+ _removeDuplicates = true; //--> rimozione di destinazioni duplicate
+ }
+ #endregion
+
+ #region Proprietà
+ public string MenuHeader { get { return this._menuHeader; } set { this._menuHeader = value; } }
+ public bool ShowSeparator { get { return this._showSeparator; } set { this._showSeparator = value; } }
+ public string Separator { get { return this._separator; } set { this._separator = value; } }
+ public bool ShowNumbers { get { return this._showNumbers; } set { this._showNumbers = value; } }
+ public bool RemoveDuplicates { get { return this._removeDuplicates; } set { this._removeDuplicates = value; } }
+ #endregion
+ }
public class Item //Sotto-classe elemento per navigazione
{
#region Classi
@@ -415,7 +444,7 @@
#endregion
}
public class Destination : WindowLink //Sotto-classe destinazione di navigazione
- {
+ {
#region Dati
private bool _force; //Forzatura destinazione
#endregion
@@ -463,55 +492,25 @@
#endregion
#region Dati
- private string _menuHeader; //Titolo menu di navigazione
- private bool _showSeparator; //Visualizzazione separatore gruppi di destinazioni
- private string _separator; //Eventuale separatore da visualizzare
- private bool _showNumbers; //Visualizzazione numeri cossispondenti a voci menu (per accesso da telecomando)
- private bool _removeDuplicates; //Rimozione destinazioni duplicate
+ private GeneralSettings _general; //Impostazioni generali
private BindingList<Item> _items; //Lista (con associazione dati) elementi di navigazione
+ private readonly LogEventHandler Log;
#endregion
#region Costruttore
- public SkinNavigator() //Costruttore classe NavigatorSettings
+ public SkinNavigator() : this(null) { } //Costruttore classe SkinNavigator (senza delegato per log)
+ public SkinNavigator(LogEventHandler LogHandler) //Costruttore classe SkinNavigator
{
- _menuHeader = "Skin Navigator"; //--> titolo menu di navigazione
- _showSeparator = true; //--> visualizzazione separatore attiva
- _separator = "-- -- -- -- -- --"; //--> separatore da visualizzare
- _removeDuplicates = true; //--> rimozione di destinazioni duplicate
- _items = new BindingList<Item>(); //--> istanziazione lista elementi di navigazione
-
-
-
- Item iii1 = new Item();
- Item.Destination ddd1 = new Item.Destination();
- iii1.Caption = "www";
- ddd1.Caption = "Home";
- ddd1.WindowID = 35;
- iii1.Destinations.Add(ddd1);
- Item.Destination ddd2 = new Item.Destination();
- ddd2.Caption = "Movie";
- ddd2.WindowID =96742;
- iii1.Destinations.Add(ddd2);
- _items.Add(iii1);
-
- Item.Window www = new Item.Window();
- www.WindowID = 1;
- Item iii2 = new Item();
- iii2.Caption = "www";
- iii2.Windows.Add(www);
- Item.Destination ddd3 = new Item.Destination();
- ddd3.Caption = "Music";
- ddd3.WindowID = 501;
- iii2.Destinations.Add(ddd3);
- _items.Add(iii2);
-
-
-
+ _general = new GeneralSettings(); //--> istanziazione impostazioni generali
+ _items = new BindingList<Item>(); //--> istanziazione lista elementi di navigazione
+ Log = LogHandler; //--> assegnazione eventuale delegato per operazioni di log
}
#endregion
#region Metodi Pubblici
- public WindowLink Go(LogEventHandler Log) //Gestione finestra di dialogo e navigazione alla destinazione selezionata
+
+
+ public WindowLink Go() //Gestione finestra di dialogo e navigazione alla destinazione selezionata
{
if (Log != null)
Log(this, new LogEventArgs(LogEventArgs.LogLevels.Info, "Request Skin Navigator dialog menu"));
@@ -521,8 +520,8 @@
int actWindowID = (int)GUIWindowManager.ActiveWindow; //--> id finestra attuale
GUIDialogMenu dlgMenu = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU);
dlgMenu.Reset();
- dlgMenu.SetHeading(_menuHeader); //--> titolo menu
- dlgMenu.ShowQuickNumbers = _showNumbers;
+ dlgMenu.SetHeading(_general.MenuHeader); //--> titolo menu
+ dlgMenu.ShowQuickNumbers = _general.ShowNumbers; //--> visualizzazione numeri voci
List<WindowLink> dlgLinks = new List<WindowLink>(); //--> lista links corrispondenti agli elementi di menu
foreach (Item item in _items) //Iterazione per valutazione elementi di navigazione impostati
@@ -532,11 +531,11 @@
bool first = true;
foreach (Item.Destination dst in item.Destinations) //Iterazione di aggiunta destinazioni
{
- if ((dlgLinks.Find(x => x.WindowID == dst.WindowID && x.LoadParameter == dst.LoadParameter) == null || !_removeDuplicates) && (dst.WindowID != actWindowID || dst.Force))
+ if ((dlgLinks.Find(x => x.WindowID == dst.WindowID && x.LoadParameter == dst.LoadParameter) == null || !_general.RemoveDuplicates) && (dst.WindowID != actWindowID || dst.Force))
{ //Controllo destinazione duplicata o corrispondente a finestra attuale
- if (_showSeparator && first && dlgLinks.Count > 0) //Eventuale inserzione separatore destinazioni
+ if (_general.ShowSeparator && first && dlgLinks.Count > 0) //Eventuale inserzione separatore destinazioni
{
- dlgMenu.Add(_separator);
+ dlgMenu.Add(_general.Separator);
dlgLinks.Add(null);
}
dlgMenu.Add(dst.Caption); //--> aggiunta voce di menu
@@ -574,11 +573,7 @@
#endregion
#region Proprietà
- public string MenuHeader { get { return this._menuHeader; } set { this._menuHeader = value; } }
- public bool ShowSeparator { get { return this._showSeparator; } set { this._showSeparator = value; } }
- public string Separator { get { return this._separator; } set { this._separator = value; } }
- public bool ShowNumbers { get { return this._showNumbers; } set { this._showNumbers = value; } }
- public bool RemoveDuplicates { get { return this._removeDuplicates; } set { this._removeDuplicates = value; } }
+ public GeneralSettings General { get { return this._general; } }
public BindingList<Item> Items { get { return this._items; } }
#endregion
}
@@ -599,7 +594,7 @@
SettingsFile = settingsFile; //--> percorso & nome file delle impostazioni
_general = new GeneralSettings(); //--> istanziazione impostazioni generali
_items = new BindingList<ShortCut>(); //--> istanziazione lista shortcuts
- _navigator = new SkinNavigator(); //--> istanziazione Skin Navigator
+ _navigator = new SkinNavigator(Log); //--> istanziazione Skin Navigator
_initialized = false; //--> reset classe inizializzata
lastDestination = new WindowLink(); //--> istanziazione ultima destinazione attivata dal plugin
@@ -867,7 +862,7 @@
if (sc != null) //Se combinazione di tasti corrispondente a Skin Navigator
{
sc.Play(); //--> eventuale effetto sonoro
- lastDestination.GetData(Navigator.Go(Log)); //--> gestione navigazione alla destinazione selezionata (ed eventuale memorizzazione)
+ lastDestination.GetData(Navigator.Go()); //--> gestione navigazione alla destinazione selezionata (ed eventuale memorizzazione)
}
else //Shortcuts normali
if (scList.Count == 1) //Shortcut a destinazione singola
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|