summaryrefslogtreecommitdiffstats
path: root/src/app/UserMenu/usermenu.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2025-08-28 22:44:34 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2025-08-31 23:30:34 +0900
commitf9abd9d505434c9244c03eac708e29a0ca042f6b (patch)
tree30a197ab4c413849188bc131ff859212e636c821 /src/app/UserMenu/usermenu.cpp
parent14d42d284de233f9937becf3fc9ee0dabede3b21 (diff)
downloadkrusader-r14.1.x.tar.gz
krusader-r14.1.x.zip
Restructure source foldersr14.1.x
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit 086012dcad8a976a0dabbb7cbc20c9cb612cdfa9)
Diffstat (limited to 'src/app/UserMenu/usermenu.cpp')
-rw-r--r--src/app/UserMenu/usermenu.cpp85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/app/UserMenu/usermenu.cpp b/src/app/UserMenu/usermenu.cpp
new file mode 100644
index 0000000..5f9241a
--- /dev/null
+++ b/src/app/UserMenu/usermenu.cpp
@@ -0,0 +1,85 @@
+/***************************************************************************
+ _expressionsu.cpp - description
+ -------------------
+begin : Sat Dec 6 2003
+copyright : (C) 2003 by Shie Erlich & Rafi Yanai
+email :
+***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include <kdebug.h>
+#include <tdelocale.h>
+
+#include "../krusader.h"
+#include "../Konfigurator/konfigurator.h"
+#include "../UserAction/kraction.h"
+#include "../UserAction/useraction.h"
+#include "usermenu.h"
+
+
+void UserMenu::exec() {
+ _popup->run();
+}
+
+UserMenu::UserMenu( TQWidget * parent, const char * name ) : TQWidget( parent, name ) {
+ _popup = new UserMenuGui(this);
+}
+
+void UserMenu::update() {
+ _popup->createMenu();
+}
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////////////////////////
+
+UserMenuGui::UserMenuGui( UserMenu *, TQWidget * parent ) : TDEPopupMenu( parent ) {
+ createMenu();
+}
+
+void UserMenuGui::createMenu() {
+// kdDebug() << "UserMenuGui::createMenu called" << endl;
+ clear();
+ insertTitle( i18n("User Menu") );
+
+ // read entries from config file.
+ readEntries();
+
+ // add the "add new entry" command
+ insertSeparator();
+ insertItem( i18n("Manage user actions"), 0 );
+}
+
+void UserMenuGui::readEntries() {
+ // Note: entries are marked 1..n, so that entry 0 is always
+ // available. It is used by the "add new entry" command.
+ int idx = 1;
+
+ //FIXME: don't plug ALL useractions into the usermenu. TODO: read the usermenu-strukture from an other file (krusaderrc ?)
+ UserAction::KrActionList list = krUserAction->actionList();
+ for ( KrAction* action = list.first(); action; action = list.next() )
+ action->plug( this, idx++ );
+
+}
+
+void UserMenuGui::run() {
+ //disable unwanted actions:
+ // disabled due to conflicts with the toolbar (a check on each file-cursor-movement would be nessesary; hit the performance)
+// krApp->userAction->setAvailability();
+
+ int idx = exec();
+ if ( idx == -1 ) // nothing was selected
+ return;
+ if ( idx == 0 ) {
+ Konfigurator konfigurator( false, 7 ); // page 7 are the UserActions
+ return;
+ }
+}