void ScrobblesListWidget::doWrite() { if ( count() == 0 ) QFile::remove( m_path ); else { QDomDocument xml; QDomElement e = xml.createElement( "recent_tracks" ); e.setAttribute( "product", QCoreApplication::applicationName() ); e.setAttribute( "version", "2" ); for ( int i = 0 ; i < count() ; ++i ) { TrackWidget* trackWidget = qobject_cast<TrackWidget*>( itemWidget( item( i ) ) ); if ( trackWidget && !static_cast<ScrobblesListWidgetItem*>( item( i ) )->isNowPlaying() ) e.appendChild( static_cast<TrackWidget*>( itemWidget( item( i ) ) )->track().toDomElement( xml ) ); } xml.appendChild( e ); QFile file( m_path ); file.open( QIODevice::WriteOnly | QIODevice::Text ); QTextStream stream( &file ); stream.setCodec( "UTF-8" ); stream << "<?xml version='1.0' encoding='utf-8'?>\n"; stream << xml.toString( 2 ); } }
void ScTreeWidget::handleMousePress(QTreeWidgetItem *item) { if (item == 0) return; if (item->parent() == 0) { if (item->isDisabled()) { setItemExpanded(item, false); return; } int wide = 0; int tops = topLevelItemCount(); if (m_toolbox_mode) { for (int t = 0; t < tops; t++) { setItemExpanded(topLevelItem(t), false); } setCurrentItem(item); setItemExpanded(item, true); if (item->childCount() != 0) { QTreeWidgetItem *child = item->child(0); if (child != 0) wide = itemWidget(child, 0)->minimumSizeHint().width()+5; } if (wide != 0) setColumnWidth(0, wide); else resizeColumnToContents(0); } else { setItemExpanded(item, !isItemExpanded(item)); for (int t = 0; t < tops; t++) { QTreeWidgetItem *top = topLevelItem(t); if (isItemExpanded(top)) { if (top->childCount() != 0) { QTreeWidgetItem *child = top->child(0); if (child != 0) wide = qMax(wide, itemWidget(child, 0)->minimumSizeHint().width()+5); } } } } if (wide != 0) setColumnWidth(0, wide); else resizeColumnToContents(0); emit currentChanged2(indexOfTopLevelItem(item)); } }
void ProgressTree2::updateItem(QTreeWidgetItem* item, const JobState& s) { item->setText(0, s.title); time_t now; time(&now); if (s.started != 0) { time_t diff = difftime(now, s.started); int sec = diff % 60; diff /= 60; int min = diff % 60; diff /= 60; int h = diff; QTime e(h, min, sec); item->setText(1, e.toString()); if (!s.completed) { diff = difftime(now, s.started); diff = lround(diff * (1 / s.progress - 1)); sec = diff % 60; diff /= 60; min = diff % 60; diff /= 60; h = diff; QTime r(h, min, sec); item->setText(2, r.toString()); } else { item->setText(2, ""); } } else { item->setText(1, ""); item->setText(2, ""); } QProgressBar* pb = (QProgressBar*) itemWidget(item, 3); QPushButton* b = (QPushButton*) itemWidget(item, 4); if (s.completed) { pb->setValue(10000); b->setEnabled(false); } else { pb->setValue(lround(s.progress * 10000)); b->setEnabled(!s.cancelRequested); } }
void MusicListWidget::itemHoverEnter(QListWidgetItem *item) { if(itemWidget(item)) return; this->setItemWidget(item, m_musicItem); m_musicItem->setItem(item); item->setSizeHint(QSize(item->sizeHint().width(), m_musicItem->height())); }
/**************************************************************************** ** ** 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 <QImageReader> #include <QListWidgetItem> #include <QProcess> #include "magus_core.h" #include "tool_extended_texturewidget.h" namespace Magus { //****************************************************************************/ QtTextureAndText::QtTextureAndText(const QPixmap& pixmap, const QString& name, const QString& baseName, const QSize& size, QWidget* parent) : QWidget(parent) { setContentsMargins(-8, -8, -8, -8); QHBoxLayout* mainLayout = new QHBoxLayout; QVBoxLayout* sphereAndNameLayout = new QVBoxLayout; mName = name; mBaseName = baseName; mSphereWidget = new QtGLSphereWidget(this); mSphereWidget->setPixmap(pixmap, name, baseName); mBaseNameEdit = new QLineEdit; mBaseNameEdit->setText(mBaseName); mBaseNameEdit->setEnabled(false); connect(mSphereWidget, SIGNAL(selected(QString,QString)), this, SLOT(handleSelected(QString,QString))); connect(mSphereWidget, SIGNAL(doubleClicked(QString,QString)), this, SLOT(handleDoubleClicked(QString,QString))); setMouseTracking(true); // Layout sphereAndNameLayout->addWidget(mSphereWidget, 1000); sphereAndNameLayout->addWidget(mBaseNameEdit, 1); mainLayout->addLayout(sphereAndNameLayout); setLayout(mainLayout); setMinimumSize(size); setMaximumSize(size); } //****************************************************************************/ QtTextureAndText::~QtTextureAndText(void) { } //****************************************************************************/ void QtTextureAndText::handleSelected(const QString& name, const QString& baseName) { emit selected(name, baseName); } //****************************************************************************/ void QtTextureAndText::handleDoubleClicked(const QString& name, const QString& baseName) { emit doubleClicked(name, baseName); } //****************************************************************************/ //****************************************************************************/ //****************************************************************************/ QtExtendedTextureListWidget::QtExtendedTextureListWidget(QWidget* parent) : QListWidget(parent) { setMouseTracking(true); setAcceptDrops(true); setDropIndicatorShown(true); } //****************************************************************************/ QtExtendedTextureListWidget::~QtExtendedTextureListWidget(void) { } //****************************************************************************/ void QtExtendedTextureListWidget::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); QtTextureAndText* textureAndText = static_cast<QtTextureAndText*>(widget); QString name = textureAndText->mName; QString baseName = textureAndText->mBaseName; removeItemWidget(item); takeItem(r); emit assetDeleted(name, baseName); } } } } break; } event->accept(); }
ItemBoxCategoryListView *ItemBoxTreeWidget::categoryView(const QString &cat_id) const { ItemBoxCategoryListView *rc = 0; if(cat_id.isEmpty()) { qCritical() << "Empty cat_name!"; return rc; } int topItemCount = topLevelItemCount(); for (int i = 0; i < topItemCount; i++) { QTreeWidgetItem *cat_item = topLevelItem(i); //if(cat_item && cat_item->text(0) == cat_id){ if(cat_item && cat_item->data(0, Qt::UserRole).toString() == cat_id) { if(QTreeWidgetItem *embedItem = cat_item->child(0)) { rc = qobject_cast<ItemBoxCategoryListView *>(itemWidget(embedItem, 0)); //qDebug()<<"----ItemBoxTreeWidget::categoryView(...)~~cat_item->text(0):"<<cat_item->text(0); break; } } } Q_ASSERT(rc); return rc; }
void UserManager::newExitMsg(Message msg) { qDebug() << "UserManager::newExitMsg(Message msg)"; QTreeWidgetItemIterator it(Macai::userTreeWidget); while (*it) { UserItemWidget *user_widget = itemWidget(*it); if( user_widget ) { // QString str; // str.append("user_widget->loginName:" + user_widget->loginName()); // str.append("\nmsg->owner().loginName:" + msg->owner().loginName()); // str.append("\nuser_widget->userIp:" + user_widget->userIp()); // str.append("\nmsg->ip:" + msg->ip()); // str.append("\nmsg->owner().ip():" + msg->owner().ip()); // QMessageBox::information(Macai::userTreeWidget->window(), "debug", str ); if( user_widget->userIp() == msg->owner().ip() ) { delete *it; break; } } ++it; } }
CurveItemWidget* CurveListWidget::getCurveItem(size_t index) const { QListWidgetItem* widgetItem = item(index); if (widgetItem) return static_cast<CurveItemWidget*>(itemWidget(widgetItem)); else return 0; }
void LogListWidget::copySelection() { static const QRegularExpression htmlTag("<[^>]+>"); QStringList strings; for (QListWidgetItem* it : asConst(selectedItems())) strings << static_cast<QLabel*>(itemWidget(it))->text().remove(htmlTag); QApplication::clipboard()->setText(strings.join('\n')); }
WidgetBoxCategoryListView *WidgetBoxTreeWidget::categoryViewAt(int idx) const { WidgetBoxCategoryListView *rc = 0; if (QTreeWidgetItem *cat_item = topLevelItem(idx)) if (QTreeWidgetItem *embedItem = cat_item->child(0)) rc = qobject_cast<WidgetBoxCategoryListView*>(itemWidget(embedItem, 0)); Q_ASSERT(rc); return rc; }
void ItemBoxTreeWidget::contextMenuEvent(QContextMenuEvent *e) { QTreeWidgetItem *item = itemAt(e->pos()); if(!item) { return; } const bool scratchpad_menu = item != 0 && item->parent() != 0 && topLevelRole(item->parent()) == SCRATCHPAD_ITEM; QMenu menu; menu.addAction(tr("Expand all"), this, SLOT(expandAll())); menu.addAction(tr("Collapse all"), this, SLOT(collapseAll())); menu.addSeparator(); QAction *listModeAction = menu.addAction(tr("List View")); QAction *iconModeAction = menu.addAction(tr("Icon View")); listModeAction->setCheckable(true); iconModeAction->setCheckable(true); QActionGroup *viewModeGroup = new QActionGroup(&menu); viewModeGroup->addAction(listModeAction); viewModeGroup->addAction(iconModeAction); if (m_iconMode) { iconModeAction->setChecked(true); } else { listModeAction->setChecked(true); } connect(listModeAction, SIGNAL(triggered()), SLOT(slotListMode())); connect(iconModeAction, SIGNAL(triggered()), SLOT(slotIconMode())); if (scratchpad_menu) { menu.addSeparator(); menu.addAction(tr("Remove"), itemWidget(item, 0), SLOT(removeCurrentItem())); if (!m_iconMode) { menu.addAction(tr("Edit name"), itemWidget(item, 0), SLOT(editCurrentItem())); } } e->accept(); // menu.exec(mapToGlobal(e->pos())); // m_core->handleContextMenuEventOnCategory(item->text(0), mapToGlobal(e->pos()), &menu); m_core->handleContextMenuEventOnCategory(item->data(0, Qt::UserRole).toString(), mapToGlobal(e->pos()), &menu); }
/** * We need to manually manage these progress widgets because QTreeWidget does a poor job of it. * This should be called when the progress bar instances have changed (new progress, lost a * progress, etc...). This is not necessary when the progress values have changed. * * Failing to call this method results in seg faults when other events occur - such as a * resize event. */ void HistoryTreeWidget::updateProgressWidgets() { for (int i = 0; i < invisibleRootItem()->childCount(); i++) { QTreeWidgetItem *item = invisibleRootItem()->child(i); WorkOrder *workOrder = item->data(0, Qt::UserRole).value<WorkOrder *>(); if (workOrder && itemWidget(item, 1) != workOrder->progressBar()) { setItemWidget(item, 1, workOrder->progressBar()); } } }
void LogListWidget::copySelection() { static QRegExp html_tag("<[^>]+>"); QList<QListWidgetItem*> items = selectedItems(); QStringList strings; foreach (QListWidgetItem* it, items) strings << static_cast<QLabel*>(itemWidget(it))->text().replace(html_tag, ""); QApplication::clipboard()->setText(strings.join("\n")); }
QString UserManager::host(QTreeWidgetItem *item) { QString hostname = "Unknow Hostname"; UserItemWidget *user_widget = itemWidget(item); if( user_widget ) { hostname = user_widget->hostName(); } return hostname; }
QString UserManager::loginName(QTreeWidgetItem *item) { QString logname = "Unknow Logname"; UserItemWidget *user_widget = itemWidget(item); if( user_widget ) { logname = user_widget->loginName(); } return logname; }
QString UserManager::ip(QTreeWidgetItem *item) { QString ip = "00:00:00:00"; UserItemWidget *user_widget = itemWidget(item); if( user_widget ) { ip = user_widget->userIp(); } return ip; }
QString UserManager::name(QTreeWidgetItem *item) { QString name = tr("Unknow"); UserItemWidget *user_widget = itemWidget(item); if( user_widget ) { name = user_widget->nickName(); } return name; }
QString UserManager::group(QTreeWidgetItem *item) { QString group = "GerneralGroup"; UserItemWidget *user_widget = itemWidget(item); if( user_widget ) { group = user_widget->userGroup(); } return group; }
QWidget* ScTreeWidget::widget(int index) { if ((index < 0) || (index >= topLevelItemCount())) return NULL; QTreeWidgetItem *top = topLevelItem(index); if (top->childCount() == 0) return NULL; QTreeWidgetItem *child = top->child(0); return itemWidget(child, 0); }
SignalBase& WSubMenuItem::activateSignal() { if (subMenu_) { WContainerWidget *contents = dynamic_cast<WContainerWidget *>(itemWidget()); WInteractWidget *wi = dynamic_cast<WInteractWidget *> (contents->widget(0)->webWidget()); return wi->clicked(); } else return WMenuItem::activateSignal(); }
void ErrorListWidget::copyCurrentItem() { QListWidgetItem *item = currentItem(); QLabel *label = item ? dynamic_cast<QLabel *>(itemWidget(item)) : nullptr; if (label) { // Extracting a plain text QTextDocument document; document.setHtml(label->text()); QApplication::clipboard()->setText(document.toPlainText()); } }
void QListWidgetWithDrop::deleteItem(QListWidgetItem *item) { int index = row(item); for (int i = index + 1; i < count(); i++){ FilterButton *fb = (FilterButton*) itemWidget(this->item(i)); fb->setName(QString::number(i)); } delete item; emit listItemDeleted(index); emit currentRowChanged(index); }
void ScTreeWidget::setItemEnabled(int index, bool enable) { if ((index < 0) || (index >= topLevelItemCount())) return; if (enable) topLevelItem(index)->setFlags(Qt::ItemIsEnabled); else topLevelItem(index)->setFlags(0); QTreeWidgetItem *child = topLevelItem(index)->child(0); if (child != NULL) itemWidget(child, 0)->setEnabled(enable); }
void QListWidgetWithDrop::dropEvent(QDropEvent *e) { int fromRow = currentRow(); QListWidget::dropEvent(e); int toRow = currentRow(); for (int i = 0; i < count(); i++){ FilterButton *fb = (FilterButton*) itemWidget(this->item(i)); fb->setName(QString::number(i+1)); } emit listItemMoved(fromRow, toRow); }
void ProgressTree2::updateItem(QTreeWidgetItem* item, Job* s) { item->setText(0, s->getTitle()); time_t now; time(&now); if (s->getStarted() != 0) { time_t diff = difftime(now, s->getStarted()); QTime e = WPMUtils::durationToTime(diff); item->setText(1, e.toString()); if (!s->isCompleted()) { QTime r = WPMUtils::durationToTime(lround( diff * (1 / s->getProgress() - 1))); item->setText(2, r.toString()); } else { item->setText(2, ""); } } else { item->setText(1, ""); item->setText(2, ""); } QProgressBar* pb = (QProgressBar*) itemWidget(item, 3); QPushButton* b = (QPushButton*) itemWidget(item, 4); if (s->isCompleted()) { pb->setValue(10000); if (b) b->setEnabled(false); } else { pb->setValue(lround(s->getProgress() * 10000)); if (b) b->setEnabled(!s->isCancelled()); } }
void ScrobblesListWidget::showEvent(QShowEvent *) { QList<lastfm::Track> tracks; for ( int i = 0 ; i < count() ; ++i ) { TrackWidget* trackWidget = qobject_cast<TrackWidget*>( itemWidget( item( i ) ) ); if ( trackWidget && !item( i )->isHidden() ) tracks << trackWidget->track(); } fetchTrackInfo( tracks ); }
HappyTreeWidget::HappyTreeWidget(QWidget *w) : QTreeWidget(w) { // add animation opac = 0; isHide = false; animation = new QPropertyAnimation(this, "opacity"); this->verticalScrollBar()->hide(); setStyleSheet("QTreeView{background:transparent;}" "QTreeWidget{background:transparent;" "border-width:1px;" "border-style:solid;" "border-color: transparent;}"); QFile file(":res/css/scrollbar.css"); if (file.open(QIODevice::ReadOnly)) { QString css = file.readAll(); this->verticalScrollBar()->setStyleSheet(css); } file.close(); file.setFileName(":res/css/tree.css"); if (file.open(QIODevice::ReadOnly)) { QString css = file.readAll(); setStyleSheet(css); } file.close(); connect(this, &HappyTreeWidget::itemDoubleClicked, [=] (QTreeWidgetItem *item, int column) { QWidget *w = itemWidget(item, column); ItemEditor *ie = qobject_cast<ItemEditor *>(w); if (ie == nullptr) { return; } for (int i = 0; i < topLevelItemCount(); i++) { if (item == topLevelItem(i)) { emit topmemberDoubleClicked(ie); return; } } emit memberDoubleClicked(ie); }); }
bool UserManager::contains(QString ip) { QTreeWidgetItemIterator it(Macai::userTreeWidget); while (*it) { QTreeWidgetItem* item = *it; UserItemWidget* user_widget = itemWidget( item ); if( user_widget ) { if( user_widget->userIp() == ip ) { return true; } } ++it; } return false; }
void ItemBoxTreeWidget::adjustSubListSize(QTreeWidgetItem *cat_item) { QTreeWidgetItem *embedItem = cat_item->child(0); if (embedItem == 0) { return; } ItemBoxCategoryListView *list_widget = static_cast<ItemBoxCategoryListView *>(itemWidget(embedItem, 0)); list_widget->setFixedWidth(header()->width()); list_widget->doItemsLayout(); const int height = qMax(list_widget->contentsSize().height(), 1); list_widget->setFixedHeight(height); //list_widget->setFlow(QListView::TopToBottom); list_widget->setFlow((list_widget->viewMode() == QListView::ListMode) ? QListView::TopToBottom : QListView::LeftToRight); embedItem->setSizeHint(0, QSize(-1, height - 1)); viewport()->update(); }
bool KPBinarySearch::allBinariesFound() { bool ret = true; foreach(KPBinaryIface* const binary, d->binaryIfaces) { int index = d->binaryIfaces.indexOf(binary); if (binary->isValid()) { if (!binary->developmentVersion()) { d->items[index]->setIcon(Status, QIcon::fromTheme(QStringLiteral("dialog-ok-apply")).pixmap(16, 16)); d->items[index]->setToolTip(Status, QString()); } else { d->items[index]->setIcon(Status, QIcon::fromTheme(QStringLiteral("dialog-warning")).pixmap(16, 16)); d->items[index]->setToolTip(Status, i18n("A development version has been detect. " "There is no guarantee on the behavior of this binary.")); d->downloadLabel->show(); } d->items[index]->setText(Version, binary->version()); qobject_cast<QPushButton*>(itemWidget(d->items[index], Button))->setText(i18n("Change")); } else { ret = false; } } if (ret) { d->downloadLabel->hide(); } return ret; }