/InstantImageUploader/App.xaml.cs
C# | 86 lines | 68 code | 15 blank | 3 comment | 4 complexity | 1ba6b0802638603b7d3182416e97576c MD5 | raw file
- using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.Data;
- using System.Linq;
- using System.Windows;
-
- using Livet;
- using System.IO;
- using System.ComponentModel.Composition.Hosting;
- using System.Reflection;
- using InstantImageUploader.Models;
- using InstantImageUploader.Views;
- using System.Windows.Shell;
- using System.Diagnostics;
- using System.Runtime.InteropServices;
- using System.Drawing;
-
- namespace InstantImageUploader
- {
- /// <summary>
- /// App.xaml の相互作用ロジック
- /// </summary>
- public partial class App : Application
- {
- private void Application_Startup(object sender, StartupEventArgs e)
- {
- DispatcherHelper.UIDispatcher = Dispatcher;
-
- var assm = new AssemblyCatalog(Assembly.GetExecutingAssembly());
- var extensions = new DirectoryCatalog("Extensions");
- var agg = new AggregateCatalog(assm, extensions);
- var container = new CompositionContainer(agg);
-
- ImageUploaderApplication.Current.ImageUploaders = container.GetExportedValues<IImageUploader>();
-
- var osVersion = Environment.OSVersion;
-
- if (Environment.OSVersion.Platform == PlatformID.Win32NT &&
- Environment.OSVersion.Version.CompareTo(new Version(6, 1)) >= 0)
- {
- var jumpList = JumpList.GetJumpList(this) == null ? new JumpList() : JumpList.GetJumpList(this);
-
- jumpList.JumpItems.Clear();
-
- var appPath = Assembly.GetExecutingAssembly().Location;
-
- foreach (var imageUploader in ImageUploaderApplication.Current.ImageUploaders)
- {
- var dllPath = Assembly.GetAssembly(imageUploader.GetType()).Location;
-
- var jumpTask = new JumpTask();
- jumpTask.ApplicationPath = appPath;
- jumpTask.Arguments = "u:" + imageUploader.ImageUploaderName;
- jumpTask.Title = imageUploader.ImageUploaderName + "に画像をアップロード";
- jumpTask.CustomCategory="アップローダー";
- jumpTask.IconResourceIndex = -1;
- jumpList.JumpItems.Add(jumpTask);
- }
-
- var settingTask = new JumpTask();
- settingTask.ApplicationPath = appPath;
- settingTask.Arguments = "Setting";
- settingTask.CustomCategory="設定";
- settingTask.Title = "InstantImageUploader設定";
- settingTask.IconResourceIndex = -1;
- jumpList.JumpItems.Add(settingTask);
-
- JumpList.SetJumpList(this, jumpList);
- }
-
- if (e.Args.Contains("Setting"))
- {
- var settingWindow = new SettingWindow();
- settingWindow.Show();
- }
- else
- {
- var mainWindow = new MainWindow();
- mainWindow.Show();
- }
- }
-
-
- }
- }