AddSeparator() public méthode

public AddSeparator ( ) : void
Résultat void
Exemple #1
0
        private void CreateOpenWithList()
        {
            ReleaseOpenWithList();

            m_dynMenu.Clear();
            m_dynMenu.AddSeparator();

            m_lOpenWith = new List <OpenWithItem>();
            FindAppsByKnown();
            FindAppsByRegistry();

            if (m_lOpenWith.Count == 0)
            {
                m_dynMenu.Clear();                                    // Remove separator
            }
        }
Exemple #2
0
        private void CreateOpenWithList()
        {
            ReleaseOpenWithList();

            m_dynMenu.Clear();
            m_dynMenu.AddSeparator();

            m_lOpenWith = new List <OpenWithItem>();
            FindAppsByKnown();
            FindAppsByRegistry();
            FinishOpenWithList();

            if (m_lOpenWith.Count == 0)
            {
                m_dynMenu.Clear();                                    // Remove separator
            }
            else
            {
                List <char> lAvailKeys = new List <char>(PwCharSet.MenuAccels);

                // Remove keys that are used by non-dynamic menu items
                foreach (ToolStripItem tsi in m_tsmiHost.DropDownItems)
                {
                    string str = ((tsi != null) ? tsi.Text : null);
                    if (!string.IsNullOrEmpty(str))
                    {
                        str = str.Replace(@"&&", string.Empty);
                        int i = str.IndexOf('&');
                        Debug.Assert(i == str.LastIndexOf('&'));
                        if ((i >= 0) && (i < (str.Length - 1)))
                        {
                            lAvailKeys.Remove(char.ToLowerInvariant(str[i + 1]));
                            lAvailKeys.Remove(char.ToUpperInvariant(str[i + 1]));
                        }
                    }
                }

                foreach (OpenWithItem it in m_lOpenWith)
                {
                    it.AddMenuItem(lAvailKeys);
                }
            }
        }
		private void UpdateTagsMenu(DynamicMenu dm, bool bWithSeparator, bool bPrefixTag,
			TagsMenuMode tmm)
		{
			if(dm == null) { Debug.Assert(false); return; }
			dm.Clear();

			if(bWithSeparator) dm.AddSeparator();

			string strNoTags = "(" + KPRes.TagsNotFound + ")";
			PwDatabase pd = m_docMgr.ActiveDatabase;
			if(!pd.IsOpen || (tmm == TagsMenuMode.EnsurePopupOnly))
			{
				ToolStripMenuItem tsmi = dm.AddItem(strNoTags, null, string.Empty);
				tsmi.Enabled = false;
				return;
			}

			bool bReqEntrySel = ((tmm == TagsMenuMode.Add) || (tmm == TagsMenuMode.Remove));
			IDictionary<string, uint> dAllTags = pd.RootGroup.BuildEntryTagsDict(true);
			PwGroup pgSel = GetSelectedEntriesAsGroup();
			uint uSelCount = pgSel.Entries.UCount;
			bool bForceDisabled = (bReqEntrySel && (uSelCount == 0));

			Dictionary<string, bool> dEnabledTags = null;
			if((tmm == TagsMenuMode.Add) && (uSelCount > 0))
			{
				dEnabledTags = new Dictionary<string, bool>(StrUtil.CaseIgnoreComparer);
				List<string> lIntersect = pgSel.Entries.GetAt(0).Tags;
				for(uint u = 1; u < uSelCount; ++u)
					lIntersect = new List<string>(MemUtil.Intersect(lIntersect,
						pgSel.Entries.GetAt(u).Tags, StrUtil.CaseIgnoreComparer));
				foreach(string strTag in MemUtil.Except(dAllTags.Keys, lIntersect,
					StrUtil.CaseIgnoreComparer))
					dEnabledTags[strTag] = true;
			}
			else if(tmm == TagsMenuMode.Remove)
			{
				dEnabledTags = new Dictionary<string, bool>(StrUtil.CaseIgnoreComparer);
				List<string> lSelectedTags = pgSel.BuildEntryTagsList(false);
				foreach(string strTag in lSelectedTags)
					dEnabledTags[strTag] = true;
			}

			string strPrefix = StrUtil.EncodeMenuText(KPRes.Tag + ": ");
			Image imgIcon = Properties.Resources.B16x16_KNotes;

			List<char> lAvailKeys = new List<char>(PwCharSet.MenuAccels);
			foreach(KeyValuePair<string, uint> kvp in dAllTags)
			{
				string strTag = kvp.Key;

				string strText = StrUtil.EncodeMenuText(strTag);
				strText = StrUtil.AddAccelerator(strText, lAvailKeys);
				if(bPrefixTag) strText = strPrefix + strText;

				ToolStripMenuItem tsmi = dm.AddItem(strText, imgIcon, strTag);
				if(tmm == TagsMenuMode.All)
					tsmi.ShortcutKeyDisplayString = "(" + kvp.Value.ToString() + ")";

				if(bForceDisabled) tsmi.Enabled = false;
				else if(dEnabledTags != null)
				{
					if(!dEnabledTags.ContainsKey(strTag)) tsmi.Enabled = false;
				}
			}

			if(dAllTags.Count == 0)
			{
				ToolStripMenuItem tsmi = dm.AddItem(strNoTags, null, string.Empty);
				tsmi.Enabled = false;
			}
		}
Exemple #4
0
        private void UpdateTagsMenu(DynamicMenu dm, bool bWithSeparator, bool bPrefixTag,
            bool bRequireEntrySelected, bool bEnableOnlySelected)
        {
            if(dm == null) { Debug.Assert(false); return; }
            dm.Clear();

            if(bWithSeparator) dm.AddSeparator();

            string strNoTags = "(" + KPRes.TagsNotFound + ")";
            PwDatabase pd = m_docMgr.ActiveDatabase;
            if(!pd.IsOpen)
            {
                ToolStripMenuItem tsmi = dm.AddItem(strNoTags, null, string.Empty);
                tsmi.Enabled = false;
                return;
            }

            List<string> vTags = pd.RootGroup.BuildEntryTagsList(true);
            string strPrefix = KPRes.Tag + ": ";
            Image imgIcon = Properties.Resources.B16x16_KNotes;
            bool bEnable = (m_lvEntries.SelectedIndices.Count > 0);

            List<string> vEnabledTags = null;
            if(bEnableOnlySelected)
            {
                PwGroup pgSel = GetSelectedEntriesAsGroup();
                vEnabledTags = pgSel.BuildEntryTagsList(true);
            }

            for(int i = 0; i < vTags.Count; ++i)
            {
                string strTag = vTags[i];
                ToolStripMenuItem tsmi = dm.AddItem(bPrefixTag ? (strPrefix + strTag) :
                    strTag, imgIcon, strTag);

                if(bRequireEntrySelected && !bEnable) tsmi.Enabled = false;
                else if(vEnabledTags != null)
                {
                    if(vEnabledTags.IndexOf(strTag) < 0) tsmi.Enabled = false;
                }
            }

            if(vTags.Count == 0)
            {
                ToolStripMenuItem tsmi = dm.AddItem(strNoTags, null, string.Empty);
                tsmi.Enabled = false;
            }
        }