summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@nokia.com>2011-11-23 12:31:04 +0100
committerhjk <qthjk@ovi.com>2011-11-23 17:13:23 +0100
commite6ee3ca643c127802a0c60c313d18920fc163a4a (patch)
tree5b11810753a31213acb941bfdd9e4d08e0bf7f94
parent2fc8c10b8faff5be486b8eb2c175c179d14a643c (diff)
downloadqt-creator-e6ee3ca643c127802a0c60c313d18920fc163a4a.tar.gz
Don't use generic QSettings object.
We should always get the settings via Core interfaces to make sure it will keep working as expected. Change-Id: Ic3e68300ba2a2342a5d6e16ec6696710d7e6d98b Reviewed-by: hjk <qthjk@ovi.com>
-rw-r--r--src/libs/utils/historycompleter.cpp33
-rw-r--r--src/libs/utils/historycompleter.h3
-rw-r--r--src/plugins/debugger/debuggerdialogs.cpp16
-rw-r--r--src/plugins/debugger/logwindow.cpp4
4 files changed, 31 insertions, 25 deletions
diff --git a/src/libs/utils/historycompleter.cpp b/src/libs/utils/historycompleter.cpp
index 98d50dc803..73306b28f3 100644
--- a/src/libs/utils/historycompleter.cpp
+++ b/src/libs/utils/historycompleter.cpp
@@ -42,6 +42,8 @@
#include <QtGui/QPainter>
#include <QtGui/QStyle>
+static const char SETTINGS_PREFIX[] = "CompleterHistory/";
+
namespace Utils {
class HistoryListModel : public QAbstractListModel
@@ -94,15 +96,14 @@ HistoryListModel::HistoryListModel(HistoryCompleter *parent)
: QAbstractListModel(parent)
, q(parent)
, lastSeenWidget(0)
- , settings(new QSettings(parent))
+ , settings(0)
, maxLines(30)
{
- settings->beginGroup(QLatin1String("CompleterHistory"));
}
void HistoryListModel::fetchHistory()
{
- if (!q->widget()) {
+ if (!q->widget() || !settings) {
list.clear();
reset();
return;
@@ -110,7 +111,7 @@ void HistoryListModel::fetchHistory()
QString objectName = q->widget()->objectName();
if (objectName.isEmpty())
return;
- list = settings->value(objectName).toStringList();
+ list = settings->value(QLatin1String(SETTINGS_PREFIX) + objectName).toStringList();
reset();
}
@@ -148,8 +149,11 @@ bool HistoryListModel::removeRows(int row, int count, const QModelIndex &parent)
{
beginRemoveRows (parent, row, row + count);
list.removeAt(row);
- QString objectName = q->widget()->objectName();
- settings->setValue(objectName, list);
+ if (settings) {
+ QString objectName = q->widget()->objectName();
+ settings->setValue(QLatin1String(SETTINGS_PREFIX) + objectName, list);
+ }
+
endRemoveRows();
return true;
}
@@ -182,7 +186,8 @@ void HistoryListModel::saveEntry(const QString &str)
list.prepend(str);
list = list.mid(0, maxLines);
endInsertRows();
- settings->setValue(objectName, list);
+ if (settings)
+ settings->setValue(QLatin1String(SETTINGS_PREFIX) + objectName, list);
}
bool HistoryListModel::eventFilter(QObject *obj, QEvent *event)
@@ -195,10 +200,11 @@ bool HistoryListModel::eventFilter(QObject *obj, QEvent *event)
}
-HistoryCompleter::HistoryCompleter(QObject *parent)
+HistoryCompleter::HistoryCompleter(QSettings *settings, QObject *parent)
: QCompleter(parent)
, d_ptr(new HistoryCompleterPrivate(this))
{
+ d_ptr->model->settings = settings;
// make an assumption to allow pressing of the down
// key, before the first model run:
// parent is likely the lineedit
@@ -208,7 +214,10 @@ HistoryCompleter::HistoryCompleter(QObject *parent)
QString objectName = p->objectName();
if (objectName.isEmpty())
return;
- d_ptr->model->list = d_ptr->model->settings->value(objectName).toStringList();
+ if (d_ptr->model->settings) {
+ d_ptr->model->list = d_ptr->model->settings->value(
+ QLatin1String(SETTINGS_PREFIX) + objectName).toStringList();
+ }
}
QLineEdit *l = qobject_cast<QLineEdit *>(parent);
@@ -222,12 +231,6 @@ HistoryCompleter::HistoryCompleter(QObject *parent)
view->setItemDelegate(delegate);
}
-QSettings *HistoryCompleter::settings() const
-{
- Q_D(const HistoryCompleter);
- return d->model->settings;
-}
-
int HistoryCompleter::historySize() const
{
Q_D(const HistoryCompleter);
diff --git a/src/libs/utils/historycompleter.h b/src/libs/utils/historycompleter.h
index b45e2ad6fd..277821c0c4 100644
--- a/src/libs/utils/historycompleter.h
+++ b/src/libs/utils/historycompleter.h
@@ -48,8 +48,7 @@ class QTCREATOR_UTILS_EXPORT HistoryCompleter : public QCompleter
Q_OBJECT
public:
- HistoryCompleter(QObject *parent = 0);
- QSettings *settings() const;
+ HistoryCompleter(QSettings *settings, QObject *parent);
int historySize() const;
int maximalHistorySize() const;
void setMaximalHistorySize(int numberOfEntries);
diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp
index 2a8cd70b24..86da5fef11 100644
--- a/src/plugins/debugger/debuggerdialogs.cpp
+++ b/src/plugins/debugger/debuggerdialogs.cpp
@@ -444,21 +444,22 @@ void AttachExternalDialog::accept()
StartExternalDialog::StartExternalDialog(QWidget *parent)
: QDialog(parent), m_ui(new Ui::StartExternalDialog)
{
+ QSettings *settings = Core::ICore::instance()->settings();
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
m_ui->setupUi(this);
m_ui->toolChainComboBox->init(true);
m_ui->execFile->setExpectedKind(PathChooser::File);
m_ui->execFile->setPromptDialogTitle(tr("Select Executable"));
m_ui->execFile->lineEdit()->setCompleter(
- new HistoryCompleter(m_ui->execFile->lineEdit()));
+ new HistoryCompleter(settings, m_ui->execFile->lineEdit()));
connect(m_ui->execFile, SIGNAL(changed(QString)), this, SLOT(changed()));
m_ui->buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
m_ui->workingDirectory->setExpectedKind(PathChooser::ExistingDirectory);
m_ui->workingDirectory->setPromptDialogTitle(tr("Select Working Directory"));
m_ui->workingDirectory->lineEdit()->setCompleter(
- new HistoryCompleter(m_ui->workingDirectory->lineEdit()));
+ new HistoryCompleter(settings, m_ui->workingDirectory->lineEdit()));
- m_ui->argsEdit->setCompleter(new HistoryCompleter(m_ui->argsEdit));
+ m_ui->argsEdit->setCompleter(new HistoryCompleter(settings, m_ui->argsEdit));
connect(m_ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(m_ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
@@ -936,12 +937,13 @@ StartRemoteEngineDialog::StartRemoteEngineDialog(QWidget *parent) :
QDialog(parent) ,
m_ui(new Ui::StartRemoteEngineDialog)
{
+ QSettings *settings = Core::ICore::instance()->settings();
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
m_ui->setupUi(this);
- m_ui->host->setCompleter(new HistoryCompleter(m_ui->host));
- m_ui->username->setCompleter(new HistoryCompleter(m_ui->username));
- m_ui->enginepath->setCompleter(new HistoryCompleter(m_ui->enginepath));
- m_ui->inferiorpath->setCompleter(new HistoryCompleter(m_ui->inferiorpath));
+ m_ui->host->setCompleter(new HistoryCompleter(settings, m_ui->host));
+ m_ui->username->setCompleter(new HistoryCompleter(settings, m_ui->username));
+ m_ui->enginepath->setCompleter(new HistoryCompleter(settings, m_ui->enginepath));
+ m_ui->inferiorpath->setCompleter(new HistoryCompleter(settings, m_ui->inferiorpath));
connect(m_ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(m_ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
}
diff --git a/src/plugins/debugger/logwindow.cpp b/src/plugins/debugger/logwindow.cpp
index cf4741f549..21f70818de 100644
--- a/src/plugins/debugger/logwindow.cpp
+++ b/src/plugins/debugger/logwindow.cpp
@@ -53,6 +53,7 @@
#include <aggregation/aggregate.h>
#include <coreplugin/findplaceholder.h>
+#include <coreplugin/icore.h>
#include <coreplugin/minisplitter.h>
#include <find/basetextfind.h>
@@ -363,7 +364,8 @@ LogWindow::LogWindow(QWidget *parent)
m_commandEdit = new QLineEdit(this);
m_commandEdit->setFrame(false);
m_commandEdit->setObjectName("DebuggerInput");
- m_commandEdit->setCompleter(new Utils::HistoryCompleter(m_commandEdit));
+ m_commandEdit->setCompleter(new Utils::HistoryCompleter(
+ Core::ICore::instance()->settings(), m_commandEdit));
QHBoxLayout *commandBox = new QHBoxLayout;
commandBox->addWidget(m_commandLabel);
commandBox->addWidget(m_commandEdit);