[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdev-mercurial] /: First bits of MQ manager ui.
From: Andrey Batyiev <batyiev () gmail ! com>
Date: 2011-07-17 11:56:13
Message-ID: 20110717115613.15001A60A6 () git ! kde ! org
[Download RAW message or body]
Git commit aa38e503fb538e80ea996c72c307af2ec21a8179 by Andrey Batyiev.
Committed on 17/07/2011 at 13:54.
Pushed by abatyiev into branch 'master'.
First bits of MQ manager ui.
A +141 -0 ui/mercurialqueuesmanager.ui
A +53 -0 ui/mercurialqueuesmanager.h [License: GPL (v2/3)]
A +77 -0 models/mercurialqueueseriesmodel.cpp [License: GPL (v2/3)]
A +68 -0 ui/mercurialqueuesmanager.cpp [License: GPL (v2/3)]
A +51 -0 models/mercurialqueueseriesmodel.h [License: GPL (v2/3)]
M +3 -0 CMakeLists.txt
M +85 -23 mercurialplugin.cpp
M +19 -7 mercurialplugin.h
http://commits.kde.org/kdev-mercurial/aa38e503fb538e80ea996c72c307af2ec21a8179
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5c15c5c..c4f91a3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,7 +20,9 @@ add_subdirectory(python)
########### next target ###############
set(kdevmercurial_PART_SRCS
+ ui/mercurialqueuesmanager.cpp
ui/mercurialheadswidget.cpp
+ models/mercurialqueueseriesmodel.cpp
models/mercurialheadsmodel.cpp
mercurialpushjob.cpp
mercurialvcslocationwidget.cpp
@@ -29,6 +31,7 @@ set(kdevmercurial_PART_SRCS
set(kdevmercurial_UIS
ui/mercurialheadswidget.ui
+ ui/mercurialqueuesmanager.ui
)
kde4_add_ui_files(kdevmercurial_PART_SRCS ${kdevmercurial_UIS})
diff --git a/mercurialplugin.cpp b/mercurialplugin.cpp
index a9aa849..7cb53e2 100644
--- a/mercurialplugin.cpp
+++ b/mercurialplugin.cpp
@@ -52,13 +52,14 @@
#include "mercurialvcslocationwidget.h"
#include "mercurialpushjob.h"
#include "ui/mercurialheadswidget.h"
-
+#include "ui/mercurialqueuesmanager.h"
K_PLUGIN_FACTORY(KDevMercurialFactory, registerPlugin<MercurialPlugin>();)
K_EXPORT_PLUGIN(KDevMercurialFactory(KAboutData("kdevmercurial", "kdevmercurial", \
ki18n("Mercurial"), "0.1", ki18n("A plugin to support Mercurial version control \
systems"), KAboutData::License_GPL)))
using namespace KDevelop;
+
MercurialPlugin::MercurialPlugin(QObject *parent, const QVariantList &)
: DistributedVersionControlPlugin(parent, \
KDevMercurialFactory::componentData()) {
@@ -67,13 +68,14 @@ MercurialPlugin::MercurialPlugin(QObject *parent, const \
QVariantList &)
m_headsAction = new KAction(i18n("Heads..."), this);
m_mqNew = new KAction(i18nc("mercurial queues submenu", "New..."), this);
- m_mqPush = new KAction(i18nc("mercurial queues submenu", "Push"), this);
- m_mqPushAll = new KAction(i18nc("mercurial queues submenu", "Push All"), this);
- m_mqPop = new KAction(i18nc("mercurial queues submenu", "Pop"), this);
- m_mqPopAll = new KAction(i18nc("mercurial queues submenu", "Pop All"), this);
- m_mqManager = new KAction(i18nc("mercurial queues submenu", "Manager..."), \
this); + m_mqPushAction = new KAction(i18nc("mercurial queues submenu", "Push"), \
this); + m_mqPushAllAction = new KAction(i18nc("mercurial queues submenu", "Push \
All"), this); + m_mqPopAction = new KAction(i18nc("mercurial queues submenu", \
"Pop"), this); + m_mqPopAllAction = new KAction(i18nc("mercurial queues submenu", \
"Pop All"), this); + m_mqManagerAction = new KAction(i18nc("mercurial queues \
submenu", "Manager..."), this);
connect(m_headsAction, SIGNAL(triggered()), this, SLOT(showHeads()));
+ connect(m_mqManagerAction, SIGNAL(triggered()), this, \
SLOT(showMercurialQueuesManager()));
core()->uiController()->addToolView(i18n("Mercurial"), dvcsViewFactory());
setXMLFile("kdevmercurial.rc");
}
@@ -592,7 +594,7 @@ VcsJob* MercurialPlugin::branches(const KUrl &repository)
{
DVcsJob *job = new DVcsJob(findWorkingDir(repository), this);
callExtension(*job) << "allbranches" << "--" << repository;
- connect(job, SIGNAL(readyForParsing(KDevelop::DVcsJob*)), this, \
SLOT(parseBranchesOutput(KDevelop::DVcsJob*))); + connect(job, \
SIGNAL(readyForParsing(KDevelop::DVcsJob*)), this, \
SLOT(parseMultiLineOutput(KDevelop::DVcsJob*))); return job;
}
@@ -600,15 +602,10 @@ VcsJob* MercurialPlugin::currentBranch(const KUrl& repository)
{
DVcsJob *job = new DVcsJob(findWorkingDir(repository), this);
*job << "hg" << "branch";
- connect(job, SIGNAL(readyForParsing(KDevelop::DVcsJob*)), this, \
SLOT(parseBranchesOutput(KDevelop::DVcsJob*))); + connect(job, \
SIGNAL(readyForParsing(KDevelop::DVcsJob*)), this, \
SLOT(parseMultiLineOutput(KDevelop::DVcsJob*))); return job;
}
-void MercurialPlugin::parseBranchesOutput(DVcsJob *job) const
-{
- job->setResults(job->output().split('\n', QString::SkipEmptyParts));
-}
-
VcsJob* MercurialPlugin::deleteBranch(const KUrl &repository, const QString \
&branchName) {
return 0;
@@ -729,6 +726,11 @@ QList<DVcsEvent> MercurialPlugin::getAllCommits(const QString \
&repo) #endif
}
+void MercurialPlugin::parseMultiLineOutput(DVcsJob *job) const
+{
+ job->setResults(job->output().split('\n', QString::SkipEmptyParts));
+}
+
void MercurialPlugin::parseDiff(DVcsJob* job)
{
if (job->status() != VcsJob::JobSucceeded) {
@@ -1090,21 +1092,20 @@ void MercurialPlugin::additionalMenuEntries(QMenu *menu, \
const KUrl::List &urls) menu->addAction(m_headsAction);
menu->addSeparator()->setText(i18n("Mercurial Queues"));
menu->addAction(m_mqNew);
- menu->addAction(m_mqPush);
- menu->addAction(m_mqPushAll);
- menu->addAction(m_mqPop);
- menu->addAction(m_mqPopAll);
- menu->addAction(m_mqManager);
+ menu->addAction(m_mqPushAction);
+ menu->addAction(m_mqPushAllAction);
+ menu->addAction(m_mqPopAction);
+ menu->addAction(m_mqPopAllAction);
+ menu->addAction(m_mqManagerAction);
m_headsAction->setEnabled(m_urls.count() == 1);
//FIXME:not supported yet, so disable
m_mqNew->setEnabled(false);
- m_mqPush->setEnabled(false);
- m_mqPushAll->setEnabled(false);
- m_mqPop->setEnabled(false);
- m_mqPopAll->setEnabled(false);
- m_mqManager->setEnabled(false);
+ m_mqPushAction->setEnabled(false);
+ m_mqPushAllAction->setEnabled(false);
+ m_mqPopAction->setEnabled(false);
+ m_mqPopAllAction->setEnabled(false);
}
void MercurialPlugin::showHeads()
@@ -1114,6 +1115,14 @@ void MercurialPlugin::showHeads()
headsWidget->show();
}
+void MercurialPlugin::showMercurialQueuesManager()
+{
+ const KUrl ¤t = m_urls.first();
+ MercurialQueuesManager *managerWidget = new MercurialQueuesManager(this, \
current); + managerWidget->show();
+}
+
+
DVcsJob& MercurialPlugin::callExtension(DVcsJob &job)
{
job << "hg" << "--config" << "extensions.kdevmercurial=" EXTENSION_FILE;
@@ -1121,4 +1130,57 @@ DVcsJob& MercurialPlugin::callExtension(DVcsJob &job)
}
+/*
+ * Mercurial Queues
+ */
+
+VcsJob* MercurialPlugin::mqNew(const KUrl &localLocation, const QString &name, const \
QString &message) +{
+ return 0;
+}
+
+VcsJob* MercurialPlugin::mqPush(const KUrl &localLocation)
+{
+ DVcsJob *job = new DVcsJob(findWorkingDir(localLocation), this);
+ *job << "hg" << "qpush";
+ return job;
+}
+
+VcsJob* MercurialPlugin::mqPushAll(const KUrl &localLocation)
+{
+ DVcsJob *job = new DVcsJob(findWorkingDir(localLocation), this);
+ *job << "hg" << "qpush" << "-a";
+ return job;
+}
+
+VcsJob* MercurialPlugin::mqPop(const KUrl &localLocation)
+{
+ DVcsJob *job = new DVcsJob(findWorkingDir(localLocation), this);
+ *job << "hg" << "qpop";
+ return job;
+}
+
+VcsJob* MercurialPlugin::mqPopAll(const KUrl &localLocation)
+{
+ DVcsJob *job = new DVcsJob(findWorkingDir(localLocation), this);
+ *job << "hg" << "qpop" << "-a";
+ return job;
+}
+
+VcsJob* MercurialPlugin::mqApplied(const KUrl &localLocation)
+{
+ DVcsJob *job = new DVcsJob(findWorkingDir(localLocation), this);
+ *job << "hg" << "qapplied";
+ connect(job, SIGNAL(readyForParsing(KDevelop::DVcsJob*)), this, \
SLOT(parseMultiLineOutput(KDevelop::DVcsJob*))); + return job;
+}
+
+VcsJob* MercurialPlugin::mqUnapplied(const KUrl &localLocation)
+{
+ DVcsJob *job = new DVcsJob(findWorkingDir(localLocation), this);
+ *job << "hg" << "qunapplied";
+ connect(job, SIGNAL(readyForParsing(KDevelop::DVcsJob*)), this, \
SLOT(parseMultiLineOutput(KDevelop::DVcsJob*))); + return job;
+}
+
// #include "mercurialplugin.moc"
diff --git a/mercurialplugin.h b/mercurialplugin.h
index bf660b3..11c3cf2 100644
--- a/mercurialplugin.h
+++ b/mercurialplugin.h
@@ -114,6 +114,15 @@ public:
KDevelop::VcsJob* checkoutHead(const KUrl &localLocation, const \
KDevelop::VcsRevision &rev);
KDevelop::VcsJob* mergeWith(const KUrl &localLocation, const \
KDevelop::VcsRevision &rev);
+ // mercurial queues stuff
+ KDevelop::VcsJob* mqNew(const KUrl &localLocation, const QString &name, const \
QString &message); + KDevelop::VcsJob* mqPush(const KUrl &localLocation);
+ KDevelop::VcsJob* mqPushAll(const KUrl &localLocation);
+ KDevelop::VcsJob* mqPop(const KUrl &localLocation);
+ KDevelop::VcsJob* mqPopAll(const KUrl &localLocation);
+ KDevelop::VcsJob* mqApplied(const KUrl &localLocation);
+ KDevelop::VcsJob* mqUnapplied(const KUrl &localLocation);
+
//KDevelop::DVcsJob* switchBranch(const QString &repository, const QString \
&branch);
//KDevelop::DVcsJob* branch(const QString &repository, const QString &basebranch \
= QString(), const QString //&branch = QString(), //const QStringList &args = \
QStringList()); @@ -151,7 +160,7 @@ protected slots:
bool parseStatus(KDevelop::DVcsJob *job) const;
bool parseAnnotations(KDevelop::DVcsJob *job) const;
void parseDiff(KDevelop::DVcsJob *job);
- void parseBranchesOutput(KDevelop::DVcsJob *job) const;
+ void parseMultiLineOutput(KDevelop::DVcsJob *job) const;
/*
* mercurial specific stuff
@@ -162,7 +171,8 @@ protected slots:
* ui helpers
*/
void showHeads();
-
+ void showMercurialQueuesManager();
+
protected:
//used in log
void parseLogOutput(const KDevelop::DVcsJob *job, QList<DVcsEvent>& commits) \
const; @@ -184,13 +194,15 @@ protected:
KAction *m_headsAction;
KAction *m_mqNew,
- *m_mqPush,
- *m_mqPushAll,
- *m_mqPop,
- *m_mqPopAll,
- *m_mqManager;
+ *m_mqPushAction,
+ *m_mqPushAllAction,
+ *m_mqPopAction,
+ *m_mqPopAllAction,
+ *m_mqManagerAction;
KUrl::List m_urls;
void additionalMenuEntries(QMenu *menu, const KUrl::List &urls);
};
+//class MercurialQueues
+
#endif
diff --git a/models/mercurialqueueseriesmodel.cpp \
b/models/mercurialqueueseriesmodel.cpp new file mode 100644
index 0000000..4fb1d52
--- /dev/null
+++ b/models/mercurialqueueseriesmodel.cpp
@@ -0,0 +1,77 @@
+/***************************************************************************
+ * Copyright 2011 Andrey Batyiev <batyiev@gmail.com> *
+ * *
+ * This program is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU General Public License as *
+ * published by the Free Software Foundation; either version 2 of *
+ * the License or (at your option) version 3 or any later version *
+ * accepted by the membership of KDE e.V. (or its successor approved *
+ * by the membership of KDE e.V.), which shall act as a proxy *
+ * defined in Section 14 of version 3 of the license. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
+ ***************************************************************************/
+
+#include <QStringList>
+#include <KIcon>
+
+#include <mercurialplugin.h>
+#include "mercurialqueueseriesmodel.h"
+#include <vcs/vcsjob.h>
+
+using namespace KDevelop;
+
+void MercurialQueueSeriesModel::update()
+{
+ beginResetModel();
+ VcsJob *job = m_plugin->mqApplied(m_repoLocation);
+ if(job->exec() && job->status() == VcsJob::JobSucceeded) {
+ m_appliedPatches = job->fetchResults().toStringList();
+ }
+ delete job;
+
+ job = m_plugin->mqUnapplied(m_repoLocation);
+ if(job->exec() && job->status() == VcsJob::JobSucceeded) {
+ m_unappliedPatches = job->fetchResults().toStringList();
+ }
+ delete job;
+ endResetModel();
+}
+
+QVariant MercurialQueueSeriesModel::data(const QModelIndex &index, int role) const
+{
+ int row = index.row();
+ if (row >= 0 && row < m_appliedPatches.size()) {
+ if (role == Qt::DisplayRole) {
+ return m_appliedPatches[row];
+ } else if (role == Qt::DecorationRole) {
+ // FIXME
+ return QVariant(KIcon("dialog-ok-apply"));
+ } else {
+ return QVariant();
+ }
+ } else {
+ row -= m_appliedPatches.size();
+ }
+
+ if (row >= 0 && row < m_unappliedPatches.size()) {
+ if (role == Qt::DisplayRole) {
+ return m_unappliedPatches[row];
+ } else {
+ return QVariant();
+ }
+ }
+ return QVariant();
+}
+
+int MercurialQueueSeriesModel::rowCount(const QModelIndex &parent) const
+{
+ return m_unappliedPatches.size() + m_appliedPatches.size();
+}
+
diff --git a/models/mercurialqueueseriesmodel.h b/models/mercurialqueueseriesmodel.h
new file mode 100644
index 0000000..199c0f6
--- /dev/null
+++ b/models/mercurialqueueseriesmodel.h
@@ -0,0 +1,51 @@
+/***************************************************************************
+ * Copyright 2011 Andrey Batyiev <batyiev@gmail.com> *
+ * *
+ * This program is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU General Public License as *
+ * published by the Free Software Foundation; either version 2 of *
+ * the License or (at your option) version 3 or any later version *
+ * accepted by the membership of KDE e.V. (or its successor approved *
+ * by the membership of KDE e.V.), which shall act as a proxy *
+ * defined in Section 14 of version 3 of the license. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
+ ***************************************************************************/
+
+#ifndef MERCURIALQUEUESERIESMODEL_H
+#define MERCURIALQUEUESERIESMODEL_H
+
+#include <QModelIndex>
+
+class KUrl;
+class MercurialPlugin;
+
+class MercurialQueueSeriesModel : public QAbstractListModel
+{
+ Q_OBJECT
+
+public:
+ explicit MercurialQueueSeriesModel(MercurialPlugin *plugin, const KUrl \
&localLocation, QObject *parent = 0) + : QAbstractListModel(parent), \
m_repoLocation(localLocation), m_plugin(plugin) + {
+ update();
+ };
+
+ void update();
+
+ virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) \
const; + virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
+
+private:
+ const KUrl &m_repoLocation;
+ MercurialPlugin *m_plugin;
+ QStringList m_appliedPatches, m_unappliedPatches;
+};
+
+#endif // MERCURIALQUEUESERIESMODEL_H
diff --git a/ui/mercurialqueuesmanager.cpp b/ui/mercurialqueuesmanager.cpp
new file mode 100644
index 0000000..0ebc0e0
--- /dev/null
+++ b/ui/mercurialqueuesmanager.cpp
@@ -0,0 +1,68 @@
+/***************************************************************************
+ * Copyright 2011 Andrey Batyiev <batyiev@gmail.com> *
+ * *
+ * This program is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU General Public License as *
+ * published by the Free Software Foundation; either version 2 of *
+ * the License or (at your option) version 3 or any later version *
+ * accepted by the membership of KDE e.V. (or its successor approved *
+ * by the membership of KDE e.V.), which shall act as a proxy *
+ * defined in Section 14 of version 3 of the license. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
+ ***************************************************************************/
+
+#include "mercurialqueuesmanager.h"
+#include "ui_mercurialqueuesmanager.h"
+#include <models/mercurialqueueseriesmodel.h>
+#include <vcs/vcsjob.h>
+#include <mercurialplugin.h>
+
+using namespace KDevelop;
+
+MercurialQueuesManager::MercurialQueuesManager(MercurialPlugin *plugin, const KUrl \
&localLocation) +: QWidget(), repoLocation(localLocation), m_plugin(plugin), m_ui(new \
Ui::MercurialManagerWidget) +{
+ m_ui->setupUi(this);
+ m_model = new MercurialQueueSeriesModel(m_plugin, repoLocation, \
m_ui->patchesListView); + m_ui->patchesListView->setModel(m_model);
+
+ connect(m_ui->pushPushButton, SIGNAL(clicked(bool)), this, SLOT(executePush()));
+ connect(m_ui->pushAllPushButton, SIGNAL(clicked(bool)), this, \
SLOT(executePushAll())); + connect(m_ui->popPushButton, SIGNAL(clicked(bool)), \
this, SLOT(executePop())); + connect(m_ui->popAllPushButton, \
SIGNAL(clicked(bool)), this, SLOT(executePopAll())); +}
+
+void MercurialQueuesManager::executePush()
+{
+ QScopedPointer<VcsJob> job(m_plugin->mqPush(repoLocation));
+ job->exec();
+ m_model->update();
+}
+
+void MercurialQueuesManager::executePushAll()
+{
+ QScopedPointer<VcsJob> job(m_plugin->mqPushAll(repoLocation));
+ job->exec();
+ m_model->update();
+}
+
+void MercurialQueuesManager::executePop()
+{
+ QScopedPointer<VcsJob> job(m_plugin->mqPop(repoLocation));
+ job->exec();
+ m_model->update();
+}
+
+void MercurialQueuesManager::executePopAll()
+{
+ QScopedPointer<VcsJob> job(m_plugin->mqPopAll(repoLocation));
+ job->exec();
+ m_model->update();
+}
diff --git a/ui/mercurialqueuesmanager.h b/ui/mercurialqueuesmanager.h
new file mode 100644
index 0000000..6411ea5
--- /dev/null
+++ b/ui/mercurialqueuesmanager.h
@@ -0,0 +1,53 @@
+/***************************************************************************
+ * Copyright 2011 Andrey Batyiev <batyiev@gmail.com> *
+ * *
+ * This program is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU General Public License as *
+ * published by the Free Software Foundation; either version 2 of *
+ * the License or (at your option) version 3 or any later version *
+ * accepted by the membership of KDE e.V. (or its successor approved *
+ * by the membership of KDE e.V.), which shall act as a proxy *
+ * defined in Section 14 of version 3 of the license. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
+ ***************************************************************************/
+
+#ifndef MERCURIALQUEUESMANAGER_H
+#define MERCURIALQUEUESMANAGER_H
+
+#include <QWidget>
+#include <KUrl>
+
+class MercurialPlugin;
+namespace Ui
+{
+class MercurialManagerWidget;
+}
+class MercurialQueueSeriesModel;
+
+class MercurialQueuesManager : public QWidget
+{
+ Q_OBJECT
+public:
+ MercurialQueuesManager(MercurialPlugin *plugin, const KUrl &localLocation);
+
+protected slots:
+ void executePush();
+ void executePushAll();
+ void executePop();
+ void executePopAll();
+
+private:
+ MercurialPlugin *m_plugin;
+ const KUrl repoLocation;
+ Ui::MercurialManagerWidget *m_ui;
+ MercurialQueueSeriesModel *m_model;
+};
+
+#endif // MERCURIALQUEUESMANAGER_H
diff --git a/ui/mercurialqueuesmanager.ui b/ui/mercurialqueuesmanager.ui
new file mode 100644
index 0000000..4ff66be
--- /dev/null
+++ b/ui/mercurialqueuesmanager.ui
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MercurialManagerWidget</class>
+ <widget class="QWidget" name="MercurialManagerWidget">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>503</width>
+ <height>378</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Mercurial Queues Manager</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QListView" name="patchesListView"/>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <spacer name="verticalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="insertPushButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Insert...</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushPushButton">
+ <property name="text">
+ <string>Push</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushAllPushButton">
+ <property name="text">
+ <string>Push All</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="popPushButton">
+ <property name="text">
+ <string>Pop</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="popAllPushButton">
+ <property name="text">
+ <string>Pop All</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="removePushButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Remove</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic