mirror of
https://github.com/KDE/latte-dock.git
synced 2025-03-29 22:50:30 +03:00
context:Remove View in hash
This commit is contained in:
parent
79ef06c774
commit
d792812102
@ -71,7 +71,6 @@ Menu::~Menu()
|
||||
m_actions.clear();
|
||||
|
||||
//! actions
|
||||
m_removeAction->deleteLater();
|
||||
m_quitApplication->deleteLater();
|
||||
}
|
||||
|
||||
@ -184,16 +183,16 @@ void Menu::makeActions()
|
||||
this->containment()->actions()->addAction(Latte::Data::ContextMenu::EXPORTVIEWTEMPLATEACTION, m_actions[Latte::Data::ContextMenu::EXPORTVIEWTEMPLATEACTION]);
|
||||
|
||||
//! Remove Action
|
||||
m_removeAction = new QAction(QIcon::fromTheme("delete"), "Remove Dock", this);
|
||||
m_removeAction->setVisible(containment()->isUserConfiguring());
|
||||
connect(m_removeAction, &QAction::triggered, [=](){
|
||||
m_actions[Latte::Data::ContextMenu::REMOVEVIEWACTION] = new QAction(QIcon::fromTheme("delete"), "Remove Dock", this);
|
||||
m_actions[Latte::Data::ContextMenu::REMOVEVIEWACTION]->setVisible(containment()->isUserConfiguring());
|
||||
connect(m_actions[Latte::Data::ContextMenu::REMOVEVIEWACTION], &QAction::triggered, [=](){
|
||||
QDBusInterface iface("org.kde.lattedock", "/Latte", "", QDBusConnection::sessionBus());
|
||||
|
||||
if (iface.isValid()) {
|
||||
iface.call("removeView", containment()->id());
|
||||
}
|
||||
});
|
||||
this->containment()->actions()->addAction(Latte::Data::ContextMenu::REMOVEVIEWACTION, m_removeAction);
|
||||
this->containment()->actions()->addAction(Latte::Data::ContextMenu::REMOVEVIEWACTION, m_actions[Latte::Data::ContextMenu::REMOVEVIEWACTION]);
|
||||
|
||||
//! Signals
|
||||
connect(this->containment(), &Plasma::Containment::userConfiguringChanged, this, &Menu::onUserConfiguringChanged);
|
||||
@ -229,7 +228,7 @@ QList<QAction *> Menu::contextualActions()
|
||||
actions << m_moveAction;
|
||||
actions << m_actions[Latte::Data::ContextMenu::EXPORTVIEWTEMPLATEACTION];
|
||||
actions << m_actions[Latte::Data::ContextMenu::EDITVIEWACTION];
|
||||
actions << m_removeAction;
|
||||
actions << m_actions[Latte::Data::ContextMenu::REMOVEVIEWACTION];
|
||||
|
||||
m_data.clear();
|
||||
m_viewTemplates.clear();
|
||||
@ -266,7 +265,7 @@ QList<QAction *> Menu::contextualActions()
|
||||
}
|
||||
|
||||
const QString removeActionText = (viewType == DockView) ? i18n("&Remove Dock") : i18n("&Remove Panel");
|
||||
m_removeAction->setText(removeActionText);
|
||||
m_actions[Latte::Data::ContextMenu::REMOVEVIEWACTION]->setText(removeActionText);
|
||||
|
||||
return actions;
|
||||
}
|
||||
@ -281,8 +280,6 @@ QAction *Menu::action(const QString &name)
|
||||
return m_moveAction;
|
||||
} else if (name == Latte::Data::ContextMenu::QUITLATTEACTION) {
|
||||
return m_quitApplication;
|
||||
} else if (name == Latte::Data::ContextMenu::REMOVEVIEWACTION) {
|
||||
return m_removeAction;
|
||||
}
|
||||
|
||||
if (m_actions.contains(name)) {
|
||||
@ -294,27 +291,29 @@ QAction *Menu::action(const QString &name)
|
||||
|
||||
void Menu::onUserConfiguringChanged(const bool &configuring)
|
||||
{
|
||||
if (!m_actions[Latte::Data::ContextMenu::EDITVIEWACTION] || !m_removeAction) {
|
||||
if (!m_actions.contains(Latte::Data::ContextMenu::EDITVIEWACTION)
|
||||
|| !m_actions.contains(Latte::Data::ContextMenu::REMOVEVIEWACTION)) {
|
||||
return;
|
||||
}
|
||||
|
||||
m_actions[Latte::Data::ContextMenu::EDITVIEWACTION]->setVisible(!configuring);
|
||||
m_actions[Latte::Data::ContextMenu::EXPORTVIEWTEMPLATEACTION]->setVisible(configuring);
|
||||
m_moveAction->setVisible(configuring);
|
||||
m_removeAction->setVisible(configuring);
|
||||
m_actions[Latte::Data::ContextMenu::REMOVEVIEWACTION]->setVisible(configuring);
|
||||
|
||||
// because sometimes they are disabled unexpectedly, we should reenable them
|
||||
m_actions[Latte::Data::ContextMenu::EDITVIEWACTION]->setEnabled(true);
|
||||
m_actions[Latte::Data::ContextMenu::EXPORTVIEWTEMPLATEACTION]->setEnabled(true);
|
||||
m_moveAction->setEnabled(true);
|
||||
m_removeAction->setEnabled(true);
|
||||
m_actions[Latte::Data::ContextMenu::REMOVEVIEWACTION]->setEnabled(true);
|
||||
}
|
||||
|
||||
void Menu::updateVisibleActions()
|
||||
{
|
||||
bool configuring = containment()->isUserConfiguring();
|
||||
|
||||
if (!m_actions[Latte::Data::ContextMenu::EDITVIEWACTION] || !m_removeAction) {
|
||||
if (!m_actions.contains(Latte::Data::ContextMenu::EDITVIEWACTION)
|
||||
|| !m_actions.contains(Latte::Data::ContextMenu::REMOVEVIEWACTION)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -325,13 +324,13 @@ void Menu::updateVisibleActions()
|
||||
m_actions[Latte::Data::ContextMenu::EDITVIEWACTION]->setVisible(!configuring);
|
||||
m_actions[Latte::Data::ContextMenu::EXPORTVIEWTEMPLATEACTION]->setVisible(configuring);
|
||||
m_moveAction->setVisible(configuring);
|
||||
m_removeAction->setVisible(configuring);
|
||||
m_actions[Latte::Data::ContextMenu::REMOVEVIEWACTION]->setVisible(configuring);
|
||||
|
||||
// because sometimes they are disabled unexpectedly, we should reenable them
|
||||
m_actions[Latte::Data::ContextMenu::EDITVIEWACTION]->setEnabled(true);
|
||||
m_actions[Latte::Data::ContextMenu::EXPORTVIEWTEMPLATEACTION]->setEnabled(true);
|
||||
m_moveAction->setEnabled(true);
|
||||
m_removeAction->setEnabled(true);
|
||||
m_actions[Latte::Data::ContextMenu::REMOVEVIEWACTION]->setEnabled(true);
|
||||
}
|
||||
|
||||
|
||||
|
@ -55,7 +55,6 @@ private:
|
||||
|
||||
QHash<QString, QAction *> m_actions;
|
||||
|
||||
QAction *m_removeAction{nullptr};
|
||||
QAction *m_quitApplication{nullptr};
|
||||
|
||||
QAction *m_addViewAction{nullptr};
|
||||
|
Loading…
x
Reference in New Issue
Block a user