void SettingsDialog::createIcons() { /// Not fun but QListWidget sucks. Do our max-width calculation manually /// so the icons arre lined up. // Resolvers is the longest string... in english. fml. int maxlen = 0; QFontMetrics fm( font() ); QListWidgetItem *accountsButton = new QListWidgetItem( ui->listWidget ); accountsButton->setIcon( QIcon( RESPATH "images/account-settings.png" ) ); accountsButton->setText( tr( "Accounts" ) ); accountsButton->setTextAlignment( Qt::AlignHCenter ); accountsButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); maxlen = fm.width( accountsButton->text() ); QListWidgetItem *musicButton = new QListWidgetItem( ui->listWidget ); musicButton->setIcon( QIcon( RESPATH "images/music-settings.png" ) ); musicButton->setText( tr( "Music" ) ); musicButton->setTextAlignment( Qt::AlignHCenter ); musicButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); maxlen = qMax( fm.width( musicButton->text() ), maxlen ); QListWidgetItem *lastfmButton = new QListWidgetItem( ui->listWidget ); lastfmButton->setIcon( QIcon( RESPATH "images/lastfm-settings.png" ) ); lastfmButton->setText( tr( "Last.fm" ) ); lastfmButton->setTextAlignment( Qt::AlignHCenter ); lastfmButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); maxlen = qMax( fm.width( lastfmButton->text() ), maxlen ); QListWidgetItem *resolversButton = new QListWidgetItem( ui->listWidget ); resolversButton->setIcon( QIcon( RESPATH "images/resolvers-settings.png" ) ); resolversButton->setText( tr( "Resolvers" ) ); resolversButton->setTextAlignment( Qt::AlignHCenter ); resolversButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); maxlen = qMax( fm.width( resolversButton->text() ), maxlen ); QListWidgetItem *advancedButton = new QListWidgetItem( ui->listWidget ); advancedButton->setIcon( QIcon( RESPATH "images/advanced-settings.png" ) ); advancedButton->setText( tr( "Advanced" ) ); advancedButton->setTextAlignment( Qt::AlignHCenter ); advancedButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); maxlen = qMax( fm.width( advancedButton->text() ), maxlen ); maxlen += 15; // padding accountsButton->setSizeHint( QSize( maxlen, 60 ) ); musicButton->setSizeHint( QSize( maxlen, 60 ) ); lastfmButton->setSizeHint( QSize( maxlen, 60 ) ); resolversButton->setSizeHint( QSize( maxlen, 60 ) ); advancedButton->setSizeHint( QSize( maxlen, 60 ) ); #ifndef Q_WS_MAC // doesn't listen to sizehint... ui->listWidget->setMaximumWidth( maxlen + 8 ); #endif connect( ui->listWidget, SIGNAL( currentItemChanged( QListWidgetItem* ,QListWidgetItem* ) ), this, SLOT( changePage( QListWidgetItem*, QListWidgetItem* ) ) ); }
SettingsDialog::SettingsDialog(Application *app, QWidget *parent) : QDialog(parent), _ui(new Ui::SettingsDialog) { _ui->setupUi(this); setObjectName("Settings"); // required as group for saveGeometry call setWindowTitle(tr("%1 Settings").arg(Theme::instance()->appNameGUI())); QIcon generalIcon(QLatin1String(":/mirall/resources/settings.png")); QListWidgetItem *general = new QListWidgetItem(generalIcon, tr("General"), _ui->labelWidget); general->setSizeHint(QSize(0, 32)); _ui->labelWidget->addItem(general); GeneralSettings *generalSettings = new GeneralSettings; _ui->stack->addWidget(generalSettings); QIcon networkIcon(QLatin1String(":/mirall/resources/network.png")); QListWidgetItem *network = new QListWidgetItem(networkIcon, tr("Network"), _ui->labelWidget); network->setSizeHint(QSize(0, 32)); _ui->labelWidget->addItem(network); NetworkSettings *networkSettings = new NetworkSettings; _ui->stack->addWidget(networkSettings); connect(networkSettings, SIGNAL(proxySettingsChanged()), app, SLOT(slotSetupProxy())); connect(networkSettings, SIGNAL(proxySettingsChanged()), FolderMan::instance(), SLOT(slotScheduleAllFolders())); //connect(generalSettings, SIGNAL(resizeToSizeHint()), SLOT(resizeToSizeHint())); _accountSettings = new AccountSettings(this); addAccount(tr("Account"), _accountSettings); slotUpdateAccountState(); connect( app, SIGNAL(folderStateChanged(Folder*)), _accountSettings, SLOT(slotUpdateFolderState(Folder*))); connect( app, SIGNAL(folderStateChanged(Folder*)), SLOT(slotUpdateAccountState())); connect( _accountSettings, SIGNAL(addASync()), app, SLOT(slotFolderAdded()) ); connect( _accountSettings, SIGNAL(folderChanged()), app, SLOT(slotFoldersChanged())); connect( _accountSettings, SIGNAL(openFolderAlias(const QString&)), app, SLOT(slotFolderOpenAction(QString))); connect( _accountSettings, SIGNAL(openProgressDialog()), app, SLOT(slotItemProgressDialog())); connect( ProgressDispatcher::instance(), SIGNAL(progressInfo(QString, Progress::Info)), _accountSettings, SLOT(slotSetProgress(QString, Progress::Info)) ); connect( ProgressDispatcher::instance(), SIGNAL(progressSyncProblem(QString,Progress::SyncProblem)), _accountSettings, SLOT(slotProgressProblem(QString,Progress::SyncProblem)) ); _ui->labelWidget->setCurrentRow(_ui->labelWidget->row(general)); connect(_ui->labelWidget, SIGNAL(currentRowChanged(int)), _ui->stack, SLOT(setCurrentIndex(int))); QPushButton *closeButton = _ui->buttonBox->button(QDialogButtonBox::Close); connect(closeButton, SIGNAL(pressed()), SLOT(accept())); MirallConfigFile cfg; cfg.restoreGeometry(this); }
void ConfigComputerDialog::createControls() { lstView = new QListWidget(this); pages = new QStackedWidget(this); panMain = createMainWidget(); panSolver = createSolverWidget(); // List View lstView->setCurrentRow(0); lstView->setViewMode(QListView::IconMode); lstView->setResizeMode(QListView::Adjust); lstView->setMovement(QListView::Static); lstView->setFlow(QListView::TopToBottom); lstView->setIconSize(QSize(60, 60)); lstView->setMinimumWidth(135); lstView->setMaximumWidth(135); lstView->setMinimumHeight((45+fontMetrics().height()*4)*5); connect(lstView, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(doCurrentItemChanged(QListWidgetItem *, QListWidgetItem *))); QSize sizeItem(131, 85); // listView items QListWidgetItem *itemMain = new QListWidgetItem(icon("options-main"), tr("Main"), lstView); itemMain->setTextAlignment(Qt::AlignHCenter); itemMain->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); itemMain->setSizeHint(sizeItem); QListWidgetItem *itemSolver = new QListWidgetItem(icon("options-solver"), tr("Solver"), lstView); itemSolver->setTextAlignment(Qt::AlignHCenter); itemSolver->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); itemSolver->setSizeHint(sizeItem); pages->addWidget(panMain); pages->addWidget(panSolver); QHBoxLayout *layoutHorizontal = new QHBoxLayout(); layoutHorizontal->addWidget(lstView); layoutHorizontal->addWidget(pages); // dialog buttons QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(doAccept())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(doReject())); QVBoxLayout *layout = new QVBoxLayout(); layout->addLayout(layoutHorizontal); // layout->addStretch(); layout->addWidget(buttonBox); setLayout(layout); }
void MainDialog::NowRun() { centerWidget(this); this->show(); obj_this = this; ui.setupUi(this); QIcon accountIcon(QLatin1String(":rc/user.png")); QListWidgetItem *account = new QListWidgetItem(accountIcon, "Account", ui.labelWidget); account->setSizeHint(QSize(0, 32)); this->accountSettings = new AccountSettings(this); ui.stack->addWidget(this->accountSettings); QIcon syslogIcon(QLatin1String(":rc/loop_alt4.png")); QListWidgetItem *syslog = new QListWidgetItem(syslogIcon, "Log Activity", ui.labelWidget); syslog->setSizeHint(QSize(0, 32)); this->logSettings = new LogSettings; ui.stack->addWidget(this->logSettings); QIcon generalIcon(QLatin1String(":rc/cog.png")); QListWidgetItem *general = new QListWidgetItem(generalIcon, "General", ui.labelWidget); general->setSizeHint(QSize(0, 32)); this->generalSettings = new GeneralSettings(this); ui.stack->addWidget(this->generalSettings); ui.labelWidget->setCurrentRow(ui.labelWidget->row(account)); connect(ui.labelWidget, SIGNAL(currentRowChanged(int)), ui.stack, SLOT(setCurrentIndex(int))); connect(this->ui.exitButton, SIGNAL(clicked()), this, SLOT(slotExit())); createTrayIcon(); setTrayIcon(); trayIcon->show(); agent_cfg = (struct agent_cfg*)calloc(1, sizeof(struct agent_cfg)); agent_cfg->ev.on_log = this->onLog; if (agent_config_init(agent_cfg)) { jlog(L_ERROR, "agent_config_init failed"); return; } if (agent_cfg->auto_connect != 0) { emit this->generalSettings->slotCheckAutoConnect(); emit accountSettings->slotConnWaiting(); emit this->slotFireConnection(); } }
void AddMonitorWidget::ShowFolder(string path) { DIR *dirp=NULL; dirp = opendir(path.c_str()); if(dirp == NULL) return ; struct dirent *dp; listwidget->clear(); string name; string par; if(path != "/") { par = path + "/"; } while(dp = readdir(dirp)) { name = dp->d_name; if(name != "." && name != ".." && name[0] == '.') continue; QListWidgetItem* item = new QListWidgetItem; item->setSizeHint(QSize(0,40)); FileItem *itemWidget = new FileItem(this); itemWidget->setItem(QString::fromStdString(name),QString::fromStdString(par)); if(name == ".") listwidget->insertItem(0,item); else if(name == "..") listwidget->insertItem(1,item); else listwidget->addItem(item); listwidget->setItemWidget(item,itemWidget); connect(itemWidget,SIGNAL(SaveSig(int,QString)),this,SLOT(SaveSlot(int,QString))); } }
void KovanTestWindow::moveToDebugScreen() { ui->debugActiveLabel->setVisible(true); ui->selectTestButton->setVisible(true); ui->debugMode1->setVisible(false); ui->debugMode2->setVisible(false); ui->debugMode3->setVisible(false); ui->testSelectionButton->setVisible(false); ui->errorFailLabel->setVisible(false); ui->errorLabel->setVisible(false); ui->passLabel->setVisible(false); ui->runSelectedTestsButton->setEnabled(false); sequencePosition = 0; engine->setDebug(true); ui->startScreen->setVisible(false); ui->debugScreen->setVisible(true); QList<KovanTest *>tests = engine->allTests(); int i; ui->testListWidget->clear(); for (i=0; i<tests.count(); i++) { QListWidgetItem *item = new QListWidgetItem(*(tests.at(i)->testName())); QVariant v = QVariant::fromValue<void*>(tests.at(i)); item->setData(Qt::UserRole, v); item->setSizeHint(QSize(320,30)); ui->testListWidget->addItem(item); connect(ui->testListWidget, SIGNAL(itemPressed(QListWidgetItem *)), this, SLOT(debugItemPressed(QListWidgetItem *))); } ui->testListWidget->setDragDropMode(QAbstractItemView::NoDragDrop); }
void PluginFilterList::onSequenceChanged(GitlUpdateUIEvt &rcEvt) { // rebuild the filter list int iVPos = verticalScrollBar()->value(); int iHPos = horizontalScrollBar()->value(); this->clear(); QStringList cFilterNames = rcEvt.getParameter("filter_names").toStringList(); QVector<bool> cFilterEnableStatus = rcEvt.getParameter("filter_status").value< QVector<bool> >(); for(int i = 0; i < cFilterNames.size(); i++) { QListWidgetItem* pcItem = new QListWidgetItem(); this->addItem(pcItem); PluginFilterItem *pItemWidget = new PluginFilterItem(cFilterNames[i], cFilterEnableStatus[i]); pcItem->setSizeHint(pItemWidget->sizeHint()); setItemWidget(pcItem, pItemWidget); } verticalScrollBar()->setValue(iVPos); horizontalScrollBar()->setValue(iHPos); }
void TimeTable::dropEvent(QDropEvent *event) { qDebug()<<dragEnabled(); if (event->mimeData()->hasFormat("timetable/item")) { if(!dragEnabled()){ clear(); setDragEnabled(true); } //Reading tasklist item properties QByteArray tmpd = event->mimeData()->data("timetable/item"); QDataStream ds(&tmpd, QIODevice::ReadOnly); QColor color; QString str; QVariant duration; ds >> color >> str >>duration; QListWidgetItem *item; item = new QListWidgetItem(); item->setBackgroundColor(color); item->setText(str); item->setSizeHint(QSize(0,0)); addItem(item); item->setData(1,duration); event->setDropAction(Qt::MoveAction); event->accept(); refresh(); } }
void TimeTable::addEmptyItem(){ QListWidgetItem* item = new QListWidgetItem(); item->setText("Drag&drop tasks here"); item->setSizeHint(QSize(size().width(),size().height())); addItem(item); setDragEnabled(false); }
void AdminWindow::addFoodCatagory(QString catagoryName, QImage imageName) { QString s = QString::number(rowCount++); QWidget* w = new QWidget(); QVBoxLayout* layout = new QVBoxLayout(); w->setLayout(layout); FoodCatagory* newCatagory = new FoodCatagory(); newCatagory->SetName(s); newCatagory->SetCatagory(catagoryName); newCatagory->SetImage(imageName); foodCatagories.push_back(newCatagory); layout->addWidget(newCatagory); QListWidgetItem* item = new QListWidgetItem(); item->setSizeHint(QSize(0,60)); item->setText(s); listWidget->setSpacing(2); listWidget->addItem(item); listWidget->setItemWidget(item, w); ui->scrollArea_FoodCatagory->setWidget(listWidget); }
//添加网络item int PlaylistWindow::addItemFromNet(const QString &additem, const QString &link,int id, bool playNow) { QListWidgetItem *item = new QListWidgetItem(additem,listWidget); int row = listWidget->row(item); //添加索引字符 QString index = ""; if(row<9) { index.append("0").append(QString::number(row+1,10).append(". ")); } else { index = QString::number(row+1,10).append(". "); } item->setText(index.append(item->text())); //设置item高度 item->setSizeHint(QSize(100,30)); item->setIcon(QIcon(":/image/net.ico")); item->setWhatsThis(QString::number(id,10)); item->setToolTip(additem); //设置media的类型 item->setStatusTip(QString::number(MEDIA_TYPE_MUSIC,10)); this->setItemNormalView(item); //添加到playlist 并将第一条设置为当前播放item playlist->addMedia(QUrl(link)); // this->setItemPlay(row); if (playNow){ this->doubleClicked = false; playlist->setCurrentIndex(row); } //qDebug("%d",playlist->currentIndex()); return MEDIA_TYPE_MUSIC; }
void MusicPage::addMusics(int listId, QQueue<MusicInfo> musics) { MusicInfo musicInfo; MusicList *musicList; int row; while (!musics.empty()) { musicInfo = musics.front(); musics.pop_front(); musicList = (MusicList *)musicLists->widget(listId); row = musicList->count(); QListWidgetItem *item = new QListWidgetItem(musicList); item->setSizeHint(QSize(item->sizeHint().width(), 30)); musicList->insertItem(row, item); MusicListItem *itemwidget = new MusicListItem(musicList); itemwidget->setName(musicInfo.getName()); itemwidget->setArtist(musicInfo.getArtist()); musicList->setItemWidget(item, itemwidget); /* musicList->insertRow(row); QTableWidgetItem *nameItem = new QTableWidgetItem(musicInfo.getName()); QTableWidgetItem *artiseItem = new QTableWidgetItem(musicInfo.getArtist()); nameItem->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter); artiseItem->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); musicList->setItem(row, 0, nameItem); musicList->setItem(row, 1, artiseItem); musicList->setCurrentCell(row, 0); */ } }
void AdvanceButtonDialog::insertSlot() { int current = ui->slotListWidget->currentRow(); int count = ui->slotListWidget->count(); if (current != (count - 1)) { SimpleKeyGrabberButton *blankButton = new SimpleKeyGrabberButton(this); QListWidgetItem *item = new QListWidgetItem(); ui->slotListWidget->insertItem(current, item); item->setData(Qt::UserRole, QVariant::fromValue<SimpleKeyGrabberButton*>(blankButton)); QHBoxLayout *layout= new QHBoxLayout(); layout->addWidget(blankButton); QWidget *widget = new QWidget(); widget->setLayout(layout); item->setSizeHint(widget->sizeHint()); ui->slotListWidget->setItemWidget(item, widget); ui->slotListWidget->setCurrentItem(item); connectButtonEvents(blankButton); blankButton->refreshButtonLabel(); this->button->insertAssignedSlot(0, 0, current); updateSlotsScrollArea(0); } }
/** * \brief Add the tasks from a sequence of ids * * Any tasks not available from the server are simply ignored */ void TaskMainWindow::addTasks(const std::set<long>& taskids) { debug(LOG_DEBUG, DEBUG_LOG, 0, "adding %d tasks", taskids.size()); time_t now = time(NULL); // needed to recompute timestamps std::set<long>::const_iterator i; for (i = taskids.begin(); i != taskids.end(); i++) { int taskid = *i; try { // get the task info Astro::TaskInfo_var info = taskqueue->info(taskid); info->lastchange = now - info->lastchange; // get parameters Astro::TaskParameters_var params = taskqueue->parameters(taskid); // create a list item QListWidgetItem *lwi = new QListWidgetItem(); lwi->setSizeHint(QSize(300,90)); TaskItem *ti = new TaskItem(info, params); ui->tasklistWidget->addItem(lwi); ui->tasklistWidget->setItemWidget(lwi, ti); } catch (const Astro::NotFound) { debug(LOG_ERR, DEBUG_LOG, 0, "task %d not found", taskid); } catch (const std::exception& x) { debug(LOG_ERR, DEBUG_LOG, 0, "cannot get info for task %d", taskid); } } }
void MusicPage::addMusic(QString name, QString artist) { MusicList *musicList = (MusicList *)musicLists->currentWidget(); int row = musicList->count(); QListWidgetItem *item = new QListWidgetItem(musicList); item->setSizeHint(QSize(item->sizeHint().width(), 30)); musicList->insertItem(row, item); MusicListItem *itemwidget = new MusicListItem(musicList); itemwidget->setName(name); itemwidget->setArtist(artist); musicList->setItemWidget(item, itemwidget); musicList->setCurrentRow(row); /* musicList->insertRow(row); QTableWidgetItem *nameItem = new QTableWidgetItem(name); QTableWidgetItem *artiseItem = new QTableWidgetItem(artist); nameItem->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter); artiseItem->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); musicList->setItem(row, 0, nameItem); musicList->setItem(row, 1, artiseItem); musicList->setCurrentCell(row, 0); */ }
void AdvanceButtonDialog::updateSlotsScrollArea(int value) { int index = ui->slotListWidget->currentRow(); int itemcount = ui->slotListWidget->count(); if (index == (itemcount - 1) && value >= 0) { // New slot added on the old blank button. Append // new blank button to the end of the list. appendBlankKeyGrabber(); } // Go through all grabber buttons in list and possibly resize widgets. for (int i = 0; i < ui->slotListWidget->count(); i++) { QListWidgetItem *item = ui->slotListWidget->item(i); QWidget *widget = ui->slotListWidget->itemWidget(item); item->setSizeHint(widget->sizeHint()); } // Alter interface if turbo cannot be used. changeTurboForSequences(); emit slotsChanged(); }
int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget window; QLabel* title = new QLabel("Custom widgets on a QListWidget"); title->setAlignment(Qt::AlignHCenter); QListWidget* list = new QListWidget; list->addItem("foo"); for (int i = 0; i < 5; i++){ QListWidgetItem* item; item = new QListWidgetItem(list); list->addItem(item); // QPushButton* button = new QPushButton("hey"); Form *f = new Form; item->setSizeHint(f->minimumSizeHint()); list->setItemWidget(item, f); } list->addItem("bar"); QVBoxLayout* layout = new QVBoxLayout(&window); layout->addWidget(title); layout->addWidget(list); window.setLayout(layout); window.show(); return a.exec(); }
void VConfirmDeletionDialog::initItems() { m_listWidget->clear(); for (int i = 0; i < m_items.size(); ++i) { ConfirmItemWidget *itemWidget = new ConfirmItemWidget(true, m_items[i].m_name, m_items[i].m_tip, i, this); connect(itemWidget, &ConfirmItemWidget::checkStateChanged, this, &VConfirmDeletionDialog::updateCountLabel); QListWidgetItem *item = new QListWidgetItem(); QSize size = itemWidget->sizeHint(); size.setHeight(size.height() * 2); item->setSizeHint(size); m_listWidget->addItem(item); m_listWidget->setItemWidget(item, itemWidget); } m_listWidget->setMinimumSize(m_listWidget->sizeHint()); m_listWidget->setCurrentRow(-1); m_listWidget->setCurrentRow(0); }
void DownloadManager::download(QWebEngineDownloadItem *downloadItem) { QString downloadPath; bool openFile = false; QString fileName = QFileInfo(downloadItem->path()).fileName(); fileName = QUrl::fromPercentEncoding(fileName.toUtf8()); if (m_downloadPath.isEmpty()) { // Ask what to do DownloadOptionsDialog optionsDialog(fileName, downloadItem->url(), mApp->activeWindow()); optionsDialog.showExternalManagerOption(m_useExternalManager); optionsDialog.setLastDownloadOption(m_lastDownloadOption); switch (optionsDialog.exec()) { case 1: // Open openFile = true; downloadPath = QzTools::ensureUniqueFilename(DataPaths::path(DataPaths::Temp) + QLatin1Char('/') + fileName); m_lastDownloadOption = OpenFile; break; case 2: // Save downloadPath = QFileDialog::getSaveFileName(mApp->activeWindow(), tr("Save file as..."), m_lastDownloadPath + fileName); m_lastDownloadOption = SaveFile; break; case 3: // External manager startExternalManager(downloadItem->url()); // fallthrough default: downloadItem->cancel(); return; } } else { downloadPath = QzTools::ensureUniqueFilename(m_downloadPath + QL1C('/') + fileName); } if (downloadPath.isEmpty()) { downloadItem->cancel(); return; } // Set download path and accept downloadItem->setPath(downloadPath); downloadItem->accept(); // Create download item QListWidgetItem* listItem = new QListWidgetItem(ui->list); DownloadItem* downItem = new DownloadItem(listItem, downloadItem, QFileInfo(downloadPath).absolutePath(), QFileInfo(downloadPath).fileName(), openFile, this); connect(downItem, SIGNAL(deleteItem(DownloadItem*)), this, SLOT(deleteItem(DownloadItem*))); connect(downItem, SIGNAL(downloadFinished(bool)), this, SLOT(downloadFinished(bool))); ui->list->setItemWidget(listItem, downItem); listItem->setSizeHint(downItem->sizeHint()); downItem->show(); show(); raise(); activateWindow(); }
void AddressBarMenu::insertSeparator() { QListWidgetItem *s = new QListWidgetItem(this); s->setSizeHint(QSize(width(), 9)); s->setData(Qt::UserRole + 1, true); _hasSeparator = true; }
void AlbumInfoWidget::openWnd(const QStringList &businesses) { AlbumTaskWidget *task = m_container->getCurrTask(); if (!task) { return; } if (isHidden()) { show(); } int index = 0; uchar atype; QString business; task->getRelevance(atype, business); ui->comboBox->clear(); ui->comboBox->addItems(businesses); foreach (const QString &name, businesses) { if (business == name) { ui->comboBox->setCurrentIndex(index); break; } index++; } // 根据当前相册的类型来决定是否显示用户信息列表 if (USER_ALBUM == atype) { ui->userRadioButton->setChecked(true); ui->usersListWidgets1->clear(); showUsers(); UserInfoItems items = task->getUsers(); UserInfoItems::const_iterator iter = items.constBegin(); while (iter != items.constEnd()) { UserInfoWidget *widget = new UserInfoWidget(ui->usersListWidgets1->count(), iter.key(), iter.value(), *this); QListWidgetItem *item = new QListWidgetItem(ui->usersListWidgets1); item->setSizeHint(widget->sizeHint()); ui->usersListWidgets1->setItemWidget(item, widget); ++iter; } } else { ui->sampleRadioButton->setChecked(true); showUsers(false); } ui->telnoLineEdit->clear(); }
//从本地添加items int PlaylistWindow::addItemFromLocal(const QStringList &addList,bool playNow) { int mediaType; bool flag=true; for(int i=0;i<addList.length();i++) { QString label = addList.at(i); QFileInfo fileInfo(label); if(fileInfo.exists()) { QStringList list = label.split("/"); QListWidgetItem *item = new QListWidgetItem(list.last(),listWidget); int row = listWidget->row(item); //添加索引字符 QString index = ""; if(row<9) { index.append("0").append(QString::number(row+1,10).append(". ")); } else { index = QString::number(row+1,10).append(". "); } item->setText(index.append(item->text())); //设置item高度 item->setSizeHint(QSize(100,30)); item->setToolTip(label); //设置media的类型 int type = getMediaType(label); if(type != -1){ if(type == MEDIA_TYPE_MUSIC){ item->setIcon(QIcon(":/image/music.gif")); } else{ item->setIcon(QIcon(":/image/video.ico")); } item->setStatusTip(QString::number(type,10)); } this->setItemNormalView(item); //添加到playlist 并将第一条设置为当前播放item qDebug() << playlist->mediaCount(); playlist->addMedia(QUrl::fromLocalFile(label)); if(flag){ flag=false; mediaType = type; if(playNow){ //this->setItemPlay(row); playlist->setCurrentIndex(row); }else{ listWidget->setCurrentItem(item); } } } else { continue; } } return mediaType; }
void DlgListSelect::SetItems(const QStringList &items) { for (int i = 0; i < items.size(); ++i) { QListWidgetItem* widgetItem = new QListWidgetItem(items.at(i)); widgetItem->setSizeHint(QSize(-1, 22)); ui->listWidget->addItem(widgetItem); } }
void PinList::addItem_impl(PinConfig & PinCfg) { QListWidgetItem * Item = new QListWidgetItem(ui->PinConfigList); ui->PinConfigList->addItem(Item); PinEdit * PinWidget = new PinEdit(PinCfg, ui->PinConfigList); Item->setSizeHint(PinWidget->minimumSizeHint()); ui->PinConfigList->setItemWidget(Item, PinWidget); }
/**************************************************************************** ** ** Copyright (C) 2015 ** ** This file is generated by the Magus toolkit ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ****************************************************************************/ // Include #include <QHBoxLayout> #include <QVBoxLayout> #include <QMessageBox> #include <QDir> #include <QLabel> #include <QImageReader> #include <QListWidgetItem> #include <QMouseEvent> #include <QProcess> #include "tool_audiowidget.h" namespace Magus { //****************************************************************************/ QtAudioAndText::QtAudioAndText(const QString& iconDir, Source source, const QString& name, const QString& baseName, const QSize& size, QWidget* parent) : QWidget(parent) { setContentsMargins(-8, -8, -8, -8); setMinimumSize(size); setMaximumSize(size); QHBoxLayout* mainLayout = new QHBoxLayout; QVBoxLayout* audioAndNameLayout = new QVBoxLayout; mPixmapAudioPlay = QPixmap(iconDir + TOOL_AUDIOWIDGET_ICON_PLAY); mPixmapAudioPause = QPixmap(iconDir + TOOL_AUDIOWIDGET_ICON_PAUSE); mPixmapAudioStop = QPixmap(iconDir + TOOL_AUDIOWIDGET_ICON_STOP); mName = name; mBaseName = baseName; mSource = source; mBaseNameEdit = new QLineEdit; mBaseNameEdit->setText(mBaseName); mBaseNameEdit->setEnabled(false); mTextureLabel = new QLabel(); mTextureLabel->setPixmap(mPixmapAudioStop); mTextureLabel->setScaledContents(true); setMouseTracking(true); // Layout audioAndNameLayout->addWidget(mTextureLabel, 1000); audioAndNameLayout->addWidget(mBaseNameEdit, 1); mainLayout->addLayout(audioAndNameLayout); setLayout(mainLayout); } //****************************************************************************/ QtAudioAndText::~QtAudioAndText(void) { } //****************************************************************************/ void QtAudioAndText::setPlay(void) { mTextureLabel->setPixmap(mPixmapAudioPlay); } //****************************************************************************/ void QtAudioAndText::setPause(void) { mTextureLabel->setPixmap(mPixmapAudioPause); } //****************************************************************************/ void QtAudioAndText::setStop(void) { mTextureLabel->setPixmap(mPixmapAudioStop); } //****************************************************************************/ //****************************************************************************/ //****************************************************************************/ QtAudioListWidget::QtAudioListWidget(QWidget* parent) : QListWidget(parent) { setMouseTracking(true); setAcceptDrops(true); setDropIndicatorShown(true); } //****************************************************************************/ QtAudioListWidget::~QtAudioListWidget(void) { } //****************************************************************************/ void QtAudioListWidget::keyPressEvent(QKeyEvent* event) { switch (event->key()) { case Qt::Key_Delete: { if (count() > 0) { QListWidgetItem* item = currentItem(); if (item) { QWidget* widget = itemWidget(item); if (widget) { int r = row(item); QtAudioAndText* audioAndText = static_cast<QtAudioAndText*>(widget); QString name = audioAndText->mName; QString baseName = audioAndText->mBaseName; removeItemWidget(item); takeItem(r); emit assetDeleted(name, baseName); } } } } break; } event->accept(); } //****************************************************************************/ void QtAudioListWidget::dropEvent(QDropEvent* event) { const QMimeData *mimeData = event->mimeData(); if (mimeData->hasUrls()) { QList<QUrl> urlList = mimeData->urls(); for (int i = 0; i < urlList.size(); ++i) { QString baseName = urlList.at(i).fileName(); if (isTypeBasedOnExtension(baseName, MAGUS_SUPPORTED_AUDIO_FORMATS, MAGUS_SUPPORTED_AUDIO_FORMATS_LENGTH)) { QString name = urlList.at(i).path(); stripLeadingSlashes(name); //QMessageBox::information(0, QString("drop"), name); // test emit audioFileDropped(name, baseName); } } } event->acceptProposedAction(); } //****************************************************************************/ void QtAudioListWidget::dragEnterEvent(QDragEnterEvent *event) { event->acceptProposedAction(); } //****************************************************************************/ void QtAudioListWidget::dragMoveEvent(QDragMoveEvent *event) { event->acceptProposedAction(); } //****************************************************************************/ //****************************************************************************/ //****************************************************************************/ QtAudioWidget::QtAudioWidget(const QString& iconDir, QWidget* parent) : QWidget(parent) { mNameAudio = QString(""); mBaseNameAudio = QString(""); mSystemCommandEditAsset = QString(""); mCurrentAudioPlaying = QString(""); mLastSelectedAudioAndText = 0; mAudioPlayer = new QMediaPlayer(); connect(mAudioPlayer, SIGNAL(positionChanged(qint64)), this, SLOT(handlePositionChanged(qint64))); mContextMenu = 0; mIconDir = iconDir; setWindowTitle(QString("Texture selection")); mTextureSize = QSize(128, 128); QHBoxLayout* mainLayout = new QHBoxLayout; QVBoxLayout* textureSelectionLayout = new QVBoxLayout; // Define selection widget (QtAudioListWidget) mSelectionList = new QtAudioListWidget(); mSelectionList->setViewMode(QListView::ListMode); mSelectionList->setWrapping(true); mSelectionList->setWordWrap(true); mSelectionList->setSpacing(0); mSelectionList->setUniformItemSizes(true); mSelectionList->setMovement(QListView::Snap); mSelectionList->setFlow(QListView::LeftToRight); connect(mSelectionList, SIGNAL(audioFileDropped(QString,QString)), this, SLOT(handleAudioFileDropped(QString,QString))); connect(mSelectionList, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(handleSelected(QListWidgetItem*))); connect(mSelectionList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(handleDoubleClicked(QListWidgetItem*))); connect(mSelectionList, SIGNAL(itemEntered(QListWidgetItem*)), this, SLOT(handleMouseOver(QListWidgetItem*))); connect(mSelectionList, SIGNAL(assetDeleted(QString,QString)), this, SLOT(handleAssetDeleted(QString,QString))); // Layout textureSelectionLayout->addWidget(mSelectionList); mainLayout->addLayout(textureSelectionLayout); setLayout(mainLayout); } //****************************************************************************/ QtAudioWidget::~QtAudioWidget(void) { } //****************************************************************************/ void QtAudioWidget::addAudio(Source source, const QString& name, const QString& baseName) { QtAudioAndText* audioAndText = new QtAudioAndText(mIconDir, source, name, baseName, mTextureSize, this); QListWidgetItem* item = new QListWidgetItem(); item->setSizeHint(mTextureSize); // Must be present, otherwise the widget is not shown mSelectionList->addItem(item); mSelectionList->setItemWidget(item, audioAndText); buildContextMenu(); }
void NewAnnotationDialog::reloadAttributes() { ui->attributesListWidget->clear(); for (auto attribute : attributes) { QListWidgetItem* item = new QListWidgetItem(ui->attributesListWidget); AttributeItem* attributeItem = new AttributeItem(attribute); item->setSizeHint(attributeItem->minimumSizeHint()); ui->attributesListWidget->setItemWidget(item, attributeItem); } }
void SettingsWindow::AddCategoryToList(const QString& title, const QString& icon) { QListWidgetItem* button = new QListWidgetItem(); button->setIcon(QIcon(icon)); button->setText(title); button->setTextAlignment(Qt::AlignVCenter); button->setSizeHint(QSize(28, 28)); button->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); m_categories->addItem(button); }
void AttributesWidget::reload() { ui->attributesListWidget->clear(); if (!frame) return; for (auto attribute : frame->getAttributes()) { QListWidgetItem *item = new QListWidgetItem(ui->attributesListWidget); AttributeItem *attributeItem = new AttributeItem(attribute.second); item->setSizeHint(attributeItem->minimumSizeHint()); ui->attributesListWidget->setItemWidget(item, attributeItem); } }
void ThumbnailsView::addListWidgetItem(Image *image) { QPixmap thumbnail = QPixmap(); thumbnail.loadFromData(image->thumbnail()); QListWidgetItem *item = new QListWidgetItem(); item->setData(Qt::DecorationRole, thumbnail); item->setData(Qt::UserRole, image->id()); item->setSizeHint(QSize(220, 180)); addItem(item); }
void Submit_manager::show_submit(Submit_form *student) { // 학생들의 정보와 제출여부를 화면에 출력한다. QListWidgetItem *subject = new QListWidgetItem(); subject->setSizeHint(QSize(0,50)); ui->student_list->addItem(subject); ui->student_list->setItemWidget(subject, student); }