void MsmWindow::addPageWidget( PageWidget& page ) { // Add list widget item ListWidgetItem* item = new ListWidgetItem( ui->listWidget ); item->setText( page.getTitle() ); item->setIcon( QIcon( page.getIcon() ) ); item->setSizeHint( QSize( 135, 100 ) ); item->page = &page; // Add to stacked widget ui->stackedWidget->addWidget( &page ); connect( &page, &PageWidget::setApplyEnabled, this, &MsmWindow::setApplyEnabled ); connect( &page, &PageWidget::closePage, this, &MsmWindow::closePageRequested ); }
bool ListWidget::addSpriteToList(QString path) { //允许重复 //忽略重复项 QFileInfo fileinfo= QFileInfo(path); // QList<QListWidgetItem *> res = findItems(fileinfo.baseName(),Qt::MatchCaseSensitive); // if(res.count() > 0) // return false; qDebug("%s", fileinfo.baseName().toLatin1().data() ); ListWidgetItem *item = new ListWidgetItem(fileinfo); item->setIcon(QIcon(path)); item->setText(fileinfo.baseName()); // item1->setBackgroundColor(QColor(100,0,0)); // item->setSizeHint(QSize(100,100)); this->addItem(item); return true; }
void OpenAsDialog::m_add_application(const QString &application_desktop_file_path) { // we said above that QSettings couldn't work for a string list, but it's a bit // better (faster) than QFile for single values, we will use it here QSettings s(application_desktop_file_path, QSettings::NativeFormat); s.beginGroup("Desktop Entry"); // first of all get the name and the icon of the application QIcon ic = QIcon::fromTheme(s.value("Icon").toString()); QString name = s.value("Name[" + QLocale::system().name().section('_',0,0) + "]").toString(); // if we dont have a name with the locale, fallback to the default one name = name.isEmpty() ? s.value("Name").toString() : name; // we will use a ListWidgetItem, but replacing the filePath property used by the filenav by the Exec property of the .desktop ! :D // it's necessary to pass this information to the slot called when the user selects its application, that does'nt know anything about it ListWidgetItem *it = new ListWidgetItem(false, s.value("Exec").toString().replace("%u", m_file_path).replace("%U", m_file_path), m_list); it->setText(name); it->setIcon(ic); m_list->addItem(it); // close the QSettings s.endGroup(); }