From c54575e670fa6de8f8ba6450d6fa7278ae0627e7 Mon Sep 17 00:00:00 2001 From: Tobias Hunger <tobias.hunger@nokia.com> Date: Thu, 26 May 2011 22:34:22 +0200 Subject: [PATCH] Git: remote dialog improvements * Add shortcuts * Add refresh button Change-Id: Idfe5c86459d654ea75fb90542eaa4d9cc1405d33 Reviewed-on: http://codereview.qt.nokia.com/220 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com> --- src/plugins/git/remotedialog.cpp | 6 +++++ src/plugins/git/remotedialog.h | 1 + src/plugins/git/remotedialog.ui | 38 ++++++++++++++++++++++---- src/plugins/git/remotemodel.cpp | 46 +++++++++++++------------------- src/plugins/git/remotemodel.h | 8 ++---- 5 files changed, 60 insertions(+), 39 deletions(-) diff --git a/src/plugins/git/remotedialog.cpp b/src/plugins/git/remotedialog.cpp index 4f2efcee4ad..b666abddaa4 100644 --- a/src/plugins/git/remotedialog.cpp +++ b/src/plugins/git/remotedialog.cpp @@ -103,6 +103,7 @@ RemoteDialog::RemoteDialog(QWidget *parent) : connect(m_ui->addButton, SIGNAL(clicked()), this, SLOT(addRemote())); connect(m_ui->fetchButton, SIGNAL(clicked()), this, SLOT(fetchFromRemote())); connect(m_ui->removeButton, SIGNAL(clicked()), this, SLOT(removeRemote())); + connect(m_ui->refreshButton, SIGNAL(clicked()), this, SLOT(refreshRemotes())); } RemoteDialog::~RemoteDialog() @@ -126,6 +127,11 @@ void RemoteDialog::refresh(const QString &repository, bool force) } } +void RemoteDialog::refreshRemotes() +{ + refresh(m_remoteModel->workingDirectory(), true); +} + void RemoteDialog::addRemote() { if (!m_addDialog) diff --git a/src/plugins/git/remotedialog.h b/src/plugins/git/remotedialog.h index 72683b5292c..4458bf544c7 100644 --- a/src/plugins/git/remotedialog.h +++ b/src/plugins/git/remotedialog.h @@ -80,6 +80,7 @@ public: public slots: void refresh(const QString &repository, bool force); + void refreshRemotes(); void addRemote(); void removeRemote(); void fetchFromRemote(); diff --git a/src/plugins/git/remotedialog.ui b/src/plugins/git/remotedialog.ui index 718a6d8663e..bb52f12b1e6 100644 --- a/src/plugins/git/remotedialog.ui +++ b/src/plugins/git/remotedialog.ui @@ -16,14 +16,33 @@ <layout class="QVBoxLayout" name="verticalLayout_3"> <item> <widget class="QGroupBox" name="infoGroupBox"> - <layout class="QFormLayout" name="formLayout"> - <item row="0" column="0" colspan="2"> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <property name="topMargin"> + <number>4</number> + </property> + <property name="bottomMargin"> + <number>4</number> + </property> + <item> <widget class="QLabel" name="repositoryLabel"> <property name="text"> <string notr="true">Repository: Dummy</string> </property> </widget> </item> + <item> + <widget class="QPushButton" name="refreshButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Re&fresh</string> + </property> + </widget> + </item> </layout> </widget> </item> @@ -33,6 +52,15 @@ <string>Remotes</string> </property> <layout class="QVBoxLayout" name="verticalLayout"> + <property name="spacing"> + <number>9</number> + </property> + <property name="topMargin"> + <number>4</number> + </property> + <property name="bottomMargin"> + <number>4</number> + </property> <item> <widget class="QTableView" name="remoteView"> <property name="editTriggers"> @@ -63,7 +91,7 @@ <item> <widget class="QPushButton" name="addButton"> <property name="text"> - <string>Add...</string> + <string>&Add...</string> </property> <property name="autoDefault"> <bool>false</bool> @@ -73,14 +101,14 @@ <item> <widget class="QPushButton" name="fetchButton"> <property name="text"> - <string>Fetch</string> + <string>F&etch</string> </property> </widget> </item> <item> <widget class="QPushButton" name="removeButton"> <property name="text"> - <string>Remove</string> + <string>&Remove</string> </property> <property name="autoDefault"> <bool>false</bool> diff --git a/src/plugins/git/remotemodel.cpp b/src/plugins/git/remotemodel.cpp index 8499f6d9c67..d6a122fd9e1 100644 --- a/src/plugins/git/remotemodel.cpp +++ b/src/plugins/git/remotemodel.cpp @@ -58,11 +58,6 @@ RemoteModel::RemoteModel(GitClient *client, QObject *parent) : m_client(client) { } -bool RemoteModel::refresh(const QString &workingDirectory, QString *errorMessage) -{ - return refreshRemotes(workingDirectory, errorMessage); -} - QString RemoteModel::remoteName(int row) const { return m_remotes.at(row).name; @@ -77,11 +72,11 @@ bool RemoteModel::removeRemote(int row) { QString output; QString error; - bool success = runGitRemoteCommand(m_workingDirectory, - QStringList() << QLatin1String("rm") << remoteName(row), - &output, &error); + bool success = m_client->synchronousRemoteCmd(m_workingDirectory, + QStringList() << QLatin1String("rm") << remoteName(row), + &output, &error); if (success) - success = refreshRemotes(m_workingDirectory, &error); + success = refresh(m_workingDirectory, &error); return success; } @@ -92,11 +87,11 @@ bool RemoteModel::addRemote(const QString &name, const QString &url) if (name.isEmpty() || url.isEmpty()) return false; - bool success = runGitRemoteCommand(m_workingDirectory, - QStringList() << QLatin1String("add") << name << url, - &output, &error); + bool success = m_client->synchronousRemoteCmd(m_workingDirectory, + QStringList() << QLatin1String("add") << name << url, + &output, &error); if (success) - success = refreshRemotes(m_workingDirectory, &error); + success = refresh(m_workingDirectory, &error); return success; } @@ -104,11 +99,11 @@ bool RemoteModel::renameRemote(const QString &oldName, const QString &newName) { QString output; QString error; - bool success = runGitRemoteCommand(m_workingDirectory, - QStringList() << QLatin1String("rename") << oldName << newName, - &output, &error); + bool success = m_client->synchronousRemoteCmd(m_workingDirectory, + QStringList() << QLatin1String("rename") << oldName << newName, + &output, &error); if (success) - success = refreshRemotes(m_workingDirectory, &error); + success = refresh(m_workingDirectory, &error); return success; } @@ -116,11 +111,11 @@ bool RemoteModel::updateUrl(const QString &name, const QString &newUrl) { QString output; QString error; - bool success = runGitRemoteCommand(m_workingDirectory, - QStringList() << QLatin1String("set-url") << name << newUrl, - &output, &error); + bool success = m_client->synchronousRemoteCmd(m_workingDirectory, + QStringList() << QLatin1String("set-url") << name << newUrl, + &output, &error); if (success) - success = refreshRemotes(m_workingDirectory, &error); + success = refresh(m_workingDirectory, &error); return success; } @@ -189,11 +184,6 @@ Qt::ItemFlags RemoteModel::flags(const QModelIndex &index) const return m_flags; } -bool RemoteModel::runGitRemoteCommand(const QString &workingDirectory, const QStringList &additionalArgs, QString *output, QString *errorMessage) -{ - return m_client->synchronousRemoteCmd(workingDirectory, additionalArgs, output, errorMessage); -} - void RemoteModel::clear() { if (m_remotes.isEmpty()) @@ -202,13 +192,13 @@ void RemoteModel::clear() reset(); } -bool RemoteModel::refreshRemotes(const QString &workingDirectory, QString *errorMessage) +bool RemoteModel::refresh(const QString &workingDirectory, QString *errorMessage) { // Run branch command with verbose. QStringList remoteArgs; remoteArgs << QLatin1String("-v"); QString output; - if (!runGitRemoteCommand(workingDirectory, remoteArgs, &output, errorMessage)) + if (!m_client->synchronousRemoteCmd(workingDirectory, remoteArgs, &output, errorMessage)) return false; // Parse output m_workingDirectory = workingDirectory; diff --git a/src/plugins/git/remotemodel.h b/src/plugins/git/remotemodel.h index 60939e0172d..312fc755c96 100644 --- a/src/plugins/git/remotemodel.h +++ b/src/plugins/git/remotemodel.h @@ -47,8 +47,8 @@ class RemoteModel : public QAbstractTableModel { public: explicit RemoteModel(GitClient *client, QObject *parent = 0); - virtual void clear(); - virtual bool refresh(const QString &workingDirectory, QString *errorMessage); + void clear(); + bool refresh(const QString &workingDirectory, QString *errorMessage); QString remoteName(int row) const; QString remoteUrl(int row) const; @@ -80,10 +80,6 @@ protected: }; typedef QList<Remote> RemoteList; - /* Parse git output and populate m_branches. */ - bool refreshRemotes(const QString &workingDirectory, QString *errorMessage); - bool runGitRemoteCommand(const QString &workingDirectory, const QStringList &additionalArgs, QString *output, QString *errorMessage); - private: const Qt::ItemFlags m_flags; -- GitLab