diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2025-08-28 22:44:34 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2025-08-31 23:30:34 +0900 |
commit | f9abd9d505434c9244c03eac708e29a0ca042f6b (patch) | |
tree | 30a197ab4c413849188bc131ff859212e636c821 /src/app/UserMenu/usermenu.cpp | |
parent | 14d42d284de233f9937becf3fc9ee0dabede3b21 (diff) | |
download | krusader-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.cpp | 85 |
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; + } +} |