/cs/MiniTwitter-ma/MiniTwitter-ma/modified-files.diff
Unknown | 1126 lines | 1098 code | 28 blank | 0 comment | 0 complexity | 59919cdd510adcca09a82d7135a38b80 MD5 | raw file
Possible License(s): Apache-2.0
Large files files are truncated, but you can click here to view the full file
-
- C:\home\development\projects\bitbucket\junk\cs\MiniTwitter-ma>C:\cygwin\bin\diff.exe -urN -xobj -xbin -xmodified-files.diff MiniTwitter MiniTwitter-ma
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/Account.cs MiniTwitter-ma/MiniTwitter/Account.cs
- --- MiniTwitter/MiniTwitter/Account.cs 1970-01-01 09:00:00.000000000 +0900
- +++ MiniTwitter-ma/MiniTwitter/Account.cs 2010-01-12 22:47:24.183337200 +0900
- @@ -0,0 +1,90 @@
- +?using System;
- +using System.Collections.Generic;
- +using System.ComponentModel;
- +using System.Linq;
- +using System.Text;
- +using System.Text.RegularExpressions;
- +using System.Xml.Serialization;
- +
- +using MiniTwitter.Net.Twitter;
- +
- +namespace MiniTwitter
- +{
- + [Serializable]
- + public class Account : PropertyChangedBase, IEditableObject, IEquatable<Account>
- + {
- + private string username;
- +
- + [XmlAttribute]
- + public string Username
- + {
- + get { return username; }
- + set
- + {
- + if (username != value)
- + {
- + username = value;
- + OnPropertyChanged("Username");
- + }
- + }
- + }
- +
- + private string password;
- +
- + [XmlAttribute]
- + public string Password
- + {
- + get { return password; }
- + set
- + {
- + if (password != value)
- + {
- + password = value;
- + OnPropertyChanged("Password");
- + OnPropertyChanged("HiddenPassword");
- + }
- + }
- + }
- +
- + [XmlIgnore]
- + public string HiddenPassword
- + {
- + get { return new string('?', password.Length); }
- + }
- +
- + private Account copy;
- +
- + public void BeginEdit()
- + {
- + if (copy == null)
- + {
- + copy = new Account();
- + }
- + copy.Username = this.Username;
- + copy.Password = this.Password;
- + }
- +
- + public void CancelEdit()
- + {
- + this.Username = copy.Username;
- + this.Password = copy.Password;
- + }
- +
- + public void EndEdit()
- + {
- + copy.Username = "";
- + copy.Password = "";
- + }
- +
- + #region IEquatable<Account> ???
- +
- + public bool Equals(Account other)
- + {
- + if (other == null)
- + return false;
- + return username == other.username && password == other.password;
- + }
- +
- + #endregion
- + }
- +}
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/App.xaml.cs MiniTwitter-ma/MiniTwitter/App.xaml.cs
- --- MiniTwitter/MiniTwitter/App.xaml.cs 2010-01-16 19:32:34.890625000 +0900
- +++ MiniTwitter-ma/MiniTwitter/App.xaml.cs 2010-01-22 22:46:46.156250000 +0900
- @@ -1,4 +1,5 @@
- -?using System;
- +?/* modified by ksksts. see modified-files.diff */
- +using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.Data;
- @@ -120,7 +121,7 @@
-
- private readonly string directory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), NAME);
-
- - public const string VERSION = "1.05.2";
- - public const string NAME = "MiniTwitter";
- + public const string VERSION = "1.05.2+20100122";
- + public const string NAME = "MiniTwitter-ma";
- }
- }
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/Controls/TextViewer.xaml MiniTwitter-ma/MiniTwitter/Controls/TextViewer.xaml
- --- MiniTwitter/MiniTwitter/Controls/TextViewer.xaml 2010-01-16 19:32:34.906250000 +0900
- +++ MiniTwitter-ma/MiniTwitter/Controls/TextViewer.xaml 2010-01-22 22:27:31.125000000 +0900
- @@ -1,6 +1,7 @@
- -?<UserControl x:Class="MiniTwitter.Controls.TextViewer"
- +?<!-- modified by ksksts. see modified-files.diff -->
- +<UserControl x:Class="MiniTwitter.Controls.TextViewer"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- x:Name="UserControl">
- - <TextBlock x:Name="TextBlock" TextWrapping="{Binding ElementName=UserControl, Path=TextWrapping}" TextTrimming="{Binding ElementName=UserControl, Path=TextTrimming}"/>
- + <TextBlock x:Name="TextBlock" TextWrapping="{Binding ElementName=UserControl, Path=TextWrapping}" TextTrimming="{Binding ElementName=UserControl, Path=TextTrimming}" LineHeight="{Binding ElementName=UserControl, Path=LineHeight}" LineStackingStrategy="{Binding ElementName=UserControl, Path=LineStackingStrategy}"/>
- </UserControl>
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/Controls/TextViewer.xaml.cs MiniTwitter-ma/MiniTwitter/Controls/TextViewer.xaml.cs
- --- MiniTwitter/MiniTwitter/Controls/TextViewer.xaml.cs 2010-01-16 19:32:34.921875000 +0900
- +++ MiniTwitter-ma/MiniTwitter/Controls/TextViewer.xaml.cs 2010-01-22 22:33:57.187500000 +0900
- @@ -1,4 +1,5 @@
- -?using System;
- +?/* modified by ksksts. see modified-files.diff */
- +using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Linq;
- @@ -57,6 +58,24 @@
- public static readonly DependencyProperty TextTrimmingProperty =
- DependencyProperty.Register("TextTrimming", typeof(TextTrimming), typeof(TextViewer), new PropertyMetadata(TextTrimming.None));
-
- + public double LineHeight
- + {
- + get { return (double)GetValue(LineHeightProperty); }
- + set { SetValue(LineHeightProperty, value); }
- + }
- +
- + public static readonly DependencyProperty LineHeightProperty =
- + DependencyProperty.Register("LineHeight", typeof(double), typeof(TextViewer), new PropertyMetadata(Double.NaN));
- +
- + public LineStackingStrategy LineStackingStrategy
- + {
- + get { return (LineStackingStrategy)GetValue(LineStackingStrategyProperty); }
- + set { SetValue(LineStackingStrategyProperty, value); }
- + }
- +
- + public static readonly DependencyProperty LineStackingStrategyProperty =
- + DependencyProperty.Register("LineStackingStrategy", typeof(LineStackingStrategy), typeof(TextViewer), new PropertyMetadata(LineStackingStrategy.MaxHeight));
- +
- private static void TextPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
- {
- ((TextViewer)sender).OnTextChanged((string)e.NewValue);
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/Controls/TimelineStyleSelector.cs MiniTwitter-ma/MiniTwitter/Controls/TimelineStyleSelector.cs
- --- MiniTwitter/MiniTwitter/Controls/TimelineStyleSelector.cs 2010-01-16 19:32:34.921875000 +0900
- +++ MiniTwitter-ma/MiniTwitter/Controls/TimelineStyleSelector.cs 2010-01-22 22:33:57.140625000 +0900
- @@ -1,4 +1,5 @@
- -?using System;
- +?/* modified by ksksts. see modified-files.diff */
- +using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- @@ -26,6 +27,9 @@
- case TimelineStyle.List:
- style = "List";
- break;
- + case TimelineStyle.Tight:
- + style = "Tight";
- + break;
- default:
- return null;
- }
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/MainWindow.xaml MiniTwitter-ma/MiniTwitter/MainWindow.xaml
- --- MiniTwitter/MiniTwitter/MainWindow.xaml 2010-01-16 19:32:34.937500000 +0900
- +++ MiniTwitter-ma/MiniTwitter/MainWindow.xaml 2010-01-22 22:32:28.109375000 +0900
- @@ -1,4 +1,5 @@
- -?<Window x:Class="MiniTwitter.MainWindow"
- +?<!-- modified by ksksts. see modified-files.diff -->
- +<Window x:Class="MiniTwitter.MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:MiniTwitter="clr-namespace:MiniTwitter"
- @@ -48,9 +49,21 @@
- <RowDefinition/>
- </Grid.RowDefinitions>
- <TextBlock Grid.Row="0" Text="What's happening?" VerticalAlignment="Center" Style="{DynamicResource HeaderTextBlockStyle}"/>
- - <TextBlock Grid.Row="0" HorizontalAlignment="Right" VerticalAlignment="Center"
- - Text="{Binding ElementName=TweetTextBox, Path=Text.Length, Converter={StaticResource TextCountConverter}}"
- - Style="{DynamicResource CounterTextBlockStyle}"/>
- + <StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
- + <Button VerticalAlignment="Center" Margin="0,0,6,0"
- + Click="AccountSwitchButton_Click" Style="{DynamicResource ImageButtonStyle}">
- + <StackPanel Orientation="Horizontal">
- + <Image Margin="0,0,3,0" Style="{DynamicResource ImageStyle}"
- + Source="{Binding ElementName=Window, Path=LoginedUserImageUrl}"
- + Visibility="{Binding Source={x:Static MiniTwitter_Properties:Settings.Default}, Path=IsIconVisible, Converter={StaticResource BooleanToVisibilityConverter}}"/>
- + <TextBlock VerticalAlignment="Center" HorizontalAlignment="Right"
- + Text="{Binding ElementName=Window, Path=LoginedUserName}"
- + Style="{DynamicResource CurrentAccountTextBlockStyle}"/>
- + </StackPanel>
- + </Button>
- + <TextBlock Text="{Binding ElementName=TweetTextBox, Path=Text.Length, Converter={StaticResource TextCountConverter}}"
- + VerticalAlignment="Center" Style="{DynamicResource CounterTextBlockStyle}"/>
- + </StackPanel>
- <TextBox x:Name="TweetTextBox" Grid.Row="1" Margin="0,4.5,0,6" TextWrapping="Wrap" TextChanged="TweetTextBox_TextChanged"
- VerticalScrollBarVisibility="Auto" KeyDown="TweetTextBox_KeyDown" PreviewKeyDown="TweetTextBox_PreviewKeyDown" Style="{DynamicResource TweetTextBoxStyle}">
- <TextBox.CommandBindings>
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/MainWindow.xaml.cs MiniTwitter-ma/MiniTwitter/MainWindow.xaml.cs
- --- MiniTwitter/MiniTwitter/MainWindow.xaml.cs 2010-01-16 19:32:34.953125000 +0900
- +++ MiniTwitter-ma/MiniTwitter/MainWindow.xaml.cs 2010-01-22 22:33:57.093750000 +0900
- @@ -1,4 +1,5 @@
- -?using System;
- +?/* modified by ksksts. see modified-files.diff */
- +using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.ComponentModel;
- @@ -74,6 +75,24 @@
- public static readonly DependencyProperty StatusTextProperty =
- DependencyProperty.Register("StatusText", typeof(string), typeof(MainWindow), new PropertyMetadata(App.NAME + " " + App.VERSION));
-
- + public string LoginedUserName
- + {
- + get { return (string)GetValue(LoginedUserNameProperty); }
- + set { SetValue(LoginedUserNameProperty, value); }
- + }
- +
- + public static readonly DependencyProperty LoginedUserNameProperty =
- + DependencyProperty.Register("LoginedUserName", typeof(string), typeof(MainWindow));
- +
- + public string LoginedUserImageUrl
- + {
- + get { return (string)GetValue(LoginedUserImageUrlProperty); }
- + set { SetValue(LoginedUserImageUrlProperty, value); }
- + }
- +
- + public static readonly DependencyProperty LoginedUserImageUrlProperty =
- + DependencyProperty.Register("LoginedUserImageUrl", typeof(string), typeof(MainWindow));
- +
- public enum RefreshTarget
- {
- All,
- @@ -107,7 +126,7 @@
- replies.Filters.Add(new Filter { Type = FilterType.RegexText, Pattern = string.Format(@"@{0}[^a-zA-Z_0-9]", client.LoginedUser.ScreenName) });
- var archive = Timelines.TypeAt(TimelineType.Archive);
- archive.Filters.Clear();
- - archive.Filters.Add(new Filter { Type = FilterType.Name, Pattern = Settings.Default.Username });
- + archive.Filters.Add(new Filter { Type = FilterType.Name, Pattern = client.LoginedUser.Name });
- }
-
- private void InitializeAutoRefresh()
- @@ -207,8 +226,17 @@
-
- private void LoginCallback(object state)
- {
- + // ??????????????????
- + Timelines.ClearAll();
- // ???????????
- - var result = client.Login(Settings.Default.Username, Settings.Default.Password);
- + var account = Settings.Default.CurrentAccount;
- + if (account == null)
- + {
- + // ??????????????
- + this.Invoke(() => StatusText = "???????????????");
- + return;
- + }
- + var result = client.Login(account.Username, account.Password);
- if (result == null)
- {
- // ????ID?????????
- @@ -222,8 +250,9 @@
- }
- else
- {
- - // ??????????????????
- - Timelines.ClearAll();
- + // ??????????????
- + this.Invoke(() => LoginedUserName = client.LoginedUser.Name);
- + this.Invoke(() => LoginedUserImageUrl = client.LoginedUser.ImageUrl);
- // ????????
- InitializeFilter();
- // ???????????????
- @@ -346,7 +375,7 @@
- popupWindow.Show(statuses);
- }
- }
- - var action = statuses.Any(p => Regex.IsMatch(p.Text, string.Format(@"{0}[^a-zA-Z_0-9]", Settings.Default.Username))) ? SoundAction.Reply : SoundAction.Status;
- + var action = statuses.Any(p => Regex.IsMatch(p.Text, string.Format(@"{0}[^a-zA-Z_0-9]", client.LoginedUser.Name))) ? SoundAction.Reply : SoundAction.Status;
- var sound = Settings.Default.SoundBindings.Where(p => p.IsEnabled && p.Action == action).FirstOrDefault();
- if (sound != null)
- {
- @@ -460,7 +489,7 @@
-
- private void MainWindow_Loaded(object sender, RoutedEventArgs e)
- {
- - if (string.IsNullOrEmpty(Settings.Default.Username) || string.IsNullOrEmpty(Settings.Default.Password))
- + if (Settings.Default.CurrentAccount == null)
- {
- SettingButton_Click(null, null);
- return;
- @@ -616,6 +645,29 @@
- TweetTextBox.Focus();
- }
-
- + private void AccountSwitchButton_Click(object sender, RoutedEventArgs e)
- + {
- + var accountMenu = new ContextMenu();
- + foreach (var account in Settings.Default.Accounts)
- + {
- + var item = new MenuItem();
- + item.Header = account.Username;
- + item.Tag = accountMenu.Items.Count;
- + item.Click += (senderItem, eventArgs) =>
- + {
- + Settings.Default.CurrentAccountIndex = (int)((MenuItem)senderItem).Tag;
- + Login();
- + };
- + accountMenu.Items.Add(item);
- + }
- + if (Settings.Default.CurrentAccountIndex >= 0)
- + {
- + var item = (MenuItem)accountMenu.Items[Settings.Default.CurrentAccountIndex];
- + item.IsChecked = true;
- + }
- + accountMenu.IsOpen = true;
- + }
- +
- private void HomeButton_Click(object sender, RoutedEventArgs e)
- {
- Process.Start("http://twitter.com/home");
- @@ -623,6 +675,7 @@
-
- private void SettingButton_Click(object sender, RoutedEventArgs e)
- {
- + var currentAccount = Settings.Default.CurrentAccount;
- SettingDialog dialog = new SettingDialog { Owner = this };
- if (!(dialog.ShowDialog() ?? false))
- {
- @@ -636,8 +689,9 @@
- InitializePopupWindow();
- // ????????????????
- InitializeKeyboardShortcut();
- - // ???????????
- - if (!client.IsLogined)
- + // ?????????
- + if (Settings.Default.CurrentAccount != null &&
- + !Settings.Default.CurrentAccount.Equals(currentAccount))
- {
- // Twitter ?????
- Login();
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/MiniTwitter.csproj MiniTwitter-ma/MiniTwitter/MiniTwitter.csproj
- --- MiniTwitter/MiniTwitter/MiniTwitter.csproj 2010-01-16 19:32:34.968750000 +0900
- +++ MiniTwitter-ma/MiniTwitter/MiniTwitter.csproj 2010-01-12 22:39:47.402087200 +0900
- @@ -17,10 +17,14 @@
- <UICulture>ja-JP</UICulture>
- <TargetFrameworkSubset>Full</TargetFrameworkSubset>
- <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
- - <SccProjectName>SAK</SccProjectName>
- - <SccLocalPath>SAK</SccLocalPath>
- - <SccAuxPath>SAK</SccAuxPath>
- - <SccProvider>SAK</SccProvider>
- + <SccProjectName>
- + </SccProjectName>
- + <SccLocalPath>
- + </SccLocalPath>
- + <SccAuxPath>
- + </SccAuxPath>
- + <SccProvider>
- + </SccProvider>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- @@ -58,11 +62,11 @@
- <ItemGroup>
- <Reference Include="Microsoft.WindowsAPICodePack, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- - <HintPath>.\Microsoft.WindowsAPICodePack.dll</HintPath>
- + <HintPath>..\..\..\..\libraries\WindowsAPICodePack\WindowsAPICodePack\Core\bin\Release\Microsoft.WindowsAPICodePack.dll</HintPath>
- </Reference>
- <Reference Include="Microsoft.WindowsAPICodePack.Shell, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- - <HintPath>.\Microsoft.WindowsAPICodePack.Shell.dll</HintPath>
- + <HintPath>..\..\..\..\libraries\WindowsAPICodePack\WindowsAPICodePack\Shell\bin\Release\Microsoft.WindowsAPICodePack.Shell.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Core">
- @@ -103,6 +107,7 @@
- </Compile>
- </ItemGroup>
- <ItemGroup>
- + <Compile Include="Account.cs" />
- <Compile Include="Controls\HyperlinkButton.xaml.cs">
- <DependentUpon>HyperlinkButton.xaml</DependentUpon>
- </Compile>
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/Properties/Settings.cs MiniTwitter-ma/MiniTwitter/Properties/Settings.cs
- --- MiniTwitter/MiniTwitter/Properties/Settings.cs 2010-01-16 19:32:34.968750000 +0900
- +++ MiniTwitter-ma/MiniTwitter/Properties/Settings.cs 2010-01-22 22:33:57.000000000 +0900
- @@ -1,4 +1,5 @@
- -?using System;
- +?/* modified by ksksts. see modified-files.diff */
- +using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.ComponentModel;
- @@ -61,15 +62,10 @@
- /// </summary>
- public WindowState WindowState { get; set; }
-
- - /// <summary>
- - /// ?????
- - /// </summary>
- - public string Username { get; set; }
- -
- - /// <summary>
- - /// ?????
- + /// <summary>
- + /// ???????????????
- /// </summary>
- - public string Password { get; set; }
- + public int CurrentAccountIndex { get; set; }
-
- /// <summary>
- /// ??????????
- @@ -279,6 +275,30 @@
- [XmlIgnore]
- public ObservableCollection<KeywordBinding> KeywordBindings { get; private set; }
-
- + [XmlArray("Accounts")]
- + public Account[] AccountsInternal
- + {
- + get { return Accounts.Count != 0 ? Accounts.ToArray() : null; }
- + set { Accounts = new ObservableCollection<Account>(value ?? Enumerable.Empty<Account>()); }
- + }
- +
- + [XmlIgnore]
- + public ObservableCollection<Account> Accounts { get; private set; }
- +
- + [XmlIgnore]
- + public Account CurrentAccount
- + {
- + get
- + {
- + Account currentAccount = null;
- + if (CurrentAccountIndex >= 0 && CurrentAccountIndex < Accounts.Count)
- + {
- + currentAccount = Accounts[CurrentAccountIndex];
- + }
- + return currentAccount;
- + }
- + }
- +
- [XmlIgnore]
- public Regex FavoriteRegex { get; set; }
-
- @@ -321,6 +341,10 @@
- {
- KeywordBindings = new ObservableCollection<KeywordBinding>();
- }
- + if (Accounts == null)
- + {
- + Accounts = new ObservableCollection<Account>();
- + }
- InitializeKeywordRegex();
- }
-
- @@ -344,10 +368,6 @@
- throw new Exception();
- }
- }
- - if (!Default.Password.IsNullOrEmpty())
- - {
- - Default.Password = Encoding.ASCII.GetString(Convert.FromBase64String(Default.Password));
- - }
- if (Default.RefreshReplyTick > 20)
- {
- Default.RefreshReplyTick = 10;
- @@ -358,6 +378,14 @@
- Default.RefreshTick = Math.Min(Default.RefreshTick * 60, 120);
- Default.Version = 2;
- }
- + for (int i = 0; i < Default.Accounts.Count; i++)
- + {
- + var account = Default.Accounts[i];
- + if (!account.Password.IsNullOrEmpty())
- + {
- + account.Password = Encoding.ASCII.GetString(Convert.FromBase64String(account.Password));
- + }
- + }
- }
- catch
- {
- @@ -381,9 +409,13 @@
- {
- Directory.CreateDirectory(BaseDirectory);
- }
- - if (!Default.Password.IsNullOrEmpty())
- + for (int i = 0; i < Default.Accounts.Count; i++)
- {
- - Default.Password = Convert.ToBase64String(Encoding.ASCII.GetBytes(Default.Password));
- + var account = Default.Accounts[i];
- + if (!account.Password.IsNullOrEmpty())
- + {
- + account.Password = Convert.ToBase64String(Encoding.ASCII.GetBytes(account.Password));
- + }
- }
- using (var stream = File.Open(Path.Combine(BaseDirectory, @"Preference.xml"), FileMode.Create, FileAccess.Write, FileShare.None))
- {
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/Resources/Common.xaml MiniTwitter-ma/MiniTwitter/Resources/Common.xaml
- --- MiniTwitter/MiniTwitter/Resources/Common.xaml 2010-01-16 19:32:34.984375000 +0900
- +++ MiniTwitter-ma/MiniTwitter/Resources/Common.xaml 2010-01-22 22:32:27.734375000 +0900
- @@ -1,4 +1,5 @@
- -?<ResourceDictionary
- +?<!-- modified by ksksts. see modified-files.diff -->
- +<ResourceDictionary
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:System_ComponentModel="clr-namespace:System.ComponentModel;assembly=System"
- @@ -50,6 +51,14 @@
- </Style.Triggers>
- </Style>
-
- + <Style x:Key="TightMenuItemStyle" TargetType="{x:Type MenuItem}">
- + <Style.Triggers>
- + <DataTrigger Binding="{Binding Source={x:Static MiniTwitter_Properties:Settings.Default}, Path=TimelineStyle}" Value="Tight">
- + <Setter Property="IsChecked" Value="True"/>
- + </DataTrigger>
- + </Style.Triggers>
- + </Style>
- +
- <Style x:Key="CreatedAtCategoryMenuItemStyle" TargetType="{x:Type MenuItem}">
- <Style.Triggers>
- <DataTrigger Binding="{Binding Source={x:Static MiniTwitter_Properties:Settings.Default}, Path=SortCategory}" Value="CreatedAt">
- @@ -90,7 +99,7 @@
- </DataTrigger>
- </Style.Triggers>
- </Style>
- -
- +
- <Style x:Key="TimelineTextStyle" TargetType="{x:Type MiniTwitter_Controls:TextViewer}">
- <Style.Triggers>
- <DataTrigger Binding="{Binding Path=IsMention}" Value="True">
- @@ -102,6 +111,11 @@
- </Style.Triggers>
- </Style>
-
- + <Style x:Key="TightTimelineTextStyle" TargetType="{x:Type MiniTwitter_Controls:TextViewer}" BasedOn="{StaticResource TimelineTextStyle}">
- + <Setter Property="LineHeight" Value="12.0" />
- + <Setter Property="LineStackingStrategy" Value="BlockLineHeight" />
- + </Style>
- +
- <ContextMenu x:Key="TextBoxContextMenu">
- <MenuItem Header="????(_U)" Command="ApplicationCommands.Undo"/>
- <Separator/>
- @@ -154,6 +168,7 @@
- <MenuItem Header="??(_S)" Command="MiniTwitter_Input:Commands.TimelineStyle" CommandParameter="{x:Static MiniTwitter:TimelineStyle.Standard}" Style="{StaticResource StandardMenuItemStyle}"/>
- <MenuItem Header="????(_B)" Command="MiniTwitter_Input:Commands.TimelineStyle" CommandParameter="{x:Static MiniTwitter:TimelineStyle.Balloon}" Style="{StaticResource BalloonMenuItemStyle}"/>
- <MenuItem Header="??(_L)" Command="MiniTwitter_Input:Commands.TimelineStyle" CommandParameter="{x:Static MiniTwitter:TimelineStyle.List}" Style="{StaticResource ListMenuItemStyle}"/>
- + <MenuItem Header="???(_T)" Command="MiniTwitter_Input:Commands.TimelineStyle" CommandParameter="{x:Static MiniTwitter:TimelineStyle.Tight}" Style="{StaticResource TightMenuItemStyle}"/>
- <Separator/>
- <MenuItem Header="???????(_I)" IsCheckable="True" IsChecked="{Binding Source={x:Static MiniTwitter_Properties:Settings.Default}, Path=IsIconVisible}"/>
- </MenuItem>
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/Resources/Templates.xaml MiniTwitter-ma/MiniTwitter/Resources/Templates.xaml
- --- MiniTwitter/MiniTwitter/Resources/Templates.xaml 2010-01-16 19:32:34.984375000 +0900
- +++ MiniTwitter-ma/MiniTwitter/Resources/Templates.xaml 2010-01-22 22:32:27.515625000 +0900
- @@ -1,4 +1,5 @@
- -?<ResourceDictionary
- +?<!-- modified by ksksts. see modified-files.diff -->
- +<ResourceDictionary
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:MiniTwitter="clr-namespace:MiniTwitter"
- @@ -183,7 +184,7 @@
- </StackPanel>
- </Grid>
- </DataTemplate>
- -
- +
- <DataTemplate x:Key="BalloonStatusTemplate" DataType="{x:Type MiniTwitter_Net_Twitter:Status}">
- <Grid Margin="7,7,7,7" SnapsToDevicePixels="True">
- <Grid.RowDefinitions>
- @@ -436,4 +437,181 @@
- </Grid>
- </DataTemplate>
-
- + <DataTemplate x:Key="TightStatusTemplate" DataType="{x:Type MiniTwitter_Net_Twitter:Status}">
- + <Grid Margin="3,3,3,3" SnapsToDevicePixels="True">
- + <Grid.ColumnDefinitions>
- + <ColumnDefinition Width="Auto"/>
- + <ColumnDefinition Width="*"/>
- + </Grid.ColumnDefinitions>
- + <Image Width="36" Height="36" Margin="0,0,8,0" Grid.Column="0" VerticalAlignment="Top"
- + Source="{Binding Path=Sender.ImageUrl}"
- + Visibility="{Binding Source={x:Static MiniTwitter_Properties:Settings.Default}, Path=IsIconVisible, Converter={StaticResource BooleanToVisibilityConverter}}">
- + <Image.ToolTip>
- + <StackPanel MaxWidth="400">
- + <TextBlock FontWeight="Bold">
- + <TextBlock.Text>
- + <MultiBinding StringFormat="{}{0} / {1}">
- + <Binding Path="Sender.Name" />
- + <Binding Path="Sender.Location" />
- + </MultiBinding>
- + </TextBlock.Text>
- + </TextBlock>
- + <TextBlock Text="{Binding Path=Sender.Description}" TextWrapping="Wrap" />
- + </StackPanel>
- + </Image.ToolTip>
- + </Image>
- + <StackPanel Grid.Column="1">
- + <StackPanel Orientation="Horizontal">
- + <MiniTwitter_Controls:HyperlinkButton Text="{Binding Path=Sender.ScreenName}" ToolTip="{Binding Path=Sender.Name}"
- + FontWeight="Bold" FontSize="11" HorizontalAlignment="Left" VerticalAlignment="Center"
- + Command="MiniTwitter_Input:Commands.MoveToUserPage" CommandParameter="{Binding}"/>
- + <Image Width="12" Height="12" Margin="3,0,0,0" Visibility="{Binding Path=Sender.Protected, Converter={StaticResource BooleanToVisibilityConverter}}"
- + Style="{DynamicResource ProtectImageStyle}"/>
- + <Image Width="12" Height="12" Margin="3,0,0,0" Visibility="{Binding Path=IsNewest, Converter={StaticResource BooleanToVisibilityConverter}}"
- + Style="{DynamicResource NewImageStyle}"/>
- + </StackPanel>
- + <MiniTwitter_Controls:TextViewer Text="{Binding Path=Text}" Style="{StaticResource TightTimelineTextStyle}"/>
- + <WrapPanel>
- + <MiniTwitter_Controls:HyperlinkButton Text="{Binding Path=RelativeTime}" FontSize="10" Margin="0,0,3,0" VerticalAlignment="Center"
- + Command="MiniTwitter_Input:Commands.MoveToStatusPage" CommandParameter="{Binding}">
- + <MiniTwitter_Controls:HyperlinkButton.ToolTip>
- + <TextBlock Text="{Binding Path=CreatedAt, StringFormat=yyyy/MM/dd HH:mm:ss}"/>
- + </MiniTwitter_Controls:HyperlinkButton.ToolTip>
- + </MiniTwitter_Controls:HyperlinkButton>
- + <TextBlock Margin="0,0,3,0" FontSize="10" VerticalAlignment="Center" Text="{Binding Path=Source, StringFormat=from \{0\}}"/>
- + <Button Margin="0,0,3,0" Padding="0" Visibility="{Binding Path=IsAuthor, Converter={StaticResource BooleanToVisibilityConverter}}"
- + Command="MiniTwitter_Input:Commands.Delete" CommandParameter="{Binding}" Style="{DynamicResource ImageButtonStyle}">
- + <Image Width="14" Height="14" Style="{DynamicResource CrossImageStyle}"/>
- + </Button>
- + <Button Margin="0,0,3,0" Padding="0" Command="MiniTwitter_Input:Commands.Favorite"
- + CommandParameter="{Binding}" Style="{DynamicResource ImageButtonStyle}">
- + <Image Width="14" Height="14" Style="{DynamicResource FavoriteImageStyle}"/>
- + </Button>
- + <Button Margin="0,0,3,0" Padding="0" Command="MiniTwitter_Input:Commands.Reply" ToolTip="Reply"
- + CommandParameter="{Binding}" Style="{DynamicResource ImageButtonStyle}">
- + <Image Width="14" Height="14" Style="{DynamicResource ArrowReplyImageStyle}"/>
- + </Button>
- + <Button Margin="0,0,3,0" Padding="0" Command="MiniTwitter_Input:Commands.ReTweet" ToolTip="?????? ReTweet"
- + CommandParameter="{Binding}" Style="{DynamicResource ImageButtonStyle}">
- + <Image Width="14" Height="14" Style="{DynamicResource ArrowReTweetImageStyle}"/>
- + </Button>
- + </WrapPanel>
- + </StackPanel>
- + </Grid>
- + </DataTemplate>
- +
- + <DataTemplate x:Key="TightReTweetTemplate" DataType="{x:Type MiniTwitter_Net_Twitter:Status}">
- + <Grid Margin="3,3,3,3" SnapsToDevicePixels="True">
- + <Grid.ColumnDefinitions>
- + <ColumnDefinition Width="Auto"/>
- + <ColumnDefinition Width="*"/>
- + </Grid.ColumnDefinitions>
- + <Grid Width="36" Height="36" Margin="0,0,8,0" Grid.Column="0" VerticalAlignment="Top"
- + Visibility="{Binding Source={x:Static MiniTwitter_Properties:Settings.Default}, Path=IsIconVisible, Converter={StaticResource BooleanToVisibilityConverter}}">
- + <Image Width="24" Height="24" VerticalAlignment="Top" HorizontalAlignment="Left" Source="{Binding Path=ReTweetedStatus.Sender.ImageUrl}">
- + <Image.ToolTip>
- + <StackPanel MaxWidth="400">
- + <TextBlock FontWeight="Bold">
- + <TextBlock.Text>
- + <MultiBinding StringFormat="{}{0} / {1}">
- + <Binding Path="ReTweetedStatus.Sender.Name" />
- + <Binding Path="ReTweetedStatus.Sender.Location" />
- + </MultiBinding>
- + </TextBlock.Text>
- + </TextBlock>
- + <TextBlock Text="{Binding Path=ReTweetedStatus.Sender.Description}" TextWrapping="Wrap" />
- + </StackPanel>
- + </Image.ToolTip>
- + </Image>
- + <Image Width="12" Height="12" VerticalAlignment="Bottom" HorizontalAlignment="Right" Source="{Binding Path=Sender.ImageUrl}">
- + <Image.ToolTip>
- + <StackPanel MaxWidth="400">
- + <TextBlock FontWeight="Bold">
- + <TextBlock.Text>
- + <MultiBinding StringFormat="{}{0} / {1}">
- + <Binding Path="Sender.Name" />
- + <Binding Path="Sender.Location" />
- + </MultiBinding>
- + </TextBlock.Text>
- + </TextBlock>
- + <TextBlock Text="{Binding Path=Sender.Description}" TextWrapping="Wrap" />
- + </StackPanel>
- + </Image.ToolTip>
- + </Image>
- + </Grid>
- + <StackPanel Grid.Column="1">
- + <StackPanel Orientation="Horizontal">
- + <MiniTwitter_Controls:HyperlinkButton Text="{Binding Path=Sender.ScreenName}" ToolTip="{Binding Path=Sender.Name}"
- + FontWeight="Bold" FontSize="11" HorizontalAlignment="Left" VerticalAlignment="Center"
- + Command="MiniTwitter_Input:Commands.MoveToUserPage" CommandParameter="{Binding}"/>
- + <Image Width="12" Height="12" Margin="3,0,0,0" Visibility="{Binding Path=Sender.Protected, Converter={StaticResource BooleanToVisibilityConverter}}"
- + Style="{DynamicResource ProtectImageStyle}"/>
- + <Image Width="12" Height="12" Margin="3,0,0,0" Visibility="{Binding Path=IsNewest, Converter={StaticResource BooleanToVisibilityConverter}}"
- + Style="{DynamicResource NewImageStyle}"/>
- + </StackPanel>
- + <MiniTwitter_Controls:TextViewer Text="{Binding Path=Text}" Style="{StaticResource TightTimelineTextStyle}"/>
- + <WrapPanel>
- + <MiniTwitter_Controls:HyperlinkButton Text="{Binding Path=RelativeTime}" FontSize="10" Margin="0,0,3,0" VerticalAlignment="Center"
- + Command="MiniTwitter_Input:Commands.MoveToStatusPage" CommandParameter="{Binding}">
- + <MiniTwitter_Controls:HyperlinkButton.ToolTip>
- + <TextBlock Text="{Binding Path=CreatedAt, StringFormat=yyyy/MM/dd HH:mm:ss}"/>
- + </MiniTwitter_Controls:HyperlinkButton.ToolTip>
- + </MiniTwitter_Controls:HyperlinkButton>
- + <TextBlock Margin="0,0,3,0" FontSize="10" VerticalAlignment="Center" Text="{Binding Path=Source, StringFormat=from \{0\}}"/>
- + <Button Margin="0,0,3,0" Padding="0" Visibility="{Binding Path=IsAuthor, Converter={StaticResource BooleanToVisibilityConverter}}"
- + Command="MiniTwitter_Input:Commands.Delete" CommandParameter="{Binding}" Style="{DynamicResource ImageButtonStyle}">
- + <Image Width="14" Height="14" Style="{DynamicResource CrossImageStyle}"/>
- + </Button>
- + <Button Margin="0,0,3,0" Padding="0" Command="MiniTwitter_Input:Commands.Favorite"
- + CommandParameter="{Binding}" Style="{DynamicResource ImageButtonStyle}">
- + <Image Width="14" Height="14" Style="{DynamicResource FavoriteImageStyle}"/>
- + </Button>
- + <Button Margin="0,0,3,0" Padding="0" Command="MiniTwitter_Input:Commands.Reply" ToolTip="Reply"
- + CommandParameter="{Binding}" Style="{DynamicResource ImageButtonStyle}">
- + <Image Width="14" Height="14" Style="{DynamicResource ArrowReplyImageStyle}"/>
- + </Button>
- + <Button Margin="0,0,3,0" Padding="0" Command="MiniTwitter_Input:Commands.ReTweet" ToolTip="?????? ReTweet"
- + CommandParameter="{Binding}" Style="{DynamicResource ImageButtonStyle}">
- + <Image Width="14" Height="14" Style="{DynamicResource ArrowReTweetImageStyle}"/>
- + </Button>
- + </WrapPanel>
- + </StackPanel>
- + </Grid>
- + </DataTemplate>
- +
- + <DataTemplate x:Key="TightMessageTemplate" DataType="{x:Type MiniTwitter_Net_Twitter:DirectMessage}">
- + <Grid Margin="3,3,3,3" SnapsToDevicePixels="True">
- + <Grid.ColumnDefinitions>
- + <ColumnDefinition Width="Auto"/>
- + <ColumnDefinition Width="*"/>
- + </Grid.ColumnDefinitions>
- + <Grid Width="36" Height="36" Margin="0,0,8,0" Grid.Column="0" VerticalAlignment="Top"
- + Visibility="{Binding Source={x:Static MiniTwitter_Properties:Settings.Default}, Path=IsIconVisible, Converter={StaticResource BooleanToVisibilityConverter}}">
- + <Image Width="24" Height="24" VerticalAlignment="Top" HorizontalAlignment="Left" Source="{Binding Path=Sender.ImageUrl}" ToolTip="{Binding Path=Sender.Name}"/>
- + <Image Width="12" Height="12" VerticalAlignment="Bottom" HorizontalAlignment="Right" Source="{Binding Path=Recipient.ImageUrl}" ToolTip="{Binding Path=Recipient.Name}"/>
- + </Grid>
- + <StackPanel Grid.Column="1">
- + <StackPanel Orientation="Horizontal">
- + <MiniTwitter_Controls:HyperlinkButton Text="{Binding Path=Sender.ScreenName}" ToolTip="{Binding Path=Sender.Name}" FontWeight="Bold" FontSize="11" HorizontalAlignment="Left" VerticalAlignment="Center" Command="MiniTwitter_Input:Commands.MoveToUserPage" CommandParameter="{Binding}"/>
- + <Image Width="12" Height="12" Margin="3,0,0,0" Visibility="{Binding Path=Sender.Protected, Converter={StaticResource BooleanToVisibilityConverter}}" Style="{DynamicResource ProtectImageStyle}"/>
- + <Image Width="12" Height="12" Margin="3,0,0,0" Visibility="{Binding Path=IsNewest, Converter={StaticResource BooleanToVisibilityConverter}}" Style="{DynamicResource NewImageStyle}"/>
- + </StackPanel>
- + <MiniTwitter_Controls:TextViewer Text="{Binding Path=Text}" Style="{StaticResource TightTimelineTextStyle}"/>
- + <WrapPanel>
- + <TextBlock Text="{Binding Path=RelativeTime}" FontSize="10" Margin="0,0,3,0" VerticalAlignment="Center">
- + <TextBlock.ToolTip>
- + <TextBlock Text="{Binding Path=CreatedAt, StringFormat=yyyy/MM/dd HH:mm:ss}"/>
- + </TextBlock.ToolTip>
- + </TextBlock>
- + <Button Margin="0,0,3,0" Padding="0" Command="MiniTwitter_Input:Commands.Delete" CommandParameter="{Binding}" Style="{DynamicResource ImageButtonStyle}">
- + <Image Width="14" Height="14" Style="{DynamicResource CrossImageStyle}"/>
- + </Button>
- + <Button Margin="0,0,3,0" Padding="0" Command="MiniTwitter_Input:Commands.ReplyMessage" CommandParameter="{Binding}" Style="{DynamicResource ImageButtonStyle}">
- + <Image Width="14" Height="14" Style="{DynamicResource ArrowReplyImageStyle}"/>
- + </Button>
- + </WrapPanel>
- + </StackPanel>
- + </Grid>
- + </DataTemplate>
- +
- </ResourceDictionary>
- \ No newline at end of file
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/SettingDialog.xaml MiniTwitter-ma/MiniTwitter/SettingDialog.xaml
- --- MiniTwitter/MiniTwitter/SettingDialog.xaml 2010-01-16 19:32:35.000000000 +0900
- +++ MiniTwitter-ma/MiniTwitter/SettingDialog.xaml 2010-01-22 22:32:26.015625000 +0900
- @@ -1,4 +1,5 @@
- -?<Window
- +?<!-- modified by ksksts. see modified-files.diff -->
- +<Window
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:MiniTwitter="clr-namespace:MiniTwitter"
- @@ -103,11 +104,34 @@
- <Button Content="?????" Width="90" IsCancel="True" Click="CancelButton_Click"/>
- </StackPanel>
- <Canvas Grid.Column="2" Grid.Row="0" Visibility="{Binding Path=IsSelected, ElementName=AccountListBoxItem, Converter={StaticResource BooleanToVisibilityConverter}}">
- - <TextBlock Text="?????" TextWrapping="Wrap" Canvas.Left="14" Canvas.Top="17"/>
- - <TextBlock Text="?????" TextWrapping="Wrap" Canvas.Left="14" Canvas.Top="45"/>
- - <TextBox Width="200" InputMethod.IsInputMethodEnabled="False" Canvas.Left="110" Canvas.Top="14" Text="{Binding Path=Username}"/>
- - <PasswordBox x:Name="PasswordBox" Width="200" Canvas.Left="110" Canvas.Top="42"/>
- - </Canvas>
- + <ListView x:Name="AccountListView" Width="347" Height="162" IsSynchronizedWithCurrentItem="True" SelectedIndex="0"
- + VerticalContentAlignment="Center" Canvas.Left="14" Canvas.Top="14" SelectionChanged="AccountListView_SelectionChanged">
- + <ListView.View>
- + <GridView AllowsColumnReorder="False">
- + <GridViewColumn Header="?????" Width="120">
- + <GridViewColumn.CellTemplate>
- + <DataTemplate>
- + <TextBlock Text="{Binding Path=Username}" Margin="4,0,0,0" VerticalAlignment="Center"/>
- + </DataTemplate>
- + </GridViewColumn.CellTemplate>
- + </GridViewColumn>
- + <GridViewColumn Header="?????" Width="180">
- + <GridViewColumn.CellTemplate>
- + <DataTemplate>
- + <TextBlock Text="{Binding Path=HiddenPassword}" Margin="4,0,0,0" VerticalAlignment="Center"/>
- + </DataTemplate>
- + </GridViewColumn.CellTemplate>
- + </GridViewColumn>
- + </GridView>
- + </ListView.View>
- + </ListView>
- + <TextBlock Text="?????" TextWrapping="Wrap" Canvas.Left="14" Canvas.Top="185"/>
- + <TextBlock Text="?????" TextWrapping="Wrap" Canvas.Left="14" Canvas.Top="213"/>
- + <TextBox x:Name="EditingUsernameBox" Width="251" InputMethod.IsInputMethodEnabled="False" Canvas.Left="110" Canvas.Top="182"/>
- + <PasswordBox x:Name="EditingPasswordBox" Width="251" InputMethod.IsInputMethodEnabled="False" Canvas.Left="110" Canvas.Top="210"/>
- + <Button x:Name="AddAccountButton" Content="??" Width="75" Canvas.Left="128" Canvas.Top="238" Click="AddAccountButton_Click" />
- + <Button x:Name="UpdateAccountButton" Content="??" Width="75" Canvas.Left="207" Canvas.Top="238" Click="UpdateAccountButton_Click" />
- + <Button x:Name="DeleteAccountButton" Content="??" Width="75" Canvas.Left="286" Canvas.Top="238" Click="DeleteAccountButton_Click" /> </Canvas>
- <Canvas Grid.Column="2" Grid.Row="0" Visibility="{Binding Path=IsSelected, ElementName=NetworkListBoxItem, Converter={StaticResource BooleanToVisibilityConverter}}">
- <CheckBox x:Name="UseProxyCheckBox" Content="????????????" Canvas.Left="14" Canvas.Top="14" IsChecked="{Binding Path=UseProxy}"/>
- <CheckBox x:Name="UseIEProxyCheckBox" Content="Internet Explorer ????????" Canvas.Left="14" Canvas.Top="36" IsChecked="{Binding Path=UseIEProxy}" IsEnabled="{Binding Path=IsChecked, ElementName=UseProxyCheckBox}"/>
- diff -urN -xobj -xbin -xmodified-files.diff MiniTwitter/MiniTwitter/SettingDialog.xaml.cs MiniTwitter-ma/MiniTwitter/SettingDialog.xaml.cs
- --- MiniTwitter/MiniTwitter/SettingDialog.xaml.cs 2010-01-16 19:32:35.015625000 +0900
- +++ MiniTwitter-ma/MiniTwitter/SettingDialog.xaml.cs 2010-01-22 22:33:56.953125000 +0900
- @@ -1,4 +1,5 @@
- -?using System;
- +?/* modified by ksksts. see modified-files.diff */
- +using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Linq;
- @@ -35,6 +36,7 @@
- private ObservableCollection<MiniTwitter.Input.KeyBinding> keyBindings;
- private ObservableCollection<SoundBinding> soundBindings;
- private ObservableCollection<KeywordBinding> keywordBindings;
- + private ObservableCollection<Account> accounts;
-
- private static readonly PopupLocation[] locations = new[]
- {
- @@ -61,8 +63,7 @@
- {
- // ??????????????????
- Settings settings = Settings.Default;
- - // ???????????????
- - PasswordBox.Password = settings.Password;
- + // ?????????
- ProxyPasswordBox.Password = settings.ProxyPassword;
- // ??????????????
- var array = Enum.GetValues(typeof(KeyAction));
- @@ -85,6 +86,15 @@
- keywordBindings = new ObservableCollection<KeywordBinding>(settings.KeywordBindings ?? Enumerable.Empty<KeywordBinding>());
- keywordBindings.BeginEdit();
- KeywordListView.ItemsSource = keywordBindings;
- + // ???????
- + accounts = new ObservableCollection<Account>(settings.Accounts ?? Enumerable.Empty<Account>());
- + accounts.BeginEdit();
- + AccountListView.ItemsSource = accounts;
- + // ???????????????
- + if (settings.CurrentAccountIndex < AccountListView.Items.Count)
- + {
- + AccountListView.SelectedIndex = settings.CurrentAccountIndex;
- + }
- // ??????????
- TweetFooterComboBox.ItemsSource = settings.TweetFooterHistory;
- BindingGroup.BeginEdit();
- @@ -97,7 +107,6 @@
- // ?????????????????
- Settings settings = Settings.Default;
- // ????????
- - settings.Password = PasswordBox.Password;
- settings.ProxyPassword = ProxyPasswordBox.Password;
- // ???????????????
- if (KeyMappingComboBox.SelectedValue != null)
- @@ -121,11 +130,19 @@
- {
- settings.KeywordBindings.Add(item);
- }
- + // ??????????
- + settings.Accounts.Clear();
- + foreach (var item in accounts)
- + {
- + settings.Accounts.Add(item);
- + }
- // ??????????????
- if (!settings.TweetFooter.IsNullOrEmpty() && !settings.TweetFooterHistory.Contains(settings.TweetFooter))
- {
- settings.TweetFooterHistory.Add(settings.TweetFooter);
- }
- + // ??????????????????
- + settings.CurrentAccountIndex = AccountListView.SelectedIndex;
- DialogResult = true;
- }
-
- @@ -135,9 +152,58 @@
- keyBindings.CancelEdit();
- soundBindings.CancelEdit();
- keywordBindings.CancelEdit();
- + accounts.CancelEdit();
- DialogResult = false;
- }
-
- + private void AccountListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
- + {
- + var item = (Account)AccountListView.SelectedItem;
- + EditingUsernameBox.Text = item != null ? item.Username : "";
- + EditingPasswordBox.Password = item != null ? item.Password : "";
- + UpdateAccountButton.IsEnabled = item != null;
- + DeleteAccountButton.IsEnabled = item != null;
- + }
- +
- + private void AddAccountButton_Click(object sender, RoutedEventArgs e)
- + {
- + var username = EditingUsernameBox.Text;
- + var password = EditingPasswordBox.Password;
- + if (username.IsNullOrEmpty() || password.IsNullOrEmpty())
- + {
- + return;
- + }
- + var account = new Account { Username = username, Password = password };
- + accounts.Add(account);
- + }
- +
- + private void UpdateAccountButton_Click(object sender, RoutedEventArgs e)
- + …
Large files files are truncated, but you can click here to view the full file