File indexing completed on 2024-04-28 04:37:23
0001 /* 0002 SPDX-FileCopyrightText: 2008 Andreas Pakulat <apaku@gmx.de> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "projectinfopage.h" 0008 #include "ui_projectinfopage.h" 0009 0010 namespace KDevelop 0011 { 0012 0013 const int FileNameRole = Qt::UserRole + 1; 0014 0015 ProjectInfoPage::ProjectInfoPage( QWidget* parent ) 0016 : QWidget( parent ) 0017 { 0018 page_ui = new Ui::ProjectInfoPage; 0019 page_ui->setupUi( this ); 0020 connect( page_ui->nameEdit, &QLineEdit::textEdited, 0021 this, &ProjectInfoPage::projectNameChanged ); 0022 connect( page_ui->managerCombo, QOverload<int>::of(&QComboBox::activated), 0023 this, &ProjectInfoPage::changeProjectManager ); 0024 } 0025 0026 ProjectInfoPage::~ProjectInfoPage() 0027 { 0028 delete page_ui; 0029 } 0030 0031 void ProjectInfoPage::changeProjectManager( int idx ) 0032 { 0033 emit projectManagerChanged( page_ui->managerCombo->itemData( idx ).toString(), 0034 page_ui->managerCombo->itemData( idx, FileNameRole ).toString() ); 0035 } 0036 0037 void ProjectInfoPage::setProjectName( const QString& name ) 0038 { 0039 page_ui->nameEdit->setText( name ); 0040 emit projectNameChanged( page_ui->nameEdit->text() ); 0041 } 0042 0043 void ProjectInfoPage::populateProjectFileCombo(const QVector<ProjectFileChoice>& choices) 0044 { 0045 page_ui->managerCombo->clear(); 0046 for (const auto& item : choices) { 0047 const int index = page_ui->managerCombo->count(); 0048 page_ui->managerCombo->addItem(QIcon::fromTheme(item.iconName), item.text, item.pluginId); 0049 page_ui->managerCombo->setItemData( index, item.fileName, FileNameRole ); 0050 } 0051 changeProjectManager(0); 0052 } 0053 0054 } 0055 0056 #include "moc_projectinfopage.cpp"