aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-12-01 22:52:38 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2015-12-01 22:52:38 +0100
commit14a2de2e7f87bee3d854e17d798380232ddd913b (patch)
tree53b6e8641ff7bc8e418ad7be5ea1b280a12173f7 /tests
parent3b28b32df28123aee8fff1e353c9c49b5644220f (diff)
parentc49209f274ca5b487eb4f94400cec5d5567dec60 (diff)
Merge remote-tracking branch 'origin/5.6' into dev
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qwinjumplist/tst_qwinjumplist.cpp4
-rw-r--r--tests/manual/jumplist/main.cpp79
-rw-r--r--tests/manual/jumplist/testwidget.cpp90
-rw-r--r--tests/manual/jumplist/testwidget.h26
-rw-r--r--tests/manual/jumplist/testwidget.ui385
5 files changed, 360 insertions, 224 deletions
diff --git a/tests/auto/qwinjumplist/tst_qwinjumplist.cpp b/tests/auto/qwinjumplist/tst_qwinjumplist.cpp
index 1944646..df7a366 100644
--- a/tests/auto/qwinjumplist/tst_qwinjumplist.cpp
+++ b/tests/auto/qwinjumplist/tst_qwinjumplist.cpp
@@ -60,6 +60,8 @@ static inline QByteArray msgFileNameMismatch(const QString &f1, const QString &f
void tst_QWinJumpList::testRecent()
{
+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS10)
+ QSKIP("QTBUG-48751: Recent items do not work on Windows 10", Continue);
QScopedPointer<QWinJumpList> jumplist(new QWinJumpList);
QWinJumpListCategory *recent1 = jumplist->recent();
QVERIFY(recent1);
@@ -107,6 +109,8 @@ void tst_QWinJumpList::testRecent()
void tst_QWinJumpList::testFrequent()
{
+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS10)
+ QSKIP("QTBUG-48751: Frequent items do not work on Windows 10", Continue);
QScopedPointer<QWinJumpList> jumplist(new QWinJumpList);
QWinJumpListCategory *frequent1 = jumplist->frequent();
QVERIFY(frequent1);
diff --git a/tests/manual/jumplist/main.cpp b/tests/manual/jumplist/main.cpp
index f2bb7f8..78d101c 100644
--- a/tests/manual/jumplist/main.cpp
+++ b/tests/manual/jumplist/main.cpp
@@ -34,42 +34,93 @@
#include "testwidget.h"
#include <QApplication>
-#include <QSettings>
+#include <QCommandLineParser>
+#include <QCommandLineOption>
#include <QDir>
+#include <QDebug>
+#include <QMimeDatabase>
+#include <QSettings>
+#include <QStatusBar>
-void associateFileType()
-{
- QString exeFileName = QCoreApplication::applicationFilePath();
- exeFileName = exeFileName.right(exeFileName.length() - exeFileName.lastIndexOf("/") - 1);
- QString appName = "QtWinExtras JumpList Test";
+#include <algorithm>
+#include <iterator>
+static bool associateFileType()
+{
+ const QString applicationBinary = QCoreApplication::applicationFilePath();
+ QString exeFileName = applicationBinary;
+ const int lastSlashPos = exeFileName.lastIndexOf(QLatin1Char('/'));
+ exeFileName.remove(0, lastSlashPos + 1);
QSettings regApplications("HKEY_CURRENT_USER\\Software\\Classes\\Applications\\" + exeFileName, QSettings::NativeFormat);
- regApplications.setValue("FriendlyAppName", appName);
+ regApplications.setValue("FriendlyAppName", QGuiApplication::applicationDisplayName());
regApplications.beginGroup("SupportedTypes");
- regApplications.setValue(".txt", QString());
+ QMimeDatabase mimeDatabase;
+ foreach (const QString &t, TestWidget::supportedMimeTypes()) {
+ foreach (const QString &s, mimeDatabase.mimeTypeForName(t).suffixes())
+ regApplications.setValue('.' + s, QString());
+ }
regApplications.endGroup();
regApplications.beginGroup("shell");
regApplications.beginGroup("open");
- regApplications.setValue("FriendlyAppName", appName);
+ regApplications.setValue("FriendlyAppName", QGuiApplication::applicationDisplayName());
regApplications.beginGroup("command");
- regApplications.setValue(".", '"' + QDir::toNativeSeparators(QCoreApplication::applicationFilePath()) + "\" \"%1\"");
+ regApplications.setValue(".", '"' + QDir::toNativeSeparators(applicationBinary) + "\" \"%1\"");
regApplications.endGroup();
regApplications.endGroup();
regApplications.endGroup();
+ return regApplications.status() == QSettings::NoError;
}
int main(int argc, char *argv[])
{
- QApplication a(argc, argv);
- associateFileType();
+ QStringList allArgs; // Show all arguments including style.
+ std::copy(argv + 1, argv + argc, std::back_inserter(allArgs));
+
+ QApplication app(argc, argv);
+ QGuiApplication::setApplicationDisplayName(QStringLiteral("QtWinExtras JumpList Test"));
+ if (!associateFileType()) {
+ qWarning() << "Unable to create registry entries.";
+ return -1;
+ }
+
+ QCoreApplication::setOrganizationName("QtProject");
+ QCoreApplication::setApplicationVersion(QT_VERSION_STR);
+ QCommandLineParser parser;
+ parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions);
+ parser.setApplicationDescription(QGuiApplication::applicationDisplayName());
+ parser.addHelpOption();
+ parser.addVersionOption();
+ QCommandLineOption textOption("text", "Show some text");
+ parser.addOption(textOption);
+ QCommandLineOption fullScreenOption("fullscreen", "Show fullscreen");
+ parser.addOption(fullScreenOption);
+ QCommandLineOption idOption("id", "Jump list identifier", "id");
+ parser.addOption(idOption);
+ parser.addPositionalArgument("file", "The file to open.");
+ parser.process(app);
TestWidget w;
- if (QCoreApplication::arguments().contains("-fullscreen"))
+
+ if (parser.isSet(idOption))
+ w.setId(parser.value(idOption));
+
+ if (parser.isSet(fullScreenOption))
w.showFullScreen();
else
w.show();
- return a.exec();
+ if (parser.isSet(textOption))
+ w.setText("Hello, world!");
+
+ if (!parser.positionalArguments().isEmpty())
+ w.showFile(parser.positionalArguments().first());
+
+ if (allArgs.isEmpty())
+ w.statusBar()->showMessage("Remember to run windeployqt");
+ else
+ w.statusBar()->showMessage("Arguments: " + allArgs.join(' '));
+
+ return app.exec();
}
diff --git a/tests/manual/jumplist/testwidget.cpp b/tests/manual/jumplist/testwidget.cpp
index e6660e4..15982a6 100644
--- a/tests/manual/jumplist/testwidget.cpp
+++ b/tests/manual/jumplist/testwidget.cpp
@@ -38,34 +38,27 @@
#include <QStyle>
#include <QFile>
#include <QFileDialog>
+#include <QDesktopServices>
#include <QMessageBox>
+#include <QProcess>
+#include <QStatusBar>
+#include <QUrl>
#include <QWinJumpList>
#include <QWinJumpListItem>
#include <QWinJumpListCategory>
#include <QDebug>
TestWidget::TestWidget(QWidget *parent) :
- QWidget(parent),
+ QMainWindow(parent),
ui(new Ui::TestWidget)
{
ui->setupUi(this);
- if (QCoreApplication::arguments().contains("-text"))
- ui->text->setPlainText("Hello, world!");
- if (!QCoreApplication::arguments().contains("-fullscreen"))
- ui->btnClose->hide();
-
- for (int i = 1; i < QCoreApplication::arguments().size(); i++) {
- const QString arg = QCoreApplication::arguments().at(i);
- if (!arg.isEmpty() && arg.at(0) != '-' && QFile(arg).exists()) {
- showFile(arg);
- break;
- }
- }
-
- connect(ui->btnUpdate, &QAbstractButton::clicked, this, &TestWidget::updateJumpList);
- connect(ui->btnOpenFile, &QAbstractButton::clicked, this, &TestWidget::openFile);
- connect(ui->btnClose, &QAbstractButton::clicked, QCoreApplication::quit);
+ connect(ui->actionUpdate, &QAction::triggered, this, &TestWidget::updateJumpList);
+ connect(ui->actionOpen, &QAction::triggered, this, &TestWidget::openFile);
+ connect(ui->actionExit, &QAction::triggered, QCoreApplication::quit);
+ connect(ui->actionShow_in_Explorer, &QAction::triggered, this, &TestWidget::showInExplorer);
+ connect(ui->actionRun_JumpListView, &QAction::triggered, this, &TestWidget::runJumpListView);
}
TestWidget::~TestWidget()
@@ -73,6 +66,12 @@ TestWidget::~TestWidget()
delete ui;
}
+QStringList TestWidget::supportedMimeTypes()
+{
+ return QStringList() << "text/x-c++src" << "text/x-csrc" << "text/x-chdr"
+ << "text/x-c++hdr" << "text/x-qml" << "text/plain";
+}
+
void TestWidget::changeEvent(QEvent *e)
{
QWidget::changeEvent(e);
@@ -88,40 +87,73 @@ void TestWidget::changeEvent(QEvent *e)
void TestWidget::showFile(const QString &path)
{
QFile file(path);
- if (file.open(QIODevice::ReadOnly|QIODevice::Text))
- ui->text->setPlainText(QString::fromUtf8(file.readAll()));
- else
- QMessageBox::warning(this, "Error", "Failed to open file");
+ if (!file.open(QIODevice::ReadOnly|QIODevice::Text)) {
+ const QString error = "Failed to open file " + QDir::toNativeSeparators(path)
+ + ": " + file.errorString();
+ QMessageBox::warning(this, "Error", error);
+ return;
+ }
+ setText(QString::fromUtf8(file.readAll()));
+}
+
+void TestWidget::setText(const QString &text)
+{
+ ui->text->setPlainText(text);
}
void TestWidget::updateJumpList()
{
QWinJumpList jumplist;
+ if (!m_id.isEmpty())
+ jumplist.setIdentifier(m_id);
+ const QString applicationBinary = QDir::toNativeSeparators(QCoreApplication::applicationFilePath());
jumplist.recent()->setVisible(ui->cbShowRecent->isChecked());
jumplist.frequent()->setVisible(ui->cbShowFrequent->isChecked());
if (ui->cbRunFullscreen->isChecked()) {
QWinJumpListItem *item = new QWinJumpListItem(QWinJumpListItem::Link);
item->setTitle(ui->cbRunFullscreen->text());
- item->setFilePath(QDir::toNativeSeparators(QCoreApplication::applicationFilePath()));
+ item->setFilePath(applicationBinary);
item->setArguments(QStringList("-fullscreen"));
item->setIcon(style()->standardIcon(QStyle::SP_TitleBarMaxButton));
jumplist.tasks()->addItem(item);
}
if (ui->cbRunFusion->isChecked()) {
- jumplist.tasks()->addLink(style()->standardIcon(QStyle::SP_DesktopIcon), ui->cbRunFusion->text(), QDir::toNativeSeparators(QCoreApplication::applicationFilePath()), (QStringList() << "-style" << "fusion"));
+ jumplist.tasks()->addLink(style()->standardIcon(QStyle::SP_DesktopIcon),
+ ui->cbRunFusion->text(),
+ applicationBinary,
+ (QStringList() << "-style" << "fusion"));
}
if (ui->cbRunText->isChecked()) {
jumplist.tasks()->addSeparator();
- jumplist.tasks()->addLink(ui->cbRunText->text(), QDir::toNativeSeparators(QCoreApplication::applicationFilePath()), QStringList("-text"));
+ jumplist.tasks()->addLink(ui->cbRunText->text(),
+ applicationBinary,
+ QStringList("-text"));
}
jumplist.tasks()->setVisible(!jumplist.tasks()->isEmpty());
}
void TestWidget::openFile()
{
- QString filePath = QFileDialog::getOpenFileName(this, "Open a text file", QString(), "Text files (*.txt)");
- if (filePath.isEmpty())
- return;
- else
- showFile(filePath);
+ QFileDialog fileDialog(this, "Open a Text File");
+ fileDialog.setAcceptMode(QFileDialog::AcceptOpen);
+ fileDialog.setMimeTypeFilters(TestWidget::supportedMimeTypes());
+ // Note: The native file dialog creates the frequent/recent entries.
+ if (!ui->actionUse_Native_File_Dialog->isChecked())
+ fileDialog.setOption(QFileDialog::DontUseNativeDialog);
+ if (fileDialog.exec() == QDialog::Accepted)
+ showFile(fileDialog.selectedFiles().first());
+}
+
+void TestWidget::showInExplorer()
+{
+ const QString path = QFile::decodeName(qgetenv("APPDATA"))
+ + "/Microsoft/Windows/Recent/Automaticdestinations";
+ QDesktopServices::openUrl(QUrl::fromLocalFile(path));
+}
+
+void TestWidget::runJumpListView()
+{
+ const char binary[] = "JumpListsView";
+ if (!QProcess::startDetached(binary))
+ statusBar()->showMessage(QLatin1String("Unable to run ") + binary);
}
diff --git a/tests/manual/jumplist/testwidget.h b/tests/manual/jumplist/testwidget.h
index 71287c5..defb541 100644
--- a/tests/manual/jumplist/testwidget.h
+++ b/tests/manual/jumplist/testwidget.h
@@ -34,7 +34,7 @@
#ifndef TESTWIDGET_H
#define TESTWIDGET_H
-#include <QWidget>
+#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui {
@@ -46,24 +46,34 @@ QT_END_NAMESPACE
namespace Ui = QT_NAMESPACE::Ui;
#endif
-class TestWidget : public QWidget
+class TestWidget : public QMainWindow
{
Q_OBJECT
public:
- explicit TestWidget(QWidget *parent = 0);
+ explicit TestWidget(QWidget *parent = Q_NULLPTR);
~TestWidget();
-protected:
- void changeEvent(QEvent *e);
-
-private:
- Ui::TestWidget *ui;
void showFile(const QString &path);
+ void setText(const QString &text);
+
+ static QStringList supportedMimeTypes();
+
+ QString id() const { return m_id; }
+ void setId(const QString &id) { m_id = id; }
+
+protected:
+ void changeEvent(QEvent *e) Q_DECL_OVERRIDE;
private slots:
void updateJumpList();
+ void showInExplorer();
+ void runJumpListView();
void openFile();
+
+private:
+ Ui::TestWidget *ui;
+ QString m_id;
};
#endif // TESTWIDGET_H
diff --git a/tests/manual/jumplist/testwidget.ui b/tests/manual/jumplist/testwidget.ui
index 82b9a0d..abcb078 100644
--- a/tests/manual/jumplist/testwidget.ui
+++ b/tests/manual/jumplist/testwidget.ui
@@ -1,196 +1,235 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>TestWidget</class>
- <widget class="QWidget" name="TestWidget">
+ <widget class="QMainWindow" name="TestWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>695</width>
- <height>394</height>
+ <width>800</width>
+ <height>600</height>
</rect>
</property>
- <property name="windowTitle">
- <string>QtWinExtras JumpList</string>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,1">
- <property name="spacing">
- <number>3</number>
- </property>
- <property name="margin">
- <number>3</number>
+ <widget class="QWidget" name="centralwidget">
+ <property name="windowTitle">
+ <string>QtWinExtras JumpList</string>
</property>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <widget class="QGroupBox" name="groupBox">
- <property name="title">
- <string>Known categories</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>3</number>
- </property>
- <property name="margin">
- <number>3</number>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Known categories</string>
</property>
- <item>
- <widget class="QCheckBox" name="cbShowFrequent">
- <property name="text">
- <string>Frequent</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbShowRecent">
- <property name="text">
- <string>Recent</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="groupBox_2">
- <property name="title">
- <string>Tasks</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <property name="spacing">
- <number>3</number>
- </property>
- <property name="margin">
- <number>3</number>
- </property>
- <item>
- <widget class="QCheckBox" name="cbRunFullscreen">
- <property name="text">
- <string>Run in fullscreen</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbRunFusion">
- <property name="text">
- <string>Run with Fusion style</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="cbRunText">
- <property name="text">
- <string>Run with some text displayed</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <property name="leftMargin">
+ <number>3</number>
</property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
+ <property name="topMargin">
+ <number>3</number>
</property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="btnUpdate">
- <property name="text">
- <string>Update</string>
+ <property name="rightMargin">
+ <number>3</number>
</property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <property name="bottomMargin">
+ <number>3</number>
</property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
+ <item>
+ <widget class="QCheckBox" name="cbShowFrequent">
+ <property name="text">
+ <string>Frequent</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbShowRecent">
+ <property name="text">
+ <string>Recent</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Tasks</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="spacing">
+ <number>3</number>
</property>
- </spacer>
- </item>
- </layout>
- </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>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_4">
- <property name="spacing">
- <number>3</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QPushButton" name="btnOpenFile">
- <property name="text">
- <string>Open a file</string>
+ <property name="leftMargin">
+ <number>3</number>
</property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <property name="topMargin">
+ <number>3</number>
</property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
+ <property name="rightMargin">
+ <number>3</number>
</property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="btnClose">
- <property name="text">
- <string>Close</string>
+ <property name="bottomMargin">
+ <number>3</number>
</property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QTextEdit" name="text">
- <property name="font">
- <font>
- <family>Consolas</family>
- <pointsize>10</pointsize>
- </font>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
+ <item>
+ <widget class="QCheckBox" name="cbRunFullscreen">
+ <property name="text">
+ <string>Run in fullscreen</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbRunFusion">
+ <property name="text">
+ <string>Run with Fusion style</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="cbRunText">
+ <property name="text">
+ <string>Run with some text displayed</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </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>
+ <item>
+ <widget class="QTextEdit" name="text">
+ <property name="font">
+ <font>
+ <family>Consolas</family>
+ <pointsize>10</pointsize>
+ </font>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menuBar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menuFile">
+ <property name="title">
+ <string>File</string>
+ </property>
+ <addaction name="actionOpen"/>
+ <addaction name="actionExit"/>
+ </widget>
+ <widget class="QMenu" name="menuJumplist">
+ <property name="title">
+ <string>Jumplist</string>
+ </property>
+ <addaction name="actionUpdate"/>
+ <addaction name="actionShow_in_Explorer"/>
+ <addaction name="actionRun_JumpListView"/>
+ </widget>
+ <widget class="QMenu" name="menuSettings">
+ <property name="title">
+ <string>Settings</string>
+ </property>
+ <addaction name="actionUse_Native_File_Dialog"/>
+ </widget>
+ <addaction name="menuFile"/>
+ <addaction name="menuJumplist"/>
+ <addaction name="menuSettings"/>
+ </widget>
+ <action name="actionOpen">
+ <property name="text">
+ <string>Open</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+O</string>
+ </property>
+ </action>
+ <action name="actionExit">
+ <property name="text">
+ <string>Exit</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Q</string>
+ </property>
+ </action>
+ <action name="actionUpdate">
+ <property name="text">
+ <string>Update</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+U</string>
+ </property>
+ </action>
+ <action name="actionShow_in_Explorer">
+ <property name="text">
+ <string>Show in Explorer</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+E</string>
+ </property>
+ </action>
+ <action name="actionRun_JumpListView">
+ <property name="text">
+ <string>Run JumpListView</string>
+ </property>
+ <property name="toolTip">
+ <string>Run JumpListView utility</string>
+ </property>
+ </action>
+ <action name="actionUse_Native_File_Dialog">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Use Native File Dialog</string>
+ </property>
+ </action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>