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

List:       kde-multimedia
Subject:    KHelpMenu on a QToolButton with popup ;)
From:       Chris Howells <chris () chrishowells ! co ! uk>
Date:       2001-12-16 12:22:11
[Download RAW message or body]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I'm having a play around with aktion, trying to fix 7572 (aktion has no menue 
where one can learn about it's license, authors, or submit bugs. A violation 
of the style guide."

What I've come up with consists of a KHelpMenu on a QToolButton with a popup. 
The patch is attached. Unfortunately it crashes on startup.

ANy suggestions?

- -- 
Cheers, Chris Howells -- chris@chrishowells.co.uk, howells@kde.org
Web: http://chrishowells.co.uk, PGP key: http://chrishowells.co.uk/pgp.txt
KDE: http://www.koffice.org, http://edu.kde.org, http://usability.kde.org

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE8HJH0F8Iu1zN5WiwRArKuAJ0RNSHo9DpLXeN+W4nwlek+GZmoAQCbBjWG
zpJEdHjhGkH5yVxuAX1T7Us=
=K5TF
-----END PGP SIGNATURE-----

["aktion.diff" (text/x-diff)]

Index: principal.cpp
===================================================================
RCS file: /home/kde/kdemultimedia/aktion/principal.cpp,v
retrieving revision 1.27
diff -u -3 -p -r1.27 principal.cpp
--- principal.cpp	2001/12/11 23:35:22	1.27
+++ principal.cpp	2001/12/16 12:18:32
@@ -14,6 +14,9 @@
 #include <kstddirs.h>
 #include <kseparator.h>
 
+#include <kpopupmenu.h>
+#include <khelpmenu.h>
+
 #include <qtoolbutton.h>
 #include <qiconset.h>
 #include <qlabel.h>
@@ -130,8 +133,18 @@ Principal::Principal( const char *name)
         retroceder->setAutoRepeat( true );
 	QToolTip::add(retroceder,i18n("Backward"));
 
+	
+	// Setup the popup menu
+	menuHelp = new KPopupMenu(this);
+	loadmenuHelp();
+
+	mHelpMenu = new KHelpMenu( this);
+
+
 	ayuda = new QToolButton(mainwidget, "ayuda");
 	ayuda->setIconSet(MainBarIconSet("help"));
+	ayuda->setPopup(menuHelp);
+	ayuda->setPopupDelay(0);
 	QToolTip::add(ayuda,i18n("Help"));
 
 	configB = new QToolButton(mainwidget, "Setup");
@@ -140,8 +153,8 @@ Principal::Principal( const char *name)
 
         connect(abrir,SIGNAL(clicked()),
 		 this,SLOT(click_open()) );
-        connect(ayuda,SIGNAL(clicked()),
-		 this,SLOT(click_ayuda()) );
+        //connect(ayuda,SIGNAL(clicked()),
+	//	 this,SLOT(click_ayuda()) );
         connect(configB,SIGNAL(clicked()),
 	        this,SLOT(click_config()) );
         connect(tocar,SIGNAL(clicked()),
@@ -429,10 +442,15 @@ void Principal::dropEvent( QDropEvent *e
         }
     }
 }
+
+//void Principal::click_ayuda()
+//{
+//    kapp->invokeHelp();
+//}
 
-void Principal::click_ayuda()
+void Principal::loadmenuHelp()
 {
-    kapp->invokeHelp();
+	menuHelp->insertItem(mHelpMenu->menu());
 }
 
 void Principal::click_play()
@@ -581,7 +599,7 @@ void Principal::keyPressEvent( QKeyEvent
                           video->volumeDecrement();
                        }
                        break;
-      case Key_F1    : click_ayuda(); break;
+      //case Key_F1    : click_ayuda(); break;
       case Key_Escape: this->close(); break;
       case Key_C     : theCapturer.captureWidget(video); break;
       default        : if (inFullScreen)
Index: principal.h
===================================================================
RCS file: /home/kde/kdemultimedia/aktion/principal.h,v
retrieving revision 1.12
diff -u -3 -p -r1.12 principal.h
--- principal.h	2000/10/01 21:35:01	1.12
+++ principal.h	2001/12/16 12:18:33
@@ -24,6 +24,9 @@ class KConfig;
 class KIconLoader;
 class KWin;
 
+class KPopupMenu;
+class KHelpMenu;
+
 class aktionVm;
 class capture;
 
@@ -42,8 +45,8 @@ private:
 	QToolButton *abrir;
 	QToolButton *avanzar;
 	QToolButton *retroceder;
-        QToolButton *ayuda;
-        QToolButton *configB;
+	QToolButton *ayuda;
+	QToolButton *configB;
         QFrame *line;
         QLabel *logoWidget;
         KXAnim *video;
@@ -55,6 +58,9 @@ private:
         int whatToDo;
         int menuItemFullScreen;
         KConfig *config;
+        KPopupMenu *menuHelp;
+	KHelpMenu *mHelpMenu;
+	void loadmenuHelp();
         void changeSize(float);
         void changeInitialSize();
         void setParameters();
@@ -92,7 +98,7 @@ public slots:
         void click_stop();
         void click_forward();
         void click_backward();
-        void click_ayuda();
+//        void click_ayuda();
         void click_config();
         void click_info();
         void click_original();

_______________________________________________
kde-multimedia mailing list
kde-multimedia@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-multimedia

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

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