예제 #1
0
        private void OnButtonClick(object sender, EventArgs e)
        {
            if (ItemOrButtonClick != null)
            {
                PEDCalcValue pcv;
                PEDC         unit = PEDC.Days;
                PEDCListItem i    = m_cbUnit.Items[m_cbUnit.SelectedIndex] as PEDCListItem;
                unit = i.Unit;
                int dummy = -1;
                if (!int.TryParse(m_tbValue.Text, out dummy) || (dummy == -1))
                {
                    pcv = new PEDCalcValue(PEDC.Inherit);
                    PluginDebug.AddInfo("Converted expiry value", 0, "Given: " + m_tbValue.Text, "Converted: " + pcv.unit.ToString());
                }
                else if (dummy <= 0)
                {
                    pcv = new PEDCalcValue(PEDC.Off);
                    PluginDebug.AddInfo("Converted expiry value", 0, "Given: " + m_tbValue.Text, "Converted: " + pcv.unit.ToString());
                }
                else
                {
                    pcv = new PEDCalcValue(unit, dummy);
                }

                QuickActionEventArgs qe = new QuickActionEventArgs(pcv);
                ItemOrButtonClick(this, qe);
            }
        }
예제 #2
0
        internal void SetValue(PEDCalcValue pcv)
        {
            FontStyle fs      = DropDown.Items[0].Font.Style & ~FontStyle.Bold;
            Font      f       = new Font(DropDown.Items[0].Font, fs);
            Font      fActive = new Font(DropDown.Items[0].Font, fs | FontStyle.Bold);

            DropDown.Items[1].Font = pcv.Off ? fActive : f;
            DropDown.Items[3].Font = pcv.Inherit ? fActive : f;

            if (KeePassLib.Native.NativeLib.IsUnix())             //Mono does not support changing the fontstyle
            {
                DropDown.Items[0].Text = DropDown.Items[1].Text.Replace("-> ", "");
                DropDown.Items[1].Text = DropDown.Items[3].Text.Replace("-> ", "");
                if (pcv.Off)
                {
                    DropDown.Items[1].Text = "-> " + DropDown.Items[1].Text;
                }
                if (pcv.Inherit)
                {
                    DropDown.Items[3].Text = "-> " + DropDown.Items[3].Text;
                }
            }
            DropDown.Items[0].Image = pcv.Off ? PEDCalcExt.m_iconActive : PEDCalcExt.m_iconInactive;
            DropDown.Items[2].Image = pcv.Inherit ? PEDCalcExt.m_iconActive : PEDCalcExt.m_iconInactive;

            if (pcv.Specific)
            {
                m_tbValue.Text = pcv.value.ToString();
                for (int i = 0; i < m_cbUnit.Items.Count; i++)
                {
                    PEDCListItem pli = m_cbUnit.Items[i] as PEDCListItem;
                    if (pli != null && pli.Unit == pcv.unit)
                    {
                        m_cbUnit.SelectedIndex = i;
                        break;
                    }
                }
            }
            else
            {
                if (KeePass.Program.Config.Defaults.NewEntryExpiresInDays > 0)
                {
                    m_tbValue.Text = KeePass.Program.Config.Defaults.NewEntryExpiresInDays.ToString();
                }
                m_cbUnit.SelectedIndex = 0;
            }

            DropDown.Items[DropDown.Items.Count - 4].Image = !pcv.Off && !pcv.Inherit ? PEDCalcExt.m_iconActive : PEDCalcExt.m_iconInactive;
            m_b.CheckState = !pcv.Off && !pcv.Inherit ? CheckState.Checked : CheckState.Unchecked;
        }