{
public partial class AppendSettingDialog : OTBaseForm
{
- private static AppendSettingDialog _instance = new AppendSettingDialog();
- private Twitter tw;
+ internal Twitter tw;
private bool _ValidationError = false;
- private MyCommon.EVENTTYPE _MyEventNotifyFlag;
- private MyCommon.EVENTTYPE _isMyEventNotifyFlag;
- public List<UserAccount> UserAccounts;
private long? InitialUserId;
- public bool IsRemoveSameEvent;
public TwitterConfiguration TwitterConfiguration = TwitterConfiguration.DefaultConfiguration();
public void LoadConfig(SettingCommon settingCommon, SettingLocal settingLocal)
{
+ this.BasedPanel.LoadConfig(settingCommon);
this.GetPeriodPanel.LoadConfig(settingCommon);
this.StartupPanel.LoadConfig(settingCommon);
this.TweetPrvPanel.LoadConfig(settingCommon);
this.ProxyPanel.LoadConfig(settingLocal);
this.CooperatePanel.LoadConfig(settingCommon);
this.ConnectionPanel.LoadConfig(settingCommon);
+ this.NotifyPanel.LoadConfig(settingCommon);
+
+ var activeUser = settingCommon.UserAccounts.FirstOrDefault(x => x.UserId == this.tw.UserId);
+ if (activeUser != null)
+ {
+ this.BasedPanel.AuthUserCombo.SelectedItem = activeUser;
+ this.InitialUserId = activeUser.UserId;
+ }
}
public void SaveConfig(SettingCommon settingCommon, SettingLocal settingLocal)
{
+ this.BasedPanel.SaveConfig(settingCommon);
this.GetPeriodPanel.SaveConfig(settingCommon);
this.StartupPanel.SaveConfig(settingCommon);
this.TweetPrvPanel.SaveConfig(settingCommon);
this.ProxyPanel.SaveConfig(settingLocal);
this.CooperatePanel.SaveConfig(settingCommon);
this.ConnectionPanel.SaveConfig(settingCommon);
+ this.NotifyPanel.SaveConfig(settingCommon);
+
+ var userAccountIdx = this.BasedPanel.AuthUserCombo.SelectedIndex;
+ if (userAccountIdx != -1)
+ {
+ var u = settingCommon.UserAccounts[userAccountIdx];
+ this.tw.Initialize(u.Token, u.TokenSecret, u.Username, u.UserId);
+
+ if (u.UserId == 0)
+ {
+ this.tw.VerifyCredentials();
+ u.UserId = this.tw.UserId;
+ }
+ }
+ else
+ {
+ this.tw.ClearAuthInfo();
+ this.tw.Initialize("", "", "", 0);
+ }
}
private void TreeViewSetting_BeforeSelect(object sender, TreeViewCancelEventArgs e)
_ValidationError = false;
}
- this.UserAccounts.Clear();
- foreach (object u in this.BasedPanel.AuthUserCombo.Items)
- {
- this.UserAccounts.Add((UserAccount)u);
- }
- if (this.BasedPanel.AuthUserCombo.SelectedIndex > -1)
- {
- foreach (UserAccount u in this.UserAccounts)
- {
- if (u.Username.ToLower() == ((UserAccount)this.BasedPanel.AuthUserCombo.SelectedItem).Username.ToLower())
- {
- tw.Initialize(u.Token, u.TokenSecret, u.Username, u.UserId);
- if (u.UserId == 0)
- {
- tw.VerifyCredentials();
- u.UserId = tw.UserId;
- }
- break;
- }
- }
- }
- else
- {
- tw.ClearAuthInfo();
- tw.Initialize("", "", "", 0);
- }
-
#if UA
//フォロー
if (this.FollowCheckBox.Checked)
string ret = tw.PostFollowCommand(ApplicationSettings.FeedbackTwitterName);
}
#endif
- try
- {
- EventNotifyEnabled = this.NotifyPanel.CheckEventNotify.Checked;
- GetEventNotifyFlag(ref _MyEventNotifyFlag, ref _isMyEventNotifyFlag);
- ForceEventNotify = this.NotifyPanel.CheckForceEventNotify.Checked;
- FavEventUnread = this.NotifyPanel.CheckFavEventUnread.Checked;
- EventSoundFile = (string)this.NotifyPanel.ComboBoxEventNotifySound.SelectedItem;
- this.IsRemoveSameEvent = this.NotifyPanel.IsRemoveSameFavEventCheckBox.Checked;
- }
- catch(Exception)
- {
- MessageBox.Show(Properties.Resources.Save_ClickText3);
- this.DialogResult = DialogResult.Cancel;
- return;
- }
}
private void Setting_FormClosing(object sender, FormClosingEventArgs e)
{
if (MyCommon._endingFlag) return;
- if (this.DialogResult == DialogResult.Cancel)
- {
- //キャンセル時は画面表示時のアカウントに戻す
- //キャンセル時でも認証済みアカウント情報は保存する
- this.UserAccounts.Clear();
- foreach (object u in this.BasedPanel.AuthUserCombo.Items)
- {
- this.UserAccounts.Add((UserAccount)u);
- }
- //アクティブユーザーを起動時のアカウントに戻す(起動時アカウントなければ何もしない)
- bool userSet = false;
- if (this.InitialUserId != null)
- {
- foreach (UserAccount u in this.UserAccounts)
- {
- if (u.UserId == this.InitialUserId)
- {
- tw.Initialize(u.Token, u.TokenSecret, u.Username, u.UserId);
- userSet = true;
- break;
- }
- }
- }
- //認証済みアカウントが削除されていた場合、もしくは起動時アカウントがなかった場合は、
- //アクティブユーザーなしとして初期化
- if (!userSet)
- {
- tw.ClearAuthInfo();
- tw.Initialize("", "", "", 0);
- }
- }
-
if (tw != null && string.IsNullOrEmpty(tw.Username) && e.CloseReason == CloseReason.None)
{
if (MessageBox.Show(Properties.Resources.Setting_FormClosing1, "Confirm", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
private void Setting_Load(object sender, EventArgs e)
{
- tw = ((TweenMain)this.Owner).TwitterInstance;
- //this.AuthStateLabel.Enabled = true;
- //this.AuthUserLabel.Enabled = true;
- this.BasedPanel.AuthClearButton.Enabled = true;
-
- //if (tw.Username == "")
- //{
- // //this.AuthStateLabel.Text = Properties.Resources.AuthorizeButton_Click4
- // //this.AuthUserLabel.Text = ""
- // //this.Save.Enabled = false
- //}
- //else
- //{
- // //this.AuthStateLabel.Text = Properties.Resources.AuthorizeButton_Click3;
- // //if (TwitterApiInfo.AccessLevel == ApiAccessLevel.ReadWrite)
- // //{
- // // this.AuthStateLabel.Text += "(xAuth)";
- // //}
- // //else if (TwitterApiInfo.AccessLevel == ApiAccessLevel.ReadWriteAndDirectMessage)
- // //{
- // // this.AuthStateLabel.Text += "(OAuth)";
- // //}
- // //this.AuthUserLabel.Text = tw.Username;
- //}
-
- this.BasedPanel.AuthUserCombo.Items.Clear();
- if (this.UserAccounts.Count > 0)
- {
- this.BasedPanel.AuthUserCombo.Items.AddRange(this.UserAccounts.ToArray());
- foreach (UserAccount u in this.UserAccounts)
- {
- if (u.UserId == tw.UserId)
- {
- this.BasedPanel.AuthUserCombo.SelectedItem = u;
- this.InitialUserId = u.UserId;
- break;
- }
- }
- }
-
- ApplyEventNotifyFlag(EventNotifyEnabled, EventNotifyFlag, IsMyEventNotifyFlag);
- this.NotifyPanel.CheckForceEventNotify.Checked = ForceEventNotify;
- this.NotifyPanel.CheckFavEventUnread.Checked = FavEventUnread;
- SoundFileListup();
-
- this.NotifyPanel.IsRemoveSameFavEventCheckBox.Checked = this.IsRemoveSameEvent;
-
this.TreeViewSetting.Nodes["BasedNode"].Tag = BasedPanel;
this.TreeViewSetting.Nodes["BasedNode"].Nodes["PeriodNode"].Tag = GetPeriodPanel;
this.TreeViewSetting.Nodes["BasedNode"].Nodes["StartUpNode"].Tag = StartupPanel;
}
}
- private void btnFontAndColor_Click(object sender, EventArgs e) // Handles btnUnread.Click, btnDetail.Click, btnListFont.Click, btnInputFont.Click
- {
- Button Btn = (Button) sender;
- DialogResult rtn;
-
- FontDialog1.AllowVerticalFonts = false;
- FontDialog1.AllowScriptChange = true;
- FontDialog1.AllowSimulations = true;
- FontDialog1.AllowVectorFonts = true;
- FontDialog1.FixedPitchOnly = false;
- FontDialog1.FontMustExist = true;
- FontDialog1.ScriptsOnly = false;
- FontDialog1.ShowApply = false;
- FontDialog1.ShowEffects = true;
- FontDialog1.ShowColor = true;
-
- switch (Btn.Name)
- {
- case "btnUnread":
- FontDialog1.Color = this.FontPanel.lblUnread.ForeColor;
- FontDialog1.Font = this.FontPanel.lblUnread.Font;
- break;
- case "btnDetail":
- FontDialog1.Color = this.FontPanel.lblDetail.ForeColor;
- FontDialog1.Font = this.FontPanel.lblDetail.Font;
- break;
- case "btnListFont":
- FontDialog1.Color = this.FontPanel.lblListFont.ForeColor;
- FontDialog1.Font = this.FontPanel.lblListFont.Font;
- break;
- case "btnInputFont":
- FontDialog1.Color = this.FontPanel2.lblInputFont.ForeColor;
- FontDialog1.Font = this.FontPanel2.lblInputFont.Font;
- break;
- }
-
- try
- {
- rtn = FontDialog1.ShowDialog();
- }
- catch(ArgumentException ex)
- {
- MessageBox.Show(ex.Message);
- return;
- }
-
- if (rtn == DialogResult.Cancel) return;
-
- switch (Btn.Name)
- {
- case "btnUnread":
- this.FontPanel.lblUnread.ForeColor = FontDialog1.Color;
- this.FontPanel.lblUnread.Font = FontDialog1.Font;
- break;
- case "btnDetail":
- this.FontPanel.lblDetail.ForeColor = FontDialog1.Color;
- this.FontPanel.lblDetail.Font = FontDialog1.Font;
- break;
- case "btnListFont":
- this.FontPanel.lblListFont.ForeColor = FontDialog1.Color;
- this.FontPanel.lblListFont.Font = FontDialog1.Font;
- break;
- case "btnInputFont":
- this.FontPanel2.lblInputFont.ForeColor = FontDialog1.Color;
- this.FontPanel2.lblInputFont.Font = FontDialog1.Font;
- break;
- }
-
- }
-
- private void btnColor_Click(object sender, EventArgs e) //Handles btnSelf.Click, btnAtSelf.Click, btnTarget.Click, btnAtTarget.Click, btnAtFromTarget.Click, btnFav.Click, btnOWL.Click, btnInputBackcolor.Click, btnAtTo.Click, btnListBack.Click, btnDetailBack.Click, btnDetailLink.Click, btnRetweet.Click
- {
- Button Btn = (Button)sender;
- DialogResult rtn;
-
- ColorDialog1.AllowFullOpen = true;
- ColorDialog1.AnyColor = true;
- ColorDialog1.FullOpen = false;
- ColorDialog1.SolidColorOnly = false;
-
- switch (Btn.Name)
- {
- case "btnSelf":
- ColorDialog1.Color = this.FontPanel2.lblSelf.BackColor;
- break;
- case "btnAtSelf":
- ColorDialog1.Color = this.FontPanel2.lblAtSelf.BackColor;
- break;
- case "btnTarget":
- ColorDialog1.Color = this.FontPanel2.lblTarget.BackColor;
- break;
- case "btnAtTarget":
- ColorDialog1.Color = this.FontPanel2.lblAtTarget.BackColor;
- break;
- case "btnAtFromTarget":
- ColorDialog1.Color = this.FontPanel2.lblAtFromTarget.BackColor;
- break;
- case "btnFav":
- ColorDialog1.Color = this.FontPanel.lblFav.ForeColor;
- break;
- case "btnOWL":
- ColorDialog1.Color = this.FontPanel.lblOWL.ForeColor;
- break;
- case "btnRetweet":
- ColorDialog1.Color = this.FontPanel.lblRetweet.ForeColor;
- break;
- case "btnInputBackcolor":
- ColorDialog1.Color = this.FontPanel2.lblInputBackcolor.BackColor;
- break;
- case "btnAtTo":
- ColorDialog1.Color = this.FontPanel2.lblAtTo.BackColor;
- break;
- case "btnListBack":
- ColorDialog1.Color = this.FontPanel2.lblListBackcolor.BackColor;
- break;
- case "btnDetailBack":
- ColorDialog1.Color = this.FontPanel.lblDetailBackcolor.BackColor;
- break;
- case "btnDetailLink":
- ColorDialog1.Color = this.FontPanel.lblDetailLink.ForeColor;
- break;
- }
-
- rtn = ColorDialog1.ShowDialog();
-
- if (rtn == DialogResult.Cancel) return;
-
- switch (Btn.Name)
- {
- case "btnSelf":
- this.FontPanel2.lblSelf.BackColor = ColorDialog1.Color;
- break;
- case "btnAtSelf":
- this.FontPanel2.lblAtSelf.BackColor = ColorDialog1.Color;
- break;
- case "btnTarget":
- this.FontPanel2.lblTarget.BackColor = ColorDialog1.Color;
- break;
- case "btnAtTarget":
- this.FontPanel2.lblAtTarget.BackColor = ColorDialog1.Color;
- break;
- case "btnAtFromTarget":
- this.FontPanel2.lblAtFromTarget.BackColor = ColorDialog1.Color;
- break;
- case "btnFav":
- this.FontPanel.lblFav.ForeColor = ColorDialog1.Color;
- break;
- case "btnOWL":
- this.FontPanel.lblOWL.ForeColor = ColorDialog1.Color;
- break;
- case "btnRetweet":
- this.FontPanel.lblRetweet.ForeColor = ColorDialog1.Color;
- break;
- case "btnInputBackcolor":
- this.FontPanel2.lblInputBackcolor.BackColor = ColorDialog1.Color;
- break;
- case "btnAtTo":
- this.FontPanel2.lblAtTo.BackColor = ColorDialog1.Color;
- break;
- case "btnListBack":
- this.FontPanel2.lblListBackcolor.BackColor = ColorDialog1.Color;
- break;
- case "btnDetailBack":
- this.FontPanel.lblDetailBackcolor.BackColor = ColorDialog1.Color;
- break;
- case "btnDetailLink":
- this.FontPanel.lblDetailLink.ForeColor = ColorDialog1.Color;
- break;
- }
- }
-
public string RecommendStatusText { get; set; }
- public bool EventNotifyEnabled { get; set; }
-
- public MyCommon.EVENTTYPE EventNotifyFlag
- {
- get
- {
- return _MyEventNotifyFlag;
- }
- set
- {
- _MyEventNotifyFlag = value;
- }
- }
-
- public MyCommon.EVENTTYPE IsMyEventNotifyFlag
- {
- get
- {
- return _isMyEventNotifyFlag;
- }
- set
- {
- _isMyEventNotifyFlag = value;
- }
- }
-
- public bool ForceEventNotify { get; set; }
- public bool FavEventUnread { get; set; }
-
- public string EventSoundFile { get; set; }
-
private bool StartAuth()
{
//現在の設定内容で通信
this.GetPeriodPanel.LabelUserStreamActive.Visible = tw.UserStreamEnabled;
}
- public static AppendSettingDialog Instance
- {
- get { return _instance; }
- }
-
private bool BitlyValidation(string id, string apikey)
{
if (string.IsNullOrEmpty(id) || string.IsNullOrEmpty(apikey))
// ApplyEventNotifyFlag(EventNotifyEnabled, EventNotifyFlag, IsMyEventNotifyFlag);
//}
- private class EventCheckboxTblElement
- {
- public CheckBox CheckBox;
- public MyCommon.EVENTTYPE Type;
- }
-
- private EventCheckboxTblElement[] GetEventCheckboxTable()
- {
- EventCheckboxTblElement[] _eventCheckboxTable = new EventCheckboxTblElement[8];
-
- _eventCheckboxTable[0] = new EventCheckboxTblElement();
- _eventCheckboxTable[0].CheckBox = this.NotifyPanel.CheckFavoritesEvent;
- _eventCheckboxTable[0].Type = MyCommon.EVENTTYPE.Favorite;
-
- _eventCheckboxTable[1] = new EventCheckboxTblElement();
- _eventCheckboxTable[1].CheckBox = this.NotifyPanel.CheckUnfavoritesEvent;
- _eventCheckboxTable[1].Type = MyCommon.EVENTTYPE.Unfavorite;
-
- _eventCheckboxTable[2] = new EventCheckboxTblElement();
- _eventCheckboxTable[2].CheckBox = this.NotifyPanel.CheckFollowEvent;
- _eventCheckboxTable[2].Type = MyCommon.EVENTTYPE.Follow;
-
- _eventCheckboxTable[3] = new EventCheckboxTblElement();
- _eventCheckboxTable[3].CheckBox = this.NotifyPanel.CheckListMemberAddedEvent;
- _eventCheckboxTable[3].Type = MyCommon.EVENTTYPE.ListMemberAdded;
-
- _eventCheckboxTable[4] = new EventCheckboxTblElement();
- _eventCheckboxTable[4].CheckBox = this.NotifyPanel.CheckListMemberRemovedEvent;
- _eventCheckboxTable[4].Type = MyCommon.EVENTTYPE.ListMemberRemoved;
-
- _eventCheckboxTable[5] = new EventCheckboxTblElement();
- _eventCheckboxTable[5].CheckBox = this.NotifyPanel.CheckBlockEvent;
- _eventCheckboxTable[5].Type = MyCommon.EVENTTYPE.Block;
-
- _eventCheckboxTable[6] = new EventCheckboxTblElement();
- _eventCheckboxTable[6].CheckBox = this.NotifyPanel.CheckUserUpdateEvent;
- _eventCheckboxTable[6].Type = MyCommon.EVENTTYPE.UserUpdate;
-
- _eventCheckboxTable[7] = new EventCheckboxTblElement();
- _eventCheckboxTable[7].CheckBox = this.NotifyPanel.CheckListCreatedEvent;
- _eventCheckboxTable[7].Type = MyCommon.EVENTTYPE.ListCreated;
-
- return _eventCheckboxTable;
- }
-
- private void GetEventNotifyFlag(ref MyCommon.EVENTTYPE eventnotifyflag, ref MyCommon.EVENTTYPE isMyeventnotifyflag)
- {
- MyCommon.EVENTTYPE evt = MyCommon.EVENTTYPE.None;
- MyCommon.EVENTTYPE myevt = MyCommon.EVENTTYPE.None;
-
- foreach (EventCheckboxTblElement tbl in GetEventCheckboxTable())
- {
- switch (tbl.CheckBox.CheckState)
- {
- case CheckState.Checked:
- evt = evt | tbl.Type;
- myevt = myevt | tbl.Type;
- break;
- case CheckState.Indeterminate:
- evt = evt | tbl.Type;
- break;
- case CheckState.Unchecked:
- break;
- }
- }
- eventnotifyflag = evt;
- isMyeventnotifyflag = myevt;
- }
-
- private void ApplyEventNotifyFlag(bool rootEnabled, MyCommon.EVENTTYPE eventnotifyflag, MyCommon.EVENTTYPE isMyeventnotifyflag)
- {
- MyCommon.EVENTTYPE evt = eventnotifyflag;
- MyCommon.EVENTTYPE myevt = isMyeventnotifyflag;
-
- this.NotifyPanel.CheckEventNotify.Checked = rootEnabled;
-
- foreach (EventCheckboxTblElement tbl in GetEventCheckboxTable())
- {
- if ((evt & tbl.Type) != 0)
- {
- if ((myevt & tbl.Type) != 0)
- {
- tbl.CheckBox.CheckState = CheckState.Checked;
- }
- else
- {
- tbl.CheckBox.CheckState = CheckState.Indeterminate;
- }
- }
- else
- {
- tbl.CheckBox.CheckState = CheckState.Unchecked;
- }
- tbl.CheckBox.Enabled = rootEnabled;
- }
-
- }
-
- private void CheckEventNotify_CheckedChanged(object sender, EventArgs e)
- {
- foreach (EventCheckboxTblElement tbl in GetEventCheckboxTable())
- {
- tbl.CheckBox.Enabled = this.NotifyPanel.CheckEventNotify.Checked;
- }
- }
-
//private void CheckForceEventNotify_CheckedChanged(object sender, EventArgs e)
//{
// _MyForceEventNotify = CheckEventNotify.Checked;
// _MyTranslateLanguage = (new Google()).GetLanguageEnumFromIndex(ComboBoxTranslateLanguage.SelectedIndex);
//}
- private void SoundFileListup()
- {
- if (EventSoundFile == null) EventSoundFile = "";
- this.NotifyPanel.ComboBoxEventNotifySound.Items.Clear();
- this.NotifyPanel.ComboBoxEventNotifySound.Items.Add("");
- DirectoryInfo oDir = new DirectoryInfo(Application.StartupPath + Path.DirectorySeparatorChar);
- if (Directory.Exists(Path.Combine(Application.StartupPath, "Sounds")))
- {
- oDir = oDir.GetDirectories("Sounds")[0];
- }
- foreach (FileInfo oFile in oDir.GetFiles("*.wav"))
- {
- this.NotifyPanel.ComboBoxEventNotifySound.Items.Add(oFile.Name);
- }
- int idx = this.NotifyPanel.ComboBoxEventNotifySound.Items.IndexOf(EventSoundFile);
- if (idx == -1) idx = 0;
- this.NotifyPanel.ComboBoxEventNotifySound.SelectedIndex = idx;
- }
-
//private void ComboBoxEventNotifySound_VisibleChanged(object sender, EventArgs e)
//{
// SoundFileListup();
this.BasedPanel.StartAuthButton.Click += this.StartAuthButton_Click;
this.BasedPanel.CreateAccountButton.Click += this.CreateAccountButton_Click;
- this.NotifyPanel.CheckEventNotify.CheckedChanged += this.CheckEventNotify_CheckedChanged;
this.GetPeriodPanel.CheckPostAndGet.CheckedChanged += this.CheckPostAndGet_CheckedChanged;
this.ActionPanel.UReadMng.CheckedChanged += this.UReadMng_CheckedChanged;
- this.FontPanel.btnUnread.Click += this.btnFontAndColor_Click;
- this.FontPanel.btnDetail.Click += this.btnFontAndColor_Click;
- this.FontPanel.btnListFont.Click += this.btnFontAndColor_Click;
- this.FontPanel.btnFav.Click += this.btnColor_Click;
- this.FontPanel.btnOWL.Click += this.btnColor_Click;
- this.FontPanel.btnRetweet.Click += this.btnColor_Click;
- this.FontPanel.btnDetailBack.Click += this.btnColor_Click;
- this.FontPanel.btnDetailLink.Click += this.btnColor_Click;
- this.FontPanel2.btnInputFont.Click += this.btnFontAndColor_Click;
- this.FontPanel2.btnSelf.Click += this.btnColor_Click;
- this.FontPanel2.btnAtSelf.Click += this.btnColor_Click;
- this.FontPanel2.btnTarget.Click += this.btnColor_Click;
- this.FontPanel2.btnAtTarget.Click += this.btnColor_Click;
- this.FontPanel2.btnAtFromTarget.Click += this.btnColor_Click;
- this.FontPanel2.btnInputBackcolor.Click += this.btnColor_Click;
- this.FontPanel2.btnAtTo.Click += this.btnColor_Click;
- this.FontPanel2.btnListBack.Click += this.btnColor_Click;
this.Icon = Properties.Resources.MIcon;
}