settingsdialog:introduce import submenu

--import from local file and download from kde
store are semantically the same so they are combined
in the same import submenu
work/spdx
Michail Vourlakos 4 years ago
parent cbf480ad44
commit b7fbe2dad3

@ -463,17 +463,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="downloadButton">
<property name="text">
<string>Download...</string>
</property>
<property name="icon">
<iconset theme="get-hot-new-stuff">
<normaloff>.</normaloff>.</iconset>
</property>
</widget>
</item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
@ -532,7 +521,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>888</width> <width>867</width>
<height>375</height> <height>375</height>
</rect> </rect>
</property> </property>

@ -203,30 +203,50 @@ void TabLayouts::initLayoutMenu()
m_layoutMenu->addSeparator(); m_layoutMenu->addSeparator();
m_importLayoutAction = m_layoutMenu->addAction(i18nc("import layout", "&Import..."));
m_importLayoutAction->setToolTip(i18n("Import layout file from your system")); //! Import
m_importLayoutAction = m_layoutMenu->addAction(i18nc("import layout", "&Import"));
m_importLayoutAction->setToolTip(i18n("Import layout from various resources"));
m_importLayoutAction->setIcon(QIcon::fromTheme("document-import")); m_importLayoutAction->setIcon(QIcon::fromTheme("document-import"));
m_importLayoutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_I)); m_importLayoutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_I));
connectActionWithButton(m_ui->importButton, m_importLayoutAction); connectActionWithButton(m_ui->importButton, m_importLayoutAction);
connect(m_importLayoutAction, &QAction::triggered, this, &TabLayouts::importLayout); connect(m_importLayoutAction, &QAction::triggered, m_ui->importButton, &QPushButton::showMenu);
initImportLayoutSubMenu();
m_importLayoutAction->setMenu(m_layoutImportSubMenu);
m_ui->importButton->setMenu(m_layoutImportSubMenu);
m_exportLayoutAction = m_layoutMenu->addAction(i18nc("export layout", "Exp&ort")); //! Export
m_exportLayoutAction = m_layoutMenu->addAction(i18nc("export layout", "&Export"));
m_exportLayoutAction->setToolTip(i18n("Export selected layout at your system")); m_exportLayoutAction->setToolTip(i18n("Export selected layout at your system"));
m_exportLayoutAction->setIcon(QIcon::fromTheme("document-export")); m_exportLayoutAction->setIcon(QIcon::fromTheme("document-export"));
m_exportLayoutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O)); m_exportLayoutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_E));
connectActionWithButton(m_ui->exportButton, m_exportLayoutAction); connectActionWithButton(m_ui->exportButton, m_exportLayoutAction);
connect(m_exportLayoutAction, &QAction::triggered, m_ui->exportButton, &QPushButton::showMenu); connect(m_exportLayoutAction, &QAction::triggered, m_ui->exportButton, &QPushButton::showMenu);
initExportLayoutSubMenu(); initExportLayoutSubMenu();
m_exportLayoutAction->setMenu(m_layoutExportSubMenu); m_exportLayoutAction->setMenu(m_layoutExportSubMenu);
m_ui->exportButton->setMenu(m_layoutExportSubMenu); m_ui->exportButton->setMenu(m_layoutExportSubMenu);
}
void TabLayouts::initImportLayoutSubMenu()
{
if (!m_layoutImportSubMenu) {
m_layoutImportSubMenu = new QMenu(m_layoutMenu);
m_layoutImportSubMenu->setMinimumWidth(m_ui->importButton->width() * 2);
} else {
m_layoutImportSubMenu->clear();
}
QAction *importLayoutAction = m_layoutImportSubMenu->addAction(i18nc("import layout", "&Import From Local File..."));
importLayoutAction->setIcon(QIcon::fromTheme("document-import"));
importLayoutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_I));
connect(importLayoutAction, &QAction::triggered, this, &TabLayouts::importLayout);
m_downloadLayoutAction = m_layoutMenu->addAction(i18nc("download layout", "&Download...")); QAction *downloadLayoutAction = m_layoutImportSubMenu->addAction(i18nc("download layout", "Import From K&DE Online Store..."));
m_downloadLayoutAction->setToolTip(i18n("Download community layouts from KDE Store")); downloadLayoutAction->setIcon(QIcon::fromTheme("get-hot-new-stuff"));
m_downloadLayoutAction->setIcon(QIcon::fromTheme("get-hot-new-stuff")); downloadLayoutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_D));
m_downloadLayoutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_D)); connect(downloadLayoutAction, &QAction::triggered, this, &TabLayouts::downloadLayout);
connectActionWithButton(m_ui->downloadButton, m_downloadLayoutAction);
connect(m_downloadLayoutAction, &QAction::triggered, this, &TabLayouts::downloadLayout);
} }
void TabLayouts::initExportLayoutSubMenu() void TabLayouts::initExportLayoutSubMenu()
@ -471,7 +491,7 @@ void TabLayouts::downloadLayout()
{ {
qDebug() << Q_FUNC_INFO; qDebug() << Q_FUNC_INFO;
if (!isCurrentTab() || !m_downloadLayoutAction->isEnabled()) { if (!isCurrentTab()) {
return; return;
} }

@ -122,6 +122,7 @@ private:
bool isHoveringLayoutsTable(const QPoint &pos); bool isHoveringLayoutsTable(const QPoint &pos);
void initLayoutTemplatesSubMenu(); void initLayoutTemplatesSubMenu();
void initImportLayoutSubMenu();
void initExportLayoutSubMenu(); void initExportLayoutSubMenu();
void installLayoutTemplate(Latte::Data::Layout importedLayout, QString templateFilePath, ImportedLayoutOrigin origin); void installLayoutTemplate(Latte::Data::Layout importedLayout, QString templateFilePath, ImportedLayoutOrigin origin);
@ -140,6 +141,7 @@ private:
//! Layout menu actions //! Layout menu actions
QMenu *m_layoutMenu{nullptr}; QMenu *m_layoutMenu{nullptr};
QMenu *m_layoutTemplatesSubMenu{nullptr}; QMenu *m_layoutTemplatesSubMenu{nullptr};
QMenu *m_layoutImportSubMenu{nullptr};
QMenu *m_layoutExportSubMenu{nullptr}; QMenu *m_layoutExportSubMenu{nullptr};
QAction *m_switchLayoutAction{nullptr}; QAction *m_switchLayoutAction{nullptr};
@ -151,7 +153,6 @@ private:
QAction *m_removeLayoutAction{nullptr}; QAction *m_removeLayoutAction{nullptr};
QAction *m_importLayoutAction{nullptr}; QAction *m_importLayoutAction{nullptr};
QAction *m_exportLayoutAction{nullptr}; QAction *m_exportLayoutAction{nullptr};
QAction *m_downloadLayoutAction{nullptr};
QAction *m_detailsAction{nullptr}; QAction *m_detailsAction{nullptr};
QAction *m_viewsAction{nullptr}; QAction *m_viewsAction{nullptr};
}; };

Loading…
Cancel
Save