summaryrefslogtreecommitdiffstats
path: root/installerbuilder
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@nokia.com>2012-03-02 09:28:26 +0100
committerKarsten Heimrich <karsten.heimrich@nokia.com>2012-03-02 12:54:14 +0100
commitb63f891fa60ab3a0ad5972dcfaa82a331b119a1f (patch)
treef0b7714c17f0cee608f0b62db261a19990da0551 /installerbuilder
parent61dc9d1d03f039e5155978e1407c3682803d7088 (diff)
Fix broken tmp repo only behavior (ui).
Better function naming. Make sure to disable and uncheck the box when there are no temporary repositories available. Change-Id: If9087ba845950ef5a6bc3089c303077d332795c3 Reviewed-by: Niels Weber <niels.2.weber@nokia.com>
Diffstat (limited to 'installerbuilder')
-rw-r--r--installerbuilder/installerbase/settingsdialog.cpp18
-rw-r--r--installerbuilder/installerbase/settingsdialog.h2
2 files changed, 15 insertions, 5 deletions
diff --git a/installerbuilder/installerbase/settingsdialog.cpp b/installerbuilder/installerbase/settingsdialog.cpp
index 416594d9f..b3508e169 100644
--- a/installerbuilder/installerbase/settingsdialog.cpp
+++ b/installerbuilder/installerbase/settingsdialog.cpp
@@ -339,13 +339,14 @@ SettingsDialog::SettingsDialog(QInstaller::PackageManagerCore *core, QWidget *pa
connect(m_ui->m_addRepository, SIGNAL(clicked()), this, SLOT(addRepository()));
connect(m_ui->m_showPasswords, SIGNAL(clicked()), this, SLOT(updatePasswords()));
connect(m_ui->m_removeRepository, SIGNAL(clicked()), this, SLOT(removeRepository()));
- connect(m_ui->m_useTmpRepositories, SIGNAL(clicked(bool)), this, SLOT(useTmpRepositories(bool)));
+ connect(m_ui->m_useTmpRepositories, SIGNAL(clicked(bool)), this, SLOT(useTmpRepositoriesOnly(bool)));
connect(m_ui->m_repositoriesView, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)),
this, SLOT(currentRepositoryChanged(QTreeWidgetItem*, QTreeWidgetItem*)));
connect(m_ui->m_testRepository, SIGNAL(clicked()), this, SLOT(testRepository()));
- useTmpRepositories(settings.hasReplacementRepos());
+ useTmpRepositoriesOnly(settings.hasReplacementRepos());
m_ui->m_useTmpRepositories->setChecked(settings.hasReplacementRepos());
+ m_ui->m_useTmpRepositories->setEnabled(settings.hasReplacementRepos());
m_ui->m_repositoriesView->setCurrentItem(m_rootItems.at(settings.hasReplacementRepos()));
}
@@ -414,6 +415,9 @@ void SettingsDialog::addRepository()
m_ui->m_repositoriesView->editItem(item, 4);
m_ui->m_repositoriesView->scrollToItem(item);
m_ui->m_repositoriesView->setCurrentItem(item);
+
+ if (parent == m_rootItems.value(1))
+ m_ui->m_useTmpRepositories->setEnabled(parent->childCount() > 0);
}
}
@@ -463,12 +467,18 @@ void SettingsDialog::removeRepository()
QTreeWidgetItem *item = m_ui->m_repositoriesView->currentItem();
if (item && !m_rootItems.contains(item)) {
QTreeWidgetItem *parent = item->parent();
- if (parent)
+ if (parent) {
delete parent->takeChild(parent->indexOfChild(item));
+ if (parent == m_rootItems.value(1) && parent->childCount() <= 0) {
+ useTmpRepositoriesOnly(false);
+ m_ui->m_useTmpRepositories->setChecked(false);
+ m_ui->m_useTmpRepositories->setEnabled(false);
+ }
+ }
}
}
-void SettingsDialog::useTmpRepositories(bool use)
+void SettingsDialog::useTmpRepositoriesOnly(bool use)
{
m_rootItems.at(0)->setDisabled(use);
m_rootItems.at(2)->setDisabled(use);
diff --git a/installerbuilder/installerbase/settingsdialog.h b/installerbuilder/installerbase/settingsdialog.h
index e69809cee..bb0ef0a7d 100644
--- a/installerbuilder/installerbase/settingsdialog.h
+++ b/installerbuilder/installerbase/settingsdialog.h
@@ -152,7 +152,7 @@ private slots:
void testRepository();
void updatePasswords();
void removeRepository();
- void useTmpRepositories(bool use);
+ void useTmpRepositoriesOnly(bool use);
void currentRepositoryChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
private: