OSDN Git Service

kdeplasma-addons: simplify konsoleprofiles size hints management
authorIvailo Monev <xakepa10@gmail.com>
Fri, 15 Sep 2023 10:42:15 +0000 (13:42 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Fri, 15 Sep 2023 10:42:15 +0000 (13:42 +0300)
see the following commit in the kde-workspace repo:
e695a67ae9d9ac5d03c4d3540a111f9133b04828

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
kdeplasma-addons/applets/konsoleprofiles/konsoleprofiles.cpp
kdeplasma-addons/applets/konsoleprofiles/konsoleprofiles.h

index c4861d9..52bd786 100644 (file)
@@ -192,22 +192,12 @@ QGraphicsWidget* KonsoleProfilesApplet::graphicsWidget()
     return m_konsoleprofileswidget;
 }
 
-void KonsoleProfilesApplet::constraintsEvent(Plasma::Constraints constraints)
+QSizeF KonsoleProfilesApplet::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
 {
-    if (constraints & Plasma::FormFactorConstraint) {
-        switch (formFactor()) {
-            case Plasma::FormFactor::Horizontal:
-            case Plasma::FormFactor::Vertical: {
-                const int paneliconsize = KIconLoader::global()->currentSize(KIconLoader::Panel);
-                setPreferredSize(QSizeF(paneliconsize, paneliconsize));
-                break;
-            }
-            default: {
-                setPreferredSize(s_preferredsize);
-                break;
-            }
-        }
+    if (m_konsoleprofileswidget && which == Qt::PreferredSize) {
+        return m_konsoleprofileswidget->preferredSize();
     }
+    return Plasma::PopupApplet::sizeHint(which, constraint);
 }
 
 #include "moc_konsoleprofiles.cpp"
index f52b661..6ef79fa 100644 (file)
@@ -32,12 +32,11 @@ public:
 
     // Plasma::Applet reimplementation
     void init() final;
-    // Plasma::PopupApplet reimplementation
+    // Plasma::PopupApplet reimplementations
     QGraphicsWidget* graphicsWidget() final;
 
 protected:
-    // Plasma::Applet reimplementation
-    void constraintsEvent(Plasma::Constraints constraints) final;
+    QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint) const final;
 
 private:
     friend KonsoleProfilesWidget;