[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Kicker patch
From:       Henrik Johnson <hpj () globecom ! net>
Date:       2001-05-10 8:02:48
[Download RAW message or body]

I've tried to submit this patch again and got no response, so I'm giving
it a new try.

The patch will add an option to popup the kicker briefly when switching 
desktops if the panel is autohidden. This is usefull to get a brief 
glimpse at which desktop you are at now.

/Henrik Johnson
GlobeCom AB
["kicker-popup.patch" (kicker-popup.patch)]

? kicker/core/container_button.loT
Index: kicker/core/panel.cpp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/kde/kdebase/kicker/core/panel.cpp,v
retrieving revision 1.59
diff -u -5 -r1.59 panel.cpp
--- kicker/core/panel.cpp	2001/04/20 11:12:02	1.59
+++ kicker/core/panel.cpp	2001/04/29 17:41:41
@@ -102,10 +102,11 @@
=20
     // instantiate plugin manager and kwin module
     PGlobal::pluginmgr =3D new KickerPluginManager();
     PGlobal::kwin_module =3D new KWinModule(this );
     connect( PGlobal::kwin_module, SIGNAL( strutChanged() ), this, SLOT=
( strutChanged() ) );
+    connect( PGlobal::kwin_module, SIGNAL( currentDesktopChanged(int) )=
, this, SLOT( currentDesktopChanged(int) ) );
=20
     // let PGlobal know we are there
     PGlobal::panel =3D this;
=20
     // panel global tooltip group
@@ -178,10 +179,11 @@
     config->reparseConfiguration();
     emit configurationChanged();
     config->setGroup("General");
=20
     _autoHide =3D config->readBoolEntry("AutoHidePanel", false);
+    _autoHideSwitch =3D config->readBoolEntry("AutoHideSwitch", false);=

     _hideAnim =3D config->readBoolEntry("HideAnimation", true);
     _autoHideAnim =3D config->readBoolEntry("AutoHideAnimation", true);=

     _autoHideDelay =3D config->readNumEntry("AutoHideDelay", 3);
     _hideAnimSpeed =3D config->readNumEntry("HideAnimationSpeed", 50);
     _autoHideAnimSpeed =3D config->readNumEntry("AutoHideAnimationSpeed=
", 5);
@@ -259,10 +261,18 @@
     // auto hide - Lotzi B.
     // ... or a user hide - Matthias E.
     if (!_autoHidden && !_userHidden ) {
 	if ( initialGeometry( _pos ) !=3D geometry() )
 	    resetLayout();
+    }
+}
+
+void Panel::currentDesktopChanged(int)
+{
+    if (_autoHideSwitch) {
+        autoHide(false);
+        _autohideTimer->start(250, true);
     }
 }
=20
 void Panel::resetLayout()
 {
Index: kicker/core/panel.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/kde/kdebase/kicker/core/panel.h,v
retrieving revision 1.18
diff -u -5 -r1.18 panel.h
--- kicker/core/panel.h	2001/04/20 10:17:31	1.18
+++ kicker/core/panel.h	2001/04/29 17:41:41
@@ -110,10 +110,11 @@
     void autoHideTimeout();
     void slotRestart();
     void strutChanged();
     void showScrollButtons(bool);
     void containerSizeHintChanged();
+    void currentDesktopChanged(int);
=20
 private:
=20
     void animatedHide(bool left);
=20
@@ -122,10 +123,11 @@
     bool _showLeftHB;
     bool _showRightHB;
     int _HBwidth;
     int _panelsize;
     bool _autoHide;
+    bool _autoHideSwitch;
     bool _autoHidden;
     bool _userHidden;
     bool _hideAnim, _autoHideAnim;
     int _autoHideDelay;
     int _hideAnimSpeed, _autoHideAnimSpeed;
Index: kcontrol/kicker/generaltab.ui
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/kde/kdebase/kcontrol/kicker/generaltab.ui,v
retrieving revision 1.6
diff -u -5 -r1.6 generaltab.ui
--- kcontrol/kicker/generaltab.ui	2001/04/20 11:14:16	1.6
+++ kcontrol/kicker/generaltab.ui	2001/04/29 17:41:44
@@ -378,10 +378,21 @@
                     <property stdset=3D"1">
                         <name>text</name>
                         <string>Enable automatic hide</string>
                     </property>
                 </widget>
+               <widget>
+                    <class>QCheckBox</class>
+                    <property stdset=3D"1">
+                        <name>name</name>
+                        <cstring>m_autoHideSwitch</cstring>
+                    </property>
+                    <property stdset=3D"1">
+                        <name>text</name>
+                        <string>Show panel when switching desktop</stri=
ng>
+                    </property>
+                </widget>
                 <widget>
                     <class>QLayoutWidget</class>
                     <property stdset=3D"1">
                         <name>name</name>
                         <cstring>Layout30</cstring>
@@ -531,10 +542,16 @@
 </widget>
 <connections>
     <connection>
         <sender>m_autoHide</sender>
         <signal>toggled(bool)</signal>
+        <receiver>m_autoHideSwitch</receiver>
+        <slot>setEnabled(bool)</slot>
+    </connection>
+    <connection>
+        <sender>m_autoHide</sender>
+        <signal>toggled(bool)</signal>
         <receiver>m_delaySlider</receiver>
         <slot>setEnabled(bool)</slot>
     </connection>
     <connection>
         <sender>m_autoHide</sender>
@@ -570,10 +587,11 @@
 <tabstops>
     <tabstop>m_bottomButton</tabstop>
     <tabstop>m_normal</tabstop>
     <tabstop>m_large</tabstop>
     <tabstop>m_autoHide</tabstop>
+    <tabstop>m_autoHideSwitch</tabstop>
     <tabstop>m_delaySlider</tabstop>
     <tabstop>m_delaySpinBox</tabstop>
     <tabstop>m_terminalInput</tabstop>
 </tabstops>
 </UI>
Index: kcontrol/kicker/generaltab_impl.cpp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/kde/kdebase/kcontrol/kicker/generaltab_impl.cpp,v
retrieving revision 1.10
diff -u -5 -r1.10 generaltab_impl.cpp
--- kcontrol/kicker/generaltab_impl.cpp	2001/04/21 13:24:07	1.10
+++ kcontrol/kicker/generaltab_impl.cpp	2001/04/29 17:41:44
@@ -38,10 +38,11 @@
 {
     // connections
     connect(m_locationGroup, SIGNAL(clicked(int)), SIGNAL(changed()));
     connect(m_sizeGroup, SIGNAL(clicked(int)), SIGNAL(changed()));
     connect(m_autoHide, SIGNAL(clicked()), SIGNAL(changed()));
+    connect(m_autoHideSwitch, SIGNAL(clicked()), SIGNAL(changed()));
     connect(m_delaySlider, SIGNAL(valueChanged(int)), SIGNAL(changed())=
);
     connect(m_delaySpinBox, SIGNAL(valueChanged(int)), SIGNAL(changed()=
));
     connect(m_terminalInput, SIGNAL(textChanged(const QString&)), SIGNA=
L(changed()));
     connect(m_percentSlider, SIGNAL(valueChanged(int)), SIGNAL(changed(=
)));
     connect(m_percentSpinBox, SIGNAL(valueChanged(int)), SIGNAL(changed=
()));
@@ -61,10 +62,14 @@
                                      "after some time and reappear when=
 you move the mouse to the "
                                      "screen edge the panel is attached=
 to. "
                                      "This is particularly useful for s=
mall screen resolutions, "
                                      "for example, on laptops.") );
=20
+    QWhatsThis::add(m_autoHideSwitch, i18n("If this option is enabled, =
the panel will automatically show "
+					   "itself for a brief period of time when the desktop is switched=
 "
+					   "so you can see what desktop you are on.") );
+
     QString delaystr =3D i18n("Here you can change the delay after whic=
h the panel will disappear"
                             " if not used.");
=20
     QWhatsThis::add(m_delaySlider, delaystr);
     QWhatsThis::add(m_delaySpinBox, delaystr);
@@ -85,13 +90,15 @@
=20
     m_sizeGroup->setButton(c->readNumEntry("Size", 2));
     m_locationGroup->setButton(c->readNumEntry("Position", 3));
=20
     bool ah =3D c->readBoolEntry("AutoHidePanel", false);
+    bool ahs =3D c->readBoolEntry("AutoHideSwitch", false);
     int delay =3D c->readNumEntry("AutoHideDelay", 3);
=20
     m_autoHide->setChecked(ah);
+    m_autoHideSwitch->setChecked(ahs);
     m_delaySlider->setValue(delay);
     m_delaySpinBox->setValue(delay);
     m_delaySlider->setEnabled(ah);
     m_delaySpinBox->setEnabled(ah);
=20
@@ -120,10 +127,11 @@
     c->setGroup("General");
=20
     c->writeEntry("Size", m_sizeGroup->id(m_sizeGroup->selected()));
     c->writeEntry("Position", m_locationGroup->id(m_locationGroup->sele=
cted()));
     c->writeEntry("AutoHidePanel", m_autoHide->isChecked());
+    c->writeEntry("AutoHideSwitch", m_autoHideSwitch->isChecked());
     c->writeEntry("AutoHideDelay", m_delaySlider->value());
     c->writeEntry( "SizePercentage", m_percentSlider->value() );
     c->writeEntry( "ExpandSize", m_expandCheckBox->isChecked() );
=20
     c->setGroup("misc");

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic