예제 #1
0
        private void bmm_OnConferenceAdd(Jabber.Client.BookmarkManager manager, BookmarkConference conference)
        {
            string jid  = conference.JID;
            string name = conference.ConferenceName;

            if (name == null)
            {
                name = jid;
            }
            if (lvBookmarks.Items.ContainsKey(jid))
            {
                lvBookmarks.Items.RemoveByKey(jid);
            }
            ListViewItem item = lvBookmarks.Items.Add(jid, name, -1);

            item.SubItems.Add(conference.Nick);
            item.SubItems.Add(conference.AutoJoin.ToString());
            item.Tag = conference.JID;
        }
예제 #2
0
        public override QModelIndex Index(int row, int column, Qyoto.QModelIndex parent)
        {
            if (!HasIndex(row, column, parent))
            {
                return(new QModelIndex());
            }

            if (!parent.IsValid())
            {
                Account account = m_AccountService.Accounts[row];
                return(CreateIndex(row, column, account));
            }
            else
            {
                Account            account = (Account)parent.InternalPointer();
                BookmarkConference bmark   = account.BookmarkManager.Conferences.ElementAt(row);
                return(CreateIndex(row, column, bmark));
            }
        }
예제 #3
0
        /// <summary>
        /// Add a conference room to the bookmark list
        /// </summary>
        /// <param name="jid">The room@service JID of the room</param>
        /// <param name="name">Human-readable text</param>
        /// <param name="autoJoin">Join on login</param>
        /// <param name="nick">Room nickname.  May be null.</param>
        /// <returns></returns>
        public BookmarkConference AddConference(JID jid, string name, bool autoJoin, string nick)
        {
            BookmarkConference c = new BookmarkConference(m_stream.Document);

            if (jid == null)
            {
                throw new ArgumentNullException("jid", "JID must not be null in a conference bookmark");
            }
            c.JID = jid;
            if ((name != null) && (name != ""))
            {
                c.ConferenceName = name;
            }
            c.AutoJoin = autoJoin;
            if ((nick != null) && (nick != ""))
            {
                c.Nick = nick;
            }
            this[jid] = c;
            return(c);
        }
예제 #4
0
        private void lvBookmarks_DoubleClick(object sender, EventArgs e)
        {
            if (lvBookmarks.SelectedItems.Count == 0)
            {
                return;
            }
            ListViewItem lvi = lvBookmarks.SelectedItems[0];

            JID jid = (JID)lvi.Tag;
            BookmarkConference conf = bmm[jid];

            Debug.Assert(conf != null);

            ConferenceForm cf = new ConferenceForm();

            cf.DiscoManager = dm;
            cf.RoomAndNick  = new JID(jid.User, jid.Server, conf.Nick);

            if (cf.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            bmm.AddConference(cf.RoomJID, null, false, cf.Nick);
        }
예제 #5
0
 void HandleOnConference(BookmarkManager manager, BookmarkConference conference)
 {
     QApplication.Invoke(delegate {
         Emit.LayoutChanged();
     });
 }