Compare commits
No commits in common. 'ubuntu/plucky' and 'ubuntu/cosmic' have entirely different histories.
ubuntu/plu
...
ubuntu/cos
@ -0,0 +1 @@
|
|||||||
|
11
|
@ -1,6 +0,0 @@
|
|||||||
[DEFAULT]
|
|
||||||
debian-branch = debian/sid
|
|
||||||
upstream-branch = upstream/latest
|
|
||||||
pristine-tar = True
|
|
||||||
compression = xz
|
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
usr/share/lxqt/translations/lxqt-panel/
|
|
@ -1,9 +0,0 @@
|
|||||||
etc/xdg
|
|
||||||
usr/bin/lxqt-panel
|
|
||||||
usr/include/lxqt
|
|
||||||
usr/lib/*/lxqt-panel
|
|
||||||
usr/share/applications/
|
|
||||||
usr/share/lxqt/lxqt-panel
|
|
||||||
usr/share/lxqt/panel.conf
|
|
||||||
usr/share/lxqt/panel/qeyes-types/
|
|
||||||
usr/share/man
|
|
@ -1,9 +0,0 @@
|
|||||||
# This is expected
|
|
||||||
lxqt-panel: desktop-entry-missing-required-key Name [usr/share/applications/lxqt-panel.desktop]
|
|
||||||
lxqt-panel: desktop-entry-limited-to-environments [usr/share/applications/lxqt-panel.desktop]
|
|
||||||
|
|
||||||
# Not likely to be fixed soon
|
|
||||||
lxqt-panel: spelling-error-in-binary managment management [usr/bin/lxqt-panel]
|
|
||||||
|
|
||||||
# False positive
|
|
||||||
lxqt-panel: hardening-no-fortify-functions [usr/lib/x86_64-linux-gnu/lxqt-panel/backend/libwmbackend_kwin_wayland.so]
|
|
@ -0,0 +1,105 @@
|
|||||||
|
Description: Allow plugin's "static" configration change
|
||||||
|
This is patch 1/4 adding autoexpansion support to the spacer plugin.
|
||||||
|
Author: Palo Kisa <palo.kisa@gmail.com>
|
||||||
|
Origin: upstream
|
||||||
|
Bug: https://github.com/lxqt/lxqt/issues/1038
|
||||||
|
Applied-Upstream: commit:6fbe184
|
||||||
|
Last-Update: 2018-08-16
|
||||||
|
--- a/panel/ilxqtpanel.h
|
||||||
|
+++ b/panel/ilxqtpanel.h
|
||||||
|
@@ -110,6 +110,16 @@ public:
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
virtual void willShowWindow(QWidget * w) = 0;
|
||||||
|
+
|
||||||
|
+ /*!
|
||||||
|
+ * \brief By calling this function, a plugin notifies the panel about change of it's "static"
|
||||||
|
+ * configuration
|
||||||
|
+ *
|
||||||
|
+ * \param plugin the changed plugin
|
||||||
|
+ *
|
||||||
|
+ * \sa ILXQtPanelPlugin::isSeparate(), ILXQtPanelPlugin::isExpandable
|
||||||
|
+ */
|
||||||
|
+ virtual void pluginFlagsChanged(const ILXQtPanelPlugin * plugin) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // ILXQTPANEL_H
|
||||||
|
--- a/panel/ilxqtpanelplugin.h
|
||||||
|
+++ b/panel/ilxqtpanelplugin.h
|
||||||
|
@@ -196,6 +196,17 @@ public:
|
||||||
|
mPanel->willShowWindow(w);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /*!
|
||||||
|
+ * \brief By calling this function, a plugin notifies the panel about change of it's "static"
|
||||||
|
+ * configuration
|
||||||
|
+ *
|
||||||
|
+ * \sa isSeparate(), isExpandable
|
||||||
|
+ */
|
||||||
|
+ inline void pluginFlagsChanged()
|
||||||
|
+ {
|
||||||
|
+ mPanel->pluginFlagsChanged(this);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
virtual bool isSeparate() const { return false; }
|
||||||
|
virtual bool isExpandable() const { return false; }
|
||||||
|
private:
|
||||||
|
--- a/panel/lxqtpanel.cpp
|
||||||
|
+++ b/panel/lxqtpanel.cpp
|
||||||
|
@@ -1225,6 +1225,14 @@ void LXQtPanel::willShowWindow(QWidget *
|
||||||
|
/************************************************
|
||||||
|
|
||||||
|
************************************************/
|
||||||
|
+void LXQtPanel::pluginFlagsChanged(const ILXQtPanelPlugin * /*plugin*/)
|
||||||
|
+{
|
||||||
|
+ mLayout->rebuild();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/************************************************
|
||||||
|
+
|
||||||
|
+ ************************************************/
|
||||||
|
QString LXQtPanel::qssPosition() const
|
||||||
|
{
|
||||||
|
return positionToStr(position());
|
||||||
|
--- a/panel/lxqtpanel.h
|
||||||
|
+++ b/panel/lxqtpanel.h
|
||||||
|
@@ -146,6 +146,7 @@ public:
|
||||||
|
QRect calculatePopupWindowPos(QPoint const & absolutePos, QSize const & windowSize) const override;
|
||||||
|
QRect calculatePopupWindowPos(const ILXQtPanelPlugin *plugin, const QSize &windowSize) const override;
|
||||||
|
void willShowWindow(QWidget * w) override;
|
||||||
|
+ void pluginFlagsChanged(const ILXQtPanelPlugin * plugin) override;
|
||||||
|
// ........ end of ILXQtPanel overrides
|
||||||
|
|
||||||
|
/**
|
||||||
|
--- a/panel/lxqtpanellayout.cpp
|
||||||
|
+++ b/panel/lxqtpanellayout.cpp
|
||||||
|
@@ -946,6 +946,16 @@ void LXQtPanelLayout::setLineCount(int v
|
||||||
|
/************************************************
|
||||||
|
|
||||||
|
************************************************/
|
||||||
|
+void LXQtPanelLayout::rebuild()
|
||||||
|
+{
|
||||||
|
+ mLeftGrid->rebuild();
|
||||||
|
+ mRightGrid->rebuild();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+/************************************************
|
||||||
|
+
|
||||||
|
+ ************************************************/
|
||||||
|
int LXQtPanelLayout::lineSize() const
|
||||||
|
{
|
||||||
|
return mLeftGrid->lineSize();
|
||||||
|
--- a/panel/lxqtpanellayout.h
|
||||||
|
+++ b/panel/lxqtpanellayout.h
|
||||||
|
@@ -73,6 +73,10 @@ public:
|
||||||
|
ILXQtPanel::Position position() const { return mPosition; }
|
||||||
|
void setPosition(ILXQtPanel::Position value);
|
||||||
|
|
||||||
|
+ /*! \brief Force the layout to re-read items/plugins "static" configuration
|
||||||
|
+ */
|
||||||
|
+ void rebuild();
|
||||||
|
+
|
||||||
|
static bool itemIsSeparate(QLayoutItem *item);
|
||||||
|
signals:
|
||||||
|
void pluginMoved(Plugin * plugin);
|
@ -0,0 +1,35 @@
|
|||||||
|
Description: Add "override" to declarations
|
||||||
|
This is patch 2/4 adding autoexpansion support to the spacer plugin.
|
||||||
|
Author: Palo Kisa <palo.kisa@gmail.com>
|
||||||
|
Origin: upstream
|
||||||
|
Bug: https://github.com/lxqt/lxqt/issues/1038
|
||||||
|
Applied-Upstream: commit:764aadd
|
||||||
|
Last-Update: 2018-08-16
|
||||||
|
--- a/plugin-spacer/spacer.h
|
||||||
|
+++ b/plugin-spacer/spacer.h
|
||||||
|
@@ -57,18 +57,18 @@ class Spacer : public QObject, public I
|
||||||
|
public:
|
||||||
|
Spacer(const ILXQtPanelPluginStartupInfo &startupInfo);
|
||||||
|
|
||||||
|
- virtual QWidget *widget() { return &mSpacer; }
|
||||||
|
- virtual QString themeId() const { return "Spacer"; }
|
||||||
|
+ virtual QWidget *widget() override { return &mSpacer; }
|
||||||
|
+ virtual QString themeId() const override { return "Spacer"; }
|
||||||
|
|
||||||
|
- bool isSeparate() const { return true; }
|
||||||
|
+ bool isSeparate() const override { return true; }
|
||||||
|
|
||||||
|
- virtual ILXQtPanelPlugin::Flags flags() const { return HaveConfigDialog; }
|
||||||
|
- QDialog *configureDialog();
|
||||||
|
+ virtual ILXQtPanelPlugin::Flags flags() const override { return HaveConfigDialog; }
|
||||||
|
+ QDialog *configureDialog() override;
|
||||||
|
|
||||||
|
- virtual void realign();
|
||||||
|
+ virtual void realign() override;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
- virtual void settingsChanged();
|
||||||
|
+ virtual void settingsChanged() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void setSizes();
|
@ -0,0 +1,238 @@
|
|||||||
|
Description: Add auto-expansion feature
|
||||||
|
This is patch 3/4 adding autoexpansion support to the spacer plugin.
|
||||||
|
Author: Palo Kisa <palo.kisa@gmail.com>
|
||||||
|
Origin: upstream
|
||||||
|
Bug: https://github.com/lxqt/lxqt/issues/1038
|
||||||
|
Applied-Upstream: commit:b57a178
|
||||||
|
Last-Update: 2018-08-16
|
||||||
|
--- a/plugin-spacer/spacer.cpp
|
||||||
|
+++ b/plugin-spacer/spacer.cpp
|
||||||
|
@@ -55,6 +55,7 @@ Spacer::Spacer(const ILXQtPanelPluginSta
|
||||||
|
QObject()
|
||||||
|
, ILXQtPanelPlugin(startupInfo)
|
||||||
|
, mSize(8)
|
||||||
|
+ , mExpandable(false)
|
||||||
|
{
|
||||||
|
settingsChanged();
|
||||||
|
}
|
||||||
|
@@ -65,8 +66,12 @@ Spacer::Spacer(const ILXQtPanelPluginSta
|
||||||
|
void Spacer::settingsChanged()
|
||||||
|
{
|
||||||
|
mSize = settings()->value("size", 8).toInt();
|
||||||
|
+ const bool old_expandable = mExpandable;
|
||||||
|
+ mExpandable = settings()->value("expandable", false).toBool();
|
||||||
|
mSpacer.setType(settings()->value("spaceType", SpacerConfiguration::msTypes[0]).toString());
|
||||||
|
setSizes();
|
||||||
|
+ if (old_expandable != mExpandable)
|
||||||
|
+ pluginFlagsChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************************************
|
||||||
|
@@ -82,21 +87,30 @@ QDialog *Spacer::configureDialog()
|
||||||
|
************************************************/
|
||||||
|
void Spacer::setSizes()
|
||||||
|
{
|
||||||
|
- if (panel()->isHorizontal())
|
||||||
|
+ if (mExpandable)
|
||||||
|
{
|
||||||
|
- mSpacer.setOrientation("horizontal");
|
||||||
|
- mSpacer.setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
|
||||||
|
- mSpacer.setFixedWidth(mSize);
|
||||||
|
- mSpacer.setMinimumHeight(0);
|
||||||
|
- mSpacer.setMaximumHeight(QWIDGETSIZE_MAX);
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
+ mSpacer.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
+ mSpacer.setMinimumSize({1, 1});
|
||||||
|
+ mSpacer.setMaximumSize({QWIDGETSIZE_MAX, QWIDGETSIZE_MAX});
|
||||||
|
+ mSpacer.setOrientation(panel()->isHorizontal() ? "horizontal" : "vertical");
|
||||||
|
+ } else
|
||||||
|
{
|
||||||
|
- mSpacer.setOrientation("vertical");
|
||||||
|
- mSpacer.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||||
|
- mSpacer.setFixedHeight(mSize);
|
||||||
|
- mSpacer.setMinimumWidth(0);
|
||||||
|
- mSpacer.setMaximumWidth(QWIDGETSIZE_MAX);
|
||||||
|
+ if (panel()->isHorizontal())
|
||||||
|
+ {
|
||||||
|
+ mSpacer.setOrientation("horizontal");
|
||||||
|
+ mSpacer.setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
|
||||||
|
+ mSpacer.setFixedWidth(mSize);
|
||||||
|
+ mSpacer.setMinimumHeight(0);
|
||||||
|
+ mSpacer.setMaximumHeight(QWIDGETSIZE_MAX);
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ mSpacer.setOrientation("vertical");
|
||||||
|
+ mSpacer.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||||
|
+ mSpacer.setFixedHeight(mSize);
|
||||||
|
+ mSpacer.setMinimumWidth(0);
|
||||||
|
+ mSpacer.setMaximumWidth(QWIDGETSIZE_MAX);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--- a/plugin-spacer/spacer.h
|
||||||
|
+++ b/plugin-spacer/spacer.h
|
||||||
|
@@ -61,6 +61,7 @@ public:
|
||||||
|
virtual QString themeId() const override { return "Spacer"; }
|
||||||
|
|
||||||
|
bool isSeparate() const override { return true; }
|
||||||
|
+ bool isExpandable() const override { return mExpandable; }
|
||||||
|
|
||||||
|
virtual ILXQtPanelPlugin::Flags flags() const override { return HaveConfigDialog; }
|
||||||
|
QDialog *configureDialog() override;
|
||||||
|
@@ -76,6 +77,7 @@ private:
|
||||||
|
private:
|
||||||
|
SpacerWidget mSpacer;
|
||||||
|
int mSize;
|
||||||
|
+ int mExpandable;
|
||||||
|
};
|
||||||
|
|
||||||
|
class SpacerPluginLibrary: public QObject, public ILXQtPanelPluginLibrary
|
||||||
|
--- a/plugin-spacer/spacerconfiguration.cpp
|
||||||
|
+++ b/plugin-spacer/spacerconfiguration.cpp
|
||||||
|
@@ -52,6 +52,8 @@ SpacerConfiguration::SpacerConfiguration
|
||||||
|
|
||||||
|
connect(ui->sizeSB, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &SpacerConfiguration::sizeChanged);
|
||||||
|
connect(ui->typeCB, static_cast<void (QComboBox::*)(int index)>(&QComboBox::currentIndexChanged), this, &SpacerConfiguration::typeChanged);
|
||||||
|
+ //Note: if there will be more than 2 radio buttons for width/size type, this simple setting logic will break
|
||||||
|
+ connect(ui->sizeExpandRB, &QAbstractButton::toggled, this, &SpacerConfiguration::widthTypeChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
SpacerConfiguration::~SpacerConfiguration()
|
||||||
|
@@ -63,6 +65,10 @@ void SpacerConfiguration::loadSettings()
|
||||||
|
{
|
||||||
|
ui->sizeSB->setValue(settings().value("size", 8).toInt());
|
||||||
|
ui->typeCB->setCurrentIndex(ui->typeCB->findData(settings().value("spaceType", msTypes[0]).toString()));
|
||||||
|
+ const bool expandable = settings().value("expandable", false).toBool();
|
||||||
|
+ ui->sizeExpandRB->setChecked(expandable);
|
||||||
|
+ ui->sizeFixedRB->setChecked(!expandable);
|
||||||
|
+ ui->sizeSB->setDisabled(expandable);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpacerConfiguration::sizeChanged(int value)
|
||||||
|
@@ -74,3 +80,8 @@ void SpacerConfiguration::typeChanged(in
|
||||||
|
{
|
||||||
|
settings().setValue("spaceType", ui->typeCB->itemData(index, Qt::UserRole));
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+void SpacerConfiguration::widthTypeChanged(bool expandableChecked)
|
||||||
|
+{
|
||||||
|
+ settings().setValue("expandable", expandableChecked);
|
||||||
|
+}
|
||||||
|
--- a/plugin-spacer/spacerconfiguration.h
|
||||||
|
+++ b/plugin-spacer/spacerconfiguration.h
|
||||||
|
@@ -58,6 +58,7 @@ private slots:
|
||||||
|
void loadSettings();
|
||||||
|
void sizeChanged(int value);
|
||||||
|
void typeChanged(int index);
|
||||||
|
+ void widthTypeChanged(bool expandableChecked);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SPACERCONFIGURATION_H
|
||||||
|
--- a/plugin-spacer/spacerconfiguration.ui
|
||||||
|
+++ b/plugin-spacer/spacerconfiguration.ui
|
||||||
|
@@ -6,6 +6,8 @@
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
+ <width>289</width>
|
||||||
|
+ <height>135</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
@@ -19,7 +21,7 @@
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
- <item row="0" column="1">
|
||||||
|
+ <item row="0" column="2">
|
||||||
|
<widget class="QSpinBox" name="sizeSB">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>4</number>
|
||||||
|
@@ -32,21 +34,14 @@
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
- <item row="1" column="0">
|
||||||
|
+ <item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="labelType">
|
||||||
|
<property name="text">
|
||||||
|
<string>Space type:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
- <item row="1" column="1">
|
||||||
|
- <widget class="QComboBox" name="typeCB">
|
||||||
|
- <property name="editable">
|
||||||
|
- <bool>false</bool>
|
||||||
|
- </property>
|
||||||
|
- </widget>
|
||||||
|
- </item>
|
||||||
|
- <item row="2" column="0" colspan="2">
|
||||||
|
+ <item row="3" column="0" colspan="3">
|
||||||
|
<widget class="QDialogButtonBox" name="buttons">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
@@ -56,6 +51,27 @@
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
+ <item row="0" column="1">
|
||||||
|
+ <widget class="QRadioButton" name="sizeFixedRB">
|
||||||
|
+ <property name="text">
|
||||||
|
+ <string>fixed</string>
|
||||||
|
+ </property>
|
||||||
|
+ </widget>
|
||||||
|
+ </item>
|
||||||
|
+ <item row="2" column="1" colspan="2">
|
||||||
|
+ <widget class="QComboBox" name="typeCB">
|
||||||
|
+ <property name="editable">
|
||||||
|
+ <bool>false</bool>
|
||||||
|
+ </property>
|
||||||
|
+ </widget>
|
||||||
|
+ </item>
|
||||||
|
+ <item row="1" column="1" colspan="2">
|
||||||
|
+ <widget class="QRadioButton" name="sizeExpandRB">
|
||||||
|
+ <property name="text">
|
||||||
|
+ <string>expandable</string>
|
||||||
|
+ </property>
|
||||||
|
+ </widget>
|
||||||
|
+ </item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
@@ -65,6 +81,32 @@
|
||||||
|
<signal>clicked(QAbstractButton*)</signal>
|
||||||
|
<receiver>SpacerConfiguration</receiver>
|
||||||
|
<slot>close()</slot>
|
||||||
|
+ <hints>
|
||||||
|
+ <hint type="sourcelabel">
|
||||||
|
+ <x>20</x>
|
||||||
|
+ <y>20</y>
|
||||||
|
+ </hint>
|
||||||
|
+ <hint type="destinationlabel">
|
||||||
|
+ <x>20</x>
|
||||||
|
+ <y>20</y>
|
||||||
|
+ </hint>
|
||||||
|
+ </hints>
|
||||||
|
+ </connection>
|
||||||
|
+ <connection>
|
||||||
|
+ <sender>sizeFixedRB</sender>
|
||||||
|
+ <signal>toggled(bool)</signal>
|
||||||
|
+ <receiver>sizeSB</receiver>
|
||||||
|
+ <slot>setEnabled(bool)</slot>
|
||||||
|
+ <hints>
|
||||||
|
+ <hint type="sourcelabel">
|
||||||
|
+ <x>152</x>
|
||||||
|
+ <y>21</y>
|
||||||
|
+ </hint>
|
||||||
|
+ <hint type="destinationlabel">
|
||||||
|
+ <x>244</x>
|
||||||
|
+ <y>21</y>
|
||||||
|
+ </hint>
|
||||||
|
+ </hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
@ -0,0 +1,114 @@
|
|||||||
|
Description: Use QStringLiteral whenever possible
|
||||||
|
This is patch 4/4 adding autoexpansion support to the spacer plugin.
|
||||||
|
Author: Palo Kisa <palo.kisa@gmail.com>
|
||||||
|
Origin: upstream
|
||||||
|
Bug: https://github.com/lxqt/lxqt/issues/1038
|
||||||
|
Applied-Upstream: commit:4908fcd
|
||||||
|
Last-Update: 2018-08-16
|
||||||
|
--- a/plugin-spacer/spacer.cpp
|
||||||
|
+++ b/plugin-spacer/spacer.cpp
|
||||||
|
@@ -65,10 +65,10 @@ Spacer::Spacer(const ILXQtPanelPluginSta
|
||||||
|
************************************************/
|
||||||
|
void Spacer::settingsChanged()
|
||||||
|
{
|
||||||
|
- mSize = settings()->value("size", 8).toInt();
|
||||||
|
+ mSize = settings()->value(QStringLiteral("size"), 8).toInt();
|
||||||
|
const bool old_expandable = mExpandable;
|
||||||
|
- mExpandable = settings()->value("expandable", false).toBool();
|
||||||
|
- mSpacer.setType(settings()->value("spaceType", SpacerConfiguration::msTypes[0]).toString());
|
||||||
|
+ mExpandable = settings()->value(QStringLiteral("expandable"), false).toBool();
|
||||||
|
+ mSpacer.setType(settings()->value(QStringLiteral("spaceType"), SpacerConfiguration::msTypes[0]).toString());
|
||||||
|
setSizes();
|
||||||
|
if (old_expandable != mExpandable)
|
||||||
|
pluginFlagsChanged();
|
||||||
|
@@ -92,12 +92,12 @@ void Spacer::setSizes()
|
||||||
|
mSpacer.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
mSpacer.setMinimumSize({1, 1});
|
||||||
|
mSpacer.setMaximumSize({QWIDGETSIZE_MAX, QWIDGETSIZE_MAX});
|
||||||
|
- mSpacer.setOrientation(panel()->isHorizontal() ? "horizontal" : "vertical");
|
||||||
|
+ mSpacer.setOrientation(panel()->isHorizontal() ? QStringLiteral("horizontal") : QStringLiteral("vertical"));
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
if (panel()->isHorizontal())
|
||||||
|
{
|
||||||
|
- mSpacer.setOrientation("horizontal");
|
||||||
|
+ mSpacer.setOrientation(QStringLiteral("horizontal"));
|
||||||
|
mSpacer.setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
|
||||||
|
mSpacer.setFixedWidth(mSize);
|
||||||
|
mSpacer.setMinimumHeight(0);
|
||||||
|
@@ -105,7 +105,7 @@ void Spacer::setSizes()
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- mSpacer.setOrientation("vertical");
|
||||||
|
+ mSpacer.setOrientation(QStringLiteral("vertical"));
|
||||||
|
mSpacer.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||||
|
mSpacer.setFixedHeight(mSize);
|
||||||
|
mSpacer.setMinimumWidth(0);
|
||||||
|
--- a/plugin-spacer/spacer.h
|
||||||
|
+++ b/plugin-spacer/spacer.h
|
||||||
|
@@ -58,7 +58,7 @@ public:
|
||||||
|
Spacer(const ILXQtPanelPluginStartupInfo &startupInfo);
|
||||||
|
|
||||||
|
virtual QWidget *widget() override { return &mSpacer; }
|
||||||
|
- virtual QString themeId() const override { return "Spacer"; }
|
||||||
|
+ virtual QString themeId() const override { return QStringLiteral("Spacer"); }
|
||||||
|
|
||||||
|
bool isSeparate() const override { return true; }
|
||||||
|
bool isExpandable() const override { return mExpandable; }
|
||||||
|
--- a/plugin-spacer/spacerconfiguration.cpp
|
||||||
|
+++ b/plugin-spacer/spacerconfiguration.cpp
|
||||||
|
@@ -31,9 +31,9 @@
|
||||||
|
//Note: strings can't actually be translated here (in static initialization time)
|
||||||
|
// the QT_TR_NOOP here is just for qt translate tools to get the strings for translation
|
||||||
|
const QStringList SpacerConfiguration::msTypes = {
|
||||||
|
- QLatin1String(QT_TR_NOOP("lined"))
|
||||||
|
- , QLatin1String(QT_TR_NOOP("dotted"))
|
||||||
|
- , QLatin1String(QT_TR_NOOP("invisible"))
|
||||||
|
+ QStringLiteral(QT_TR_NOOP("lined"))
|
||||||
|
+ , QStringLiteral(QT_TR_NOOP("dotted"))
|
||||||
|
+ , QStringLiteral(QT_TR_NOOP("invisible"))
|
||||||
|
};
|
||||||
|
|
||||||
|
SpacerConfiguration::SpacerConfiguration(PluginSettings *settings, QWidget *parent) :
|
||||||
|
@@ -41,7 +41,7 @@ SpacerConfiguration::SpacerConfiguration
|
||||||
|
ui(new Ui::SpacerConfiguration)
|
||||||
|
{
|
||||||
|
setAttribute(Qt::WA_DeleteOnClose);
|
||||||
|
- setObjectName("SpacerConfigurationWindow");
|
||||||
|
+ setObjectName(QStringLiteral("SpacerConfigurationWindow"));
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
//Note: translation is needed here in runtime (translator is attached already)
|
||||||
|
@@ -63,9 +63,9 @@ SpacerConfiguration::~SpacerConfiguratio
|
||||||
|
|
||||||
|
void SpacerConfiguration::loadSettings()
|
||||||
|
{
|
||||||
|
- ui->sizeSB->setValue(settings().value("size", 8).toInt());
|
||||||
|
- ui->typeCB->setCurrentIndex(ui->typeCB->findData(settings().value("spaceType", msTypes[0]).toString()));
|
||||||
|
- const bool expandable = settings().value("expandable", false).toBool();
|
||||||
|
+ ui->sizeSB->setValue(settings().value(QStringLiteral("size"), 8).toInt());
|
||||||
|
+ ui->typeCB->setCurrentIndex(ui->typeCB->findData(settings().value(QStringLiteral("spaceType"), msTypes[0]).toString()));
|
||||||
|
+ const bool expandable = settings().value(QStringLiteral("expandable"), false).toBool();
|
||||||
|
ui->sizeExpandRB->setChecked(expandable);
|
||||||
|
ui->sizeFixedRB->setChecked(!expandable);
|
||||||
|
ui->sizeSB->setDisabled(expandable);
|
||||||
|
@@ -73,15 +73,15 @@ void SpacerConfiguration::loadSettings()
|
||||||
|
|
||||||
|
void SpacerConfiguration::sizeChanged(int value)
|
||||||
|
{
|
||||||
|
- settings().setValue("size", value);
|
||||||
|
+ settings().setValue(QStringLiteral("size"), value);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpacerConfiguration::typeChanged(int index)
|
||||||
|
{
|
||||||
|
- settings().setValue("spaceType", ui->typeCB->itemData(index, Qt::UserRole));
|
||||||
|
+ settings().setValue(QStringLiteral("spaceType"), ui->typeCB->itemData(index, Qt::UserRole));
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpacerConfiguration::widthTypeChanged(bool expandableChecked)
|
||||||
|
{
|
||||||
|
- settings().setValue("expandable", expandableChecked);
|
||||||
|
+ settings().setValue(QStringLiteral("expandable"), expandableChecked);
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,30 @@
|
|||||||
|
Description: volume: Do not auto-unmute on volume change
|
||||||
|
Author: Palo Kisa <palo.kisa@gmail.com>
|
||||||
|
Origin: upstream
|
||||||
|
Bug: https://github.com/lxqt/lxqt/issues/1520
|
||||||
|
Applied-Upstream: commit:41259bb
|
||||||
|
Last-Update: 2018-07-16
|
||||||
|
--- a/plugin-volume/audiodevice.cpp
|
||||||
|
+++ b/plugin-volume/audiodevice.cpp
|
||||||
|
@@ -114,7 +114,6 @@ void AudioDevice::setVolume(int volume)
|
||||||
|
return;
|
||||||
|
|
||||||
|
setVolumeNoCommit(volume);
|
||||||
|
- setMute(false);
|
||||||
|
|
||||||
|
if (m_engine)
|
||||||
|
m_engine->commitDeviceVolume(this);
|
||||||
|
--- a/plugin-volume/lxqtvolume.cpp
|
||||||
|
+++ b/plugin-volume/lxqtvolume.cpp
|
||||||
|
@@ -283,10 +283,7 @@ void LXQtVolume::showNotification(bool f
|
||||||
|
{
|
||||||
|
if (Q_LIKELY(m_defaultSink))
|
||||||
|
{
|
||||||
|
- if (m_defaultSink->mute())
|
||||||
|
- m_notification->setSummary(tr("Volume: muted"));
|
||||||
|
- else
|
||||||
|
- m_notification->setSummary(tr("Volume: %1%").arg(QString::number(m_defaultSink->volume())));
|
||||||
|
+ m_notification->setSummary(tr("Volume: %1%%2").arg(QString::number(m_defaultSink->volume())).arg(m_defaultSink->mute() ? tr("(muted)") : ""));
|
||||||
|
m_notification->update();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,322 @@
|
|||||||
|
Description: Add optional overriding of icon theme.
|
||||||
|
Author: Walter Lapchynski <wxl@ubuntu.com>
|
||||||
|
Last-Updated: 2018-08-22
|
||||||
|
Applied-Upstream: https://github.com/lxqt/lxqt-panel/pull/674/commits/1a70479ed931e07a67a182223426328ab3fcbeff
|
||||||
|
--- a/panel/config/configpaneldialog.cpp
|
||||||
|
+++ b/panel/config/configpaneldialog.cpp
|
||||||
|
@@ -56,3 +56,8 @@ void ConfigPanelDialog::showConfigPlugin
|
||||||
|
{
|
||||||
|
showPage(mPluginsPage);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+void ConfigPanelDialog::updateIconThemeSettings()
|
||||||
|
+{
|
||||||
|
+ mPanelPage->updateIconThemeSettings();
|
||||||
|
+}
|
||||||
|
--- a/panel/config/configpaneldialog.h
|
||||||
|
+++ b/panel/config/configpaneldialog.h
|
||||||
|
@@ -43,6 +43,7 @@ public:
|
||||||
|
|
||||||
|
void showConfigPanelPage();
|
||||||
|
void showConfigPluginsPage();
|
||||||
|
+ void updateIconThemeSettings();
|
||||||
|
|
||||||
|
private:
|
||||||
|
ConfigPanelWidget *mPanelPage;
|
||||||
|
--- a/panel/config/configpanelwidget.cpp
|
||||||
|
+++ b/panel/config/configpanelwidget.cpp
|
||||||
|
@@ -57,6 +57,7 @@ ConfigPanelWidget::ConfigPanelWidget(LXQ
|
||||||
|
|
||||||
|
fillComboBox_position();
|
||||||
|
fillComboBox_alignment();
|
||||||
|
+ fillComboBox_icon();
|
||||||
|
|
||||||
|
mOldPanelSize = mPanel->panelSize();
|
||||||
|
mOldIconSize = mPanel->iconSize();
|
||||||
|
@@ -115,6 +116,9 @@ ConfigPanelWidget::ConfigPanelWidget(LXQ
|
||||||
|
connect(ui->slider_opacity, &QSlider::valueChanged, this, &ConfigPanelWidget::editChanged);
|
||||||
|
|
||||||
|
connect(ui->checkBox_reserveSpace, &QAbstractButton::toggled, [this](bool checked) { mPanel->setReserveSpace(checked, true); });
|
||||||
|
+
|
||||||
|
+ connect(ui->groupBox_icon, &QGroupBox::clicked, this, &ConfigPanelWidget::editChanged);
|
||||||
|
+ connect(ui->comboBox_icon, QOverload<int>::of(&QComboBox::activated), this, &ConfigPanelWidget::editChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -211,6 +215,59 @@ void ConfigPanelWidget::fillComboBox_ali
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
+/************************************************
|
||||||
|
+ *
|
||||||
|
+ ************************************************/
|
||||||
|
+void ConfigPanelWidget::fillComboBox_icon()
|
||||||
|
+{
|
||||||
|
+ ui->groupBox_icon->setChecked(!mPanel->iconTheme().isEmpty());
|
||||||
|
+
|
||||||
|
+ QStringList themeList;
|
||||||
|
+ QStringList processed;
|
||||||
|
+ const QStringList baseDirs = QIcon::themeSearchPaths();
|
||||||
|
+ for (const QString &baseDirName : baseDirs)
|
||||||
|
+ {
|
||||||
|
+ QDir baseDir(baseDirName);
|
||||||
|
+ if (!baseDir.exists())
|
||||||
|
+ continue;
|
||||||
|
+ const QFileInfoList dirs = baseDir.entryInfoList(QDir::AllDirs | QDir::NoDotAndDotDot, QDir::Name);
|
||||||
|
+ for (const QFileInfo &dir : dirs)
|
||||||
|
+ {
|
||||||
|
+ if (!processed.contains(dir.canonicalFilePath()))
|
||||||
|
+ {
|
||||||
|
+ processed << dir.canonicalFilePath();
|
||||||
|
+ QDir Dir(dir.canonicalFilePath());
|
||||||
|
+ QSettings file(Dir.absoluteFilePath(QStringLiteral("index.theme")), QSettings::IniFormat);
|
||||||
|
+ if (file.status() == QSettings::NoError
|
||||||
|
+ && !file.value(QStringLiteral("Icon Theme/Directories")).toStringList().join(QLatin1Char(' ')).isEmpty()
|
||||||
|
+ && !file.value(QStringLiteral("Icon Theme/Hidden"), false).toBool())
|
||||||
|
+ {
|
||||||
|
+ themeList << Dir.dirName();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ if (!themeList.isEmpty())
|
||||||
|
+ {
|
||||||
|
+ themeList.sort();
|
||||||
|
+ ui->comboBox_icon->insertItems(0, themeList);
|
||||||
|
+ QString curTheme = QIcon::themeName();
|
||||||
|
+ if (!curTheme.isEmpty())
|
||||||
|
+ ui->comboBox_icon->setCurrentText(curTheme);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+/************************************************
|
||||||
|
+ *
|
||||||
|
+ ************************************************/
|
||||||
|
+void ConfigPanelWidget::updateIconThemeSettings()
|
||||||
|
+{
|
||||||
|
+ ui->groupBox_icon->setChecked(!mPanel->iconTheme().isEmpty());
|
||||||
|
+ QString curTheme = QIcon::themeName();
|
||||||
|
+ if (!curTheme.isEmpty())
|
||||||
|
+ ui->comboBox_icon->setCurrentText(curTheme);
|
||||||
|
+}
|
||||||
|
|
||||||
|
/************************************************
|
||||||
|
*
|
||||||
|
@@ -284,6 +341,11 @@ void ConfigPanelWidget::editChanged()
|
||||||
|
|
||||||
|
QString image = ui->checkBox_customBgImage->isChecked() ? ui->lineEdit_customBgImage->text() : QString();
|
||||||
|
mPanel->setBackgroundImage(image, true);
|
||||||
|
+
|
||||||
|
+ if (!ui->groupBox_icon->isChecked())
|
||||||
|
+ mPanel->setIconTheme(QString());
|
||||||
|
+ else if (!ui->comboBox_icon->currentText().isEmpty())
|
||||||
|
+ mPanel->setIconTheme(ui->comboBox_icon->currentText());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
--- a/panel/config/configpanelwidget.h
|
||||||
|
+++ b/panel/config/configpanelwidget.h
|
||||||
|
@@ -49,6 +49,7 @@ public:
|
||||||
|
|
||||||
|
int screenNum() const { return mScreenNum; }
|
||||||
|
ILXQtPanel::Position position() const { return mPosition; }
|
||||||
|
+ void updateIconThemeSettings();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void changed();
|
||||||
|
@@ -73,6 +74,7 @@ private:
|
||||||
|
void addPosition(const QString& name, int screen, LXQtPanel::Position position);
|
||||||
|
void fillComboBox_position();
|
||||||
|
void fillComboBox_alignment();
|
||||||
|
+ void fillComboBox_icon();
|
||||||
|
int indexForPosition(int screen, ILXQtPanel::Position position);
|
||||||
|
int getMaxLength();
|
||||||
|
|
||||||
|
--- a/panel/config/configpanelwidget.ui
|
||||||
|
+++ b/panel/config/configpanelwidget.ui
|
||||||
|
@@ -555,6 +555,44 @@
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
+ <item>
|
||||||
|
+ <widget class="QGroupBox" name="groupBox_icon">
|
||||||
|
+ <property name="toolTip">
|
||||||
|
+ <string>A partial workaround for widget styles that
|
||||||
|
+cannot give a separate theme to the panel.
|
||||||
|
+
|
||||||
|
+You might also want to disable:
|
||||||
|
+
|
||||||
|
+LXQt Appearance Configuration →
|
||||||
|
+Icons Theme →
|
||||||
|
+Colorize icons based on widget style (palette)</string>
|
||||||
|
+ </property>
|
||||||
|
+ <property name="title">
|
||||||
|
+ <string>Override icon &theme</string>
|
||||||
|
+ </property>
|
||||||
|
+ <property name="checkable">
|
||||||
|
+ <bool>true</bool>
|
||||||
|
+ </property>
|
||||||
|
+ <property name="checked">
|
||||||
|
+ <bool>false</bool>
|
||||||
|
+ </property>
|
||||||
|
+ <layout class="QFormLayout" name="formLayout_2">
|
||||||
|
+ <property name="formAlignment">
|
||||||
|
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
+ </property>
|
||||||
|
+ <item row="0" column="0">
|
||||||
|
+ <widget class="QLabel" name="label_3">
|
||||||
|
+ <property name="text">
|
||||||
|
+ <string>Icon theme for panels:</string>
|
||||||
|
+ </property>
|
||||||
|
+ </widget>
|
||||||
|
+ </item>
|
||||||
|
+ <item row="0" column="1">
|
||||||
|
+ <widget class="QComboBox" name="comboBox_icon"/>
|
||||||
|
+ </item>
|
||||||
|
+ </layout>
|
||||||
|
+ </widget>
|
||||||
|
+ </item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
--- a/panel/lxqtpanel.cpp
|
||||||
|
+++ b/panel/lxqtpanel.cpp
|
||||||
|
@@ -1354,6 +1354,28 @@ void LXQtPanel::setShowDelay(int showDel
|
||||||
|
saveSettings(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
+QString LXQtPanel::iconTheme() const
|
||||||
|
+{
|
||||||
|
+ return mSettings->value("iconTheme").toString();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void LXQtPanel::setIconTheme(const QString& iconTheme)
|
||||||
|
+{
|
||||||
|
+ LXQtPanelApplication *a = reinterpret_cast<LXQtPanelApplication*>(qApp);
|
||||||
|
+ a->setIconTheme(iconTheme);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void LXQtPanel::updateConfigDialog() const
|
||||||
|
+{
|
||||||
|
+ if (!mConfigDialog.isNull() && mConfigDialog->isVisible())
|
||||||
|
+ {
|
||||||
|
+ mConfigDialog->updateIconThemeSettings();
|
||||||
|
+ const QList<QWidget*> widgets = mConfigDialog->findChildren<QWidget*>();
|
||||||
|
+ for (QWidget *widget : widgets)
|
||||||
|
+ widget->update();
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
bool LXQtPanel::isPluginSingletonAndRunnig(QString const & pluginId) const
|
||||||
|
{
|
||||||
|
Plugin const * plugin = mPlugins->pluginByID(pluginId);
|
||||||
|
--- a/panel/lxqtpanel.h
|
||||||
|
+++ b/panel/lxqtpanel.h
|
||||||
|
@@ -222,6 +222,7 @@ public:
|
||||||
|
bool hidable() const { return mHidable; }
|
||||||
|
int animationTime() const { return mAnimationTime; }
|
||||||
|
int showDelay() const { return mShowDelayTimer.interval(); }
|
||||||
|
+ QString iconTheme() const;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Checks if a given Plugin is running and has the
|
||||||
|
@@ -232,6 +233,11 @@ public:
|
||||||
|
* ILXQtPanelPlugin::SingleInstance flag set, false otherwise.
|
||||||
|
*/
|
||||||
|
bool isPluginSingletonAndRunnig(QString const & pluginId) const;
|
||||||
|
+ /*!
|
||||||
|
+ * \brief Updates the config dialog. Used for updating its icons
|
||||||
|
+ * when the panel-specific icon theme changes.
|
||||||
|
+ */
|
||||||
|
+ void updateConfigDialog() const;
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
/**
|
||||||
|
@@ -299,6 +305,7 @@ public slots:
|
||||||
|
void setHidable(bool hidable, bool save); //!< \sa setPanelSize()
|
||||||
|
void setAnimationTime(int animationTime, bool save); //!< \sa setPanelSize()
|
||||||
|
void setShowDelay(int showDelay, bool save); //!< \sa setPanelSize()
|
||||||
|
+ void setIconTheme(const QString& iconTheme);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Saves the current configuration, i.e. writes the current
|
||||||
|
@@ -549,7 +556,7 @@ private:
|
||||||
|
* @brief Stores if mLength is stored in pixels or relative to the
|
||||||
|
* screen size in percents. If true, the length is stored in percents,
|
||||||
|
* otherwise in pixels.
|
||||||
|
- *
|
||||||
|
+ *
|
||||||
|
* \sa mLength
|
||||||
|
*/
|
||||||
|
bool mLengthInPercents;
|
||||||
|
--- a/panel/lxqtpanelapplication.cpp
|
||||||
|
+++ b/panel/lxqtpanelapplication.cpp
|
||||||
|
@@ -117,6 +117,15 @@ LXQtPanelApplication::LXQtPanelApplicati
|
||||||
|
|
||||||
|
QStringList panels = d->mSettings->value("panels").toStringList();
|
||||||
|
|
||||||
|
+ // WARNING: Giving a separate icon theme to the panel is wrong and has side effects.
|
||||||
|
+ // However, it is optional and can be used as the last resort for avoiding a low
|
||||||
|
+ // contrast in the case of symbolic SVG icons. (The correct way of doing that is
|
||||||
|
+ // using a Qt widget style that can assign a separate theme/QPalette to the panel.)
|
||||||
|
+ mGlobalIconTheme = QIcon::themeName();
|
||||||
|
+ const QString iconTheme = d->mSettings->value("iconTheme").toString();
|
||||||
|
+ if (!iconTheme.isEmpty())
|
||||||
|
+ QIcon::setThemeName(iconTheme);
|
||||||
|
+
|
||||||
|
if (panels.isEmpty())
|
||||||
|
{
|
||||||
|
panels << "panel1";
|
||||||
|
@@ -280,3 +289,21 @@ bool LXQtPanelApplication::isPluginSingl
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+// See LXQtPanelApplication::LXQtPanelApplication for why this isn't good.
|
||||||
|
+void LXQtPanelApplication::setIconTheme(const QString &iconTheme)
|
||||||
|
+{
|
||||||
|
+ Q_D(LXQtPanelApplication);
|
||||||
|
+
|
||||||
|
+ d->mSettings->setValue("iconTheme", iconTheme == mGlobalIconTheme ? QString() : iconTheme);
|
||||||
|
+ QString newTheme = iconTheme.isEmpty() ? mGlobalIconTheme : iconTheme;
|
||||||
|
+ if (newTheme != QIcon::themeName())
|
||||||
|
+ {
|
||||||
|
+ QIcon::setThemeName(newTheme);
|
||||||
|
+ for(LXQtPanel* panel : qAsConst(mPanels))
|
||||||
|
+ {
|
||||||
|
+ panel->update();
|
||||||
|
+ panel->updateConfigDialog();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
--- a/panel/lxqtpanelapplication.h
|
||||||
|
+++ b/panel/lxqtpanelapplication.h
|
||||||
|
@@ -69,12 +69,14 @@ public:
|
||||||
|
explicit LXQtPanelApplication(int& argc, char** argv);
|
||||||
|
~LXQtPanelApplication();
|
||||||
|
|
||||||
|
+ void setIconTheme(const QString &iconTheme);
|
||||||
|
+
|
||||||
|
/*!
|
||||||
|
* \brief Determines the number of LXQtPanel objects
|
||||||
|
* \return the current number of LXQtPanel objects
|
||||||
|
*/
|
||||||
|
- int count() { return mPanels.count(); }
|
||||||
|
-
|
||||||
|
+ int count() const { return mPanels.count(); }
|
||||||
|
+
|
||||||
|
/*!
|
||||||
|
* \brief Checks if a given Plugin is running and has the
|
||||||
|
* ILXQtPanelPlugin::SingleInstance flag set. As Plugins are added to
|
||||||
|
@@ -123,6 +125,10 @@ private:
|
||||||
|
*/
|
||||||
|
QList<LXQtPanel*> mPanels;
|
||||||
|
/*!
|
||||||
|
+ * \brief The global icon theme used by all apps (except for panels perhaps).
|
||||||
|
+ */
|
||||||
|
+ QString mGlobalIconTheme;
|
||||||
|
+ /*!
|
||||||
|
* \brief Creates a new LXQtPanel with the given name and connects the
|
||||||
|
* appropriate signals and slots.
|
||||||
|
* This method can be used at application startup.
|
@ -0,0 +1,7 @@
|
|||||||
|
completely-remove-plugin-clock.patch
|
||||||
|
don't-autounmute-on-volume-change.patch
|
||||||
|
add-autoexpansion-1.patch
|
||||||
|
add-autoexpansion-2.patch
|
||||||
|
add-autoexpansion-3.patch
|
||||||
|
add-autoexpansion-4.patch
|
||||||
|
override-icon-theme.patch
|
@ -1,12 +0,0 @@
|
|||||||
# For more information on what jobs are run see:
|
|
||||||
# https://salsa.debian.org/salsa-ci-team/pipeline
|
|
||||||
#
|
|
||||||
# To enable the jobs, go to your repository (at salsa.debian.org)
|
|
||||||
# and click over Settings > CI/CD > Expand (in General pipelines).
|
|
||||||
# In "Custom CI config path" write debian/salsa-ci.yml and click
|
|
||||||
# in "Save Changes". The CI tests will run after the next commit.
|
|
||||||
---
|
|
||||||
include:
|
|
||||||
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
|
|
||||||
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
|||||||
# Expected to be verylong
|
|
||||||
lxqt-panel source: very-long-line-length-in-source-file * > 512 [*.ts:*]
|
|
||||||
lxqt-panel source: very-long-line-length-in-source-file * > 512 [CHANGELOG:*]
|
|
||||||
lxqt-panel source: very-long-line-length-in-source-file * > 512 [plugin-colorpicker/colorpicker.cpp:52]
|
|
||||||
lxqt-panel source: very-long-line-length-in-source-file * > 512 [*.ui:*]
|
|
@ -1,6 +0,0 @@
|
|||||||
Name: lxqt-panel
|
|
||||||
Bug-Database: https://github.com/lxqt/lxqt-panel/issues
|
|
||||||
Bug-Submit: https://github.com/lxqt/lxqt-panel/issues/new
|
|
||||||
Changelog: https://github.com/lxqt/lxqt-panel/blob/master/CHANGELOG
|
|
||||||
Repository: https://github.com/lxqt/lxqt-panel
|
|
||||||
Repository-Browse: https://github.com/lxqt/lxqt-panel
|
|
@ -1,52 +1,50 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
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
|
=h7ww
|
||||||
sw==
|
|
||||||
=gSIv
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
version=4
|
version=4
|
||||||
opts="searchmode=plain, \
|
opts="pgpsigurlmangle=s/$/.asc/" \
|
||||||
pgpsigurlmangle=s/$/.asc/, \
|
https://github.com/lxde/lxqt-panel/releases .*/lxqt-panel-([\d\.]+).tar.xz
|
||||||
uversionmangle=s/(\d+\.\d+\.\d+).*/$1/" \
|
|
||||||
https://api.github.com/repos/lxqt/@PACKAGE@/releases https:\/\/github.com\/lxqt\/@PACKAGE@\/releases\/download\/@ANY_VERSION@\/@PACKAGE@-@ANY_VERSION@.tar.xz
|
|
||||||
|
Loading…
Reference in new issue