aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cpaster
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2021-03-22 17:01:23 +0100
committerhjk <hjk@qt.io>2021-03-25 09:04:21 +0000
commit123133841e7d5645fb236ef8bb3a33fccad6d450 (patch)
treec53d573a75f25769bc672d5bf6dcc3882538f2b8 /src/plugins/cpaster
parentbc97b104886c2b0e00a993344af2a47ec7b929e4 (diff)
CPaster: Aspectify general settings
Change-Id: Ia0a24dd5fdc03217c54aee50ed1f39be0110a415 Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/cpaster')
-rw-r--r--src/plugins/cpaster/CMakeLists.txt1
-rw-r--r--src/plugins/cpaster/cpaster.pro4
-rw-r--r--src/plugins/cpaster/cpaster.qbs3
-rw-r--r--src/plugins/cpaster/cpasterplugin.cpp48
-rw-r--r--src/plugins/cpaster/pasteselectdialog.cpp4
-rw-r--r--src/plugins/cpaster/pasteselectdialog.h2
-rw-r--r--src/plugins/cpaster/pasteview.cpp4
-rw-r--r--src/plugins/cpaster/pasteview.h2
-rw-r--r--src/plugins/cpaster/settings.cpp120
-rw-r--r--src/plugins/cpaster/settings.h38
-rw-r--r--src/plugins/cpaster/settingspage.cpp92
-rw-r--r--src/plugins/cpaster/settingspage.h45
-rw-r--r--src/plugins/cpaster/settingspage.ui102
13 files changed, 141 insertions, 324 deletions
diff --git a/src/plugins/cpaster/CMakeLists.txt b/src/plugins/cpaster/CMakeLists.txt
index 39ab53da64..2ab4e8517c 100644
--- a/src/plugins/cpaster/CMakeLists.txt
+++ b/src/plugins/cpaster/CMakeLists.txt
@@ -24,7 +24,6 @@ add_qtc_plugin(CodePaster
pasteview.cpp pasteview.h pasteview.ui
protocol.cpp protocol.h
settings.cpp settings.h
- settingspage.cpp settingspage.h settingspage.ui
stickynotespasteprotocol.cpp stickynotespasteprotocol.h
urlopenprotocol.cpp urlopenprotocol.h
diff --git a/src/plugins/cpaster/cpaster.pro b/src/plugins/cpaster/cpaster.pro
index c824caa681..b6209907a8 100644
--- a/src/plugins/cpaster/cpaster.pro
+++ b/src/plugins/cpaster/cpaster.pro
@@ -2,7 +2,6 @@ QT += network
include(../../qtcreatorplugin.pri)
HEADERS += cpasterplugin.h \
dpastedotcomprotocol.h \
- settingspage.h \
protocol.h \
pasteview.h \
cpasterconstants.h \
@@ -18,7 +17,6 @@ HEADERS += cpasterplugin.h \
SOURCES += cpasterplugin.cpp \
dpastedotcomprotocol.cpp \
- settingspage.cpp \
protocol.cpp \
pasteview.cpp \
pastebindotcomprotocol.cpp \
@@ -30,7 +28,7 @@ SOURCES += cpasterplugin.cpp \
stickynotespasteprotocol.cpp \
urlopenprotocol.cpp
-FORMS += settingspage.ui \
+FORMS += \
pasteselect.ui \
pasteview.ui \
pastebindotcomsettings.ui \
diff --git a/src/plugins/cpaster/cpaster.qbs b/src/plugins/cpaster/cpaster.qbs
index e4aa433130..4ca68fde11 100644
--- a/src/plugins/cpaster/cpaster.qbs
+++ b/src/plugins/cpaster/cpaster.qbs
@@ -39,9 +39,6 @@ QtcPlugin {
"protocol.h",
"settings.cpp",
"settings.h",
- "settingspage.cpp",
- "settingspage.h",
- "settingspage.ui",
"stickynotespasteprotocol.cpp",
"stickynotespasteprotocol.h",
"urlopenprotocol.cpp",
diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp
index 455d674877..6605e4240e 100644
--- a/src/plugins/cpaster/cpasterplugin.cpp
+++ b/src/plugins/cpaster/cpasterplugin.cpp
@@ -30,7 +30,6 @@
#include "pastebindotcomprotocol.h"
#include "pasteselectdialog.h"
#include "pasteview.h"
-#include "settingspage.h"
#include "settings.h"
#include "urlopenprotocol.h"
@@ -98,10 +97,7 @@ public:
&dpasteProto
};
- SettingsPage m_settingsPage {
- &m_settings,
- Utils::transform(m_protocols, &Protocol::name)
- };
+ SettingsPage m_settingsPage{&m_settings};
QStringList m_fetchedSnippets;
@@ -154,15 +150,19 @@ bool CodePasterPlugin::initialize(const QStringList &arguments, QString *errorMe
CodePasterPluginPrivate::CodePasterPluginPrivate()
{
- // Create the settings Page
- m_settings.fromSettings(ICore::settings());
-
// Connect protocols
- for (Protocol *proto : m_protocols) {
- connect(proto, &Protocol::pasteDone, this, &CodePasterPluginPrivate::finishPost);
- connect(proto, &Protocol::fetchDone, this, &CodePasterPluginPrivate::finishFetch);
+ if (!m_protocols.isEmpty()) {
+ for (Protocol *proto : m_protocols) {
+ m_settings.protocols.addOption(proto->name());
+ connect(proto, &Protocol::pasteDone, this, &CodePasterPluginPrivate::finishPost);
+ connect(proto, &Protocol::fetchDone, this, &CodePasterPluginPrivate::finishFetch);
+ }
+ m_settings.protocols.setDefaultValue(m_protocols.at(0)->name());
}
+ // Create the settings Page
+ m_settings.readSettings(ICore::settings());
+
connect(&m_urlOpen, &Protocol::fetchDone, this, &CodePasterPluginPrivate::finishFetch);
//register actions
@@ -267,20 +267,20 @@ void CodePasterPluginPrivate::post(QString data, const QString &mimeType)
{
fixSpecialCharacters(data);
- const QString username = m_settings.username;
+ const QString username = m_settings.username.value();
PasteView view(m_protocols, mimeType, ICore::dialogParent());
- view.setProtocol(m_settings.protocol);
+ view.setProtocol(m_settings.protocols.stringValue());
const FileDataList diffChunks = splitDiffToFiles(data);
const int dialogResult = diffChunks.isEmpty() ?
- view.show(username, QString(), QString(), m_settings.expiryDays, m_settings.publicPaste, data) :
- view.show(username, QString(), QString(), m_settings.expiryDays, m_settings.publicPaste, diffChunks);
+ view.show(username, {}, {}, m_settings.expiryDays.value(), m_settings.publicPaste.value(), data) :
+ view.show(username, {}, {}, m_settings.expiryDays.value(), m_settings.publicPaste.value(), diffChunks);
// Save new protocol in case user changed it.
- if (dialogResult == QDialog::Accepted && m_settings.protocol != view.protocol()) {
- m_settings.protocol = view.protocol();
- m_settings.toSettings(ICore::settings());
+ if (dialogResult == QDialog::Accepted && m_settings.protocols.value() != view.protocol()) {
+ m_settings.protocols.setValue(view.protocol());
+ m_settings.writeSettings(ICore::settings());
}
}
@@ -304,14 +304,14 @@ void CodePasterPluginPrivate::pasteSnippet()
void CodePasterPluginPrivate::fetch()
{
PasteSelectDialog dialog(m_protocols, ICore::dialogParent());
- dialog.setProtocol(m_settings.protocol);
+ dialog.setProtocol(m_settings.protocols.stringValue());
if (dialog.exec() != QDialog::Accepted)
return;
// Save new protocol in case user changed it.
- if (m_settings.protocol != dialog.protocol()) {
- m_settings.protocol = dialog.protocol();
- m_settings.toSettings(ICore::settings());
+ if (m_settings.protocols.value() != dialog.protocol()) {
+ m_settings.protocols.setValue(dialog.protocol());
+ m_settings.writeSettings(ICore::settings());
}
const QString pasteID = dialog.pasteId();
@@ -324,9 +324,9 @@ void CodePasterPluginPrivate::fetch()
void CodePasterPluginPrivate::finishPost(const QString &link)
{
- if (m_settings.copyToClipboard)
+ if (m_settings.copyToClipboard.value())
QApplication::clipboard()->setText(link);
- if (m_settings.displayOutput)
+ if (m_settings.displayOutput.value())
MessageManager::writeDisrupting(link);
else
MessageManager::writeSilently(link);
diff --git a/src/plugins/cpaster/pasteselectdialog.cpp b/src/plugins/cpaster/pasteselectdialog.cpp
index 193c49525b..ff4dbcb3dc 100644
--- a/src/plugins/cpaster/pasteselectdialog.cpp
+++ b/src/plugins/cpaster/pasteselectdialog.cpp
@@ -84,9 +84,9 @@ void PasteSelectDialog::setProtocol(const QString &p)
}
}
-QString PasteSelectDialog::protocol() const
+int PasteSelectDialog::protocol() const
{
- return m_ui.protocolBox->currentText();
+ return m_ui.protocolBox->currentIndex();
}
int PasteSelectDialog::protocolIndex() const
diff --git a/src/plugins/cpaster/pasteselectdialog.h b/src/plugins/cpaster/pasteselectdialog.h
index b6b57fae08..30faec246a 100644
--- a/src/plugins/cpaster/pasteselectdialog.h
+++ b/src/plugins/cpaster/pasteselectdialog.h
@@ -44,7 +44,7 @@ public:
QString pasteId() const;
- QString protocol() const;
+ int protocol() const;
void setProtocol(const QString &);
int protocolIndex() const;
diff --git a/src/plugins/cpaster/pasteview.cpp b/src/plugins/cpaster/pasteview.cpp
index d5775adb5e..adaf099200 100644
--- a/src/plugins/cpaster/pasteview.cpp
+++ b/src/plugins/cpaster/pasteview.cpp
@@ -94,9 +94,9 @@ QString PasteView::content() const
return newContent;
}
-QString PasteView::protocol() const
+int PasteView::protocol() const
{
- return m_ui.protocolBox->currentText();
+ return m_ui.protocolBox->currentIndex();
}
void PasteView::contentChanged()
diff --git a/src/plugins/cpaster/pasteview.h b/src/plugins/cpaster/pasteview.h
index 6a2b78c64e..73804b53b4 100644
--- a/src/plugins/cpaster/pasteview.h
+++ b/src/plugins/cpaster/pasteview.h
@@ -63,7 +63,7 @@ public:
QString description() const;
QString comment() const;
QString content() const;
- QString protocol() const;
+ int protocol() const;
void setExpiryDays(int d);
void setMakePublic(bool p);
int expiryDays() const;
diff --git a/src/plugins/cpaster/settings.cpp b/src/plugins/cpaster/settings.cpp
index 61508a201d..816e051859 100644
--- a/src/plugins/cpaster/settings.cpp
+++ b/src/plugins/cpaster/settings.cpp
@@ -24,51 +24,109 @@
****************************************************************************/
#include "settings.h"
+
+#include "cpasterconstants.h"
#include "pastebindotcomprotocol.h"
-#include <utils/environment.h>
+#include <coreplugin/icore.h>
-#include <QSettings>
+#include <utils/layoutbuilder.h>
-static const char groupC[] = "CodePaster";
-static const char userNameKeyC[] = "UserName";
-static const char expiryDaysKeyC[] = "ExpiryDays";
-static const char defaultProtocolKeyC[] = "DefaultProtocol";
-static const char copyToClipboardKeyC[] = "CopyToClipboard";
-static const char displayOutputKeyC[] = "DisplayOutput";
-static const char publicPasteKeyC[] = "DisplayOutput";
+using namespace Utils;
namespace CodePaster {
-bool Settings::equals(const Settings &rhs) const
+Settings::Settings()
+{
+ setSettingsGroup("CodePaster");
+ setAutoApply(false);
+
+ registerAspect(&username);
+ username.setDisplayStyle(StringAspect::LineEditDisplay);
+ username.setSettingsKey("UserName");
+ username.setLabelText(tr("Username:"));
+
+ registerAspect(&protocols);
+ protocols.setSettingsKey("DefaultProtocol");
+ protocols.setDisplayStyle(SelectionAspect::DisplayStyle::ComboBox);
+ protocols.setLabelText(tr("Default protocol:"));
+ protocols.setToSettingsTransformation([this](const QVariant &val) {
+ return protocols.displayForIndex(val.toInt());
+ });
+ protocols.setFromSettingsTransformation([this](const QVariant &val) {
+ return protocols.indexForDisplay(val.toString());
+ });
+
+ registerAspect(&expiryDays);
+ expiryDays.setSettingsKey("ExpiryDays");
+ expiryDays.setDefaultValue(1);
+ expiryDays.setSuffix(tr(" Days"));
+ expiryDays.setLabelText(tr("&Expires after:"));
+
+ registerAspect(&copyToClipboard);
+ copyToClipboard.setSettingsKey("CopyToClipboard");
+ copyToClipboard.setDefaultValue(true);
+ copyToClipboard.setLabelText(tr("Copy-paste URL to clipboard"));
+
+ registerAspect(&displayOutput);
+ displayOutput.setSettingsKey("DisplayOutput");
+ displayOutput.setDefaultValue(true);
+ displayOutput.setLabelText(tr("Display Output pane after sending a post"));
+
+ registerAspect(&publicPaste);
+ publicPaste.setSettingsKey("DisplayOutput");
+ publicPaste.setLabelText(tr("Make pasted content public by default"));
+}
+
+// SettingsPage
+
+class SettingsWidget final : public Core::IOptionsPageWidget
+{
+public:
+ SettingsWidget(Settings *settings);
+
+private:
+ void apply() final;
+
+ Settings *m_settings;
+};
+
+SettingsWidget::SettingsWidget(Settings *settings)
+ : m_settings(settings)
{
- return copyToClipboard == rhs.copyToClipboard && displayOutput == rhs.displayOutput
- && expiryDays == rhs.expiryDays && username == rhs.username
- && protocol == rhs.protocol && publicPaste == rhs.publicPaste;
+ Settings &s = *settings;
+ using namespace Layouting;
+ const Break nl;
+
+ Column {
+ Form {
+ s.protocols, nl,
+ s.username, nl,
+ s.expiryDays
+ },
+ s.copyToClipboard,
+ s.displayOutput,
+ s.publicPaste,
+ Stretch()
+ }.attachTo(this);
}
-void Settings::toSettings(QSettings *settings) const
+void SettingsWidget::apply()
{
- settings->beginGroup(QLatin1String(groupC));
- settings->setValue(QLatin1String(userNameKeyC), username);
- settings->setValue(QLatin1String(defaultProtocolKeyC), protocol);
- settings->setValue(QLatin1String(expiryDaysKeyC), expiryDays);
- settings->setValue(QLatin1String(copyToClipboardKeyC), copyToClipboard);
- settings->setValue(QLatin1String(displayOutputKeyC), displayOutput);
- settings->setValue(publicPasteKeyC, publicPaste);
- settings->endGroup();
+ if (m_settings->isDirty()) {
+ m_settings->apply();
+ m_settings->writeSettings(Core::ICore::settings());
+ }
}
-void Settings::fromSettings(const QSettings *settings)
+SettingsPage::SettingsPage(Settings *settings)
{
- const QString rootKey = QLatin1String(groupC) + QLatin1Char('/');
- const QString defaultUser = Utils::Environment::systemEnvironment().userName();
- expiryDays = settings->value(rootKey + QLatin1String(expiryDaysKeyC), 1).toInt();
- username = settings->value(rootKey + QLatin1String(userNameKeyC), defaultUser).toString();
- protocol = settings->value(rootKey + QLatin1String(defaultProtocolKeyC), PasteBinDotComProtocol::protocolName()).toString();
- copyToClipboard = settings->value(rootKey + QLatin1String(copyToClipboardKeyC), true).toBool();
- displayOutput = settings->value(rootKey + QLatin1String(displayOutputKeyC), true).toBool();
- publicPaste = settings->value(rootKey + publicPasteKeyC, false).toBool();
+ setId("A.CodePaster.General");
+ setDisplayName(tr("General"));
+ setCategory(Constants::CPASTER_SETTINGS_CATEGORY);
+ setDisplayCategory(QCoreApplication::translate("CodePaster", "Code Pasting"));
+ setCategoryIconPath(":/cpaster/images/settingscategory_cpaster.png");
+ setWidgetCreator([settings] { return new SettingsWidget(settings); });
}
} // namespace CodePaster
diff --git a/src/plugins/cpaster/settings.h b/src/plugins/cpaster/settings.h
index 451f85e0f3..57046f95c1 100644
--- a/src/plugins/cpaster/settings.h
+++ b/src/plugins/cpaster/settings.h
@@ -25,29 +25,33 @@
#pragma once
-#include <QString>
+#include <coreplugin/dialogs/ioptionspage.h>
-QT_BEGIN_NAMESPACE
-class QSettings;
-QT_END_NAMESPACE
+#include <utils/aspects.h>
namespace CodePaster {
-class Settings {
+class Settings : public Utils::AspectContainer
+{
+ Q_DECLARE_TR_FUNCTIONS(CodePaster::Settings)
+
public:
- void toSettings(QSettings *s) const;
- void fromSettings(const QSettings *s);
- bool equals(const Settings &s) const;
-
- QString username;
- QString protocol;
- int expiryDays = 1;
- bool copyToClipboard = true;
- bool displayOutput = true;
- bool publicPaste = false;
+ Settings();
+
+ Utils::StringAspect username;
+ Utils::SelectionAspect protocols;
+ Utils::IntegerAspect expiryDays;
+ Utils::BoolAspect copyToClipboard;
+ Utils::BoolAspect displayOutput;
+ Utils::BoolAspect publicPaste;
};
-inline bool operator==(const Settings &s1, const Settings &s2) { return s1.equals(s2); }
-inline bool operator!=(const Settings &s1, const Settings &s2) { return !s1.equals(s2); }
+class SettingsPage final : public Core::IOptionsPage
+{
+ Q_DECLARE_TR_FUNCTIONS(CodePaster::SettingsPage)
+
+public:
+ SettingsPage(Settings *settings);
+};
} // namespace CodePaster
diff --git a/src/plugins/cpaster/settingspage.cpp b/src/plugins/cpaster/settingspage.cpp
deleted file mode 100644
index c21b0fe485..0000000000
--- a/src/plugins/cpaster/settingspage.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-****************************************************************************/
-
-#include "settingspage.h"
-#include "settings.h"
-#include "cpasterconstants.h"
-
-#include <coreplugin/icore.h>
-
-#include <QTextStream>
-#include <QCoreApplication>
-
-namespace CodePaster {
-
-class SettingsWidget final : public Core::IOptionsPageWidget
-{
-public:
- SettingsWidget(const QStringList &protocols, Settings *settings);
-
-private:
- void apply() final;
-
- Settings *m_settings;
- Internal::Ui::SettingsPage m_ui;
-};
-
-SettingsWidget::SettingsWidget(const QStringList &protocols, Settings *settings)
- : m_settings(settings)
-{
- m_ui.setupUi(this);
- m_ui.defaultProtocol->addItems(protocols);
-
- m_ui.userEdit->setText(m_settings->username);
- const int index = m_ui.defaultProtocol->findText(m_settings->protocol);
- m_ui.defaultProtocol->setCurrentIndex(index == -1 ? 0 : index);
- m_ui.expirySpinBox->setValue(m_settings->expiryDays);
- m_ui.publicCheckBox->setChecked(m_settings->publicPaste);
- m_ui.clipboardBox->setChecked(m_settings->copyToClipboard);
- m_ui.displayBox->setChecked(m_settings->displayOutput);
-}
-
-void SettingsWidget::apply()
-{
- Settings rc;
- rc.username = m_ui.userEdit->text();
- rc.protocol = m_ui.defaultProtocol->currentText();
- rc.expiryDays = m_ui.expirySpinBox->value();
- rc.publicPaste = m_ui.publicCheckBox->isChecked();
- rc.copyToClipboard = m_ui.clipboardBox->isChecked();
- rc.displayOutput = m_ui.displayBox->isChecked();
-
- if (rc != *m_settings) {
- *m_settings = rc;
- m_settings->toSettings(Core::ICore::settings());
- }
-}
-
-SettingsPage::SettingsPage(Settings *settings, const QStringList &protocolNames)
-{
- setId("A.CodePaster.General");
- setDisplayName(tr("General"));
- setCategory(Constants::CPASTER_SETTINGS_CATEGORY);
- setDisplayCategory(QCoreApplication::translate("CodePaster", "Code Pasting"));
- setCategoryIconPath(":/cpaster/images/settingscategory_cpaster.png");
- setWidgetCreator([settings, protocolNames] {
- return new SettingsWidget(protocolNames, settings);
- });
-}
-
-} // namespace CodePaster
diff --git a/src/plugins/cpaster/settingspage.h b/src/plugins/cpaster/settingspage.h
deleted file mode 100644
index 5d8ecefe75..0000000000
--- a/src/plugins/cpaster/settingspage.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-****************************************************************************/
-
-#pragma once
-
-#include "ui_settingspage.h"
-
-#include <coreplugin/dialogs/ioptionspage.h>
-
-#include <QStringList>
-
-namespace CodePaster {
-
-class Settings;
-
-class SettingsPage final : public Core::IOptionsPage
-{
- Q_DECLARE_TR_FUNCTIONS(CodePaster::SettingsPage)
-public:
- SettingsPage(Settings *settings, const QStringList &protocolNames);
-};
-
-} // namespace CodePaster
diff --git a/src/plugins/cpaster/settingspage.ui b/src/plugins/cpaster/settingspage.ui
deleted file mode 100644
index de4020433d..0000000000
--- a/src/plugins/cpaster/settingspage.ui
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>CodePaster::Internal::SettingsPage</class>
- <widget class="QWidget" name="CodePaster::Internal::SettingsPage">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>370</width>
- <height>229</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="4" column="0" colspan="2">
- <widget class="QCheckBox" name="clipboardBox">
- <property name="text">
- <string>Copy-paste URL to clipboard</string>
- </property>
- </widget>
- </item>
- <item row="9" column="0" colspan="2">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>223</width>
- <height>100</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="1">
- <widget class="QLineEdit" name="userEdit"/>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="defaultProtocol"/>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="protocolLabel">
- <property name="text">
- <string>Default protocol:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="expiryLabel">
- <property name="text">
- <string>&amp;Expires after:</string>
- </property>
- <property name="buddy">
- <cstring>expirySpinBox</cstring>
- </property>
- </widget>
- </item>
- <item row="5" column="0" colspan="2">
- <widget class="QCheckBox" name="displayBox">
- <property name="text">
- <string>Display Output pane after sending a post</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="userNameLabel">
- <property name="text">
- <string>Username:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QSpinBox" name="expirySpinBox">
- <property name="suffix">
- <string> Days</string>
- </property>
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>365</number>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QCheckBox" name="publicCheckBox">
- <property name="text">
- <string>Make pasted content public by default</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>defaultProtocol</tabstop>
- <tabstop>userEdit</tabstop>
- <tabstop>expirySpinBox</tabstop>
- <tabstop>clipboardBox</tabstop>
- <tabstop>displayBox</tabstop>
- </tabstops>
- <resources/>
- <connections/>
-</ui>