コード例 #1
0
Gui_Admin::Gui_Admin(QWidget* parent): QWidget(parent), db(new LinkedDB){
    this->setWindowTitle("Welcome to LinQedIn Admin");
    this->resize(QDesktopWidget().availableGeometry(this).size() * 0.5);
    this->setFixedSize(this->size());

    QHBoxLayout* adminLayout = new QHBoxLayout();

    QVBoxLayout* firstCol = new QVBoxLayout();
    usersList = new QListWidget(this);
    for(std::list<SmartUser>::const_iterator it = db->begin(); it != db->end(); ++it) {
        QListWidgetItem* user = new QListWidgetItem(QString::fromStdString((*it)->account()->username().getLogin()));
        usersList->insertItem(usersList->count(),user);
    }
    usersList->setCurrentRow(0);
    usersList->setFixedHeight(this->height()/1.75);
    usersList->setFixedWidth(200);
    filterSearch = new QLineEdit();
    filterSearch->setPlaceholderText("filter users by username");
    filterSearch->setFixedWidth(200);
    connect(filterSearch, SIGNAL(textEdited(QString)), this, SLOT(filterUsers(QString)));
    firstCol->addSpacing(50);
    firstCol->addWidget(filterSearch, 0, Qt::AlignCenter);
    firstCol->addWidget(usersList,0, Qt::AlignCenter);
    firstCol->addSpacing(50);

    QVBoxLayout* secCol = new QVBoxLayout();
    QPushButton* adduserB = new QPushButton("add new user");
    adduserB->setFixedSize(160,30);
    connect(adduserB, SIGNAL(clicked()), this, SLOT(openAddUser()));
    QPushButton* removeuserB = new QPushButton("remove user");
    removeuserB->setFixedSize(160,30);
    connect(removeuserB, SIGNAL(clicked()), this, SLOT(removeUser()));
    QPushButton* changesubuserB = new QPushButton("change Subscription");
    changesubuserB->setFixedSize(160,30);
    connect(changesubuserB, SIGNAL(clicked()), this, SLOT(openChangeSubType()));
    QPushButton* logoutB = new QPushButton("Logout");
    logoutB->setFixedSize(160,30);
    connect(logoutB, SIGNAL(clicked()), this, SLOT(logout()));

    secCol->setSpacing(10);
    secCol->addSpacing(50);
    secCol->addWidget(adduserB,0, Qt::AlignLeft);
    secCol->addWidget(removeuserB,0, Qt::AlignLeft);
    secCol->addWidget(changesubuserB,0, Qt::AlignLeft);
    secCol->addWidget(logoutB, 0, Qt::AlignLeft);
    secCol->addSpacing(50);


    adminLayout->addLayout(firstCol);
    adminLayout->addLayout(secCol);
    setLayout(adminLayout);
}
コード例 #2
0
ファイル: Utils.cpp プロジェクト: HariSeldon/coarsening_pass
//------------------------------------------------------------------------------
// Find the last user of input instruction in its parent block.
// Return nullptr if no use is found.
Instruction *findLastUser(Instruction *inst) {
  InstVector users = findUsers(inst);
  users = filterUsers(inst, users);
  Instruction *lastUser = nullptr;
  int maxDistance = 0;

  BasicBlock::iterator begin(inst);
  for (auto inst : users) {
    BasicBlock::iterator blockIter(inst);
    int currentDist = std::distance(begin, blockIter);
    if (currentDist > maxDistance) {
      maxDistance = currentDist;
      lastUser = inst;
    }
  }

  return lastUser;
}