track custom templates removal

work/spdx
Michail Vourlakos 4 years ago
parent 4ad8654970
commit d5f6dcad6d

@ -150,6 +150,8 @@ void TabLayouts::initLayoutMenu()
m_newLayoutAction->setMenu(m_layoutTemplatesSubMenu);
m_ui->newButton->setMenu(m_layoutTemplatesSubMenu);
connect(m_corona->templatesManager(), &Latte::Templates::Manager::templatesChanged, this, &TabLayouts::initLayoutTemplatesSubMenu);
m_copyLayoutAction = m_layoutMenu->addAction(i18nc("copy layout", "&Copy"));
m_copyLayoutAction->setToolTip(i18n("Copy selected layout"));
m_copyLayoutAction->setIcon(QIcon::fromTheme("edit-copy"));

@ -30,6 +30,7 @@
#include <QDir>
// KDE
#include <KDirWatch>
#include <KLocalizedString>
namespace Latte {
@ -39,6 +40,8 @@ Manager::Manager(Latte::Corona *corona)
: QObject(corona),
m_corona(corona)
{
KDirWatch::self()->addDir(Latte::configPath() + "/latte/templates", KDirWatch::WatchFiles);
connect(KDirWatch::self(), &KDirWatch::deleted, this, &Manager::onCustomTemplateDeleted);
}
Manager::~Manager()
@ -61,6 +64,8 @@ void Manager::init()
initViewTemplates(m_corona->kPackage().filePath("templates"));
initViewTemplates(Latte::configPath() + "/latte/templates");
emit templatesChanged();
}
void Manager::initLayoutTemplates(const QString &path)
@ -176,6 +181,14 @@ bool Manager::exportTemplate(const QString &originFile, const QString &destinati
return result;
}
void Manager::onCustomTemplateDeleted(const QString &file)
{
qDebug() << " file removed ::: " << file;
if (file.startsWith(Latte::configPath() + "/latte/templates")) {
init();
}
}
void Manager::importSystemLayouts()
{
for (int i=0; i<m_layoutTemplates.rowCount(); ++i) {

@ -74,6 +74,10 @@ public:
signals:
void newLayoutAdded(const QString &path);
void templatesChanged();
private slots:
void onCustomTemplateDeleted(const QString &file);
private:
void initLayoutTemplates(const QString &path);

Loading…
Cancel
Save