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"