public override QVariant Data(Qyoto.QModelIndex index, int role) { if (index.IsValid()) { Account account = (Account)index.InternalPointer(); if (account != null) { if (index.Column() == 0) { if (role == (int)Qt.ItemDataRole.DisplayRole) { return(account.Jid.ToString()); } else if (role == (int)Qt.ItemDataRole.CheckStateRole) { return((int)Qt.CheckState.Checked); } } else if (index.Column() == 1) { if (role == (int)Qt.ItemDataRole.DisplayRole) { return(account.ConnectionState.ToString()); } } } } return(new QVariant()); }
public override QModelIndex Parent(Qyoto.QModelIndex child) { if (!child.IsValid()) { return(new QModelIndex()); } if (child.InternalPointer() is Account) { return(new QModelIndex()); } else { BookmarkConference bmark = (BookmarkConference)child.InternalPointer(); Account account = m_AccountService.Accounts.FirstOrDefault(a => a.BookmarkManager.Conferences.Contains(bmark)); if (account != null) { return(CreateIndex(m_AccountService.Accounts.IndexOf(account), 0, account)); } else { return(new QModelIndex()); } } }
public override int RowCount(Qyoto.QModelIndex parent) { if (!parent.IsValid()) { return(ServiceManager.Get <AccountService>().Accounts.Count); } else { return(0); } }
public override int RowCount(Qyoto.QModelIndex parent) { if (!parent.IsValid()) { return(m_AccountService.Accounts.Count); } else { if (parent.InternalPointer() is Account) { Account account = (Account)parent.InternalPointer(); return(account.BookmarkManager.Count); } else { return(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)); } }
void on_mucTree_activated(QModelIndex index) { if (index.IsValid()) { if (index.InternalPointer() is BookmarkConference) { Account account = (Account)index.Parent().InternalPointer(); BookmarkConference conf = (BookmarkConference)index.InternalPointer(); try { account.JoinMuc(conf.JID, conf.Password); } catch (UserException e) { QMessageBox.Critical(this.TopLevelWidget(), "Synapse", e.Message); } } } }
private string SerializeModelIndex(QModelIndex index) { if (index == null) return "<null>"; else if (!index.IsValid()) return "<invalid>"; return "<valid>"; //return "(" + this.SerializeModelIndex(index.Parent()) + ", " + index.Row() + ", " + index.Column() + ")"; }
public override int RowCount(QModelIndex parent) { string start = "Row count of " + this.SerializeModelIndex(parent) + " requested"; SolutionItem parentItem; if (parent.Column() > 0) { m_Log.Debug(start + " (answer: 0)."); return 0; } if (!parent.IsValid()) parentItem = this.m_RootItem; else parentItem = parent.InternalPointer() as SolutionItem; m_Log.Debug(start + " (answer: " + parentItem.Count + ")."); return parentItem.Count; }
public override QModelIndex Parent(QModelIndex child) { string start = "Parent of " + this.SerializeModelIndex(child) + " requested"; if (!child.IsValid()) { m_Log.Debug(start + " (answer: empty)."); return new QModelIndex(); } SolutionItem childItem = child.InternalPointer() as SolutionItem; SolutionItem parentItem = childItem.Parent; if (parentItem == this.m_RootItem || parentItem == null) { // FIXME: This can cause weirdness with broken trees as the root node // will be placed under folders if the structure is incorrect! m_Log.Debug(start + " (answer: empty)."); return new QModelIndex(); } QModelIndex result = this.CreateIndex(parentItem.Index, 0, parentItem); m_Log.Debug(start + " (answer: " + this.SerializeModelIndex(result) + ")."); return result; }
public override QModelIndex Index(int row, int column, QModelIndex parent) { string start = "Index at " + row + ", " + column + " requested with parent " + this.SerializeModelIndex(parent) + ""; if (!this.HasIndex(row, column, parent)) { m_Log.Debug(start + " (answer: empty)."); return new QModelIndex(); } SolutionItem parentItem; if (!parent.IsValid()) parentItem = this.m_RootItem; else parentItem = parent.InternalPointer() as SolutionItem; SolutionItem childItem = parentItem[row]; if (childItem != null) { QModelIndex model = this.CreateIndex(row, column, childItem); m_Log.Debug(start + " (answer: " + this.SerializeModelIndex(model) + ")."); return model; } else { m_Log.Debug(start + " (answer: empty)."); return new QModelIndex(); } }
public override uint Flags(QModelIndex index) { m_Log.Debug("Flags of " + this.SerializeModelIndex(index) + " requested."); if (!index.IsValid()) return 0; return (uint)(ItemFlag.ItemIsEnabled | ItemFlag.ItemIsSelectable); }
public override QVariant Data(QModelIndex index, int role) { string start = "Data of " + this.SerializeModelIndex(index) + " requested with role " + role; if (!index.IsValid()) { m_Log.Debug(start + " (answer: empty)."); return new QVariant(); } if (role != (int)ItemDataRole.DisplayRole && role != (int)ItemDataRole.DecorationRole) { m_Log.Debug(start + " (answer: empty)."); return new QVariant(); } if (index.Column() == 0) { if (role == (int)ItemDataRole.DisplayRole) { m_Log.Debug(start + " (answer: \"" + (index.InternalPointer() as SolutionItem).Text + "\")."); return (index.InternalPointer() as SolutionItem).Text; } else if (role ==(int)ItemDataRole.DecorationRole) { string key = (index.InternalPointer() as SolutionItem).ImageKey; System.Drawing.Image image = this.m_ExplorerTool.m_LinuxImageList[key]; if (image == null) m_Log.Error("No association icon found for image key '" + key + "'."); else { m_Log.Debug(start + " (answer: <qicon>)."); return LinuxImageList.ConvertToQIcon(image); } } } m_Log.Debug(start + " (answer: empty)."); return new QVariant(); }