private void UpdateTitle() { string t = ""; if ((mStage.StageFileName == null || mStage.StageFileName == "") && mStage.RawFileName != null) { t = System.IO.Path.GetFileName(mStage.RawFileName) + " — " + MainClass.APP_NAME; } else if (mStage.RawFileName != null) { string ern = ReceiptsManager.ExtractReceiptName(mStage.StageFileName, mStage.RawFileName); if (ern != null && ern != "") { t = System.IO.Path.GetFileName(mStage.RawFileName) + " (" + ern + ") — " + MainClass.APP_NAME; } else { t = System.IO.Path.GetFileName(mStage.RawFileName) + " — " + MainClass.APP_NAME; } } else { t = MainClass.APP_NAME; } Title = t; }
void HandleUIChange(object sender, EventArgs e) { if (!mUIChangingInProgress) { mUIChangingInProgress = true; try { if (mDefault.Active) { mNameComboBoxEntry.Sensitive = false; mSaveButton.Sensitive = true; } else if (mCustom.Active) { mNameComboBoxEntry.Sensitive = true; mSaveButton.Sensitive = (mNameComboBoxEntry.ActiveText != ""); // Updating names list ListStore ls = (ListStore)mNameComboBoxEntry.Model; ls.Clear(); string[] customReceipts = CatEye.Core.ReceiptsManager.FindCustomReceiptsForRaw(mRawFileName); for (int i = 0; i < customReceipts.Length; i++) { ls.AppendValues(ReceiptsManager.ExtractReceiptName(customReceipts[i], mRawFileName)); } } else if (mClass.Active) { mNameComboBoxEntry.Sensitive = true; mSaveButton.Sensitive = (mNameComboBoxEntry.ActiveText != ""); // Updating names list ListStore ls = (ListStore)mNameComboBoxEntry.Model; ls.Clear(); string[] classReceipts = CatEye.Core.ReceiptsManager.FindClassReceiptsForRaw(mRawFileName); for (int i = 0; i < classReceipts.Length; i++) { ls.AppendValues(ReceiptsManager.ExtractReceiptName(classReceipts[i], mRawFileName)); } } } finally { mUIChangingInProgress = false; } } }
protected void OnSaveReceiptAsActionActivated(object sender, System.EventArgs e) { ReceiptSaveDialog rsd = new ReceiptSaveDialog(this, mStage.RawFileName); if (ReceiptsManager.DetermineReceiptType(mStage.StageFileName, mStage.RawFileName) == ReceiptsManager.ReceiptType.Custom) { rsd.SelectedType = ReceiptSaveDialog.ReceiptType.Custom; } else if (ReceiptsManager.DetermineReceiptType(mStage.StageFileName, mStage.RawFileName) == ReceiptsManager.ReceiptType.Class) { rsd.SelectedType = ReceiptSaveDialog.ReceiptType.Class; } else { rsd.SelectedType = ReceiptSaveDialog.ReceiptType.Default; } rsd.SelectedName = ReceiptsManager.ExtractReceiptName(mStage.StageFileName, mStage.RawFileName); if (rsd.Run() == (int)Gtk.ResponseType.Accept) { if (rsd.SelectedType == ReceiptSaveDialog.ReceiptType.Default) { mStage.SaveStage(ReceiptsManager.MakeDefaultOrCustomReceiptFilename(mStage.RawFileName, null)); } else if (rsd.SelectedType == ReceiptSaveDialog.ReceiptType.Custom) { mStage.SaveStage(ReceiptsManager.MakeDefaultOrCustomReceiptFilename(mStage.RawFileName, rsd.SelectedName)); } else if (rsd.SelectedType == ReceiptSaveDialog.ReceiptType.Class) { mStage.SaveStage(ReceiptsManager.MakeClassReceiptFilename(System.IO.Path.GetDirectoryName(mStage.RawFileName), rsd.SelectedName)); } else { throw new Exception("Invalid rsd.SelectedType value"); } } rsd.Destroy(); }