Code quality changes

This commit is contained in:
Robin 2016-09-22 20:40:13 +02:00
commit 610f45d082
189 changed files with 4609 additions and 5203 deletions

View file

@ -222,19 +222,17 @@ namespace Confluence {
}
}
public bool IsLoggedIn {
get {
return _loggedIn;
}
}
public bool IsLoggedIn => _loggedIn;
public void AddAttachment(long pageId, string mime, string comment, string filename, IBinaryContainer image) {
CheckCredentials();
RemoteAttachment attachment = new RemoteAttachment();
// Comment is ignored, see: http://jira.atlassian.com/browse/CONF-9395
attachment.comment = comment;
attachment.fileName = filename;
attachment.contentType = mime;
var attachment = new RemoteAttachment
{
comment = comment,
fileName = filename,
contentType = mime
};
_confluence.addAttachment(_credentials, pageId, attachment, image.ToByteArray());
}
@ -284,7 +282,6 @@ namespace Confluence {
public IEnumerable<Page> GetPageChildren(Page parentPage) {
CheckCredentials();
List<Page> returnPages = new List<Page>();
RemotePageSummary[] pages = _confluence.getChildren(_credentials, parentPage.Id);
foreach(RemotePageSummary page in pages) {
yield return new Page(page);

View file

@ -84,15 +84,15 @@ namespace GreenshotConfluencePlugin {
}
}
public override bool isDynamic {
public override bool IsDynamic {
get {
return true;
}
}
public override bool isActive {
public override bool IsActive {
get {
return base.isActive && !string.IsNullOrEmpty(ConfluenceConfig.Url);
return base.IsActive && !string.IsNullOrEmpty(ConfluenceConfig.Url);
}
}
@ -127,7 +127,7 @@ namespace GreenshotConfluencePlugin {
string filename = FilenameHelper.GetFilenameWithoutExtensionFromPattern(CoreConfig.OutputFileFilenamePattern, captureDetails);
if (selectedPage == null) {
ConfluenceUpload confluenceUpload = new ConfluenceUpload(filename);
Nullable<bool> dialogResult = confluenceUpload.ShowDialog();
bool? dialogResult = confluenceUpload.ShowDialog();
if (dialogResult.HasValue && dialogResult.Value) {
selectedPage = confluenceUpload.SelectedPage;
if (confluenceUpload.IsOpenPageSelected) {

View file

@ -124,7 +124,7 @@ namespace GreenshotConfluencePlugin {
ConfluenceConfiguration clonedConfig = _config.Clone();
ConfluenceConfigurationForm configForm = new ConfluenceConfigurationForm(clonedConfig);
string url = _config.Url;
Nullable<bool> dialogResult = configForm.ShowDialog();
bool? dialogResult = configForm.ShowDialog();
if (dialogResult.HasValue && dialogResult.Value) {
// copy the new object to the old...
clonedConfig.CloneTo(_config);

View file

@ -95,7 +95,6 @@ namespace GreenshotConfluencePlugin {
pages.Add(page);
}
continue;
} catch (Exception ex) {
// Preventing security problems
LOG.DebugFormat("Couldn't get page details for space {0} / title {1}", space, title);
@ -133,7 +132,7 @@ namespace GreenshotConfluencePlugin {
if (pattern.ProgrammaticName != "ValuePatternIdentifiers.Pattern") {
continue;
}
string url = (docElement.GetCurrentPattern(pattern) as ValuePattern).Current.Value.ToString();
string url = (docElement.GetCurrentPattern(pattern) as ValuePattern).Current.Value;
if (!string.IsNullOrEmpty(url)) {
urls.Add(url);
break;

View file

@ -30,11 +30,9 @@ using GreenshotPlugin.Core;
namespace GreenshotConfluencePlugin {
public class EnumDisplayer : IValueConverter {
private static readonly log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(EnumDisplayer));
private Type type;
private IDictionary displayValues;
private IDictionary reverseValues;
private Type _type;
private IDictionary _displayValues;
private IDictionary _reverseValues;
public EnumDisplayer() {
}
@ -44,22 +42,30 @@ namespace GreenshotConfluencePlugin {
}
public Type Type {
get { return type; }
get { return _type; }
set {
if (!value.IsEnum) {
throw new ArgumentException("parameter is not an Enumerated type", "value");
throw new ArgumentException("parameter is not an Enumerated type", nameof(value));
}
type = value;
_type = value;
}
}
public ReadOnlyCollection<string> DisplayNames {
get {
reverseValues = (IDictionary) Activator.CreateInstance(typeof(Dictionary<,>).GetGenericTypeDefinition().MakeGenericType(typeof(string),type));
displayValues = (IDictionary)Activator.CreateInstance(typeof(Dictionary<,>).GetGenericTypeDefinition().MakeGenericType(type, typeof(string)));
var fields = type.GetFields(BindingFlags.Public | BindingFlags.Static);
var genericTypeDefinition = typeof(Dictionary<,>).GetGenericTypeDefinition();
if (genericTypeDefinition != null)
{
_reverseValues = (IDictionary) Activator.CreateInstance(genericTypeDefinition.MakeGenericType(typeof(string),_type));
}
var typeDefinition = typeof(Dictionary<,>).GetGenericTypeDefinition();
if (typeDefinition != null)
{
_displayValues = (IDictionary)Activator.CreateInstance(typeDefinition.MakeGenericType(_type, typeof(string)));
}
var fields = _type.GetFields(BindingFlags.Public | BindingFlags.Static);
foreach (var field in fields) {
DisplayKeyAttribute[] a = (DisplayKeyAttribute[])field.GetCustomAttributes(typeof(DisplayKeyAttribute), false);
@ -67,25 +73,19 @@ namespace GreenshotConfluencePlugin {
object enumValue = field.GetValue(null);
string displayString;
if (displayKey != null && Language.hasKey(displayKey)) {
if (displayKey != null && Language.HasKey(displayKey)) {
displayString = Language.GetString(displayKey);
}
if (displayKey != null) {
displayString = displayKey;
} else {
displayString = enumValue.ToString();
}
if (displayString != null) {
displayValues.Add(enumValue, displayString);
reverseValues.Add(displayString, enumValue);
}
displayString = displayKey ?? enumValue.ToString();
_displayValues.Add(enumValue, displayString);
_reverseValues.Add(displayString, enumValue);
}
return new List<string>((IEnumerable<string>)displayValues.Values).AsReadOnly();
return new List<string>((IEnumerable<string>)_displayValues.Values).AsReadOnly();
}
}
private string GetDisplayKeyValue(DisplayKeyAttribute[] a) {
private static string GetDisplayKeyValue(DisplayKeyAttribute[] a) {
if (a == null || a.Length == 0) {
return null;
}
@ -94,11 +94,11 @@ namespace GreenshotConfluencePlugin {
}
object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture) {
return displayValues[value];
return _displayValues[value];
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
return reverseValues[value];
return _reverseValues[value];
}
}
}

View file

@ -26,16 +26,11 @@ namespace GreenshotConfluencePlugin {
/// Interaction logic for ConfluenceConfigurationForm.xaml
/// </summary>
public partial class ConfluenceConfigurationForm : Window {
private readonly ConfluenceConfiguration config;
public ConfluenceConfiguration Config {
get {
return config;
}
}
public ConfluenceConfiguration Config { get; }
public ConfluenceConfigurationForm(ConfluenceConfiguration config) {
DataContext = config;
this.config = config;
Config = config;
InitializeComponent();
}

View file

@ -26,12 +26,12 @@ namespace GreenshotConfluencePlugin {
/// <summary>
/// Interaction logic for ConfluencePagePicker.xaml
/// </summary>
public partial class ConfluencePagePicker : System.Windows.Controls.Page {
private static readonly log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(ConfluencePagePicker));
private readonly ConfluenceUpload confluenceUpload = null;
public partial class ConfluencePagePicker
{
private readonly ConfluenceUpload _confluenceUpload;
public ConfluencePagePicker(ConfluenceUpload confluenceUpload, List<Page> pagesToPick) {
this.confluenceUpload = confluenceUpload;
_confluenceUpload = confluenceUpload;
DataContext = pagesToPick;
InitializeComponent();
}
@ -42,11 +42,11 @@ namespace GreenshotConfluencePlugin {
private void SelectionChanged() {
if (PageListView.HasItems && PageListView.SelectedItems.Count > 0) {
confluenceUpload.SelectedPage = (Page)PageListView.SelectedItem;
_confluenceUpload.SelectedPage = (Page)PageListView.SelectedItem;
// Make sure the uploader knows we selected an already opened page
confluenceUpload.IsOpenPageSelected = true;
_confluenceUpload.IsOpenPageSelected = true;
} else {
confluenceUpload.SelectedPage = null;
_confluenceUpload.SelectedPage = null;
}
}

View file

@ -26,7 +26,7 @@ namespace TranslationByMarkupExtension
manager.LanguageChanged += OnLanguageChanged;
}
protected override void StopListening(Object source)
protected override void StopListening(object source)
{
var manager = (TranslationManager)source;
manager.LanguageChanged -= OnLanguageChanged;

View file

@ -1,38 +1,30 @@
using GreenshotPlugin.Core;
namespace TranslationByMarkupExtension {
/// <summary>
///
/// </summary>
public class LanguageXMLTranslationProvider : ITranslationProvider {
#region Private Members
/// <summary>
///
/// </summary>
public class LanguageXMLTranslationProvider : ITranslationProvider {
#region Private Members
#endregion
#endregion
#region Construction
#region Construction
/// <summary>
/// Initializes a new instance of the <see cref="ResxTranslationProvider"/> class.
/// </summary>
/// <param name="baseName">Name of the base.</param>
/// <param name="assembly">The assembly.</param>
public LanguageXMLTranslationProvider() {
}
#endregion
#endregion
#region ITranslationProvider Members
#region ITranslationProvider Members
/// <summary>
/// See <see cref="ITranslationProvider.Translate" />
/// </summary>
public object Translate(string key) {
if (Language.hasKey("confluence", key)) {
/// <summary>
/// See <see cref="ITranslationProvider.Translate" />
/// </summary>
public object Translate(string key) {
if (Language.HasKey("confluence", key)) {
return Language.GetString("confluence", key);
}
return key;
}
}
return key;
}
#endregion
}
#endregion
}
}

View file

@ -3,62 +3,55 @@ using System.ComponentModel;
using System.Windows;
namespace TranslationByMarkupExtension {
public class TranslationData : IWeakEventListener, INotifyPropertyChanged {
#region Private Members
public class TranslationData : IWeakEventListener, INotifyPropertyChanged {
#region Private Members
private readonly string _key;
private readonly string _key;
#endregion
#endregion
/// <summary>
/// Initializes a new instance of the <see cref="TranslationData"/> class.
/// </summary>
/// <param name="key">The key.</param>
public TranslationData( string key) {
_key = key;
LanguageChangedEventManager.AddListener(TranslationManager.Instance, this);
}
/// <summary>
/// Initializes a new instance of the <see cref="TranslationData"/> class.
/// </summary>
/// <param name="key">The key.</param>
public TranslationData( string key) {
_key = key;
LanguageChangedEventManager.AddListener(TranslationManager.Instance, this);
}
/// <summary>
/// Releases unmanaged resources and performs other cleanup operations before the
/// <see cref="TranslationData"/> is reclaimed by garbage collection.
/// </summary>
~TranslationData() {
LanguageChangedEventManager.RemoveListener(TranslationManager.Instance, this);
}
/// <summary>
/// Releases unmanaged resources and performs other cleanup operations before the
/// <see cref="TranslationData"/> is reclaimed by garbage collection.
/// </summary>
~TranslationData() {
LanguageChangedEventManager.RemoveListener(TranslationManager.Instance, this);
}
public object Value {
get {
return TranslationManager.Instance.Translate(_key);
}
}
public object Value => TranslationManager.Instance.Translate(_key);
#region IWeakEventListener Members
#region IWeakEventListener Members
public bool ReceiveWeakEvent(Type managerType, object sender, EventArgs e)
{
if (managerType == typeof(LanguageChangedEventManager))
{
OnLanguageChanged(sender, e);
return true;
}
return false;
}
public bool ReceiveWeakEvent(Type managerType, object sender, EventArgs e)
{
if (managerType == typeof(LanguageChangedEventManager))
{
OnLanguageChanged(sender, e);
return true;
}
return false;
}
private void OnLanguageChanged(object sender, EventArgs e)
{
if( PropertyChanged != null )
{
PropertyChanged( this, new PropertyChangedEventArgs("Value"));
}
}
private void OnLanguageChanged(object sender, EventArgs e)
{
PropertyChanged?.Invoke( this, new PropertyChangedEventArgs("Value"));
}
#endregion
#endregion
#region INotifyPropertyChanged Members
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
public event PropertyChangedEventHandler PropertyChanged;
#endregion
}
#endregion
}
}

View file

@ -1,55 +1,45 @@
using System;
namespace TranslationByMarkupExtension {
public class TranslationManager {
private static TranslationManager _translationManager;
public class TranslationManager {
private static TranslationManager _translationManager;
public event EventHandler LanguageChanged;
public event EventHandler LanguageChanged;
/*public CultureInfo CurrentLanguage {
get { return Thread.CurrentThread.CurrentUICulture; }
set {
if( value != Thread.CurrentThread.CurrentUICulture) {
Thread.CurrentThread.CurrentUICulture = value;
OnLanguageChanged();
}
}
}
public IEnumerable<CultureInfo> Languages {
get {
if( TranslationProvider != null) {
return TranslationProvider.Languages;
}
return Enumerable.Empty<CultureInfo>();
}
}*/
public static TranslationManager Instance {
get {
if (_translationManager == null) {
_translationManager = new TranslationManager();
/*public CultureInfo CurrentLanguage {
get { return Thread.CurrentThread.CurrentUICulture; }
set {
if( value != Thread.CurrentThread.CurrentUICulture) {
Thread.CurrentThread.CurrentUICulture = value;
OnLanguageChanged();
}
return _translationManager;
}
}
}
}
public ITranslationProvider TranslationProvider { get; set; }
public IEnumerable<CultureInfo> Languages {
get {
if( TranslationProvider != null) {
return TranslationProvider.Languages;
}
return Enumerable.Empty<CultureInfo>();
}
}*/
private void OnLanguageChanged() {
if (LanguageChanged != null) {
LanguageChanged(this, EventArgs.Empty);
}
}
public static TranslationManager Instance => _translationManager ?? (_translationManager = new TranslationManager());
public object Translate(string key) {
if( TranslationProvider != null) {
object translatedValue = TranslationProvider.Translate(key);
if( translatedValue != null) {
return translatedValue;
}
}
return string.Format("!{0}!", key);
}
}
public ITranslationProvider TranslationProvider { get; set; }
private void OnLanguageChanged()
{
LanguageChanged?.Invoke(this, EventArgs.Empty);
}
public object Translate(string key) {
object translatedValue = TranslationProvider?.Translate(key);
if( translatedValue != null) {
return translatedValue;
}
return $"!{key}!";
}
}
}